Calculating with Input Values In this part of the Application, you calculate a s
ID: 3681694 • Letter: C
Question
Calculating with Input Values In this part of the Application, you calculate a simple sum from input values. Create a new page in your website. Write a standard head and a script tag in the body. In the script, use prompt methods to collect three numbers from the user. Then, use alert methods to display the sum and the product of the three numbers. Note what happens if one or more of the inputs is not a number. Try to explain this behavior. Submit your page to the W3C Validator (http://validator.w3.org/) and correct all errors. Calculating a Table Decide on what table you will calculate in this Application and create a new, appropriately named, page in your website. Complete the XHTML code for the head and create a shell for the body. Write an appropriate headline and introductory paragraph and also the XHTML for the table and its header row. Link to this newly created page from your home page. In place of the data rows for the table, write a tag. Specify text/javascript as the type and as the source (src), use the XHTML page name with the .js extension. For example, if your page is named table.php, use the name table.js as the JavaScript source file. Now create the table.js file, where you write the JavaScript code. Use a loop that generates one row of the table each time it executes. The document.write function lets you generate both XHTML tags and content for the page. Remember to start and end each row with the and tags, and to use the and tags to enclose the calculated values you want to display. The example below calculates 15%, 18%, and 20% tips for meals costing between $8 and $25.
Explanation / Answer
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events">
<head>
<title>Calculator Sample</title>
<xf:model>
<xf:instance>
<equation xmlns="">
<screen>0</screen>
<screenbuffer>0</screenbuffer>
<first>0</first>
<second>0</second>
<memory>0</memory>
<result/>
</equation>
</xf:instance>
</xf:model>
</head>
<body>
<p>A simple calculator</p>
<table border="1">
<tr>
<td align="right" colspan="6">
<xf:output ref="/equation/screen"/>
</td>
</tr>
<tr>
<td>
<xf:output ref="/equation/memory"><xf:label>M:</xf:label></xf:output>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td colspan="2">
<xf:trigger>
<xf:label>Clear</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/first" value="0"/>
<xf:setvalue ref="/equation/second" value="0"/>
<xf:setvalue ref="/equation/result" value="0"/>
<xf:setvalue ref="/equation/screen" value="0"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
<xf:toggle ev:event="DOMActivate" case="add"/>
</xf:action>
</xf:trigger>
</td>
</tr>
<tr>
<td>
<xf:trigger>
<xf:label>MC</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/memory" value="0"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>7</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10 + 7"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>8</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10 + 8"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>9</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10 + 9"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>/</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/first" value="/equation/screen"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
<xf:toggle ev:event="DOMActivate" case="divide"/>
</xf:action>
</xf:trigger>
</td>
<td>
</td>
</tr>
<tr>
<td>
<xf:trigger>
<xf:label>MR</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/memory"/>
<xf:setvalue ref="/equation/screen" value="/equation/memory"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>4</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10 + 4"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>5</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10 + 5"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>6</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10 + 6"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>*</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/first" value="/equation/screen"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
<xf:toggle ev:event="DOMActivate" case="multiply"/>
</xf:action>
</xf:trigger>
</td>
</tr>
<tr>
<td>
<xf:trigger>
<xf:label>MS</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/memory" value="/equation/screen"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>1</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10 + 1"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>2</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10 + 2"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>3</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10 + 3"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>-</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/first" value="/equation/screen"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
<xf:toggle ev:event="DOMActivate" case="subtract"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>1/x</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screen" value="1 div /equation/screen"/>
</xf:action>
</xf:trigger>
</td>
</tr>
<tr>
<td>
<xf:trigger>
<xf:label>M+</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/memory" value="/equation/memory + /equation/screen"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>0</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screenbuffer" value="/equation/screenbuffer * 10"/>
<xf:setvalue ref="/equation/screen" value="/equation/screenbuffer"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:trigger>
<xf:label>+/-</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/screen" value="/equation/screen * -1"/>
</xf:action>
</xf:trigger>
</td>
<td>
</td>
<td>
<xf:trigger>
<xf:label>+</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/first" value="/equation/screen"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
<xf:toggle ev:event="DOMActivate" case="add"/>
</xf:action>
</xf:trigger>
</td>
<td>
<xf:switch>
<xf:case id="add">
<xf:trigger>
<xf:label>=</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/second" value="/equation/screenbuffer"/>
<xf:setvalue ref="/equation/result" value="/equation/first + /equation/second"/>
<xf:setvalue ref="/equation/screen" value="/equation/result"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
</xf:action>
</xf:trigger>
</xf:case>
<xf:case id="subtract">
<xf:trigger>
<xf:label>=</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/second" value="/equation/screenbuffer"/>
<xf:setvalue ref="/equation/result" value="/equation/first - /equation/second"/>
<xf:setvalue ref="/equation/screen" value="/equation/result"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
</xf:action>
</xf:trigger>
</xf:case>
<xf:case id="multiply">
<xf:trigger>
<xf:label>=</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/second" value="/equation/screenbuffer"/>
<xf:setvalue ref="/equation/result" value="/equation/first * /equation/second"/>
<xf:setvalue ref="/equation/screen" value="/equation/result"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
</xf:action>
</xf:trigger>
</xf:case>
<xf:case id="divide">
<xf:trigger>
<xf:label>=</xf:label>
<xf:action ev:event="DOMActivate">
<xf:setvalue ref="/equation/second" value="/equation/screenbuffer"/>
<xf:setvalue ref="/equation/result" value="/equation/first div /equation/second"/>
<xf:setvalue ref="/equation/screen" value="/equation/result"/>
<xf:setvalue ref="/equation/screenbuffer" value="0"/>
</xf:action>
</xf:trigger>
</xf:case>
</xf:switch>
</td>
</tr>
</table>
</body>
</html>
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.