|
@@ -0,0 +1,56 @@
|
|
|
+program test_case;
|
|
|
+function case1(Val : byte) : char;
|
|
|
+begin
|
|
|
+ case Val of
|
|
|
+ 0..25 : case1:=chr(Val + ord('A'));
|
|
|
+ 26..51: case1:=chr(Val + ord('a') - 26);
|
|
|
+ 52..61: case1:=chr(Val + ord('0') - 52);
|
|
|
+ 62 : case1:='+';
|
|
|
+ 63 : case1:='/';
|
|
|
+ else
|
|
|
+ case1:='$';
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
+function case2(Val : integer) : integer;
|
|
|
+begin
|
|
|
+ case Val of
|
|
|
+ -1 : case2:=1;
|
|
|
+ 32765..
|
|
|
+ 32767 : case2:=2;
|
|
|
+ else
|
|
|
+ case2:=-1;
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
+function case3(Val : integer) : integer;
|
|
|
+begin
|
|
|
+ case Val of
|
|
|
+ -32768..
|
|
|
+ -32766 : case3:=1;
|
|
|
+ 0..10 : case3:=2;
|
|
|
+ else
|
|
|
+ case3:=-1;
|
|
|
+ end;
|
|
|
+end;
|
|
|
+
|
|
|
+var
|
|
|
+ error: boolean;
|
|
|
+
|
|
|
+begin
|
|
|
+ { The correct outputs should be:
|
|
|
+ F $
|
|
|
+ 2 2
|
|
|
+ 1 2 2
|
|
|
+ }
|
|
|
+ error := false;
|
|
|
+ writeln(case1(5), ' ', case1(255),' (should be: F $)');
|
|
|
+ error := (case1(5) <> 'F') or (case1(255) <> '$');
|
|
|
+ writeln(case2(32765), ' ', case2(32767),' (should be: 2 2)');
|
|
|
+ error := error or (case2(32765) <> 2) or (case2(32767) <> 2);
|
|
|
+ writeln(case3(-32768),' ',case3(0), ' ',case3(5),' (should be: 1 2 2)');
|
|
|
+ error := error or (case3(-32768) <> 1) or (case3(0) <> 2) or
|
|
|
+ (case3(5) <> 2);
|
|
|
+ if error then
|
|
|
+ halt(1);
|
|
|
+end.
|