Professional Documents
Culture Documents
Pascal Guide
Pascal Guide
\ .
UnderWarrior Project
http://www.underwar.co.il
-1-
4
4
4
4
4
5
5
7
8
11
11
11
12
14
15
15
17
17
18
19
20
22
22
24
24
26
26
27
27
28
28
30
30
30
31
35
35
36
37
38
38
39
40
40
41
43
43
:1
:
:2
WRITELN , WRITE
)(
READLN
2
:3 )(
) -(
IF
V30
V3.1
:
:4
FOR
V30
DOWNTO
) (
REPEAT
UnderWarrior Project
http://www.underwar.co.il
-2-
45
45
45
46
47
47
49
49
50
50
50
51
52
53
55
56
62
63
65
65
66
66
68
68
68
68
70
70
70
70
73
74
76
79
:5
)(TYPES
WITH
ARRAYS
-
STRING
:6
:
:7
CRT
:8
UnderWarrior Project
http://www.underwar.co.il
-3-
:1
- ) (Syntax ) (Semantic
, .
) ,(Language Computer ) Programming
(Language .
:
.1 - 1.0-
.2 -
) ( mov .
.3 - ) (.
-
.
. .
,
: , ...
)
(.
,
.
- Pascal , - , -
.
.
.Turbo Pascal-
Pascal , - , -
.
,
.
UnderWarrior Project
http://www.underwar.co.il
-4-
,C ,
.
.
DOS .
,Windows . ,
.
, ,
- .
" " .
, 1994 , .
, Pascal Free , 1993
.FPK-Pascal : Free Pascal ,
: , 32 .
.
, , .
:
, .
, , .
, .
, , ,
.
,
) (.
- ) (Compiler
. .
Turbo Pascal - .
.
-
. :
http://www.simonhuggins.com/courses/progbegin/pascal/download/tp70.exe
UnderWarrior Project
http://www.underwar.co.il
-5-
File Open
File Save
File - New
Cut
copy
paste
Run
User screen
F3
F2
---Shift +del
Ctrl +ins
Shift +ins
Ctrl+f6
Alt+f5
UnderWarrior Project
http://www.underwar.co.il
-6-
)(v1.0.pas
;program v10
begin
;)'writeln('Hello World
;readln
end.
)1
)2
)3
)4
)5
:
-Program v10 .
V10
; - " " :
Begin , else .
-Begin .
* .
*-
:
begin
;)'writeln('Hello World
;readln
end.
)2
)3
)4
)5
.
-writeln , .
. .
) ( , .
.
-Hello world .
-readln , .
,
.
) ( .
End. ;
.
UnderWarrior Project
http://www.underwar.co.il
-7-
:
- .
. . ,
.
:
.
:
'-'- "&" - ,
.
- ,
.
" ".
:
.
.1 .
.2 .
.3 .
" . "
-
:
.1
.2
.3
.4
.5
.6
.7
.8
.
.
:
.1 .
.2 ) , .(...
.3 .
.4
-
.
UnderWarrior Project
http://www.underwar.co.il
-8-
-
.
"
"
.
-
.:
.1 " "
.2 >8
.3 ""
8 .
:
:
.1
.2
.3
" ? ,? ,? ,
.
:
.1
.2
.3 .
" !!!.
!.
:
- , , ,.
,
".
:
.
:
.1 -
.2 -
UnderWarrior Project
http://www.underwar.co.il
-9-
.3 =
3.1 -
.4 =
4.1 - .
, ,
) .
!!!(.
, " .
) (
) .(4.1,3.1 ) (.
, - .
) (
- .- ,
- , -
, - -.
: 10 .
- :
-:
.1
.2
-
) ( .
, , .
UnderWarrior Project
http://www.underwar.co.il
-10-
:2
WriteLn , Write
Writeln write - .
* - .
writeln write - Write . ,
Writeln .
.
)(v1.1.pas
;program v11
begin
;)'write('my name is Pascal
;)'write('and my name is computer
;)'writeln('this is a program',' in Pascal v1.1
;)'writeln('nice program
;writeln
;)'write('Goodbye
end.
)1
)2
)3
)4
)5
)6
)7
)8
)9
UnderWarrior Project
http://www.underwar.co.il
-11-
:
-3 my name is pascal
.
-4 and my name is computer .
-5 this is a program in pascal v1.1
writeln .
writeln
.
* - , .
:
x - .8
;)'Writeln('there are x people in the room
there are x people in the room :
,:
;)'Writeln('there are ',x, ' in the room
there are 8 people in the room :
-6 nice program writeln
.
-7 Goodbye ) (6 .writeln
* 7 ...
7
' ' - string
.
- WriteLn .
-
. ,
.
, := -
.:
;X:=4
;X:=6
:
6
6 ) (4.
:
(1
(2
;
http://www.underwar.co.il
Var
UnderWarrior Project
-12-
Byte
8) 1(
Integer
2 ) 16(
Longint
4 ) 32(
Real
6 ) 48(
Word
2 ) 16(
Char
8) 1(
String
Single
Double
Extanded
4 ) 32(
8 ) 64(
10 ) 80(
Comp
8 ) 64(
Boolean
--------------------
0255-
.
-32768 32767
-2147483648
2147483647
2.9*10E-39
1.7*10E38
)(
12
0
65535- .
)
(.
. .
Real
real
real - 3.4*10E-4932
1.1*10E4932
.
-(2*10E63)+1
(2*10E63)-1
false True
) (
* - .
. .comp :
Integer !!!
:
.
" ".
UnderWarrior Project
http://www.underwar.co.il
-13-
),
(
.1
.2
.3
.4
: ,
.begin, end
,8 15
,
.
:
.
: !!! ) , , (...
program .var
.
:
;Program dugma
;Var num1,num2:integer
.num
)(
.
)(
. ?
. " "
.
.
)( ) ( .
:
2 :
.1 }{ .
(* *) .2 . .
UnderWarrior Project
http://www.underwar.co.il
-14-
:
;Program dogma
}{input: two numbers output: the amount of the numbers
;Var num1,num2:integer
(*num1-input a number type integer num2- input a number type integer
)*
Begin
;)'Writeln('input two numbers
;)Readln(num1,num2
;)Writeln('the sum is: ,',num1+num2
End.
:
, .
.
+
-
*
/
.
) real
2 2.0
;X:=5+5
;X:=7-6
;X:=5+-8
;X:=5*5
;X:=10/2
.2 "
.17- -
) 0( ) 1-(. : 1101 ) 13 - (.
?2
' 2 ) 2
) ' , '1 1 - (( 1 ,
" . "0 " ."0 ...
' .
: 8 8\2 . 4 0 4\2 . 2
2 , 0 2 1 0 1\2 1 .
0 !!!
.1000:
UnderWarrior Project
http://www.underwar.co.il
-15-
1
1
1
1
0
0
0
0
1
135
67
33
16
8
4
2
1
0
271\2
135\2
67\2
33\2
16\2
8\2
4\2
2\2
1\2
' 100001111 :
0
1
0
XOR
1
0
1
1
0
0
0
0
AND
1
1
0
1
0
1
0
* 1+1 1 . 2
NOT
1 0- 0- .1- ;) not(1 . 0
* : !!!
UnderWarrior Project
http://www.underwar.co.il
-16-
DIV
X:=10 DIV 3
X:=101 mod 10
MOD
)X:=ABS(-2
)X:=COS(180
ABS
COS
SIN
trunc
ROUND
3 .
10- .3
10
.
) X:= sin(45
) X:= trunk(4.2
) (
) X:=ROUND(6.7
6.5 .
) !!!(
:Randomize
)
( Randomize .
Randomize
.Random
:
;),x:= random(n N.-
:Random
0<=x<n .1 );x:= random (n
a<=x<n .2 ;x:= random (n-a)+a
a<=x<=n .3 ;x:= random (n-a+1)+a
1<=x<=n .4 x:= random (n)+1
* - -0 .
UnderWarrior Project
http://www.underwar.co.il
-17-
.
;1)Var a: integer
2) Begin
;3) Randomize
;)4) a:= random(10
;)5) Writeln(a
6) End.
:
1 a .integer 2 . 3 randomize .
4 a . 5 . 6- .
Readln
"
:
;)Readln(x
;)Readln(X,Y,Z
;)READLN(ST
-readln .
- read .
UnderWarrior Project
http://www.underwar.co.il
-18-
2
(1
(2
(3
(4
(5
: .
8 100
100 ?76
:
(6
,
) (
ROUND. TRUNK -
4 ) () (
:
X:=1
;)X:=not(x
;Y:=1 and 1
;)Writeln(x,y
(7
(8
(9
;X:=6
;)Write(x
;X:=x+1
;)Write(x
;X:=x div 2
;X:=x mod 2
;)Write(x
) (
(10 :
;X:=1
;Y:=0
;Z:=x or y
;A:=x and y
;)Write(x,y,z,a
) (.
(11 ?
hello
13$$32fc
&&jop
num
http://www.underwar.co.il
)1
)2
)3
)4
)5
UnderWarrior Project
-19-
(1
Program tar1;
Var name,password:string[10];
Begin
Writeln('type your name and password);
Readln(name);
Readln(password);
Writeln('the name is ',name,'the password is ',password);
End.
/
(2
Writeln('type two numbers')
Readln(n1,n2);
Writeln('the sum is ',n1+n2);
(3
Randomize;
X:=random(100)+8;
1100100 : 100 ( 4
1001100: 76
(5
01
(6
Writeln('type a num');
Readln(n);
Writeln('yhidot:',n mod 10);
Writeln('asrot:',(n div 10)mod 10);
Writeln('mhot',n div 100);
. 5 ROUND (7
(8
Readln(n1,n2,n3,n4);
M:=round((n1+n2+n3+n4)/4)
M:=abs(m);
Writeln('the avg is:',m);
(9
x
6
6+1=7
7 div 2 =3
3 mod 2 =1
UnderWarrior Project
6
7
http://www.underwar.co.il
-20-
:
671
* 2
3 MOD 2 =1 0
(10
Y
Z
A
1010
1 and 0 =0
0
1 or 0 =1
0
0
1
1
0
0
X
1
1
1
1
1
1010
(11
(1 \
(2
(3
(4
(5
* !!!
UnderWarrior Project
http://www.underwar.co.il
-21-
:3 )(
) -(
.
) (
.:
.1 - .
.2 .
":
:1
: .
\ : -.
:2
: .
\ : .
.
:
] [X>8 : ?.
:
: X>8
\ : : ?
. .
. :
> .<> ,= ,< , : , , ) ( ....
:And
-And
:
) (x<16) And (8<X
-
* ! :
) ( ) ( .
" And 8<X X<16
8- .
UnderWarrior Project
http://www.underwar.co.il
-22-
:
(x<16) And (8<X) :
\ :-
:Or
-Or ) ( . :
) (X>8 ) (16<X
-
" . .9-
" 9 ) (.
:
(X>8) : )(16<X
\ :-
:Not
-Not
) (.
" . ??????
.
) not (x>9 -
: " X- .9- "
.
:
not (x>9) :
\ : -.
:Xor
-Xor .
.or- "
!!!.
: ) (Y<20) Xor (X>8 -.
: " .
X>8 :1y>20-
X<8 :2y<20-
:
(Y<20) Xor (X>8) :
\ :-
UnderWarrior Project
http://www.underwar.co.il
-23-
, .
2- ?
. IF : .CASE
IF - .
IF
1)IF X=1 THEN
)'2)WRITELN('X=1
3)ELSE
;)'4)WRITELN('X<>1
1-
. , .1-
.
) (
- 1
X=1
X=1
X=1 true
x
1
X=1
X=1 FALSE X<>1
X
0
V30
UnderWarrior Project
http://www.underwar.co.il
-24-
" "
* : .
-
.
: 3,3:
0,3
UnderWarrior Project
http://www.underwar.co.il
-25-
.
.
.
. .
:
;program v...
;var num1,num2:integer
begin
;)'writeln('enter two numbers
;)readln(num1,num2
if num1>num2 then
;)writeln(num1>num2
if num1<num2 then
;)writeln(num2>num1
end.
BEGIN END- :
If x=1 then Begin
;)'Writeln('hi
;)Readln(y
;End
;)'Writeln('GoodBye
:
"" Hi Y-
.GoodBye
If x=y then
;)'Writeln('x=y
Write('hi'):
UnderWarrior Project
http://www.underwar.co.il
-26-
Hi IF ,
.
V3.1
.
:
.
,
.
.string-
Begin
;)Writeln('How are you?':20
End.
http://www.underwar.co.il
-27-
Real :
.1 ) (
.2
:
;)writeln(8/7:20:3
begin
end.
: ) (:20 )(:3
.
.
If action='/' then
If num2<>0 then
)Writeln('the result is ',num1/num2
Else
;) 'Writeln('you can't do that
.0-
)( .
UnderWarrior Project
http://www.underwar.co.il
-28-
:
" . ".
.
.
. , .
.
=
><
<
>
=<
=>
Not
IN
And
Or
...
...
...
...
...
...
)... (
) ... (
X=8
X<>8
X<8
x>8
X<=8
x>=8
If not X=8 then
If x in [1..5] then
If x=8 and y>9 then
If x>8 or y<9 then
Xor
not
) (
:
case.of .
Action ,, .
UnderWarrior Project
http://www.underwar.co.il
-29-
) ,
. 0
?????? !!!!(.
, .
, .
boolean true .false
:
;Var d:Boolean
Begin
;D:= 5<8
End.
: .
:
() (1
NOT (2
And (3
Or (4
: .
(1 ) (
.
(2 .- , 30- 10- .
.
. 200 100
1500- .
(3 :
;)Readln(x
If x>8 then
Y=x*x
Else begin
;X=x*x
;Y=0
;End
;)Readln(z
http://www.underwar.co.il
Begin
UnderWarrior Project
-30-
If z=y then
;Z=z+1
;)Writeln(x,y,z
End.
. ,
X:=8,Z:=3
. ,
X:=3,z:=0
. ,
X:=3,.z:=1
(4 :
;)Readln(n
If n<10 then
)Writeln(n
Else
If n>10 and n<100 then
;)Writeln( n mod 10 ,n div 10
Else
If n>100 and n<1000 then
;)Writeln(n mod 10,(n div 10) mod 10,n div 100
Else
;)'Writeln('the number too big
Begin
3,100,3000,45,91,18 :
? ?
(5
:
:
-
-:
.1 .
.2
3 .
UnderWarrior Project
http://www.underwar.co.il
-31-
:
Program targil1;
Var num1,num2,num3:integer;
Average: real;
Begin
Writeln('enter 3 numbers');
Readln(num1,num2,num3);
If (num1>num2) and (num1>num3) then
If num2>num3 then
Write(num3,num2:2,num1:2)
Else
Write (num2,num3:2,num1:2);
If (num2>num1) and (num2>num3) then
begin
If num1>num3 then
Write(num3,num1:2,num2:2)
If num3>num1 then
Write(num1,num3:2,num2:2)
End;
If (num3>num1) and (num3>num2) then
If num2>num1 then
Write(num1,num2:2,num3:2)
Else
Write(num2,num1:2,num3:2);
End.
.( 2
:
: 4
n
bus
Mo
( ) Mo1
UnderWarrior Project
http://www.underwar.co.il
-32-
, ) 30 (
)
( 10
.
:
:
1500 .
(3
(
Z=y
false
X
8
64
x>8
false
64 ,0 ,3
(
Z=y
901
0
1
true
x
3
9
x>8
false
Y=z
x>8
false
Y
0
X
3
9
390
UnderWarrior Project
http://www.underwar.co.il
-33-
:( 5
.180 91 - .90- 0 -
.360 271 .270 181 -
0 .
. 360-
:
Program targil5;
Var num:integer;
Begin
Writeln('enter zavit');
Readln(num);
While num not in [0..360] then
begin
Writeln('erroe , please enter a zavit again');
Readln(num);
End;
If num in [0..90] then
Writeln('square 1');
If num in [91..180] then
Writeln('square 2');
If num in [181..270] then
Writeln('square 3');
If num in [271..360] then
Writeln('square 4');
End.
UnderWarrior Project
http://www.underwar.co.il
-34-
:4
100 , 100 .readln
? .loops
.for
FOR
. :
)(= - .
:
;Var I :integer
begin
For i:=1 to 5 do
;)'Writeln('6
End.
1
2
3
4
5
.
For i:=1 to 5 do
)1<=5 (true
)2<=5(true
)3<=5(true
)4<=5(true
)5<=5 (true
)6<=5 (false
* : "
). (
...
)- (:
1 5 )
(.
1<=5 .
2<=2 .
3<=5 .
4<=5 .
5<=5 .
6<=5
.
UnderWarrior Project
http://www.underwar.co.il
-35-
V30
:
, :
If I mod 2=0 then
0 !!
05.-
2
4
I mod 2=0
1 mod 2=0
false
2 mod 2=0 true
3 mod 2=0
false
4 mod 2=0 true
5 mod 2=0
false
b
5
5
a
0
0
2
3
5
5
0
0
4
5
5
5
0
0
UnderWarrior Project
http://www.underwar.co.il
-36-
Downto
) 10- (1
.downto -
'
. .
;Program v
;Var I:integer
Begin
For I:=10 downto 1 do
;)Writeln(i
End.
3-
;)'?Writeln('how much pupils in school
;)Readln(n
) (
SUM ) 0 (
;Sum:=0
For I:=1 to n do
Begin
;)Writeln('type a mark of pupil number:',i
;)Readln(mark
;Sum:=sum+mark
;End
;Avg:=sum/n
:
;Program v31
;Var n,I,mark:integer;avg:real
begin
;)'?Writeln('how much puples in school
;)Readln(n
;Sum:=0
For I:=1 to n do
Begin
;)Writeln('type a mark of pupil number:',i
;)Readln(mark
;Sum:=sum+mark
UnderWarrior Project
http://www.underwar.co.il
-37-
;End
;Avg:=sum/n
;)Writeln('the avg is:',avg
End.
AVG ,
!!!
sum .
55-
, ?
Count : . :
V3.2
10 55- !!!
8 ? .
MAH 1 , ) *0= (0
.
UnderWarrior Project
http://www.underwar.co.il
-38-
V3.3
: 1 )!-
( !3 . 3*2*1
;Program v33
;Var I,mah,num:integer
Begin
;)'Writeln('type a num
;)Readln(num
;Mah:=1
For I:=1 to num do
;Mah=mah *i
;)Writeln(mah
End.
: 5
I
1
2
3
4
5
Num
5
5
5
5
5
5
120
Mah
1
1*1
1*2=2
2*3=6
6*4=24
24*5=120
120
. : .
;Max:=0
For i:=1 to 10 do
Begin
;)'Writeln('type the mark
;)Readln(mark
If mark >max then
;Max :=mark
;End
;)Writeln(max
0 0
,
)( .
Max? , :
;)'Writeln('type a mark
;)Readln(max
For i:=2 to 10 do
Begin
UnderWarrior Project
http://www.underwar.co.il
-39-
.
2- .
:
;If mark <min then Min:=mark
) (
Sum
Count
Mah
min
0 0-
0 0-
1
max
.
V3.3
40 ,
. 8000
UnderWarrior Project
http://www.underwar.co.il
-40-
Repeat
repeat . :
Reapet
)( Until
, :
;I:=0
Reapet
;I:=i+1
;)'Writeln('1
)Until (i:=5
:
For I:=1 to 5 do
;)'Writeln('1
?
.5-:
;Sum:=0
Reapet
)Readln(num
;Sum:=sum+num
)Until (sum <400
. 400 -
* : : !!! :
Reapet
I:=0
)Until (i>2
!!!
While
While
.for
.flag-
* - for .while
.
while
while .
)( :while
)( .
..................
8-.
UnderWarrior Project
http://www.underwar.co.il
-41-
..................................
:while
;Var x,I:integer
begin
;I:=0
;X:=2
While I<>1 do
Begin
If x=2 then
;I:=1
;End
End.
:
i X=2
(x=2)=2 (true) I=1
------------------- -----------------
x
2
2
I<>1
)(I=0)<>1 (true
)(I=1) <> 1 (true
i
0
1
while .
. while
.
.
while
. ??? .
. 1 .100-
.while:
-:
.1 .
.2 1.100-
;Program .
;Var I:integer
Begin
;I:=2
2 1- - {
} .
While I<=100 do
} {
Begin
. ???
, !!! .
. .while
;)Writeln(i
{
}
UnderWarrior Project
http://www.underwar.co.il
-42-
;I:=I+2
;End
while
.
???:
) -(flag .
1 0-
) 2- 1- (.
???
) (
.
.
:
.
:
;Program v
;Var flag,num:integer
Begin
;Flag:=0
While flag<>1 do
begin
;)'Writeln('enter a number
;)Readln(num
If num<0 then
;Flag:=1
;End
0 )
( .
. ??? ,
, 85 485
.
2
.
) while
(.
UnderWarrior Project
http://www.underwar.co.il
-43-
:
: 3 .
125 0-
.
:
;Program v.
;Var sum,I,age:integer
Begin
;Sum:=0
For i:=1 to 3 do
begin
;)'Writeln('enter your age
;)Readln(age
While (age<0) and (a>125) then
begin
;)'Writeln('enter your age
;)Readln(age
;End
;Sum:=sum+age
;End
;)Writeln('the average of ages is ',sum/3
End.
, age
age
.
. 0
.125
) (125 ) (0
.
.
;I:=0
While i<>8 do
Begin
;)'Writeln('enter number
;)Readln(i
;End
:
8- .
UnderWarrior Project
http://www.underwar.co.il
-44-
(1 .1 .2 .
(2 .1 1
.2 ) (.
: :
.1 -. ) '(
.2 -. y ) '(
.3 - ) .I '(
.4 - ) .j '(
:
;Program targil1
;Var x,y,I,j:integer
Begin
;)Writeln(enter width
;)Readln(x
;)Writeln(enter hight
;)Readln(y
For I:=1 to y do
Begin
For j:=1 to x do
;)Write(x
;)(Writeln
;End
End.
:
) ' (.
x . .I, j
;Program v..
;Var x,I,j:integer
Begin
;)Writeln(enter the width
;)Readln(x
For I:=x downto 1 do
begin
For j:=1 to I do
;)*(Write
;Writeln
;End
End.
WHILE REAPET
.
While x<>0 do
Begin
;X=1
;End
UnderWarrior Project
http://www.underwar.co.il
-45-
X - 0- .
.
: 2
:
;Max :=0
;maxAll:=0
For I;=1 to 2 do
begin
For j:=1 to 2 do
Begin
;)Readln(mark
If mark >max then
Max:=mark
;End
If max >maxall then
;Maxall:=max
)Writeln(max
;Max:=0
;End
)Writeln(maxall
:
: 1 80:50 :2
:2 70 : 100
100
mark
80
50 80
70
100 100
100
Maxall
0
0
80
100
Max
80
80
70
100
100 100
J
1
2
1
2
I
1
1
2
2
:
80- 0- , 50
- 80
, 0- 70
0- 100 .
* !!
UnderWarrior Project
http://www.underwar.co.il
-46-
(1 5 2
(2 2 80
400- , .
.
(3 50
. 100000
.
(4 0 .
(5 ) 1(
.
(1
;Var n1,n2,i:integer
Begin
For I=1 to 5 do
Begin
;)'Writeln('plz enter two numbers
;)Readln(n1.n2
If n1=n2 then
)'Writeln('equal
Else
;)'Writeln('different
;End
End.
(2
;Var i:integer
;Sum1,sum2,d1,d2:real
Begin
;Sum1:=0;sum2:=0
For I;=1 to 80 do
Begin
;)'Writeln('enter how much you earn
;)Readln(d1
;Sum1:=sum1+d1
;End
For I;=1 to 80 do
Begin
;)'Writeln('enter how much you earn
;)Readln(d2
;Sum2:=sum2+d2
;End
If sum1>sum2 then
)'Writeln('division 1 earn more then 2
Else
;)'Writeln('division 2 earn more then 1
If (sum1+sum2)\ 160 < 4000 then
;)'Writeln('they are bad people
End.
UnderWarrior Project
http://www.underwar.co.il
-47-
(3
Var mas,sum,i:integer;
Begin
Sum:=0;
For I=1 to 40 do
Begin
Writeln('how much you earn');
Readln(mas);
Sum:=sum+mas;
If mas> 1000000 then
Writeln('you earn too much');
End;
Writeln('sum:',sum);
End.
(4
Var flag,num:integer;
Begin
Flag:=0;
Writeln('enter number'):
Readln(num);
While num<>0 do
Begin
If num mod 2 = 0 then
Flag: =1;
Writeln('enter number');
Readln(num);
End;
If flag= 0 then
Writeln('no zugi')
Else
Writeln('there was zugi'):
End.
(5
Var flag,num,i:integer;
Begin
Flag:=0;
Writeln('type a number');
Readln(num);
For i:=2 to num/2 do
Begin
If num mod I >0 then
Flag:=1;
End;
If flag=0 then
Writeln(' no rishon')
else
writeln('yes rishoni');
end.
UnderWarrior Project
http://www.underwar.co.il
-48-
:5
, .
):(Const
.
.1 - 100
.
.
.2 40
. 40 41-
.
:
.
.
Const
;1)I=100
;2)Ii:integer=100
(1 .
(2 .integer
* : .
) ( .
.
-Sets
.
;Numbers:set of 0..9
;Var num:numbers
type
Begin
End.
0 9
.
Begin
;X:=4
;)'Writeln('enter number
)Readln(x
If x in numbers then
;)'Writeln('the number is ok
End.
UnderWarrior Project
http://www.underwar.co.il
-49-
:
;)Sex:(male,female
)(Types
. .
.1
) (Days .
.2 String .
;Type x = 0..9
;Var y:x
0 9-
0-9
.
:
Program
Const
Type
Var
Begin
End.
, :
) (
) (
People: reacord
;]Id:string[9
;]Fname:string[10
;]Lname:string[10
;]Byear:string[10
;]Sex:string[8
;End
.
UnderWarrior Project
http://www.underwar.co.il
-50-
V5.0
2-
.
* !!!
With
:
With people
;)Writeln(id
;End
:
;)Writeln(people.id
UnderWarrior Project
http://www.underwar.co.il
-51-
Arrays
40 :
;Mark: array [1..40] of integer
1- :
;Mark: array [5..8] of string
;Mark: array [a..z] of real
36 . ,:
;Mark[1.1..1.4] of real
;Mark["ad".."dd"] of Boolean
) . 1.1-????2.1(
) (3
;)]Write(mark[3
.
12:
1
10
11
12
v3.1
;Program v31
Var
;Student: array [1..3] of string
;Grade:array [1..3] of integer
;Max,integer,index:integer
Begin
For i:=1 to 3
Begin
;)'Writeln('enter your name
;)]Readln(student[i
;End
For i:=1 to 3 do
Begin
;)'Writeln('enter your grade
;)]Readln(grade[i
;End
;]Max:=grade[1
;Index:=1
For i:=2 to 3 do
If grade[i]>max then
UnderWarrior Project
http://www.underwar.co.il
-52-
Begin
;]Max:=grade[i
;Index:=I
;End
Writeln('the student ',student[index],' with best grade
;)]',grade[index
End.
: 80,100,70 : :, .
Grade[i]>max
student
1 2
3
--- --- -----
--- ---
---
--- ---
---
70 ---
70 100 80
70 100 80
:
Grade
max
index
1
2
3
------------- ---- -- --------------------------- -- --------------------------- ------------
--------------- ------------
--------------- ------------
--------------- ------------
-- Max=gread[1]=70 ------------
--70
1
100
2
70 100 80
i
1
2
3
1
2
3
------------
100
.100
. .
.
) -(:
2
3
1
2
3
- ) (.
- " :
;learn: array [1..3,1..3] of integer
UnderWarrior Project
http://www.underwar.co.il
-53-
2
3
-1..3 .
-1..3 .
* - -
-
:
:a
5
1
2
3
4
5
6
7
8
9
7 4 :
;]a[7,4
=X:
* - -.
\
- .
- .
* :
;A:array[1..3,1..4] of integer
:
A:array[1..3] :record
B:array[1..4] of integer
;End
UnderWarrior Project
http://www.underwar.co.il
-54-
-
a:array [1..3,1..3] Of integer; :
: .1
:
For I: =1 to n do
Sum: =sum+a (I, n-I+1)
:
for I:=1 to n
sums:=sum+a(I,I)
: .2
For I:=2 to n do
For j:=1 to I-1 do
Sum:=sum+a(I,j)
I=y
J=x
: .3
for I:=1 to n-1 do
for j:=1 to n-I do
sum:=sum+a[I,j]
for I:=1 to n do
for j:=1 to n-1+1 do
sum:=sum+a[I,j]
:
for I:=1 to n do
for j:=1 to n-1+1 do
sun:=sum+a[I,j]
:
for I:=1 to n-1 do
for j:=1 to n do
sum :=sum+a[I,j]
:
for I:=2 to n do
for j:=n-I+2 to n do
UnderWarrior Project
http://www.underwar.co.il
-55-
]sum:=sum+a[I,j
:
for I:=1 to n do
for j:=n-1+1 to n do
]sum:=sum+a[I,j
String
string :
Var
;A:string
.String
:
.
7- .
String " 7-.
string -.
.string-
string a )(
5- . .
;)]Writeln(a[5
String ) (
255.
15 255- ) ( ,
)- (
. :
;]A:string[7
- 7.
* " 7 .
:
7 :.
* 0- .
UnderWarrior Project
http://www.underwar.co.il
-56-
. 1-
) (LENGTH
.
ASCII-
, 0-255
.
ASCII American Standard Code for Information Interchange
) , , ( .
:CHR .ASCII-
:ORD .ASCII-
32
.32
. 32
* .
UnderWarrior Project
http://www.underwar.co.il
-57-
ASCII
UnderWarrior Project
http://www.underwar.co.il
-58-
UnderWarrior Project
http://www.underwar.co.il
-59-
If str1=str2 then
.
1 2 .....
:
;)Str1:=copy(str2,I,num
Str1 Str2 . .
I Num- .
:
10 11
l D
9
r
8
o
7
w
5
o
4
l
3
l
2
e
1
H
;'Str2:='hello world
;))Write(copy(str2,7,5
World :
:
;)I:=pos(st1,st2
I 1 2-
!!! 0
:
St3:=concat(st2,st3):
1 :
;)'St:=concat('Hello',' World
:
'St:='hello'+' world
a- .z .
:
;)'C:=upcase('a
) ( .A
UnderWarrior Project
http://www.underwar.co.il
-60-
* .
:Delete
Delete ) ' '( .
,
.
:
;'St:='hello world
;)Delete(st,4,3
st:
'St='helorld
-st .
-4 .
-3 .
:Insert
- .
,
.
:
;)Insert(s1,s2,4
:
S1 S2 .4-
:Str
'
;)String(value,string
-value .
-string .
:Val
. val
.
:
;)Var(st,var,code
UnderWarrior Project
http://www.underwar.co.il
-61-
-st .
-var ) (.
-code 0 0-
)( .
1' :7'.
) 1 ''( .
) 3 ''( .
0
.
* -
.
.
* : )( )
.(writeln
)
(.
(1 ),, (
100 .
(2
(3
(4
.
(5 2 .
(6
.
UnderWarrior Project
http://www.underwar.co.il
-62-
(1
Var
Man :record
Name:string;
Mas:integer;
Id:string;
End;
I,sum:integer;
Begin
Sum:=0;
For i:=1 to 100 do
Begin
With man do
Writeln('type name,id and mas');
Readln(name,id,mas);
End with
Sum:=sum+man.mas;
End;
Writeln(sum/100);
End.
:2-
Var st,letter:string;
Begin
Writeln('enter mahrozet');
Readln(st);
Writeln('enter letter');
Readln(letter);
If pos(letter,st)]<>0 then
Writeln('the letter in the mahrozet')
Else
Writeln(' the letter not in the mahrozet');
End.
(3
UnderWarrior Project
http://www.underwar.co.il
-63-
:4-
Var st,stlite:string;
Count,pbegin,num:integer;
Begin
Count:=0;
Writeln('enter mahrozet');
Readln(st);
Pbegin:=pos(' ',st);
While pos(' ',st)<>do
begin
Count:=count+1;
Num:=pos(' ',st);
Delete (st,num,1);
End;
Stlite:=Delete(st,pbegin+1,count-1);
Writeln(stlite);
End.
(5
Var st1,st2:integer
L1,l2:integer;
Begin
Readln(st1,st2);
L1:=length(st1);
L2:=length(st2);
If l1 > l2 then
begin
Writeln('st1 >st2')
Else
Writeln('st2>st1');
End.
(6
Var st:string;
Num:integer;
begin
writeln('enter mahrozet');
readln(st);
num:=pos('.',st);
writeln('the value of the number that bigger then 1 is ',
copy(st,1,num-1));
writeln('the value of the number that lower then 1 is
',copy(st,num+1,length(st)));
end.
UnderWarrior Project
http://www.underwar.co.il
-64-
:6
.
.
?
, .
:
;Program dogma
Var .
Begin
End.
, .
;Function name(x:integer):integer
;Var y:integer
Begin
;Name:=x+y
;End
-name .
)-(x:integer
- .
) (
, .
- :integer ,
,
.
:
; - Name:=x+y
. .
V60
;Program v60
;Var I,n1,n2:integer
;Function sum(n1,n2:integer):integer
Begin
;Sum:=n1+n2
)* *(
;End
Begin
)* *(
For i:=1 to 5 do
UnderWarrior Project
http://www.underwar.co.il
-65-
Begin
;)'Writeln('type two numbers
;)Readln(n1,n2
;))Writeln(sum(n1,n2
;End
End.
: .
2 5
.
) ( :
, .
:
,
.
:
Function x(y:integer):integer
Begin
;Y:=y+1
;X:=y
;End
Begin
;Z:=5
;))Writeln(x(z
End.
) -(y:integer ,
) ( .var
5
5 .
:
,
.
:
;Var y:integer
UnderWarrior Project
http://www.underwar.co.il
-66-
:
;Function dogma(x:integer;var y:integer):integer
!!!.
V61
;Program v61
;Var a,b,c,d,s:integer
;)Function f(var x:integer;y:integer
Begin
;X:=x+1
;Y:=y+1
;f:=x+y
;End
Begin
;A:=2;b:=4;c:=5;d:=10;s:=0
;)S:=f(a,b
;)Writeln(s,a,b
;)S:=f(b,c
;)Writeln(s,b,c
;)S:=f(c,d
;)Writeln(s,c,d
;)S:=f(d,a;)Writeln(s,d,a
;)Writeln(a,b,c,d
End.
):
(
834
1155
12610
15113
35611
s
0
8
11
12
15
15
d
10
10
10
10
10+1=11
11
c
5
5
5
5+1=6
6
6
b
4
4
4+1=5
5
5
5
a
2
2+1=3
3
3
3
3
!!!
UnderWarrior Project
http://www.underwar.co.il
-67-
. ,
.
:
Procedure name(a:integer):
;Var x:integer
Begin
;End
- name
-(a:integer):
*
.
* .
:
:
(1 : .
(2 : )
(
;) Str(num,str STR
. )
(
(3
WRITELN
. ) (var :
;)Procedure example (var x
.
. :
;Program example
;Var s:string[10]; a:array[1..3] of integer
.
;Program example
Type
UnderWarrior Project
http://www.underwar.co.il
-68-
;]S=string[10
;A=array[1..10] of integer
;Var s1:s;a1:a
. :
;)T(s,a
* )
( : .
-:
.1 .
.2
.3 .
UnderWarrior Project
http://www.underwar.co.il
-69-
:7
,
.
?
.PRINTER :
;Program d
;Uses printer
Begin
End.
:
;Program x
;Uses printer
Begin
;)'Writeln(Lst,'abs
End.
. .
CRT
.
:
;Uses crt
Textcolor
.
: .:
;Program x
;Uses crt
Begin
;)Textcolor(1
;)'Writeln('hello world
End.
. ,
.
UnderWarrior Project
http://www.underwar.co.il
-70-
.Textbackground
GOTOXY
. 1:1
1 x ,1 y- . 80:25
)
( :
;Program x
;Uses crt
Begin
;)Gotoxy(40,12
;)'Write('hello
.
Delay
;)Delay(ms
- Ms .
Sound
:
;Program d
;Uses crt
Begin
Sound(25):
;)Delay(100
;Nosound
End.
25 100
.NOSOUND
READKEY
READLN . :
;Program d
;Uses crt
;Var c:char
Begin
;C:=readkey
If c:='2' then
;)'Writeln('you press 2
End.
UnderWarrior Project
http://www.underwar.co.il
-71-
. 2 2
Keypressed
: .
While not keypressed do
Begin
Delay(100);
Write('*'):
End.
100 )
(
program dugma;
uses crt;
var c:char;
begin
clrscr;
textcolor(2);
gotoxy(1,25);
writeln('
^
');
writeln('
| ',#15,' |');
writeln('
|
| ');
writeln('
#
#');
writeln('
# P #');
writeln('
# a #');
writeln('
# s #');
writeln('
# c #');
writeln('
# a #');
writeln('
# l #');
writeln('
#
#');
writeln('
# ####### #');
writeln('
#
#');
delay(900);
writeln('
|
| ');
delay(100);
writeln('
|
| ');
delay(100);
writeln('
|
| ');
delay(100);
writeln('
|
| ');
delay(100);
writeln('');
delay(100);
writeln('');
delay(100);
writeln('');
delay(100);
writeln('');
delay(100);
writeln('');
delay(100);
UnderWarrior Project
http://www.underwar.co.il
-72-
;)''(writeln
;)''(writeln
;)''(writeln
;)delay(50
;)''(writeln
;)''(writeln
;)''(writeln
;)delay(50
;)''(writeln
;)''(writeln
;)''(writeln
;)delay(50
;)''(writeln
;)''(writeln
;)''(writeln
;)delay(50
;)''(writeln
;)''(writeln
;)''(writeln
;)delay(50
;)''(writeln
;)''(writeln
;)''(writeln
;)delay(50
;)''(writeln
;)''(writeln
;)''(writeln
;)delay(50
;)'writeln('Press any key...
;c:=readkey
end.
:
, , ...
.
:
-
. F8
.
CTRL-F7
UnderWarrior Project
http://www.underwar.co.il
-73-
DEBUG
HELP
.
GOTO
Include
)
6 62(.
) (include .
* - .
:
:
;Program main
)*(*$I try.inc
begin
;call1
end.
- .inc
UnderWarrior Project
http://www.underwar.co.il
-74-
):(Try.inc
;procedure call1
begin
;)writeln(new stuff
;end
:
program- :
)*(*$I try.inc
.
: * $ I
) !( . inc
* .
.call1
:
) ( .
*- Begin, end
) . (.
UnderWarrior Project
http://www.underwar.co.il
-75-
:8
(1
.
(
(
( ) (
(2 ) 100 (100
(
(
( .
(3 :
;)Procedure x(var x,y,z:integer;a,d:integer
;Var a,I :integer
Begin
For i:=1 to d do
Begin
;A=a+1
X=a+y
;Y=a+b
;)Writeln(y
;End
(
( . ? ) (
;Program xxx
' X '
;Var x,a,b:integer
Begin
;)X(x,a,20,0,b
;)X(2,3,3,3,3
Writeln(x,a,b):
( ) ) ((
( ? .
(4 ,
:
(
(
(
( *
(
:
", : 22, " 2:
UnderWarrior Project
http://www.underwar.co.il
-76-
(1
(2
(3
90
60
20
33
90
12
90
90
20
, )(
4 )
(4 4 4
1 ) 100 4 1 ( 100
) 4(
) +(
(7
) (-
-
(8 )
)
*
4 **
(9 " "A
" "A ) " "A" "B" "C
" "A" "B" "C
" "A" "B" "C A
**
UnderWarrior Project
http://www.underwar.co.il
-77-
(10 ,
) ( :
: .
: ) (
: .
. ) 20 (
*
:
100 5 5 120.5 16 16 ) 20 ( 30 16 ) 20 ( 12 400 20 (11 A B B
A .
10 , ,
. :
: .
:+
:
:
(12 50 ) 50( .
10 .
: .
: ) ( .
.90
: 5
:
* ) (80
*
(13 20
: 100 150 150
: 111
: ) (
: 111 .
** ) (
.
UnderWarrior Project
http://www.underwar.co.il
-78-
.
...
)
(.
.
. "
.
.
' .
: ???
. ??
. C , c++, assembly :
) (
.
. .
:
virtual888@gmail.com :
vbyohai@gmail.com :
UnderWarrior Project
http://www.underwar.co.il
-79-