אז משרד החינוך הוסיף לנו שפה חדשה בהתראה מאוד קצרה: Pascal.
- מדריך בויקיפדיה
- מדריך באנגלית
- קומפיילר אינטרנטי: כאן או כאן
פתרונות קיץ תשע"ו, מועד ב:
פתרון שאלה 5
פתרון שאלה 6
(אגב שימו לב מתי הנקודה-פסיק ';' לא מופיעה)
עוד דוגמאות:
בהצלחה!
- מדריך בויקיפדיה
- מדריך באנגלית
- קומפיילר אינטרנטי: כאן או כאן
סינטקס:
Syntax
pascal:
חשוב להדגיש שפסקל לא מבחינה בין אותיות גדולות לקטנות!
Settings
variabels
Exampels:
type
days, age = integer;
yes, true = boolean;
name, city = string;
fees, expenses = real;
Now, the types so defined
can be used in variable declarations −
var
weekdays, holidays : days;
choice: yes;
student_name, emp_name : name;
capital: city;
cost: expenses;
Print and
read
Type
nameType = String[50];
ageType = 0..150;
{ age range: from 0 to 150 }
Var
name : nameType;
age : ageType;
Begin
Write('Enter your name: ');
Readln(name);
Write('Enter your age: ');
Readln(age);
Writeln;
Writeln('Your name:', name);
Writeln('Your age :', age);
Readln;
End
.
Syntax
loops
While:
while number>0 do
begin
sum := sum + number;
number := number - 2;
end;
for example:
program whileLoop;
var
a: integer;
begin
a := 10;
while a < 20 do
begin
writeln('value of a: ', a);
a := a + 1;
end;
end.
דוגמא ללולאה מקוננת:
while(condition1)do
begin
while(condition2) do
begin
statement(s);
end;
statement(s); end;
For-do:
for i:= 1 to 10 do
writeln(i);
for example:
program forLoop;
var
a: integer;
begin
for a := 10 to 20 do
begin
writeln('value of a: ', a);
end;
end.
Syntax
arrayes
חשוב להדגיש שאנחנו קובעים גם את אינדקס ההתחלה של המערך!
Var
<arrayName>
: Array[n..m] of <Data Type>;
myArray
: Array[1..20] of Integer;
for
example:
Var
i : Integer;
myIntArray : Array[1..20]
of Integer;
myBoolArray : Array[1..20]
of Boolean;
Begin
For i := 1 to
Length(myIntArray) do
Begin
myIntArray[i] :=
1;
myBoolArray[i] :=
True;
End;
End.
Array tow
dimensional
Var
my2DArray : Array[1..3, 1..5] of Byte;
Begin
my2DArray[2][4] := 10;
End
.
For example:
program exDynarray;
var
a: array of array of integer; (* a 2 dimensional array *)
i, j : integer;
begin
setlength(a,5,5);
for i:=0 to 4 do
for j:=0 to 4 do
a[i,j]:= i * j;
for i:=0 to 4 do
begin
for j:= 0 to 4 do
write(a[i,j]:2,' ');
writeln;
end;
end.
מבחנים
אחרי שהבנתם את התחביר: מבחנים.
פתרונות קיץ תשע"ו, מועד ב:
פתרון שאלה 5
program EX05;
var
NumberOfCards : integer;
Price : integer;
begin
READLN(NumberOfCards);
if(NumberOfCards>100) THEN
begin
Price := 43;
end
else
begin
Price := 48;
end;
WRITELN(NumberOfCards*Price);
end.
פתרון שאלה 6
program EX06;
var
Sizes : Array[1..44] of Integer;
Names : Array[1..44] of string;
i : integer;
NumberOfParts: integer;
sum : integer;
begin
sum := 0;
NumberOfParts := 44;
for i := 1 to NumberOfParts do
begin
writeln('Enter name: ');
READLN(Names[i]);
writeln('Enter size: ');
READLN(Sizes[i]);
sum := sum + Sizes[i];
end;
for i := 1 to NumberOfParts do
begin
if(Sizes[i]>10) THEN
begin
writeln('Name: ', Names[i]);
end;
end;
writeln('Sum: ', sum);
end.
(אגב שימו לב מתי הנקודה-פסיק ';' לא מופיעה)
עוד דוגמאות:
readln (a, b, c);
s := (a + b + c)/2.0;
area := sqrt(s * (s - a)*(s-b)*(s-c));
writeln(area);
age: integer = 15;
taxrate: real = 0.5;
grade: char = 'A';
name: string = 'John Smith';
program Greetings;
const
message = ' Welcome to the world of Pascal ';
type
name = string;
var
firstname, surname: name;
begin
writeln('Please enter your first name: ');
readln(firstname);
writeln('Please enter your surname: ');
readln(surname);
writeln;
writeln(message, ' ', firstname, ' ', surname);
end.
type
days, age = integer;
yes, true = boolean;
name, city = string;
fees, expenses = real;
while number>0 do
begin
sum := sum + number;
number := number - 2;
end;
program whileLoop;
var
a: integer;
begin
a := 10;
while a < 20 do
begin
writeln('value of a: ', a);
a := a + 1;
end;
end.
program exLocal;
var
a, b, c: integer;
begin
(* actual initialization *)
a := 10;
b := 20;
c := a + b;
writeln('value of a = ', a , ' b = ', b, ' and c = ', c);
end.
program exLocal;
var
a, b, c: integer;
procedure display;
var
a, b, c: integer;
begin
(* local variables *)
a := 10;
b := 20;
c := a + b;
writeln('Winthin the procedure display');
writeln('value of a = ', a , ' b = ', b, ' and c = ', c);
end;
begin
a:= 100;
b:= 200;
c:= a + b;
writeln('Winthin the program exlocal');
writeln('value of a = ', a , ' b = ', b, ' and c = ', c);
display();
end.
program exString;
var
greetings: string;
name: packed array [1..10] of char;
organisation: string[10];
message: pchar;
begin
greetings := 'Hello ';
message := 'Good Day!';
writeln('Please Enter your Name');
readln(name);
writeln('Please Enter the name of your Organisation');
readln(organisation);
writeln(greetings, name, ' from ', organisation);
writeln(message);
end.
program exString;
uses sysutils;
var
str1, str2, str3 : ansistring;
str4: string;
len: integer;
begin
str1 := 'Hello ';
str2 := 'There!';
(* copy str1 into str3 *)
str3 := str1;
writeln('appendstr( str3, str1) : ', str3 );
(* concatenates str1 and str2 *)
appendstr( str1, str2);
writeln( 'appendstr( str1, str2) ' , str1 );
str4 := str1 + str2;
writeln('Now str4 is: ', str4);
(* total lenghth of str4 after concatenation *)
len := byte(str4[0]);
writeln('Length of the final string str4: ', len);
end.
בהצלחה!
אין תגובות:
הוסף רשומת תגובה