יום ראשון, 29 באפריל 2018

פקודות בסיסיות בשפת פסקל

אז משרד החינוך הוסיף לנו שפה חדשה בהתראה מאוד קצרה: Pascal.


- מדריך בויקיפדיה
- מדריך באנגלית
- קומפיילר אינטרנטי: כאן או כאן







סינטקס:


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.

















בהצלחה!

אין תגובות:

הוסף רשומת תגובה