Arithmetic/Integer: Difference between revisions
(Added Toka) |
(-> Tcl) |
||
Line 50: | Line 50: | ||
writeln('a/b = ', a div b, ', remainder ", a mod b); |
writeln('a/b = ', a div b, ', remainder ", a mod b); |
||
end. |
end. |
||
==[[Tcl]]== |
|||
[[Category:Tcl]] |
|||
puts "Please enter two numbers:" |
|||
gets stdin x |
|||
gets stdin y |
|||
puts " |
|||
$x + $y = [expr $x+$y] |
|||
$x - $y = [expr $x-$y] |
|||
$x * $y = [expr $x*$y] |
|||
$x / $y = [expr int($x / $y)] |
|||
$x mod $y = [expr $x % $y] |
|||
" |
|||
Since Tcl doesn't really know about the "type" of a variable, the "<tt>expr</tt>" command is used to declare whatever follows as an "expression". This means there is no such thing as "integer arithmetic" and hence the kludge <tt>int( $x / $y )</tt>. |
|||
Often, these operations would be performed in a way differently from what is shown here. For example to increase the variable "x" by the value of the variable "y", one would write |
|||
incr x $y |
|||
etc |
|||
==[[Toka]]== |
==[[Toka]]== |
Revision as of 22:36, 28 May 2007
You are encouraged to solve this task according to the task description, using any language you may know.
Basic Data Operation
This is a basic data operation. It represents a fundamental action on a basic data type.
You may see other such operations in the Basic Data Operations category, or:
Integer Operations
Arithmetic |
Comparison
Boolean Operations
Bitwise |
Logical
String Operations
Concatenation |
Interpolation |
Comparison |
Matching
Memory Operations
Pointers & references |
Addresses
Get two integers from the user, and then output the sum, difference, product, integer quotient and remainder of those numbers. Don't include error handling.
Ada
with Ada.Text_Io; with Ada.Integer_Text_IO; procedure Integer_Arithmetic is use Ada.Text_IO; use Ada.Integer_Text_Io; A, B : Integer; begin Get(A); Get(B); Put_Line("a+b = " & Integer'Image(A + B)); Put_Line("a-b = " & Integer'Image(A - B)); Put_Line("a*b = " & Integer'Image(A * B)); Put_Line("a/b = " & Integer'Image(A / B) & ", remainder " & Integer'Image(A mod B)); end Integer_Arithmetic;
C++
#include <iostream> int main() { int a, b; std::cin >> a >> b; std::cout << "a+b = " << a+b << "\n"; std::cout << "a-b = " << a-b << "\n"; std::cout << "a*b = " << a*b << "\n"; std::cout << "a/b = " << a/b << ", remainder " << a%b << "\n"; }
Pascal
program arithmetic(input, output) var a, b: integer; begin readln(a, b); writeln('a+b = ', a+b); writeln('a-b = ', a-b); writeln('a*b = ', a*b); writeln('a/b = ', a div b, ', remainder ", a mod b); end.
Tcl
puts "Please enter two numbers:" gets stdin x gets stdin y puts " $x + $y = [expr $x+$y] $x - $y = [expr $x-$y] $x * $y = [expr $x*$y] $x / $y = [expr int($x / $y)] $x mod $y = [expr $x % $y] "
Since Tcl doesn't really know about the "type" of a variable, the "expr" command is used to declare whatever follows as an "expression". This means there is no such thing as "integer arithmetic" and hence the kludge int( $x / $y ).
Often, these operations would be performed in a way differently from what is shown here. For example to increase the variable "x" by the value of the variable "y", one would write
incr x $y
etc
Toka
[ ( a b -- ) 2dup ." a+b = " + . cr 2dup ." a-b = " - . cr 2dup ." a*b = " * . cr 2dup ." a/b = " / . ." remainder " mod . cr ] is mathops