parent
a4c304f58d
commit
7c64cb7eff
@ -0,0 +1,46 @@ |
||||
! Program that will: read two ints, print their sum and their product. If they are the same, print "Same" |
||||
|
||||
! Global Consts, Funcs. |
||||
let |
||||
type String ~ array 6 of Char; ! String type implemented, not used yet |
||||
|
||||
var num1 : Integer; |
||||
var num2 : Integer; |
||||
|
||||
|
||||
func sum(x : Integer, y : Integer) : Integer ~ |
||||
x + y; ! Return x + y |
||||
|
||||
func product(x : Integer, y : Integer) : Integer ~ |
||||
x * y; ! Return x * y |
||||
|
||||
func isSame(x : Integer, y : Integer) : Boolean ~ |
||||
if x = y then true else false |
||||
|
||||
! Main Loop |
||||
in |
||||
begin |
||||
num1 := 0; |
||||
num2 := 0; ! Init. values to 0 |
||||
|
||||
getint(var num1); |
||||
getint(var num2); ! Get user input |
||||
|
||||
|
||||
! Sum |
||||
putint(num1); put('+'); put(' '); putint(num2); put(' '); put('='); put(' '); |
||||
putint(sum(num1, num2)); puteol(); |
||||
|
||||
puteol(); |
||||
|
||||
! Product |
||||
putint(num1); put(' '); put('*'); put(' '); putint(num2); put(' '); put('='); put(' '); |
||||
putint(product(num1, num2)); puteol(); |
||||
|
||||
|
||||
if isSame(num1, num2) = true then |
||||
put('S'); put('a'); put('m'); put('e'); puteol(); |
||||
else |
||||
puteol(); |
||||
|
||||
end |
@ -0,0 +1,30 @@ |
||||
! Program with a variety of contextual errors. |
||||
|
||||
let |
||||
type String ~ array 4 of Char; |
||||
type Name ~ array 3 of String; |
||||
type Rec ~ record x: Integer, x: Integer end; |
||||
|
||||
var me: Name; |
||||
var silly : maxint; |
||||
var silly: Rec; |
||||
|
||||
proc putstr (s: String) ~ |
||||
let var i: Integer |
||||
in |
||||
begin |
||||
s[4] := ' '; |
||||
i := 0; |
||||
while i do |
||||
begin i := i+true; |
||||
put (s[\i]) |
||||
end |
||||
end |
||||
|
||||
in |
||||
begin |
||||
me[true] := ['T','i','n','y']; |
||||
me[2][2] := 0; |
||||
put (me[1]); put (4); put (); |
||||
putstr (initials (me)); puteol () |
||||
end |
Reference in new issue