טיפוסי נתונים:דפי עזר בפסקל
מספר שלם integer מוגבל למספר מקסימלי 32767
מספר שלם ארוך longint מוגבל ל2,147,000,000-
מספר ממשי real כדי שלא יודפס בכתיב מדעי
מוסיפים 6:2:
תו char
בוליאני (true, false) boolean
מחרוזת string[ ] לדוגמא: string[80]באורך 80 מקסימום
מערך חד-מימדי טיפוס array[1..mispar ] of
מערך דו-מימדי טיפוס array[1..shurot,1..amudot ] of
קלט/פלט:
קלט ;(רשימת משתנים readln(
פלט ;(רשימת משתניםwriteln( מדפיס תוכן המשתנים ועובר שורה
;(רשימת משתניםwrite ( מדפיס תוכן המשתנים בלי לעבור שורה
writeln; רק עובר שורה בלי להדפיס כלום
שאלה
סימני קשר: = <> =< < => >
;פקודה אחת then תנאי if
;פקודה א' beginthen תנאי if
[IMG]file:///C:/DOCUME%7E1/6F7F%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image001.gif[/IMG];פקודה ב' אם יש יותר מפקודה אחת בסעיף
; ... פותחים end begin
[IMG]file:///C:/DOCUME%7E1/6F7F%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image002.gif[/IMG][IMG]file:///C:/DOCUME%7E1/6F7F%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image003.gif[/IMG];פקודה אחרונה
;end
פקודה אחת then תנאי if
;פקודה אחרת else
;פקודה א' beginthen תנאי if
;פקודה ב'
end
;פקודה ג' beginelse
;פקודה ד'
;end
[IMG]file:///C:/DOCUME%7E1/6F7F%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image004.gif[/IMG][IMG]file:///C:/DOCUME%7E1/6F7F%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image005.gif[/IMG][IMG]file:///C:/DOCUME%7E1/6F7F%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image006.gif[/IMG][IMG]file:///C:/DOCUME%7E1/6F7F%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image007.gif[/IMG]or בהרכבת 2 תנאים יש להוסיף ( )
;פקודה then (תנאי ב') and (תנאי א') if מסביב לכל תנאי
if ... then if ... then ...
... else
else if ... then ...
;else ...
פעולות חילוק על שלמים פעולות אלו מוגדרות על שלמים בלבד
מנה שלמה div
שארית החילוק mod
האם מספר זוגי? if x mod 2 = 0
האם מספר מתחלק ב7- ללא שארית? if x mod 7 = 0
בידוד ספרות כאשרמספר הספרות בxלא ידועwhile x>0 dobegin{טיפול בספרה הנוכחית {sifrasifra:= x mod 10;
x :=x div 10;end;
בידוד ספרות במספר דו-ספרתי
ספרת העשרות s1:= x div 10;
ספרת האחדות s2:= x mod 10;
בידוד ספרות במספר תלת-ספרתי
ספרת המאות s1:= x div 100;
ספרת העשרות s2:= x div 10 mod 10;
ספרת האחדות s3:= x mod 10;
פונקציות חשובות:
ערך מוחלט abs( ) החלק השלם trunc( )
ריבוע (חזקת 2) sqr( ) החלק השלם int( )
שורש ריבועי sqrt( )
הגרלת מספרים אקראיים
בתחילת התוכנית כותבים randomize על מנת שבכל הרצה יוגרלו מספרים שונים.
הגרלת מספרים בתחום n-1..0 x:=random(n);
הגרלת מספרים בתחום n..1 x:=random(n) + 1; דוגמאות:
[IMG]file:///C:/DOCUME%7E1/6F7F%7E1/LOCALS%7E1/Temp/msohtml1/01/clip_image008.gif[/IMG]הגרלת מספרים בתחום s..r (r<s) x:=random(s-r+1) + r ;
בין 0-4
בין 1-10x:=random(5);
בין 22-33x:=random(10)+1;
x:=random(33-22+1)+22;2
מונה סכום מצטבר
sum:=0; mone:=0;
פותחים לולאה פותחים לולאה
{אם מתקיים תנאי} קולטים נתון x
mone:=mone+1;sum:=sum + x;
כאשר מספר השלבים ידוע מראש כאשר מס' נתוני הקלט לא ידוע מראשלולאות
do ערך סופי to ערך תחילי for i:= קובעים זקיף = נתון פיקטיבי
גוף הלולאה
beginreadln(x);
do end; זקיף while x <>
גוף הלולאה
begin
לולאה ברוורס
do ערך תחילי downto ערך סופי for i:= readln(x);
גוף הלולאה
begin end;
end;




ציטוט ההודעה




