- שנה: 1989
- מחבר: מיכאל יסטר
- מו"ל: אופוס הוצאה לאור
- פורמט: ספר
- נמסר ע"י: אפי קאופמן
- תגיות:
OCR (הסבר)
טורבו פסק7
המדרירך השלם
כולל גירסה 5.5
אופוס הוצאה לאור בע"מ חלק ג'
| טורבו פסקל.
המדריך השלם
כולל גירסה 5.5
מאת מיכאל יסטר
אופוס הוצאה לאור בע"מ
ספר זה תורגם מ-
1 ססעטגוץע' שתנפס
פותת על-ידי תברת מס861עסק:סס .שגו0
מיכאל יסטר
1 ססעטץע 05 5.5 םב0ס51פת2ב? תס 285866 18 בהספַהע ססמטץע שַתגפס
0 אםפ1
מ61610ע 866ו0ת8 ב115שת₪ 81ת191נס
פסת6גת 11ב
מסנסהעסקעס6 מע0 עס 1989 (ס) 6ם14עצסס6
צפ 06ג1158מגוע ב61%610ע 182008006 טסממסם
9 (0ס) 00072166 ,266 688מע פטפעס
תרגום:
רות שדר
הוצא לאור ב-1990 על-:ך:
אופוס הוצאה לאור בע"מ
הודפס בדפוס טופ-פרינט בע"מ
(6) כל הזכויות למהדורה העברית שמורות
ל"אופוס" הוצאה לאור בע"מ ת.ד.65088, ת"א 61650. אין להעתיק או
לשכפל ספר זה או קטעים ממנו בשום צורה ובשוס אמצעי אלקטרוני או
מכני, | לכל מטרה שהיא או לעשות בו שימוש מסתרי כלשהו, לרבות
צילוס והקלטה, ללא אישור בכתב מהמוציאיסם לאור. ו
חלק ג'
תכנות מתקדם
פרק 15: ריבוד 529
פרק
ריבוד
בראשית ימיו של המחשב המרכזי, היווה גודל הזיכרון מגבלה רצינית, מחשבים
של %, א8% |ו-א16 נחשבו למחשבי ענק, והיה צורך לתסוך במשאבי הניכרון
היקרים.
כאשר אי אפשר היה לדתוס את כל היישום לזיכרון, כתבו את התוכניות בצורת
מודולות קטנות נפרדות שנטענו לזיכרון בעת הצורך, במקום מודולות אתרות,
שסיימו את תפקידן, למשל: תוכנית להדפסת רשימת משכורות עשויה היתה לכלול
מודולה להדפסת כותרת ומודולה להדפסת הדו"ת עצמו, כאשר סיכומי הביניים,
מספרי העמודים וכדומה נשארים בזיכרון באופן קבוע.
בשנות ה-60 זכתה שפת קובול לפופולריות רבה בתכנות העסקי, כיוון שהיא הקלה
מאוד על פיתות היחידות הנפרדות (מודולות או רבדים), שפת קובול חייבה את
התוכניתנים להיצמד למבנה קבוע של פרוצדורות וקטעים (5א58010) ועודדה את
השימוש בשגרות ולא בתוכניות גדולות.
תהליך דומה התרחש בתתילת עידן ה-26, רוב המחשבים לא הכילו יותר מ-64%,
והתוכניתנים חזרו לשיטות הישנות של שימוש במודולות קטנות המוטענות
לזיכרון, שפת פסקל מנצלת את היתרונות של קובול עם כלי עבודה נותים
ונוקשים פחות.
כאשר הזיכרון של ה-6ע גדל, ומגבלות התכנות פחתו, איפשרה מהדורה 4.0 של
טורבו פסקל להשתמש ביתידות ושברה את מחסום ה-א64. התמיכה בריבוד
(5ץ18עסטס) הופסקה ומנית, פעולה זו יצרה שתי בעיות: בהיעדר תמיכה בריבוד,
מחשבים קטנים (שעדיין קיימים בשוק) לא יכלו להפעיל תוכניות גדולות, וגודל
התוכניות שהופעלו במחשבים גדולים יותר הוגבל בשל גודל הזיכרון.
מהדורה 5.0 של טורבו פסקל החזירה את התמיכה בריבוד (59ץ18מס6טס), שילוב של
ריבוד עם חריגה ממגבלות ה-א64 מאפשר הפעלת תוכניות שגודלן כמעט אינו
מוגבל.
0 חלק ג" תכנות מתקדם
בפרק זה נכיר חמישה כללים ליצירת רבדים, ונדגים אותם באמצעות תרגילים
פשוטים, במהלך הפרק נסביר מהם רבדים, כיצד להשתמש בהם ומאלו מצבים יש
להימנע.
מהו רובד (צְבּ1:סטס)
רובד הוא אוסף של שגרות או תת-תוכניות של תוכנית, השוכנות יחד בזיכרון.
בטורבו פסקל, רובד השגרות הקטן ביותר הוא היתידה. כל *תידה נטענת
לזיכרון, בשלמות, לפני שאתת השגרות שבה מתבצעת.
כאשר מבצעים הידור לתוכנית הכוללת מספר רבדים, נוצרים שני קבצים. קובצ
עאם, הכולל את ההוראות הנשארות בזיכרון כל זמן שהתוכנית פועלת, וקובץ
תּטס, המכיל את היחידות (הרבדים) הנטענות לזיכרון בהתאם לצורך. קובץ תטס.
יכול להימצא על הדיסק או בזיכרון המורחב.
חיסכון בשטתי זיכרון
תוכניות המשתמשות ברבדים צורכות שטתי זיכרון קטנים ככל האפשר, השטת
שצורכת תוכנית המשתמשת ברבדים כולל שטת קבוע, הנמצא בזיכרון במשך כל הזמן
שהתוכנית פועלת, ואזור אחסון שגודלו מאפשר קליטת הרובד הגדול ביותר
בתוכנית.
נניח, למשל, שהחלק הקבוע של תוכנית מסוימת צורך א20, ובתוכנית יש חמש
יחידות:
יחידה גודל
10%
0%
24%
5%
(4
= ש םש ₪
פרק 15: ריבוד 531
בתוכנית זו יש להקצות אזור אחסון שגודלו 40%, כגודלה של יתידה 6.
התוכנית כולה תצרוך אם כן 60% (התלק הקבוע + היתידה הגדולה ביותר), אילו
תוכנית זו לא היתה משתמשת ברבדים, היו היחידות צורכות 88%.
טעינת יחידות לאזור האחסון
כאשר פונים לשגרה שבאחת מהיתידות, טורבו פסקל בודק אם היתחידה נמצאת
בזיכרון, אם היתידה אינה בזיכרון - המערכת טוענת את כולה.
אזור האחסון יכול להכיל יותר מיחידה אחת, כאשר השטת הפנוי באזור האחסון
מספיק, נטענת היחידה החדשה לאזור הפנוי, אם היחידה העומדת להיטען גדולה
מהשטת הפנוי, היא נרשמת על גבי היתידה הנמצאת כבר בזיכרון. בדוגמא
הקודמת, שבה הגדרנו אזור אחסון של א40, צורכות יחידות (ת, 8, כ ו-₪)
2% ולכן ארבעתן יכולות להימצא בזכרון בעת ובעונה אחת.
תוכנית לדוגמה
נלמד להשתמש ברבדים באמצעות תוכנית, התוכנית 1 לַפאתּט0 אמורה להפיק חיובים
עבור משרד עורבי דין.
במשרד יש ארבעה עורכי דין (668:ע, 11₪8א, 8820 ו-ע6%66) המטפלים בתמישה
נושאים (גירושין, פלילים, פשיטות רגל, דיני חברות ועזבונות). | התוכנית
מסכמת את התיובים לכל עו"ד ולכל נושא, החיובים מתוארים בטבלה 15.1:
טבלה 15.1
החיובים המהוויס בסיס לתוכנית 1דפואמשס
סה"ב עזבונות | חברות פ.רגל פלילים גירושין
00 0 0 500 0 1000 בסנ
22000 0 0 2000 20000 0 התווח
0 0 0 0 0 0 1
20000 200 0 0 0 00 עס
0 0 0 750 20000 20020 סה"כ
2 חלק ג': תכנות מתקדם.
תוכנית 1*'פאתטס כוללת, למעשה, מערך דו-ממדי ושתי שגרות תחיבור עצמאיות.
פיתוח התוכנית
תוכנית 1עפאַתע0 (תדפיס 15.1) אינה מורכבת במיותד, יש להנית כי תוכנית
אמיתית תקרא את הנתונים מקובץ, במקרה זה, לצורך ההדגמה, הנתונים הגולמיים
נקראים ישירות ממערך עם הגדרת טיפוס.
תדפיס 15.1 . .
; 2017015%1) ותהידטסינכן
6+
;( ע06%5% (קסתזפם ,1188 ,7200 ) = פעסתתס+)2
; ( 866ססע , 886עסכך001 , עס6כגרנעתפם , [8ת1ת01 (ססעסטגת ) = ו
;681ע 04 [ 08208 ] קתעה 02 [ 8קפת:4%%0 ] עהעעה = בשתגווום
0%
) 8000, 1000, 6%, 0 0 [ 66ע ) ) = 5שת111גם : סגתסטסת
0 00 (% ,25000 ,0 ) ( אתנגח )
0 ,0 ,0 00 0 ( 1 עסודצם |
9 -, > | 30 ). >
= [ 8 ]שתגעצם +04 [ ע26%5. .0206 ] ק8עע8 : פסתבא
((' ע6%0%ע' ,7 עפתצהם' ,7 | הננ" ,7 בסתי )
= [ 6 ]שת1ע8% +0 [ 8%6ס0ע2. .06עסט21 ] קפעשה : 6ַסעטס5
;(( 'ססעע "8 ,000 5 ,יש " ,'תגע0 5 ,'טגת -5 )
ינפש
; פעסודנס%ל/ | : סע
,08309 : ע60181%ק9
(681ע : וו
;בע 1 1
תונפס
;( '.116+ 8 מסע+ 68%8 2686 18טסא גוסץ סעפתש 15 ת560%10 גג" )ת[160עא
7 =: 0681ך
תנשסטס 60 ע26%5 60 60עת =: עסעאה1 ע0ס2.
;( [ 18/02 |]פסתם8) )156עש
=: ערבפך
0 2200866 %0 06עסט21 =: 50601814 עס+
;1 ע9060181% , ע6ע19 -]פגותסטסת + ע911ד =: עבבפך
; ( 198117:8:0 )ת601יט
.ץ7911 + 70681 =: 70%81
; סתס
; ( 10%81:16:0 )ת1%01עש
; ה46[1 ביט
תדפיס 15.1 ממשיך בדף הבא
| ו | | פרק 15: ריבוד 533.
המשך תדפיס 15.1
=: 70681
תנשסס סף 8 %0 2170206 =: ע9060181% עס+
(ן | ]גוס )106י
.0 =: ענבגך
(: ץע 0 7200 =; ע0ע0א18 102
7 0 , י01ע1.990 ]סגותסטסת + ע1911 =: עבב8ך
; ( 10:0:ע 1911 )ת1601עש
> ;ע1811 + [10%8 =: 70%81
. . 7 -
; (-10%81:16:0 )011 1יחט
ְּ 7 י;ת1%61יש
0
התוכנית מסְכמת את השורות והעמודות ובודקת אם הסכומים זהים:
דוגמא לפלט של התוכנית:
.16 8 מסעץ+ 8 מ 8 סש 5 6ינסבאו 18 0 ג
0 | 6
250 מו 1
> 12000 רד
"ו יש | .| 26250 6
000 > צנ >
2000 תתנ ס.
| מכדתם
= 25000 סנס
1250 ססינם
0 >
(ההודעה שהתוכנית מציגה מתארת מצב רגיל של קריאה מקובץ ולא ממערך).
פירוק התוכנית ליחידות
נפרק את התוכנית לשתי יחידות: יחידה אחת. .תבצע את סיכום השורות, ויחידה
שניה את סיכום העמודות.. |
שתי היחידות משתמשות בנתונים הגולמיים, ולכן ניצור *חידה שלישית, בשם
0 שתפנה לנתונים אלה (תדפיס 15.2): | |
| 534 חלק ג" תכנות מתקדם ן
תדפיט 15.2
; 0סגופינט0 1%תט
1-6
6+
;( ע20%% ,קסודנ9ע ,מת711 ,2208 ) = פעפת:ס1%
; ( 200866 , 2806סכך: 00 , עס6סגרםנוגפם , [הת1ת1ע0 (6סעסטגת ) = 89
(681ע 01 [ 08308 ] קה8עע8 +0 [ פעסתנס45% ] קפעעה = בשתג1נגם
לפתסס
)
) 8000, 1000, %( 0 0 (, [ 68עת ) ) = בשתנ1נגם : סגתסטסת
,0 0 (% ,25000 ,0 ) ( בחמ1נח ]
( 12000 ,0 ,0 0 ,0 ) [ עסתזהם ]
20( |; ,25000 ,0 --, ) ( ע6%סם ]
= [ 8 ]שתגע%ם 04 [ ע26%%. .7200 ] הענה : פסתפא
((' ע200%' ,' שסתדהם' ,7 | ת1נח' ,' תי )
= [ 6 ]שת1עטם +0 [ 66מסעת. .6סעסטג2 ] פע : 6סעגוסם
(( 'ססעע 8 ,'000 5 ,'כסאם | ' ,יתנע * ,'טנם -* )
עפט
; 4060675 1 תועט ך
(08808 : ע60181%ס9
;081ע : רבפ
ו101 8+ תפס 1כת1
0
היחידות לטיכום השורות (1פטפעטס) והעמודות (2מטפמטס) מוגדרות בתדפיס
143
תדפיס 15.3
; 00901 1%תט
16
; (סגופינט 0 08גט
; 020887006 פעגוספססינכן
רז10 %8%תסות0 11
; 020987'00% 6נגו0סססי
5
1 : 70%81
תנפסס
1 =: 70681
תנשסט 00 ע260% %0 2200 =: 1800 שס+
;( [ 62ע180 ]פסתגא )166יש
=: ע1בפך
0 866ססיע 60 2100206 =: ע8060181% 0+
;| ע9000181% ,180/02 ]סגותסטסת + 18117 =: ערנפך
; ( 8:0:ע19811 )ת1%01ישט
;צ1911 + 10581 =: 70681
; תס
|( 10%581:16:0 )ת1561ש
; ת1461י
תדפיס 15.3 ממשיך.בדף הבא 5
: -
, ל 5 | , פרק 15: ריבוד 535
המשך תדפיס 15.3
טפט 15תגר
1-6
; ופנ 868
00% 6יג60ססענ
רס 841+תסוס 101
= ;700% 6עגו60ססען
שפט
2081 : 70581
תנשסס
/ ;0 =: באססך
ת1קסס 00 2100466 50 06עסט21 =: ע60181%ק5 עס+
ו ור ]5000 )186
- 00 =: עונמך
. 0 יי 0+ =: ש0עא18 0+
1 0 ל ]סגותסטסת + 198117 =: עבבפך
; ( 10:0:ע79811 )ת1591יט
9 -+ יי =:. 0091
1-ו
1 2 11 :0 ו
; ה6[1> 1יחט
ּ ; תס
.תס
רוב הנתונים וההוראות נמצאים בשלוש היחידות,. ולכן | תוכנית 02
(תדפיס 5.4 6 אינה ארוכה. | י 0
הי ו תדפיס 15.4 : 2
01% התהינססינסן >
אמגופינט0 = 1סגוסינט 0 סגו
4 ו - תנשסס
4% 3 8 - סי 1גוסש גוס - '18 ת800910 11115? )ת[1%6י 5 -
000 :
שססע
.0 .שת |
סדר ההידור הוא: 0מטפמטס, 1פטפעטס, 2מטפפט0 ולבסוף התוכנית הראשית
= 082 הפלט של וט זהה ה של 11פאתטס. |
6 חלק ג" תכנות מתקדם
יצירת רבדים מהיחידות
תוכנית 2פאת07 שיצרנו אינה גדולה, ולכן ברור שזכרון המתשב שלך מסוגל
להכיל את כולה. לצורך התרגיל, נהפוך את 1פטפעט0 ו-2פטפתטס לרבדים.
הכנת היחידות
כאשר יחידה הופכת לרובד (צַ18עסטס) היא פועלת בצורה שונה, ולכן יש להודיע
למהדר על הכוונה להפוך את היתידה לרובד.
כלל 1: טורבו פסקל חייב לדעת אם אתה מתכוון להפוך את היחידה לרובד.
הידור של רבדים מתבצע עם הוראת המהדר [+50).
הוראת המהדר [+0%) בתתילת היחידה אינה מתייבת אותך להפוך אותה לרובד, אלא
מבקשת מטורבו פסקל לוודא שניתן יהיה להפוך אותה לרובד בבוא הזמן.
שימוש בקריאות רחוקות (08115 עִבּ+)
כאשר התוכנית אינה משתמשת בריבוד, טורבו פסקל טוען כל יתידה בקטע נפרד
בזיכרון, לכן פניות לשגרות הנמצאות ביתחידה אתרת מתייבות לבצע "קריאה
רחוקה", כלומר קריאה שבה יש לציין את הקטע ואת ההיסט, כאשר מעבירים
פרמטרים מקטע לקטע יש לציין את הקטע וההיסט של המצביעים, המהדר מטפל
במצבים אלה באופן אוטומטי.
נניח למשל שב-ם>נתט נמצאת הפרוצדורה:
;( 8ם1ע56 : 1088806 )21501822001085 6עגוססססצעס
מ1שסס
;( 25 ,1 )צא0ס606
;( 088806 )6סנ1עשט
7
וב-1%8תט נמצאת הקריאה:
;( '/₪81% 216856 ,5116 ש6ם61ע50 אסא' )22082695צ15013ס
= פרק 15: ריבוד 37 >
טורבו פסקל יעביר: את כתובת ההודעה שב. גמ אל הפרוצדורה שב וט
באמצעות קריאה רתוקה.
ננית עתה ש-ג16תט ו - 1%8חש הם רבדים, במקרה זה ההודעה. והפרוצדורה *ימצאו
תמיד באותו קטע (אם: כי בזמן שונה), ולכן אין כבר ו לבצע. קריאה רחוקה
והמהדר יסתפק בקרקה קרובה. =
| מַצב כזה אינו רצוי יש למצוא דרץ ו בין הרבדים השונים, בדר שהמהדר
יידע איוו < יחידה עליו לטעון. טורבו פסקל. פותר בעיה זו בדרך פשוטה אך
מחוכמת.
בלל 2: = כל הקריאות וההצבעות = בתוכנִית הכוללת רבדים .יהיו קריאות
0 המציינות את הקטע (6מסו56₪0) ואת. ההיסט (05+56%6),,. ולכן יש
להדר את כל היחידות ואת התוכנית הראשית עם הוראת צגץ ססצסע
8 2
הדרך הפשוטה ביותר לענות על דרישה זו היא הצבת הוראת [+%%) בתחילת
התוכנית הראשית ובתחילת כל יחידה, או לתילופיץ לשנות את ברירת המחדל
מ-(-?) ל-[+ע%) באמצעות פקודת שורת ההוראות +82/ עבור מהדר שאש,ספעי, ניתן
גם לשנות את פקודת התפריט 08115 צ8ע 0%08ע/0/6/ בסביבה אינטראקטיבית.
טכנית נחוצות במקרה זה קריאות קרובות. -- אולם הקריאות הרחוקות מאפשרות
למהדר להשתמש בבית הקטע לזיהוי הרובד, כאשר טורבו פסקל מאתר קריאה מיחידה
שעברה הידור באמצעות [+80] ליחידה אחרת שעברה הידור עם [+80) - הוא מציב
את הפרמטרים במחסנית לפני העברת המצביעים, בשלב הבא, טורבו פסקל בודק אם
היחידה הנקראת נמצאת בזיכרון, כאשר היחידה נמצאת ביכרון, העיבוד מתבצע
| מיד; כאשר היחידה אינה נמצאת בזיכרון, היא מועברת לזיכרון לפני העיבוד.
כאשר הופכים יתידה. לרובד, לא נערכים בה שינויים כלשהם.
יצירת רבדים
ניתן לשלב את שני הכללים שהכרנו, לכלל אחד: '
8 תלק ג': תכנות מתקדם |
"הוסף את ההוראות [+2,+%0) מיד אחרי הכרזת +נתגו", הוראת [+%0) מורה למהדר
להתייחס ליחידות כאל רבדים. הוראת [+%2+ מבטיחה שכל הפניות לפרוצדורות,
לפונקציות ולמצביעים יתבצעו באמצעות קריאות רחוקות.
הגרסאוּת התדשות של 1פטפעט0 ו-22שטפמט0 מופיעות בתדפיס 15.5 ו-15.6:
תדפיס 15-5
; 14מגופינט0 1%תט
[+ ,+ 80)
16
; שמגופינט0 869גו
; 00887005 סיעגוס6סססי
ת8010>תסותס 11
(020988700% 6עגוססססמ
ן
;681 : 70681
הז1נשסס
1 =: 70581
תנשסס 40 ע36%5 %0 7208 =: 002ע9א18 ע0ס+
;( [ 00עא18 ]פסתגא )1%6עש
1 =: ע911ך
0 200856 60 8סעסט21 =: ע8060181% עס+
;[ ע59060181% ,190 ]סטתסטסת + צ911ד =: עבבפך
; ( 19117:8:0 )ת1%91יש
;1% + 70581 =: 70%81
; תס
; ( 10%81:16:0 )ת%01גיש
; תת61> נינש
; תס
-
תדפיס 15.6
; ממגופינט 0 1%תנו
[+ ,+ 90
1-6
; שסגופינטכ). 868ג1
00% יגוס
רז6810תסותס 11
;200% 6ינגו6סססינ
3
;2691 : 70%81
תנשסס
תדפיס 35.6 ממשיך בדף הבא
פרק 15: ריבוד 539
המשך תדפיט 15.6
0 0 =: 10581
תגקסס 00 יי %0 יי =; 601 0+
ד 0 וס 1090
.8 =: ערבפך
| סט 6 4 6 =: 199760 0+
19 3 2 ו + 91 =: = עָבַבַפ' :
; ( 11:10:08 ה
ה + 01 > = בס
; 6
2 0: .16 1 0
; תך10אר
0 -
5
= אין צורך לשנות את יחידת פטס המכילה את ההכרזות. הכלליות, השינויים
| חלים רק על היחידות ההופכות לרבדים.
ערכום. התחלתזים ברבדים
כאשר פונים: - לשגרה שברובד. מסוים, בל היחידה. נטענת | לזיכרון. יאם. יחידה: כזו
מכילה שגרות לטעינת ערכים ראשוניים. - הן נטענות עם כל היתידה, בכל פעם
שהיתידה נקראת,. למרות ששגרות :אלה אמורות כהתבצע. פעם אחת בלבד, =
כאשר השגרות לטעינת. ערכים ראשוניים גדולות וכאשר" היחידות. נטענות פעמים
רבות,: זמני: הביצוע של: התוכנית עלולים להיפגע. יתכן גם ששגרות אלה :-מחייבות
הגדלה של אזור - האחטוך. | ּ
כדי למנוע. מצבים. באלת, רצוי לקנץ ) את כל" השגרות. לטעינת ערכים ראשוניים
לרובד אחד. בבך. יצטמצם גודלם של בל + הרבדים וניתן יהיה לצמצם את גודלו של
איז ור האחס ו
| שינוי התוכנית הראשית .
| בלל 2 חייב להדר את התוכנית הראשית עם הוראת. 5 עפ 6 נוסף לבץ,
| יש לערוך בתוכנית הראשית (2 ו ) המפקחת על כל הרבדים כמה שינויים
נוספים.
0 חל ג': תכנות מתקדם | | |
תמיכה בהוראות ההרצה
כאשר מצרפים את הוראת (+80) לרובד, מודיעים לטורבו פסקל שתהליך ההידור
לא יהיה רגיל, אולם, נוסף לכך, נחוצה תמיכה גם לזמן ההרצה.
בלל 3: בתוכנית. הראשית יחידת צעַ18מסטס תהיה היתידה הראשונה
המוזכרת בהוראת 658פגו.
יש לשנות את הוראת 8פטגט שבתוכנית הראשית כן:
;,ת2מגופמט0 ,ת1מטפמטס ,צְ18ת6ט0 פספט
יחידת 06:18 המשולבת בתוכנית, מספקת את התמיכה ברבדים בזמן ההרצה.
זיחו? הרבדים
תוכנית אחת יכולה להשתמש ביחידות המוגדרות כרובד וביחידות שאינן מוגדרות
כרובד, 0 יש 1 למערכת במפורש מהם הרבדים.
כלל 4: טורבו פסקל חייב לדעת לאלו יתידות עליו להתייחס. כאל רובד
ולכן יש להגדיר את הרבדים בתוכנית הראשית באמצעות הוראת
[%0 6ת8ת5116).
הוראת. [886מ116+ 0 מודיעה למהדר אילו יחידות מבין היתידות שהוגדרו
באמצעות 8 יהיו רבדים, הוראה זו תופיע, אם כן, אתרי הגדרת היחידות.
(ת2סטפנט0 ,ג1כטפ2ט0 ,0762187 8ספט
( 1 סגופמטס 50]
[ ג2מגופמטס 80]
- %כור: הוראת [+0%) שביתידות עצמן מודיעה למהדר שהיתידות עשויות לשמש
רבדים, הוראת (816ת%116 %0) שבתוכנית הראשית הופכת את היתידה לרובד.
| פרק 5 ריבוד 841 .
טעינת התמיכה בהרצה
על יחידת ע6218ש0 מכריזים במשפט ה-65פ₪/ הראשון, כדי שכל פעולות הטעינה
של: יחידה זו יתבצעו לפני הפעלת התוכנית, פעולות. אלה מתבצעות "גם -5פ
שמגדירים את היחידות שיהיו רבדים, ולכן יש לבצע. פעולות טעינה נוספות
בתוכנית הראשיתו. באמצעות הפרוצדורה דנטס
בלל 35" << יש 0 את התמיכה בהרצה לפנ ההפעלה, ולכן צריכה הפרוצדורה
1%ת1מץ0ס להתבצע לפני. שפונים לפרוצדורה "או לפונקציה הנמצאת .
| ביחידה שהוגדרה כרובד..
יש להפעיל את 0 מוקדם בבל האפשר. הפרוצדורה טוענת את מנהל הרבדים.
ופותחת את קוב הטס. כאשר. הפרמטר 11686 אינו מכין ציון של שם כונן או
> ספריה - המערכת מחפשת. את הקובצ' בספריה התורנית,: בספריה המכילה את ל
ה: - מא (ב-א.3 %8) ובספריות שהוגדרה על כ הוראת דיתע
הגרסה הסופית של חתוכנית -
ניישם את הכללים - החדשים שלמזנר בתובנית הראשית ו 7 15
תדפיס. 7 15
ּ ; 02865 ותפיטסינסן
[ 61005סרע1. תה - בב עס? [081 792 8 פססעסת + ת8)
גייס , 1סגוטינט 0 , 00913 1508
>[ ב1סגופצטס 80"
- מגפינט 0 90).
1 הנ1קס
ב | - 0 8 0* )011%
7 32 3 חסי1 8 1 סו גוסץ, - 15 600 58 )ת1501יש
: : ; 0208970065
; 0%
0
הפלט שיתקבל | אחרי הידור של 7 ה2סטפשס 1 וס זהה לפלט של.
| התוכנית המקורית.
542 חלק ג" תכנות מתקדם 0 ה הוה | |
הפלט זהה כיוון שהתוכניות עצמן לא שונו,. השוני הוא באופן שבו בצענו את
התוכנית ולא בהוראות שבתוכנית עצמה.
בדרך כלל די ביישום חמשת הכללים שהברנו כדי להפוך יתחידה לרובד..
שימוש בשגרות ריבוד
יחידת 06213 מגדירה את הפרוצדורות %גמדעטס, 5 טס, 1%ו0:506%2
= ו-+גום:01681:טס0, שגיאות. הנוצרות כתוצאה מהפעלת פרוצדורות אלה עלולות לגרום.
להפסקה בפעולת התוכנית בגלל שגיאת הרצה, :
-ניתן לבדוק את התוצאות המתקבלות משגרות אלה על ידי בדיקת המשתנה המוגדר
מראש %נופסת :סט 0 (מטיפוס ע6646ת1), כאשר הערך שבמשתנה זה אינו אפס, יש
| לטפל בשגיאה באופן מיידי. טבלה 15.2 מכילה את רשימת הערכים האפשריים ואת
שמות הקבועים המוגדרים מראש שבאמצעותם ניתן לבדוק. את 1%6גופסת:טס.
טבלה 15.2 התוצאות המותזרות של 5016פחיש0
הודעת השגיאה | ערןך | קבוע מוגדר מראש
תסתת סא 9 ו
לסו ו חס 00 10גום / פַקָה [ינסטס סא 4 צסיניזןינ טס
| 5 | -
| 0+ לסת פפש 116+ הט0. 8- תוס %1סאטס
6 :1168 6 8121 878.11 בופגוסתוס %6סא 5- | ו
6 0018 שת09801ע עסעעס 1/0 4- שעסעי10עטס
6 ססת ינסט ינ סז 5- סט 0 ס)[נ טס
0 5 266 השגוסתס %סו 6- סוס יטיס .
בעזרת פטס ניתן להיחלץ במעט מכל מצבי השגיאה, השימוש בקבועים יתואר
בפירוט בהמשך.
| טעינת מנהל הרבדים
בכלל 5 ראינו שיש לרשום את הוראות הטעינה לבנל הפניה הראשונה. -- רובד.
5 ההוראה לטעינת מנהל הרבדים היא:
ל 0 פהק 5% ריבוד > 3 0
. 2 יפוס כ | |
0 כאשר הפרוצדורה. 6 לא נטענה | בהצלחה,: תגרום הפניה הראשונה לרובד . ,
| כלשהו להפסקת פעולת התוכנית עם שגיאת 0 מספר 208 2 סְסַבְּּת ו 2%
ה
, אן. אפשרות. ל משגיאה כזו, ולכן רצוי | להפעיל את טס מוקדם בבל
האפשר, כּדי להימנע ממצב של נפילת. התוכנית לאחר שכבר התבצעו ה רבות..
ן כדי לטיוע למשתמש להבין את סיבת התקלה, ניתן. לכלול בתוכנית אֶת ההוראות:
רכ תסמל יס <> טס 11
5 : - | 02 1%פסתינט0 0886
;( '8ע18ע6ט0 6טגת 5 '00080 תהעשסעת י)ת1001 :.[ 1- )| | מסעעמעטס.
-077;( 'תט0? 6'יַתפבט 2116 3ש0. )ת1591י : [ 8 )טס
. וי 9
שימוש בזיכרון ! מורחב .
אם. המחשב. שלך כולל איכרוך מורחב. (05ם) ומנהל התקנים. מתאים,. הפרוצדורה
5 דנטס טוענת את "קוב אטס. | לציברון וסוגרת את קובץ אטס. שעל -הדיסק.
פעולה זו מקצרת בו ניבר את ומני הגישה לרבדים, .
= באשר הפרוצדורה טס אינה מסתיימת בהצלחה, התוכנית ממשיכה 0 -
בקובץ שעל. הדיסק. כדאי, -אם כ[ להפעיל את הפהוצדורה 168%9מ6:1ץ0 בכל
תוכנית המשתמשת ברבדים,. ולאפשר זמני. ביצוע.: טובִים יותר לתוכניות הפועלות :
במתשבים: הכוללים ו | מורחב. יש > להפָעיל. - את טס מיד אחרל:
דט 4 . :
ו 'נטיס טסו טס /
3 0
: אחרי. הפעלת. 8 ש לנדוק א את 0 2
7 תש %סינטס <> יס 11
; | צָס, 0 06
". '316+ עפ = עסעט עצ ו : [4- | עס 10ינטס
0-07 "8%81100ת12 פסת עסט1זה 5 )ימ 7 סט יפנע טס" >
/ ו פא 6 ו סא 0 6-) ל
7 0
4 חלק ג" תכנות מתקדם 0 | | |
שינוי גודל אזור האחסון של הרבדים
כאשר מפעילים את 6נ1מ1מטס, מוגדר אזור אחסון שגודלו כגודל הרובד הגדול >
ביותר, בתוספת תקורה מסוימת למידע . הנחוץ להעברה, - באמצעות הפונקציה
?טס ניתן לברר, בכל עת, מהו גודלו של אזור האחסון, למשל:
| ;( '605צס' 06 , ' 8ת%81מסס שסם ע5+6גום צ218סטס 6ת' )םמ1561עש
כאשר מעדיפים להשתמש באזור אחסון גדול יותר, למשל במקרים שבהם ניגשים
תכופות לבני רבדים, ניתן לשנות את גודלו באמצעות הפרוצדורה +גופ296%טס.
אזור האתסון של הרבדים שוכן בתתתית הערימה, ולכן הפרמטר של 05ו256%9טש0
(טיפוס ע%6606ם1 שַמתס1 המכיל את הגודל המבוקש) תייב להיות גדול או שווה
לערך ההתחלתי של אזור האחסון, וקטן או שווה (5גופ0206% + 11הטתתחסא).
ההגדרות החדשות מקצות שטחים מתוך הערימה, הקטנת שטח האחסון משחררת שטתים
בערימה.
ניתן לשנות את גודל הערימה רק כאשר היא ריקה, ולכן יש להפעיל את
טס לפני הקצאת משתנים דינמיים בעזרת שפא או ת006%6, ולפני הקצאת
שטחים לפעולות גרפיות בעזרת בק16628ת1, לפני שינוי גודל אזור האחסון של
הרבדים יש להשתמש בהוראת המהדר (א) כדי להגדיל את הערימה (תדפיס 15.8)
תדפיט 15.8
| [ !648 00 0 הס ת10901] 856סיסת1 | 655560, 65556, 16884- אפ
. 00018 868
0% |
[ 88 ] - ,8192 = 8עסאתימוס
ת1שסס
; ( | עטס.506!נט *0 )16ת1יטס
; 011
[ 88 עס סט סחטם )| ;( 28 טס + +000%0 )90001יטס
; תס
תוצאות +56%520מט0 נבדקות בתדפיס 15.9!:
| | : פרק 15: ריבוד 545
תדפיס 15.9
תגשפס תסמל א0יטס <> >גגוטפתטס 11
1 16גופסתנט0 0880 |
ן1: עסעינע טס
; ( עלק %סת קהסם עס 9411 500 8126 ע1+0טס 300008660 )ת1491ימש
;( '0תט0ס+ %''תפבחט 1116 7.008 )ת81לגיט : [ 2- ) שתטסש6סאיטס
; ( '80806 2680 808118016 בקטסת6 פסא' )ת1501ט : [ 5- ] ץינסמס)ס)ינטיס
: ; 6
;( 1 )ומ
; תס
מנהל הרבדים ימשיך לפעול גם אם הפרוצדורה 09605 לא הסתיימה בהצלחה,
אך גודל אזור האחסון לא ישתנה.
ריקון אזור האחסון של הרבדים
הפרוצדורה 8גו016819:ט0 מרוקנת את אזור האחסון של הרבדים, כל פניה לרובד.
תטען את היתידה מחדש, הפעלת פרוצדורה זו מאטה את פעולת התוכנית.
סיכום
בפרק זה למדת להשתמש ברבדים כדי לצמצם את כמות הזיכרון הנצרכת על :די
תוכניות טורבו פסקל, למדת להפוך לרובד יחיזה שנכתבה על 2/0 משתמש, והכרת
את חמשת הכללים הנוגעים לתהליך:
= כל רובד יעבור הידור עם הוראת [+0%).
= הרבדים והתוכנית הראשית יעברו הידור עם הוראת (+92] /.
= יחידת גי חייבת להיות היחידה הראשונה המוגדרת בהוראת ג של
התוכנית הראשית.
= התוכנית הראשית חייבת להגדיר כל רובד באמצעות ו [(6ת8ת116+ 0
= התוכנית הראשית חייבת ל את פרוצדורת הטעינה ו מוקדם ככל |
האפשר. י
6
חלק ג': תכנות מתקדם . , "ץ 0
למדת ליישם כללים אלה באמצעות דוגמא מעשית, ראית מהם השינויים שיש לערוך
בתוכנית הראשית וכיצד מכינים את היתידות. למדת לטעון את מנהל
הרבדים ואת שגרות התמיכה בהרצה.
בסוף הפרק הצגנו בפניך נושאים מתקדמים יותר: שימוש בזיכרון מורחב (5א₪8),
שינוי גודל אזור. האחסון של הדּבדים וריקון אזור האחסון.
פרק 16: 5105, 08 ושפת אסף (צתמאמפפת) 547
פרק
ה-3105 ,05כע ושפת אסף
(צ 181 55/)
איכות העבודה של תוכניתנים אינה נמדדת רק על פי הפלט של תוכניותיהם, אלא
גם על פי מידת ה"שקיפות" של התוכניות, כלומר המידה שבה המשתמש תשוף
לפרטים הפנימיים של המערכת, שפות תכנות "ידידותיות" הן שפות שהמשתמש בהן
אינו צריך לטפל בפרטים הטכניים של מערכת ההפעלה, בנושא זה, טורבו פסקל
הוא סיפור הצלחה, טורבו פסקל משלב בהצלחה הגנה על המשתמש מפני מורכבות
ה-6פ עם הגנה על המיקרו- מעבד מפני פעולות בלתי מבוקרות של תוכניתנים.
כתוצאה מהגנה זו, התוכניתנים אינם צריכים, בדרך כלל, לנבור ב-טע6.
להגנה זו יש לכן גם חיסרון: התוכניתנים אינם *כולים לממש את כל האופציות
של ה-6פ, אלא כבולים לאופציות שהתוכנה מעמידה בפניהם.
לכל מיקרו-מעבד יש כמה שגרות מרמה נמוכה,. היכולות לבצע פעולות קלט/ פלט
בסיסיות, שגרות אלה צרובות ב-50% (יכרון לקריאה בלבד - צָ1תס 086ת
צעסותסת) וכל תוכנית. יכולה לפנות אליהן, שגרות אלה נקראות 8108 (סַזפהם
ת5566 6גוס6גו0/ 6גוקם1) והן מהוות ממשק בין מערכת ההפעלה וחומרת ה-6ק,
מערכת 205 מסתמכת על שירותי ה-8105, שגרות ה-8105 מתאימות לתצורות
החומרה, המבנה הפנימי של ה-0גפא00, ה-צג אפ ה-5כ0ע ומחשבים ניידים
מסוימים אינו והה, אולם שגרות ה-8108 יודעות להגיב נכון על הוראות 05
המועברות אליהן גם ממחשבים אלה, המונח מערכת הפעלה (550ע5 8מ1+בעסקס)
משמש את התוכניתן בדרך כלל להפעלה משותפת של 05כ ושירותי ה-05ד,
שירותי 205 וה-3105 הן שגרות כתובות מראש, בעלות עוצמה רבה, טורבו פסקל
מהווה נדבך נוסף הפועל על גבי מערכת ההפעלה, ולא במקומה, כלומר, כל
שירותי מערכת ההפעלה עומדים לרשות תוכניתני טורבו פסקל, בשכבה הנמוכה
יותר.
8 תלק ג" תכנות מתקדם
בטורבו פסקל קיימים מספר כלים שבאמצעותם ניתן לפנות לשירותי 208 וה-8105.
כיוון ששגרות אלה מכילות פקודות בסיסיות ביותר, הן מתבצעות במהירות
וביעילות ואינן צורכות משאבים רבים, ניצול כלים אלה משפר במידה ניכרת את
ביצועי התוכנית. | ּ
פרק זה מתאר כיצד ניתן לפנות לשירותי ה-05 וה-2105 מתוך טורבו פסקל.
הגישה פשוטה ודומה לפניה לפונקציה או לפרוצדורה,. טורבו פסקל מאפשר גם
לשלב בתוכניות הוראות בשפת אסף (צ.2555%81) - פעולה זו משפרת עוד יותר את
הביצועים, ונהוג להשתמש בה ביישומים שבהם יש חשיבות מיוחדת למהירות
הביצוע. ּ
התקשורת עם שירותי ה-5105 ו-05ס
שירותי ה-51058 ו-205 מתנהגים בצורה דומה מאוד להתנהגות הפרוצדורות
הרגילות של טורבו פסקל. התוכנית פונה לשגרה המבצעת משימה מסוימת ומתזירה
את הפיקות לתוכנית הקוראת.
בפרק 6 ראינו שה-020 משתמש באוגרי הקטע וההצבעה כדי לנהל את המידע
שבזיכרון הפנימי, רוב הוראות המעבד כוללות אופציות המאפשרות לפעול ישירות
על הנתונים שבזיכרון, אולם על ידי הצבת הנתונים באחד מהאוגרים הכלליים
ניתן להגיע לשיפור נוסף בביצועים.
ההבדל הממשי היתיד בין שגרות 205 וה-2105 ובין פרוצדורות רגילות של טורבו
פסקל הוא באופן העברת הפרמטרים, תוכניות טורבו פסקל משתמשות בזיכרון
הפנימי (כלומר במחסנית) כדי להעביר מידע לשגרות הנקראות, לעומת זאת,
שגרות 205 וה-2105 מעבירות את הפרמטרים לאוגרים.
השימוש באוגריס
כאשר פונים לשגרת 105 או:505 - מעבירים פרמטרים לאוגרים שונים. כדי להקל
על התוכניתנים, הוגדר בטורבו פסקל טיפוס רשומה משתנה:
408 = 360150025
5 60762מד ל
;(0עסא : 1805ע ,₪5 ,5 ,דס 0 ,ם ,אכ ,א6 ,א ,אג) :
;(66עַם : את ,זכ ,08 ,תס ,מם ,(ם ,ג ,תםת) :
-
פרק 16: 8105, 05 ושפת אסף (צ,זםאמ55) 549
האוגרים את, אם, 6% ו-אפ הם אוגרים כלליים בגודל מלה, לכל אוגר כזה ניתן
לפנות כאל שני אוגרים בני 8 סיביות, או כאל אוגר אחד בגודל 16 סיביות.
האוגרים אּם, אּם, 68 ו-8פ מייצגים את הבתים הגבוהים באוגרים והאוגרים ;1ת,
עם, 6 ו-52 מייצגים את הבתים הנמוכים באותם אוגרים.
האוגרים עם, 1 ו-₪1 הם אוגר מצביע הבסיס (662ת1סק 6פַ8ס) אינדקס המקור
(א12668 6סמגו0ס5) ואינדקס היעד (א66ם1 ת8%10ת40561), אוגר עפ מכיל את ההיסט
הנוכחי של קטע המחסנית. 51 ו-1 מכילים היסט של גורמים בקטע הנתונים.
למשל: כאשר מעתיקים מחרוזת מכתובת ג לכתובת 5 - 81 מכיל את ההיסט של בת
ו-51 מכיל את ההיסט של אפ. תוכן האוגרים עם, 51 ו-1כ יעניין אותך רק אם
היישומים שאתה כותב נשענים בתווקה על הוראות שפת אסף (011ת556ת).
אוגר הדגלים (ע20015%66 51845) מכיל 16 סיביות, שכל אתת מהן מצביעה על
תוצאה של פעולה אריתמטית או לוגיתי.,
בדרך כלל מעבירים האוגרים הכלליים פרמטרים בין התוכנית ובין שירות 05כ
וה-2105. את הצלחת השירות בודקים לרוב על ידי התבוננות באוגר הדגלים.
| באוגרים אלה משתמשים לעיתים קרובות ולכן נתאר אותם בהרתבה.
האוגרים הכלליים
האוגרים הכלליים הם "סוסי העבודה" של ה-20ס. ניתן להשתמש בהם לאחסון
נתונים באופן זמני, כדי להגדיל את מהירות העיבוד, הוגדרו תכונות יחודיות
לכל אחד מאוגרים אלה. |
אוגר 2% (עס18%טחגוסס8) משמש בעיקר לצבירה, באמצעותו ניתן לייעל את
הפעולות החשבוניות. אוגר זה מכיל גם את פונקציית שירותי ה-205 או ה-8105
שמבקשים לבצע.
אוגר הבטיס א8 (356כ) הוא האוגר הכללי היחיד היכול לשמש מצביע לזיכרון.
הכתובות שבו משמשות לביצוע פעולות זיכרון מהירות.
אוגר 6% (סתטסס) מכיל את מניין הלולאות של הפעולות המחזוריות, לפעמים
שומרים באוגר זה גם את מספר השורה והעמודה במסץן.
550 תלק ג? תכנות מתקדם שה וה
אוגר הנתונים אפ (68%8) משמש בדרך כלל לשמירת נתונים, אוגר אפ מכיל בדרך
כלל את הנתונים עצמם, בניגוד לאוגר 5% המצביע על נתונים הנמצאים במקום
אחר. ּ
טבלה 16.1 מסכמת את התפקידים העיקריים של האוגרים הכלליים.
טבלה 16.1.
תפקידי האוגרים הכלליים
פעולה 0 > 0 אגר
0 ,666 ,ע1קוטות סי
631 ,1405146 ,1/62 ,617166 ,117ו1טוגת 316
6 ,ע1101טוגת 6זע₪
0ת23010655 2163 1913 306 ם81310הגייד
5 201 ,10025 ,0267401005 8תגעז5
50166 30 101406 0 5 |
1/0 )1801266 ,1166 ,עזק1ז!גוגת אזסשי
-כו יו
אוגר הדגלים
אוגר הדגלים מכיל 16 סיביות המפקחות על מצבים שונים של המעבד או משקפות
אותם, תרשים 16.1 מתאר את תפקיד 16 הסיביות של האוגר, הסיביות משקפות
תוצאה של פעולה, ובדרך כלל אין משמעות לערך שהיה בהן לפני כן.
משמעות הסיביות היא:
= העברת (צעע8ס), דגל ההעברה דולק כאשר פעולת חיבור או חיסור של
מספרים בני 16 טיביות יצרה "מספר זכור" שיש להעביר הלאה.
= ₪ זוגיות (ע16מאָס). דגל. הזוגיות דולק כאשר כתוצאה מפעולה מסוימת מספר
הסיביות הדולקות (1) בבית הנמוך הוא זוגי,. בדגל אה משתמשים בעיקר
בתוכניות לתקשורת נתונים. 2%
טבלה 1 תוכנו' של אוגר הדגלים >
0 וו 15-47
ו
צְווזהק
ץְזז08 עץזפו!ואטה :
, 290
חףופ
ספזד
6סח זקטזזסות!
ח0)ספזום
שס!זזצס
עוחס 80286/80386 >
(198 ח0ו801)סזש 0/
5% 88161
דגל העברה נוסף (צצ8ס ץ11181אטה). דגל ההעברה הנוסף דולק כאשר
- פעולת חיבור או תיסור .יצרה בארבע הסיביות הנמוכות "מספר זכור" שיש
לי הלאה, בדגל אה משתמשים בעיקר בתשבון בינרי 0
אפס (60ע), דגל האפס דולק כאשר תוצאת פעולה היא אפס.
סימן (ת519). דגל הסימן זהה לסיבית הגבוהה של תוצאת. פעולה מסוימת.
' (0 = מספר תיובי ו-1 = מספר שלילי), דגל זה שימושי רק כאשר מבצעים
פעולות חשבוניות במספרים מסומנים.
.מלכודת (6:8), כאשר דגל המלכודת דולק, המעבד עוצר בין פעולה לפעולה.
בדגל זה משתמשים המנפים. כאשר. " הם מבקשים לעצור אתרי בל הוראה
שבתוכנית,
אפשר פסק (8016ת6 0 כאשר דגל אפשר פסק - ניתן לבצע את
| שירותי .5 וה-3105 (פעולות פסק) באשר הדגל אינו דולק, אי אפשר לבצע "
פעולות אלה.
2 חלק ג" תכנות מתקדם
א כיוון (םת60%10ש41), כאשר דגל הכיוון דולק, פעולות המתרוזת מתבצעות
מלמעלה כלפי מטה (מהכתובות הגבוהות לנמוכות). כאשר הדגל כבו,
הפעולות מתבצעות כלפי מעלה (מהכתובות הנמוכות לגבוהות).
₪ גלישה (אס1+מסטס), דגל הגלישה דולק כאשר תוצאה של פעולה חשבונית
גולשת מממדי פועל היעד.
= דגל הגנת הקלט/פלט (18081 םס660%1סעק 1/0) ודגל המשימה המקוננת
(85%+ 68%668ם) משמשים לתכנות של פונקציות המערכת, שאינן מתוארות בספר
זה.
טבלה 16,2 מכילה רשימה של קבועים מוגדרים מראש שבאמצעותם ניתן לבדוק את
מצב הדגלים, למשל: כדי לבדוק אם דגל הזוגיות במשתנה בשם 2685 דולק - עליך
לשאול אם 2005,21308 ו-ע16מהפע שונה מאפס.
טבלה 16.2 ערכי הסיביות באוגר הדגלים
ערך קבוע
220001 0
4" גי
2000 ץז11אטוי
00" 0
000 |
000 לשכ
קריאה לשירותי ה-105
שירותי ה-2105 מופעלים באמצעות הפרוצדורה ע6מ1:
( 3001560628 : 3605 עאט ,66צכ : סאסמתע )ע6ת1
סאסת: הוא מספר השירות של ה-05דַם, ו-5665 הוא: פרמטר משתנה מטיפוטס
5 |
2 | פרק 16: 5108, 005 ושפת אסף (צמַמא8פפת) 553
לפרוצדורות ולפונקציות של טורבו פסקל יש שמות,. והן מופעלות כאשר נוקבים
בשמן, שירותי ה -8108, לעומת זאת, מזוהים על ידי מספרים, תיאורטית: ניתן
להגדיר 256 שירותי 5 (0 עד 255) אך למעשה רוב המקומות פנויים, ומספר.
שירותי ה -8105 השימושיים לתכנות בפסקל אינו עולה על 10.
את פעולות" ה-8108 נהוג לכנות שירותים -- יי לבל. שירות יש מספר. כל
מספר כזה מכיל -אוסף שגרות הנקראות פונקציות, בדומה ליחידת טורבו פסקל
המכילה .עשרות פרוצדורות ופונקציות, לדוגמא: "כדי להעביר את הסמן ממקום?.
למקום, : יש לכלול בתוכנית טורבו פסקל את ההוראה 02% 68פט ולהפעיל את"
צאס6ס6, כדי לבצע אותה פעולה באמצעות שירותי ה-8105, יש להפעיל את שירות
0 ואת הפונקציה %02. (השירותים והפונקציות .יפורטו בהמשן). מספר .
הפונקציה חייב להימצא באוגר את לפני הער הפרוצדורה ע6חד, |
קריאה לשירותי |
שירותי ₪05 מופעלים באמצעות הפרוצדורה 8
( 69150005 לטסא עפט )500
85 הוא פרמטר משתנה מטיפוס 015608
הדמיון בין התחביר של ש6מד. והתחביר של ספ אינו מקרי. גם לשירותי 05
פונים באמצעות מספר, אולם למעשה קיים רק שירות ₪08 אחד - שירות 1 : - שבו
ניתן להשתמש בטורבו פסקל. שירותי ₪05 משתמשים בשטחים הפנויים של שירותי
ה-5105 לאחסון מידע בזיכרון ה-6, ולמעשה. ניתן לחשוב על שירות:₪05 מספר
5 כעל שירות 8105 בעל מספר זהה, ו ההוראה:
( 8 ,%21 )6 ד
> זהה ל=-. - ו
4 ן . 59 בשי
שירות 8 מספר 21 מביל. עשרות פונקציות. לפני שמפעילים. את הפרוצדורה
05 יש להציב. את מספר הפונקציה בַאוגר ּת.
4 חלק ג': תכנות מתקדם /-
הערה: מספריהּם של שירותי 05 וה-₪105
שגרות ה-8105 פותתו על ידי יצרני החומרה, והן מאותחסנות ב-אס8.
בעת התיחול (9ם61ססס), מוצבות כתובותיהם של שירותי ה-8105
| במערך מיוחד, הכולל. 6 איברים, הנקרא טבלת וקטור הפסק
(%8216 עס6ססט 6סגו2ת66ת1), כאשר התוכנית פונה לאחד משירותי
ה-105ם, טורבו פסקל מאתר את הכתובת המתאימה בווקטור הפסק,
ומבצע את ההוראות שבכתובת זו.
שירותי 205 מאוחסנים על גבי הדיסק, ונטענים. לזיכרון בעת
התיחול, גם הכתובות של שירותי 205 נמצאות בטבלת וקטור הפסק.
אם תבין כיצד וקטור הפסק פועל (ראה פרק 8), תבין למעשה כיצד
פועלת מערכת ההפעלה.
גישה לשירותי ה-8105
קיימים עשרה שירותי 105 השימושיים לתכנות בטורבו פסקל. רשימת מספרי
השירותים והפונקציות (בהקס,) נמצאת בטבלה 16.3:
טבלה 16.3 שירותי ה-8105 במתשבים תואמי 18%
קטגוריה | פסק מספר פונקציה = = תיאור
הדפסת מסך 5 /20 -- > הדפס תוכו מסך
וידאו 10 00 קבע תצורת וידאו
01 קבע גודל סמן
2 <- קבע מקום סמן
3 . קרא מקום וגודל של סמן
4 = קרא מקום עט אור
65 בחר דף תצוגה פעיל (תצורת
טקסט)
066 גלגל חלון כלפי מעלה
07 | גלגל חלון כבלפי מטה
8 קרא תו ותכונה במקום הסמן
המשך הטבלה בדף הבא
המשך טבלה 3 | שירותי ה -8108. במחשבים. תואמי א
קטגוריה | | פסק מספר / | פונקצ וג
9. הפיש "כתוב תו ותבונה. במקום .
0 הסמן
08
.8
0
פס
05
3-
רשימת ציוד ,| 11 00 - 627
גודל. זיכרון > ₪
דיסק -*-*.-/-/-/
06
יי
| תיאור /
כתוב תו
קבע טבלת צבעים
כתוב נקודה.
.| קרא נקודה
0/0 לט תווי טלטייפ
- קרא מצב וידאו |"
כתוב מחרוות (צת ו -0
| בלבד).
זהה לתצורת. חומרת ה-20 >
קבע. גודל זיכרון פנימי | 7
"> אפס כונן
קרא מצב תקליטון
<> קרא קטעים בדיסק ,
כתוב קטעים בדיסק '
אמת קטעים +
= ארגן (02185ס5) מסילה .
< | בתקליטון
= (שת בלבד) החזר פרמטרים
> של כונן תורן | 0
|( בלבד) העבר. ערבים .
| ראשוניים לטבלת' הדיסק .
. הקשית
(צית בלבד) קרא קטעים.
ארוכים.
(עג בלבד) כתוב קטעים.
ארוכים. 2
(עת. בלבד). חפש צילינדר. |
(עג בלבד) אפס דיסק . חלופי
ד 0) המשד הטבלה בדף ! הבא
0 תלק ג" תכנות מתקדם
המשך טבלה 16.3 שירותי ה-8105 במתחשבים תואמי 189%
קטגוריה פסק מספר פונקציה תיאור .
15 (2ג בלבד) קרא סוג דיסק
16 (ג בלבד) שנה מצב דיסק
7 (ג בלבד) קבע סוג דיסק =
תקשורת 4 | 00 תחתל נקודת תיבור סדרתית
1 שלח תו לנקודת חיבור
22 קרא תו מנקודת תיבור
33 קרא מצב נקודת תיבור
קלט/פלט בקלטת 15 00 הפעל מנוע קלטת
01 כבה מנוע קלטת
2 קרא גוש של 256 בתים
מהקלטת
03 כתוב גוש של 256 בתים
לקלטת
תמיכה מורתבת - 15 020 פתח התקן
ב-7ת/26 | 1 סגור התקן
| | 2 סיום תוכנית התקן
3 המתן לאירוע
4 תמיכה במוטות היגוי
(56105צ20)
55 לחיצה על 60065%6ע 55
66 המתן
7 העבר גוש מלים
08 קרא גודל זיכרון מורחב
09. עבור לזיכרון וירטואלי
00 לולאת התקן לֶא פנוי
1 הדלק דגל וסיים פסק
מקלדת 16 00 החזר התו הבא מהמקלדת
01 בדוק אם תו ממתין
המשך הטבלה בדף הבא
/. פרק 16: 05דַם, 205 ושפת אסף (צעמאמפפת) 557
המשך טבלה 3 שירותי ה-8105 במחשבים תואמי 189%
קטגוריה 5 מספר פונקציה תיאור
3 | התזר מצב הזתה (1%%6ם5)
מדפסת - 17 00 הדפס תו
01 תיחול מדפסת
2 קרא מצב מדפסת
זמן תו - 00 קרא מצב שעון
מ[ . הצב ערך בשעון
02 קרא ומן אמת (22 בלבד)
033 הצב ערך בשעון ומן אמת
(עג' בלבד) :
4 קרא תאריך משעון ומן אמת
(1ג בלבד) |
55 הצב תאריך בשעון זמן אמת
(עג בלבד):
= 06 קבע "שעון מעורר"
(עג בלבד)
07 חדש "שעון מעורר" :
ּ = (ג בלבד)
הדפסת מסך (פסק 8%05)
כאשר לוחצים על 1%6ם5 יחד עם 22656 מעבירים את תוכנו הנוכחי של המסך
(למעשה התווים שבזכרון הווידאו) אל המדפסת.
שגרת התוכנה המפקחתת על תהליך זה נמצאת בשירות 8105 מספר 5, תוכנית 205אד
שבתדפיס 16,1 מתארת כיצד ניתן להדפיס מסך מתוך תוכנית טורבו פסקל. במקרה
זה אין אופציות, ולכן אין צורך לציין את מספר הפונקציה, אולם, כיוון שיש
לשמור על בללי התתביר.: ' של הפרוצדורה ע%6ם1 יש לכלול פרמטר דמה עבור רשומת
-4 יו
8 חלק ג" תכנות מתקדם |
תדפיס 16.1
; 1505 תבטפסין
; סע ו
| ת60ע%50ת1ינק סינגוססססיז
ינפש
; 8ע1506שסת : בפשסת
תנשסס
(( בשסת ,5 )עפתך
; 68
ת1נפסס
, 65000ת1ע
0 -
שירותי וידאו (פסק %10)
שירותי הווידאו של ה-8105 משרתים את יתידת 02% ו-105ת6280, הפרוצדורות
עפ 1), צאסססס, שטססתגח ורוב שגרות הצבע, הרזולוציה ותאורת המסך מסתמכות
על שירותים אלה.
רוב פונקציות שירותי הווידאו של ה-5105 משולבות בצורה נותה בשגרות
הסטנדרטיות של טורבו פסקל, השגרות שאינן נתמכות על ידי טורבו פסקל (למשל
שימוש בעט אור) אינן שגרות חשובות במיוחד.
הפרוצדורה 962ע01 ביתידת 02% מהווה למעשה שילוב של פעולת מחיקה של המסך
והצבת הסמן במקום חדש, תוכנית 2108א1 שבתדפיס 16.2 מראה כיצד ניתן להפריד
בין שתי הפעולות.
תדפיס 16.2
; 11%100 תפעססנס
,05 ,02% פספט
לפטי
עסקסלת1 : 1
; מ856002060 6ינגו60ססעכן
ינפש
(8ע20018%6 : פשסת
תנשסם
תנשסס 00 פשפת בלש
(6 =: זג
;2 =: 01
[ עסונסס 6תפת-161% עסמכנו 02 שסת )
תדפיס 16.2 ממשיך בדף הבא
.| פרק 16: 8108, 008 ושפת אסף (צ'ממאפפפת).. 559.
המשך תדפיס 2 6
0/0 / > וע סינסס התפת-161% עססקט +0 -- / :
/ ו
) | זסתיזסס 6תפת- 10% מס%6סם 02 אסת ] | 12 =: את
= ( שסתנסס 6תה(-2102% 0650 09 מחנבס 0 ). = ;80-1 =; עס >
0 [ :11208 ת19ט 10 66עט 061006 + -0נל 0/0
0% - דכ. ; ( .05 ,0 )תד >
. = ו
יג
ות 7
/ יפ |
מ סט 1שסץ : פשסת /
' תגשסס
הגפס 0 פפסת ₪15 |
: = 41 ּ
| סג | ₪ =: אה
( אסת | 6 =: את 7
[ תוו001 ] = מם
0 ; ( 3068 ,910 )עסת1
י ;68 |
7 ;ת.
תנשסט
%/-/-/ 01505
600 800 50 1 =: 1 עס+
,3 161
; ( 5 ,40 )605009
; ( 1000 0עָ1ס .
בב > -- / 3 | 8000008 5
[ 10090100 עספעטס 06 8% אם1עס6פה תה %טספט0 ] | ;( '*' )160עט
. / : זו . 0 1 / עקב 4 / 1 10 + ) עס .
פונס 0-5
; סי : 0
0
הפרוצדורה 88080206 מוחקת, את תוכן המסך אך אינה משנה את מקום הסמן.
כאשר מפעילים את התוכנית, מתמלא. חציו העליון של המסך. בספרות. והסמן מוצב
| באמצע המסך. "שים" לב הסמן. > איגו זז "כאשר: המסך. נמחק. הפרוצדורה -
0/0 שספנגוסְמְנססת 1 מציבה, בסופו של דבר, את תסמך בפינה השמאלית העליונה. .
0 פונקציה שימושית אחרת בשירותי הוידאו של ה- -₪105 היא פונקציה מספר 01 אשר :
| קובעת את גודל הסמ
כזכור, במסך 0 מונוכרום , - תווי. . הטקסט הם' בגובה 14 נקודות; ואילר ברירת
המחדל של תווי טקסט ב-ת06 היא בגובה .8 נקודות. בדרך כלל הסמן הוא קו תתתל:
/ המשתמש בשתי שורות התווים: התחתונות. בעזרת פונקציה 01 ניתן לשנות את 1 הסמן
ן ולשנות. את מקום | השורה העליונה והתחתונה של הסמ
560 חלק ג"? תכנות מתקדם :
כדי להפעיל פונקציה זו, יש להעביר את מספרי השורות העליונות והתתתונות של
הסמן לאוגרים 08 ו-02, המספרים אינם גבוהים, ולכן ארבע הסיביות התחתונות
של כל אוגר יכולות להכיל את הערכים, כאשר מדליקים את הסיבית השישית של
אוגר 6₪, הסמן נעלם לתלוטין, תוכנית 1108א1 (תדפיס 16,3) עושה זאת:
תדפיס 16.3
16108 תפיפסינס
,%6ע0 08פגו
( 056 : סתזפת1סקס+5 , סת1 1שַת5%8151 )6קץ1נספנגו56%0 6ינגו60ססיכן
ינפ
(00187078ע : פשסת .
תנפסס .
תנשסס 40 פפסת מסנש
;1 =: 11
| 6ז1,1שת5+8%1 =: 01
6ת11פת1קקס5% =: .0
;( השס ,810 )עפתך
-
1 -
תנפסס
01502
; ( 800 ,420 )06ע1:ספנג59%0
; 081
0
תוכנית 2105א1 לכשעצמה, אינה תוכנית מעניינת, היא מוחקת את תוכן המסך
מעלימה את הסמן וממתינה ללתיצת ש66תש, ביישומים מסוימים ניתן לשפר את
התצוגה עם מחיקת 2 וכ זמני.
מוכן ! שיש לשמור על הגדרת הסמן, לפני ההעלמה, כדי שאפשר יהיה -- במועד
מאוחר יותר. פעולה זו מתוארת בתוכנית 106אד שבתדפיס 16.4+ .
תדפיס 16.4
; 186100 ותהיושסינכן
;0 ,02% 08פט
פטי
, 6הז1, [קת1 316
, 6תז1, זפת 5601
0 בוכצכ ו
| נהעסש 1 א15סעס0
;20ת50213עגת)00%, 6נגת)סססיז
תדפיס 16.4 ממשיך בדף הבא
פרק 16: 05דם, 205 ושפת אסף (צזמאטפפת) 561
המשך תדפיס 16.4 ,
יצפטי
(0218%6759ע : פשסת
ו תנפסס
; ת1שסס 60 משפת נש
( 8126 826 ת51%10ס0 תספתגוס 080 ] =: 1
] נסמוחגוות 6קָכן 1%גג6+9כ ] =: זם
] 0 ססרננס%ת1 2105 ] ;( בשסת ,910 )עשת1
] עספעטס ת1 6ת11 סס1 ) 1 =: 6ת11קת5+801
[ עספינגוס ת1 1106 מסספסם 1 2 =: סת1תנסקס+פ
] צ6סבמט + ;+ זת =: סיסבה
] אסינפבמו ] ;1 + םת = 1%סיסר
=
-
= תנקסס
[ %08% 102 ה81610ס2 101%181 ) | ;( 12 ,58 )005089
; 1320 ספינג00%0
, 01902
; ( 6ת11קת₪%051 ,' 1 18 עספעוס סמל 01 6ת11 ק0ס% 6ב1" )ת1%91יש
;( 6ת14שת1סק5%0 ,' :8% 18 עסמעטס 6ם% 0% 6ת11 מסס%סם 6ב1'" )ת1601יא
2 ; ת[1%6ימט
(('(' ,צ618עסם",' ,' ,618%ע%0 ,') :ת%10נ1פסק (צץ ,8)' )ת1%01עשט
; ת1-6901
. תס
הפלט של תוכנית 106א1 הוא:
6 8₪ 18 עספעטס 6ם6 05 116 קס6 6מ
87 18 עספעטס 66 +ס 116 מס66סס 6תק
(12 ,38) :פתס1%1פסס (צ ,א)
שים לב: פונקציה מספר 3 מחזירה את השורה העליונה והתחתונה של הסמן
באוגרים 08 ו-0, אוגר 58 מכיל את השורה שבה נמצא הסמן ואוגר 52 מכיל את
העמודה, הפעלת פונקציה 3 זהה למעשה להפעלת א6עסתח ו- צסקסמח.
רשימת הציוד (פסק 811)
שירות רשימת הציוד של ה-5105 מאפשר לברר מהו הציוד ההיקפי המותקן במתשב.
השירות מדוות על מספר המדפסות, נקודות החיבור הטוריות והתקליטונים ומודיע
גם אם יש במחשב מתאם למוטות היגוי ומעבד עזר מתימטי, מהי תצורת הווידאו
הבסיסית ומה גודל הזיכרון.
2 חלק ג" תכנות מתקדם
לשירות זה אין פונקציות, ולכן המערכת מתעלמת מהערך שבאוגר אּהג.
תוכנית ג111א1 שבתדפיס 16.5 מדוותת על תצורת ה-20 שעליו היא מופעלת.
המידע מוחזר לאוגר א8, ההערה שבגוף התוכנית מסבירה את משמעויות הסיביות
שבאוגר.
תדפיס 16.5 .
118 תפיוססינק
;09 698פג
ישי
300%
; ת00168 + 00850סי0
, רג ס0ינ0ת ינת
, לתגוס0 52016
, %תגו1840%%0020
506
%6עס : זז פס6עסא
,6 : 0118 סמותט ינגפט )28%68לתסק1גו 6ינגוסססנ
ת168ססת : 6 7817 ססות ינפ
;6 : - 60172526200208מתגח1 הנפי
;06עס : תו ינפש
; 96ע : הסנת ינפט
;%6עס : ססנ6ב0ו1 יהפטי
;( ת200108 : 00020068802408118216 עפש
5
02185028 : פססת
: ל
;( משסת ,911 )עסתך
|
:0018502 42 66 ת1 6פתנגוזסת 31%8
<%א, [ה <<5 11765 %%+
0 76545210
נתתתסטקק = 4%
גו חַ
68 פעססת1עק +0 עשטמצא | קסע
/ 6186 ,581100פת1 16 ע8080%0 פתפם 8 +14 1 06
6 פסעס 35-268 +04 עסמוגואן תתת
(67106 שתס = 0) 1 פגתגת 021009 6184-עק10+? 02 עסממטא | את
6 1660ט 114181 | טץ
שס1סס 25 א 40 = 01
שס1סס 25 א 88 = 10
סומסינםססתסות 25 א< 80 = 11
תדפיט 16.5 ממשיך בדף הבא
-
פרק 16: ה-8105, 08 ושפת אסף. (
המשך תדפיט 16.5
(648 = 8 ,488 = 2 ,828 = 1 ,168 = ) בעבסטסונוסת הס שת ב
5 2 6186 0 18 ע000980קסס .9% 8 1712 - 0
/-/- 0 6196 /%81160פת1 018%0%%6. 11 "1 1 .
07 הברס תנפסט 60 משסת מלנט
;6 עתפ (8020 תה ₪1 ):
61 = יתנ ינ 101 מותגוון
;810 = (810 6ת1.8) = 6 07811
- ;1 עגפ (905 תה 411) = 0152052068 6מותגואן
: - הג | תסמ ( 4 )068 18
- 15 +.(6 עמף (800 -] 2 = 0
%-/ / 0186
0 ₪3 וו |
: ;4 עמם (880 6ת8 .2) = <> 101%18101600006
-// = = (908. בת 7 = 06
| ;16 * (1 + (2 עמם (900 בת 2 0 = סו |
%- : ב יו /
וי
- ת1שסט
ו - ] לת 6000 תניע 7
. 000 ,500006 380460085 >
2 00000 ,]ות 1605 / 0-0
; (? ' סקס 55815 %תסמק1גו0ת" . )ת1061ימו
0 קה ההררההרהההרהה==הה5=, )01 יו
הך בשוב יקירו כו כ
;;( סעסססת8 ,' 9100167 %סכן .0800" )1001
;( %(000ע60ת1עק ,7 :תינק 01 עססתטו'. )ת1601י 7
> ;( 39202002000006 ,7 :%8עסק 35282 02 עסממטות' )ת1591יש'
; ( 6ת2ו018161%600 , *" ץע 1+ 0% שסמתג 3 )ת1901י 7
: ; ( 95010006 ,7 5 06:0ס₪ 1660ע 1 תד )יי |
(( יא ,את סקס ,' -- :6שהסמנסתצסה תס ]ת' )ת1401ימט .
| ;( ע0002000880. ,7 8081182167 ע006580עקס0/ )ימ |
/- 0 עגוען בורבת 0% יו -
הפרוצדורה ו אינת נוחה' לשימוש. קל. יותר. להפעיל את שירות ->
הציוד של ה-8105, כפי. שעושה. תוכנית פוו אד שבתדפיס 16.6. בתוכנית זה >
= הפונקציה -גו15%6%5000 מחזירה את מספר |כונני התקליטונים, והפונקציה >
2 מחזירה ערך בולאני המודיע אַם מותקן במתשב מעבד עור מתימטי. ,
4 תלק ג" תכנות מתקדם
תדפיט 16.6
; 16115 תהידקסיסן
; 205 08פגו
; 6לע : %6ת21846%%6000 תס1ססתגו1
3
(15%078שסת : פשסת
ונרפס
; ( משסת ,811 )עסתך
תנשסס 00 פפסת בל1ש
הסג ( 4 )088 +1
1 + (6 עםבם (800 הת .81)) =: 1546456006
6
: 1840566606
תס
4
ת300168 : 00020068802 תס%1סתגו1
עפש
;00150029 : פפסת
ת1שס
;( בשסת ,811 )עפתך
= (902 ת8 4. פססת) =: 0020009802
; תס
תנ1שסס
; ( | ףעסספת 55925 6תסמק1גוסע )ת1%91עש
(( ששבככבכפפבבכבכבבכבבכ-==' )ת21%61
; תת1>91יט
; ( %תט21880%%5600 ,' :021005 עסקס1+ +0 עסמחטא" )ת1061יעש
;( ע0007000880 ,7 | ?8081182186 ע0002000880' )ת1561עש
. תס
0
גודל הזיכרון (פסק %12)
שירות גודל הזיכרון של ה-5105 מודיע כמה גושי זיכרון רצופים של 1% בתים
מותקנים ב-6ת, אין לשירות זה פונקציות, ולכן המערכת מתעלמת מהערך ההתחלתי
של אוגר אג.
תוכנית 112א1 שבתדפיס 16,7 מגלה את כמות הזיכרון הפנימי של ה-26 שעליו
היא מופעלת.
פרק 16: ה-8108, 008 ושפת אסף (צנמאספפה) 565
תדפיס 16.7
1%12 תפיפסס
; 208 568
תס : 5126עעסחסו1 ת610סתגו1
2 נפץ
[8מ1850שסת : מקסת
תפס
;( מקסת ,912 )עסת1.
4% פשסת =: 126פקנסתסון
-
י תס
(' 18 20 שטסץ 02 עעסמסו 81ת0+ת1 6ב )ת1001יט
;( 508.7ע0 א' ,5120עסמסן ן
.תס
ב-י'ת 0ע מחזירה פונקציה %88 של שירות ה-₪105 מספר %15
באוגר א את כמות הזיכרון המורחב, ביחידות של א1 בתים.
שירותי הדיסק (פסק 813)
שירותי הדיסק של ה-2105 מכיל אוסף פונקציות להעברת נתונים בין ה- 020 |
והדיסק. |
פונקציות אלה חשובות ואין לבצע אותן ישירות, טעות בפונקציה כזו עלולה
לגרום לאובדן נתונים. '
שירותי התקשורת (פסק 814)
שירותי התקשורת של ה-21058 מכילים פונקציות המאפשרות ל-26 להעביר נתונים
בתקשורת סדרתית, זוהי התוכנה התומכת במודם ובנקודות התיבור 0041 ו-60812.
שירותי התמיכה בקלטת וב-צת/0פ (פסק 915)
שירות ה-8105 מספר 5 מכיל שגרות התומכות בקלט/ פלט של קלטות, פונקציות
אלה תחסרות ערך לרוב התוכניתנים, ודגמי מחשבים חדשים כבר אינם כוללים
אותן. |
566 תכנות מתקדם
חלק :ג':
שירות מספר %15 משמש גם לתמיכה מיוחדת ב -ג. פרטים נוספים אודות שירות זה
תוכל למצוא בספרות הטכנית של ה-ז'ת/6פ.
--
שירותי מקלדת (פסק 816)
בעזרת שירות? לה של ה-5105 מנהלים את הקלט מהמסוף, פונקציה 00 מתזירה
את התו הראשון שבאזור האחסון של הקלט, פונקציה 01 מתזירה את התו הבא, אך
אינה מסירה אותו מאזור האחסון. פונקציה 3 מעתיקה לאוגר תת את בית מצב
2 = המקלדת שב -30017 +:0.
פונקציה 1 דומה" במידה מסוימת ל א של טורבו פסקל, לתיצה
על קליד מאפסת את דגל האפס, וערך ה-25011 של הקליד מוחזר ב-ממ5. קוד
החיפוש מותזר ב- -את. 6 השימוש ה + או מודגם בתוכנית 6 שבתדפיס
8
תדפיס 16.8 ב
; 11516 ותפיושסינ
;08 65פגו
עפש >
;סעם : 1
;שת1ע8% : 5
;זהמס : 01 |
;96ע : ב , 50820006
,9001082 : 1310501303 1061
עפט.
(28ע18%0שסת : פקסת
: התנשסס
;801 =: 1 בססת
7 י ;( פשסת ,816 )עסת1
- .7 = 72020 סת8 113₪5. טפט =: עפסתז0 יר
-
; ( 56ע0 : 6ג(ג250110066781 , 6גוג50820000791 ינפט ב סינגו0סססינ
: 2/7 [ שפט =
נ8ע15%50קסת : משסת >
תנשסט :
1 = : 11 . בשסת
;( בשסת ,416 )קפסת
תנשסט תסמ+ 0 = 0ע26? התה 5קַ13ת. בקסת 11
1. פשסת =: סגו0006/91ת5082
. פשסת =: 6גו791 0110006
תנקסס 6186 6ת0
5082000816
6גו8.1 2450110066
תדפיס 16.8 ממשיך בדף הבא ו
הי -
ו 1
2
0
פרק 16: ה-8105, 205 ושפת אסף ( מאפפפג) 567.
- המשך תדפיס 16.8 =
| ת1שסס
] ל 0+ שתג91%/] )| ;60 ע09180%0:(980 6סת 116בש - -
; ( 480110006 ,50820066 ) 0002 אסא
; ( ם0 )080
ּ 7 מש 6 - 1 )ת1%61עש
(( 450110068 ,' :0008 25011 ' ,006ס0ת508 ,' :0066 ת508' )ת[1%0עשט
. תס
תוכנית 116א1 מפעילה את פונקיצה 01 פעמיים, בפעם הראשונה היא ממתינה
ללחיצה על קליד, ובפעם השניה היא בודקת איה קליד נלתץ, שים לב:
הפרוצדורה :6018280%66א6א יכולה לזהות את הקליד לפני הקריאה.
שירותי מדפסת (פסק 7
שירותי המדפסת של ה-3105 מאפשרים לטורבו פסקל להתקשר עםו המדפסות המחוברות
ל-6פ,
לשירותי המדפסת יש שלוש פונקציות: פונקציה .00. מדפיסה תו אחד.. פונקציה 01
מבצעת תיחול למדפסת, ופונקציה 02 בודקת אם המדפסת קיימת, בעורת פונקציה
זו ניתן למנוע תקלות. הנובעות: ממצבים שבהם המדפסת אינה - מקוונת. תוכנית
7 שבתדפיס 9 מדגימה את אופן הבדיקה.
'תדפיט 16.9
10617 ותפ8ששסע <<
' ;208 68פט
.ת000168 : ( 56עס : עספתנעת ) ש86סת60ת1ינע תס1שסתגו
8 (8ע1800שס3 : בשפת >
י / תנשסס
4 " =: 1. פססת
[ 2-1018 ,151012 ,01211 )| (עססתגעת =: אס מקסת
;( בפסת ,917 )עסתך
5- ץע +1 168% | | תה (980 = 880 התה 11 פשסת) =: ששהסתעססתנזק
| 80160000 1% 108%.] | תה (810 = 910 תה 11. משסת) / 0
[ עסעע6 1/0 11 765% ] ; (800 = 808 הת 11 . בססת)
. ו ו 7
| תדפיס 16.9 ממשיך בדף הבא י7-
8 תלק ג תכנות מתקדם | |
המשך תדפיס 16.9
(ת300168 : ( 66ע0 : עפסתגעע )6600%0108007אננינע תסנ%סתגת
הפק
פע0218%0ת : פשסת
תנשסט
5 =: 1 בשסת
[ 18ק2-1 ,2זק1-1 ,0171 ]| ;עספמתגצלת =: את פססת
י ;( פשסת ,817 )עסחך
,0 = 620 תה 411. פשסת =: 66005010800ת1ינת
-
| הנשס
( 1711 אספת0 ] | תסב% ( 0 )עסבסתזס%תנלק +1
תנקסס
;( '6תג1תס 15 71ק1' )ת1601עש
תסמ+ ( 0 )050100002י661תגיזת +1
;( 'צססהק 01 %טס 1%''8 פטם...' )ת1%61יש
תס
08|
; ( 'ע080ע פסת עס6תנ1עק" )ת[160יש
0 . 6
מובן שבדיקת הנייר, :00ש66200%60528ת1עע, אינה מתקיימת כאשר הפונקציה
ושע מחזירה "לא אמת".
פונקציות המדפסת פשוטות, אך בדרך כלל אין מפעילים אותן באופן ישיר.
אהירות
תעשיית המדפסות אינה סטנדרטית, ולכן יתכן שפונקציה %02
של שירות %17 תתזיר במדפסות שונות ערכים שונים עבור
מצבים זהים. אם תוכנית 217א1 אינה פועלת כראוי במתשב
שלץך, עיין בספרות הטכנית של המדפסת שלך ותקן את התוכנית
בהתאם. -
שירותי השעה (פסק ג818)
שירותי השעה של ה-2105 משמשים בעיקר לטיפול בשעון ומן האמת של ה-ע'ת.
פרטים נוספים תוכל למצוא בספרות העזר של ה-21/ס6פ.
/ . פרק 16: ה-8105, 005 ושפת אסף (צתמאמפפת) 569
תקלות הנובעות משימוש בשירותי 5105 אחריסם
קיימים שירותי 5105 נוספים, שלא יתוארו בספר זה. אלה משרתים בעיקר
תוכניתני מערכות, ואין להניח שתזדקק להם,
אל תשתמש בפעולות פסק בלתי מוכרות, אולם, למקרה שתפעיל בטעות שירות כלשהו
(למשל כתוצאה משגיאת הקשה), נתאר את התוצאות האפשריות ונמליץ על אמצעי
זהירות.
כאשר כותבים תוכנית המשתמשת בפעולות פסק, כדאי לשמור לפני ההפעלה עותק של
התוכנית על גבי הדיסק, זוהי דרך פשוטה וקלה. לניהול מעקב, במקרה של תקלה.
ברוב המקרים שגיאת הקשה לא תגרום לתקלה חמורה, רוב המקומות בטבלת וקטור
הפסק אינם נמצאים בשימוש, פניה לשירות שאינו קיים תגרום ל"תקיעת" המערכת.
ממצב זה תוכל להשתחרר על ידי ביצוע תיחול מחודש., יתכן גם שתיאלץ לכבות את
המחשב ולהדליקו שנית.
שירות ה-5105 מספר 819 הוא תיחול "חם" - אירוע מעצבן אך בלתי מזיק. אם
תטעה ותקיש 19 (עשרוני) במקום 819 (הקס.) יופעל פסק מספר %13 - שירות
הדיסק של ה-105ם, עם תוסר מזל נוסף (ועל פי הערכים הנמצאים באוגרים),
עלולה פעולה כזו לגרום לנזק המחייב ביצוע אירגון (28%ס) לדיסק.
גישה לשירותי 05
כזאכור, מספרו של שירות ה-8105 הוא מספר של איבר במערך כתובות הנקרא טבלת
וקטור הפסק, גם מערכת ההפעלה (205) שומרת כתובות בטבלה זו, חברת אפך
שריינה לפעולות הפסק של 205 את האיברים %20 עד ע%3, אך למעשה נמצא בשימוש
רק חלק קטן מאיברים אלה, טבלה 16.4 מסכמת את פעולות הפסק הקיימות בשלב
זה.
0 חתלק ג':: תכנות מתקדם
טבלה 16.4 שירותי הפסק של 8-005ו!
פסק מספר. תיאור
0 00 ס"ם תוכנית
21 | פונקציות 005 > בלליות
22 " כתובת סיום שגרה:
5-3 כתובת טיפול ב-0621-6
4 כתובת מטפל השגיאות התמורות
5 >= קריאה מוחלטת מדיסק .
6 > כתיבה מוחלטת לדיסק >
7 סיים והשאר תוכנית תושבת
8 עד 28 עקיפת הדפסה
0 עד ש3 לא בשימוש אך שמור
מיד נפרט את השירותים ואת אופן הפעלתם.
שירותי 58
בווקטור הפסק קיימים, | בשלב. זה, תשעה שירותי פסק של 05ס,
פסק מספר 20 הוא השירות המקורי לסיום תוכנית, אולם החל ב -0 ,2 05 נהוג
= להשתמש במקומו בפונקציה %40 שבשירות %21.
שירותים מספר 822, %23 ו-%24 אינם שגרות 05כ רגילות ואִין להפעילם ישירות.
אלה הם "תאים" שבתוכם מערכת 205 שומרת כתובות, ב-%22 נמצאת כתובת השגרה
הבאה שתופעל אחרי סיום מוצלת של התוכנית הנוכתית, ב-%23 נמצאת כתובת
השגרה שתופעל על ידי 1-6ץ06, וב-%24 נמצאת כתובת השגרה שתופעל במקרה
שהתוכנית תסתיים בגלל שגיאת הרצה, באמצעות כתובות אלה יכולה מערכת 05
לקבל את הפיקות אחרי שהתוכנית מסתיימת.
פסק 5 ופסק 6 פונים לקטעים מסוימים בדיסק. תוכניות *ישום רגילות
9 משתמשות בהם. |
פסק %27 משרת תוכניות תושבות בזיכרון.
| פרק 16: ה-8105, 205 ושפת אסף (צמאספפג) 571
פסק - תומך בעיקר בשגרת 0% [+אזתת תחת א 3 5 פסק 4 יבול: גם לטפל
במ עורל עקיפה 0 אחרות.
השירותים שהוזכרו עד כה אינם מכילים *ותר מפונקציה אחת, יתר הפונקציות
של 005 (למעלה מ-80) נכללות בשירות העיקרי המופעל על ידי פסק 521. חלק
גדול מפונקציות אלה נכלל בפרוצדורות ₪505 של טורבו פסקל.
תיעוד מלא של שירותי 08 נמצא בספרות העזר של א18. טבלה 5 .16 מכילה את
רשימת כל השירותים והפונקציות של 008, הטבלה ממוינת על פי קטגוריות. טבלה
6 מכילה אותה .רשימה, כשהיא ממוינת לפי מספר הפסק. .
קטגוריה
קלט של תווים :
פלט של תווים
ניהול דיסק =
פסק מספר:
שירותי 05פ-5 ממוינים לפי קטגוריות :
פוּנקציה
.פלט של מחרוזת תווים *
אפס דיסק.
תיאור
קלט של תו עם הדהוד
קלט נוסף
קלט ממקלדת ללא הדהוד
קלט של תו ללא הדהוד
קלט למתיצה
בדוק אם תו ממתין
נקה אזור אתסון וקרא קלט
פלט של תו:
פלט נוסף .
פלט למדפסת..
קלט/ פלט ישיר של מסוף.
בחר כונן תורן
קרא כונן תורן
קרא נתוני ?תע של כונן
תור
קרא נתוני תע של כונן
מסוים
המשך הטבלה בדף הבא
2 חלק ג" תכנות מתקדם
קטגוריה
ניהול קבצים
ניהול מידע
המשך טבלה 16.5 שירותי 5-ו ממוינים לפי קטגוריות
פסק מספר
21
211
21
21
פונקציה
25
36
4
08
בל
10
1
12
13
16
17
./
23
תיאור
הדלק/ כבה דגל אימות
קרא שטת פנוי בדיסק
קרא מצב אימות
נקה אזור אחסון
פתחת קובץ עם 63ע
סגור קובץ עם 68ע
מצא קובץ ראשון
מצא קובץ הבא
מחק קובץ
יצירת קובץ עם 8סע
שנה שם קובצ
הגדר כתובת תי'כ
קרא גודל קובצ
קרא כתובת עס
יצירת קובצ
פתת קובצ
סגור קוב
מחק קובצ
קרא/ הגדר תכונות קובצ
העתק מנהל קובצ
כפה העתקת מנהל קובצ
מצא קובץ ראשון
מצא קובץ הבא
שנה שם קובצ
קרא/ הגדר תאריך/ שעה לקובצ
יצירת קובץ זמני
יצירת קובץ חדש
נעל/ פתת גישה לקובצ
קריאה סדרתית
כתיבה סדרתית
המשך הטבלה בדף הבא
, פרק 16: ה-31085, 208 ושפת אסף (עז155) 3
המשך טבלה 16.5 שירותי 45-05 ממויניס לפי קטגוריות
קטגוריה פסק מספר פונקציה תיאור
21 28 הדלק/ כבה דגל אימות
21 21 קריאה אקראית
21 22 כתיבה אקראית
21 24 קבע רשומה אקראית
21 27 קריאת גוש אקראי
21 28 כתיבת גוש אקראי
21 1 קריאת קובץ או התקן
21 20 כתיבת קובץ או התקן
21 2 הזו מצביע קובץ
5 קריאה מוחלטת מדיסק
26 כתיבה מוחלטת לדיסק
ניהול ספריות 21 59 יצירת ספריה
21 ה3 ביטול ספריה
21 338 שנה ספריה תורנית
21 217 קרא ספריה תורנית
ניהול עיבוד 21 00 סיים תוכנית
21 3 סיים והישאר תושב
21 28 טען ובצע תוכנית .
21 20 = סיים עיבוד והתזר קוד
21 סג קרא קוד של תהליך משנה
21 9 קרא קוד שגיאה מורחב
20 סיים תוכנית
27 סיים והישאר תושב
ניהול זיכרון 21 88 הקצה גוש זיכרון
21 19| שחרר גוש זיכרון
21 ה4 שנה גודל גוש זיכרון
שונות 21 25 נתת שם קובץ
ניהול מערכת 21 26 יצירת 252 חדש
המשך הטבלה בדף הבא
4 חלק ג" תכנות מתקדם וו ו
המשך טבלה 16.5 שירותי 05פ-45 ממוינים לפי קטגוריות
קטגוריה פסק מספר פונקציה = תיאור
21 29 הגדר שם קובצ
21 2 קרא תאריך מערכת
21 23 הדלק/ כבה דגל אימות
1 . 28 שנה תאריך מערכת
< 20 קרא זמן מערכת
1 . 20 שנה זמן מערכת |
1 10 קרא מספר מהדורת 05
0 | 33 > קרא/קבע 6%621-8268%
1 | - 355 קרא וקטור פסק
21 8 קרא/ הגדר מדינה.
21 144 פיקות על קלט/פלט מהתקן
פ." 55 קרא שם רשת/ מדפסת
21 5 קרא/הגדר רשימת הקצאות
21 2 קרא כתובת עפע
21 65 קרא קוד מדינה מורחב
+ 2 6 קרא/הגדר דף קוד
21 07 שנה: מניין מנהלים
22 - כתובת שגרת סיום
23 : כתובת מנהל 6%621-6
24 כתובת מנהל שגיאות חמורות
טבלה 16.6 שירותי 45-05 לפי טסדר מספרי
פסק מספר > פונקציה תיאור
20 סיים תוכנית
2 -00 סיים תוכנית
21 01 קלט של תו עם הדהוד
21 2 פלט של תו
21 3 קלט נוסף
21 4 פלט נוסף
21 55 פלט למדפסת
21 66 קלט/פלט ישיר של מסוף
המשך הטבלה בדף הבא
פרק 16: ה-05ד8, 05 ושפת. אסף (צ,זמאש5פה) 575
המשך טבלה 16.6 שירותי 5-ו לפי סדר מספרי
פסק מספר - פונקציה. . = תיאור
ןפ | 07 קלט ממקלדת ללא הדהוד
210 | 08 קלט של תו ללא הדהוד
21 09 פלט של מחרוזת תווים :
1 < 08 . קלט למתיצה
21 . 008" בדוק אם תו ממתין
21 הי נקה אזור אחסון וקרא קלט
210 ּ פ0 אפס דיסק
1. | 08 בחר כונן תורן
1 . 0 פתח קובץ עם סע
1 9" 10 סגור קובץ עם 65ע
21 1 מצא. קובץ ראשון .
| 1200000 0 מצא קוב הבא ||
1 35-34 מחק קוב
1 14000000 קריאה סדרתית
וי 7 | כתיבה סדרתית >
21 16 *צירת קובץ עם מ6ע
1 -: 17 שנה שם קוב - -
1 0000 - 9 - קרא כונן תורן
2 ./ הגדר כתובת תי'ס
0 8 . קרא נתוני עתע של כונן.
= תורן :
1 - : 10 קרא נתוני תע של כונן
7 ל מסוים
21 1 קריאה אקראית
1 . - 22 3 כתיבה אקראית
21 ּ 23 קרא גודל קובץ
1 .> 24 קבע רשומה אקראית
21 / 25 נתח שם קובץ
0 6. | יצירת פפע חדש
1 > | = 27 > קריאת גוש אקראי
1 מ כתיבת גוש אקראי
1 ל < 9 הגדר שם קוב
המשך הטבלה בדף הבא
6 תלק ג" תכנות מתקדם
המשך טבלה 16.6 שירותי 05פ-5 לפי טדר מספרי
פסק מספר פונקציה תיאור
21 ת2 קרא תאריך מערכת
21 28 שנה תאריך מערכת
21 206 קרא זמן מערכת
21 20 שנה זמן מערכת
21 28 הדלק/ כבה דגל אימות
21 27 קרא כתובת 5*'כ
21 20 קרא מספר מהדורת 05
21 3 סיים והישאר תושב
211 33 קרא/קבע 608%ע6%21-82
21 55 קרא וקטור פסק
21 6 ' קרא שטח פנוי בדיסק
21 38 קרא/ הגדר מדינה
21 139 יצירת ספריה
21 ת3 ביטול ספריה
21 38 שנה ספריה תורנית
21 | 36 יצירת קובץ
21 פ3 פתת קוב
21 38 סגור קובץ
21 עב קריאת קובץ או התקן
21 20 כתיבת קובץ או התקן
21 211 מחק קוב
21 12 הזז מצביע קוב
21 33[ קרא/ הגדר תכונות קוב .
21 44 פיקות על קלט/ פלט מהתקן
21 15 העתק מנהל קוב
21 46 כפה העתקת מנהל קובץ
21 217 קרא ספריה תורנית
21 8[ הקצה גוש זיכרון
21 19| שחרר גוש זיכרון
21 ג4 שנה גודל גוש זיכרון
21 28 טען ובצע תוכנית
המשך הטבלה בדף הבא
פרק 16: ה-8105, 05 ושפת אסף (צתמאמפפת) 577
המשך טבלה 16.6 שירותי 45-05 לפי סדר מספרי
פסק מספר פונקציה תיאור
21 210 = סיים עיבוד והחזר קוד
21 | סג קרא קוד של תהליך משנה
21 מג מצא קובץ ראשון
21 ע4 -%- מצא קוב הבא
21 4 קרא מצב אימות
21 566 שנה שם קובץ
21 7 קרא/ הגדר תאריך/ שעה לקובצ
21 39" > קרא קוד שגיאה מורחב
21 ה5 יצירת קובץ זמני
21 58 יצירת קובץ חדש
21 50 נעל/ פתח גישה לקובצ
21 55 קרא שם רשת/ מדפסת
21 עפ קרא/הגדר רשימת הקצאות
21 2 . ורא כתובת עפע
21 55 קרא קוד מדינה מורחב
21 6 קרא/הגזר דף קוד
21 07 שנה מניין מנהלים
21 08 נקה אזור אחסון
22 כתובת שגרת סיום
23 כתובת מנהל 6%21-6
4 . כתובת מנהל שגיאות חמורות
25 קריאה מוחלטת מדיסק
6 כתיבה מוחלטת לדיסק
27 סיים והישאר תושב
שימוש בשירותי ₪08
בטורבו פסקל קיימות למעלה מ-200 פרוצדורות ופונקציות מוגדרות מראש - מספר
זה עולה במידה ניכרת על 80 הפונקציות של 5סס.
רשימת פונקציות 205 שבטבלה 16.5 דומה לראשי הפרקים של ספריית הפונקציות
של טורבו פסקל. מהדרים ותוכניות. נשענים בסופו של דבר על שירותי 05,
ופונקציות 505 רבות משוכתבות בשגרות של טורבו פסקל.
8 תלסק ג" תכנות מתקדם -.
כאשר חברת 6מ5:18ספ הציגה את טורבו פסקל לראשונה, היוותה הפרוצדורה פסספא
חלק בלתי נפרד מכל יישום חשוב, כיום משתמשים בפרוצדורה זו מעט מאוד,
בעיקר במקרים שבהם יש חשיבות מיותדת למהירות העיבוד.
קריאה לשירותי 05פ מתוך טורבו פסקל
כללי השימוש ב-8008 זהים לכללי השימוש ב-:6ת1, מספר הפונקציה מוצב באוגר
הת לפני ההפעלה. הפרמטרים מוצבים באוגרים המתאימים, והתוצאות (אם יש)
מוחזרות באוגרים, מיד נדגים את אופן השימוש ב-8005ו,
תוכנית 9 121א1 שבתדפיס 16.10 מדגימה את אופן השימוש בפונקציה 09 של
שירות ₪08 מספר 821. פונקציה 09 מציגה מחרוות של תווים החל במקום הסמן.
פונקציה 09 יכולה לטפל רק ברצף מטיפוס עַהּת6, שהתו האתרון שלו הוא בסימן
5
תדפיס 16.10.
; 9 11521 התפיססיוסם
;208 8608
|
, נשתנת5% : 5
;( שתנע55 : שת201801879%21 שפט )שת5%1אסת5 6יגוססססינ
י יצפט
(9ע18%00ש0ת : פססת
תנשסס
9 =: 1). מססת
; ( ₪ת1ע218018/90 )902 =: 25 פשסת
;1 + ( שת1על9ע218018 )025 =: את פשסת
; ( טשסת )פסספון
; תס
תנפסס
נ'פ' + '!16עסש ,10110' =: 5
; ( 5 )שתנעלפאסתפ
. 8
עיון בפרוצדורה שַמ1ע6פשסב5 מראה לנו ש-55 ו-א5 מכילים את כתובת הקטע.
וההיסט של התו הראשון במחרוזת, הפרוצדורה שַם1ע5%6שסם5 מוסיפה 1 להיסט של
15018958 כדי לעקוף את הבית המכיל את הגודל, התצורה של 9 221א1 אינה
כוללת את הסימן %.
הפרוצדורה 06%628%6 שבתוכנית 25 121א1 (בתדפיס 16.11) מבצעת פעולה זהה
לפונקציה %2, כאשר מפעילים את %2 - אפ מכיל את החודש, תפ את היום ו-6%
את השנה. ,7"
פרק 16: ה-108, 05 ושפת אסף (צתמאמפפת) 579.
תדפיס 16.11 |
4 %21ת1 תהשפסצס
; 205 68פגו
= 1068718 6עגו0סססמ
: -00 שט
(8ע30018%0 : פשסת
' תנפסס
:844 =: 1. פססת
; ( בשסת )פסספוא
תגשסס 40 פשסת בלוש
;( 7 :8866 6תסעעגו)'. )2166 |
;( '0' )2106 תסמף 10 > צם 11
: ; ( '/' ,הת )156 >
(( '0' )156עש תסמל 10 > כת 11
- = ; ( 1900 - א0 ,'/' ,תע )ת1%61יש
ו ;פת 7.
= ;תס
תגפסס
; 18 סיד
.0
| תוכנית 121-30א1 שבתדפיס 16.12 מחקה את הפונקציה מס1פמ6טפסס,
תדפיס 16.12
50 -1%21 תפידשסס
,205 68פט
1 סיזגו60ססי
עפט 7
5509 1שסת : פשסת
ו תגשסט >
=: 1 פססת
: 3 3 ) פסספון
;( 41 בשסת ,'.' ,20 משסת ,' עס 05 שו וסונ )יו
ְ : שש לש ל | תס
תנשסס |
ל | ; ת27761810 %1ת106
- / - / יז ה - ד י . תס
תוכנית 6 21א1: משתמשת בפונקציה 0 כדל לשלוף ידע אודות. תכונותיר של
דיסק מסוים.
00 חלק ג'? > תכנות מתקדם | |
תדפיס 16.13
56 111021 ותהידססיזן
;208 68פגו
; ( 66ע0 : 221080066 )0090806-'21327 סינגו6סססינס
: ישפטי
| 500 בשסת 1 פססת
, '5%01גג01י990%025001
, 6011230178 901 ך 8.3
, 05207560%02ע
, 5+610010:170גו01
, 08801
; 1%שתסי1 : סש
תונפס
6 =: 1. פקסת
; 1700000עם := חת. פפסת
; ( משסת ) פסספון
[ (עעאת8) 1- = 28 ,60066ט1ז2 088 12 ) - ,4% בשסת =: ע50פגג500%090001
את. פשסת =: 5ת560ג0ו1181601 הט
פפסת =: 96500500%01ע
;את פס =: | 5000:1076י5%01גו01
01008507 69 8ע560%0' )ת1%01י
01 278118216" )ת[00 ביט
ע500%0 262 פספעם" -)ת101י
ג 0602 5ע0טפגג701 | )ת601גימט
ע2800ו500602800101 =: 0808014
0פגו[560%02300 =: סאפע
; ( 10:ע500גו9860%02900201 ,7.
( ; 25%628:10ג(ו 0811821601 ,'
0 10 -6300500%0+ע ,*
;(- 0109%079500702106:10 ,'
; 76 0113501300 * 500%02ע0506>ע₪
; 0082019006 * 8ע%0בגו821601 7811
04 א > *
3 0 ," = 030" )ת1%61יש
0 870 |, = 6 )ת491גיט
; תס
תנפסס
; ( 0 )136090806ק
. תס
שפת אסף (ע.זא558ה) בטורבו פסקל
קיים: אמצעי נוטף לניצול מלוא כוחו של ה-26 - תכנות בשפת אסף (עזַא259).
יש להתייחס לפעולה זו כאל אמצעי חירום, שנוקטים אותו בלית ברירה,
"9 פרק 16: ה-5108, 205 ושפת אסף (ע,זמאמפפת) 581
שימוש בשפת אסף 55 ה) | בפרוצדורה 6
כדי לשלב, באופן ישיר, קטע בשפת אסף (5590011) | בתוכנית טורבו פסקל,
משתמשים בפרוצדורה 6מ11ת1, הפרוצדורה קולטת מספר פרמטרים כלשהו, כל פרמטר
| מתאים לערך הקסדצימלי המייצג תוצאה של פעולה בשפת אסף - כלומר קוד מכונה
של ה-8086. "מיד נדגים את אופן. השימוש ב-6ם11תד.
תוכנית 5 שבתדפיס 1 השתמשה בפרוצדורה ע6מד כדי לבצע את שירות
הדפסת: המסך של ה=: -8105, ניתן לקבל תוצאה זהה באמצעות הפרוצדורה 6מ11ם1:
/ת0:600פ6ת כ 6עגו60סס
תנשסס
6ת:1מד.
0
7 -- |
התווים ההקסדצימליים 5620 ו 4 הם הוראות המכונה. של ה -8086 % המפעילות את
פסק 5. :
מצב מורכב יותר נוצר כאשר: יש להחזיר ערך שהתקבל כתוצאה מביצוע פרוצדורה
או פונקציה, תוכנית 112א1 שבתדפיס 16,7 השתמשה בפרוצדורה ע6מד כדי לבדוק
את גודל הזיכרון (בגושים של א1), כדי להפעיל פסק זה על ידי פונקציה בשפת
אסף יש להשתמש ב:
1600617 3 8156עסהסון ו
// . | | 6מ11תד
[ 0106ע56 טע 105 ; י ם12 סת1) = /800/412):
[ (א1% א) 51206 מעטססת ; 3% +סכ] צסח ) %89/%46/%04
במקרה זה נשלתו ל-620 חמש הוראות -מכונה הקסדצימליות. הוראות המקור =
- המקבילות להוראות המכונה מופיעות בסוגריים. אוגר עפ מביל את היסט העבודה
הנוכתי של קטע המחסנית, כ ההוראה | |
| א4[8+ספ] טסת
מעתיקה את תוכן אוגר את (תוצאת הפניה ל- 8 לראש המחסנית. פעולה 1
מתבצעת אוטומטית על ידי טורבו פסקל.
12 חלק ג': תכנות מת קדם . 4 |
בדוגמאות אלה ניתן לראות שפעולות טורבו פסקל פשוטות, והופכות לפעולות
+ מורכבות כאשר מנסים לכתוב אותן בשפת מכונה, הכותב צריך לפרק את הוראת
טורבו פסקל להוראות בשפת אסף (עַ8א2555) ולתרגם הוראות אלה להוראות בשפת
מכונה, כתיבה בשפת אסף היא נושא מורכב ורחב, ולא. נתייחס אליו בספר זה."
דרכים אחרות לשילוב שפת אסף (צםאמ255)
בהוראת 16 משתמשים כדי לשלב בתוכנית מספר שורות בשפת אסף.
ניתן גם לשלב בתוכנית טורבו פסקל, בעת ההידור, תוכניות שלמות ועצמאיות
בשפת אסף (פעולת קישור - אםג1). לשם כך יש להפוך את תוכנית שפת האסף
לקובץ יעד (082,) קובץ זה מקושר לתוכנית טורבו פסקל באמצעות הוראת המהדר
(.%1), לאתחר שמכריזים על התוכניות התיצוניות באמצעות המלה השמורה 81ת-6%0
ניתן להשתמש בהן כמו בשגרות רגילות של טורבו פסקל.
מתי להשתמש בשפת אסף
טורבו פסקל מעמיד לרשותך את הפרוצדורות ע6ם1 ו-5סספא ואת המערכים >צספ,
חססק, ,| אתסא ו-תתסא, ולכן קיימת למעשה הצדקה אחת בלבד לשימוש בשפת =
אסף - המהירות, רק בשטת זה יש לשפת אסף יתרון (לעיתים קרובות יתרון מזערי.
בלבד) על טורבו פסקל.
ברוב' המקרים שפת טורבו פסקל חזקה ומהירה מספיק כדי לטפל היטב בכל יישומי
התכנות.
| פרק 16: ה-5105, 005 ושפת אסף (צמַמאספפ9ת) 583
סיכום
בפרק זה למדת לפנות לשירותי 58 וה -108 של המחשב וראית כיצד ניתן לשלב
בתוכניות קטעים בשפת אסף.
למדת שהפניה. לשירותי ה-8105 ו-205 דומה לפניה לפרוצדורה רגילה של טורבו
פסקל, הפניה לשירותי ה-3105 מתבצעת על ידי הפרוצדורה %2מ1 והפניה לשירותי
5 מתבצעת באמצעות הפרוצדורה 5008א, הפרק תיאר את השגרות השימושיות
ביותר של שירותי 205 ושירותי ה-105.
ראית שכללי השימוש ב-:6>ת1 זהים לכללי השימוש ב-5005א, מספר הפונקציה מוצב
באוגר את לפני הפעלת הפרוצדורה, העברת הפרמטרים והתוצאות מתבצעת בעזרת
האוגרים.
למדת לשלב בתוכניות הוראות בשפת אסף, בעזרת הפרוצדורה 6מ11ת1, פרוצדורה
זו קולטת מספר פרמטרים כלשהו וכל פרמטר מהווה הוראה בשפת מכונה. ראית כי
תהליך התרגום מהוראת טורבו פסקל לשפת אסף ולשפת מכונה הוא תהליך מייגע
הדורש מיומנות, ולמדת שבדרך כלל אין בכך יתרונות משמעותיים,
למדת לשלב בתוכניות קבצי יעד חיצוניים בעזרת הוראת המהדר (%), אחרי
שמכריוים על תוכנית תיצונית (הנמצאת בתצורת קובץ יעד) בתוכנית טורבו
פסקל, באמצעות המלה השמורה 81מע56א6 - ניתן להשתמש בה כמו בפונקציה או
בפרוצדורה רגילה.
פרק 17: ה-8087 והתקנים תיצוניים | 585
7 (7
ה-8087 והתקנים חיצוניים
זמן רב לפני שהמחשב האישי הראשון הופיע בשוק, גיבשה חברת 18% מפרט טכני
המתבסס על פילוסופיית העיצוב הנקראת "ארכיטקטורה פתוחה", חברת 188 האמינה
שמידע מדויק אודות אופן פעולתו של המוצר החדש יסייע לה לעצב, לפתת ולשווק
את ה-26 ומוצרים הנשענים עליו. המהדורות הראשונות של הספרות הטכנית כללו
אפילו תדפיסים של תוכנת ה-108.
הארכיטקטורה הפתוחה היא אתחת הסיבות התשובות להצלחה שנחל ה-6פ, בזכותה
יכלו היצרנים לפתת במהירות תוכנה וציוד היקפי באיכות גבוהה ובמתירים
סבירים, ה-6ע :כול כיום לתמוך בציוד היקפי מגוון: מודמים, תוןויינים,
מדפסות לייזר, דיסקים שונים ורשתות תקשורת מקומיות. ה-26 מתחבר לרובוטים
בקווי *יצור, לציוד מעבדה, למתוללי קוות (תסנ628%בת06 ב50660) ואמצעי
זיהוי.
לאור מצב זה, נשאלות שתי שאלות: כיצד הצליתו המוצרים להתאים עצמם ל-26
וכיצד יכול ה-6ע להתמודד עם המוצרים הללו?
והתשובה - הארכיטקטורה הפנימית של המחשב ומערכת ההפעלה מצפות לצורך לתמוך
ביחידות ציוד יתודיות הנקראות התקנים (08106), כל ציוד העומד בהגדרות של
התקן יכול ליצור ממשק עם ה-6פ.
בפרק זה תראה כיצד טורבו פסקל פונה להתקנים השונים באמצעות נקודות תיבור
ותוכנה מיוחדת.
6 חלק ג" תכנות מתקדם
פניה לנקודות חיבור
%סע ו-א6עסע הם שני מערכים מוגדרים מראש של טורבו פסקל, באמצעותם ניתן
לפנות לנקודות התיבור לקלט ולפלט, קריאה או כתיבה במערכים אלה כמוה
כביצוע פעולת קלט/ פלט בנקודות החיבור עצמן.
נקודת חיבור (סנסס) היא ערוץ שבאמצעותו ה-020 מתקשר עם הציוד ההיקפי
(כולל דיסקים קשיתים וכרטיטים). כל נקודת תיבור מוגדרת על ידי ערך בן
16 סיביות הנקרא כתובת נקודת החיבור, פניה לנקודות החיבור יוצרת את הקשר
עם התקני החומרה התיצוניים,
העברת נתוניסם
כאשר בצידה השמאלי של הוראת השמה מופיעה המלה 6:ספ או אפצספ, המהדר מניח
. שאתה מבקש להעביר נתונים אל נקודת חיבור מסוימת. בכל מקרה אחר, המהדר
מניח שאתה מבקש לקרוא נתונים מנקודת החיבור, האינדקס של 6:סע ו-א6עסע הוא
כתובת נקודת התיבור.
| תוכנית אפ1אט שבתדפיס 17.1 משתמשת במערך 6עסכפ כדי להעביר הוראה אל כרטיס
המתאם (צבע או מונוכרום) ו"להסתיר" את תוכן המסן. הערך שבקבוע מס1סס
הוא "אמת" או "לא אמת" בהתאם לסוג המתאם - צבע או מונוכרום.
תדפיט 17.1
; 51 791 ותהיססיכן
,02% 08פגו
% וס
6גר11 = 00102
ונפש
;הס : 0
תנשסס
[ 6666566566 5 15% תנשסט תסמף ע0010 +14
[* | 50200 6ב% 2188216 - *) ;5 =: [ 9508 ]%עסק
[* 8 עפא 0+ 091% | *) | ,260008800 611תט 688סס
[* | 802000 626 שעסמפסת | *) ;א =: [ 9528 |פעסק
[ <<***<* אסאס %%+15%%% תנשסס 6136 636
[* | 50000 6מ% 88216גם | <) 2 =: [ 8588 ]סעסק
[*- 02088 0( ע0ס+ 7915 | *) (053066ע40 611תט 00085
[* | ת00עסם 6ם% סעס%פסת | <) ,9 =: [ 8888 ]סעסק
( 63635855:%2566: 636 :353-3333633 33 א ;תס
*( 1207ג 008206ע0/ :0168 *) ע90%0סת =: תס
| 6:65656 :3333036333 0 בתס
ייוו ...וו
פרק 17: ה-8087 והתקנים חיצוניים 7
תוכנית 158₪את7 מסתירה את תוכן המסך, עד אשר לותצים על קליד כלשהו, פעולת
ההסתרה אינה מתיקה, התוכן אינו מוצג, אולם זכרון הווידאו אינו משתנה.
כאשר פעולת ההסתרה מתבטלת,. תוכן המסך מתגלה.
פעולה ההסתרה שימושית ביישומים רבים. למשל: יישומים גרפיים רבים נוהגים
להסתיר את תוכן המסך בעת שרטוט, ביטול ההסתרה מגלה את השרטוט המלא.
הסכנה בפניה לנקודות חיבור
אל "תשחק" בנקודות חיבור, יש נקודות חיבור הגורמות לביצוע פעולות שונות
גם בעת הקריאה (ולא רק בזמןן הכתיבה), תוכנית 20821 שבתדפיס 17.2 פונה
לנקודת חיבור מספר 839 המפקחת על צבע הרקע בתצורת טקסט, התוכנית יכולה
לשנות את צבע הרקע, למרות שהיא רק קוראת מנקודות התיבור, |
תדפיט 17.2
; 001 יפסנ
תנשסס
( [ 4009 ]%עסק )ת19601ישט
. 0
גם בנקודות חיבור אחרות קיימות תופעות לוואי, שימוש בלתי זהיר בנקודות
החיבור עלול לגרום לאובדן נתונים. בספרות הטכנית של ה-6ע א18 תוכל למצוא
רשימה מלאה של נקודות התיבור, ההתקנים שהן משרתות והערכים המותזרים.
כיצד להתגבר על תופעת השלג במסך?
כאשר כותבים ישירות לזכרון הווידאו של מתאם צבע 068, עלול להיווצר "שלג"
על המסך, ה"שלג" נוצר בגלל התחרות שבין שתי הוראות פלט למסך - במקרה זה,
בין האותות הרגילים של המסך ובין הכתיבה הישירה לזיכרון.
התצוגה שעל המסך מתחדשת 60 פעמים בשניה. מסך מונוכרום נסרק על ידי קרן
אתת העוברת. משמאל לימין ומלמעלה למטה וקובעת את תוכנה של כל נקודה, במסך
צבע קיימות שלוש קרניים - קרן לכל אחד מצבעי היסוד.
כאשר הקרן מגיעה לקצה הימני של השורה, המערכת מכבה אותה, זמנית, עד לסיום
8 חלק ג" תכנות מתקדם 9 |
המעבר לשורה הבאה, כאשר הקרן מגיעה לקצה הימני של השורה התחתונה, פעולתה
מופסקת, עד שהיא חוזרת לפינה השמאלית העליונה, תקופות ההמתנה שבהן הקרן
איננה פועלת נקראות "תזרה אופקית" ו"תזרה אנכית", הכתיבה הישירה לזכרון
הווידאו בומן התזרות אינה מתנגשת עם תהליך העדכון הרגיל של המסך, ותופעת
השלג אינה קיימת.
בדי לוחות. מצב של חזרה, יש לפנות לנקודת חיבור מספר תכ%3. אם סיבית 0
= דולקת - המסך נמצא במצב של חזרה אופקית, אם סיבית 3 דולקת - המסך נמצא
במצב של חזרה אנכית, בבדיקה תמידית של נקודת החיבור ובדיקת תוכן הסיביות
ת לדעת מתי אפשר להתחיל בכתיבה ישירה לזכרון הווידאו.
תוכנית סאפסא שבתדפיס 17,3 כותבת בזכרון הווידאו מתרוזות של התווים.
התו ככתב רק לאחר השלמת הסריקה, בזמן ביצוע תזרה אופקית.
תדפיס 17.3
; 0501 ותהיוססיוק
יי
ּ ;98800 = 7166050000%5
[ (8 21%) 76201081 = 8 ,(0 21%) 681תס2נעסת = 1 | 12 = את[
עפש
, . ;6 : תסנגטנפסק
;( 8ת1ע8% : 0888₪0 עס : שסת ,תעו001 )71100766 סעגו60ססמן
צפט
;6 : 1
;עס : 024+86%
תנשסס
; (מזע001 * 2) + (שסת * 160) =: 092868
ת₪1סס 60 ( 1059826 )1000 ס% 1 =: 1 ש0ס+
[ 01086 11סתט 081% | ,0 (%ת218 = אתה1ת תה [ 900 ]6עסק) 16וג
[ 80% 1נסועו 091% ] | ;60 (את18ם <> את018 התה [ ב450 |6עסק) 16נתש
;| [ 1 ]009880 )6עס =: [ 022805 : 7166050005 ]תסו
;(/2 ,02186% )סת1
: הי
;תס >
הנש
0 20 50 5 =: ת1%10פסע ע10
(( '!10עסא ,10110' (ת081%10ע ,(051510סק ) פפקנ סוס ג בק
- , : . תת
0% פרק 17: ה-8087 והתקנים. חיצוניים 589 .
הפרוצדורה 110%627:66ע כותבת תו אתד בתתילת תקופת התזרה האופקית.
ההוראה:
;0 (%ת818 = אתו ב [ 838 ]+:סק) 16נת
משהה את ביצועי התוכנית עד סיום תקופת החזרה האופקית (כלומר. עד שסיבית 0
מתאפסת).
ואילו ההוראה:
0 1.. > 7 המה [ א ] 6
ממתינה לתחילת. תקופת החזרה האופקית ו הכאה /.- סיבית 0 דולקת).
תקופת התזרהּ האופקית נמשכת 18.5.- מיקרושניות בלבד, ומן המספיק בקושי
לכתיבת תו אחד, בגלל קוצר הזמן, קורה שטכניקה זו עובדת: בהצלחה רק כאשר .
ההוראות נכתבו בשפת אסף (צ1מַת86פ), תקופת החזרה האנכית ארוכה יותר (1500
מיקרושניות) - ולכן ניתן לנצלה לכתיבת מספר תווים. כדי לבצע זאת יש לשנות
את הקבוע א%מהּןת ל-8. 5
הפרוצדורה 7110692266 שבתוכנית 2אסאפסא (תדפיס 4 .,7) ממתינה לתחילת
התזרה האנכית וכותבת את כל המחרוות..
| תדפיס 17.4
; ששסתנפסא התהידססיזן
0%
: ;8800 = %(0מ71360500
[ (8 24%) 06%1081 = 8 ,(0 21%) 1ב5ת120עסת = 1 ]| .8 = א%תּנ
| ו לפטי
: : : : (%6ע0 : ת1010פסע
- ;( שתנעסם : 0898₪0) ;העסש : שסת ,תהט001 בנ 6ינגוסססיזכן 0
- 14
; סש : 0128066
| תנשסס
ו * 2) + (שסת * 160) =: 041806
[ 01082 11ףתט 041% ]8 ;80 (ַתנֶת = את818 בת8 [ 980 ]6עסק) 116ת
] 6% 11פתט + ] > ;60 (אתפנ <> את018 ת3 [ 9500 ]%עסק) 116 .
- ה 0 ) שאר 1 50 1 =: 1 ש0? .
ו תדפיס 14 ממשיך בדף הבא
0 חתלק ג': תכנות מתקדם | |
המשך תדפיט 17.4
;( [ 1 ]0098800 )6עס =: [ 014305 : %ת6ת71660592 |תסוא
; ( 2 ,0+4986% )סת1
; תס
תס
תנססס
סט 20 סט 5 =: ת1%10פסק ע0ס+
;|( '!18עסט ,16110 ,ת081%10ק (תסנטנפסק )260תסאסונת
. תס
אם גם שיטה זו אינה מצליחה לסלק את השלג, ניתן לנסות תחבולה אחרת:
1, השתמש בטכניקות של וסאפסא ו-2אסאפסא ו 3 ו-17.4) כדי להמתין
לתחילת תקופת חזרה.
2 הסתר את כל המסך (כמו בתוכנית אפנאגט שבתדפיס 17.1),
3 בצע את כל פעולות הכתיבה הישירה לזיכרון.
4. המתן לתקופת חזרה.
5. הצג את המסך שנית.
לאחר שתצבור מעט ניסיון, תוכל לעדכן את תוכן המסך במהירות מבלי שייווצר
כל שלג.
שימוש בהתקנים
עבור מערכת 05כ, כל דבר הנמצא מחוץ לזיכרון הוא התקן (106ש88), בהתקנים
נמנים: כוננים, מקלדות, מודמים ומדפסות. גם השעון הפנימי המותקן בחלק
מהמחשבים נחשב התקן, דיסקים אופטיים, כרטיסי תקשורת ותוויינים גרפיים הם
התקנים, התקן אינו רק אבזר חומרה המחובר למחשב פישית, דיסק אגת (כלומר
שימוש בתלק מהזיכרון הפנימי כדי לתקות כונן), המוגדר בתצורת המחשב, נחשב
להתקן, קיימים שני סוגי התקנים: התקני גוש (21068) והתקני תו (ע8:80%6ם0), '
דיסק הוא התקן גוש, וכל ההתקנים האחרים הם התקני תו. דיסקים, קבצים
וספריות תוארו בפרק 13 ובפרק 4. בפרק זה תלמד לפתת תוכניות טורבו פסקל
הפונות להתקני תו המותקנים במתשב. |
באמצעות ההוראת? ב כ יבה -
פרק 17: ה-8087. והתקנים חיצוניים | 591.
| התקני 8
| בדרך -בלל, כאשר' משתמשים ב -008, פונים להתקנים המחוברים ל -6 באמצעות שמות |
הרחבה שמורים של קבצים.. רשימת השמות נמצאת ב 1171:
טבלה 1 |
ו 6 התקני 005
כו שם 070 -- 8 - תיאור "
אטת 7 ?תה ל-1אסס, נקודת התקשורת' הא-סינכרונית הראשונה, "
יו - והה ל-אט8, נקודת התקשורת הא- -סינכרונית הראשונה. 0
6042 = נקודת התקשורת הא-סינכרונית השניה. =
608 עבור קלט-- א00 היא המקלדת, =
9 עבור פלט:- א60 הוא מסך. תי / |
וע = %הה ל-אתפת. נקודת .החיבור המקבילית . הראשונה למדפסת..
2 = נקודת התיבור: המקבילית השניה: למדפסת. 2
3עעע .0" נקודת התיבור המקבילית השלישית למדפסת. :
אתפת | זהה ל-1עיפן. נקודת התיבור המקבילית הראשונה למדפסת,
שמות > התקני 05 והפקודות הקשורות. אליהם מוכרים לך בוודאי.. למשכ: 0 0
לשנות את ההגדרה של 80: טורי הדפסה במדפסת המערכת (1ק1) ל -133 טורים, יש.
ו בפקודת 5 ב
12 :יד 0
כדי להדפיס. קובץ. טקסט, ניתך לנתב את התצוגה מהצג' |--] למדפסת (אתת)
- ה 58 מאפשרת גם 0 בהתקן דמה (תטא), שאינו מופיע בטבלה ודו
" בהתקן זה משתמשים לעיתים רתוקות בלבד, כאשר לא מעוניינים משום מה להשתמש.
בהתקן א אמיתי. -אם למשל 2 אצווה 0 בלשהו מכיל את ההוראה: =
אתק ;יזא מדדעידאט יי
0 מעוניץ להדפיט את הקובץ, חוכל נ למחוק את השורה או לשנותה לי
מטא כיזיזכיף כית... | שפצ
אתק לדאע דענמ מעצד ב
2 חלק ג תכנות מתקדם
מנהלי התקנים של 08סם
לכל התקן פיזי דרושה מערכת הוראות יחודית, אולם באמצעות מערכת 05סכ ניתן
לפנות לכל ההתקנים באותו אופן.
מערכת ההפעלה כוללת תוכנת פיקות נפרדת לכל התקן המחובר ל-6ע, תוכנה זו
נקראת מנהל התקנים (עפט021 106ש00) והיא מהווה ממשק בין 05כ ובין הציוד
ההיקפי, מנהל ההתקנים מכיל הוראות בשפת מכונה המפעילות את החומרה עצמה,
ומאפשר ל-205 להעביר להתקן מספר הוראות בעלות מבנה קבוע.
כל מנהל התקנים נשמר בקובץ נפרד הנטען לזיכרון אחרי הפעלת המערכת ולפני
טעינת 60%.פאתאא60, מנהל ההתקנים מהווה אם כן חלק ממערכת ההפעלה, אך יכול
להיות קובץ נפרד.
מערכת ₪05 מספקת שירותי קלט/ פלט זהים לכל ההתקנים. טורבו פסקל פועל לפי
כללי 05, ולכן גם המהדר של טורבו פסקל מתקשר לכל ההתקנים בצורה שווה
ואינו מבדיל בין סוגי ההתקנים שאליהם הוא פונה.
התקנים בטורבו פסקל
אל התקני התווים ניתן להתייתס בצורה זהה בזכות הדרך שבה הם מעבירים
נתונים. כל ההתקנים מתקשרים עם ה-שעס על ידי העברת בית אתד בכל פעם.
הנתונים שבבית נמצאים בתצורת 25011, למשל, נניח שאתה מבקש לשלות למדפסת
את המספר %95₪5., המספר שיודפס הוא 39653, למרות ש-%8985 מאותסן בתצורה
בינרית.
כדי שתצוגה כזו תוכל להתבצע, המערכת הופכת את הערך הבינרי, שגודלו שני
בתים, ל-50 תווי 5011 המייצגים את הספרות 3,9,6,5,3 כלומר לבתים %33,
9, 836, 835 ו-%33.
כאשר משתמשים במודם לקליטת נתונים מקווי טלפון, משתמשים בפרוטוקול המקבצ
כל 9 סיביות לבית 250611 ולסיבית ביקורת זוגיות,. אם בדיקת הזוגיות מסתיימת
בהצלתחה, בית 5011 מהמודם מקבל תצורה בינרית המתאימה לצורכי ה-6פ.
ההעברה מתצורת 25011 לתצורה בינרית בעת התקשורת עם ההתקנים זהה להמרה
המתבצעת בעת עיבוד קבצי טקסט, ולמעשה קובץ הטקסט של טורבו פסקל הוא
.| פרק 17: ה-8087 והת קנים תיצוניים 993 .
מנגנון התקשורת. עם ההתקנים. פרוצדורות הפלט העיקריות להתקנים הן נש
ו ופרוצדורות הקלט הן 2680 ו-מ6801ת.
עבור טורבו פסקל מָל התקן תווים פיזי הוא קובץ טקסט.
שימוש בהתקנים כבקבצי טקסט .
בטורבו פסקל קיימים שמות קבצים מוגדרים מראש להתקנים הסטנדרטיים של פ5סס.
שמות ו זהים| לשמות 4 משתמשת מערכת 05 עצמה.
כדי 0 באחזד ההתקנים הללו יש לכר על קובץ טקסט, להקצות אותו
= (םת125914) לאחד משמות הקבצים שבטבלה 17.2 ולפתות אותו לקלט או לפלט
| באמצעות. 6% אן 166עחסת. |
טבלה 17.2 =
שמות קבצי ההתקנים של טורבו פסקל
שם 2000 | תיאור:
אטת = | זהה ל-0081. נקודת: התקשורת הא-סינכרונית הראשונה.
001 יזהה ל-אטת, נקודת התקשורת הא-סינכרונית הראשונה.
2) נקודת התקשורת הא-סינכרונית השניה.
אס מקלדת או מסך..
1 יק | זהה ל-אפע, נקודת התיבור המקבילית הראשונה למדפסת.
2 נקודת התיבור המקבילית השניה למדפסת.
:8 נקודת החיבור המקבילית השלישית למדפסת.
תטסא התקן דמה שאינו קיים. >
אפת . זהה ל-1,271, נקודת החיבור המקבילית הראשונה למדפסת.
אפק | קלט או פלט סטנדרטי.
לדוגמה, כדי לפתות קובץ אחד כמדפסת. וקובץ אחר כמקלדת, ניתן. להשתמש
בהוראות שבתוכנית 1 (תדפיס 17.5), לפני הפעלת התוכנית, ודא שהמדפסת
אכן פועלת.
94 חתלק ג" תכנות מתקדּם! .0070 7 | | |
"<> תדפיס 17.5 7
09 ותהינססינכן
צאט >
; ד 1 6 יצ
; נשַתנע5% : פ
תנשסס
> (( 'אתק' ,עססתנעת )19918 .
: -;( עספתנע )166יטסת
;( 'א700 ,5016פת00 )5510
: ;|( 016פת00 )6%פסת
| ב - חס קתנמסס 18 15מ / '; ( 5 ,0005016 )ת[090ע
(( '.ע6סתנעס 6ה% 60 שתנסם 15 1215" ,(עס%תנעק )ת1%01
;( 5 (עס%תגעק )ת1561יט
| , ע66ת1ם )01086 >
; ( 0008016 )01086 >
: - . 66 *
הערה: היחידה הסטנדרטית זססמוזק >
זכור, יחידת עס6ם1עע מכריזה על המשתנה 18% כעל קובץ טקסט, > '
מקשרת אותו להתקן אפע באמצעות הפרוצדורה 28814 ופותחת את
הקובץ לפלט באמצעות 6₪2166א, בתוכנית המכילה את ההכרזה
ע66ת1עע 68פג ניתן, על כן, להעביר פלט למדפסת בכתיבה
ישירה לקוב 186.
= בהתקן 60 ניתן להשתמש לקלט או לפלט. תוכנית 6₪2דשמס שבתדפיס 17.6 מדגימה
זאת. > :
תדפיס 17.6 | :
" ; 2601065 תתפידססיזן
, ינפש
;168% : ת600ע50 ,04201ססע6
נשַתנע5% : 5
% תנשסט
; ( 'א700 ,0ע8ססע6א )תשנבבת
;( 6עהססע6א )65בסת
;( 'א00' ,ת06ע50 )5910
; ( ת9026006 )06 ניטסת
; ( 5 ,008206ע6 )ת0801י
;( 5 ,502660 )ת1461יט
; ( סקא )01030
.;( ת60ע90 )01086
-
5
פרק 17: ה-8087 והתקנים תיצוניים:
פר0 למקרים. תריגים (למשל: אי אפשר. לקרוא. ממדפסת), מתנהגים התקני 5
> כקבצים. בטורבו. פסקל פונים להתקנים . באמצעות הפרוצדורות, = הפונקציות 2
והתחביר -המשמשים לפניה ו טקסט רגיל, ן ל
קלט ופלטי סטנדרטי -
| יחידת - מבילה שני קבצי טקטט מוגדרים. מראש. בשם לגועמ 7 ה |
ההכרזה עליהם" נמְצָאת בקובץ 0 עפצ | בתקליטוני כ טורבו 0 7"
1 ו-06ו0ק006 נקראים קבצי - לט סטנדרטיים, הם נפתתים. אוטומטית -
- ועומדים לרשות התוכנית. > שני הקבצים מקושרים להתקן אסס, קה | נפתת. על
ו 0% ₪ ה נפתח על ידי 6 | ל
כאשר פרוצדורת קריאה או כתיבה אינה בוללתת את' פרמטר הקובץ, המהדר מנית >
שאתה מתייחס ל-6טופמ1 או ל- וס 2 ,.
/ א 3 0 4 ה
| טורבו פסקל מטפל בבל" פניה: למקלדת או ו במו בפניה לקו טקסט.
ה ,
ניתן לפתות את" ותד - -%גוק00% בצורה יחודית על' ידי התייחסות לקו הדמה.
= בהוראת ההשמה. 0 ההוראות. שיפתתו את 066 ו טקסט בשם מ
חן "
3% 2 0 בת
6 25 לע 2 %גו5660 ו
+ כל הנתונים שיירשמו בקובץ 0 *שלתו ל- -5גופ6גו0, תוכנית תס שבפרק 0
(תדפיס 4 9 מדגימה את. *תרונותיה של טכניקה זו :
| מנחלו קבצן 908 .
כאשר מפעילים א את הפרוצדורות 6% ו או ו 6מססטת ה המהדר מעביר + -05 *.
= את שם הקובץ הפי שהוגדר בפרוצדורה ל לאחר שמערכת 8 פותחת קובצ,.
0 5 הז ו 5 יש א ---] ו
6 חתלק ג" תכנות מתקדם /
היא מחזירה מספר בן 16 סיביות הנקרא מנהל הקוב (018ְמהת 2116), מרגע זה
ואילך מערכת 505 מתייחסת אל הקובץ הפתות באמצעות מנהל הקובץ שלו (כאשר
הקובץ אינו פתות, מנהל הקובץ שלו הוא 1-), כאשר המהדר פונה לקובץ, עליו
ליצור קשר עם מערכת 005 באמצעות מנהל הקובץ ולא באמצעות שמו.
מנהלי הקבצים של 505 מתנהגים כמו משתנה לזיהוי קובץ בטורבו פסקל. התוכנית
יכולה להשתמש במזהה אחד כדי לפנות לכמה קבצים פיוּיים (לאתר שכל קובץ נסגר
ונפתת כראוי), באותו אופן יכולה מערכת 205 להשתמש במנהל קבצים אחד כדי
להתייחס למספר קבצים פיזיים. גם מערכת 205 תייבת לסגור ולפתות את הקוב
לפני שהיא יכולה להשתמש שנית באותו מנהל.
ברירת המחדל של 205 היא מספר מרבי של 8 מנהלי קבצים פתותים בו זמנית, בדי
לשנות את ברירת המחדל, יש לכלול את ההוראה:
תמת=5זדץ
בקובץ 8צ10,8א00, ב-3.0 858-508 ניתן להשתמש ב-255 מנהלי קבצים, בפרק 1
שבספר זה למדת שטורבו פסקל זקוק ל-20 קבצים (85=20,זדע).
טורבו פסקל פותח תמיד חמישה התקני תווים סטנדרטיים, טבלה 17.3 מכילה את
שמות ההתקנים ומנהלי הקבצים שלהם.
טבלה 17.3 קבצים סטנדרטיים
נפתת עבור שם התקן מנהל
א6 זטוקח! 500310 0
60% זוכ וס 5403106 1
א6 6 0085016:) 2
אז 0 ות 0 ) 5
אאע/וד וז זסזתנק 4
מערכת 205 מאפשרת לטורבו פסקל לפתות רק 15 קבצים בעת ובעונה אתחת. 15
הקבצים הם ההפרש בין 20 הקבצים המוגדרים ב-16,85עא00 ובין 5 הקבצים
שבטבלה שלעיל.
פרק 7 ה-8087 והתקנים תיצוניים 597
משתני קבצים עם הגדרת טיפוס ובלעדיה
כאשר תוכנית טורבו פסקל פותחת קוב, המהדר יוצר רשומה הכוללת את המידע
הנתוצ לניהול הקוב. למש כבאשר משתנה הזציהוי הוא צהץ11ק, תימצא רשומת
הנתונים של הקובצ בכתובת עה8טש6011 שבזיכרון.
לרשומת הנתונים שתי צורות, הרשומה המתארת קבצי טקסט שונה מהרשומה המתארת
קבצים עם הגדרת טיפוס ובלעדיה, הרשומה המתארת קבצי טקסט מורכבת יותר,.
ולכן נתייתחס אליה במועד מאותר יותר, רשומות הנתונים המתארות קבצים עם
הגדרת טיפוס ובלעדיה קצרות ופשוטות יותר, ולכן נתייתס אליהן תחילה.
לכל קובץ פתות, עם הגדרת טיפוס ובלעדיה, קשורה רשומת נתונים של 128 בתים
המוגדרת ביחידת 205 כ-116866ע, המבנה של 2116260 הוא:
6 = 116000ת
; סו 1 6 תמ
סעסש : 6
;עס :- 126פס36
;%6ע3 +0 [1..26]ע8ע80 :- 66הט1עק
(%6עם +0ס [1..16]ק8ע8 : 0868ע50
; 0 02 [79. .0 ]ע8עינה : 6ותגון
-
השדה 616ַת₪8 מכיל את מנהל הקובצ שהקצה 05כ, זכור: כאשר הערך הוא 1-
(ע29ע%) - הקובץ אינו פתות, השדה 86סא מכיל אחד מ-4 הערכים שבטבלה 17.4:
טבלה 17.4 הקבועים של 66סא
קבוע ערך הקס ערך עשרוני משמעות
4 %0780 6 קובץ סגור
6קםתד5 | [%075 7 קובץ טקסט פתות לקלט
00%? | 80752 88 קובץ טקסט פתות לפלט
100% | %0783 9 קובץ פתוח לקלט ולפלט
ספרות העזר של טורבו פסקל מתארת ערכים אלה כ"מספרי קסמים", שדה 6סא של
קבצים עם הגדרת טיפוט ובלעדיה יכול להיות 18610566 או 0%ו0מ1+, שדה 46סז1
של קובץ טקסט יכול להיות 20010866, %גוסת₪1? או 6גוּס6טסת+, כאשר השדה מכביל
ערכים אחרים, עדיין לא היתה התייחסות לקובץ.
8 - חלק ג': תכנות מתקדם
6 הוא. גודלו בבתים של כל גורם נתונים. בקובץ-
השדה 6 אינו נמצא כרגע בשימוט, אך פעולות עתידיות של המהדר בוודאי
יצטרכו אותו.
השדה 8 משמש לאחסון נ נתונים של המשתמש, תוכל לנצלו ו מצביעים
נוספים. אם תודקק ליותר מ-16. בתים,
השדה פא מכיל את שם הקובץ בתצורת 50112, כלומר, 6מהא אינו טיפוס
מחרוזת 2 טורבר פסקל, אלא רצף של תווי 1 המסתיים בתו 4 (80).
אופן השימוש ברשומת הנתונים מודגס בתוכנית 0 שבתדפיס 7 7 התוכנית
יוצרת קוב נתונים ל
תדפיט 17.7
. ₪ 7 - 2
- תפיסן
6מעץ
= 08+00020י
[ פספעמ 6+ | > ;1 :2
[ 605ע 2 + [ע0סשספת1 : ם
> [ 6סעס 1 | .6 : 6
/ 1 פססעס 9 + תס
יצפט
105900 +0 116+ : 7095647116
: 193630000; 05%02808י
,6 : 1
תנש
(( '11608%8.75%0/' ,710867116 )58102
;( 108%7116 )156עשסת
תנסשסס 60 16862868 מל1ש
1.0 4
;100 8ּ
100 06|
=
00 20 60 1 =: 1 ע0ס+
;( 108%208%8 ,10850116 )156עט
;( 108%0116 )01086
. 6
ו
תוכנית 0 ד יוצרת, את הקובץ עפ גייתסעת1ע המכיל 20 רשומות בנות = בתים.
תוכנית דע שבתדפיס 8 .17 מעיינת ברשומת נתוני ו
| פרק 7 ה-8087 והתקנים. תיצוניים 9
תדפיס 17.8
1161 תמסיס
; 208 08פגו
י 6
1 = 7036300006
2 1;
; עסקספת1 : 8
60 : 6;
; תס
ינפי
,7109%360020 +ס 1116 : 116עתך
(11060עי : ס6תת1
| ;לע : 1
תנפסס
;( '1100818.18%ע' ,116עת1 )הופפה
; ( 116עת1 )6%פס3
,116 =: ססתת1
- תגפסס 40 *60תת1 גצ1ש
7 : סתהת 116ת' )169י
0 =: 1
[ שַת1ע8% 450112 תה 2200088 )| תגשסס 80 ₪0 <> [1]סמגפא 16גג
;( [ג]סת8א )1%6יש
4
; (6)1ת1
ו
; ת01> ביט
( 616תם1ן ,' : 16סתתט' )ת[1%0יש
(( 009120 ,7 :8120 בעסססת' )ת1+91יש
7 : 1006 )146יעש
[ %ת[א2 01 סגג[פט 680006 %'ת08 56160%029 | | +0 82700 - 066 0886
; ( '0108606' )(1%01 : 400
;( 'סגועת1 ע0+ ת006' )ת1601יש : 921
; ( '%טסלגוס 102 ת006' )ת1%01עא : 902
; ( 'סגוק6גוס 86 סגוקת1 ףס 02+ ת6ק0' )ת1%61יא : 5תף
;8390 .
(( 7 :68עה 800ט10עת, )106קט
(ת[%6גיט - ;(( ( [ 1 ]06הטנעק )עם0 )6ס1עט 60 26 ס% 1 =: 1 שס+
00 :8 ע050 )%6גיט
;מנסלג א | ;(( ( [ ג ]050120888 )0 )88גיחט 00 16 0ף 1 =: 1 ע0ס1
; תס
; ( 116"ת1 )01086
. תס
הפלט של 1₪1ע הוא:
5% 0868 רג : סותגת 116
5 = :616ת1
: 9 :81206 6עסססת
%גוקשגוס תה סגוקת1 06 0+ תססס : 1006
. 806ט1ינק
יס
0 תלק ג" תכנות מתקדם |
השדה בא מכיל את שם הקוב>, כפי שהוגדר בהוראת תָּנפפת (עם שמירה על
אותיות גדולות וקטנות).
השדה פִבַַתְבּת מכיל את הערך 5. זהו הערך הפנוי הראשון אתרי שהמערכת פתתה את
ההתקנים הסטנדרטיים (0 עד 4). גודל הרשומה מתאים ל-( 6552600206-' )12001.
השדות 10866עע ו-08%8ע0562 הם שדות ריקים.
כיצד להשתמש ברשומת הנתונים?
נניח ש-8%88608כ הוא משתנה המזהה קובץ, כבאשר משתמשים ב-2858(8605 בהוראת
קלט או פלט כמו:
( 2 ,ץ ,א ,36886058כ )בבס
אן:
( 2 ,ץ ,א ,בסְסתהּ5בכ )166עא
מעבירים למעשה את המשתנה כפרמטר לפרוצדורות 236806 ו-166מא, פרוצדורות אלה
פונות לרשומת הקוב 6286880605 ושולפות ממנה מידע אודות:
= מנהל הקובץ, שיעבור ל-05פ.
= ההגדרה ב-86סם, כדי לוודא שפעולת הקריאה או הכתיבה חוקית.
= | גודל הרשומה, כדי לדעת כמה תווים יש לשלותח או לקבל בכל פעם,
- שם הקובץ, שיצורף להודעות השגיאה.
המשתנים של קבצי טקסט
כאשר תוכנית טורבו פסקל פותחת קובץ טקסט, המהדר יוצר רשומת נתונים בת 256
בתים המוגדרת כ-5366א6₪ע' ביתידת 5סכ, המבנה של 68606א26 הוא:
;0 02 [127. .0 ]עפינענה = 00002
= %200א70
; עס 1 6
; הסט 1 6
המשך בדף הבא
פרק 17: ה-8087 והתקנים חיצוניים 601
סעסש 1 6
;עס 1 6 טק
; סנס : גו
;סנס 1 וצו
; 1גות%א10 |: סגו
נעספסתגסק : סתגות00
; עפפת1סק : סתגותסגוסת1
;"%61ת01ק | : סתגוזתבגוךץ
; יז%6ת1סק : סת 01030
;6 +0 [16. .1 ]עפעיקה :- 008%8פםס
; 08 +0 [79. .0 ]עינה :. סותפון
002 : סגו
השדות 816ת38, 1066, 05028+8 |- שא זהים לשדות המקבילים בקבצים עם ובלי
הגדרת טיפוס. השדה 86ט1עע2 מיועד גם כאן לשימוש עתידי, אולם הוא מוגדר
כמלה ולא כמערן.
השדות החדשים 5126+גם, 505+גום, 6משפגום, 62פ+גום ו- 815562 מנהלים את אזורי
האחסון של קובץ הטקסט, על פי ברירת המחדל, אזור האחסון של קובץ הטקסט
נמצא ב-ת6++טם, ע26+טפ מצביע על אזור אחסון שגודלו נתון ב-126פ55גום;
8 הוא המקום באזור האחסון שבו נמצא הצו הבא שיעובד; 6מ8+טם מכיל את
מספר התווים באזור האחסון, כאשר משתמשים בפרוצדורה +גופ%א6%616 כדי
להקצות אזור אחסון אחר לקובץ טקסט, השדות הללו משתנים בהתאם.
השדות סתגותססס, סמגוץ%גו0מד, סמתטועת5גו1ץ ו-6מגוע01056 מצביעים על תוכנת
מנהל ההתקנים של 2058, בהמשך נתאר אותם בפירוט.
ניתן להשתמש בתוכנית 11,83ע שבתדפיס 17.9 כדי לעיין בתוכן רשומת הקובץ של
עצמה. 0/9 לי
תדפיס 17.9 =
; 1165 ת8שפסינק
;08 ,02% 68פט
גפש
,16% : 116תתך
;,%200א20י : ססתתך
ישת1ת8% :| 28%
(6עם : 1
תנשסס
;( '1185.245ת' ,116עת1 )ת9981₪ב
;( 16געת1 )20566
תדפיס 17.9 ממשיך בדף הבא
12 חלק ג" תכנות מתקדם
המשך תדפיס 17.9
,116 =: ספתתך
60 "160 נש
012802 ;
; ( 2848 ,116עת1 )ת0801
? :תת 116ת' )1%0עש
1 := 0;
תנשסס 60 00 <> [1]סתג 16ומש
; ( [1]סת8 )%6גיט
; (1)סת1
7
; ז001 ינש
; ( 616תמ11 ,' : תמ )001 ביט
5 : 006 )140יט
+ס 80700 - 1006 0886
;( '7010500 )ת1591עש : 630
;( '%טקתג 102 ת006" )ת[166י : 921
; ( 'סטסצטס 102 ת006' )ת1601:ש : 92
; ( 'סטסלגוס ות סגוקת1 בססס 102 ת0ק0' )ת1561א : 05ף
; תס
; ( 2710806 ,' :8208 10860עע' )ת1601עש
ו 7 05000 )146ע
;ת[16גא | ;( ( [ 1 ]05670858 )עם02 )166עט 60 16 %0 1 =: 1.ע0ס1
;( 9126צג ,7 :5120 ע46+גם' )ת1%61יש
;( 31008 ,7 | :205 1162גת' )ת1%61יש
; ( בתצגות ,' :0 ת20+צגום )ת401גיט
7 62++גום )ת%61גיט
( טכ 2 םש םש *===== )ת1501יאו
;ת1%61יט ;(( [ 1 ]ת0+צות )196 80 127 ס% 0 =: 1 עס+
([ ==שתשפבבכככבשככבבכבשבבככבבבכבבכבבכבבבכ=====' )מ1%61-₪
; 08011
; ( 116עת1 )+סם 611תט
; ( 116עת1 )01086
. תס
תוכנית ₪3,זדק מציגה את רשומת קוב הטקסט של כל רשומת נתונים שהיא קוראת.
הפלט של התוכנית מתואר בתרשים 17,1.
פרק :17: ה-8087 -והתקנים חיצוניים . 3
תרשים 4
הפלט של תוכנית ₪53 וז
/ 65 - :חח 7116 |
30 16 : 5
%פחן תם] ה6ק0 : סז
0 :עה 6להט10- *
: הסינה -50!]]
- 128 :5126 עַם]/טת
16 .05 1₪8וטת
8 :600 ת6]וטת
ו רצות
2 ווהתפסעע
:5 פספט
הט
:%אסך : ש[וזהן
:אי : סשתה[
:108 : 8
ו :2 : 1
ה :
055180) 1
לחיצה על עס6תע גורמת לקריאה של הרשומה הבאה ולהצגה של מסך חדש. כאשר
קוראים רשומה חדשה , הערך שב-5ס2+גום גדל עד שבל התווים באזור האחטון. מוצבים
במחרוזת הּסּ. אחר כך מועַבָרים 128 הבתים הבאים ה לאזור האתחסון והשדה
8 מתאפס.
| מנהלי התקנים של קבצי טקסט.
למרות שמנהלי התקנים המובנים מספיקים לרוב יישומי התכנות, יש לעיתים צורך
ל מנהלי התקנים חדשים. 2-5 צרכי חומרה או תוכנה מיוחדים.
בפרק 1; לש השתמשנו בקבצי הממשק הגרפי של 8 02 בבמנהלי
התקנים של כרטיסי המתאם הגרפי. ציוד היקפי. הדורש בדרך בלל מנהל התקנים
נפרד הוא:
4 תלק ג" תכנות מתקדם | >
= זיסק אתת
= עכבר
= מנהל %*כרון מורחב.
₪ מוטות היגוי (8110%8צ20)
₪ מודם ותומרת תקשורת
קיימים גם יישומי תוכנה מיותדים הזקוקים לתמיכה של מנהלי התקנים. בפרק 1
למשל, נאמר לך להוסיף את השורה:
5 = מ6דטמסם
לקובץ 5צ16,9ץא00, 5צ5.דפאת הוא מנהל התקנים המאפשר ניהול מתותכם יותר של
המסך והמקלדת, בפרק 10 תיארנו את מסך הטקסט וציינו שיתחידת 62% מכילה
שגרות ממשק יתודיות למסך ולמקלדת - שגרות המהוות למעשה מנהל התקנים.
טורבו פסקל מאפשר לך לפתח מנהלי התקנים לקבצי טקסט., בקבצים רגילים שעל
הדיסק ובהתקנים המוגדרים מראש, שבטבלה 17,2, קיימים 4 מצביעים (סמגועםפ1ע
סמגועמ008 6בגוע0006מ1 ו-6מגות01056) היוצרים את הקשר עם השגרות המובנות
המטפלות בפתיחת קבצים, סגירת קבצים ובקלט/ פלט, כלומר עם מנהלי ההתקנים של
5, בניתוב המצביעים ל לפונקציות שלך תוכל להפעיל מנהלי התקנים
פרטיים.
פיתוח מנהלי התקנים
מנהל ההתקנים שלך יודקק לפחות לחמש שגרות מרכזיות: ארבע שגרות הצבעה
ל-6מגותססס, סתגוע%ט0ת1, סמגועת8טו1ע ו-6ת0105620 ושגרת השמה אחת הטוענת
ומפעילה את מנהל ההתקנים, התוכנית שלך יכולה, כמובן, להשתמש בשמות כלשהם,
אולם בדוגמאות שבפרק זה נשתמש בשמות הנזכרים בספרות העור של טורבו פסקל:
ת6ס0, 08%6ת1, ם5גו1ע, 61096 ו-ב14פ5ת.
כל הפונקציות, פרט ל-ב5516ג, חייבות לעבור הידור במצב של 08118 עהפע פסמסע
כלומר כאשר הוראת המהדר [+ע8) פעילה.
| פרק 17: ה-8087 והתקנים תיצוניים 605
מיד נתאר את חמש השגרות, כדי להבין את ההסברים היטב, רצוי לעיין תתילה
בתדפיס 17.10 שבו תוכנית כללית של מנהלי התקנים.
כאשר פונים למנהלי ההתקנים הסטנדרטיים של 05, משתמשים תמיד בפרוצדורה
ם4גפפת, פעולה זו קושרת את המשתנה המזהה של הקובץ עם אחד משמות הקבצים
השמורים (למשל א60, אע או 11'עת), אי אפשר להוסיף למהדר מלים שמורות ולכן
צריכה פרוצדורת 159194 של מנהל ההתקנים החדש שלך לפעול באופן שונה במקצת.
פרוצדורת מ59818 המותאמת למשימה היא עסטנעפתףנפפת שבתדפיס 17.10.
הפרוצדורה בףנפפת
פרוצדורת ם58104 החדשה צריכה לבצע את המשימות הבאות:
1 לקלוט את המשתנה עם שם קובץ הטקסט.
2. להציב את כתונות הפונקציות מ006 (-61086 במצביעים סתטתם6ס0
[-6מתגו01056.
3 הקובץ לא נפתת ולכן יש להציב ב-0066 את 80010866, ולהציב 1- (עעעע9)
ב-6ִָתג1.
4, להגדיר את אזור האחסון של קובץ הטקסט, ניתן להשתמש בכל שטת שהוא,
אולם עליך להגדיר את השטח למהדר על ידי מצביעים מתאימים, ההצבעה על
אזור האתסון מתבצעת ב-מס6פ%2טם והגדרת הגודל מתבצעת על ידי השדה
' %6126גום. | 0
5. ההודעות של שגיאות ההרצה עשויות לנסות להשתמש בשם הקוב, ולכן יש
לנקות את השדה סתהּא, זכור: סחהא הוא מתרוות 6112פ5ה, ולכן האיפוס
מתבצע פשוט על ידי העברת תו ריק (0א8) למיקום הראשון.
הפונקציה מספס
%והי פונקציה ב6ק60טנעכ כמודגם בתדפיס 0. הפרוצדורות הקוראות
לפונקציה 008 הן 686%6, 166עשסת ו-6תסססת, זכור: מסססת היא פרוצדורה
6 חלק .ג" תכנות מתקדם |
תקנית לפתיחת קבצי טקסט, אולם רוב ההתקנים ההיקפיים משמשים לקריאה בלבד
או לכתיבָה בלבד. :
פונקציית 006 החדשה צריכה לבצע את המשימות הבאות:
1 השדה 8086 יכיל את %טקמזוז? או %טס6גו₪0+ בהתאם לאופן הפתיחה של הקוב
(3656% או 1%6ששסת), כאשר הקובץ נפתת על ידי במסססה, תצורתו 01%ת51,
ויש לטפל בו כן:
א | אם בהתקן יש חשיבות מיוחדת לפעולת תסססת (סיפות לסוף) - ההתקן
חייב להימצא בסוף הקובץ הנוכתי, בדרך כלל מניחים שקובץ שנפתת על
ידי סמסססת ישמש לפלט בלבד.
בּ. 6+ אינו תצורה מתאימה -- טקסט, ולכן יש להציב ב-6בסא
ו
2. הערכים שבמשתנים המצביעים סמגוע%ט0ם1 ו-6תגועתפגו1ע צריכים להתייחט
לפונקציות התלויות בכך שהקובץ נפתח לקלט או לפלט.
3 אם הפונקציה מסתיימת ללא שגיאה, ם006 צריך להחזיר אפס.
הפונקציה %טסמז
זוהי פונקציה %טספטסעסטנ1עע או 6טקםתד1עסטנעס כמודגם בתדפיס. 90.
הפרוצדורות הקוראות לפונקציה זו ה[ 686ע2, מ6801ק, 166עא, םת1661עא, סע
,ת[ספ ,566%₪0% ,מ₪01א566 ו-01056.
יש להניח שלא תשתמש באותה פונקציית 6גו₪סם1 לקלט ולפלט, הפונקציה מפפס
בוחרת את הפונקציה המתאימה כאשר היא טוענת את המשתנה המצביע שתגוע6גוסמד.
כל פונקציית קלט או פלט צריכה לבצע העברה של בית אחד בין אזור האחסון
וקובץ הטקסט עצמו. |
אם הפונקציה מסתיימת ללא שגיאה, %טסם1 צריך להתזיר אפס.
| > פרק 17: ה-8087 והתקנים תיצוניים > 607
הפונקציה תפט1
פונקציה זו אינה מתוארת בתדפיס 17,10, לפונקציה מפגו1ע קוראים אחרי כל
פעולת 6806ש, מ0801ק, 2166 ו-ם1661עא, אין להניח שתודקק לפונקציית מפט[ש
נפרדת, אין לה כמעט ערך בפעולות קלט, ובפעולות פלט ניתן להחליפה ב-6גוסחד.
פעולה זו מודגמת בתוכניות הבאות,
הפונקציה 61056
זוהי פונקציה 01086ע6ט1מפ כמודגם בתדפיס 17,10, הפונקציה נקראת על ידי
הפרוצדורה 01056, כאשר הקוב פתוח, ניתן לקרוא ל-61086 גם מתוך ₪656%,
6 ששטסת ו-6תס6סקת.
יש לבצע את 01086 אחרי סיום כל שגרות בדק הבית, אם הפונקציה מסתיימת ללא
שגיאה, 01056 צריכה להחזיר אפס.
מנהל התקנים כללי לקבצי טקסט
יחידת עסטנעצסע שבתדפיס 17,10 היא דוגמה לקובץ של מנָהל התקנים, היא מכילה
את כל ההוראות הנחוצות ואת כל הגדרות השטתים שאליהם ניתן לגשת.
תדפיס 17.10
עסטנעת %גתט
0
* | עסט61 000106 1116 5006 235081 ססעגת [העסת00 - *
[ 60665636 263 30% 365636 2% 3626 2606 ככ 36 כ 3 353 3% כ 36 326 כ 3 ככ כ כב 3 ב 3 2
1-6
005.0 פספגו
(16% : 10620110ע2 עפט )עסט1עתן28910 6גוססססעס
(( שַת1עלה :| סת8א116ק
ת810+תסס 11
( שת0060%1 55806 6ת8 סשת8ע 2188216 | -5,-88)
2
* %5ת%8פת00 ( 68כע5 106ט-1%תט 211 - *
% 6 6611006 826 108כ18הט סתה - *
התששססש0ט ו
תדפיס 17.10 ממשיך בדף הבא
8 תלס ג" תכנות מתקדם .
8 תלק ג". תכנות מתק2.07 00 שש הר "ששה
המשך תדפיס 17.10
/ 0%
[ %05% 1116-+6-0ת6 תג ] ; סגרז[' = 200168 -: 8016 640817גוקת1סיזסו1
0 | : סגוסת40%0:1י81ת60ט1ינם תסנשסתגת
, א תנשסס
3 3 26 33 :באב כ 3 3 :3 כ
* 0910002 6אסת 6ם% תעגוצסת - *
[ 43%53:52656535%55553%:53:8 5436 +
0 -
; ( עפ : 02 )102008180%02002%0005ע 6יגוססססמ
הננשססו
335333 3362026336 33ב אב 3 36 :3 כ 3 ]|
* 03290602 6אפת 926 פטקשט0 - *
3
; תס
[+ ₪)
(עסשספת1 : ( 00ת160 : 116תת0ט1ע2 סקט )5גוקת1סטגינם תסנפסתגת
ינפש
; סש : א66ת21גות
הזנשסס
תנשסס 40 116תע6ט1יכ מסנש
;2 =: אססת1צג
הנס 0 (19126ג3 > אסִת1+גום) 6תה 4081182016+גוקַת1סיסו[ 16נחש
; גוכת1י978/0%01)נסט גינם =: [ א66ת21/גו ] ע16גום
; ( 668ת1צגות )סתך
-
,0 =: פסק1צגום
; א006ת11טם =: 6ו21גותע
; סתס
;0 =: סגוסת1עסט1עקת
; תס
; 100 : ( 1004000 : 116קעט1עק פט )6גוס%טסמפטגינע תסנ6סתגת
ינפש
; סש : אסת1+גות
תנקסס
תנקסס 60 116עע6ט1יע תנש
,₪ =: אסת1+גות
תנשסס 80 5ספ2גום > <66ת1+גת 116חגש
; ( [ א66ת1צגום ]"ע2ל1+גות )6גוסו0ינ80%0י81ת0ינסט1נ
; ( א00ת1+גות )סת1
; תס
,0 =: פסקש1גום
; תס
.2 =: 6גסשגו0צסט גנ
; תס
(ע0שס%ת1 : ( %260א16 : 7116ת0ט1ת2 עהט )סעסוש1סט1עק תסנססתט+
תדפיס 17.10 ממשיך בדף הבא
פרק 17: ה-8087 והתקנים חיצוניים 609
המשך תדפיס 17.10
תנסשסס
(0 =: 6עסתש1עסט1עם
0 -
(ת000סת1 : ( 168%000 : 210077116 הט )2106201080 קס61סתגת
תנשסס
- ו
* | שעסת ₪0 פסת%1טסע שת01081 | *
( %%:55635 :3363333636 3
;0 =: 01086ע6ט1טם
-
(ע%50₪0ת1 : ( %300א16 : 62%116ט1ע2 יאפט )ת006עסט1ע תסנססתגת
תנשסס
תנססס 60 116"ע6ט1עכ בס1ש
תנשסס תסת% 6טסת21 = 10006 14
5 3566 23632 363 3 333 33 3 3 כ אל א
* | 6ע16] ₪0 פ6ת1טסגוסע 6גוקת1 שתנת6ק0 | *.
2
; 4גומת1נסט.גיז0 ₪ =: סתגוגו0ת1
; 6עסר10010כ 6 =: סתגותתפגוך?
תנשסס 6186 תס
תנשסט תסמל 210006 = 1006 13
:0636363636 3533636260 32 3 א ]1
* | 6ע6 ₪0 פסת%1טסע התססק שתנתסקס - *
* (שתנתהסת 8060181 פה 8תססס +1) - *
[ 53%5% :3535333 :333
;60
- |
* | 026[ ₪0 פסת61טסע 6גוקשגוס שתנתסס0 | *
[ 3650356366 333635 3:3 3333 36 33 5 5
; 6גן0%ו00ת =: 6
; לגות)ו0ינ0ט1 ₪ =: סתט07ו0ת1
; גון)טו0ינסט ינ ₪ =: סתגפגו1י1
ו סתס
; סתס
;0 =: תסקסצסטג1עתע
; תס
(-5
,10% : 116 עסטבעת עהפט + ; סט 2581001 סינגו60ססיכן
[ שַתנעלם : | 880א110ק
ינפי
; %360א10?: 6עסססתנסט1עתם
תנפס
326263330 333623 3 3-3 3-32 3:33 3 3 כ 3 5 א
* 6עסת ₪008 0066 1%18%108ת1 181ס6ספ *
3
תדפיס 17.10 ממשיך בדף הבא
0 חלק ג: תכנות מתקדם . בבל 7
; 109116 9 =: 6עסססתעסט1עק
המשך תדפיט 17.10 תנשסט 60 900267ת02ט1 ףג
דא =: 6
1010800 =: 6
; ( 1+08טם )+51200 =: 6 נפצגו
| 0 1400ג 0 =: ע6פצגום
מ82000ט1ע2 0 =: סתעותתסק0
; 2106101086 8 =: סם01098072
;₪ =: [ 8 ]סתגא
; תס
- 4
-
שים לב: פ5גע תמטדתפ הוא יחידה, ולכן יש לבצע הידור שייצור קובץ טפע..
פרוצדורת מ8881 נקראת עסט1עסתף1פפת, פרוצדורה זו קולטת שני פרמטרים:
מזהה קובץ הטקסט ושם הקובץ שעל הדיסק. :
הפונקציות הפרטיות המחליפות את 006 (-010856. נקראות מסק0סעסטנצס
(-16701086ע2, מ6ס0מ6טנ1מפ קובעת אלו פונקציות %גו0ם1 ו-8גו1ע יש להפעיל.
למשל: המשתנה שתגועמ8גו1ע מצביע על 26סם6:1ט1צפ כאשר הקובץ פתוח לקלט.
קבצים לקריאה בלבד או לכתיבה בלבד
יחידת אעטדתפ שבדוגמה יכולה לשמש לקלט ולפלט. יש התקנים שמעצם אופיים
משמשים אך ורק לקלט (מקלדת) או לפלט (מדפסת), במנהלי התקנים המיועדים
להתקנים כאלה יש לערוך מספר שינויים.
בהתקנים המיוּעדים לקריאה בלבד:
1 . מחק את הפרוצדורה %גו86%620%0 עה8ת6ע6טנעכ ואת הפונקציה
%גוס6גו6:0ץ1ת. " |
2. פנה לקטע "6מע6ת 40 61265גוס: %טס6גוס םת נמססס0" שבפונקציה ת6ק0:סץטנעס
והוסף את ההוראה ( 105 )עסת:פתטת, הוראה זו גורמת להפסקת התוכנית עם
שגיאת הרצה מספר 105 (סטססטס עס5 בסקס >סם 116ע). הצב את
16 סט60:1 במצביעים סמטע6טסת1 ו-6תגותתפט1ע.
< בהתקנים המיועדים לכתיבה בלבז:
1
פרק 17: ה-8087 והתקנים.: חיצוניים
1 מחק את הפונקציות 06וקמ81:80%601ת170:0:נס ו-6גוּכֶת1-נסט בנס.,
2. פנה לקטע "עס 90 65מ61טוסק 6גוסת1 שַתנמ6סס" שבפונקציה מ006מ6ט1:ס
| והוסף את ההוראה ( 104 )תסץמפמטת, הוראה זו גורמת להפסקת התוכנית עם =
שגיאת הרצה מספר 104 (טטסת1 כב תססס 0%ם 116ע), הצב את.
8 במצביע: סמגוע גוס תד . | |
בעזרת שינויים אלה תוכל לוודא ביצוע נאות של העברת נתונים ולהפחית. באופן
ניכר את גודלה של יחידת מנהל ההתקנים. :
שימוש במנהל התקנים מותאם .
יחידת 62םסע6 שבתדפיס. 1 .7 היא מנהל התקנים התומך בהצפנה ופיענות של
קבצי. טקסט. פרוצדורת ההשמה ש"נתפרה" למשימה זו נקראת 53006 ת. |
| תדפיס 17.11 -5 :
סע 1%תט
6 |
: ;208 098
8%0א70 : 116תע0ט1ע2 שפט 0 6ינגו0סססינכן
(( שַתנע8 : | 116%026ק
בת 1
1 - ו 0% ' תת סקתפץ 2188216 - -5,-88).
לפטי
: 8 צס 2118 : > סו
| פס : סגוסת 01 80%ימ0 יס גצ תס1שסתט 7
4 9 עפץ .
(עהמס : בס
הגפס
; ( םס ,116 אס )208
תסמ 20 = בס +1
5 = 16 השעת
: 6186.
| ;( 01 )66עק =: ג
0/9 יג -
; ( שת : 0 )6ג890+00000ת0י100עכ' סנטספססין
8 | . עפט >
| פס : ע500008780%60כיסות
תגשסט
תסמל 255 = 01 13
0 =: ב
56
תדפיס 1 ממשיך בדף הבא :
2 חלק ג" תכנות מתקדם
המשך תדפיס 17.11
; ( 0 )800 =: ש6060088060כינסומ
; ( ע50000810050כענסונ , 10 אס )106ינט
; תס
[+ פ)
עסשסטת1 : ( %060א10 : 116תמסטגעת עבט )סגקת1עסטגעק תסנ%סתגת
יצפטי
; סעסש : אסִת11גות
תפס
ת1שסס 60 116תעסט1עכ מצנש
;0 =: אסת1+גות
תנשסס 60 (15126ט2 > א66ת1+גום) התה ( 116תא:ס )+סע פסת 16נמש
; לגוק -8001י )יס בינ =: [ אס6סת21ג ]יש4סצגום
; ( 1[160%+גות )סתך
;תס
;₪ =: פסס1גות
אססף1+גות =: תתצגום
=
9 =: 6טמת1צסטנעת
תס
(ע0שספת1 : ( 00(%א10 : 116"תסט1-ק שפט )6טססגוסינסטנתת תסנ6סתט+
ב
; סש : אסחִת1+גות
תנפסס
תנפסס 40 116"עסט1יע בלוש
;2 =: א66ת1+גות
תנשסס 60 1205גום > 36065ת1+גום 116חש
; ( [ א66ת1+ג ]"6גות )905010605 סט גע
; ( 66%ת1+גות )סתך
; תס
,0 =: בספ+גום
; תס
1 =: %טק%ג0עפט1עכע
-
(ע6שספת1 : ( %000א16 : 116 עסט1שק עפט )סעסתש1עסטנעק תסנ6סתגת
תנשסס
0 =: 6עסת10עסט1ינם
פתס
(עסשססת1 : ( 100260 : 1[0תעסטגעק עבט )01086עפטניתע תס%1סתגת
תנשסס
; ( 116"אעסא )01086
;0 =: 01086ססטג1יע
; תס
תדפיס 17.11 ממשיך בדף הבא
| פרק 7 ה-8087 והתקנים תיצוניים 613
המשך תדפיס. 17.11
,ע0ק%6ת1 : ( 7168060 : 116תע6ט21 עפט )תסקסעסטנעת תסנססועות
: תנפסו
תגקסס 00 116 עסטגינם בלנש
השס תפגתף 6גוסו1ת = 1006 11
; ( 116"אזס/ ) 800
; שגומ 62ט1יזק ₪ =: סתגות0גו0ת1
; סיזסון921₪ט1 6 =: סתנתתפגוני
תנקסט 6156 בתס
. 8 ) 56 נינאוסו
; 2ו0ן5ג 110 = סו
; 1062000025 6 =: סתגותסטסוך
; 5וס6ג0נ0ט1יכ 6 =: סתגתתפגונ
; תס
:1
=: ה006-סט1ים
9/7 /
: [-8)
,תע :
[ שַתנעסט :
6 ופט )| ; ע0ת0ע238100 סיגוססססצן
סותה0 1 "ף
ופט
: 16006
= ת1שסס :
9 1106 , 1'116נס) )תש נפפה
; %116ע2106 0 =: 6עסססתנסט גינק
וזנקסס 00 600267תמסט1י בל1ש
"1600
:= 77 ;
100103860
; ( ע20+גו )912001
2202גו ₪
; תסק0יזסטי1נק ₪
₪ 176201080 ;
2
6 תמ
6
6צג
נ%זצגו
סתט 01 "
[ 0 |סתפא
| 01030 :
-
; וס
-
שים לב: 5גע זז עס הוא ו ולכן יש לבצע הידור שייצור ו טעע.
באשר מפעילים את מנהל ההתקנים 0 נפתתים קבצי טקסט שבהם מתבצע
"ערבול" הנתונים לפני שהם נכתבים על הדיסק, הנתונים המוצפנים "יובנו רק
על ידי קובץ טקסט אתחר שישתמש ב- - 55140061 ויפתת קבצי קלט. התוכנית
תיפצתטאק שבתדפיס 17.12. משתמשת ביחידת צסתסעס להצפנת. קוב פלט.. התוכנית
קולטת, "הודעה סודית" מהמקלדת,. מצפינה אותה על *ידי. החלפת תווי..5011ג
בתווים. שערכם גבוה ב-1 וכותבת את ההודעה. על הדיסק. התוכנית מסתיימת כאשר
מקישים שורה ריקה.
4 חלק ג" תכנות מתקדם - 5 | :>
תדפיס 17.12
; %כנסרצת ותפיושסיזסן
; עסתסע0 ,02% 865
ב
70% : 86
שת1ץע5% : 56020700998020,
תנשסס -
;( '1א56020%.1%'* ,006071106 )עסמסעסתסופבת
; ( 000067116 )06 ימס
0102
[( :5880 מטסע עססתם' )ת1%01עש
1
5002050988₪0 ( ; )ת01פסי
1 0-06 '00007116 )ת1601ישט
;7 = ( 56020%0099800 )1662 611תו
;( 00067116 )01086
. תס
תוכנית עעצתּסאע מציגה את ההודעה 3655806 מטסע שסטתם, וממתינה להקשת
נתונים, תרשים 17,2 מתאר מהלך עבודה אופייני של התוכנית.
תרשים 17.2
ההודעה ה המוקשת לתוכנית ריב
.55886 עטסט ת%6ח
+ ןת 000106 055081260 ב טפ ב ןת 15 558%6ש₪ 5נת7 !₪11
86 1 סתס3605ע003 2800 .1116 03%3 560קטעשהה תה %0 5ועה1 60ת03ם%00 55עסעהסש
("פ" 26600885 "8" (15 108% | תם%םבעבת(₪ [₪%6₪ה 6(% ]0 ת500086550 בת5 5 66עם51
יחש 50 6ה3 !"6" 65ת660ם "2"
אחרי שהתוכנית מסתיימת, ניתן להציג את הקובץ שנוצר באמצעות הפקודה:
זא 5 פאטס
הפלט של הפקודה מתואר בתדפיס 17.3.
זכור: תוכנית פאטם שתוארה בפרק 13 מציגה ערכים הקסדצימליים בששת ו
השמאליים ואת הערכים העשרוניים בטור הרתב שמימין. חמשת התווים הראשונים
בקובץ. הם קוח+1, אם נפתית 1 מכל אחד מהתווים, נקבל את המלה הראשונה של
ההודעה - 16110, :
פרק 17: ה-8087 והתקנים חיצוניים . 5
'תוכנית 2560588 שבתדפיס 17.13 קוראת את הקובץ המוצפן ומפענחת' את תוכנו.
גם תוכנית זו משתמשת ב-דַסטַ1צסת519פה, אולם הפעם הקובץ נפתח לקלט, כאשר
התוכנית מטתיימת, היא מציגה את ההודעה המקורית (שהוצגה בתרשים 17,2), =
: | תרשים 17.3
קבצים המקודדים שנוצרו על ידי תוכנית יד
ב ו / 1 78₪6 -- 86א%,0%ת500
= ]510% 1תמ1%5%ח?1,[6/? +"קחחז]1 21607421 74626066 21626674 55696074 78222121 49666062
= | ||45201%%]6162%0100%?תם], ]₪ 21647674 63702162 74666521 78646674 68217173 63666061
"1416706106 חקטו: 73217569 3607766? 646062165 65667760 78666521 75706860
]סקא 65216001 63706273 21666670 66737974 64786777 62750108
05 6 005211 ]? ספ קו? וט 65627962 75606521 64737071 67216661 75782162 71767521
א 1050015 0 17001 ?/ ]חן %ף? 66/32178 3626475? 21646962 46626469 66212121 21676062
11 5% 0 51ו+6 ]! וזחזן,.- 66217476 -4217569? 66652162 74757073 63668008 66021חשן|,
1 חפט 50 11 ? פק? 5ק++001 62216469 64757662 69662162 78672175 74787321 4646674פן[
6 -5 ? אפ1!?? 50000157 62232163 74222123 62752160 21215569 75667321 :62736264
1% 40ת- 1+1108הק0 ]1 70606674 21636664 08236323 63232088 66742123 66047068
6ץ ס- 808 1 ו 27 65217478 22216267 21236423
תדפיס 17.13
; 260060 תפידטסינ
; 006 ,02% 05פגו
.. . ופט
- 00 : 6
קת1ע5% : 56020%095800
דר תנססס
; :01190
; ( '7א.96020%' ,00060116 ו
; ( 60809116 )636%
תנקסם 80 ( 00697116 )+סם פ%סת 16גתש
; ( 5002611]0988₪6 ,00667116 )תדפסיד
/ 0 )יר
/ ו
7 006 ) 01086
+ . ₪16
6 תלק ג" תכנות מתקדם
פניה להתקנים אחרים.
בדרך כלל שגרות הקלט והפלט של מנהלי התקנים לקבצי טקסט מורכבות *ותר
ממנהל ההתקנים המתואר ב-מ6םסעס. יש התקנים (למשל מתאם משחקים), שאליהם
ניגשים באמצעות המערך 6צספ או אט6עסת, להתקנים אחרים (למשל מדפסת) ניגשים
באמצעות קריאות לשירותי 205 וה-05ד5, לעיתים קרובות יש לשלב בתוכניות גם
הוראות בשפת אסף (צ,ז25558), ספרות העזר של טורבו פסקל מכילה דוגמא של
מנהל התקנים למודם,
הדוגמא של שסםמסע6 מראה כיצד ניתן לנצל מנהלי התקנים מותאמים למשימה
מסוימת ביישומים מורכבים, מבלי להעמיס על התוכנית הראשית.
השימוש במעבד העזר 8087
משפחת ה-8086 המטפלת בנתונים מספריים ובפעולות בתחום של אוגרים בני 16
סיביות,. משום כך יש "לפרק" בזמן העיבוד מספרים ממשיים שגודלם בין 4 בתים
(טיפוס 16שָת51) ל-10 בתים (טיפוס 886ם56א6)'
התוצאה הסופית של חישובים כאלה אינה נפגעת, אולם הוראה פשוטה של טורבו
פסקל, כמו תיבור של שני מספרים ממשיים, עלולה ליצור עשרות הוראות בשפת
מכונה, כולל:
א העברת כל מספר בעל נקודה צפה לתצורה של נקודה קבועה.
= פירוק המספרים לקבוצות בגודל מלה.
= תיבור המספרים ברמה של מלים.
מובן שפעולות של נקודה צפה צורכות זמן רב יותר מפעולות באינטגרלים.
משפחת מעבד העזר 7 מיועדת לטיפול במספרים עם נקודה צפה, גודל האוגרים
הוא 10 בתים, ולכן ניתן לבצע בהם פעולות במספרים ממשיים מטיפוס %662686א6
בפעולה אחת,. מעבד העזר 8087 יכול גם להפיק תוצאות טרנסצנדנטליות
ופונקציות טריגונומטריות ולוגריתמיות.
פרק 17: ה-8087 והתקנים תיצוניים | 617
ה-8087 נקרא מעבד עזר כיוון שהוא פועל יחד עם ה-8086. ה-8087 מבצע את
ההוראות המיועדות לו, ואינו נוגע בהוראות המיועדות ל-8086; ה-8086 מתעלם
מההוראות המיועדות ל-8087, פרט לחישוב הכתובות שלהן עשוי ה-8087 להזדקק.
ה-8086 וה-8087 פועלים במשולב, ומבצעים את ההוראות במהירות רבה יותר.
מיד נתאר כיצד טורבו פסקל מנצל את כוחו של ה-8087.
טיפוסי נתונים של ה-8087
טורבו פסקל מגדיר מספר ממשי כמספר המכיל נקודה עשרונית, טבלה 17.5 מכילה
רשימה של חמש צורות של מספרים ממשיים:
טבלה 17.5
טיפוטי מספריס ממשיים בטורבו פסקל
טפרות תתום ערכים מותר 0% גודל טיפוט
משמעותיות
1-2 8 * 1.7 0 10-39 > 2.9 5 6 1
8 8 <* 3.4 0 10-45 > 1.5 5 4 וס
1186 8 < 17 סז 107324 5.0 | 0665 8 6מטס
190 2 * 1.1 0 100-4951 << 1.9 ץנ 10 066ם6זאע
1-20 | 26911 0 1 + 205- 5 8 קנ ס)
מספרים ממשיים "דותסים" ערכים גבוהים למספר בתים מועט, בעזרת תצורה
הדומה לתצורה מדעית. התצורה המדעית משתמשת במספרים על בסיס 10, ואילו
המספרים מטיפוס הנקודה הצפה מורכבים מייצוג בינרי של סימן (+ או -),
מעריך (6מסמסקא6) ובסיס (סַפַבס) .
%חהפחסקאס
2 א 6פַה8 (-/+)
למבנה הסיביות אין למעשה חשיבות, שים לבי תחום הערכים המותרים נובע
מהעובדה שהבסיט והמעריך מאוחסנים בתצורה בינרית.
8 תלק ג" תכנות מתקדם |
הוראת העיבוד הנומרי [א48 |
תוכניות טורבו פסקל אינן פונות אוטומטית ל-8087, כאשר הוא מותקן במחשב.
כדי שתוכנית תוכל לנצל את ה-8087, היא תייבת לעבור הידור עם הוראת המהדר
(+א9). |
הוראה זו גורמת למהדר להפעיל את מעבד העזר 8087 בכל פעם שהוא נתקל בהוראה
הקשורה למספר ממשי, כאשר נמצאים במצב [-א%) - התוכנית תתעלם ממעבד העזר.
הוראת האמולציה (חיקוי) של ה-8087 (89₪]
הוראת האמולציה של ה-8087 (₪%) מפקחת על הכללת תוכנת האמולציה של הנקודה
הצפה בקוב ₪אש, של התוכנית המהודרת.
תוכנת אמולציה היא סדרת הוראות המחקה מצב של קיום מעבד 8087, במצבים שבהם
נדרש טיפול של ה-8087, מפתתת "תוכנת האמולציה סדרת הוראות שבהן *כול
ה-8086 לטפל, ומפיקה תוצאה זהה (בפרק זמן ארוך יותר), מספר מטיפוס 681
מעובד ב-8086 על ידי תוכנת האמולציה.
ברירת המחדל [+₪%+ מכילה את התוכנה הדרושה לחיקוי מעבד העזר 8087. היא
תומכת בכל טיפוסי הנתונים של מספרים ממשיים עם נקודה צפה, כולל הטיפוסים
86, 016ו30, קתסס ו-681ע, במצב [-%8] נכללות בתוכנית המהודרת רק
ההוראות התומכות במספרים ממשיים רגילים בני 6 בתים.
הפעלת ה-8087
בהוראות (א%) ו-[%9)+ משתמשים לעיתים קרובות כדי להגיע לשילוב הנכון של
מהירות ביצוע וניידות התוכנה,. טבלה 17.6 מסכמת את ארבעת הצירופים
האפשריים.
פרק 17: ה-8087 והת קנים חיצוניים 619
טבלה 17.6
צירופי ההוראות
אופציה פעולות המהדר
(+א,+%5)+ כאשר קיים מעבד עזר 8087, המערכת תשתמש בו לביצוע פעולות
מתמטיות, אתחרת - המערכת תשתמש בתוכנת האמולציה, תוכניות
שיעברו הידור עם אופציות אלה יפעלו בכל מתשב, ללא תלות
בהימצאות או היעדר מעבד 8087, יש תמיכה בכל טיפוסי המספרים.
[-א,+₪) | לא יתבצע עיבוד באמצעות ה-8087 גם כאשר הוא מותקן. טורבו
פסקל ישתמש רק בתוכנת האמולציה, יש תמיכה בכל טיפוסי
המספרים,
[+א,-%8)+ תוכנת האמולציה למספרים שאינם מטיפוס 2681 של 6 בתים אינה
נכללת, תוכנית המשתמשת במספרים ממשיים מטיפוס אחר (16גוס6
6, כפתסס ו-2681) תפעל רק במתשב שבו מותקן 8087.
(-א,-%5) מותר להשתמש רק במספרים ממשיים בני 6 בתים, העיבוד יתבצע
בעזרת תוכנת אמולציה, המערכת מתעלמת מ-8087 המותקן במערכת.
גם כאשר קיים מעבד 8087, התוכנית אינה יכולה להשתמש במספרים
מטיפוס 511616, 16גוס4, קתסס ו-681ת.
סיכוס
בפרק זה הכרת את עיצוב הארכיטקטורה הפתוחה של 158 התומך במגוון רחב של
תוספות חומרה,. הכרת שלוש דרכי פניה לחומרה: באמצעות נקודות תיבור,
באמצעות מנהלי התקנים ובאמצעות תוכנה מיוחדת (עבור ה-8087).
למדת שנקודת חיבור היא ערוץ המקשר בין ה-שפס והמעגלים האלקטרוניים, רוב
התקשורת בין ה-טעס והציוד ההיקפי מתבצע באמצעות נקודות חיבור, המערכים
המוגדרים מראש )עסע ו-6%עסכע פונים לנקודות התיבור לקלט ולפלט, הדגמנו את
השימוש בנקודות חיבור באמצעות תוכניות מתאימות.
למדת שב-205 כל דבר שאינו הזיכרון המרכזי נתחשב להתקן, ויש לפקת עליו
באמצעות תוכנת מנהל התקנים, הוראות סטנדרטיות שבתוכנה זו מקשרות בין
20 חלק ג': | תכנות מתקדם... |
מערכת 05 וההתקן. ראית שטורבו פסקל יכול להתקשר עם התקני 205 באמצעות
קבצי טקסט, וראית כיצד ניתן להשתמש בדגם כללי של יחידת מנהל התקנים כדי
לעצב מנהלי התקנים יחודיים. הדגמנו זאת באמצעות יתידת מִסתסְצַס התומכת
בהצפנה ובפיענות של קובץ טקסט.
למדת שמשפחת מעבדי העזר 8087 מטפלת בהוראות הקשורות למספרים עם נקודה
צפה, ה-8087 מטפל בתמישה טיפוסים של טורבו פסקל: 2681 ,51216 ,16פוס
> סֶסס ו-06066ת66א6, הוראת העיבוד הנומרי (א%) מפקתת על השימוש ב-8087
והוראת האמולציה [%8) מפקתת על השימוש בתוכנת האמולציה לעיבודי הנקודה
הצפה
פרק 18: שירותי פסק 621
פרק
18
שירותי פסק
בודאי שמעת כבר פעמים רבות ש"מחשבים מסוגלים לבצע רק פעולה אתת ברגע:
נתון". הכרזה זו אינה נכונה לגמרי, ה-090 מתמקד בפעולה אחת, אולם בתוך
המחשב יכולות להתרחש באותו זמן פעילויות רבות: קלידים נלתצים, דו"חות
מודפסים, הדיסק מסתובב, המודם יוצר קשר עם מתשב אחר באמצעות קו טלפון,
המסך מתמלא תווים ועוד.
ה-0עס עצמו אינו יכול לפקח בו-ומנית על כל הפעילויות הללו, ולכן בכל פעם
שגורם כלשהו זקוק לתשומת ליבו של ה-020 (למשל לחיצה על קליד) הוא יוצר
אות - או פסק (6כט?562מ1) המודיע ל-0פ0 שעליו להפסיק, זמנית, את הפעולה
שהוא מבצע ולטפל בעניין. בדרך כלל, ה-0ע02 מטפל בהוראות הפסק במהירות.
וחוזר מיד לפעולה שהופסקה, רוב הוראות הפסק מפעילות שגרת 2058 או 108, גם
הפרוצדורות 85008 ו-ע6ם1, שהכרת בפרק 16, מפעילות למעשה הוראות פסק.
ה-20 יכול לעקוב אתר 256 מקורות פסק, ולנהל באופן כזה פעילויות רבות
ומגוונות.
פעולות הפסק נפוצות מאוד, (למשל: כל לחיצה על קליד יוצרת פסק) ובדרך כלל
הן "שקופות" לתוכניתנים, למרות זאת, *תכנו מצבים שתרצה להפעיל בעצמך
הוראות פסק מסוימות או לכתוב שגרות פסק משלך. בטורבו פסקל קיימות
פרוצדורות שבעזרתן תוכל לבצע משימות אלה.
סוגי פסק
ניתן ליצור פסק של חומרה או פסק של תוכנה.
2 חלק ג'י תכנות מתקדם ההשו | |
פסק חומרה
פסק חומרה נוצר על - ידי התקנים פיטיים.
פעולות פסק מספר 0 עד 5 נוצרות על ידי המעבד עצמו, למשל, פסק מספר 1 ופסק
מספר 3 משמשים לניפוי; פסק 0 נוצר כאשר המערכת מגלה חילוק ב-0; פסק 2
עוצר את המערכת כאשר מתגלה שגיאת זוגיות בזיכרון.
פעולות פסק מספר 8 עד ע80 נוצרות על ידי חומרה אחרת שב-6פ, למשל, פסק 9
מופעל על ידי לחיצה על קליד, ב-1ג קיימות 8 פעולות פסק נוספות של החומרה. .
מספרן 870 עד ע8%7.
פסק תוכנה
פעולות הפסק של התוכנה אינן גורמות למעשה להפסקה כלשהי בפעילות, אלא
מתנבצעות כחלק בלתי נפרד מהתוכנית, תוכניות טורבו פסקל עשויות לקרוא
לשירותי ה-8105 באמצעות הפרוצדורה ע6ת1 או לשירותי 205 באמצעות הפרוצדורה
85, פרוצדורות אלה, פשוט מפעילות פסק מספר %21.
טבלת וקטור הפסק
את קריאות הפסק מזהים באמצעות מספרים (0 עד 255) ולא באמצעות שם או
כתובת, כל תת-שגרה נקראת מנהל פסק (0162מ8ת %מגוז%61מ1) או שגרת שירות הפק
(ת15 - 6מ%1מסע 106טע502 %קטע-66מ1).
מספרי הפסק של כל מתשבי ה-26 הם אחידים, מערכת 205 שומרת בתחתית הציברון
(קטע %0000 היסט 80000) מצביעים לכל מנהלי הפסק, כל מצביע הוא בן 4 בתים
(2: מלים), המלה הראשונה מכילה את ההיסט והמלה השניה מכילה את הקטע.
בטבלה זו יכולים להיות עד 256 איברים, כלומר גודלה א1. כאשר מתקבלת הוראת
פסק, ה-פס פונה לטבלת וקטור הפסק וקורא את הכתובת המפעילה את השגרה
המתאימה.
בהנדסה, מגדירים -וקטור על ידי כיוון: וגודל? תוכניתני מערכות | משתמשים
לעיתים קרובות במונח זה כדי להתייחס לכתובות, כי כדי לעבור לכתובת חדשה
צריך לדעת את הכיוון ואת המרתק שמבקשים לעבור.
פרק 18: שירותי פסק 623
טבלה 18.1 מכילה את רשימת פעולות הפסק.
טבלה 18.1
טבלת וקטור הפטק
פסק | | = = גורם
00 חילוק באפס
1+ צעד אחד (בניפוי)
2 פסק שאינו בר-מיסוך (זאא)
3 נקודת עצירה: (בנלפוי)
4 . גלישה :
5 הדפסת מסך '
6 קוד בלתי תקין 2
7 הרתבת המעבד אינה | קיימת.
= 508 שעון התומרה
09| פסק מקלדת
0 שמור ל-05פ- וא
| תקשורת א-סינכרונית (0042) >
0 | תקשורת א-סינכרונית (0081) =
ע%0 | בקר דיסק קשיח
--. בקר תקליטון -:
בל בקר מדפסת
0 שרות ודאו,
1+ בדיקת תצורת ציוד
2+ בדיקת גודל זיכרון
3 - מנהל תקליטון/ דיסק קשיח (%%/26)
4 מנהל נקודת תיבור לתקשורת 2
5 פונקציות זר לקלטת, | לט פלט;, זת/6
6 מנהל מקלדת
7 | מגנהל מדפסת
18 קוד כניסה ל-8106ג8 אס
9 טעינת מטען תיחול .
גו% | קרא/קבע שעון זמן אמת
18 מנהל 68%ע0621-82 2
86 תקתוק השעון 2 6 פעמים בשנית).
המשך הטבלה בדף הבא .-
4 חלק ג" תכנות מתקדם ו
המשך טבלה 18.1 טבלת וקטור הפסק
פסק גורם
פו+ מצביע לטבלת הפרמטרים של הווידאו
4% מצביע לטבלת הפרמטרים של הדיסק
עו מצביע לטבלת התווים הגרפיים (תווי 25011 255-128)
20 סיום תוכנית (לא בתוקף)
1+ קריאה לפונקציות 05פ-5א
2 כתובת סיום תוכנית נקראת
3 כתובת 1-6ע0%2
24 מטפל שגיאות חמורות
5 קריאה מוחלטת מדיסק
26 כתיבה מוחלטת לדיסק
7 סיים והישאר תושב (לא בתוקף)
8 שמור ל-5-05א
29 בקרת הדפסה
0 שמור ל-85-08 |
20 מנהל תקליטון (20/%2)
1 טבלת פרמטרים לדיטק קשית
2 שמור ל-05פ-5 |
44 טבלת תווים גרפיים. של ה-5נ0ע (קודים 0-מעע).
5 שמור ל-05פ-5א
0 להגדרה על ידי משתמשים
8 לא בשימוש
0 שמור ל-85816
6 מפרש 6דפת5
41 לא בשימוש
כאשר שתי הוראות פסק מתקבלות בעת ובעונה אחת, מתבצעת תתילה הפעולה
שמספרה נמוך יותר.
עיון בטבלת וקטור הפסק
הכתובות שבטבלת וקטור הפסק הן כתובותיהן של השגרות שיש לבצע. באמצעות
כתובת זאת ה-620 "יודע" מהי הפעולה שעליו לבצע.
| | : > פרק 18: שירותי פסק 625
הפרוצדורה 66615060 מחזירה כתובת של פסק נתון. באמצעות פרוצדורה זו
(המהווה חלק מתוכנית 881ג'1א1 שבתדפיס 18,1) ניתן לעיין בתוכנה של טבלת
וקטור הפסק.
תדפיס 18.1
; 1801 תהידססיזן
= ;205 68פט >
ְ 6ע+
;| 2 ]שת1ע80 = 2קתנע%פ
|[ 4 ]קת1ע8% = 4שת1עלפ
"יט יפש
1.5
> ;96ע : = עסמתנא+ת1
כב :00010988 760%
/ 6 : ב ) 16סטץ11020 תס61סתנגת
השס
( עסמות+ 48 )0 =: 6 הסמ 12 > עסמותא( 11
; ( ע6מתגא+ 55 )ג =: 16ממעאא119 6186
; תס
,0שַת5%?1 : ( 66עם : שססתג( )608ע2א110 תס%1סתגת
: כ ּ תגקסס
; ( 16 6סו עססווא )16מסץ)אס + ( 16 טג6 מססותט )16ממץאאס =: 665עמאסת
7
.55:14 : ( בעסא : עססתט )11000/005 תס61סתגת
תז1שסס :
; ( 1 ו + ( ( עסמותטא) 111 ) 100008 =: ב6עס)אסו |
/%- ; תס
תנשסס
תנשסס 60 5 %0 0 =: 1 עס+
תנשסס 60 15 %0 0 =: [ ש0ס+
2 תנשסס 00 5 60 0 =: א עס+
(8*6א + [.+ 1*64 =: לסמתתו[%ת1
; ( 60%502002088/ , נסמותגלת1 )051600
,?: ( לסמתט[ףת1 ) 060 אס )0 יו
-5:( ( "760%6020020857 )568 )פעסאסון | :
5 ( *760%020070887 )025 ) פחעסאסנן ו
| ; 6
; ת001 יש ,
; תס
; הז08/1י1
;60 >
-
תוכנית היאד יוצרת 4 דפים של 64 פעולות פסק. הדף הראשון מתואר בתרשים
11
56 חלק ג': | תכנות מתקדם ב
| תרשים .18 =
<< כתובותיהם של 64 שירותי" הפסק הראשונים
ומת 2308 38 4 894 20 1 18 20945 88
68 800 31 894 21 0 11 3 0 81
0 0000 32 04 22 1 ₪ 12 3 000 82
0 0000 33 5 2845 23 008 13 3 007 83
0 מ 34 204 24 9 000 14 בל 7 4
8 0 פב 8 03 25 9 00 15 4 000 85
08 00 36 6 0873 20 ₪ 16 3 000 86
0 0 37 0023 27 5 0094 17 3 00 ₪7
4 | 38 -- 8872 8073 28 8 000 18 5 000 ₪8
מ 39 1 0 293 080 19 8 0094 89
08 ₪000 30 04מ0נ 0 2 | ם6ע] 008ק 10 -- ב2ת 708 80
0 000 38 8 ₪080 28 7 ?2 18 3 7000 08
0 80090 36 -- 0008 0008 20 0 7753 7808 16 ב2ץץ 000 ₪6
084 0 פב 04 2 7004 70860 12 5 00 ₪5
08 00 מב 3 ₪584 28 2 0000 15 7 0 5
6 2845 37 48 00 27 -- 0000 000ץ ק1 בק 0
כאשר מפעילים תוכנית המנסה לחלק מספר ב-0, המעבד יוצר פסק 0. ה-טפס עוצר
את התוכנית ומפעיל את השגרה שבקטע ש%828 היסט %000₪, כבאשר השגרה מסתיימת,
ה-20ס תוזר לפעילות המקורית. |
חלק גדול מאיברי וקטור הפסק אינו נמצא בשימוש.
יתכן שה-26 שלך משתמש בכתובות אחרות, יש מערכות המודעות לעובדה שטבלת
וקטור הפסק מיועדת לשגרות המסתיימות בהוראת תזרה - אתטסעמפת - ובמקום
לטעון אפסים באיברים יהריקים של טבלת וקטור הפסק, הן טוענות באיברים
= אלה כתובות של שגרות המכילות הוראת "אפטעיעת" בלבד, כך נמנעת "תקיעה" של
המערכת במקרה של הפעלת פסק בלתי מוגדר.
קריאה לפסק
תוכנית טורבו פסקל יכולה לבצע כל פסק באמצעות הפרוצדורה :%6מ1, שתצורתה:
;( 3605 ,מססתטא>ת1 ):נ6מד
עסמתגוא%ת1 הוא מספר הפסק שיתבצע ו-645ת הוא מבנה נתונים מטיפוס:
פרק 18: שירותי פסק 627
60026ת = 60185628
5 תד 86|
| ;(26סא :1888ע, - ו ,דפ,פם,אכ,א0,אם,את) :0 =
((6ע8 :םס סט .זם,ות,.דת) :1 |
ו
להוראות פסק רבות כפופות פונקציות או אופציות. חלק מפעולות הפסק. מתניר
ערכים בתום הביצוע, השימוש באוגרים משתנה מפסק | לפסק, אולם העברת
הארגומנטים. מחתוכנית לפסק מתבצעת תמיד באמצעות רות 9
פסק מספר 5 - פונקציית.. > הדפסת המסך - הוא שגרת 8 שימושית. תוכנית
פא (תדפיס 18,2) משתמשת בלולאת ש0+ כדי למלא את המסך במספרים ומפעילה
את מ50260 שמגצע באמצעות צ%חד. שים לב: במקרה זה אן צורך להעביר פרמטרים
ו מהתוכנית לפסק.
תדפיט 182 .
; 11690 תפינקסנק > |
,208 868 י
שאט ו
| ;6עסש :'1 70
וק פססמוכן ו
| 3
[ ע1תס 0 ן 1שסת | : מססת
תנשסם
;( משסת ,5 )עפתך
ות
מנשסס
3 3 ו 0 702 %0 0 =: 1 ע10 |
. ; תססינספ4תגינק
1
כבאשר מפעילים פסק, המעבד מחפש את כתובתו בטבלת' וקטור הפסק. הטבלה מתחילה
בנקודה. הנמוכה ביותר. בזיכרון (קטע 0 היסט 0) ומכילה מלת קטע והיסט. לבל
איבר, ולכן ניתן לחשב את כתובתה של שגרת הפסק על :די הכפלת מספר הפסק >
ב-4, הכתובת של פסק מספר 5 היא על כן %0000:%0014 (20 עשרוני). לאחר
האיתור המעבד קופצ לכתובת ומבצע את ההוראות שבשגרת הפסק.. באשר השגרה
מסתיימת, הפיקות .עובר את השורה הבאה בתוכנית.:
8( חלק ג': תכנות מתקדם
החלפת פסק
כאשר חברת אינטל הכריזה על עיצוב ה-8086, היא שריינה לעצמה את 32 פעולות
הפסק הראשונות, המוצר הסופי לא השתמש בכל פעולות הפסק הללו, ולכן חברת
8% הגדירה מחדש את פסק 805 עד ע%1. חברת אינטל המשיכה להתייחס לפעולות
פסק אלה כאל פעולות שמורות, ובסופו של דבר נוצרו בעיות תאימות, בעיקר
ב -80286. וב-80386.
כדי שהתוכנה תוכל לשמור על "תאימות כלפי מטה" (כלומר כדי שתוכנית שתוכננה
עבור ה-80386 תוכל לפעול בהצלתה גם ב-8086), יש להיצמד להגדרות של אפד
במקרה של אי התאמה, למשל: אינטל כללה ב-80286 (שבו משתמש ה-*ַ) הוראות
מתותכמות המפעילות את פסק מספר 5 כאשר אינדקס תורג מתחום של מערך. לעומת
זאת, חברת 18% משתמשת בפסק מספר 5 כדי להדפיס מסך, ולכן, במקרה של גלישת
אינדקס ב-80286, מודפס המסן.
תוכניות המסתמכות על הכשרים המתקדמים של ה-80286 וה-80386 חייבות להחליף
את מנהלי הפסק הבלתי רצויים בגרסה מתאימה.
לא רק יישומים מתוחכמים משתמשים בהוראות פסק מותאמות, בטורבו פסקל גורם |
חילוק ב -0 לנפילת: התוכנית בגלל שגיאת הרצה, הדבר מודגם בתוכנית 20801
שבתדפיס 3, התוכנית תסתיים לפני סיום העיבוד.
תדפיס 18.3
ויו"
; 20101 ותהשסינן
;6 : 0ע202
2000 := 1
;( 2 טגה 10 )ת[100ישט
; ( 0ע20 ט61 1 )ת1601יש
; ( 4 טגה ₪0 )ת1501יש
: ; ( 7 ט61 72 )1501
: : . תס
הפלט של 22801 הוא:
: .
5 ₪0 200 עסעעס סתנפתטת
| | פרק 18: שירותי פסק 629
התוכנית לא תגיע לעולם לפעולה השלישית והרביעית, כיוון שהיא תופסק לפני
כן,. במקרה זה הנפילה אינה גורמת לתוצאות חמורות, אולם במקרים אחרים עלול
להיגרם נזק אם הנפילה מתרתשת לפני שיש אפשרות לשמור או להדפיס את :
העיבודים שהתבצעו עד כה.
כאשר מחלקים מספר ב-0 אי אפשר לתשב את התוצאה, ולמעשה ה-טפס מודיע במקרה
זה שהתוכנית מכילה שגיאה חמורה.
כאשר ה-20ס נתקל בתילוק ב-0 הוא מפעיל את פסק מספר 0, אם נשנה פסק זה,
נוכל לגרום לתוכנית להתנהג אחרת במקרה של תקלה כזו, לשם כך עלינו לכתוב
שגרת פסק חדשה ולהציבה במקום שגרת שירות הפסק (158) הקיימת, שגרות כאלה
נכתבות בדרך כלל על ידי המערכת, אולם כתיבתן בטורבו פסקל אינה מסובכת.
שגרת פסק דומה לפרוצדורה רגילה של טורבו פסקל, אולם מיד אתרי הכרזת
הכותרת יש להשתמש במלה השמורה 6סגוע:56מצ, יש להכריז על פרוצדורת פסק עם
פרמטרים של אוגרים. התצורה היא:
;( עס : פם,5,₪5כ,ד,51, אכ א6, אם,את,45,06,15ה13ץ )01 6מגו60ססמס |
%קגוץ6ת1
ת1סס .
1
;תס
ניתן להשמיט פרמטרים בהתאם לצורך. אם למשל אתה זקוק לאוגר 8% בלבד, תוכל
להגדיר את הפרוצדורה כן:
;( העסש : עם,5ם,5כ, דכ,51, אכ א2%,0 )05601158 6עגו6ס6ססמסם
כאשר לא משתמשים באוגרים להעברת נתונים, אין צורך להכריז עליהם כפרמטרים.
בדוגמאוּת שבספר זה כללנו את כל האוגרים.
כאשר ה-188 מופעל על ידי פסק חומרה, אי אפשר לכלול בו קלט או פלט של
טורבו פסקל, פרוצדורות להקצאה דינמית של זיכרון או הוראות פסק של ה-105
או 05ם. | |
0 חלק ג'י תכנות מתקדם
יש להניח שתרצה לשנות את הוראות הפסק כל עוד התוכנית מתבצעת, ולכן עליך
לשמור את. הכתובת המקורית ולשחתזרה כאשר התוכנית מסתיימת.
פרוצדורת 666126060 של טורבו פסקל שולפת את הכתובת הנוכחית של מנהל הפסק.
הפרוצדורה %6/60מ8661 משנה את הכתובת שבטבלת וקטור הפסק. |
תוכנית 28802 (תדפיס 18.4) מדגימה כיצד ניתן לשמור את הכתובת של פסק 0,
להציב במקומה כתובת של שגרת פסק חדשה, ולשחזר את הכתובת המקורית בסיום.
תדפיס 18.4
20106 תפיוססינסן
;208 098פגו
ב
(96עם : 200
;ע6סת1סס : 587610%0
; ( סא : קם, פם, פם, 1ם, 51, אס, א0, אם, א3, 1, 05, 1908 )2020017166 6עטו6סססכן
; לכ 1%
תנשסס
( '!0ע20 עס 6171696 לפון גוסצ' )ת1%91עש
תס
: תנשס
; ( %0ת58061 ,800 )%760ת06%1
; ( 0010106ע626 ,800 )56%1(%760
2900 :=
;( 2 צ61 10 )ת601גישט
[ ( 0ע26 טצ61 172 )ת661גישט
;( 4 ט81 80 )ת%61גיש
;( 7 ט61 72 )ת1%01יש
; ( %0ת58061 ,800 )6760ת50%1
. תס
הפלט של 2802 הוא:
5
!2020 עַכם 811666 ספטך גוסצ
2
/
10
פרק 18: שירותי פס 1
שים לב: כאשר התוכנית מבצעת חילוק ב-0, פעולתה אינה מופסקת. היא מציגה
אזהרה וממשיכה לפעול. פעולת התילוק לא התבצעה, ולכן התוכנית מציגה את
המספר המקורי - 172.
התקנת פסק
כפי שנראה 52 ש הבדל בין החלפת מנהל. פסק וביך קרי של פטק חדש.
כדי להתקין פסק חדש, יש לאתר כתובת פנויה בווקטור הפסק (אם תעיין בתוצאות
של תוכנית הדא תראה שקיימות כתובות פנויות רבות).
תוכנית 0 שבתדפיס 18.5 מדגימה העברת פְרְמָרטִים ל-188, - הפרוצדורה.
08 משמשת לשמירה ולשחזור של שלושה מסכים, ב- 5080188 מציבים באוגר
אג 1, 2 או 3 כדי לשמור על תוכן מסך ו-4, 5 או 6 כדי לשתזרו. | |
תדפיס 18.5 >
1 ותפיפשסיזס,
= ;006,208 ספ
0%
71600906 = 4800
9 ינפש
;סש 1 00 7
0ס18שסת = משסת
(ע%6ת1ס : 6ע98ע60%0ט
ש - נ 9 .0 1 ייצ + 1 468 [ עיינ 1
;( 6עסש : סם, 5 - צס, 1 את = ,ת 28 3 רי 0 סינגוסססתסן
ְּ ;5כתע%60ת1
3 ב
8 נ6תסש 1 1
: תנשסס
07 0 = 01 4% .0836
| 60 1999 50 0 =: 1 ע0+ : 01.8 0
1 : 660566גט ]60 =: [ 1 ,א4 ]ע1:8 71060 :
- 0-7 0 1999 80 0 =: 1 ע0+ : 4.:6
;[ 1 ,48-8 ]/8ע:1060ט =: [ 1 : שספסססנט ]סק 00.78
;ַתָ >
7 , : תנשפט.
; ( 7005029806 ,954 - )15780 00%
8 60 , 954 )100 89%
תדפיס 18.5 ממשיך בדף הבא
2 חלק ג': תכנות מתקדם | |
המשך תדפיס 18.5
(( 1 )106יא 00 702 0ף 2 =: 1 עס1
=: 2%8. פקסת
(( בשסת ,954 )ע5תך
5 ' )156 ;( 10 ,1 )0050
;( ' סעסת שת1עהססקה 1 סת11 099826 558005 ' )150-א ;( 11 ,1 )צא00%0
;( ' סעסם שת1צסקקה 2 6ת11 2099880 5גו8181 ' )9150 ;( 12 ,1 )00600
5 ' )יט ;( 15 ,1 )אס
; ת[פסת
;4 =: 8ב. פססת
% מססון 5 )ינשו
; ת[ספסת
; ( 7005029806 ,954 )5016700
. תס
מ ה תססרברררר-'
תוכנית 5081581 ממלאה את המסך בספרות, שומרת על תוכנו באמצעות הפרוצדורה
8 ומציגה את ההודעה שבתרשים 18.2:
תרשיס 18.2 התצוגה המקורית של תוכנית 5081561.
4 ,992299292 9999792222 222 ]11 ]ץ]/ ,]1221
ו
1 , ,| |--="--כ=-|-ם|ם/----- 'ע "--
9/9/9291 ם/ | //22ןץ]]])')).)'
ו
25/9799 79ר797999,,ְ,ְ, ,77 17
22 ץ72/792ץןך22/(2 2 2 חח ם/(פְְַַםַםֶַַ 7,727 ,"""''
7-9( (((222((322222פ2,7,22((0/(('/,2/2 2222
07/ץ][ם/22 =-=---"כ-ץ-"-"-כ-ץ"ץ ,| || -| | 0 2-2
0/0,(.("700023(((/ "9"
9 7 7 ,1477779727 סעסת צה1תהסקקהּ 1 6ה11 8055886 5+3%₪15
125235225430535 34834935035/ 2343344345234634 הצסת צה1תהקעהּ 2 6ה11 6צב5פקת 5+8%565
23| --------- |(
90 ץ-|--/-/מ-/ץ|||---||-|- || -'/ 0-2
9922/2992 1/2722 52///// ,111
4 999 9 6437438439440441442443444445446447/448449450451452453454452450405
1/0 /2ת/2/ּ1כ0/ץ,ן,,,, ]/ "ץע"
1 135145 125 15 1 100 75009095 49049149249349449549649749849950050150200350450550650
15420 3453593053752052954054 65175185195205215225235245255265275289295305315325335
9 0ס15629035046500656 956656 752855 355455655 155255 4354454554654/54854955055
שב קר שכר מ 7 יו ג שור ל שש ונוג מש ג היה ג הת זנ הש תג הנ ו ווה ה ור דר יר רוי
706 5 ץ"""פ6 "ץ"ץע""ץחץ"""ץ""ץץ*ץ?"-"ץ ץע" "0 0
9 ץ ,| ,| -/]-/||--=ץ- | //-/-----/---/--//-/--/ 2-0
מו שי די 0 יווהה ה 0311 דר רו ו
72/מ-מ-|) )| ם )| /--כ=ץ""ץ"""" "ץע" 7" "5" -----,-| 9"
ת222.- ו ץ ו וו
2 | פרק 18: שירותי פסק 633
לחיצת שססתא מפעילה : את 182ת560266 שנית, ומציגה את המסך המקורי (תרשים
3):
תרשים 3 המסך ששוחזר בתוכנית 5081581
7 || ||
4 ,,,,,,ךֶַך,ך,ֶ,ֶ 9 19-00
1 םָ]],]59572222ם/| || ---|---| |"
[ 279 7,272(
39 2722229222 ,134,222
99999 2993979299" ""[[[[[1
7 2222229922 ,.("],".-
,9997999799 7272992729 .."...
2727272777 2,229 "0 0-7 ",2520 "292
2292922222 קתץתץ"7 7 11|("
7920222229 72972 "97"
3303313323333242335233633733832924023412422433442452463473402493502351352352335435535-
3 ץץץץ,,,,רר,,,",,77רְ2727272727272772772 7" "999999 עפ 9
833043853863873803893903913923933943953962397398399480401482403404405406407408409
ב ְ7ַ/27ְ/ְֶַ2ָצ922ִכץֶַץַץְַ/ַָ/ץ ,11
4 14524524544504504155 643742843944044144244244444544644744844945045
- 408409 6246446546646746046947847147247247447547647747047940840140240240440540640
1 109 5085095 350458500658 150250 49849149249349449549649749049950056
154205 153253352453553653753053954054 3 305 75289295 152252352452552052 1952052 65175105
9-כ 70950000 1552553554 פ435445455405475485495505
67/0/29 735745755 15725 57057
210226, 977 7008009010 16826₪3600460560600 659759059908860
= 7640649 2362462562002762062963063163263363462563003763063964064164264364464564664
.7567 1672673646 78067 76086696 206300466900066 106 7050699066860 165265309465509065 65865
2 999 99 ו ,,ץ,ְ,, ""-]))')'))
ביטול פסק
בעת תיחול המחשב, מצביעה כתובת מנהל הגלישות להוראת חזרה מפרוצדורה (קוד
ע'שפד) כלומר, כאשר מפעילים את פסק הגלישה מופעלת פרוצדורה המחצירה את
הפיקות לשורה הבאה של התוכנית.
אם התלטת, לאחר ששקלת את העניין היטב, לבטל פסק מסוים, תוכל לעשות זאת
על ידי החלפת כתובת הפסק שאתה מבקש לבטל בכתובת של פסק הגלישה, כדי לבטל
את הפסק המופעל על ידי חילוק ב-0, ה ו מצביע משתנה (במקרה. אה
| וי בפקודות:
| ;( אעסא:0ג ,904 0
;( אעסאנת ,800 )56616766
4 חלק ג" תכנות מתקדם
לאתר ביצוע הוראות אלה, חילוק ב-0 ייצור תוצאה אלגברית בלתי צפויה, אך לא
יפיל את התוכנית.
תוכנית 2158181 (תדפיס 18.6) משתמשת בטכניקה זו כדי לבטל, זמנית, את
| פונקציית הדפסת המסן:
תדפיס 18.6
; 21582161 תהשפסיק
; 209 ₪869
ינפש
סעסש 1 1
[ 610081 ] | ;עססתנסק : %5ת50061
; ת1100200י00 .218821 6עגו60ססע
יפש
זס6ת1ס : %4ת0071
תגשסס
; ( %5ת58761 ,905 )%6760ת00%1
; ( 266+10%4 ,904 )66%106760
; ( %4ת240001 ,905 )%780ת96%1
תס
; ת650760ת 01 [מפוצ 6ינגוססססט
תנשסט
; ( %5ת58761 ,%05 )%760ת50%1
-
תנפסס
[ מ80200 סט 1118 ] - ;( 1 )156 60 708 60 0 =: 1 עס+
; 6611 גיט
; ( '6082100 18 ת00ע50 סתנעק' )ת1%61-ש
ת[090י1
; ז050100ת נינ0 [מת58 1
; ( '815821060 15 ת60ע50 פת1געע' )ת1%91ישט
; ת[08י
; ת00ע11650ינק0 [מפתין
; ( '80108ת0 15 ת00ע50 %תנגעק' )ת1461יש
; ה080111י
. תס
תוכנית 1588181 ממלאה את המסך בספרות ומציגה את ההודעה 15 ת50260 6>מ1נפ
46, בנקודה זו ניתן עדיין להדפיס את תוכן המסן. לחיצה על שפס6מע
גורמת לביטול פסק מספר 5, על :די ניתוב וקטור הפסק לשגרה ריקה, לתיצה
נוספת על עס6>םע משתזרת את הכתובת המקורית ומאפשרת להדפיס את המסן.
התוכנית מסתיימת בלתיצת משססתש נוספת. |
.0 2 ל | פרק 18 שירותי פסק 635
הגדרת שגרות פסק. - אמצעי זהירות
= לפני שתחליט לשנות הגדרה של פסק כ עליך: להתייחס בכובד ראש למספר
סוגיות:
כל פסק זוכה לתשומת ליבו המלאה של ה-שפס, ולכן כל פסק חייב להודיע ל-טפס
בדיוק רב מהי הפעולה שעליו לבצע ולאפשר לו חזרה "חלקה" לפעילות הרגילה.
תוכנית שלא נכתבה או נופתה כהלכה עלולה לגרום ל"תקיעה" של המחשב, כ
לכבות את המחשב או לבצע תיחול מחודש.
הפעלה של פסק לא נכון עלולה לגרום לבעיות חמורות יותר: מתיקה או נזק
לקבצים או לדיסק ק, או שינוי ערכי ה-אתת, שיגרמו לתקלה שתאותר רק במועד
מאוחר יותר.
המסר הכללי | הוא - זהירות!, תשוב היטב לָפני שתבצע פעולה כלשהי, נפה את"
התוכניות היטב ואל תכלול בהן הוראות "מסוכנות", כמו כתיבה על דיסק, .לפני
בדיקה מעמיקה של התוצאות, ותשוב מכול: ערוך גיבויים תכופים.
סיכום |
בפרק זה למדת שפסק הוא אות הגורם ל- -620 לְהפסיק את הפעולה שהוא מבצע
ולפנות מייד לביצוע ההוראות שבאחת מ-256 הפרוצדורות המוגדרות מראש. כל
פרוצדורה כזו נקראת שגרת שירות פסק (158), וכתובתה נשמרת בטבלת ו
הפסק שבתתתית הזיכרון.
למדת שניתן להפעיל פסק מחומרה אוו מתוכנה, פסקי חומרה נוצרים על ידי
התקנים. פיזיים (למשל מקלדת) ופסקי תוכנה מופעלים מ תוכניות טורבו פסקל
הקוראות לפרוצדורות 62 ו-5סספא. |
רוב הוראות הפסק הן שגרות. סטנדרטיות של 05 או של ה-105ם, למדת שטורבו
פסקל מעמיד לרשותך כלים ליצירת. פרוצדורות פסק פרטיות, ראית שניתן לשנות
את הכתובות שבטבלת וקטור הפסק ולגרום להן להצביע על הפרוצדורות שבתוכנית.
% בשלב זה אתה :ודע לשנות שגרות פסק, להגדיר שגרות פסק חדשות ולבטל
: שגרות פסק ו | - 8
פרק 19: תוכניות תושבות בזיברון | 637
9"
תוכנית תושבות בזיכרון
חברת 6ת18תסם הכריזה ב-1984 על תוכנת 16%א5168%, הכרזה זו גרמה למפנה
בתעשיית התוכנה, מרגע זה הפך השימוש בהוראות 205 הקשורות לתוכניות תושבות
בזיכרון (%מ100פת- ע5%8- 0מה- 8%6ת6:1ע' - 58ע') לחלק בלתי נפרד ממערכות
תוכנה.
היישומים המסחריים של יישומי 188 מכילים בדרך כלל טכניקות מתותכמות
לניהול זיכרון, המובנות רק לתוכניתני מערכות מיומנים, אולם העקרונות
הבסיסיים של ה-58' אינם קשים להבנה.
בפרק וה תלמד להשתמש בטורבו פסקל לכתיבה ולהתקנה של תוכניות פשוטות
ושימושיות שיהיו תושבות בזיכרון.
מבוא לתוכניות פיז
במערכת 208 קיים מצביע לכתובת שבה ניתן לטעון תוכנית, כאשר מפעילים סדרת
תוכניות, יתחילו כולן בנקודה 4
בפרק 12 למדת שקידומת קטע התוכנית | (9פע) מכילה את הכתובת הגבוהה ביותר של
התוכנית.
מה יקרה אם תוכנית תעתיק את הכתובת הגבוהה ביותר שלה למצביע המכיל את.
נקודת התחלה לטעינת תוכניות? פשוט מאוד, מערכת 205 תטען את כל התוכניות
הבאות לשטת שאתרי התוכנית המקורית, והתוכנית המקורית תישאר ביכרון גם
כאשר התוכניות החדשות תתבצענה. | .
/
8 תלק ג" תכנות מתקדם .
זה בדיוק מה שקורה בתוכניות תושבות בזיכרון. התוכנית התושבת (188) מחליפה
את ערך המצביע על תתחילת התוכניות ומציבה בו את ערך המצביע על נקודת הסיום
שלה, התוכניות הבאות ייטענו אחרי התוכנית התושבת ולא "יעלו" עליה.
כאשר טוענים מספר תוכניות תושבות (למשל 1% ו-0מ1מ6מ140 ססתגועי), הן
נטענות זו אחר זו.
- בתוכנית 158
לאחר שהצלחנו "לרמות" את מערכת 05כ ולגרום לה להשאיר את התוכנית התושבת
בזיכרון, עומד בפנינו אתגר נוסף - אופן הפניה לתוכנית התושבת.
גם כאן, כמו בכל תוכניות טורבו פסקל, מהווה הפרוצדורה את היחידה הבסיטית
השימושית ביותר, כאשר מפעילים תוכנית 98 ראשונה, ניתן להשתמש בפועל 6
כדי לקבוע את כתובתה של הפרוצדורה הרצויה ולרשום כתובת זו בקובץ. כל
תוכנית שתופעל אחר כך תקרא את הקובץ ותבצע את הפרוצדורה על ידי קריאה
רחוקה, כל פרוצדורה נוספת או משתנה נוסף יהיו רשומה חדשה בקובץ, כלומר
הקובץ יהווה למעשה טבלה של מצביעים.
ננסה לפשט את התהליך מעט, במקום לטרות ליצור ולקרוא טבלת מצביעים, נשתמש
בטבלה קיימת - טבלת וקטור הפסק, כדי לבצע זאת יש לכתוב את הפרוצדורה
התושבת בצורה של שגרת פסק (158), שהתוכניות הבאות יוכלו להפעיל באמצעות
הפרוצדורה ע6ת1. |
ננסה להדגים את התהליך, בפרק 18 הכרנו את תוכנית 5091591 אשר שומרת תוכן
של מסכים, מיד נערוך בתוכנית זו מספר שינויים ונהפוך אותה לתוכנית
תושבת. '
שימוש בפרוצדורה 660א
הפרוצדורה מ660 מסיימת תוכנית ומאפשרת לה להישאר תוכנית תושבת בציכרון.
נוסף לכך, הפרוצדורה מעבירה ל-205 פרמטר באורך מלה ו של הוראות
יציאח.
כאשר קוראים לפרוצדורה ק66א, היא מעתיקה מה-25פע את המצביע על ראש
הזיכרון, ומציבה אותו בווקטור שבו משתמשת מערכת 505 כדי למצוא את נקודת
| פרק 19: תוכניות תושבות בזיכרון 639
ההתחלה של התוכנית, פעולה זו הופכת את נקודת הסיום של התוכנית שהפעילה את
סא לכתובת של תחתית הציכרון עבור כל התוכניות הבאות.
בהתאם לברירת המחדל של טורבו פסקל, תוכניות תופסות את כל הזיכרון הפנוי
שנותר, ולכן המצביע על סוף התוכנית יכיל את הערך של הכתובת הגבוהה ביותר
בוכרון ה-26, כדי למנוע מצב כזה צריכה תוכנית עם 660 להשתמש בהוראת
המהדר [%%) כדי לצמצם ככל האפשר את השימוש בערימה, אם תשכת לבצע זאת,
תיאלץ לבצע תיחול מחדש של המחשב.
לכן גם אי אפשר להפעיל תוכנית האמורה להיות תוכנית תושבת בזיכרון מתוך
הסביבה המוכללת, תוכן ה-59ע חייב, במקרה זה, להיקבע על ידי התוכנית שלן,
ולא על ידי מאם,ספתטץע, בצע הידור לדיסק של תוכנית 258, צא מ-5אם, 0ספתטך
והפעל את התוכנית. מתוך 205, אל תפעיל תוכנית 259 מתוך מעטפת 05 של
טורבו.
הפרוצדורה 0ְ%96 משאירה את כל התוכנית בזיכרון, כולל הנתונים הכלליים,
הפרוצדורות והוראות התוכנית, ולכן ההוראות ל"שתילת" ה-158 בטבלת וקטור
הפסק צריכות להימצא בפרוצדורה נפרדת (או בתוכנית הראשית).
שמירת תוכנית
תוכנית 5031582 (תדפיס 19,1) מכילה שגרת פסק והוראות להתקנתה בזיכרון.
בחר אקראית את פסק %38, וודא שאיבר זה אכן פנוי, הפסק החדש יישאר בזיכרון
עד לתיחול הבא וישרת גם את התוכניות הבאות שיופעלו במהלך העבודה.
הדר את 5081882 והפעל את התוכנית מתוך 05כ. אל תפעיל. את, התוכנית עם
אופציית רת 8 של טורבו. | --
תדפיט 19.1
50198 תהפשסיז
( 0 ,0 ,1024 ₪1)
;205 69פגו
וס
,00 = 710009802
ופט
סש +04 [ 0..1999 ] קתעה 01 [ 1..5 ] עהעעה : עפעעהססטגנט
תדפיט 19.1 ממשיך בדף הבא
0 חלק ג" תכנות מתקדם |
המשך תדפיס 19.1
; ( 6עסא : קם, פם, פם, 1כ, 51, אס, אס, את, א 1 , 05, שרע )50100158 6ינגג0סססינכן
; 11501105
ינפש
(סעסש 1 1 |
תנקסס
1 א 0886
, 0 1999 %0 0 =: 1 ע0+ 1 1..8
| 1 : ש7166050 ]מס =: [ 28,71 ]עבעיסססוט
00 1999 %0 0 =: 1 ע0+ : 4..6
;[ 1 ,48-05 ]שָ71000278 =: [ 1 : ₪ספסס6ג7 ]חמסן
הסמ
; ( 6002661980 ,952 )%6/00ת56%51
; ( 0 )00
-
,
0 מציב את כתובת ההתחלה של הפרוצדורה 185מ80260 בטבלת וקטור
הפסק, הפרוצדורה קְ66א מטיימת את התוכנית עם קוד שגיאה 0 (סיום תקין). >
זכור: למרות שרק הפרוצדורה 158ת50260 מגיבה לפסק, התוכנית כולה נשארת
בזיכרון. | לכן ניתן לשמור את צ28ע2ת71660 כמשתנה כללי מחוץ לגוף
הפרוצדורה. 2
תוכנית 5031583 (תדפיס 19.2) ממלאה את המסך בספרות, מבצעת פסק 83 כדי
לשמור על תוכן המסן, מציגה הודעות, ומבצעת פעם נוספת את פסק ג%3 כדי
לשתזר את המסך, הפלט של התוכנית (המופעלת אחרי 5021882) זהה לפלט של
תוכנית 8081591 מהפרק הקודם.
תדפיט 19.2
50153 תהעשסינן
( 208, 01275 65פט
יצפטי
; סעסש 1 1
(8ע18%0קסת : פשסת
תנשסס.
;( 1 )106:א 60 708 %0 0 =: 1 עס+
תדפיס 19.2 ממשיך בדף הבא
פר 9 תוכניות תושבות. בזיכרון 641 '
= המשך תדפיס 19.2
: אה. פססת
(( פססת ,5 ) ע+תד
ו 9 0000 )1 ;( 1,710 )005007
;( 7" סעסם שת81ססק8 1 6ת11 0ק84פסת 810708 7 )166 ;( 11 ,1 )/א00%0
(( ' 6עסם קתנעהססתה 2 סת11 0089820 858005 " )156יא ;( 12 ,1 )צאס%סם
.| : כ" ' )196עא (( 15 ,1 )ע00%08
; ת01פסת
;4 =: א<ב. פקסת
סוגי תוכניות תושבות.
התוכניות התושבות מתחלקות. לתוכניות פעילות (805100) וסבילות בב
בהתאם לאופן הפעלתף |
תוכנית | סבילה מופעלת כחלק: ממהלך רגיל של תוכנית, הפרוצדורה 158מ50:60
היתה סבילה, שכן הופעלה לאחר שקראו לה מפורשות מתוך תוכנית אחרת.
= התוכניות התושבות המעניינות יותר הן הפועלות ללא הפסקה או מופעלות בלחיצה
על צירופי קלידים מסוימים, שאינם משמעותיים בתוכנית הנוכחית, תוכנית 5
פעילה משעה לעיתים את התוכנית הראשית.
יצירת תוכנית שעון תושבת:
ה-6ע מנהל את המעקב אחר הזמן באמצעות שעון של 19318 ,1 2אא. תדר זה נבתחר
כדי ש-64% (536 - פעימות (או תקתוקים) יתרחשו מדי שעה, כל תקתוק מפעיל
את פסק 8.
כלומר: פסק 8: מתרחש כ-18.2 פעמים בשניה, למזלנו, אין אנו חשים בפעולה זו
בזכות מהירותו של ה-6ע2, כאשר פסק 8 מופעל, מגדיל ה-188 שלו את הערך
שבארבעת הבתים שבכתובת 80040:%0060. המלה המתתילה ב-%0040:%4006₪ מכילה
את השעה והמלה המתחילה ב-80040:%0066 מכילה את מספר התקתוקים שהתרחשו
2 חלק ג" תכנות מתקדם
מתחילת השעה הנוכחית, הפעולה האתרונה המתבצעת על ידי ה-188 נשל פסק 8 היא
הפעלה של 0 6 - תקתוק של קב הומך.
בעת תיחול ה-6ק אין פסק 6 ב -1898, והאיבר המתאים שבטבלת וקטור הפסק
מצביע על הוראת חזרה. אם תתקין 158 פרטי בפסק 65, תוכל לההשרר בפעולת
ה-26 שלך 2 פעמים בשניה. =
ו - קוצב הזמן
נדגים את התהלין: תוכנית 000% (תדפיס 19,3) מציגה שעון בפינה הימנית
העליונה של המסן. תצורת השעון היא 55:אאיאא, התוכנית טוענת ערכים
התחלתיים במשתנים עטסז, 66גותגא ו-6ב5600, ומתקינה בפסק %10 1588 בשם
| 16אסם5, מרגע זה ואילך מופעל 6חג'שטסם5 18,2 פעמים בשניה ומעלה את
מונה 7106%'מ6ו1ע', המונה 560056 גדל בתקתוק 18., הערך שבמונה 66>טתגא עולה
בהגדלה ה-60 של 6מ5900, והערך שבמונה עגוסא עולה בהגדלה ה-60 של 66גות1ו,
השעה נכתבת ישירות לזכרון הווידאו, אתת לשניה.
הדר את תוכנית. יי ובצע אותה ישירות מתוך 05כ. אל תבצע את התוכנית
באמצעות האורבת מעטפת 05 9 טורבו.
תדפיס 19.3
; 0100 הטסיו
- 4 ,0 ,1024 א
;05 08פגו
לפס
,00 = 71600908 |
6 שפטה
;סש : 110%עסת11 ,960100 ,0ת9000 , 66גותגז , ינגטוסון
; ( 6עסא : קם, פם, פם, ז, 51, אס, א0, את, א, 1 , 05, 1368 )השס 6יגוססספכן
; לכגרניז0 +11
תנפסס
; ( 1108ינסוגע )סתד
תנפסס הסג 18 = 07110%ת71 11
;₪ =: 10%זינסו גי
; ( 8ת5600 )סתד
ת1קסט תפמ 60 = 6ת9000 11
;2 =: 6ת5600
; ( 6סגו(1]11 )סת1
ו ה הסמ 60 = ססגותג] 12
תדפיט 3 ממשיך בדף הבא
המשך תדפיס 19.3.
;2 =: 66גותון
; ( שגטסו )סתך
;0 =: שטסגז תסמ 25 = עטס 14 7
>
2 : ;תס
;10 ט01 פטס + 48 =: [ 144 : 5 ]חן
,0 06 עטס + 48 =: [ 146 : 71860568 ]חס
((':0)7עס =: [ 148 : 71060502 ]תסו
,0 ט01 66טתגא + 48 =: [ 150 : 71060508 ]תס >
;10 6סת 66גות1] + 48 [ 152 : 71660502 ]חס
- ;(':')0עס =: [ 154 : 71660502 ]מו
,10 01 990008 + 48 [ 156 : 71860806 ]תו
(0 ₪06 800008 + 48 [ 158 : 7166050 ]תס
; תס
תס
: | ת1שסס.
/0 =: 10%]עסות1יך
/ 0 0 2 ,1156 זגוס11 ) 00%1'10
; ( שות1'/וסבט6 ,410 )56%1(%6780
;( 0 )060 ||
0-ו
קריאה לשגרות ה-8105
הכתיבה לזיכרון עלולה להיות מייגעת,. מדוע אם כן לא השתמשנו בשגרות טורבו
פסקל כמו 0% (ה92156?.
לא עשינו זאת כיוון ששגרות 05 | אינן מאפשרות הת*יחסות . חוזרת לערכים.
שגרות 205 שומרות נתונים במערכת אחת של משתנים, כאשר כל פניה לשגרה
< "עולה" על הנתונים הנמצאים כבר באותם משתנים, יש סיכוי סביר שהכתובות
שבשטחים הללו ישתנו בין ההפעלות. של פרוצדודות טורבו פסקל. או שה-158'
- יופעל בוו ו על לו ו אחר.:
158 פעיל חייב אם כן לוודא שאינו קורא 8 5 המופעלת גם היא על
ידי התוכנית הראשית הפועלת. באותו רגע. אחת 0 לעקיפת הבעיה היא כתיבה
| ישירה ול הווידאו.
פרק 19: תוכניות תושבות בזיכרון 643.
4 חלק ג" תכנות מתקדם | ל
בעיה זו מתעוררת רק כאשר 158' - כמו תוכנית 000% - מופעל על ידי פסק
חומרה, בפסקי תוכנה המופעלים על ידי התוכנית תייבות כל ההוראות שלפני
הוראת 65ת1 להסתיים לפני ביצוע ההוראה, לכן ניתן להשתמש בכל פרוצדורה
של ה-105, 205 או טורבו פסקל בבטחה, ולדעת ששגרה זו אינה מתבצעת ברגע זה
במקום אחר במחשב, אין לאפשר ל-158 לקרוא לעצמו.
פניה לקוצב הזמן
= השעון מתאים ל-18.2 תקתוקים בשניה, ולכן תיתכן סטיה של 40 שניות בשעה.
תוכנית 01200680 שבתדפיס 19.4 היא גרסה משופרת של תוכנית השעון. התוכנית
קוראת את שעון המערכת (ארבעה הבתים שבתתילת %0040:%0060 ומתשבת מחדש את
השעה.
הדר את תוכנית 60000 ובצע אותה מתוך 05פ, אל תשתמש באופציית מעטפת 05 של
טורבו.
תדפיטס 19.4
010040 פיקס
[ 1084 ,0 ,1024 6₪0)
,208 08פגו
. וס
;99800 = 90₪סס716
צ':/ן
;6 : א110יסותג
(סתסש 1 שגוסות
, ס6גות 11
גלת1שַתס1 : 560034
;( 6עסא : סם, פם, פם, זק, 51, אס, א0, אם, א3, 1 , 05, 198 )וג שסם9 6ינגוססססיכן
; %כגרנינ0 1%
תנשסס
; ( סג[ עסותג' )סתד
תנשסס תסמל 18 = א02110ת1ך 12
: ;0 =: 110% סותגיך
,24 06 [ מ940:86 ]קמס =: - קטסם
- ;1 840:860 ]680 =: 6סגותגזן
,0 סו (5461 ט61 (5 * 6סגותנ1א)) =: ססגותמן
;]1 940:860 ]0 =: 86ת9000
,7 6סת (91 טצ61 (5 * 6ת5600)) =: 6ַת5000
ט:61 עטס + 48 =: [ 144 : 71060508 ]חס
₪06 עטסו] + 48 =: [ 146 : ש7166050 ]חן
;(':')0עס =: [ 148 : 01660502 ]חס
= תדפיט 19.4 ממשיך בדף הבא
פרק 19: תוכניות תושבות בזיכרון 645
המשך תדפיט 19.4
;0 טג6 6סגות1 + 48 =: [ 150 : שספססהנ7 |חסא
;0 08 6סגות1]] + 48 =: [ 152 : 86056₪נ71 ]תסו
((':')6עס =: [ 154 : ש71866050 |חסא
(10 ט61 6ת8600 + 48 =: [ 156 : 71890506 ]מס[ >
,10 ₪06 900006 + 48 =: [ 158 : ש7160090 ]מס
; תס
0 -
ת1נשסס
;0 =: א1108עסת1
; ( שחג][שס69 ,810 )%760ת56%1
;( 0 )סא
= . תס
שים לב: 66ג1ומ1 מוכפל ב-5 ומתולק ב-5461; 6מ5600 מוכפל ב-5 ומחולק ב-91.
תהליך אה מתבסס על העובדה שקיימים 65,536 תקתוקים בשעה.
65536 > 1 65,536 - -
00 5 = 60%60 | 5
כאשר משתמשים בטכניקה זנ הסטיות אינן נצברות.
שים לב: הפרוצדורה 1116'שסם5 מופעלת 18,2 פעמים בשניה 2 התצוגה משתנה רק
לאחר כל 18 תקתוקים.
הוספת שעון מעורר
ניתן להוסיף לתוכנית "שעון מעורר", שיגרום להבהוב התצוגה בפסקי ומן
קבועים, תוכנית אתת1 שבתדפיס 19.5 מבצעת זאת.
הדר את תוכנית אתּג.1ת ובצע אותה מתוך 5 אל תשתמש באופציית מעטפת 058 של
טורבו.
6 תלק ג" תכנות מתקדם
תדפיט 19.5
; הרדה 41 ותהששסידן
[ 1084 ,0 ,1024 608
208 68פגו
%פתסס
,00 = קספססבו1ץ
ינפש
10 ,
, 560100 , 9000 , 66גות1 , נגוסת
; סש : 6סגות ]הרדה 1 , ינגוס1]תדנ3 41 , 0% 11ינסות1
; תנקת ס1 : 50008 , ססגות1 , גוסו
; ( 6עסא : שת 5ם, 5ס, 1כ, 51, אס, אס, אם, אב , 1 , 05, 11968 )16 ']שס9 6גוס0סססן
; לכ רינ 111%
תנקסס
; ( 106110 )סת1
תנקסס תסםף 18 = 71971104 12
;0 =: א110עסותגיך
;24 ₪08 [ 940:9%65 ]60 =: | לגסת
;[ %40:860 ]6 =: ססגותגון
;60 ססות (5461 ט81 (5 * %6טתנ1א)) =: ססגותמת
;[ 842:960 ]0 =: 8ת600פ
,60 00 (91 צ81 (5 * 6ת5600)) =: 6ת5000
(10 ט61 מטסם + 48 =: [ 144 : 460502ג7 ]חסא
,0 סו צטסת + 48 =: [ 146 : 71660568 ]חס
;(':')0עס =: [ 148 : 71400502 ]חסא
₪
ט01 6סגותג]] + 48 =: [ 150 : שספסססגט ]חס
;10 ₪06 6סגותג]] + 48 =: [ 158 : 7166050 ]חס
;(':')6עס =: [ 154 : שספססבנץ ]חס
,0 61 890006 + 48 =: [ 156 : 71600502 ]מס
;0 ₪06 6ת5900 + 48 =: [ 158 : שספססהגט ]מס
בת ( פטסמווזנ218 = | יגוסם) 14
בת (66גות נדנ418. = 6סגותנגזן)
תסמ ( 0 = 2 ₪06 06ת5900)
0 79 ס6 72 =: אססת1 102
;( '*' )6עס =: [ 2*א66ת1 : 71660502 ]חס
; תס
=
השס
;9 =: 10% זסותגי
; ( 5601000 ,01תַ5600 ,]6סגות1] , יגוס ) 916
; ( 11660 ,7:7 ,(חעגוסם ,' שסת 15 שתנס 16" )ת1%81עש
3
;( 7 נ:תגוסת 6ם% 756% )16%6עש
; ( | עגוס1וחד31 21 )68011
2 ] ת1: תגוסזזודנ418 611תט
תדפיט 19.5 ממשיך בדף הבא
| ה = פרק 19: תוכניות תושבות בזיכרון | 647
המשך תדפיס 19.5.
: ד
2 :16 סג 7865 )16
( ; 26ות1](ד 41 )08010
;] 59. .2 ] תג גו 1!/חדג ה 1 1נסתט
7 6גות דנה רג 2 2 , - קתנ בנגש 0% חד418:7' )ת1801י |
₪ 0 .10 )566105780
6 )60
1 .
וקו ההההההההההההוקהקהה הו ווה ההההההההההחהקההההההכההההההמהעווא/ה ההההההההההההההההה-הקההותההההההההטא הוה ההההההההההההההההההווההההההההההההההה הרה ...=
| תוכנית אפת1ת פועלת כמו תוכנית 006%0, אך בודקת גם אם הגיע הזמן להפעיל
את ה"שעון המעורר", ומציגה ברגע המתאים כוכביות מהבהבות. |
קריאה ל-58' פעיל.
כאשר מתקינים 58ע' סביל, הוא פשוט שובב' בויכרון וממתין לרגע שבו יופעל על
ידי הוראת פסק, 288 פעיל, לעומת זְאת, 4 בל הצמן או נבדק כל הזמן כדי |.
לגלות אירוע שיפעיל. אותה .
נלמד עתה להפעיל 8
שימוש בפעולות פסק מוגדרות מראש
= באמצעת המקלדת. -ניתן להפעיל מיידית שלוש פעולות פסק: הדפסת מסך (פסק 5)
8% (פסק %18) ו-6 -0621 (פסק 3 ניתן לשנות את שגרות הפסק. הללו.
ולהתאימן לצרכינו.
יש הבדל בין 0 -0521 (-1-8268%ע06, 1-6ע0%6 אמור לעצור את התהליך בעדינות
אחרי. הוראת 6ט הבאה, ואילו 0621-2268% אמור להפסיק את הפעילות מיד,
ללא התייחסות לפעולה המתבצעת באותו רגע בתוכנית הראשית. לשתי שגרות' פסק
אלה יש חשיבות רבה ולכן לא נשנה אותן, לעומת זאת ניתן לשנות את הוראת
הדפסת המסך מבלי לגרום לנזקים.
8 תלק ג': תכנות מתקדם |
ביישומים רבים מבקשים להעתיק את תוכן המסך ולשמור אותו על הדיסק במקום
להדפיסו, למשל כדי לשלבו בתיעוד של המערכת (כמו המסכים המתוארים בספר
זה).
תוכנית עגא5 (תדפיס 19,6) מגדירה מחדש את הווקטור של ת6סעספ>תנעע (פסק
5, אחרי התקנת התוכנית, תגרום הוראת ת650266מת1עכע (0פ26ע-1+6מ5) להעתקת
תוכן המסך לתוך ע8:ת0ס660נט ולהגדלת הערך שבמונה 366ח1, תוכנית עגא5 קולטת
שלושה מסכים בלבד, ניתן, כמובן, לשנות את התוכנית כך שתכיל יותר מסכים.
הדר את תוכנית עגא5 ובצע אותה מתוך 05כ, אל תשתמש באופציית מעטפת 05 של
טורבו.
תדפיט 19.6
; כפּתל תפינשסיו
[ 1084 ,0 ,1024 וש
;208 65פג
, : לס
93800 = 71600806
ענפט
10
;סש 1 סוחד
(%6עס +0 [ 0..1999 ] קהעעה 02 [ 0..2 ] קהצע8 : עהעעהססטנט
; ( 6ץצסש : קם, פא, 5ם, זם, 51, אס, אס, אם, א4, קז, 05, 1365 ) סינגגזס סופ 6ינגוססססמ
; לסגרנינ%0ת1
תנשסס
תנססס תסם% 5 > 10826 11
ו סס 1999 %0 0 =: 1 ע0ס+
;| 2*1 : 71600968 ]מס =: [ 1 (6שמת1 ]ק8עסססנט
: ל ; ( 10386 )סתך
תס
תס
תנססס
;0 =: סספחך
; ( 6עגוזס 61926001 ,825 )566126780
(
; ( 618386 ,954 )%060ת86%1 >
; ( ע671060/29 ,950 )6760ת59%1,
; ( '581106פת1 שסת תפינפסנק קפתפ" )ת101ינ
; ( 0 )660
- .תס
שש""ש וה
פרק 9 תוכניות תושבות בזיכרון 649
שים לב: התוכנית מגדירה מחדש שלושה וקטורים. פסק 5 מכיל את הכתובת של
פרוצדורה 6תגו16%ק16יז'6אּי', כבאשר מפעילים את ת50266>ת1מע מתבצעת הפרוצדורה
6גו18%6'70210%, הכתובת של 128886 נשמרת בווקטור 838 והכתובת של
צהּע: ססףנט נשמרת בווקטור %38, לאחר התקנת התוכנית, תוכל כל תוכנית שהיא
להשתמש בווקטורים .93 ו-%38 כדי לבדוק כמה מסכים נשמרו ומה תוכנם,
גישה לנתוני ה-58יז
תוכנית עגא5 שמרה את הנתונים בשטת של התוכנית התושבת, תוכנית פס.זמטמס
(תדפיטס 19,7) שולפת נתונים אלה, התוכנית שולפת את הכתובות מווקטור ג%3
ו-%3, ופונה למשתנה 10846 כדי לבדוק אם נשמרו מסכים, כאשר קיימים
מסכים, התוכנית מצרפת אותם לסוף קובץ בשם 5020622116 (אם הקוב אינו
קיים, התוכנית יוצרת אותו), בסוף התהליך, התוכנית מאפסת את המונה 10806
כדי לאפשר העתקת מסכים נוספים.
שים לב: תוכן המסך הוא למעשה רצף של בתים, כדי להקל על התצוגה, מוסיפה
תוכנית ע0תפטמס סימני סוף שורה, באמצעות מ1661עא, אחרי כל 80 תווים.
תדפיס 19.7
; ק610ט20 ותפיססיוס |
; 208 08פגו |
6 ,. |
(%6עס +0 [ 0..1999 ] ק9צצה +01 [ 1..5 ] קהעצה = ססע1עגיה
, ההזי
סש 1 6
; 106 קפעינ* | : 390/18 גנט
,ב
סש 1 ת6סנספ
עס%ת1נסק : ינצוק
;568% : 116תתס6עספ
נשַת1ע5% : | 116%826ע
תנשסס
; ( עשת ,854 )0051(%760
; עפתת =: 6שמ1
; ( עסתת ,902 )0051600
עסות =: 710608
+ "167 0836
;( !100208 6עסש 5פת06ע302 סא" )ת1%91תש : 0
תנקסם : 1..8
תדפיס 19.7 ממשיך בדף הבא
0 חלק ג" תכנות מתקדם | | |
המשך תדפיס 19.7
; :50.41" =: סת3א16נק
; ( 116886 , 7116ת50260 )31ב
(+ 81) ;( 7116ת50200 )התססקת (-91)
תסג+ ₪ <> 10309016 +1
; ( 116"ת90200 )166ששסת
0ף " שמחו ס+ 1 =: ת66ע50 עס+
תנגשסם 60 1999 %0 0 =: 1 ש10
;(( ( [ 1 ,ת66ע502 ]7ע71660178 )עמס (7116ת50260 )156נעט
; ( 116"ת50700 )ת1%61ט תפצ 0 = 80 6סם (1 + 1) +14
= 2
;( 6ת110%8/ ,' 50 ת1%56ישט 6עסא פת60ע50 ' , "סקמת1 )ת[1%0יט
[ 2086% ] - ;0 =: "6שמחך
; ( 116תת50290 )01056
: 3 : 1
;( '.%81100פת1 ת66ס 6 תבג תפישסינס האפ שמ" )ת[1%6עשט | 0186
ן 7
.5 יי
התוכנית השתמשה. בשני מקומות פנויים בווקטור הפסק כדי לאתסן את כתובות
המשתנים של התוכנית התושבת (188), התוכנית הבאה קראה את הערכים ושינתה
אותם, טכניקה זו מאפשרת תקשורת בין כמה תוכניות עצמאיות הנמצאות בזיכרון.
במצב זה אי אפשר להבטית שלא. יתרחשו פסקי חומרה בעת הפעולה של
מ50200>ת1מת, ולכן אין להשתמש בשגרות טורבו פסקל כמו 166:ש או ת166[1:
התלויות בשירותי 205 וה-8105. .
הגדרת קלידים "חמים" להפעלה מיידית
לתוכניות המגדירות מחדש את מ66עס6פ6ת1מע, 0521-6 ו-1-868%ע662 יש תיסרון
בולט, לפעולות הפסק המוגדרות מתחדש יש שימושים חשובים, שלא תמיד רצוי
להשבית, כמו כן, יתכן גם שתרצה ליצור מיידית עותק של המסך, כדי שנוכל:
לבצע זאת, עלינו למצוא דרך להגדיר קלידים אחרים שיפעילו מיידית את
התוכנית התושבת.
נשתמש בפסק תקתוק השעון (%16) המופעל לעיתים קרובות, שאותו הכרנו כבר
בתוכנית 006%, כדי לבדוק אם קיימת לתיצה על צירוף קלידים מסוים.
פרק 19: תוכניות תושבות בזיכרון 651
בפרק 9 למדנו שבית מצב המקלדת שב-%0040:%0017 מכיל את הסיביות שמצבן מורה
על קיום לחיצה על קלידים מסוימים, התוכנית התושבת יכולה לבדוק בית זה עם
כל תקתוק שעון ולבצע פעולה מסוימת כאשר מו כזה מתגלה, |
תוכנית 1הא5 (תדפיס 19.8) מתקינה את הפרוצדורה 65606 בווקטור %16.
לאחר ההתקנה, התוכנית תבדוק 18.2 פעמים בשניה אם התקיימה לחתיצה על 1%ג
ו-%+1ת8 ימני, לחיצה על. צירוף זה תגרום לשמירת תוכן המסך. ניתן, כמובן,
להגדיר גם צירוף קלידים אחר.
הלחיצה על הקלידים נמשכת יותר מ-2 8 שניות ולכן יש להשבית את החיפוש
אחר צירוף הקלידים עד לסיום. תהליך השמירה, ההשוואה בין אסאסתג ובין
8 מבטיחה שתהליך שמירת תוכן המסך לא יתבצע יותר מפעם אחת בכל 91
תקתוקי שעון (כ-5 שניות). |
הדר את תוכנית תא ובצע אותה מתוך 58 אל תשתמש באופציית מעטפת ₪ של
טורבו. | :
תדפיס 19.8
;90801 תפעשסס
] שו ,0 ,1024 ]1ף)
פסם 8 ,
7 = 71060868 0%"
שפט
: 4 1
: ל :-. 6שבּחך
;6 +0 [ 0..1999 ] עָפעם + [ 0..2 ] עעטה : שַע7:66032
;ע0שספת1 :7 18ססתג.
; 90060 0 סט ל שוסזסותז1י"
ג סו : ופ ,דפ שת סאג ל 0 שטנ 1 גמ ססיטכן / -
. 7% : י 2 ; לסטינ%0ת1 >
תנשסס
תסנ+ 5 > ₪6בח1 11
| 5 * 18.2 ) תסת+ 91 < -(0010ו111'-שסואסותג') סכנה +1
[ 814% ת-41% ] תנשסט תסמל 909 = 809 6ת9 [ 90017 : 92040 ]מסו.+1 .
, 60 1999 %0 0 =: 1 ע0+
;[ 2*1 : 71060908 ]6 =: [ 1 6 ו
, . | | ; ( 1466 )סתך
: ; 10 =: 160106 .
| 0000 שת
תדפיס 8 ממשיך בדף הבא
דל
של
2 חלק ג': תכנות מתקדם. 0
> המשך תדפיט 19.8
; שסאסות1'1 = : 4 1ס11סוניד
; ( ע103%0%%6 6 ,410 )6%106760 '
56416780) 98, 610306 ( ;
; ( 0716002180 ,952 )%6700ת56%1
; ( '5%81100ת1 שסת ותהששסינק קת" )ת1%61ישט
;| 0 )000
. תס
תוכניות תושבות מסחריות
+ אם ב-6ע שלך מותקנת תוכנית תושבת (158) מסחרית, תוכל להפעילה גם תוך כדי
הרצת התוכניות שבפרק זה, תוכניות כאלה משתמשות לעיתים בטכניקות שונות
מהטכניקות שתוארו בפרק זה.
רוב התוכניות התושבות המסחריות משתלבות בפסק 9 של ה-2105 ומחליפות את
הערך שטבלת וקטור הפסק הזה בכתובת של הפרוצדורות הפנימיות שלהן, המאתרות
לחיצה על קליד או על צירוף של קלידים. בסוף הפרוצדורה התוכניות התושבות
משורשרות לשגרת ה-8105 המקורית.
ביצוע פעולות אלה כרוך בדרך כלל ביצירת פסקי 5105 חדשים או בשינוי פסקי
5 קיימים, ביצוע פעולות אלה חורג מתחומי התומר הנלמד בספר זה.
סיכוס
בפרק זה למדת לפתח תוכניות תושבות בזיכרון (158).
בפרק 12 למדת שקידומת הקטע של התוכנית (פפפ) מכילה מצביע לכתובת הגבוהה
ביותר של התוכנית, הפרוצדורה 680 מעתיקה כתובת זו למצביע שבו שומרת
פרק 19: תוכניות תושבות בזיכרון 653
מערכת 205 את הכתובת שבה יש לטעון את התוכניות, כתוצאֶה מכך, תטען כל
תוכנית שתיקרא אחרי הפעלת 660א לשטת שאחרי התוכנית התושבת (158') הנשארת
בזיכרון.
הפרוצדורה 660 משאירה בזיכרון את כל התוכנית התושבת, ולכן נשמרים גם כל
הנתונים הכלליים, הפרוצדורות וההוראות שבה, ניתן לשמור את הכתובות של
הפרוצדורות והנתונים בווקטור הפסק, כדי שתוכניות אחרות *וכלו להשתמש
בהן. |
למדת שקיימות . תוכניות 55 פעילות וסבילות, אופי התוכנית נקבע לפי צורת
הפעלתה, תוכנית 98י' סבילה מתבצעת רק כאשר היא נקראת, באופן מפורש, על ידי
תוכנית טורבו פסקל אחרת; תוכנית 158 פעילה פועלת כל הזמן, או מופעלת
בלחיצה על צירוף קלידים מסוים (קלידים "חמים"), למדת לבדוק קיום לתיצה על
קלידים "חמים" והכרת מספר תוכניות תושבות שימושיות.
חלק ד' -
נספחים
פרוצדורות ופונקציות 657
נספח א'
פרוצדורות ופונקציות
8 . בת5566
מטרה: החזרת ערך מוחלט של משתנה, התוצאה המוחזרת על ידי הפונקציה היא
מטיפוס הארגומנט, שיכול להיות ערןך 166062 או 681ע.
תתביר: ;ס6סץתטאעתת : ( 6קע?"תטאעםת : א )שמת תסנססתגוע
דוגמה: ;( ₪6*ג*4,0 - (562)2 )105 =: תמס6ע62>ססת
5 5506
| מטרה: | התזרת כתובת של גורם מסוים, הארגומנט יכול להיות משתנה,
פרוצדורה או מזהה של פונקציה, תוצאת הפונקציה היא בתצורת
מצביע לגורם המבוקש, שים לב: הפועל 8 :וצר תוצאה זהה לתוצאה
של הפונקציה נהָףַת.
תחביר: ;ע66ת1סע : ( סססִכְכ680בכעתת : א )עבת תסנססמגוע
דוגמה: ;( ת166אמסא )062 =: 3 66מ1סע
8 חלק ד" נספתים | . וו - |
במסססת בת575%66
מטרה: | פתיתת | קובץ | טקסט להוספת רשומות | בסופו,. | המשתנה
-%15101ת1161006ע תייב להיות מקושר, לפני כן, לקובץ תיצוני
באמצעות הפרוצדורה ב5514.
- תחביר: ב :( 686 + %19101מ116166ת עהט )6במספקקת 66026ססעק |
דוגמה: 0 ;;( "אץ,תצתפ' ,28%85%02886 )תףנפפת
?( 245856012806 )6מסססת
סזת | מסי)
מטרה: | שרטוט קשת מעגלית בעלת פּטנַַבּת2 מסוים מזווית התחלתית 55216
לזווית סיום 816םמת6מע, כאשר המרכז הוא (צ ,א). הצוויות:
נמדדות במעלות, בניגוד: לכיוון השעון, כאשר נקודת ה-0 נמצאת
בשעה 3.
תחביר:. - - ;עססַסס6תד : י צ,א) סעת ס6מטסססס:קע
אי ,0616ב6מע ,016תת85 -
;( 6עסא : - פ5גונףהת
דוגמה: | | | ;( 50 ,90 ,0 ,100 ,100 )סשת
הנבּי''ס:נת = 5506
מטרה: התזרת הזווית (ברדיאנים) שהטנגנס שלה שווה לערך הארגומנט.
תחביר? = 7 : ( ₪81 : א )מה1סקת תסנססתוץ
דוגמה: ( 1ס +ס 6עגוס+- 6מס פמעטססת) ;( 1.0 )ת1סעת =: 4עסטסדק
פרוצדורות ופונקציות 6599
הת 03 5/5601
מטרת? | | הקצאת שם קובץ חיצוני למשתנה, על המשתנה %515169מ110166ע ניתן
| להכריז עבור. קובץ מכל טיפוס שהוא. ו הוא. מתרוזת המכילה
' שם של קובצ חיצוני.
| תחביר: ע 3 1 1 צפט -. -
דוגמה:. | . : 1 "זאיד .עיפי 0 7
6%תך1פפת 7 וט -
= מטרה? קישור בין קובץצ טקסט וצג, הפרוצדורה דומה לפרוצדורה מףנפפת
| אולם במקום לקשר בין המשתנה %15161ת116106ע ו ו חיצוני :
| היא מקשרת לשו בין קובץ הטקסט והצג..
תחביר* -י. ;( 768% : %61%108מ116106ע עבט לפת" 00608
דוגמה: | 0% 6 91 :
עצה 0 0
מטרה: = שרטוט "גוש" (מלבן מלא) תוך שימוש בדגם המילוי והצבע הנוכתיים,
הפינה השמאלית העליונה של המלבן היא (1צ ,1א) והפינה | השמאלית
התחתונה | שלו היא (2צ 2
תחביר: ו ע ל ,2 2 ,וצ ,1א )עבת 6גו6ססע
7"74" תת
0 חלק ד' נספתים | |
סבנבּם הקאי)
מטרה: | שרטוט "גוש" (מלבן מלא) תלת ממדי תוך שימוש בדגם המילוי והצבע
הנוכתיים, הפינה השמאלית העליונה של המלבן היא (1צ ,1א) והפינה
השמאלית התחתונה שלו היא (2צ ,2א). ם%6ס6ע הוא מספק הנקודות
שיצרו את ממד העומק של המלבן, כאשר ססע' הוא "לא אמת" - לא יופיע
ה"גג" של המלבן, במקרה זה ניתן להפעיל את הפרוצדורה שנית כדי
לשרטט מלבן נוסף הנמצא על המלבן הראשון, ניתן לקבוע את הערך
שב- קסע באמצעות הקבועים המוגדרים מראש: תסססע ("אמת") ו-%+0מסי
("לא אמת").
תחביר: ,תד : 2צ ,2א ,1צ ,1א )כב3ּעבּע 6עטבססס:ק
7 : ב6ספכ
;( ם168ססם : ססיז
דוגמה: =: צתשסכ :50 =: אתאסע ;30 =: צסט ;30 =: )אסט
,4 617 (אסט0-אתאסע) ,צמאסכע ,אתאסס ,צסט ,אסט )בה
?,( תסססי'
ההסתאססום 55
מטרה: קריאת רשומה אחת או יותר מתוך %61+168מ116180ע לתוך :5+6גום.
הפרוצדורה קוראת %תט060 רשומות או פתות. הפרמטר האופציונלי
%ופסת מכיל את מספר הרשומות שנרשמו למעשה באזור האחתסון.
תחביר: /5502גום הט ;8116 : ע%1+106ת110100ע עבט )210020806 6גוסססס:ק
;( [ בעסא : 3065016 עהט ;] בעסא : 6תטס6
דוגמה: ;( 686ת62סתטא ,( 5טם )51200% ,נום ,116עתסקע )הַבּסת%ססו+ם
0 -
פרוצדורות ופונקציות 661
1+6-נאסס1ם 0 |
מטרה: | כתיבת רשומה אתת או יותר מתוך ע6++טם לתוך 616165ת116166ק.
הפרוצדורה מעבירה מהזיכרון %מטסס רשומות או פתות, הפרמטר
האופציונלי 369111% מכיל את מספר הרשומות שנרשמו למעשה באזור
האחסון.
תחביר: /01++גום עבט ;110+ : ע%1+10ת116106/ עבּט )8100802156 6נגוסססע
;( [ 6עסא : 1%טפסת עהּט ;] בעסא : 6תטס6
דוגמה: ;( מ%06+1עקת6סתטא ,628686סתטא ,תטם ,16נעסץך )10
-ננסת6₪ 5500
מטרה: שינוי הספריה התורנית, בהתאם להגדרה שב-ת86כשאסא.
תחביר: ;( 6םת1ע55 : ב6הפטפא ):נסב6 6מגו0ססס:ק
דוגמה: ;( 'ג'הפפץ ש' )1נסמס
₪ 5500
מטרה: % התזרת תו 611פה של מספר נתון.
תחביר: | 87 : ( 56צ2 : א )עבת6 מתסנ6סמטע
דוגמה: ;( /2 6₪םת11 18 18ם6' ,(10)ם0 ,(13):ב0 ,1 6ת11 15 15םע' )166תעש
12 חלק ד" נספתים | | |
66 ספ )
מטרה: | שרטוט מעגל בעל רדיוס פגוּג6ה3 שמרכזו ב-(צ,א).
תחביר: ;( 6עסא : פטונהה3 ,1560002 : צ ,א )012016 6עט0סססעע
דוגמה: ;( 50 ,100 ,100 )016ש01
נטסכ-זהּ 1[ תספי)
מטרה: ניקוי המסך הגרפי בעזרת צבע הרקע הנוכתי והעברת המצביע (פס)
לנקודה (0,0).
תחביר: 7 6₪6ע12ו0060ס:ק
דוגמה: 07
6נס טסנץ:ה 16 . תס8יכ)
מטרה: ניקוי האשנב הנוכתי. | צבע המילןי הוא צבע הרקע הנוכתי.
מתבצעת קריאה ל-282 כאשר מידות האשנב מהוות פרמטרים, המצביע
(עס) עובר לנקודה (0,0).
תחביר: 01087 6עגו6סססשק
דוגמה: | 1
| | | | פרוצדורות ופונקציות 663
| 5506
מטרה: סגירת קבצים פתוחים מטיפוס כלשהו.
תחביר: ;( 1167706עעתת : 01+1608מ721161606 עהט )01056 6עט6סססצק
דוגמה: -. ל :( ס%ם61קם1 )610586
:605 םסכ )
מטרה: סגירת המערכות הגרפיות, הפרוצדורה משתזרת את תצורת המסך
שהיתה קיימת לפני הפעלת הגרפיקה ומשחררת שטתי הפר בערימה.
שישרתו את המערכת הגרפית.
תחביר: ?00 6עגו060ס:ע
דוגמה: 67
1 6)
מטרה: מחיקת כל התווים התל במקומו הנוכתחי של הסמן וכלה בסוף
השורה, באמצעות ההגדרה הנוכתית של 0 מקום הסמן
אינו משתנה.
תחביר: / (1), 6מםג0ו66ססעק
דוגמה: | ;1
4 הלק ד נספתים | |
)% 6-6:
מטרה: ניקוי המסך הנוכתי (או החלון הנוכתי, אם קיים תלון פעיל)
באמצעות ההגדרה הנוכתית של 6תגו%6280%020א26. מקום הסמן אינו
משתנה.
תחביר: 7 6שט660ססתק
דוגמה: ל
7 5500
מטרה: שרשור רצף של מתרטות. אם המתרוזת שמתקבלת עולה על 255
תווים, סופה מקוצץ, שים לבי הפועל + :וצר תוצאה זהה לתוצאת
הפונקציה 08%ת60.
תחביר: 57 : ( 0ת1ע56 : [ ב5,.. ,52 ,] 51 )086%ת00 מס1>סתטק
דוגמה: ;( ''אע',' ,'110תב6בּכ' ,':ס' )000686 =: סתַהא16גק .
צְסס6 550
מטרה: . התזרת תת-מתרוזת של >מטסס תווים מתוך המתרוזת 1, החל
ב-166%.
תחביר: ?7 1 )+00 תס1ס6סתגוץ
?7 : ( ע606>תך %תטס6 ,אסבתד
דוגמה: ;'אס+ תטסמס 110% 6ב7'=:מ56
("תשסמס") | ;( 5 ,11 ,552 )000 =: אסא
. - פרוצדורות. ופונקציות | 665
57506 - 58
מטרה: | החזרת הקוסינוס של ביטוי, זווית הקלט נמדדת ברדיאנים.
תחביר: | 1/0 : ( 2681 : א )005 תסנססתטץ
דוגמה: ;( 8מ98018ַת161שת2 )608 =:63
7 מ55601
מטרה: התזרת הערך הנוכתי של אוגר 65, המכיל את כתובת הקטע של קטע הקוד
הנוכתי. - > ּ : 7
תחביר: | | | | 027 : ₪560 ת610סמגות
דוגמה:? " 0 , 7 =: 00006282802872ת%1ע5682 :
6 55
מטרה: = הורדת ערך של משתנה מטפר סידורי, אם אין מגדירים יאת הפרמטר
האופציונלי ם - הערך של א יופחת ב-1; אחרת, א יופתת ב-ת.
תחביה: /- ;([ %תזשָתסע : ת 9 0-6 : א עהט )266 66026ססצס /-
דוגמה: | | 0/9 =: >תגוסות
[ 0 815גון)6 שטסם +תטסתת + ;( >תגוסותת )606
[ 6 6002815 טסםת %מטסחת ) (( 3 ,שמטסתת )60
' 666 חלק ד' נספחים | | |
צְבּוס | 6
מטרה: | השהיית התוכנית המתבצעת מספר מסוים של מילישניות.
תחביר: | = | ;( 6עסא : 85 )2618 6עט66סס:ק
דוגמה? - ן [ 6ת0600פ5 8 +נהת 6185כ) 2 0 )ץצ618ס.
6 556
מטרה: * מחיקת 6>תטסס תווים ממתרוזת 02141281 התל ב-אסת1.
תחביר: : 1 םע : 02191281 עבט )261656 6עגו60ססע
,אס66תך
;( ע56006ם1 : 6תגוס6
דוגמה: - ;'6פעסם 06 086' =: ע86
["6פעס₪ 686" פתעט66ת) | ;( 4 ,5 ,562 )61666
6הנז 61 -06)
מטרה: מחיקת השורה המכילה את הסמן. כל השורות הנמצאות מתתת
לשורה זו נעות כלפי מעלה. בסוף המסך מופיעה שורה ריקה.
צבע השורה הריקה נקבע על ידי ההגדרה הנוכתית של 6מתגוסנ280%0:א26.
מקום הסמן אינו משתנה.
תחביר: 6בםגו66ססמק
דוגמה: י ?תוסכ
| ! | פרוצדורות ופונקציות" 667
:600601 תיזכ )
מטרה: בדיקת החומרה כדי לקבוע באטה מנהל התקנים ותצורה יש
להשתמש, ניתן להעביר את הערכים שב- מפט1מפם 03 וב-6:80086
לפרוצדורה 115028002.
תחביר:
;( 1250002 : 028228066 ,ע6ץ1תכםק8ע0 עבט )2650050280 6ע0ססס-ע
דוגמה: ;( 628006 ,עסט1עכע )660060280
סס-ניןא5 נס 58
מטרה: | התחזרת מספר הבתים הפנויים בכונן מסוים. כונן 0 הוא הכונן התורן.
1 הוא כונן ג, 2 כונן 8 וכן הלאה, כאשר הערך שב -106עס אינו
תקין, הפונקציה מתזירה 1-.
תחביר: ;>מזפתסם : ( 266 : 6טנ1עכ )266עא15כ תסנ6סתוע
דוגמה: ּ ;( 1 )266עא18 =: צסקס1עתסטת1ת1התסת
6 | 5%
מטרה: | החזרת מספר הבתים בכונן מסוים, כונן 0 הוא הכונן התורן, 1 הוא
כונן ג, 2 כונן 8 וכן הלאה. כאשר הערך שב-6טנגמכ אינו תקי,
הפונקציה מתזירה 1-.
תחביר: ;תס : ( 8656 : סט1צס )153%5126ת תסנס6סתגוץ
;( 1 )21889126 =: 5126צסק0ס1ע
8 תלק ד נספתים
ב 1 9 ב
מטרה: השמטת משתנה דינמי שהוקצה קודם על ידי הפרוצדורה שפא. הציכרון
שאליו מתייחסים על ידי פע מוחזר לערימה.
תחביר: ;( ע6סםת1סע : ע עהּט )21502086 6עגוטסססצע
דוגמה: ;(ע%8ע6כ2 )150086
0 אפס 6%
מטרה: התזרת קוד היציאה של תת-תהלין. הבית הנמוך מכיל את הקוד.
הערך שבבית הגבוה מצביע על סיבת הסיום של תת-התהליך. 0 מצביע על
סיום תקין, 1 הוא סיום בגלל 1-6ת06, 2 - סיום בגלל שגיאת התקן
ו-3 סיום על ידי הפרוצדורה ק66א. .
תחביר: 1 : 160066א2050 תסנ6סתטץ
דוגמה: ;( ( 160066א5₪סכ )סם,' :00860 16אפ' )ם1661עט
מס1פ:נס57ססש 658
מטרה: התזרת מספר המהדורה של פספ, הבית הנמוך מכיל את מספר המהדורה
הראשית והבית הגבוה מכיל את מספר גרסת המשתנה הנמוך.
תחביר: | 7 : מסנפעסטשפספ תסנססתגוץ
דוגמה:
; ( ( מ810פע576סכ )₪1 ,'.' ,( םמ810ע5/6סכ)ס ,' 208 פתנפט' )ם1%61:שט
פרוצדורות ופונקציות 669
צ[סשטטהנם -. תקהיז)
מטרה: | שרטוט היקף של מצולע בעל 5>מנספוחטא קודקודים, בצבע ובסוג הקו
= הנוכתיים, %8מ01פע1סע הוא מערך 6סעעשת1סע המוגדר:
= 6כעע>תנסק
7ת : צ ,א
67
כל רשומת סִסְצְ?1>תנסע מכילה את הקואורדינטות של קודקוד אחד
של המצולע. עבור א קודקודים יהיו ב-%8ם1סעץ1סע 1 + א רשומות
6מץ6תנ1ספ, הרשומה הראשונה חייבת להיות זאהה לרשומה האחרונה.,
תחביר: | ;( 65תנסעע1סע עהט ;₪026 : 65ת1סעתטא )ע1ס2א8:כ 6מגו0ססס:ק
דוגמה: ;( 806ם5 ,( 6קץ5177מ1סע )5126025 ש61 ( 586 )51260 )צ1סעשבּצס
פס 55001
מטרה: החזרת הערך הנוכתי של אוגר 8 המכיל את כתובת הקטע של קטע
הנתונים.
תחביר: : : 2566 תסנססתגוץ
דוגמה: ?7 =: 56861028%8281302870
0 חלק ד" נספתים > 0
6 ב[ )0
מטרה: | שרטוט קשת אליפטית מזווית התחלתית 5622616 לזווית סיום 16שתת מע
כאשר המרכז הוא (צ ,א) פטנַהְהּתא, ו-6105ַהתצ הם הציר האופקי
והאנכי, הזוויות נמדדות במעלות בניגוד לכיוון השעון, כאשר 0
נמצא בשעה 3.
תחביר: תד : צ,א )111086 6ע000002ס:ע
,16תתתע ,616מתת+5
;( 6עסא : פטנבְהּתצ ,3888105
דוגמה? . ו( 20 ,40 ,0 ,0 ,100 ,100 )111056
+תטוסי)ץיתד | 65
מטרה: החזרת מספר המתרוזות שבטביבת 05כ. כל מתחרוזת טסביבה היא בתצורה
6ו781טתם = עספטתק.
תחביר: / /6017סת1 : >מטססטתע תסנ6סתגוע .
דוגמה:
;( '08ת1ע55 ףמסתתסנ1טתס' ,6מתגוססטתם, ' פה 55668 עטסצ' )ת1661:שט
5 ו 5
מטרה: התזרת מחרוזת סביבה מסוימת, האינדקס של המחרוות הראשונה הוא 1.
אם א66ם1 מתייחס למתרוזת שאינה קיימת, מותארת מתרושת ריקה.
תחביר: ?7 : ( 1660028 : א6₪6ם1 )ע%פטתםע תסנ6סתטץ
דוגמה: ;( 1 )מ6פטמם =: ת1/155160טתע
פרוצדורות ופונקציות | 671
55 +
מטרה: התזרת מצב סוף קובץ של קובץ מסוים, ₪05 הוא "אמת" כאשר המיקום.
הנוכתחי הוא מעבר לתו האתרון בקובץ או כאשר הקובץ ריק, אחרת +₪0%
הוא "לא אמת", אם לא מציינים את :%1+16ת116186ע, ההתייחסות היא
לקובץ 5גוסם1 הסטנדרטי. |
תחביר:;ת168ססם : [( 6ץ1צמת : ע61510מ116166ע עהּט ) ]₪02 תס61סתגוע
דוגמה: םנשסס 60 ( 86037116כ )סע >סת 16נתש
;ו( ס6ם1 ְננַעַהּ5הכ )ת6801:
;( 60תם1 )ת1661עש
7
מס 57506
מטרה: | התזרת מצב קובץ של קובץ טקסט, מ1סש הוא "אמת" אם המיקום הנוכתי
הוא סימן סוף הקובץ או כאשר +₪0 הוא "אמת", אחרת ₪01 יהיה במצב
"לא אמת", אם לא מציינים ש%1+16מ1161862ע, ההתייחסות היא לקובצ
%טוסת1 הסטנדרטי.
תחביר: ;מת168ססם : [( %א76 : ע%1116ת1161006ע עהט ) ] מ1סמ מסנ61סתטץ
דוגמה: ;( 6אסַתה6הק )םת6801ת מתספםס ( 6א6עה86כ )ת1סם +1
ה ב
מטרה: מחיקת קובץ חיצוני שאינו פתות.
תחביר: ;( 1167706עצתת : ע%1516ת116166ע עהט )₪886 6עט6ססס:ק
דוגמה: ;( 'עהם,ה6בכ' ,622116 )ב14פפת
?( 7116קתס )ספב
72 חלק ד: נספתים
65 | 6
מטרה: ביצוע התוכנית המוגדרת במחרוזת ם28% כאשר שורת ההוראות נמצאת
ב-6ת11תסס, הטיפוסים 5%62ת2856 ו-ע5%2חסס מוגדרים כן:
( 6ם1נע56 םת86ק 5116 11גוע + ;[9]79ם1ע56 = עספםת8%ק2
( צת1ע56 6םת11 בתהתתסס ) ;[6]127םת5621 = ע5%ת0ס6
תחביר: ;( ע%ף5ת0ס6 : 6ת1תס6 ,ע6פבת6ע : בת28% )606א₪ 6עטסססס:ק
דוגמה: /' ,'6.,0011תהתתס0' )סאמ
[פסגואסה8ס 811 1558) ;( 'שתם.* הדס 6
+ 5500
מטרה: | יציאה מיידית מהגוש הנוכתי, כאשר מפעילים פרוצדורה זו בשגרה
היא גורמת לסיום השגרה, כאשר הפרוצדורה מופעלת בגוף התוכנית -
התוכנית מסתיימת.
תחביר: 7 6עו0סססעק
דוגמה: קבא
כןמ 55
מטרה: | התזרת המעריך של ארגומנט, כלומר שא מחזיר את הבסיט של לוגריתם
טבעי 6, בחזקת א.
תחביר: 2 : ( הת : א )אע מסנססתגוץ
דוגמה: ;( 78106 )אע =: עסחסע
פרוצדורות ופונקציות | 673
המהּכננצץ | 658
מטרה: | הרחבת שם קובץ והפיכתו לשם מלא הכולל את שם הכונן, הנתיב ושם
הקובץ, הטיפוס ע5%ת86ע מוגדר כן:
[ 6תגע56 ם85ק 5116 011?) ;[79]ם1ע56 = מ6פםת6הק
תחביר: (ע8%9%ע : ( ע9%םת28% : ם28% )6מהקאטע מתסנ6סתגוע
דוגמה: ( '5ק עקת פ5אתססתת ענ':ס' ) ;( 'פהכ,ססבּ' )6בהּקאמץ =: סתבּאךצום
5 ךדי בת5506
מטרה: החזרת מספר הרשומה הנוכתית של קובץ) פתות,. תחום הערכים
האפשריים - 0 עד (ע%1+16מ116106ת )1165126ע, אי אפשר להשתמש
בפונקציה זו בקבצי טקסט.
תחביר: ;תס : ( ע%1516ת1161606ע עבט )116205ע בסנ6סתגוע
דוגמה: ;( 28582116 )116208ע =: תגואסס6ת:)
6[ | 556
מטרה: החזרת מספר המרכיבים בקובץ פתות,. כאשר הקובץ ריק הפונקציה
מחזירה 0, אי אפשר להשתמש בפונקציה זו בקבצי טקסט.
תחביר:
;םתס : ( 06קע1167עצעת : ע%1+16ת116160ע עהט )1109126ע מתסטססתגוע
דוגמה: ;( 28687116 )21165126 =: 6תטס60:סססת3
4 חלק ד" נספתים
-צהּת> 111 550
מטרה:
מילוי משתנה א% (מטיפוס כלשהו) ב-%מטסס תווים של 02 מטיפוס
סידורי כלשהו, לא מתבצעת בדיקת תתום.
תחביר: ;סמץ צְמת : 8 עהט )81ת1116ע 6עט0פססצק
7 : סתטס6
;( סמְעְע'עסצְתת : 6
דוגמה: ;( 0 ,( עהטתטא )+5126₪0 ,עתהטתטא )הם6ן11ע
6 1 1 11 ב [קכ) |
מטרה: שרטוט אליפסה עם מילוי שמרכזה (צ ,א) והצירים שלה הם פגוּנבְבּתא
(-פטנְהַתצ, דגם המילוי וצבעו נלקתים מההגדרות הנוכתיות, ההיקף
משורטט בצבע הנוכתי.
תחביר: ]תד : צא (1156[מוונע 6עט60סססצק
;( הבעסא : פגוגהַהתצ ,פונ1בבתא<
דוגמה:
;( 75 ,50 ,100 ,100 )56סוןומ11גע
ב א פרוצדורות ופונקציות 675.
צנססווגע ו מקפיזכ)
מטרה: שרטוט מצולע בעל 65תנסעתטא קודקודים, בדגם | המילוי והצבע
| הנוכחיים, . היקף המצולע *שורטט בסוג הקו והצבע' הנוכתיים.
ו הוא מערך של 06ץ1>מ1סע שהגדרתף -
= 8
2 : צָ',א |
: * 7
כל רשומת 6ץ+ת1סק מכילה ) את הקואורדינטות של קודקוד אחד של המצולע.
תחביר:. 7 ץק טי 7 : פ6תנסקתטא 0 0
דוגמה: 1 6 ,( 06ץ2+מ1סק 616 ( 52806 )812005 )ץספוננע
8 0/9 1
מטרה: חיפוש הנתיב לקובץ הראשון שתכונותיו מוגדרות על. ידי ש6%ג, הגדרת
הטיפוטים 86562 ן-: -01866ע5082 היא: :
6 סק 116+ בנגום) ה 85% =
= 360026 = 0200ע089
;ססע 0 : :11 ו
;5 : עססת .
;תאבס : סתגץ
= :%6ת61ם0ע : 8126 |
([0]12מ1ע80/ : סופא >
ּ ;תס
רשומת ע של 0 משמשת. קלט לפרוצדורה %א6אתגע.
= תחביר: | 865% : ם28% יי > 1 סק
| סט : מעס6ת ---
/( 508202860 : -כת עהט
דוגמתת 7 = = ;( 5566 ,סטנתסקת ,'פת2,*' )5%ע1ע6תגע
6 חתלק ד" נספתים | |
| 6אסאטתנץ 65
מטרה: | התזרת שם הקובץף הבא ששמו ותכונותיו מתאימים לרשומה ץ
ב-866ת9608200 שנתקבלה מהפניה הקודמת ל-1258%ע6ת1תע. הטיפוס
0606 מוגדר על ידי:
4 = 90870800
7 5ס [1..21]צהעקת : 111ק
7 : עססת
;שתדסתס : סונל
?םתס : 5126
ו[0]12ת1ע56 : שתהא
תס
תחביר: ;( 5082028060 : תע עבט )%א6%6ת1ע 6עגו60סס:ק
דוגמה: | ;( 5860 )0₪6%%ם1ע
1 בק8י)
מטרה: | מילוי השטת המכיל את הנקודה (צ ,א) ונתתם על ידי הצבע 662שסם,
תתביר: ;( 6עסא : ע66ע20 ;60062םת1 : צ,א )210062111 6עגוססססק
דוגמה: ;( 866 ,25 ,10 )111עבסס1ץ
תפגו1ץק | 55
מטרה: | ניקוי אזור האחסון של קובץ טקסט פתות לפלט.
תחביר: ;( %6א26% : 8ע%1%16ת1161606ע עהט )מפגו1ע 6עגו6ססס:ק
דוגמה: | | 0/0 0 7( ++גו%50א6' )מסגו[ץ
פרוצדורות ופונקציות | 677
סה 5756
מטרה: החזרת החלק שאחרי הנקודה העשרונית.
תחביר: : ( 681 : א)סהעע תסנססתגוע
דוגמה: (0,14159 5םעמ66ת) ;( 3.14159 )2280 =: 15הת1ססכ
וע 4 55
מטרה: | שחרור הקצאה של משתנה דינמי ע בגודל 8126 שנוצר על ידי קריאה
קודמת לפרוצדורה 6₪א00%%.
תחביר: ;( 6עסא : 8126 ;עס%6ףתנסע : ע עהץ )ת06806עע 6מט66ססתק
דוגמה: | ;( 5126ת50200 ,08++1ו2ת50260 )ה0סס:ע
הס-נה 50 658
מטרה: חיפוש קוב המוגדר ב-ם8%6ע2 ברשימת ספריות שב-121156כ, הטיפוס
תע מוגדר כן:
(9ם1ע56 ב86ק 5116 11טע) ;[0]79ם5621 = 562ם86ע2
תחביר: /ע562ת86ע ( 06ם1ע56 : 12115%כ ;2862562 : ת2806 )בסעהּספע תסנ66תגוע
דוגמה: ;( ( 'א'תפ' )ם665 ,656007116גוסת )םסנהספץ
8= חלק ד': נספתים .
11%קסץע | 658
מטרה: פיצול שם הקובץ המוגדר ב-ם28%6 לשלושה חלקים. שם הכונן והספריה
יוצב ב-15פ, שם הקובצ יוצב ב-6ּפא ושם ההרתבה יוצב ב-8%%6, כאשר
אחד החלקים אינו נמצא ב-286, מתרוזת הפלט המתאימה תהיה ריקה.
ההגדרה של הטיפוסים מע6פסתהא מעספעגת, ו-ע6פסא₪ היא:
(שםנע56 בס 5116 11גוע+ ;[9]79ם5621 = עספםבהע
(9ם5621 צע61260%60 6ת8 שטנגעת) ;[0]67ם1ע56 = ע6פענס
[פם1ע562 שחת 116ע) ;[0]8ת1ע56 = משס6פסתבא
(8ם1ע5%6 ת%610ת56א6 116ע8] ;[0]4ת9621 = ע6פ6אע
תחביר: ;עטפתסהע : תמהק 9011%ע 6תגוססססמק
: ]גת : שג עהט
;7ספסתהּא :3 שתהא עה
;( עס65סאט : סשאם עהע
דוגמה: ;( סתהאא הגע ,האס ,6ו1666211081קתס0 )116ספץ
6 | 0-05
מטרה: החזרת הקואורדינטות של פקודת שעת אן 111056 ו כרשומה
מטיפוס 06צ2200002₪51 שהגדרתה:
= 6כץ002651ס0ס:ת
ד : צַּ<
: 6ע508צ ,6עה56א
?7 : 6ת6₪צ ,6תסא
67
מרכז הקשת הוא (צ ,א). קואורדינטות ההתחלה והסיום הן (,(5682%א
568%צ) |-(0ת6צ ,6ב6א)
תחביר: | ;( 0000208106 : 268סס0ס:2 עאט )066210000205 6עטו66סס:ק
דוגמה: , ;( 028%8ע22 )006%21:0000265
פרוצדורות ופונקציות 679
5031 תיזכ )
מטרה: החזרת הרזולוצה האפקטיבית של מסך גרפי, היחס מתושב על ידי חלוקת
הפרמטר ספא בפרמטר ספבּצ,
תחביר: ,( עס : ספ8+ ,3850 עהט )066250200528%610 ס6עגוסססס:ע
דוגמה: ;( סְפבּצ ,בהא )06+526068%10
;( ספהצ/ספַהא , 18 28%10 60%6כפ5ת' )ם1661עש
6 030101
מטרה: התזרת האינדקס לטבלת הצבעים של צבע הרקע הנוכתי.
תחביר: : ע00%2%0010 מתסנס6סתגוע
דוגמה: ;( עס0652%001 ,' 15 166% עס1סס 6מגוסמסַאסבּפ' ) מ1661:ש
5% 00 7:
מטרה: החזרת מצב 68%ע6%621-22 ב-05כ2, כאשר הבדיקה מבוטלת (2268% =
"לא אמת"), מערכת 05כ בודקת קיום 0621-2286% רק בעת פעולות
קלט/ פלט, כאשר הבדיקה בתוקף (5268% = "אמת") המערכת בודקת קיום
8% לפני בל פעולת מערכת.
תחביר: ;( מ00108ס2 : 868% עפ 08%)0 06% 6מגו60סס:ע
דוגמה: ;7( 2-68%686 )00%02268%
;( 6%165%ע2 ?תס 6ת6260%1 1-2268%ע062 15' )םת1661עש
0 חלק ד" נספתים //
:01 ₪0:001 קינ )
מטרה: העברת ערך הצבע שהועבר לקריאה המוצלתת האתרונה ל-56600105,
תחביר: 7 : 66600102 בתס61סתגוץ
דוגמה: ;( עס006001 , '18 א66םת1 עס1סס 6ת6עעטטס' )םת661נעט
= 0 5%
מטרה: התזרת התאריך שבמערכת ההפעלה.
תחביר: ;( תנסא : 05866%צָ2כ ,צֶ8כ ,בףתסא ,הצ עבט )06%28%66 6עגוסססס:נכ
דוגמה: ו( אססַא5סַצְבכ ,צָבּכ 6מסא ,8+ )0662866
;( מה68צ,'/',צְכ,'/ ',ת6>תסא,' 5ב צְבּ6סע' )ם1661עשט
9 הסהת)
מטרה: | החזרת הרשומה של הגדרת טבלת הצבעים מטיפוס 06ע2816%%6'7 שהגדרתה:
6סססת = 2816666106
7 :- 8126
;ת61עסת5 05 [0601025א0..18]צָהעעת : פעס1ס6
7
טבלת הצבעים מכילה את הצבעים המקוריים שהוגדרו על ידי םק16628ת1.
תחביר: ;( 76ק281666617 : 2811666 עבט )06%2685801+28166%6 6עגוססס:ע
דוגמה: | | ;( 281666000 )11162816%%506ו00+26+8
00% | פרוצדורות ופונקציות 681.
5500 6
מטרה: | התזרת הספריה התורנית שַתנע6פמנ1סם של כנן עסמתגואסץ 1צפ,
עסמתטאסטנעס 0 מתייחס לכונן התורן, 1 מתייתס לכונן ג, 2 ל-8
וכן הלאה. |
תחביר: |
;(4ם1ע56 : 06ת1ע95ת1כ עהּט ;266 : עסמתגואסטגנכ )086011 6עגו6ססס:ק
דוגמה: | | ;( 06ת8אץ1:00602כ ,0 ) 12ס06%
;[ 1 [סתהאץ 16060 =: שט1עפ6תסעעטס
סתהּאסטנ כ בק80)
מטרה: | החזרת מחרוזת המכילה את שם מנהל ההתקנים הנוכתי.
תחביר: ו : 7 : סותהאסט1ת6660 תס61סתגוע
דוגמה: ;( 6תהאמסט1עכ065 , 61 ג צץ61)תס6עמטט' )%א66גוס
ץז ) 5%
מטרה: התזרת ערכו של משתנה סביבה מסוים.
תחביר: ?7 : ( שת1ע56 : עה8/טבםע )665020 מסנססתטות
דוגמה: +( ( אהי 0 ' 18 תפ >מסעפטס' )ם1561ע
682 חלק ד נספחים | / |
-נ))+ 020% 58
מטרה: החזרת תכונותיו של קובצ שלא נפתת. בקובץ א ניתן לבדוק קיום
| של תכונה מסוימת על ידי ביצוע פאת לוגי בין הפרמטר עסטת ואחד
הקבועים המוגדרים מראש שלהלך .
2 = צ1םת26800
2 = 16
2 = תפצ
7 = כדשתגו1ס
7 = צ1:6₪0%02כ
7 = סטנמסית
7 = 6 צתת
תחביר: ;( מס : ע6ס עבט ;1161700עצְתת :-ע עבט )06672662 6עוססססנע
דוגמה: | | ( 6817116886 ,8502002858 )בשנפפת
;( 066ו2116%6%1210 ,56020028%8 )00%22%%62
ב6ם6 0> צץ1ת368860 תה 66גוכ1162%%621ע +1
;( '20560%500- 1%6עא 15 ' ,8(6א812116ת:₪6 )מ1%61עש
ההק 11 ₪01 28 )
מטרה: .. החזרת מערך הכולל את דגם המילוי שנקבע על ידי הקריאה האחרונה
. ל-866211128%%5061, טיפוס רשומת 6כ0צ1%םת8%%66ע111ע מוגדר על
ּ ידי
(18ע5% 1 069120 עספגט) ;2766 5ס [1..8]צה:תת = 6קצ1ת:11128%65ץק
תחביר: :
?( 06עץ1תע11128%66ע : מע11128%666ע עהט )ם06%711128%6%662 6עט6סססעצק
דוגמה: . ;( צץ8ע7ת16ע5%תע8%6%602ע2 )ת:06%211128%66
פרוצדורות ופונקציות 683
0011150 | גקבק)
מטרה: | החזרת הערך של זגם וצבע שנקבעו על ידי הקריאה האתרונה
ל-16ע86621115%, ההגדרה של טיפוס הרשומה 6קע61מם11156%661ע
היא:
([ 5616 1111 66ת666+1מע2) | 6ע0ס0ס6ע = 6כ0510ת11156%%1ת
7 : תבעש8666ע
ע0ס601
7
תחביר: ;( 6סץ''05ת111866%1ע : 0+ת1111ע2 עהפט )99ת06%711156%%61 6עגוסססס:ע
דוגמה: ;( עס06001םת2מת28%650 )05ת00%6211156%%1
סו נ'ז'ין ) 08
מטרה: התזרת התאריך והשעה של פעולת הכתיבה האחרונה בקובץ א, את שתנז
ניתן לפרק בעזרת הפרוצדורה 6תנץאסהסמט.
תחביר: ;( %מדשתס/. : סוזג'1 הט ;116'776ע עתת : ע עבט )0667716 סמטוסססנע
דוגמה: ;( 8550068%6/ ,5602002868 )00116
6 קזכ)
מטרה: התזרת התצורה הגרפית הנוכתית.
תחביר: | 67 : 6050280%066 בתסנססתגוע
דוגמה: ;( ( 1066ת6650282 )36א 0051000 ,' ו %מסענטוס' )ת1661נעשט
4 חלק ד" נספתים
0-6 קכ)
מטרה: שמירת תצורת הסיביות של המסך באזור אחסון, השטת שנשמר הוא מלבן
שגבולותיו מוגדרים על ידי הפינה השמאלית העליונה (1צ 1)
והפינה הימנית התחתונה (2צ ,2), אזור האחסון מוגדר על :די
המשתנה כקְהא16ם.
תחביר: ,( ק816%8 עהט ;166002 : 2צ ,2א ,1צ,1א )06611806 26ט0ססס:נק
דוגמה: ;( צתאסס ,אתאסכ ,צסט ,אסט )108965126 =: 5126
;( 5126 ,%50-21768ג )ה00%%06
;( 08"7עתת6++גום ,צמתשסכ ,אמטסכ ,צקט ,אסט )01306
5 יי 8%
מטרה: החזרת הכתובת שנשמרה בווקטור פסק מסוים.
תתביר: [( ע66ת1סע : 760602 עהּט ;266 : סא6מ1 )065116766 6עגו6פסס:ע
דוגמה: ;( 1658ת660עשספסת1עע ,%05 )0665167606
| פרוצדורות ופונקציות 685
.ה( 00
מטרה: | החזרת רשומת 90מ61מ11 המכילה את דגם הקו הנוכחי ואת עוביו, כפי
שנקבע על ידי 16ע69%6ם56611, טיפוס הרשומה 05106ת12656%61ז
מוגדר כן: |
= 168616
7 : 16ע656ת1
= ;6עסח : 28566
7 : 6585תא160ת7
7%
תחביר: ;( 06ע'95'1ת1++656ת1/ : ס+תז6ת ג עפט 6169 06606
= דוגמה: | | | 1 5
300101 --. בק8י)
מטרה: התזרת הצבע הגבוה ביותר שהועבר לפרוצדורה :0ס566001.
תחביר: 17 * 02ס001א00688 מס61סתגוע
דוגמה: / | : 7ע0010א00503 | := מ05ס001
3 הקיו )
מטרה: | החזרת מספר התצורה הגבוה ביותר של מנהל ההתקנים הנוכתי.
תחביר: | | [%56002ת1 : %066א06%%8 תסנססתגוע
דוגמה: | | 006 =: עססהטאסבסתא
6 תלק ד" נספתים | : 9
גאה - 8 |
מטרה: התחזרת הטור הימני ביותר וה א*) של מנהל ההתקנים הגרפיים
בתצורתו הנוכחית.
תחביר: | | 1667627 : %א66688 תס61סבגות
דוגמה: | אא =: 55166ת14ת
0 | בק8)
מטרה: | התזרת השורה התתתונה (רזולוציה צ) של מנהל ההתקנים הגרפיים
בתצורתו הנוכתית.
תחביר: ;תד : צא00%%8% בסנ6>סתגות
דוגמה: צא%ס =: 6תנעתסס6סם
ו ב
מטרה: | יצירת משתנה זינמי תדש שגודלו 5126 והצבת כתובת הגוש במשתנה
המצביע ע. |
תחביר: | ;( 6תסא : 5126 קעססםת1סכע : ע שהּט )06680 6מגוסססצפ
דוגמה: 1 צמטסס ,אתחסכ ,צקט ,אק0 )108989126 =: 5126
7 6 ,63 550גום )0070
;( 7087תע00++טם ,צתחאסכ ,אתשסכ ,צסט ,אסט )66610896
פרוצדורות ופונקציות | 087
ו בו תת
מטרה: | התזרת מחרוזת המכילה שם של תצורה גרפית מסוימת. >
תחביר: 7 : ( 60628ס6ת1 : 028016006 )0660068836 תסנש6סתוץ
דוגמה: 0 ( 06502802086 )0608006886 ,' :006 6מ6עמטס'. )11
606 = ב280) 0
מטרה: החזרת התצורה הגרפית הגבוהה ביותר והנמוכה ביותר של מנהל התקנים
נתון:
תחביר>* . תד
;( 2ע6606תד
תפצל
43(%-(%.
06 תסנססתטע
06 ו עהט
דוגמהז - 2 .. 8% וס ,6 0
080 | 1
מטרה:. התזרת טבלת' הצבעים הנוכחית וגודלה על פי לוו - ההגדרה
של הרשומה ל היא: '
| 60026ע = +16
ץע : - 6
;6ם61עסת5 0% 80 0 עה | 601028
.
תחביר: . : : ;( 2810561706 : 6 כל )166 ס6מטססססצע
= דוגמה:.
(( 0+ם28166661 )0652816666
8 תלק ד נספתים | | %/-/
בגש 7 | מק )
מטרה: | התזרת גודל טבלת טבלת הצבעים.
תחביר: (ע5600ת 1 : 06%2816%568126 תס%61סמטץ
דוגמה: ( /808118106 0010258 ' ,006%62816+508126 , שעה ש6עסתע'" )םת1661עט
:0 קפזכ)
מטרה: קריאת הצבע של הנקודה שב-(צ ,א).
תחביר: 17 :(50002ם1 :צ,א% ):61א21ע066%5 תסנסלסתגות
דוגמה: ;( 25 ,40 )61א1ע006%52 =: עס61001א1ק
505 = םק )
| מטרה: החזרת הגופן (%ם0ס") הנוכתי, הכיוון, הגודל והיישור שהוגדרו על
ידי 6 (- צ+5666%0115%61. הגדרת הרשומה
16 אע היא: :
4מסססע = 6₪ק0951%7םת96%6%61:א6יי
;סא : %תסץ
7 : תס61ס6ענס
7 : ₪נַעַהת6
;סא : <בעסגא
;סט : 62%
67
תחביר: ;(951776ת%96%%1א6 : 50מ1א16 עבט )09בת656%61א06+6 סנטוססס:ע
דוגמה: , ;( 56ת500010א76% 069
| פרוצדורות ופונקציות 689
וני 65
מטרה? החזרת השעה הנוכתית, כמוגדר במערכת ההפעלה;
תחביר: ;( נסא : 566100 ,6ם5660 ,6שגותגא ,נגוס נהט 1 6גוסססצק
דוגמה: ;( 5960100 ,6ם5600 ,66טת1א ,עגוסם )0616
;( 6תסס56 ,*' ,66גות1א ,:' ,עטסט , חסא 16"5' )ם1+61:
7צ+1ע2ע 66570 - 65
מטרה: | החזרת מצב דגל האימות של 05כ, כאשר הדגל כבוי (ץ+1עפט =
"לא אמת") לא מתבצע אימות לאחר הכתיבה, כאשר הדגל דולק (צ6216ץ.
= "אמת") האימות מתבצע.
תחביר: ,( םת800168 : ץ+1ע06 עהט )006702117 660026ס:ע
דוגמה: . | : |( ע1%ע06 )ע15ע06%6/6
;( ע+1ע70 ,' ?15106עסט שת01כ 1608עא 615% 6עת' )ם1661עט
₪
0 חלק ז" נספתים 0 |
0:82 | 71058
מטרה: | החזרת האשנב הנוכתי והגדרותיו, כפי שנקבעו על ידי %מספשסנט866.
< ההגדרה של רשומת 06צ2>:ספטסנט היא:
8 = 0162026206
,תד : 2צ ,2א ,וצ ,1א<
;תס ססם 1 . סגנס
7
האשנב הפעיל הוא מלבן שהקואורדינטות השמאליות העליונות שלו הן
(1צ ,1א) והקואורדינטות הימניות התתתונות שלו הן (2+ ,2א).
תחביר: ;( 06ץ1>עסקטסנט : 2%סעש16ט מפּט )05םת066710086661 6מגוססססנע
דוגמה: | - ;( 7100205%528%58 )05םת00%6/10096%%61
₪ מקהזכ)
מטרה: החזרת קואורדינטת % של המיקום הנוכתי (פס).
תחביר: ,2ע6006סת1 : 606% תסנססתגוע
דוגמה: : ;660% =: תסנטהסס1א3
6% 000 מקפיזכ)
מטרה: התזרת קואורדינטת צ של המיקום הנוכתי (פס6).
תחביר: [2ע6606ת1 : 0664 בתסנטסתגוע
דוגמה: ; צ 0 - תס63%1ס1צ
פרוצדורות ופונקציות 691
צס6סס 6000000
מטרה: | הצבת הסמן ב- " 3
תחביר: 3 | 1 6 : צ ,א )צא0050 8
דוגמה: = | (עספעטס 6(% ששמ 0) ;( 12 ,40 )צא0ם 00
0 | קו
מטרה:. קביעת ההגדרות הגרפיות (אשנבים, טבלת צבעים, צבעי רקע,: דגם
קו ומילוי, גופן פעיל, דגם ויישור טקסט, גודל תווים) למצב של
> ברירת המחדל.
תחביר: 3% | | %--/- 7 6נגו60סס:ע
דוגמה: 2 . - מ
:| -. גק8ז 0
מטרה: התזרת מחרוזת הודעת השגיאה של קוד שגיאה | מסוים.
תחביר: 0 : ( 1066065 : : 6066סצעט - בס61סמגוץ
| דוגמה: : - / | | / 3 =: 60066עסמע
ביר = / , - יי 0 ' :עסעעפ' )ם1661עש
2 חתלק ד" נספתים
סה תקפיכ)
מטרה: התזרת קוד השגיאה של הפעולה הגרפית האחרונה והצבת 0 בקוד השגיאה
לאחר מכן.
תתביר: 7סת : 116ו69אתק628 מס61>סתטץ
דוגמה: 7" 92 2 >= 0066ע0סץתע
מ 6 9 ,' :תסששפ' )בת1661עש
ד
5500 1
מטרה: עצירת התוכנית ותזרה למערכת ההפעלה. הפרמטר האופציונלי 60086 נא
מגדיר את קוד היציאה מהתוכנית. כאשר משמיטים את הפרמטה המערכת
מציבה (₪816)0.
תחביר: ;( [ 6עסא : 160066א₪ ] ₪816 6עט66סס+ק
דוגמה: ו( סא6סנ1נאם )והמ
1 556
מטרה: התזרת הבית הגבוה של ארגומנט, מטיפוס 166062 או בעסא.
תחביר: ;6 : ( 6מסא6תד : א )נא תסנססתגוץ
דוגמהי ;(( תסנפעפשטפסכ )₪1 ,'' ,(םתסנפעסטפסכ )סע,' 205 צתגפט' )ם1661עט
- פרוצדורות ופונקציות 693
סט נשתצנע %)
מטרה: | הצגת מסך הפלט הבא עם תווים בעוצמה גבוהה.
תחביר: ;0 6בתגו66סס:ע2
דוגמה: ו ;0ס66נטתצוא
6 וד םסזכ)
מטרה: | התזרת מספר הבתים הנחוצים לשמירת חלק מהמסן. התלק הנבחר
הוא מלבן שהקואורדינטות השמאליות העליונות שלו הן (1צ ,1א)
והקואורדינטות הימניות התחתונות שלו הן (2צ ,2א).
תתביר: 17 : ( ע6600ם1 : 2צ ,2א ,1צ ,1א )108005126 תסנ6סתגוע
דוגמה: ;( צתטססם ,אתחסס ,צקטש ,אקטס )18009126 =: 5126
7( 5126 ,27068 -50+גום )6060
;( 687ע5+072טום ,צמחסכ ,אתטסכ ,צקט ,א<סט )6610846
סשת | 55
מטרה: | הגדלת ערכו של משתנה סידורי כלשהו. ברירת המחדל, כאשר הפרמטר
האופציונלי םמ איננו מוגדר, היא הגדלת % ב-1, כאשר הפרמטר מוגדר,
גדל ב-ם.
תחביר - ;( [ %םדשָתסע : ם ;] 0501776 : א עהט )116 6קגו6סססע
דוגמה: 7 =: ש>תגוסתת
[11 60818 טסם %תטסחת] ?;( %מטוסתת )16
[14 6008153 שטסם %6תטסחת] ;( 3 ,>תטסתת )סתד1
4 חלק ד" נספתים
הנ נת תיזכ )
מטרה: . טעינה ראשונית של המערכת הגרפית והעברת התומרה למצב גרפיקה, אם
קוראים ל-801ע150ת1 כאשר עסט1:סת80ע0 שווה ל-6666%כ - קבוע
מוגדר מראש שערכו 0 - הפרוצדורה בוחרת וטוענת אוטומטית את מנהל
ההתקנים הגרפיים המתאים ואת התצורה המתאימה, כאשר עסטנ1:סתסהּ:ס
אינו 0, טוענת הפרוצדורה מ7ק15028ם1 את מנהל ההתקנים המוגדר על
ידי עסט21סת6280 ו-02801%8066. המתרוזת עשט1:פסני'ם28% מבילה את
שם הספריה שבה נמצאים קבצי מנהל ההתקנים הגרפיים, כאשר המחתרוזת
עסטנ1עפסי'ם8%6ע ריקה, קנצי מנהל ההתקנים חיבים להיות בסספריה
הנוכתית.
תחביר: ועססססתד : מסטנמקםתק028 עהט )2ק16028ם1 פעגוססססתקע
תד : 96 כ
;( פת1ע5%6 : עסטנצפסדת6בע
דוגמה: 7 ְ >= מסטנעסעטף
; ( 'עע :0' ,6280066 ,מפטנמכנט )תק160:8תד
בי 5
מטרה: שילוב מתרוזת 66עגוס50 במחרוזת 28206%' החל ב-א66%ם1. אם אורכה של
המחרוזת הסופית עולה על 255 תווים, היא תקוצץ אחרי התו ה-255.
וספ )תד 6מגו0סססק
תחביר: ?7 :
?עס : 076%ע7132 הט
;( ע6606ם1 : א66תך
דוגמה: ?'2ץאאטגו6פתססתת%1ר1ת66+0סכהּ' =: 66שדב7
[ "2צאטטט56ת)קסתת1אכר1ם6תמפספה") ;( 4 ,76660 סעפכ' )+ספתד
פרוצדורות ופונקציות . 695
66-0000086
מטרה:. | הוספת שורה ריקה בשורה שבה נמצא הסמן, תוך שימוש בהגדרות
הנוכתיות: של 6ְתגוּססַאסַבּם62אסי', כל השורות שמתחת לשורה שבה נמצא.
ה נעות שורה אחת כלפי מטה. כ השורה התחתונה נעלם.
תחביר: " 7 | 000 6מ571תד | 0
דוגמה: ה "חר 5 | 7
0ש3ש68110500פחד 0
מטרה: התקנת 0 התקנים חדש בשם וס לטבלת ההתקנים 1
אם קיים מצביע לפונקצית האיתור. הוא נמצא ב ה
| תחביר>. .יי 3 11086 6ט1עס )1ע0נ5%811050ח1 ו
[ע16606 : ( ע6ספת1סק 1 006660%96%גות
דוגמה:. ל( נא 2 .יי 11050 "- עשטנמסעט
| א שר 7 ;( 'פע:ס' ,020060 ,מפט1עפעט )ם160280מד
0 3110080:) תד : מ |
0 מטרה:" . | התקנת גופן (%םס5) חדש ם ב שאינו מובנה במערכת 1
תחביר: 1 / 8 61 סק - 0 מסנשסתגוץ
| דוגמה: 7 | | : = )6811056086 תד =: שמסעטסא
ּ 1 ה =: מסטנעפעט
₪ פע :' ,060 ,מסטנמסעץ )3 +1תד |
;( 1 ,מנס12שס ,62056 )9616865616
56 חל ק ד נספתים | |
חוד 5500
מטרה? . התזרת השלם מביטוי מטיפוס אמיתי.
תחביר: 7 : ( 681 : א )%ם1 מס61סתגוק
דוגמה: [ 3.0 פתתגוטססת ] ?( 3.14159 )%6ם1 =: ה16סמח
[ 3,0- פתעטססת ) ;( 3.14159-)>ת1 =: 162סתח
:תד 5
מטרה: | ביצוע פסק 2105 מספר סא6ב1, הפרמטרים מועברים ברשומה מטיפוס.
5 שת שהגדרתה:
40 = 200156025
5+ 1150002 08586
;(נסז : 1805ע,51,01,05,₪5,סם, אס אס אם,את) : 0
;(ס5ַעם : זזם,.זס,זןס,,זס, זזם,.זם, גות,:זת): 1
?מס
תתביר: (( 8ע0019%606ת : 3005 עבט ;50ע2 : סא6ם1 )162 6מגו66סס:ע
דוגמה: [ 680עע-81+6 6מ6881:ק 858 5816 + ;( 2608 ,5 ):6תד
.ונ 8
פרוצדורות ופונקציות 697
550 0
מטרה: אם בדיקת פלט/ קלט מבוטלת על ידי (-81), 2080691116 מתחזיר ומאפס
את דגל השגיאות של פעולת הקלט/ פלט האתרונה, 0 מצביע על פעולה
מוצלחת וערך שונה מ-0 מצביע על קיום שגיאה, כאשר מתרחשת שגיאה
במצב של ביטול בדיקת קלט/ פלט, תתעלם המערכת מכל פעולות הקלט/ פלט
הבאות, עד להפעלת 102691116 ואיפוס דגל השגיאות.
תחביר: %/ 7 :" 102051016 | מתס61סתגותע
דוגמה: . ;( 0מנע6פסתה3א116ץ ,116עת1 )ת14פפת
;(+%1) ( 116עם1 )686% (-91]
תסם6 0 > 10205016 +1
;( '!0תגוס+ 6"תפהּא' ,0ם8069621א116ע )ם1661עט .
8 חתלק ד" נספתים
ב 551
מטרה: החזרת האורך הדינמי של מתרוזת ע565.
תחביר: 7 : ( 6םתגע56 : ע6פ )ת%5ת6 תסנססתטץ
דוגמה: ;( 10 ,2 61 ((6558086)ם0%ת26₪ - 80) )צאס006
, [ 10 שסע ם1 0606266 ) ;( 1655806 )166עשט
סנ | ספ )
מטרה: שרטוט קו מ-(1צ ,1א) ל-(2צ ,2א) תוך שימוש בסוג ובעובי הקו
שהוגדרו ב-65%616םת56%61 ובצבע שהוגדר ב-966001052.
תחביר: ;/( ע6006ת1 : 2צ ,2א ,1צ ,1א )6םת11 6עו6סססצק
דוגמה: [ םתס א חָנם 8 שעת + ;( צא000(8 ,%א60088 ,0 ,0 )6תג1
] 502006 סשת זָ ;( 0 ,006088 ,צא0₪683 ,0 )6םתג1
1 בק8יכ)
מטרה: שרטוט קו לנקודה הנמצאת במרחק יחסי מהמצביע (עס) תוך שימוש בסוג
ובעובי הקו שהוגדרו ב-56611169%6716 ובצבע שהוגדר ב-עס65001ס.
אם (צ ) הוא המקום של עס אז, (צֶסם ,אפ)1סת6תז זהה
ל-((ץָפ+ צ),(אפ + א),צ,א) 6ם13 .
תחביר: ;(( 2ע60006ם1 : עצפ ,את )6281םת1 6עט6סססצק
דוגמה: | [ ההחחחדד777777777-------------- + :( 40 ,20 )61תסתגע
[ 016ת18ע% 8 תעס+ 08םת11 66עם6 65886ת7 + ;( 40- ,20 )1ַסת6ת1
/ הוחחחחחחדדההההההה-ה------------ + ;( 0 ,40- )6881ת11
פרוצדורות ופונקציות 699
סיז'סת נ.ז | ק8יכ)
מטרה: שרטוט קו מהמצביע הנוכתי (עס) ל-(צ ,א) תוך שימוש בסוג ובעובי
הקו שהוגדרו ב-86%611265%6716 ובצבע שהוגדר ב-ש:0ס566001.
תחביר: ;( 1660062 : צ ,3 )1 סעטסססס:ע
דוגמה: | (עשמעסס %6ג10ת עססקט 60 6ם11 פשהמת) ;( 0 ,%א066%8 )סנסת11
תו 5 >
מטרה: התזרת לוגריתם טבעי של ארגומנט חיובי.
תחביר: 1 : ( 681 : א )םת מס1ס6סתגוע
דוגמה: : ;( תטא )םת =: 6גו10%0781
ו 55
מטרה: החזרת הבית הנמוך של ארגומנט מטיפוס 156862 או בעסא.
תחביר: . 7 : ( 6עסאסםך : א )10 תסנססמגוע
דוגמה: ;( ( תסנפעסטפסס)₪1 ,'' ,( תסנפעסטפסכ) סע,' 205 שמנפט' )מ1661:נשט
00 - חלק ד': נספתים ּ
600 נ?שס.ז %)
מטרה: | הצגת כל הפלט הבא למסך בתווים בעלי עוצמה .נמוכה.
תחביר: | 7 מסמעגו60ססמע
דוגמה: | יו
%נהו 550
מטרה: העתקת הערך שב-שס6פס8ס₪ למשתנה המצביע פ.
תחביר: |( עשסםתנסע : ע עהט )882% סעגו6סססקק
דוגמה: ו( 16סמקהּסטא )אזבא
1בהּטית אבא ה
מטרה: התזרת הגודל (בבתים) של הגוש הרציף הפנוי הגדול ביותר בערימה.
תחביר: ;>מזסתסת : 11הטתאה% תסנ6>סתגוע
דוגמה: | א =: 701605126
1ה קית סא | 55001
מטרה: | החתזרת סך כל הגושים הפנויים בערימה (בבתים).
009 | ;%תדפתס : [1הטתת86 מתסנססתוע
דוגמה: /1טת תס =: סִסַשַתססַהכ5סְבּס₪
פרוצדורות ופונקציות 701
-צבסא 57500
מטרה: | *צירת ספריית משנה חדשה שפרטיה מוגדרים ב-6תהאכגפ.
תחביר: ;( ש6םת1ע86 : 6תהאסט8 ):נסאא 6עגוסססס:ק
דוגמה: | ;( שאמ תתהתהאתסחתק ש' )+1סאא
סטסץ 5%6ע5
מטרה: העתקת %תטס בתים רצופים התל בנית הראשון של 6סעטספ
לבית הראשון של מ8%610ם6561כ, המשתנים 6סעגס8 ו-ב8610ת6861כ
יכולים להיות מטיפוס כלשהו, לא מתבצעת בדיקת תתומים.
תחביר: שי( סא : 6מגוסס ;מסנ61ה8ת05%1כ ,800206 מעפט ) 6טס 6ענגוסססס:ע
דוגמה: ;( (א)+51260 ,ץ ,3 )סטסא.
1סטס קפ )
מטרה: העברת המצביע הנוכתי (ע0ס) מרחק יתסי מנקודת ההתחלה, אם המיקום
הנוכתי הוא (צ ,א) של (עס), אז (צַע ,אפ)1פתפטסא שווה.
ל-(צָפ + צ ,אכ + א)ססטסא. :
תחביר: ק( 2ע600סת1 : צסם ,אכ )1פת6ט0א8 6עט6ססס:ע
דוגמה: | / ;( 50 ,50 )61תסטסא
2 חלק ז': נספתים 2
סי'סץסון | תקהיל)
מטרה: | העברת המצביע הנוכתי (עס) ל-(צ ,א).
תחביר: > ( 166062 : צץ ,א )0870 6נגוססססנק
דוגמה: - > . | ;( 200 ,100 )10סטסא
ספ | 8
מטרה: ביצוע פונקציית 205 מפסק %21 של ה-05עם, כל הפרמטרים מועברים.
ברשומה מטיפוס 360186625 שהגדרתה:
| = 8ע1560טסת
+ 166002 08586
; (סנסחא
: 1805ע,5,5, דכ 51 פם, אס אס אם,את) : 0
;(ססַעם : הס,,זק,טס,,זס ,םת את,תת): 1
: 7
תחביר: ;( 200155628 :2005 עבצ )15005 6מגו66סס:ע
דוגמה: | 7 =: 11ת.5ט6ת
ל 8 )ספ
;( חת,פשסת,' ,1ת.5שס3 ,' 205 שתנמתתות' )ת1661קש
שטסא 55
מטרה: הקצאת שטת בערימה למשתנה דינמי מהטיפוס שאליו מצביע ע והצבת
מקום. המשתנה החדש ב-5, (ניתן לפנות אליו כ-*5).
תחביר? .0 . ו ;(עססת1נסע : ע עהט )שפא 6תט6סססצק
דוגמה: | ;( עהטע6קע )אסא
פרוצדורות. ופונקציות 703.
100 בל ות:נסא 60
מטרה: בתירת תכונת הטקסטי המקורית שנקראה ממקום הסמן ה התוכנית..
ו ו בלל כל הפלט הבא למסך יהיה בעוצמה רגילה.
תחביר: | "רפט ה ד כ ₪ 77 * סא עפ
דוגמה: | 0 02 . | 7 : 0 סא
בהמטספסא 00( - |
מטרה: | כיבוי הרמקול הפנימי.
תחביר: "7 . / בש . 0 ופסא 6נט6שססמת =
דוגמה: -/- תת ו
8 ּ / 0
מטרה: | החזרת "אמת" כאשר הארגומנט הוא : מספר בלתל זוגי, אחרת. -
| | הפרוצדורה. מחצירה "לא אמת", |
תחביר: : 0 ל ן 0 ל מ בכ מסנוסמגת |
דוגמה? 0700 > 3% תסמ> ( 16 1 6ט1בט )086 15
י י - ב כ ' ,סג ,' צסמתגות %' )ם1661תט
1 =
4 חלק ד" נספתים
50 5%
מטרה: החזרת ההיסט של גורם מסוים.
תחביר: 7 : ( סִכִעְלַצֶתת : א )055 בתסנססמגוק
דוגמה: ;( 00(60% )055 =: תסנסְהַססַ64הס
בנס 5
מטרה: התזרת המספר הסידורי (81ת261ס) של ערך מטיפוס סידורי.
תחביר: = םתס : ( 0267706 : א )6ע0 תסנססמגוע
דוגמה: ;'ו' =: 6
;( 64- ( (ת000886)0 )026 , מססתטם ע166566 5ג' ,ם6 )ם1661מש
טייטס תסהזכ)
מטרה: יצירת פלט - 6ם1ע%69%א26 למקום שבו נמצא המצביע הנוכתי (פס).
תחביר: ;( 66ת1ע86 : 0ם69621א26 )%א00516 6עגו66סס:ע
דוגמה: . | | ;( 'שת1ע6פ 1055866' )%א0ע6גוס
/ פרוצדורות ופונקציות 705
צאגסי סטס מקפיכ)
מטרה: | יצירת פלט שת1ע696א16 למיקום (צ ,א).
תחביר: ;( 6ת5621 : 0ת1ע6552א16 ,66002ת1 : צ ,א )צא6א66גו0 6נגו6ססס:נע
דוגמה: ;( 'סת1ע6ה 658866א' ,50 ,100 )צא6א6ע6ט0
+ט-ז בס [):נטיס ץע(
מטרה: ניקוי אזור האחסון של הריבוד כדי לכפות את טעינת כל שגרות
: | הריבוד הבאות מקובץ הריבוד או מהציכרון המורחב.
= תחביר: | ; טס 6תגו6ססנע
דוגמה: / 001
טס - 07
מטרה: | החתזרת הגודל הנוכתי של אזור האחסון של הריבוד.
תחביר: | ;6מנטתסם : %ט206%2ט0 מסנססתגוע
דוגמה: ;( '.4תס1 665עכ' ,06%201עט0 ,' 85 -5+0גוס צ18מסטס 6תע' )ת1661:ש
7( 6מתגוסתת+תסתס2סת1 + 005ו206%2ט0 )02866911
;( '.צתס1 565עכ ,05ופ266%ט0 "חסם 158 16' )ם661בעש
- 706 חלק ד': נספתים | "ה | :
דנטס עפ 06
מטרה: טעינה ראשונית של מנהל הריבוד ופתיחת קובץ ריבוד בשם 8(6א116עת.
תתביר: 0 ;( 68ם1ע55 : 6ת8א116ע2 )1%ם21ט0 6ע00660ס:ע
= דוגמה: - ;( '6.009ם669ע50' )1%ם1מטס
5 נתד:נט יס 0
מטרה: | אם מתגלה מנהל. ז'יכרון מורתב (9א8ש) טיכרון מורחב מתאים,
| הפרוצדורה טוענת את קוב הריבוד לזיכרון המורחב (5א%ם) וסוגרת את
קונץ הריבוד שעל הדיסק.
תחביר: 0 126ו060סשע
דוגמה: | | 07
ו ג ץע(
מטרה | שנוי גודלו של אזור האחסון של הריבוד.
תחביר: ;( %ת081ת0 : 5126 )072966005 6עגו60סס:ע
דוגמה: ;( '.0מ10 5 ,016ם00206% ₪85 ע6++גוס צץ18:סטס 6תי' )ת1661עש
;( >מטסתת+%תסתס2סת1 + 5צגו20062ט0 )02506215
;( '.8תס1 668צכ ' ,002000205 חטסם 15 16' )םת1661עש
פרוצדורות. ופונקציות 7
סנ גיד':סב 658
מטרה: קיבוץ רשומת 8616 לרשומת תאריך ושעה מטיפוס 6מ1שתס1 שבה
משתמשת הפרוצדורה 7'186'ע565. לא מתבצעת בדיקת תחומים, הגדרתה של
רשומת 856'1186 היא: /- |
4% = סתנ"ַססהכ
7 : 5660 ,ת1א ,עגוסט ,עָבכ ,מסתסא ,מהסצ
7
תחביר: ;( %ת61מ0/ : ע עהט ;סתנלַס6הכ : 1 מעהט )6ת1עאסהע 6עו60סס:ק
דוגמה: ;( 6106₪%%1010 ,6מ6תס/6ת6עעט6 )116אסהק |
| שתגוסי)חהּ:-זנה 50
| מטרה: החזרת מספר הפרמטרים שהועברו לתוכנית משורת הפקודות.
תחביר: 7 : 6תטס6תהעהע מתס61סמתוץע
דוגמה: מסםס 0 < 6תטס6תהלהבק +1
סה %מטס6תהּעהע סס 1 =: 1 עס1
;( 1 )תספתַהתהק , 18 ',1:2 "מסססתַהתבק' )מ1661עשט
הנה 5
מטרה: התזרת פרמטר מסוים שהועבר משורת הפקודות. כאשר אסחִם1 הוא 0 או
גדול מ->מגוססותהּעבּק, יהיה ע6פתבּעבּע ריק.
תחביר: ;םנעספ : ( 6עסחא : א66ם1 )עס6פתהתהקע תסנס6סמגוק .
דוגמה: תספת6 0 < 6מוס6ת8עהע 15
0 >מתגוס6ת88ע סט 1=: 1 עס+
;1(7 )6פוה בע / 15 (2 , תסססתהתהקי )ם1ת165סקש
8 חתלק ד" נספתים
1ם 55
מטרה:. התזרת הערך של פאי (3,.1415926535897932385).
תחביר: 1 יי 1 מסנ6סתגוע
דוגמה: ;1 * ע218(666=: 06ת61:00050:0
6 | םס )
מטרה: | שרטוט ומילוי "פלח" של עוגה ברדיוס נתון (8גו8861) שמרכזו
ב-(צ ,א) בין זווית 0616ם562 לזווית 16שְתהבתם, הזוויות נמדדות
במעלות, כנגד כיוון השעון, כאשר זווית 0 נמצאת בשעה 3. היקף
ה"פלח" משורטט בצבע הנוכתי, ופנים ה"פלת" משורטט בדגם ובצבע
שהוגדרו על ידי 56621115616 או ם662+11128%ע565. י:
תחביר: 6627תך : צ ,א )21651106 6עט0סססצע
,0016תע₪ ,562616
;/( סעסשח : 3815
דוגמה: ;( 50 ,90 ,0 ,100 ,100 )1651106ק
-161 | 556
מטרה: החזרת הטור הימני ביותר (רזולוציה א) של מנהל ההתקנים הגרפיים
בתצורתו הנוכתית.
תחביר: | 660ע : ( סַםבע6פ5 : ע56 ,ע6פסט8 )פסע מס61סגגוע
דוגמה: [20208 ב₪16 פאת018 2601806) 12,345 ' =: שםנע6פסטנססת
0ף 0 < ( שתנע6פסטנ1ססת "' )פסע 16נתש
;'0' =: [ ( שםנע6פסט1ססת , ' )205 ]0ת1ע5%ט61סת
פרוצדורות ופונקציות 709
סנ 7
מטרה: התזרת הערך הקודם של ארגומנט מטיפוס סידורי כלשהו, התוצאה היא
= מטיפוס זהה לטיפוס הארגומנט.
תחביר: ;06 : ( 020706 : א )66ע תסנ6סתגות
דוגמה: ( א )2266 =: 6ת0פות1חא
נש | 550
מטרה: הפיכת כתובת (בסיס והיסט) למצביע מתאים לכל טיפוסי המצביעים.
תחביר: 7ע%6ת01ע : ( 6עסח : 058 ,560 )ע6ע תסנססתגוע
דוגמה: | | | ;( %13 ,5840 )ע6ע =: ע6עחסא
;( י,עעסתפת [8ת662ת1 05 668צ ו ,"ע6עת06,י 6ע8 6מסתעי )ת1661:ש
6 הדות | קפ )
מטרה: * העתקת תוכן 137 לתוך שטת מלבני במסך שפינתו השמאלית העליונה
היא (צ ,א). אזור האחסון ס810%8 נוצר על ידי 0061886 ומכיל
את מפת הסיביות שיוצגו ואת גובה השטת ורותבו. הפרמטר
1801800610 קובע את אופן התצוגה של כל סיבית. ניתן לטעון בו
אחד מהקבועים המוגדרים מראש שלהלן:
/7 = ס6געצץק0ס6
= 6וע0₪א<
0% = 7
7 = סגועבמת
/2 = >טעטססא .
תחביר: תד : + )תגוע 6026ססס:נע
;קהס1 עהט
;( סמסא : םת00%10ע15018כ |
| דוגמה? = /( צאה8א00% ,אא 60008 ,0 ,0 )8069126ת 1 =: 5126
[( 5126 ,208 1162גום )006%
;( 687תתת0++גום ,צא00%%8 ,%א00018% ,0 ,0 )001306
[ת060ע50 6ם6 פס6עסטת1) ;( 6טוע6סא ,5687תת:ם+"טם ,0 ,0 )6ססַהּתנ61טק
1 כנקגום | מקפיכ)
מטרה: "הדלקת" הסיבית שב-(צ ,א) בצבע של שס1סס61א1ע.
תחביר: ;( בעסא : עס61001א1ע ;150002 : צ ,₪ )[6א1ע6גוע 6מגו6סססצע
דוגמה: ;( 366 ,100 ,100 )1סאנעסטק
פרוצדורות .ופונקציות = 711
5506 | תתססמה |
מטרת:. התזרת מספר אקראי, כאשר אץ מגדירים תתום (0ת₪3), הפונקציה
| << מחזירה מספר אקראי מטיפוס ממשי בתחום 1 א = > 0, באשר משתמשים .
ב-96ם88, הפונקציה מחזירה מספר . אקראי מטיפוס מלה בתתום
406> א >> 0,. יש לקרוא לפרוצדורה נמ בתחילת התוכנית
כדי לטעון את מחולל המספרים האקראיים.
| תחביר :1 2-7 | ב : הססתבת תסנססתטץ
דוגמהז. = | 1 : ( יי ו הב 5 6 > הסתבת 45
: ּ 3 '3116ע' ו 6
תחביר 1:2 0000 | כ : ( 6עסא : ב תת מסנססתגות
| דוגמה: - 6 6106 6ם6 05 105 סמזי ₪1
7 1+ ב--2 ' מה , 1+ (6)ה00ה8 ,
וס תת 5 -- --
-מטרה: טעינת ערךד אקראי משעון המערכת במשתנה. המוגדר מראש 6שט
ל מחולל המספרים האקראיים).
תתביך: ' 0 | 0 2% 7 ;סתנחסְַתַהת 6 ו60ססק
דוגמה 0/0 0000 ל 5 000 -120תס6תבת
2 תלק ד" נספתים. | / :
5500 8
מטרה: | קריאת ערך אחד או יותר למשתנה: אתד או יותר, ש1161ע, אם הוגדר,
יכול להיות קובץ טקסט או קובץ עם הגדרת טיפוס, כאשר פרמטר זה
מושמט, המערכת מניחה שמדובר בקובץ הטקסט הסטנדרטי >%טומחד, כאשר
התוכנית קוראת מקובץ טקסט, צריך כל משתנה להיות מטיפוס שְהּתס,
15601, 3681 או הַם1ע56, חייבת להיות הקבלה בין טיפוס המשתנה
והטיפוס שבקוב).
תתביר: | ;][( [מט,..,2,] וט [;06ע1167ע: כ161גע מהט] )]3680 6עטסססס:ע
דוגמה: ק( כש21 ,55866 ,015 ,1002688 ,סתהא ,8537116כ )686
וס %)
מטרה: | קריאת תו מהמקלדת ללא הדהוד (כלומר ללא הצגה על המסך). אם כבר
התבצעה לתיצה, הפונקציה מחזירה אותו מיד, אתרת, הפונקציה ממתינה
ללחיצה הבאה, קלידים מורחבים (למשל: סְטִפַע 1א, ו-ע-16) מוחזרים
כשני תווים: הראשון ריק (80) והשני הקוד המורתב. משום כך יש
| לבדוק את הערך המוחזר על ידי עָס6א686ת, אם הערך שהוחזר הוא ריק,
יש להפעיל את הפונקציה שנית.
תחביר > נע8ב : צ326806%6 מסנססתגות
דוגמה: 9% =: עעסמע
[ צַ56 90806ע ]| תסת6 827 = צְע6תע +1
7 וס
| = פרוצדורות ופונקציות 713
בס 5506
מטרה:
ביצוע הפרוצדורה 6806ע ומעבר לשורה הבאה בקובץ,. אם משתמשים
ב-11610ע הקוב חייב להיות קובץ טקסט, כאשר פרמטר זה מושמט,
המערכת מניחה שמדובר בקובץ הטקסט הסטנדרטי 6גוסת1, המשתנים
חייבים להיות מטיפוס עהת0, ע160046, 2681 או 06ם1ע55,
תחביר: ;[( [מט,,,2ץ,] וט [,60א76 : כ1161ע עהּט] )]ת36861 6עגוס6ססק
דוגמה: ;[( ק21 ,55866 ,016 ,2002088 ,סתבּא ,3582116כ )]מ בס
6תהסס קז )
מטרה: | שרטוט מלבן בצבע ובצורה הנוכחיים של הקו, הפינה השמאלית
העליונה היא ב-(1צ ,1א) והפינה הימנית התחתונה היא ב-(2צ ,2א).
תחביר: ;( ע6000ם1 : 2צ ,2א ,1צ ,81 )360582016 ס6ענוסססס:ק
דוגמה: [ת606ע562 6ם6 פסאסם) , צא 0 ,3% ,0 ,0 )66682016
4 חלק ד" נספתים
זסץ 1:נ 13031- 50 01 מקגזכ)
מטרה: | צירוף מנהל התקנים 861, למערכת הגרפית, במקרה של שגיאה בעת
טעינת מנהל ההתקנים, הפונקציה מחזירה מספר שלילי, כאשר ההתקנה
מסתיימת ללא תקלות, הפונקציה מתזירה את מספרו הפנימי של מנהל
ההתקנים החדש.
תחביר: | :ע6602סת1 : ( ע66תנסע : עסטנמכ )62ע1ע3601560:0010 בסנ6סמתטע
דוגמה: ;( '201,ת00' ,עסט1עכ002 )תצנפפת
;(1 ,62ט1ע2כ002 )6ספסת
;( ( ע6סט1ע0022 )21169126 ,662ת1סכק002 )ת06:0
;(( עסט1עכת00 )21169126 ,602"7םת002201 ,עסטנעכ 602 )מְב6האססו1ם
מ6ם6 0 > ( 7ע66םת002201 )02ט1560201021טס3 15
;( 'זסט10ע6 6םת108061 םת1 עסעעם' )ם661נ1עש
01501 | מק8ת)
מטרה: | צירוף גופן (טםס") 61, למערכת הגרפית, במקרה של שגיאה בעת
טעינת הגופן, הפונקציה מתזירה מספר שלילי, כאשר ההתקנה מסתיימת
ללא תקלות, הפונקציה מתזירה את מספרו הפנימי של הגופן (6ב0)
החדש.
תחביר: ,10602 : ( ע6סתנסע : פתסע )15602201%026שסת תסנ6>סתטע
דוגמה: ;( '039 עדת" ,>תסעקנעץי )בף1פפת
;( 1 ,%תסתק1עע )6ספסת
;( ( %תסשסנעץ )21169126 ,ע66תנסע6תסץע )0660
;( ( 6>תסעק1ע1 )21169126 ,"עס6ת1סע>תסע ,6>מסעקגמץ )1008086
תסם 0 > ( "עסס6םתנ1נסע%תסע )%ת18602001+0ט36₪ +11
;( 'תסט1ע8 6ת108061 םת1 עסעתע' )ם1661עש .
כ לא ערו ל .| פרוצדורות ופונקציות 715
2
5500 / 6
מטרה: | התזרת. ראש הערימה למיקום שעליו מצביע פ, > שהוגדר בעת ההפעלה
= האחרונה של הפרוצדורה 8%
תחביר: 9% 8 0/ 6 0 ספט 6מגו64סס:ע
דוגמה:: 2" > 9% = של 2 7 סז )6
סוהּתסא . | 50
מטרה: | שינוי שם קובץ חיצוני שאינו פתות, השם החדש הוא שוהאאסא,.
תחביר: 7 5614 : 6מהאטסא ;ע עבט )סתהתסת 6עטססססמק
דוגמת: 0 0000000000 <;("אץ.1ע0' ,16געת0160פ )מפָנפפת
ל"ר - | 27 ;( "אע שסא' ,116עב160שפ )סהמפת
0% -. ה
מטרה: | פתיחת קובץ קיים, אם * הוכרז כקובץ טקסט, הפרוצדורה פותחת את
- | הקוב לְקריָאה בלבד, אם ע הוא קובץ עם או בלי הגדרת טיפוס, הוא
= נפתח לקלט ולפלט,: הפרמטר. האופציונלי 3609126 שבו משתמשים רק
כאשר א הוא קובץ ללא הגדרת טיפוס, מציין את גודל הרשומה להעברת
נתונים? כאשר הפרמטר מושמט, הפרוצדורה משתמשת בברירת המחדל ה ,
רשומה בת 128 בתים. |
תחביר: 2 2 ] - : בוג 1 :]ל עפט )650% 0 ן
| דוגמה? | > - 0 :; ד .8%8ס' (6 ד )ספת
0% ;( 116עת1 )650%
6 תלק ד" נספתים
ד מקפיוכ)
מטרה: שחזור תצורת המסך שהיתה קיימת לפני טעינת המערכת הגרפית באמצעות
ב11602871, ב-3₪5%602602%%066 משתמשים אחרי 5650280%80866.
תחביר: 7 6,6₪6םגו0066סתק
דוגמה: | 0
6 5500
מטרה: | יצירה ופתיתה של קובץ חדש, אם אע הוכרצ כקובץ טקסט, הפרוצדורה
פותחת את הקובץ לפלט בלבד, אם * הוא קובץ עם או בלי הגדרת.
טיפוס, הוא נפתת לקלט ולפלט, הפרמטר האופציונלי 3605126 שבו
משתמשים רק כאשר ע הוא קובץ ללא הגדרת טיפוס, מציין את גודל
הרשומה להעברת נתונים; כאשר הפרמטר מושמט, הפרוצדורה משתמשת
בברירת המחדל - רשומה בת 128 בתים.
תחביר: ;( [ 6תסא : 5609126 ;1110 : ] ע מהט )166עשסת2 סעגו6ססס:ק
דוגמה: ;( 'צאץ,הסהק' ,116ע08₪5 )מצנפפת
;( 0115116 )166עשטסת
נסווא | | 55001
מטרה: ביטול ספריה ריקה ששמה מוגדר ב-מנגסצע6>קחם.
תחביר: ;( 06םתגע55 : ענגסע6קתע )ענעתפ 6עט660סס:ק
דוגמה: ;( 'פאפ גזגפספתט2' ):נסתת
פרוצדורות ופונקציות 17
ַַּּּּּּּּ
בתגוסת 5
מטרה: עיגול ערך מטיפוס 5681 לערך מטיפוס 166065.
תתביר: ;>מזשתסת : ( 1 : א )שמגוסת תסנ6סתטע
דוגמה: ;( 314159 )התטסת =: ססעתח
--"7-"7---7-7--₪7ת-ת/ 7 ד
-צס-ז-ני תצוה -. 556
מטרה: עצירת התוכנית ויצירת שגיאת הרצה. כאשר הפרמטר האופציונלי
86ע מושמט, מספר השגיאה שייווצר הוא 0.
תחביר: :י(ן סט : 6066מסתתם ] )עסעממתטת 6מט660סס:ע
דוגמה: מ6ם+ סטוממזת+ = 86סא 1%
[ %גוסם1 עס+ מסקס %סם 116ע) ;( 104 )נסעמממגות
ו
5 116186 תפיכ )
מטרה: שרטוט ומילוי קטע אליפטי מזווית 016םת56 לזווית 6 מתסתע באשר
המרכז הוא (צ ,א). מגדירים את הציר האופק והאנכי על :די
ותא ו-פגְבַ6ַַת1, הזווויות נמדדות במעלות כנגד כיוון השעון,
כאשר זווית 0 מעלות נמצאת בשעה 3, היקף הקטע משורטט בצבע
הנוכתי והפנים משורטט בדגם ובצבע שהוגדרו על ידי 6
אן ת66711123%%67ט.
תחביר: ;66762תד : צ ,א )560060 6עט66ססצע
,16שתה תש ,16סַת5+2
1 הסח : פטבהַבַתצ ,פגונבְהּתא
דוגמה: . ל 0 ,30 ,45 ,0 ,100 ,100 )560002
-₪₪--ג
8 תלק ד" נספתים
- 556 0%
מטרה: העברת המיקום הנוכחי בקובץ פתות ע לגורם מוגדר - מספתטאסחסס.
המשתנה ץ :כול להתייתס לקובץ עם או בלי הגדרת טיפוט, אך לא
לקובצ טקסט, בקובץ עם הגדרת טיפוס צריכה להיות התאמה בין טיפוס
הגורם וטיפוס הקובץ, בקובץ ללא הגדרת טיפוס הגורם הוא רשומה,
שגודל ברירת המחדל שלה הוא 128 בתים. ניתן לשנות גודל זה בעזרת
הפרמטר האופציונלי של הפרוצדורה 3886% או 156עשסת שפתתה את
הקוב, מספרו של הגורם הראשון בקובץ הוא תמיד 0.
תחביר: ל %6מ1פתסם : עסמתטאסת 00 ;ע עהט )89006% 226ו060ס:ק
דוגמה: ד צ6א6עסססת ,116עתסבתהת )5665
0-0 -//7/₪ ש<ש'זווורריי 7[ וו
5 1 5
מטרה: | החזרת מצב סוף הקובץ של קובץ טקסט. הפונקציה +80א8608 מתנהגת
ן בדיוק כמו הפונקציה ₪05 אולם מתעלמת מתווים ריקים, סימני 78
וסימני סוף שורה, כאשר משמיטים את הפרמטר האופציונלי ,
הפונקציה מניחה שמדובר בקובץ %6טוסם1 הסטנדרטי.
תתביר: ,08 : [ ( 6א6? : ע עהט) ]800001 בס1+סתטד
דוגמה: םנ60סם 60 ( 116תַ8סכ )+80א566% טסם 16וגתט
?( 6ת1:זת1 ,116תַה6בכ )מ6861-
?( 6ת1זת1 ,116ע85כ )ם1661עשט
7תס
ו ו
% פרוצדורות ופונקציות 9
ו
5566 500
מטרה: | החזרת מצב סוף השורה של קובץ טקסט. הפונקציה מ508%₪01 מתנהגת
בדיוק כמו הפונקציה מ1ס₪ אולם' מתעלמת מתווים ריקים, טימני 185
וסימני סוף שורה,. כאשר משמיטים את הפרמטר האופציונלי ,
הפונקציה מניחה שמדובר בקובץ 5טסמ1 הסטנדרטי.
תחביר: ;תס ססם * [ (.: +אסץ : תע תהּט) ]מ566%801 תסנ6>סמתטע
דוגמה: ם1סס סם ( 28589116 )מ866%801 6סת 6[נתט
;( ת0821606 ,23682116 )686
;116081166 0655סע
7
₪ ה
. 550
מטרה: התזרת הקטע של גורם מסוים.
תחביר: ;ס: ( ססִצְצעתת : א )580 תסנססתטע
דוגמה: ;( 02606 )860 =: מסנ1פהַססַהַה85ס
=
סה סנס מקפיזכ)
מטרה: בחירת דף פעיל - 28866 - לפלט גרפי.
תתביר: 8 6נסז : מַצַָ )5616 6עגו060סמפ
דוגמה: : ;( 1 )56%20%1762806
הו
0 חלק ד" נספתים
/-//שש7 וחד וו
6 [הּק [1ת+50 0
מטרה: שינוי. הצבעים שבטבלת הצבעים, 28166568 הוא פרמטר ללא
הגדרת טיפוס, המתאים בדרך כלל לרשומת 2816566106 שהגדרתה:
2816660726 = 468
;ססעם : 6
/%ת61עסם8 05 [001028א0,,88]צהעעת : פעסנסס
7
הבית 5126 הוא אורך החלק הפעיל של המבנה, כלומר הפרוצדורה
6 מטפלת רק ב-8126 הבתים הראשונים של מערך 8עס601,
כל בית פעיל יכול להכיל ערך שבין 1- ל-15, כאשר הערך הוא 1-
הצבע לא ישתנה, השינויים בטבלת הצבעים מתבטאים מיד על המסן.
תחביר: ק( 2816666 עהט )8661112810%66 6ת680סס:ק
דוגמה: ;( 00026ת2810650 )112816%%66ת56%
ברס וו
520023%10+50% תקהזכ)
מטרה: שינוי יחס האורך/רוחב בתצורה הגרפית הנוכתית. הערך המוגדר
חייב להיות שבר של מספר שלם, המערכת מחשבת את היחס על :די
חילוק הפרמטר קבא בפרמטר סִפ35צ, הפרוצדורה ס00%25060%88%1 שולפת
את היחס הנוכתי.
תחביר: ;( שעסח י 850צ ,7ק35א )56%25200%88%10 0066016ס:ק
דוגמה: 1 % ,2850600 )56%25060%28%10
=
. פרוצדורות ופונקציות 1
וו 0(..[.₪-...
-1ס 503001 קפ )
מטרה: שינוי צבע הרקע על פי הערך שב-מטא:ס1סס (0 עד 15). הצבע הנבתר
חייב להימצא בתתום המתאים להגדרות של מנהל ההתקנים הגרפיים
ותצורתו. (2)0ס5658%0601 מגדיר תמיד רקע שחור.
תחביר: ;( 4סח : תטאעס01ס6 )8668800101 26ט060ס:ע
דוגמה: תסמס [ 6 ,0 ] מ1 עס001 15
]( עס1ס ):0ס56%0%001
ו 7 קת-₪]--" כו
65 5%
מטרה: | הגדרת מצב בדיקת %הסעם-1ע662 ב-05כ, אם מפעילים את 56602268%
כאשר 8268% במצב "לא אמת", מערכת 05 תבדוק את מצב 6%:1-8268%
רק בעת פעולות קלט/ פלט. אם מפעילים את 86%602168% כאשר 85-68%
במצב "אמת", מערכת 208 תבדוק את מצב 0621-8268% עם כל פניה
למערכת.
תחביר: 1 תהס1ססת : 268% )866023708% 6םגו060ס:ע
דוגמה: (( שוע )56%608208%
ו --=[=- -/-/.]-/-ת[7 7 --
-1ס 5001 תקפז )
מטרה: | שוי צבע השרטוט על פי הערך שב-וגואע0010 (0 עד 15). הצבע הנבחר
חייב להימצא בתתום המתאים להגדרות של מנהל ההתקנים הגרפיים
ותצורתו, הערכים התקפים של תטאעס1סס הם בין 0 ל-:00105א00%%8.
תחביר: | 7 סז : תטאעס01ס0 )86500102 6תגו60סס:ע
דוגמה: מסמםס [ עס001א00₪%%8 .. 0 ] ת1 עס001 15
;( עס001 )56600101
ו ו סי
2 תלק ד' נספתים 0- 0 |
| 5% | 6
מטרה: | הגדרת התאריך של מערכת ההפעלה, השנה (עהסצ) תייבת להיות בין
10 ו-2099, התודש (ם6תסא) חייב להיות בין 1 ל-12 והיום (צָ58)
בין 1 ל-31. כאשר הערכים אינם תקינים, המערכת מתעלמת מהבקשה,
תחביר: <(26ס% : צַ8כ ,מסתסא ,הפצ )8652856 6קנגו0ססס:ק
דוגמה: | [1981 ,4 עָבּא ) ( 4 ,5 ,1981 )5650856
₪ | 65
מטרה: | קביעת תכונותיו של קובץ שאינו פתוח - א, יש לבחור את התכונות'
הרצויות על ידי עששת, שערכו -זהה לסכום צירופי * התכונות של
- הקבועים המוגדרים מראש שלהלן: :
1 >= עב5660
2 = בו |
4 = 6
8 = כדסשתגו1ס?
0 = עעססס6ץקנגת
0 = סשטנתסקת
ץע = 16גקעתת
תחביר: ( מסא : ע66ת /1161700עעתת :תע עבט )806661 6עגוססס:ס
דוגמה: / ק( 1"116%8806[התס6אא 6 סט )בצנפפת
| <( 688021 ,116עאתסא ):6%+תע50%6
ה ו
פרוצדורות ופונ קציות 23
ת- 2301 [ נץ50% תק )
מטרה: בתירת דגם (םת86662ע) וצבע (ע0010) שהוגדרו על ידי המשתמש.
הדגם הוא< רשת בת 64 נקודות 8( < 8) הנמצאת במערך
6מץע'תע66הכ111ע שהגדרתו:
(%66ע8 05 [1..8]ע8עת = 06צ7םת1128%60נע
תחביר: 06ע'ת-111286661ע : 86667 11 6גו0660ס:ע
7 6 : 60102
דוגמה: ;( 3606 ,תע00560(28%60 )ת11128%6%662ע5662
4 חלק ד נספתים
ב ךכ קיז )
מטרה: קביעת דגם המילוי וצבעו, את הפרמטר בע28666 ניתן לבחור מבין
הקבועים המוגדרים מראש שלהלן:
[ עס1סס 6תוסע0א80%כ 66 568ט ) 0 = 1 ע6סת
([ עס1סס 111+ 80116 8 05658 ) ;1 = 1
[ ת2ע86066ק 1111 --- ] = 1
1 = 3; + /// %111 בצס6ססק [
[ 068ת11 אס1ם6 ם1%ש תעסשטסהק 111+ /// + = 1-נ
[ 68ת11 %ס1ם%6 ם1%ש תעסספק 5111 \ + ;5 = 1
[ מע8%56ק 111+ \ )+ ;6 = [111עת162%5185
[ םתע8666ס 1111 ספת %6םמ14ע + | ;7 = ה סו
([ םעס66הס 6111 ב860ת 0598סע0 צְט₪68 )+ | ;8 = 111עת3366א
[ תע8666ק 2111 6ת11 ש6ת1ט108ת66ם1 ] 7 = [06806211ת6>תד
[ ם36662ס 1111 60% 508066 ץ1661ח )+ ;10 = 1
[ ת2ע08%660 111+ 80% 8080606 010561 ) ;11 = 1"
[ םעסספהּק 2111 66םת60651 עספט ) ;12 = 1פט
וגואעס1ס6 תייב להיות בתחום המתאים למנהל ההתקנים הגרפיים
ולתצורתו | הנוכתית, | תתום הערכים | התקפים הוא בץ 0
ל-02ס601א06%%18.
תחביר: ;( 6עסא : תטאעס001 ,םע8666ע )16ע11155ע86% 6ת60ססס:ק
דוגמה: ;( 3606 ,111עת₪8%0 )11156116ע56%6
פרוצדורות ופונקציות 725
בשש ב 5
מטרה: הגדרת התאריך והשעה של ביצוע פעולת הכתיבה האחרונה בקובץ פתות.
ניתן ליצור את הפרמטר 16 בעזרת הפרוצדורה 6תגדאסהּע.
תחביר: | ;( 6ת1סתסע : סוזנ' ;116'1706עצתת : ץ עבט )7186'ע90% 6ו6סס:מע
דוגמה: ;( 1610ע6106%9 ,%תסתסא%ת6עתטס )סתגיאסבּק
;( 0100%21616 ;2661762116 )5616
:0 :0 ב ל
מטרה: הקצאת 6 בתים בערימה לאזור האחסון של הגרפיקה. ברירת
המחדל היא א4, יש לקרוא לפרוצדורה 55126ג8650280251 לפני הפעלת
בק+1תד.
תחביר: ;( ב6עסח : 5126+גום 56 6מגוססס:ס
דוגמה: [8% ס) ע6++טס 66 800216) ;(8192 )25126טטמת :560
9( 4 ₪6 מסגיכ)
מטרה: | הגדרת תצורה מסוימת (66סא8) למערכת הגרפית וניקוי המסך, כל שאר
הערכים הגרפיים מקבלים את ברירות המחדל שלהם, ניתן להשתמש
ב-8650280%086 כדי לשנות אֶת התצורה הגרפית במהלך העבודה או
אחרי 36850:602%%0866 כדי לחזור לגרפיקה בתצורה חדשה.
תחביר: ;( ע6600ת1 : 8066 )8650280066 6מטססססצע
דוגמה: | | | ;( 0031 )60306
6 חתלק ד" נספתים
5-60 58
מטרה: טעינת ערך בווקטור הפסק סא6>תז כדי שיצביע על הכתובת שב-:0ס806/.
תחביר: ו( עססםתנסע : 760602 ;2166 : סא6ם1 )566126766 6עטססססעק
דוגמה: ;( 500ע6₪2650א6 ,5 )56616700
6-ו סיכ )
מטרה: הגדרת 696716ת1, ם-28%6601 ו- 655תא6 נמע', הפרמטר 1165616 מפקת
על הדגם והמרוותים היוצרים את הקו עצמו, ניתן לבתור דגמים
סטנדרטיים מבין הקבועים המוגדרים מראש שלהלן:
7 = ספ
7 = 0666070
= 666070
7 = תתסתפּהּכ
2 = ת1)נממספט
כאשר בוחרים :5628161 הדגם נלקת מרצף הסיביות שבבית ב666בכ.
אחרת - המערכת מתעלמת מ- ת-28666, הפרמטר 655תא0 גת בותרבקועבה
או בקו בעל עובי רגיל, בהתאם לקבועים המוגדרֶים מראש:
1 = ת13%אתעסא
3 = מ0816%6א6נ1תיך
תחביר:
;( בעסא: 0688ת116%' ,2860022 ,12655716 )65%716ת96%61.1 6עגוססססנע
דוגמה: ;( ם%816%6א1210% ,0 ,ממסםפהכ )65%616םת5661
> פרוצדורות ופונקציות .727
:₪ | םכ)
מטרה: =" שינוי ההגדרות של תטאץס1ס6 שבטבלת הצבעים ל -0010%אפא, תטאעס1ס6
חייב - לְהימצא,. בתחום המתאים למנהל ההתקנים * הגרפיים הנוכתי
| ולתצורתו.. תחום הערכים התקפים הוא 2 0 ל -00102א0008,
תחביר:
2 כ : צס001טסא כ :0010 ל -
דוגמה: 0 0 - 2 3
6 | ה
מטרה: = שינוי גוא 0010 של טבלת ר הצבעים במנחלר 'התקנים 4 -א15 ו-ת ./6
מטאעס001 תייב להימצא בתתום המתאים למ - ההתקנים הגרפיים:
0 עד 255 ב-188-8514 ו-0 עד 15 ב-מ76 .6גו60781, 6ו81 0266
> ן -106081106 מאפשרים למשתמשי לפקח על עוצמת תותחי הצבע של הצג.
תחביר: .. י | % ,תגואעס601 0 0006
.0 ,6078116
| ,6066/8116 .
;( 2ע66006תד : 6גו81 סנו 1
דוגמה: =
5053022816656) 0260, 0 9814, 514 (; ] 5 "61" 60 360 [
8 תלק ד" נספתים
+גום::ס' 50% 5550
מטרה: הקצאת אזור אחסון לקלט/ פלט בגודל +טפ לקובץ טקסט שאינו פתות.
ברירת המחדל היא אזור אחסון בגודל 128 בתים, כאשר משתמשים
בפרמטר האופציונלי 8126, המערכת מגדירה אזור אחסון בן 5126
הבתים הראשונים של %גום, כאשר משמיטים את הפרמטר המערכת מניחה
שהגודל הוא (פגום)+512602 בתים.
תחביר: ;([ 6עסא : 8126 ;] +גום עבט ;6א6 :ע עבּט ))1ום6א86610 6עגו6סססצק
דוגמה: | ;( תַהּאם116ז1התת66אע ,%6א31016 )תשנפפת
;( 110%77גום ,%א210'6 )גוב%א50%176
/( %א21016 )05פסת3
5500 5
מטרה: | הגדרת יישור הטקסט במתרוזות פלט, על פי 062686 ו- צא6א6שגוס.
הפרמטר %81מ120נסא בוחר ביישור לשמאל, למרכצ או לימין על פי אחד
הקבועים המוגדרים מראש שלהלן:
7 = 1%
7 = 6א76%ת60ת66
7 = 86א626ת4נ1ת
הפרמטר %1081ע6ט בוחר ביישור כלפי מטה, למרכז או בלפי מעלה, על
פי אחד הקבועים המוגדרים מראש שלהלן:
0 = 6א20%60(716%
;1 6%
= %אסיססץ
תחביר: ;( 6עסא : 76261081 ,581ת120עסע )ץ+%6005%61א56616 26גוססס:ע
דוגמה: ;( 71068%ת60ת00 ,6₪א 0+670 )ץ+%005%61א6%6ס
| | פרוצדורות ופונקציות 729
5-6 בקגיזכ)
מטרה: | הגדרת הגופן (סתסע), הכיוון (מס%1ס6:נם) וגורם ההגדלה
(תִסְנטְהּס1יַתִהַ3ּא), בותרים את הגופן (%תסץ) מבין הקבועים המוגדרים
מראש שלהלן:
%ת0ע16ה+סק
%תסא16כ נעיי
/ %תס5811
51+ %
001% = 7
וו ו
2
.-
כיוון הפלט (מת60610ענת) יכול להיות משמאל לימין או מלמטה כלפי
מעלה, בהתאם לקבועים המוגדרים מראש שלהלן:
( %ת210 ס6 1656 ) 07 = 12018עסמ
[ סס> ס6> תס66סס + ;1 ץגס%ע762
גורם ההגדלה (מ88421+108%10) קובע את גודל הטקסט.
| תחביר:
;(26ס : מ18015108%10 ,ת1:60%10כ ,>מסע )5667665616 ס6מנוססססנע
דוגמה: ;( 4 ,ענת2געסא ,%ת0סל160םת60% )16ע65%6א56%76
ב 65
מטרה: | הגדרת השעה של מערכת ההפעלה, השעה (עטסט) חייבת להיות בין 0
ל-23, הדקה (66טםנ1א) בין 0 ל-59 השניה (560) בין 0 ל-59 ומאית
השניה (566100) בין 0 ל-99.
תתביר: | ;( 6עסא : 8566100 ,6ב5600 ,66גומ1א ,עגוסו )866116 6מגו60ססצכ
56716) 12, 0, 0, 0 (; +12:00 [תססםת
0 חלק ך" נספתים
506 ב9ז)
מטרה: שינוי רוחב התו וגובהו בגופנים משורטטים, ניתן להשתמש בגורם
כלשהו, אך יש לבטאו כשבר של מספר שלם, הגורם האופקי נתון על ידי
אטנם ט61 א16טא והגורם האנכי נתון על ידי צטנם ש61 צ6נגוא.
תחביר: ;( פמסא : צטנכ ,צ16גוא ,אטנכ ,16%גוא )126פַַהַּת56%05020 6עגופססצכ
דוגמה: [ מסנת א4.0 עַכע 166 א1.5) ;( 1 ,4 ,2 ,3 )829126ת0ת650562פ
5 51+
מטרה: | קביעת מצב דגל האימות ב-05, כאשר הדגל כבוי (8156ע = צ+1ע0/)
לא מתבצע אימות לאחר כתיבה, כאשר הדגל דולק (6טעע = צ+021/)
האימות מתבצע.
תחביר: ;( ת200168 : צץ+1עפט )?56610215 6עט6סססעע
דוגמה: ;( שגומ )66/0201%7פ
פרוצדורות ופונקציות 731
)מס נץ +50 )
מטרה: | קביעת גודל אשנב הפלט הגרפי ומקומו, הפינה השמאלית העליונה
של התלון נמצאת ב-(1צ ,1א) והפינה הימנית התתתונה שלו נמצאת
ב-(2צ ,2א), ניתן להגדיר את הפרמטר 0110 המפקת על אפשרות הפלט
לכל המסך או לאשנב בלבד, בעזרת אחד הקבועים המוגדרים מראש
שלהלן:
;סטעס = תב0כ611
7 = 0110055
תחביר: ,ד : 2צ ,2א ,1צ ,1א )6מסקא98%/16 6עגו0ססס:ק
;( מ168ססם : 6010
דוגמה: ;( םת0ק011 ,100 ,100 ,25 ,25 )566/16202%
22 2 תקכהה)
מטרה: הגדרת מספר הדף הגרפי שיוצג.
תחביר: ;( 6עסח : 2806 )865/180812806 6עגו66סס:ס
דוגמה: ;( 1 )0812806ו56%019
2 תלק ד" נספתים
₪ ב מקפי)
מטרה: הגדרת תצורת הכתיבה של קווים. הפרמטר 6 קובע את הפעולה
הבינרית שבעזרתה יוצג הקו על גבי המסך:
( טסא + :0 = %גופ 600
[ 09א+ ;1 = 03%
%ופעססס משתמש בהוראת 804 רגילה, "עולה" על תוכנו הנוכתי של
המסך, ו-%גו092א משתמש בהוראת 08א המפעילה את הנקודות כאשר המסך
ריק ואינה עושה זאת כאשר הנקודות שעל המסך "דולקות".
תחביר: ;( ע6006ם1 : 021668006 )166%8006ע965%82 6עט6סססמע
דוגמה: ;( 6גות03א )601066 56621
תנפ 5500
מטרה: החזרת הסינוס של ביטוי, ברדיאנים.
תחביר: 17 : ( 2681 : א )םת1פ תסג6>סתטק
דוגמה: [ (8006206068 45) מ1פ) ;(1/4ע )םת1פ =: סו[העתנגפ
+ 55
מטרה: התחזרת מספר הבתים התפוסים על ידי ארגומנט.
תחביר: שש : ( ִסְִַצֶםתת : א )51260 תסנ61>סתטץ
דוגמה: ;( צץ8עע8582ק )+81200 =: 6סתתסא
ו פרוצדורות ופונקציות 733
במטס5 | +
מטרה: השמעת קול בעוצמה של ₪2 הר+.
תחביר: ;( 6עסא : 82 )6תגוס5 26ט66ססקק
דוגמה: | ;( 550 )6מתטספ
5 ו כ | | 55
מטרה: החזרת הערך הנוכתי של אוגר עפ המכיל את ההיסט של מצביע המחסנית
בקטע במחסנית.
תחביר: 17 : ע526 תסנססתוץע
דוגמה: ;עפעה =: 01+5066ת%606ת5680%201
5 550
מטרה: החזרת ריבוע של ארגומנט (ביטוי מטיפוס 166062 או 81ס6ת)
התוצאה המוחזרת על ידי הפונקציה היא מטיפוס זהה לטיפוס
הארגומנט.
תחביר: | ;ססץעםת : ( סִסְעְַצְםתת : א )562 מסנ61סמטץע
דוגמה: ;( (מ802)8166 + (ג502)8160 )802% =: 81660
4 חל ק ד': נספחים 0/0 | |
550 0
מטרה? | החזרת השורש הריבועי של ארגומנט שאינו שלילי.
תחביר: 27 : ( 2081 : א )5426 תסנססתטץ
דוגמה: ;( (2ע 5012)5106 + (ג562)5106 )5126 =: 51660
5 550
מטרה: התזרת הערך הנוכתי של אוגר 58 המכיל את כתובת. הקטע של המחסנית.
תחביר: : 5566 תסנס6סתגוץ
דוגמה: : 7 = 00-6055ת+%ת5680%500006
- 5
מטרה: המרת ערך מספרי למתרוזת ע56. המספר, א, הוא ביטוי מטיפוס
ע6ססתז או 681ת, המתרוצות האופציונליות ם186%ח ו-815ת601ס הן
ביטויים מטיפוס ע%6606ת1 שהשפעתם זהה לגורם התצורה בפרוצדורה
66 טא
תחביר: :(08ם1ע56 : ע56 עבט <[ [ 1815ססכ : ] ב66נא : ]א )56 6גו66ססע
דוגמה: > ;( 4תנע00696 ,6צגו62781סתטא )ע6פ
?( 60ת01165621 )066%
| פרוצדורות ופונקציות | 735
ססגו5 5506
מטרה: | התזרת הערך הבא אתרי ארגומנט מטיפוס סידורי כלשהו.
תחביר: | 0 : ( 06ע61ע02 : א )8006 מסנ6סתגות
דוגמה: ["ס" פמעטססת2) ;( 'מ' )5006 =: ת6
באפ 556
מטרה: | ביצוע התלפה בין הבית התחתון והעליון של ארגומנט. (מטיפוס
ע0606מ1 או 6עסא). הערך המותזר הוא מטיפוס זהה לטיפוס
הארגומנט.
תחביר: | 7 : ( 6עסא6ם1 : א )5080 תס1ססמגוע
דוגמה: [5%56745 8מעט60ם) ;( 84567 )באפ =: 66סקג1ק
5375 05
מטרה: | התלפת וקטורים של פסק לפני קריאה לפרוצרדורה ססאפ,
תחביר: / 7 12:76גו60ססע
דוגמה: 5800108 ) | ,760%025ק578
" 6ז תס ,6תה8אשס:ע )ססא
[ 8ע60%0ט 07%עע60ת1 6860208 + *כּעססְסִ6טְקהא5
6 תל ק ד': נספתים | | |
בתטסנסאסְבּ2 סי - 678
מטרה: בחירת צבע הרקע - מס601 מבין הקבועים המוגדרים מראש שלהלן:
07 = %א%סה1ת
= 16
7 = בצ
17 = מ8ץ
/ = 16
;5 = 38
/7 = תשסקם
?7 = צ8ע%02ת114
תחביר: ;( 56צָ8 : עס1ס6 טס 880%אסיי סק
דוגמה: | (( 866 )%6880%020020א76
8 = פרוצדורות ופונקציות 737
1 | 'יסא00101-
מטרה: | בתירת צבע הרקע הקדמי- מ5ס1סס :- מבין הקבועים המוגדרים מראש
שלהלן: | 0%
15% = /
, = 81006
= ב
, = בה8ץ6
₪ 000 6פת
זפ = סה
7 = || = תשאסעם
;7 = ו
= 0000 צְהע6אשהכ
/. = 06ו%21ת19
00 = 50260ת110
2 = הצ
1 = ו
7 = %68ת102%8870
;4 = -: שטס1[סצ
;5 = 166תחא
ניתן ליצור הבהוב על ידי הוספת הקבוע:
0 = | א%תנןת
תחביר: ב 6% (( %6ע2.: צס001 )16600101 6:גו60סס:ע
דוגמה: - % ;( %ם11 + 0-60 )₪6%50010
8 תלק ד" נספתים | |
0% נ110:)?נסי הקאזכ)
מטרה: החזרת גובה המתרוזת בנקודות. הערך מחושב בעזרת הגופן (%6ב0+)
הנוכתי וגורם ההכפלה.
תחביר: = 00 : ( 6ת1ע56 : 6ם1ע6562א6 )61012%א6' מסנס6סתגוע
דוגמה: ;( '..866ת1ע%0 60 עס6תע 085תע' )%6םמ51010א6ע =: [נובע7
6 סי )
מטרה: - בתחירת תצורת טקסט מסוימת (086א8) מתוך רשימת הקבועים המוגדרים
' מראש שלהלן:
[ ע66ק68ת עס001 תס א%/8 25 א 40 + /7 = 40אם5
([ ע7%06ק08 עס001 תס עס[00 25 א 40 + 10 = 10
[ ע680%6ת עס001 תס ₪/8 25 א 80 ] = 000
[ ע%66ק88ת עס001 תס עס001 25 א 80 ) 37 = 000
[ 2ע%66ק7ק288 6תסעםבססתסא תס 25 א 80 + ;7 = סמסא
([ %תס+ 30% מס+ מתג-בַחת + 7 = 88א68%תסע
הערך 8א8>תסע מתווסף לאתת האופציות האחרות כדי לנצל את השורות
הנוספות שבמטבי סט ו-62ם (43 שורות ו-50 שורות),. כאשר מפעילים
את 6%0066א6' - המסך חוצזר לערכי ברירת המחדל.
תחביר: -. ;( 2ע60606ת1 : 8086 )6860866 6עגו6ססס:ק
דוגמה? = ?( 0080 )7661006
פרוצדורות ופונקציות 739
נ:):כביה 0
מטרה: התזרת רוחב המתרזת בנקודות,. הערך מחושב בעזרת אורך
המחרוזת, גודל הגופן (%ם0+) הנוכתי וגורם ההכפלה.
תחביר: 7% : ( 6ת1ע560 : 6םת1ע69%א76 )ב6%816%6א16 תסנ%>סתגוץ
דוגמה: ;( 6201860 60 עסשפתת 685סע' )ב%016%א16 =: 66ג1ח
שתגו-דיך ב
מטרה: קיצוץ ערך מטיפוס 2681 לערך מטיפוס מ66465ת1.
תחביר: תס : ( 2681 : א )6תועי' תסנטסתוקת
דוגמה: ("3" 8תעט66ע + ;( 3.999 )סתטעע =: תוא
ה זי ב
מטרה: צמצום קובץ על ידי מתיקת כל הרשומות שמעבר למיקום הנוכתי.
תחביר: ?( 706צ1107תצתת : ע עהט )6856תגומי תסנססתטץ
דוגמה: ;,( 116ע%ת0ס7 )6866תגועיד
0 תלק ד" נספתים |
סח ניזאסהקתטס 658
מטרה: הפיכת התצורה המקובצת של התאריך והשעה (4 בתים) שב-6תדפָתס.
בשם ב15גו56 והחזרת הערכים המותזרים על :די 16'ע0606, %אסאסתנע
או 6פַעגע0םת1ע לתוך 2691016 - רשומת 186ל6ַ6הכ שהגדרתה:
= 6ת6671הס
7 : 560 ,תגא ,עגוסט ,צָכ ,ב>תסא ,עפצ
?7
תחומי הערכים שבשדות אינם נבדקים.
תחביר:
;(0ו285611 : 1601016 עהּט ;6ת61ת0/ : ת15ט5 )סתנ'אסהקתט 6מגו6ססס:ק
דוגמה: | ;( 26862060 ,58115126 )6תנ''אסהּקתט
60 סחתצבְהפ3 ם1%שט
;( 1900-מַהסצ '/' ,צָבּס ,'/' ,בףתסא )ם1661עש
550 6
מטרה: | הפיכת תווים לאותיות "גדולות".
תחביר: | קעה8ת : ( עהּםת60 : תס )0856ק0 תסנ6סתטוק
דוגמהז - 9%
;( ' (א/ צ) ?6גות1נסתסטס' )166קש
( פתת )ת6801:
;] 'צ' ,'א' ] ת1 (פםת)ס5ב3ּ6סקט 11>תט
פרוצדורות ופונקציות 741
₪
/ 55
מטרה: | הפיכת הערך של מחרוזת 4 לערך 1ם1ע - בעל ייצוג מספרי, כאשר
אי אפשר לבצע את ההמרה מכיל 0066 את האינדקס של התו הבעייתי.
אין להשתמש בתווים ריקים בסוף המחרוזת.
תחביר:
7( ע110606 : 0066 הט ק81ת1ע עבט ;סַת1ע56 : 0219 )781 6עגו66סס:נע
< דוגמה:. | (( ת16166סטסת? ,5616066008106 ,(6:)1פתהצבע )נָבט
אס-נסח | +) :0
מטרה: | התזרת קואורדינטת % של מקום הסמן, יחסית לחלון הנוכתי,
תחביר: 667ע2 : אסעסםת% תסנ6סתטע
דוגמה: | | ;%א6עסםא =: 0620
צס-נסתא / %)
מטרה: התזרת קואורדינטת צ של מקום הסמן, יחסית לתלון הנוכתי.
תחביר: | 5 7 : צסעסתח תסנ61סתוע
דוגמה: ;צשעסםח =: תחטסס
2 חתלק ד" נספתים /
שסהסתנא +
מטרה: הגדרת חלון טקסט על גבי המסן. התלון הוא מלבן שקואורדינטות
הפינה הימנית. העליונה שלו הן (1צ ,1א) וקואורדינטות הפינה
הימנית התחתונה שלו הן (2צ ,2א).
תחביר: ;( ססַץֶ2 : 2צ ,2א ,1צ ,21 ) חסבבתגא 6עגו6ססס:ס
דוגמה: [ 5126 81ם101ע0ס 60 ם260סם 205068) ;( 25 ,80 ,1 ,1 )שססתנח
נא 5500
מטרה: כתיבת ערך אחד או יותר לקובץ. כאשר משמיטים את מזהה הטקסט
האופציונלי - * - המערכת מניתה שמדובר בקובץ %גוספטטס הסטנדרטי.
תחביר: <[( [תט ,7200/] וט [;6קצ107גע : ע סהט] )]166עח 6עוספססמק
דוגמה: ;( 6ת1תאמסטח ,116תַ6כ )166עח
1+ נ-נ 5%6ע5
מטרה: | ביצוע הפרוצדורה 156:א והוספת תו סוף קובץ. כאשר משמיטים את
מזּהה הטקסט האופציונלי - - המערכת מניחה שמדובר בקובץ
%טוס6טוס הסטנדרטי. :
תחביר: ;[( [תצץ ,20, ] וט [;₪א6ע : ע עהט] )]ם1661עא 6עטבסססצק
דוגמה: ;( 6תנתאעסח ,6211610א16 )ת1661עח
הוראות המהדר 743
נספח ב'
א
= הוראות המהדר
לכל הוראה בטורבו פסקל יש משמעות ברורה אחת, אולם בעזרת הוראות המהדר
ניתן להשפיע על הדרך שבה המהדר מתרגם את התוכנית לשפת מכונה.
קיימים שלושה סוגים של הוראות מהדר: מתגים, פרמטרים והתניות. הוראות
המיתוג (או המתגים) מפעילות או מבטלות אופציות שונות. ליצירת קוד מכונה;
הפרמטרים מגדירים שמות קבצים תיצוניים וגדלים של זיכרון; ההתניות בוחרות
את חלקי התוכנית שיש להדר ומתעלמות מחלקים אחרים.
ניתן ליישם את הוראות המהדר מתוך הסביבה המוכללת, עם בתירת ההוראה הרצויה
מתפריט 00101165/ פמסנ6סס, קיימות הוראות נוספות שאינן כלולות בתפריט זה,
אולם השימוש בתפריט הוא האמצעי המתאים ביותר להגדרת ברירות המחדל.
לחילופין, ניתן לשלב הוראות מהדר בקוד המקור של התוכנית. כאשר ההוראה
ניתנת משורת ההוראות, צריכה תצורת ההוראה להיות <6ש94%8160%1/, כאשר
ההוראה נכללת בקוד המקור של התוכנית, יש לרשום אותה כחלק מהערה, במקרה
זה, צריכה ההוראה להופיע מיד אחרי התו המגביל הפותח של ההערה, אם קיימים
תווים ריקים, או תווים אחרים, בין סימן ההערה וסימן ה-%, המהדר מתייתחס
לשורה כאל הערה רגילה ומתעלם מההוראה.
בשתי השיטות מתקבלות התוצאות זהות, אולם רצוי להעדיף את שיטת שילוב
ההוראות בקוד המקור, כיוון שבשיטה זו הפעולות מתועדות, כאשר ההוראות
משולבות בתוכנית, ניתן גם לשנותן בהתאם למצב.
תוכניות רבות אינן זקוקות כלל להוראות מהדר, אך הבנת ההוראות
ומשמעויותיהן עשויה לסייע לך במידה רבה לנפות ולייעל את תוכניותיך.
4 חלק ד" נספתים - .
מתגיס
בעזרת הוראות המיתוג ניתן לבתור אופציה מסוימת מבין כמה אופציות ליצירת
קוד, להוראות המיתוג יכולה להיות משמעות כללית החלה על כל התוכנית
המהודרת, או משמעות מקומית, עד להוראה הבאה מאותו סוג,. הוראת מיתוג
כללית אינה ניתנת לשינוי, והוראת מיתוג מקומית ניתן לשנות, להפעיל או
לבטל בכל עת, על הוראת מיתוג כללית יש להכריז מיד אחרי שורת תתּעפָסמס או
%נתט, הוראת מיתוג מקומית יכולה להופיע בכל מקום בתוכנית.
שורת הערה אחת יכולה להכיל מספר הוראות מיתוג, יש להפריד בין ההוראות
באמצעות פסיק, צורת הרישום היא: ּ |
[<>תסתתסס 0681206 צְםה8> ..,+0,-2,+ת15]
האותיות ת, 5 ו-0 מייצגות הוראה כלשהי, הסימן + מורה על הפעלת הפקודה,
והסימן - על אי הפעלה. המערכת מתייחסת אל כל התווים שאחרי התו הריק
הראשון בשורה כאל הערה.
:41 ומכ חקו
תחביר: [+ג%+ או [-9]
ברירת מחדל: [+%]
אופי ההוראה: כללי
תפריט: 2% 1 / 1161 ס0/ 5תס%1ס0
באמצעות הוראת 28%8 מ2119 ניתן לבתור בין יישור על פי בתים או על פי מלים
בעת אחסון משתנים וקבועים עם הגדרת טיפוס, ההוראה אינה משפיעה על פעולת
התוכנית עצמה.
פעולת היישור מתייחסת לכתובת ההתתלתית בזיכרון. למשל: כאשר יש ליישר קטע
לגבול הפסקה, צריכה הכתובת של הבית הראשון להתחלק ב-16, כאשר היישור הוא
על פי בתים, צריכה כתובתו של הבית הראשון להתתלק ב-2.
הוראות המהדר 745
כאשר מפעילים את ברירת המחדל (+ג1% מתחיל כל משתנה או קבוע עם הגדרת
טיפוס בכתובת זוגית,. בשיטה זו יתכן צורך לדלג על מספר בתים, ולכן עלול .
קובץ ה-מא₪, שייווצר להיות גדול יותר, בכמה בתים, מהקובץ שהיה נוצר ללא
אופציה זו, ההוראה חלה רק על משתנים בודדים, ואינה פועלת על משתנים
מורכבים כמו שדות ברשומה או איברים במערץ.
כאשר פעולת היישור אינה מופעלת על ידי [ -8), | נשמרים כל הגורמים באופן
רציף, ללא התייחסות לגודלם או לכתובת שבה הם מתתילים.
במעבדים שבהם קיים אפיק נתונים. ב 8 סיביות (למשל ה-8088), ניתן להעביר
רק בית אחד בכל פעם, ולכן היישור לגבול המלה מייעל את הביצועים,
במעבדים בעלי אפיק נתונים של 16 סיביות (8086, 80286) ניתן לקרוא מלה
שלמה בבת אחת, במקרה זה, פעולת היישור פוגמת בביצועים.
:2 | הגע 7
תחביר: (+%2) או [-%8)
ברירת מתדל: [-%8]
אופי ההוראה: מקומי
| תפריט: | 0
הוראת מתסנ6הגו1בטםע מתה108סספ גורמת להערכת ביטוי בולאני רק עד המקום שבו
ניתן לקבוע מהי תוצאת הביטוי כולו, בביטוי?
-.
7 א
7 =: 62ת0ס6
ת1סכ ב6ם6 ( 2 < צ) 0 ( א > א)+1
7
7
7
מסת6 8 תה ב6תסס +1
1
6 חלק ד' נספחים
הפרוצדורות 61סעע ו-062מע2 יתבצעו תמיד כי 3 קטן מ-4. לערכים של צ ו-2
אין במקרה זה משמעות, כמו כן, ג6מסס הוא "לא אמת" (28186) ולכן 22063 לא
יתבצע לעולם, ללא קשר למצב של 68מס6.
ברירת המחדל [-%8) גורמת למהדר ליצור קוד המכיל יציאות המסיימות את פעולת
ההערכה הבולאנית ברגע שתוצאת הביטוי ברורה, בדוגמה שלעיל, המהדר ייצור את
הוראות ההשוואה בין צ ל-2 ואת הוראות ההערכה של 68מסס, אך בעת ביצוע
התוכנית יפסח על ההוראות הללו כיוון שאינן משפיעות על מצבו של המשפט.
אמצעי זה נקרא בדרך כלל "קיצור ההערכה הבולאנית" (מ800168 001%ע012 +עסת5
81118610 ט6).
במצב של (+%8) התוכנית בודקת את כל הביטוי, גם כאשר התוצאה הסופית ברורה
כבר עם ביצוע הפעולה הראשונה. .
הפעלת [+%8) יוצרת קבצי פלט קטנים יותר, כיוון שברירת המחדל (-%8) מכילה
הוראות קחטך נוספות, אין בדרך כלל חשיבות לנפת הקבצים הגדול יותר, במקרה
של (-%8), אולם הוראה זו משפרת באופן משמעותי את ביצועי התוכנית. למשל,
אם תפעיל פעמים רבות את ההוראה:
תסם6 (((1<0) התה (8 %סם)) עס (%6ע) םתה (פם<(פ+6)))) עס (פ;ם) +1
יחסוך השימוש בהוראה (-88) זמן רב כאשר 5 גדול מ-8, כאשר משתמשים ב-[-%8)
רצוי לערוך את הביטוי הבולאני באופן שיאפשר ניצול יעיל של ההוראה.
לשימוש ב-[-%85) יש תוצאה שלילית אחת: השימוש בפונקציות כפועלים בולאנים
עלול ליצור תוצאות מוזרות, למשל, תוכנית 511088 (תדפיס 1):
תדפיס 1
; תס%+1ש 5 תהיוקסק
ת6ש%6ת1 : 610081%
; ע0שס%ת1 : ק0סתום תס%1סתג1
תנשסס
; ( 610081% )סת1
610081 =: כסחטם
66 ;
תדפיס 1 ממשיך בדף הבא
הוראות המהדר, 747
המשך תדפיס 1 30 > %- וש
7 7 =: 010081%
; ( 010091% (' = 6100818 :1' )ת1%01יט
[ 1 708% | תסגצ ( 67 < ססות ) עס ( 2 < 4 )+
י ;( א010041 ,' = 010081% :2' )ת1561
ו ו --.
[ 2 108% ) תסםף ( 67 < סט0סחטם ) עס (.2 < 4 )110
;( א010041% ,' = א010081 :5' )ת1%01עא
/ |-88)
[ 5 708% ] . תסמ ( 67 < סססחטם ) עס ( 2 < 4 ) 1%
;( א010091 ,' = א610081 :74 )ת1%01עט
: 0 א 06.0
מההמהההתוקוהההההההההההקנהההקהההההההההההההההההטההההההההההההאוהההההההההוהההההההההמקממחר--.המהה מ הכרההתהם)])הההממאהההאתהההההההאהההוהההאהההההההמתההה./ נההה ה ...=
תיצור את התוצאות הבאות:
7 = 010081% :1
7 = א010081% :2
8 = א610081 :6
8 = 610081 :4
כיוון ש-4 גדול תמיד מ-2, נקבעו תוצאות הוראות 1 של 1 765% (-3 2686 על
2% המשפט הראשון, אולם הוראת [+%8) שב-2 65%*' חייבה את המערכת להעריך את
הביטוי השני, וללא צורך. כתוצאה מכך, הופעלה הפונקציה סְטקמטפ והמשתנה
הכללי 610281% השתנה. | |
:2 / 10 אנוטסכן
תחביר: > > 9 או / -90)
ברירת. ת מחדל: | (+%5)
| אופי ההוראה: כללי |
תפריט: 8 9 , | : | טפ / 31%פ חס / ַמס טס
כאשר האופציה [+95) מופעלת, המהדר של טורבו פסקל יבול לייחס קוד מקור של
= תוכנית: לקוד. המכונה שלה, הוראה זו מאפשרת לסביבת הפיתות המוכללת
מא ספתט להגיב. על שגיאת הרצה,. לחזור אוטומטית: ו ולהאיר את השורה
02 הבעייתית. בקוד המקור.
8 חלק ך" נספתים
הוראה זו מספקת גם את המידע הנחוץ למהדר המובנה של טורבו פסקל, כדי
להפעיל תוכניות צעד אחר צעד או לפעול עד לנקודת העצירה הבאה שהוגדרה, תוך
הצגת הוראות המקור של התוכנית.
הוראת פַגס6כ מופעלת בדרך כלל יחד עם הוראת [+.%1) המאפשרת למהדר לעקוב אחר
סמלים מקומיים.
הפעלת הוראת סַגוכ6כ מגדילה את קבצי הפלט, אך המידע הנוסף אינו נשמר יחד עם
הוראות המכונה הרגילות ואינו משפיע על מהירות הביצוע של התוכנית.
131310 5:
תחביר: (+%5) או (-95]
ברירת מחדל: [+₪%]
אופי ההוראה: בללי
תפריט: 610 1טוחם / 116 00/ פתס61ס0
הוראת ההדמיה (ב118%10ו60) מפקחת על הכללת תוכנת ההדמיה של הנקודה הצפה
בתוכנית המהודרת.
במצב (+%5+ (ברירת המחדל) התוכנית מכילה את תוכנת ההדמיה למעבד העזר
7., התוכנית יכולה להשתמש בכל טיפוסי הנתונים של הנקודה הצפה, כולל
6, 1016ו00, 685626066 ו-קחסס.
כאשר האופציה אינה מופעלת (מצב (-1898 ), טורבו פסקל משלב בתוכנית בק את
התוכנה התומכת בטיפוס 681ע2 בן 6 בתים, תוכנית המהדרת עם אופציה זו יכולה
להשתמש בטיפוסי הנתונים 510618, 1016ו0, 68562866 ו-קוסס אך חייבת לפעול
במחשב שבו מותקן מעבד עזר מתימטי.
קובץ ₪אש, של תוכנית מהודרת במצב (-85+ קטן במידה ניכרת מהקובץ הנוצר
במצב (+%5). במצב (-%88+ התוכנית פועלת במהירות רבה יותר, כיוון שאינה
כוללת את התוכנה המחליטה בכל פעם, דינמית, אלו הוראות מכונה להפעיל. מצב
הוראות המהדר 749
(-%5) פוגם בניידות התוכנית, ולכן יש להשתמש באופציה זו רק כאשר בטותים
שהתוכנית תופעל תמיד במחשב הכולל מעבד עזר מתימטי.
+ 8 תג" 06תס1
תתביר: (+ת%) או (-92]
ברירת מחדל: [-ת%)
אופי ההוראה: מקומי
תפריט: 35 עפבע 6ס6שסע/ 0 /8ת10סס0
הוראה זו קובעת אם הקוד לקריאה לפרוצדורות ולפונקציות ישתמש בקריאות
"רתוקות" או "קרובות".
קריאות "רחוקות" מאפשרות לתוכנית להתייחס לשגרה הנמצאת במקום כלשהו
בזיכרון, לשם כך יש לציין את הקטע ואת ההיסט (כתובת באורך 4 בתים).
קריאות "קרובות" מתייחסות לשגרות הנמצאות בקטע. הנוכתי וזקוקות לכתובת
ההיסט בלבד (2 בתים).
כל ההוראות השייכות ליחידה מסוימת מרוכזות בקטע אתד, וכל יתידה שוכנת:
בקטע אתר, במצב [-*%) (ברירת המתדל) המהדר בודק, אוטומטית, אם הפרוצדורה
או הפונקציה נמצאת מחוץ לקטע הנוכחי ויוצר קריאה רחוקה או קרובה, בהתאם.
במצב (+*%) כל הקריאות הן קריאות רחוקות.
לכאורה, השימוש בשני בתים נוספים, עבור כתובת הקטע, אינו משמעותי ביותר,
אולם יש לזכור שהמהדר חייב לטפל גם בשמירת אוגרי הקטע ושחזורם ולהשתמש
בכתובת המורחבת גם בעת השימוש בפרמטרים המשתנים שבהם משתמשות השגרות.
בגלל היעילות הפחותה של הקריאות הרתוקות יש להשתמש בהן בצמצום.
0. תלק ד" נספתים 2 יי |
:ז 8םן60ת<>) 6וקט0)/)טוקם -
תחביר: (+81) או (-91] |
ברירת מחדל: [+%1)
אופי ההוראה: מקומי
| תפריט: 0 1/0/ 116 00/ 5תס1נ6סס
הוראת הבדיקה של הקלט והפלט מפקחת על יצירת ההוראות לבדיקת שגיאות קלט
ופלט. .
במצב [+%1) המהדר בודק אוטומטית כל פרוצדורה ופונקציה לקלט ולפלט. כאשר
מתגלה תקלה כלשהי, התוכנית מסתיימת מיד עם שגיאת הרצה.
במצב (-%1) שגיאת קלט/ פלט משהה ביצוע פעולות קלט/ פלט נוספות, אך אינה
מסיימת את התוכנית, כך ניתן | לאתר את השגיאות ולבצע שתזור על ידי הפעלת
הפונקציה 102₪80₪1%, כאשר הפונקציה מחתזירה 0 - הפעולה הסתיימה בהצלחה.
כאשר הערך המותזר אינו 0 - הוא מייצג קוד שגיאה שבעזרתו יכולה התוכנית
לבחור בתגובה המתאימה, שים לב: במצב (-81) תייבים להפעיל את 10868016
אחרי כל הוראת קלט או פלט.
עיין בתוכנית 7 (תדפיס 2).
תדפיס 2 [ |
, : ; 1401111 ותפידשססן
ב
(ז0ק%9ת1 : ת56100%10
תנשסס
(( ' :סגו[8ט ע0שס%ת1 תה עססתס 210886" )156יעש
; ( תמ56100%10 )ת6801ד
: ; ת001 .יש
;( ( ת0ג80160% )500 ,' 18 ' ,ת50100%10 ,' +01 6עבנ0פ 6ב" )ת1601ימט
. תס
יווה וו .ה
הוראות המהדר 751
אם הערך שהוקש במשתנה מ0ס56160%1 הוא אינטגרל, התוכנית מציגה את ריבועו.
כאשר מקישים אות או ערך שאינו אינטגרל, התוכנית מסתיימת ומציגה את
ההודעה 8%תעס+ 16עסחגום 8116טת1 :106 עסעעם..
ניתן להימנע ממצב זה על ידי בתירה במצב (-%1) והפעלת הפונקציה 1098691116
כדי לבדוק אם היתה שגיאה, כפי שנעשה בתוכנית 5811082 שבתדפיס 3.
תדפיס 3
51%012 תהינססיון
ו ינפש
,ע6שס%ת1 : ת56160%10
;ע020פת1 : ת1020%10
תנשס
0
(( ' :סגו81ט עסשספת1 תה שססתס 16886ק" )106ישט
[-81)
; ( ת56160%10 )ת6801ע
[+ 81)
; 1%גו10309 =: ת(1020610
תסמל 0 <> ת1020%10 11
;( '.ת3201 עע% 16886ק' )ת1%61יש
;0 = ת1020%10 611תט
; 0011 בימט
,ת96190%10 ,7 +0 6עהג50 6ב" )ת1%01ישט
-
;( ( ת80160%10 )82 ,7 18 7
כאשר מקישים מספר שאינו אינטגרל, המשתנה מ0ס102061 מכיל קוד שגיאה (במקרה
זה 106).
ניתן לפתת שגרות לטיפול בשגיאות קלט/פלט שימנעו במעט בל "נפילה" בגלל
שגיאות קלט/פלט.
2 חלק ד': נספתים - | |
5 | מס1)החזזס)ם] [0ספמתץ5 [1.068
תחביר: [+92) או [-92)
ברירת מחדל: [+%1)
אופי ההוראה: כללי
תפריט: וצ 10081/ 00116 / 6גוס>גוס
הוראת הסמלים המקומיים מפקחת על הכללת מידע אודות סמלים מקומיים בפלט של
התוכנית.
המידע אודות המשתנים המקומיים (שמות, טיפוסים, מיקום) חייב להימצא בקובץ
הפלט שבו, המכיל את קוד המכונה של התוכנית, כדי שהמנפה יוכל לנהל מעקב
אחר המשתנים המקומיים ולשנותם.
במצב (+.%1+ המהדר המוכלל של טורבו פסקל יכול לפנות למשתנים המקומיים של
- התוכנית, כמו כן, ניתן להשתמש באופציית 5586% 0811/ שַטמ6ס שבתפריט כדי
לנתת את הפכמטרים המועברים בפרוצדורות ובפונקציות.
בהוראה זו משתמשים בדרך כלל יחד עם הוראת הניפוי (+%2). הוראת (+80)
מאפשרת למנפה לעקוב אחר סמלים מקומיים ואילו הוראת [+%0+ מאפשרת למנפה
לייחס סמלים אלה לשורה מסוימת בתוכנית.
הפעלת [+%1) מגדילה את קובץ הפלט של התוכנית, אולם המידע הנוסף אינו
משולב בהוראות המכונה של התוכנית עצמה, כך שמהירות הביצוע אינה נפגעת.
הוראות המהדר 753
:א = אשת000551ק. 16זסתתטוצן
תתמה | | [+א8) או (-א8)
ברירת מחדל: (-א8).
אופי ההוראה: כללי
תפריט: - |
הוראת עיבוד המספרים קובעת אם ייעשה שימוש במעבד העזר 8087, המותקן
במחשב, כדי לטפל בפעולות של נקודה צפה.
ברירת המחדל היא [-א%). במצב זה התוכנית מתנהגת כאילו מעבד העזר 8087
אינו קיים, גם אם הוא מותקן במחשב.
במצב [+א%] המהדר מנסה להשתמש במעבד העזר כאשר הוא נתקל בהוראה הכרוכה
בביצוע פעולות במספרים ממשיים, כאשר מעבד העזר אינו קיים - ניתן להפעיל
תוכנת הדמיה שקיומה תלוי במצב של הוראת [52).
:+ 62610 62006 ע189ז0שכ)
תחביר: [+%0) או [-%0)
ברירת מחדל: (-80)
אופי ההוראה: כללי
תפריט: | 2110860 צ18ת6ט0/ 1162קת0ס6/ פמס61ס0
4 חלק ד" נספתים | ,
הוראת -(%0+ מפקחת על יצירת ההוראות המאפשרות שימוש ביתחידה כברובד נפרד,
ההוראות הנוצרות משנות במידת מה את שגרות העברת הפרמטרים. במקרה זה
השגרות יעילות פחות, אולם מבצעות פעולות זהות, הוראת [+%0+ אינה מתייבת
שימוש ברבדים אלא מודיעה למהדר שיתכן שיחידה מסוימת תהווה רובד,
:= שתןא66ת) 6שתגון
תחביר: [+%8) או [-%2]
ברירת מתדל: (-%8]
אופי ההוראה: מקומי
תפריט: , 6 06ת28/ 1162קתס0/ פתס61סס
הוראת בדיקת התחום מפקחת על יצירת הוראות לבדיקת תחומים במהלך התוכנית.
במצב [+%8] טורבו. פסקל יוצר הוראות המוודאות שבעת התייחסות למציין של
איבר במערך או במתרוזת לא תהיה תריגה מגבולות המשתנה, כמו כן, המהדר
מוודא שפעולות השמה במשתנים סקלריים או בתת-תתום לא יתרגו מהתחום המתאים.
כאשר מתגלה תריגה מהתחום המתאים, התוכנית מסתיימת בשגיאת הרצה.
הפעלת הוראה זו יוצרת קובץ פלט גדול יותר ומאטה את התוכנית, אך מונעת
תקלות רבות, עיין בתוכנית 51088 שבתדפיס 4:
תדפיס 4
1603 תהסטסעס
ה סט |
,%6ץס : 1
[ע0שספת1 01 [ 1..8 ] קהעעה : <
; 1500 : צ
(עסקס%ת1 : 2
תנפסס
;4 =: ץצ
;5 =: 2
;0 =: [ ג ]א 60 5 %0 1 =: 1 שס+
;(( 2 ,' = 2 6ת8 ' ,+ ,7 = צ' )ת61ל1עשט
- ו . תס
הוראות המהדר 755
הפלט של התוכנית הוא: "
0 = 2 86 0 =
לולאת עס+ מציבה אפסים בחמשת הגורמים הראשונים שבמערך א, על פי ההגדרה יש
במערך א שלושה איברים בלבד, ולכן נוצרה כאן גלישה למשתנים צ ו- 2, הפעלת
האופציה [+88) היִתֶה גורמת להפסקת התוכנית בשל שגיאת הרצה, ולהופעת ההודעה
עסעעס 000% סחָתב2 :201 עסעעם. 3%
שים לב: בדיקת התחומים. מתבצעת בעת ההרצה בלבד, הכללת ההוראה:
( [ 5 ]א )ם1601:ט
בתוכנית 110₪88א5, היתה גורמת לשגיאת הידור ולהופעת ההודעה:
6 05 שגוס 00% :76 עסעעט
ללא קשר למצב. (ת9). 73| 0% |
רצוי להשתמש בבדיקת התחומים עד 0 תהלוך. הניפוי של התוכנית.
:1 ב . - 0% |
תחביר? .7 . (959) או [ -55]
ברירת מחדל: [+%5])
אופי ההוראה: מקומי
תפריט: | | 7 - ו
הוראת הבדיקה של המחטנית מפקחת על יצירת הקוד הבודק גלישה מהמחסנית, במצב *
(+1%5 (ברירת.: המחדל) המהדר יוצר את ההוראות המחשבות, לפני ביצוע הפונקציה
או הפרוצדורה, אם במחסנית נותר מקום לאחסון הפרמטרים המועברים והמשתנים .
המקומיים, בתוכנית 0 (תדפיס 5) מוגדרת בכוונה מחסנית קטנה על ידי
| הוראת (%%8) וברו מחזורית כ אצת
6 חלק ד" נספתים |
תזפיס 5
, ; 5ג[140ש5 ותפידססיכן
[ 8126 8580% 0200% ,18 58 ,1%גג0019 66 קססא + 65)
( .3911 2018610017 סע8 080 6ת8 3%80% סג | 1024 ,0 ,1024 90)
עפט .
, %ת1קתס1 : %תזשות
; ( %ת10021 : עסמותט9%8 )ע0את1ע51 6יגוס6ססכן
תנשסס
תנשסט תסם% 0 < עסמתטאל58ט +1
- שסכעג(%:5%81 =: מסמתג י9%81
; ( | עסממגה/0ינ5%8 ) נסאת1יצפ
; ( עססתנ9%81:0 )ת061ניט
; תס
; תס
הז1שססו
; ( %ת1₪1 )ת0801ע
; ( 101% )עסאתנינתפ
תס
כאשר מקישים מספר שערכו אינו עולה על 62, התוכנית מציגה את כל המספרים
השלמים שבין 0 והמספר המוקש, כאשר מקישים מספר שערכו עולה על 62 (כלומר
יש לבצע לפחות 64 קריאות לפרוצדורה), התוכנית מסתיימת ומציגה את ההודעה
עסעעס 0%ס1+מסטס 5586% :202 מסצעם, הפעלת התוכנית עם האופציה (-%5) היתה
גורמת לתוצאות בלתי צפויות, ולנפילה זהה של התוכנית.
שים לב: הוראת הבדיקה של המחסנית אינה משפיעה על תוכנה או על השטת הפנוי
שבה, רצוי להשתמש באופציית הבדיקה לפיתות תוכניות הכוללות פעולות
מחזוריות רבות, לאחר סיום תהליך הניפוי, רצוי לבטל את הבדיקה, הוראת
הבדיקה של המחסנית היא הוראה מקומית ולכן ניתן להפעילה עבור פרוצדורות או
פונקציות מסוימות בלבד.
0 ₪חןא6ח2) קתודוס-זבעי
תחביר: [+80+ או [-587)
ברירת מחדל: [+%7)
אופי ההוראה: מקומי
תפריט: 07 שת82-5621// 1162כתס/ פתסנ6ס0
הוראות המהדר 757
הוראת [%%+ מפקתת על ביצוע בדיקת טיפוס למתרוזות : המועברות כפרמטרים
משתנים אל הפונקציות והפרוצדורות.
במצב (+9%) (ברירת המחדל) תחייבים הפרמטרים הפורמליים במתרוזות להיות
מאותו טיפוס, במצב [-%) השגרה מקבלת מתרוזות בגודל כלשהו.
בדיקת המחרוזות מוודאת שימוש נאות בפרמטרים, אך ביטול הבדיקה יאפשר לך
לפתת שגרות יחודיות לטיפול במתרוזות, עיין בתוכנית 512030 שבתדפיס 6:
תדפיס 6
ב1%01 ותהידקסינכן
6+
;| 10 ]קתגע%ם = ₪10ת1ע50
;[ 100 ]קת1ע8% = 100קת5%21
2
9610 : 1ה7
100שת₪021 : מע
; ( 010ת1ע85 : שת1ע108%9% שגט )כ0קת1ע8% 6יגוססססינם
עפש
;6עס : 1
תנשסס
; ת01> בינשט
,,; 7, ( ;
: ,₪ת1ע10859% , שתנפפסססינ' )ת1%01יעש
;( '8ע80%0ע0932 ' ,( שת1ע103%9% )812001 ,' +01 3126 ₪ פגת 716 )ת1%91יש
;( '₪ת10 פעס%סינפס 7 ,(( שת1ע10559% )ב₪6ת10 ,' 18 1%' )ת01ל1יט 5
0 ( שת1ע108%91 )מ%שת10 %0 1 =: 1 ע0+
7 1 1 ]קת1ע95%ל108 )000856 =: [ 1 ]שת1עלפספסך
; ת461 ניחש
;תס
תנפסס
('עא' =: 781
| 2קואשטגולפיזסתות 1[ 1ב(20 72000 =: מינפ
;( 1ע78 )ססשת1תספ
; ( 7821 )ת1%91עא
( קעפץ )כשַת1ע5% [-ט6!
; ( 782 )ת1%61עש
-
8 תלק ד" נספתים
הפלט של תוכנית 5163 הוא:
"2" שת1פפסססנת
85 11 01 5126 3 בהת 1%
קַת10 8ע40%0י091 0 18 1%
2
"2 וטג ופי כןסרות [ז[ 1ב1ק2 82006" 61₪פ6ססיע
5ע0%0יס 11 01 5126 8 פהת 1%
אַת10 8ע9180%02ת0 26 15 1%
לצאו ו 7
הפרוצדורה קטסשתגע56 שבתוכנית 581208 מטפלת במתרוזות באורך 10 בתים.
ביטול בדיקת המתרוזת מאפשר לתוכנית לטפל בהצלחה גם במתרוזות באורך 100
בתים.
פרמטריס
כשם שהפרמטרים של פרוצדורות ופונקציות משמשים להעברת מידע לתוכנית כן
פרמטרים של תוכניות מעבירים מידע בין התוכנית ומערכת ההפעלה, פרמטרים של
תוכניות מטפלים בעיקר בשמות קבצים ובהקצאות ציכרון במערכת 5ס0פ.
:7 6 66ט[סח]
תחביר: [6ת8מת116? %1]
ברירת מחדלי | אין
אופי ההוראה: מקומי
תפריט: 8 66₪6:ו1101/ 21260%021068/ 5תס%61ק0
הוראת 2116 101066 מורה למהדר לרשום את תוכן הקובץ ששמו צוין אתרי
ההוראה, ההוראה *כולה- להופיע בכל מקום בתוכנית, מלבד בגוש שבין
= 66 ת1שסס.
5
%
הוראות המהדר 759
ברירת המחדל של. שם ההרחבה היא 8 ניתן לציין שם ספריה, -כאשר הקובצ '
אינו = נמצא, המהדר מחפש את הקובצ = בספריות שצוינו בתפריט.
| 60002108ע1כ 66גו1סתד 3 ו 8 או באופציה 1 4 של מהדר שורת =
ההוראות,
כולל קבצים המקושרים יחדיו (88666ם) עד ל-8 רמות.
12 365 006 אמז
תחביר: | (6ת8ת116? 90)
ברירת מחדל: אין 0
אופי 0 מקומי
תפריט: . 0 - ו
הוראת 6 ו אתנע מזהה את הקובץ שישולב בתוכנית המהודרת. כ
שישולבו בתוכנית חייבים להימצא בתצורת 7 :
ברירת המחדל של שם ההרחבה של הקוב היא מס -ניתן לצייץ / שם ספריה. כאשר
הקובץ: אינו נמצא, המהדר מחפש את הקובצ בספריות. שצוינו בתפריט
טנ ו או באופציה 0/ של מהדר שורת
ההוראות.
:א 58 מס11100800 זסתזסוא
תתביר:. (88ק 63 ,מנתססת 6 1
ברירת מחדל: (655360 ,0 ,16834 9%)
אופי ההוראה:: כללי
תפריט:. 81205 ץ:סה6א/ ע116קת00/ פמס1ססס
0 חתלק ד" נספחים
הוראת הקצאת הזיכרון מגדירה את גודל הזיכרון שיוקצה למתסנית ולערימה של
התוכנית.
ברירות המתדל והערכים המינימליים והמקסימליים מופיעים בטבלה 1, הערכים
חייבים להיות מספרים שלמים.
טבלה 1 הקצאות הציכרון
מקסימום מינימום ברירת מחדל
0 14 4 58055126
00 0 0 מנתסהסת
0 תנבתכהסת 00 אההכהּסת
הוראת הקצאת הזיכרון היא הוראה כללית, ההוראה יכולה להופיע רק בחלק הראשי
של התוכנית, המערכת מתעלמת מההוראה כאשר היא מופיעה בתוך יחידה.
:0 סנגא 1116 עבּ1זסטס
תתביר: [סתהּת16תט 890+
ברירת מחדל: אין
אופי ההוראה: מקומי .
תפריט? " אין
הוראת שם יחידת הריבוד מודיעה למהדר אלו יחידות יעובדו כרבדים.
ההוראה חייבת להופיע אחרי ציון 6תהת>1תט במשפט פספגו, : המערכת מתעלמת
מההוראה כאשר היא מופיעה בתוך יחידה או ביתידת 556₪צ5.
הוראות המהדר 761
התניות
התניות ההידור מאפשרות לבצע הידור של קטעים מתוכנית, בהתאם לתנאים
שהוגדרו על ידי המשתמש, ההתניות מסייעות לנפות את התוכנית ור תוכנית
כללית המתאימה למגוון יישומים או מתקנים.
החלקים שעליהם חלה ההתניה נמצאים בגוש לוגי נפרד שאינו | תלוי בתוכנית.
התצורה הבסיסית של הגוש ה חלה ההתניה היא:
הוראת אאאע%1 בודקת תנאי | (אאאעד9]
הוראות אלה עוברות הידור רק אם : 8
התנאי שבהוראת אאאע%1 התקיים | 7
הוראת 6156 אופציונלית מגדירה (%3.5])
הוראות אחרות | | 0
הוראות אלה עוברות הידור רק אם 0
התנאי שבהוראת אאאע%1 לא התקיים - -. | /-
הוראת +61ת₪ דרושה רק בסוף כל גוש 1% [עדסא%5)
גוש ההתניה יכול להכיל כל הוראה תקנית של פסקל, כולל הוראות, נתונים וקוד
תוכנית, הוראת (אאאע%1) יכולה להכיל עד 16 רמות של קינון,. כל רמה חייבת
להסתיים ב-[61%מ₪), כל הוראת [9₪1.55) תתייחס להוראת [אא%ע1%1 האתרונה.
כאשר משתמשים בתהתניות בקובץ 8 יש לוודא שכל קובץ מכיל צמדים של
הוראות (אאאע%1) ו-(עדסאם). |
הוראות (עשפע91) ו- (עעפאע%1+ מעריכות סמלים שהוגדרו על ידי התניות הידור
אחרות או הוגדרו מראש על ידי טורבו פסקל. הגדרת הסמלים מתבצעת ומתבטלת
(כלומר נקבעת כ"אמת" או "לא אמת") באמצעות ההוראות:.
[6ְתהא1ספהוצפ האצמ 5)
[אגא1ססחץ5 עמפאט%]
2 חלק ז". נספחים | י | |
הוראת [עמסאט9) מבטלת הגדרה קודמת, אם 6 לא הוגדר קודם, הוא
ייחשב אוטומטית ללא אמת".
ניתן גם להגדיר התניות באמצעות הוראת כ/ של מהדר שורות ההוראות. בסביבת
הפיתוח האִינטראקטיבית ניתן להגדיר התניות בתפריט;
5% [002616108/ 1162 0ס0/ פמס61סס..
סמלי ההתניות המוגדרות מראש מופיעים בטבלה 2.
טבלה 2 טמלי ההתניות המוגדרות מראש
סמלים מוגדרים ב"אמת" כאשר
0 ל | גרסת המהדר הנוכתי היא 4.0
00 גרסת המהדר הנוכתחי היא 5.0
5 מערכת ההפעלה היא 05ס-₪5 או 058 26
26 ה-0620 הוא מעבד אינטל 86 < 80
(צ:: 0 מעבד עזר 87 א 80 קיים בעת ההידור
לדוגמה: ניתן לפקתח על הוראת העיבוד הנומרי על ידי:
[62087 שעמסץך%1]
[+א%)
ככ
[-א9]
[ע1סא₪%]
הוראת ('%1909) היא "אמת" או "לא אמת" בהתאם למצב ההוראה, למשל לסדרת
ההוראות שלעיל, ניתן להוסיף הוראות שיאפשרו הדמיה ל-8087 בהתאם למצב:
[+א 0קד3]
[-55)
(ע1סא92)
הוראות המהדר 763
מאהתמת
תחביר: [סחהּת מאדעמפ%)
הוראת 8א1פכ מגדירה סמלי התניות שבהן ישתמשו הוראות אחרות ומגדירה את
הסמל כ"אמת", המערכת מתעלמת מההוראה אם שתּבּם כבר הוגדר.
זטשסאזז
תחביר: [סתהם אמתפאט%])
הוראת שפפאט מבטלת הגדרה של סמלי התניות. למעשה, ההוראה מגדירה את הסמל
כ"לא אמת". המערכת מתעלמת מההוראה אם פתהּם כבר בוטל.
בב ו
תחביר: [סתהּם אמפקךד%]
הוראת שש0ת1 גורמת להידור הקטע הבא אם התנאי של סמל תת הוגדר על ידי
הוראת מאדעמס.
שתסאז
תחביר: [סתהּםת עמסאעשד%]
הוראת שפסאת1 גורמת להידור הקטע הבא אם התנאי של סמל שחת לא הוגדר על
ידי הוראת מאדעמפ או אם פַתּהּם בוטל על ידי הוראת עמסאט.
4 חלק ד נספתים
זקסי
תחביר: [ת59160 עלעסעד%]
הוראת 120% גורמת להידור הקטע הבא אם הוראת ג166א8 מופעלת או אינה
מופעלת, כמצוין.
5 זי
תחביר: [9₪9₪]
הוראת ₪58 גורמת להידור הקטע הבא אם הוראת %א%אע1 האחרונה אינה אמת.
שזסאת
תתביר: (ע1פאע9%]
הוראת עצסאע מסמנת את נקודת הסיום של הוראת אאאע1 אן שפזע האחרונה.
טורבו פסקל 5.5 765
נספח ג'
תוספת מהדורה 5.5
בטורבו פסקל 5 יש תוספות ושינויים רבים, שעיקרם תמיכה בתכנות לפי
יעדים (6אזאזאתתססתכ סצי'א 01 עשמנפס). הגרסה החדשה מהירה ויעילה יותר
מהגרסאות הקודמות, וכוללת מנהל ריבוד חדש, מסכי עזרה מורתבים ותוכנת
הדרכה מקוונת.
כדי להתקין את המהדורה החדשה (התקנה ראשונית או טיוב מהדורה קיימת), יש
להשתמש בתוכנית ;יפאד ולבתור באופציות המתאימות, כדי לקבל עזרה מקוונת
מתוך תפריט, יש ללתוץ 1ע, לחיצה נוספת על 1ע תגרום להופעת תוכן העניינים
של מסכי העזרה, כדי לקבל עזרה המתייחסת לשפה עצמה, יש להציב את הסמן על
פריט בחלון העריכה וללתוץ 1ע-061, ניתן לשלוף קטעים ממסכי העזרה ולשלבם
בתוכניות.
תכנות לפי יעדים
תכנות לפי יעדים מתבסס על שלושה מוטשגי יסוד:
1 יצירת בועות (תסגטבּ1ַטפּקְבּסת₪) היא שילוב רשומה עם פרוצדורות ופונקציות
המטפלות בה לטיפוס נתונים חדש הנקרא 6606ר0.
2. הורשה (112011582066) היא החלת תכונות של 060% מסוים על "צאצאים".
3 ריבוי צורות (מפנמכ:נספץ1סע) הוא כינוי פעילות מסוימת בשם שיהיה משותף
לכל הגורמים בהיררכיה של 60%כ0 מסוים.
16 חלט די נספתים
2 טופוט ה
טיפוס 06% דומה למעשה לרשומה 0 6 כלומר מאתד גורמים
- = שיש ביניהם: קשר מסוים, תכונות טיפוס ה- -00360% עוברות ב"ירושה". לטיפוסים -
הנמצאים בתוך ה-366%כ0, ה"צאצא" המקבל את ה"ירושה" נקרא טיפוס %ת68ת606
וה"הורה". ה"מוריש" נקרא טיפוס מעסספססםה, טיפוס רשומה רגיל (200020) 9
טורבו פסקל | אינו מ בפעולת. ההורשה.
פעולת ההורשה .משנה במידת מה את כללי התאימות של טורבו פסקל, שכן
= ה"צאצאים": "יורשים" תאימות ל"הוריהם", ה"צאצא"" מכיל כל מה שמכילים
= "הוריו", ולֶכן הוא אינו יכול להיות קטן מהם, | 5 ּ
= לשדות שבטיפוט 060% -ניתן לגשת כמו לשדות שברשומה רגילה (כלומר על ידי
2 הוראת מסנש או על ידי נקודות),. אולם עדיף להימנע מגישה ישירה ולהשתמש
.= ב"שיטה" (₪608), כלומר בפרוצדורה או בפונקציה המוגדרת בתוך ה-00360%
- והקשורת. אליו, הגדרת הטיפוס כוללת את כותרת ה-66208ה, וה-086ם₪66 קשור לשם
הטיפוס. | : :
| באמצעות: ה -6%06 ניתן להתייחס. 0-0 יחד עם הוראות הביצוע החלות
| עליהם, הגדרת ה: - ₪608 דומה להגדרה של יחידה, אולם ההכרזות של ה-66108
| מורות למערכת מה לבצע ולא כיצד לבצעי זאת, רצוי להגדיר 02386% ביחידה שקטע.
המימשק "שלה כולל את ההכרזה על.הטיפוס; וקטע היישום שלה כולל את ה - 6%2005
7 של הטיפוס..-שילוב הנתונים והוראות: המתייחסות. אליהם. נקרא :- יצירת בועות
. (מ5018610ק 08 מ6). :"
<< ב"שיטות סטטיות" (36%2088. 55860) מתבצעת הקצאת הנתונים בעת ההידור
< | וב"שיטות מדומות" (86%1008 15081ט) מתבצעות ההקצאות בעת ההפעלה, "השיטות
| המדומות" תומכות ב"ריבוי צורות" (ה15תק:צסהץ1סק), כלומר כינוי פעולה בשם, :
/ <> >והתלתה -על כל ההיררכיה של אותו 360%פס,. בעזרת ריבוי הצורות ניתן לעבד
"2" בב שטיפוסו אינו ידוע בעת ההידור..
תהליך " יצירת -. הסטטיות" נקרא קישור מוקדם (0ת61ת1מ צְבצהם) ותחליך -
יצירת ה"שיטות המדומות". .נקרא קישור מאוחר ו 6 י
, ההכרזה 5 שיטה מדומה מתבצעת באמצעות המלה השמורה החדשה 81גוס-1ט, כאשר
7 מכריזים על שיטה מופו, חייבות. -גם כל השיטות בעלות אותו שם, שבצאצאים,
להיות מדומות.
> = טורבו פסקל 5.5 767
הפרוצדורות שבשיטות המדומות. נקראות 0 מה שמורה חדשה!): לבל:
טיפוס - 03606 עם שיטות . מדומות. 61085 181 ה להיות.
גת 00, - .
= בקטע הנתונים של כל טיפוס 6 קיימת טבלה ה הנקראת 6 68 ג
או צאט הטבלה מכילה את גודל הטיפוס והצבעה על ההוראות ו לבל
ו של אותו טיפוס. לבל ו יש טבה נפרדת. . |
כדי לתמוך בחידושים 8 חלו מספר שינולים בפרוצדורות. ג קיימות: הפרוצדורה
| סא של מהדורה 5.5 מכילה פרמטר נוסף, הפרמטר הְרְאשון של הפרוצדורה הוא שם
המצביע .(ללא שינוי) והפרמטר. השני (החדש) יהָוא ה-עסססגונ6פתס6, הפרוצדורה > '
המורחבת יבולה לפעול | גם כמו. פונקציה: ולהחזיר. | ערך של. למנב ו
מקבילים ה גם' -. הפרוצדורה 0
בטורבו פסקל 5 .5 הוגדר גם טיפוס מיוחד של 6 בשם 0 הטיפוס
:| מפרק ומנקה 6655נס0 שהוקצו באופן דינמי. ה-0502גו60562 מוגדר יתד עם כל
.. ה-₪6%1065 של טיפוס ה- -09360%,. > את. הֶ- ו ל להוריש, הוא יבול
להיות סטטי או מדומה. הבו : 0%
ניפול בטורבו פטקל : 5 5
המנפה החדש רה 5 .1) תומך. בתכנות ילפ יעדים. ובגורמים החדשים שבטורבו
פסקל 5.5. הוא מאפשר | לעקוב אחר > הוראות הּ - 6508 . 1 אוטומטית
2 -60%8ך0,
8 (5%80) מטפל ב - 600 כביחידה שלמה אחת. 0 7 (20808) | טוען את
הוראות. ה -6608 ₪ ומאפשר ניהול מעקב אחר הפעולות הפנימיות. שבו.
/ -- 00% 1 מציג את שמות ה -950065 הקשורים ל- 0 מסוים, וחלון
ו מציג אותם. בצורת רשומה.. /
במנפה החדש התווסף חלון להצגת ההיררכיות של 0 הגישה לחלון מתבצעת
= על ידי הקשת ₪ בתפריט שסצט, לחלון ההיררכיות שני תלקים: תלק אחד מכיל את
5 השימ הטיפוסים שבמודולה הנוכתית, והחלק השני מציג את הצאצאים ומצביע: על
* ההורה. של כל צאצא, ניתן לראות את סיכום המידע המתייתס לטיפוס 6ספְנמס
8 תלק ד נספתים
מסוים בחלון עס5060%ב1 סִסַעָ?' 6ססִככס0, ואת הפרטים המיוחדים - מופע מסוים של
אותו 60%כ00 ניתן לראות בתלון עס500606%0ם1 06ת5%58ת1 6ס6ִ6ככ0.
שינויים וחידושיסם בטורבו פסקל 5.5 - סיכוס
מלים שמורות חדשות
:3-0 ₪0
0560
6%כס
1[ג6ע1ט
טיפוטי 660ן[פס
טיפוס 06ִ6ְרמס הוא מבנה המכיל מספר מרכיבים, המרכיבים הם שדות (516185)
המכילים נתונים מטיפוס מסוים, או שיטות (0085ם₪6%6) המבצעות פעולות מסוימות
על ה-0366%, בדומה לפרוצדורה או לפונקציה, טיפוס 04666 יכול לרשת או
להוריש תכונות, שיטה (6סם6%6) יכולה להיות סטטית (558%516) או מדומה
(81ט6ע1ץ).
התחביר של הפרוצדורות אסא ו-1500856כ שונה, והותאם לטיפוס החדש.
התחביר החדש של הפרוצדורות הוא:
(160ו5%2ת00 ,2 )שטסא
(00%ו2ע68%כ ,2 )150056
(באשר ע הוא משתנה מצביע, המצביע על טיפוס 00[766% ו-06וע5%ת60
(-600862006כ הם ה- ע0ס6סגוע36 00 וה- עס6סגוע60028%כ של טיפוס ה-66%6ככ0.
ניתן גם להשתמש בפרוצדורה שסא כבפונקציה המתזירה משתנה דינמי מטיפוס
מסוים. התתביר הוא:
(2)שסא
טורבו פסקל 5.5 769
או
(0%גו5%2ת00 ,' )שטסא
כאשר 2% הוא טיפוס מצביע כלשהו. בדוגמה השניה תייב 1 להצביע על טיפוס
%, |-1:06ע008%52 תייב לקרוא ל-עספסט62פת0ס0 של אותו טיפוס, טיפוס
התוצאה המותזרת הוא .
ריבוד בטורבו פסקל 5.5
טורבו פסקל 5.5 מכיל מנהל רבדים חדש, מנהל הרבדים תואם לתלוטין ליחידת
צְה1סטס של מהדורה 5.0, וכדי לשלבו בתוכניות יש פשוט להדרו מחדש.
מנהל הרבדים החדש כולל אלגוריתם חדש לניהול הרבדים שבזיכרון, ודואג לכך
שרבדים המופעלים לעיתים תכופות לא יידחקו מהזיכרון, השגרות עצע0290%206
(- צע0:06%26% מפקחות על מנגנון הבדיקה והשמירה של היחידות.
המשתנים החדשים הכלולים ביתידת 06218 של טורבו פסקל 5.5 הם:
%תטס6סקהעטס0 - שהגדרתו ;בעסח : %תטס6סה28?עט0 מהט, המונה את מספר
העיכובים בהפעלת הרובד.
)תמסיס טס - שהגדרתו ;עס : %מגוס00 21:08 ט0 עבּט, המונה את מספר הפעמים
שהרובד נטען.
6 - שהגדרתו ;66 : 116%006ע:ש0 עהט, הקובע את קוד הגישה
ל-05 בעת פתיחת קוב ריבוד.
5והסת:ט0 - שהגדרתן:
| 167 : (6עסא : 2860ט0 )בס61סתטת = סמגועבהסת:ט0 6סעע
וט : 01מ6804ת3תט0 נפט
המאפשר לך להתערב בפעולות הטעינה.
0 תלק ד" נספתים
הפרוצדורות והפונקציות החדשות שביחידת צְֶ18מסט0 של טורבו פסקל 5 הן:
טס -
;(%ת1שתס : 5126 )0256620627 6עגוסס6ססנכ.
הפרוצדורה קובעת את גודל השטת שבו נשמרים הרבדים "על תנאי" לפני הוצאתם
מהזיכרון.
טס -
תס : צע00200086% תסנ1טסתט+
המתזירה את גודל השטת שבו נשמרים הרבדים "על תנאי".
ריבוד בקבצי ₪5 בטורבו פסקל 5.5
בטורבו פסקל. 5.5 ניתן לשמור את הרבדים בסוף קובץ ה-מאפ, של היישום במקום
בקובץ 0/8, נפרד, לשם כך יש להשתמש בפקודת צעסס של 05כ (עם האופציה 8/).
מפתח.
1 מיקרומעבד.
= ארכיטקטורה, 620: 5877
ביטול הדמיה 748 :
הגדרה, 619-620
= הוראות מהדר עבור, 617-618
= = > טיפוסי נתונים, 617 =
שירותי 8105 ל, 563; 561
תוכנת הדמיה, 748, 618
ז-416, 22 ראה תפריט 5616
6-41%, 22 ראה תפריט ₪086 >
11 בית 268-269,. 278 >
תווים הבית הראשון במלה, 08
= תוויס המרת קבָצִים בינריים, 592
תווים מורחבים-83.,44-45, 268 >
תווים מורחבים שרטוט מסגרת, 83-87
תווים סטנדרטיים,.44, 83, 268 =
50117, מחרוזת, 427, 605 >
דג, שגרות תמיכה, .566 *
אפ = |
אס ,8510, 569
5 .
"גישה באמצעות יחידת הס 9
התאמה לחומרה, 547-548 =
שגרות מיקרומעבד, 547 |
2 שירותים - 1 אסם, 644 8 .
-3 >
9 תיחול חם, 0
= גודל זיכרון (פסק - 6
> גישה 1 9 57
< דיסק (פטק 3) 65 |
. הדפסת 6 5 ₪ 7 1
9
הפעלה, 552-553
וידאו (פסק 910), 00 87
| טבלה, 554-557
- מדפסת (פטק 417), 566-568
| מספרים, 554 | -
מקלדת (פסק 811), 564 -560
קלטת ותמיכה ב-זַ56/2 (פסק -15)
55
רשימת ציוד (פסק 411), 564 -561
שעה (פסק 1), 568
תקשורת (פסק-914), 565 :
ה-וץ0% למחיקת שורה, 1
0 :
ביטול, 275-277
לסיום תוכנית, 271-272
= שגרות להפעלה אחרי, 570 =
8686-ו
ביטול, :275-277
שינוי מצב בדיקה, 277
0-0 קת תו משורת הקָלט האחרונה,
21
| ו קריאת יתרת שורת. -- האחתרונה
201
ה 0 ( 200
0-5 מחיקת התו האחרון שהוקשי 21
- -0% סיום קלט, 272-273, 466
ל
= 1.5%8פא08/105=4 שינוי קובץ
ו 0, 286, 4 :
080
ביצוע שגרות שירות, - -437 =
התקנים, 591
טבלת הסביבה |
גישה למחרוזות ב, 424
- הגדרת ספריות ב, 522 =
12 מפתת
כתובת, 427-428
עיון ב, 421-423
שינוי, 423
טורבו פסקל כהרחבה של, 1
מנהלי התקנים, 592
מנהלי קבצים, 595-598
פקודות (ראה פקודות 505)
שירותים גישה ל, 569-580
טבלת מרכיבים ופונקציות,
7
מספרים, 554
קריאה ל, 553
תקשורת עם, 548-553
שימושים, 577-578
ג
6 %ס 116+, 450, 517
"חס +ס 116+, 450, 478
006000+ח1 +0ס 6ו1+, 516
חח=5= |1] הוראות לשינוי ערך מנהלי
הקבצים, 597
0)] שינוי | קובץ | 16.5%5:א19-21,00
א
הא
מצביע, 200-201
ערך, 177
4
פארדסיזס, 194
5
5%
פלט, 169-172
תצורה, 44, 192
א
אוגרים
אינדקס המקור (51), 169, 549
בסיס (81 83 8%), 548-550
דגליס 548-552
אפט, 616, 566
גלישה, 551
העברה, 549-552
זוגיות, 551-552
כיוון, 551
משימה מקוננת, 553
סימן,551-552
ערכים בסיביות, 552
9 551-555
רמת הגנה על קלט/ פלט, 552
הגדרה, 165
היסט, 166, 168
העברת פרמטרים, 549
כלליים, 548-550
מונים (6%,60,61), 548-550
8, 560
מצביע בסיט (ק8), 548, 581
מצביע ההוראות (1), 168
נתוניס (.ם,פ,אפ), 548-550,
38|
צובר (.|1%,0.4), 548-550, 562
6, 581, 631
קטע, 166, 168, 172
המחטנית (55), 169, 196
הנתוניס (05), 168, 195-196
הקוד (05), 168, 194-195
אזור אחסון
גודל ברירת מחדל, 516
גודל הגדלה, 373
גודל פיקות על 472-473
טעינת יחידות, 531
מעגלי, 278
מקלדת בדיקה, 288-289
מקלדת הקשת נתונים, 287-288
מקלדת, 278-286
קובץ טקסט, 472
רובד, 530-531
ניקוי, 544
שינוי גודל, 543-544
אסימונים ומפרידים, 41, 48-50
הזנת שורה, 49
החזר גררה, 49
773 תתפמ
+96 5ח58, 392-393
וו58, 392-393
א6וסויזד, 392-393
התקנה, 409-410
טעינה, 404-405
טקסט, 393
מיפוי סיביות +חס-6+816כ, 393
מיפוי טיביות, 392
משורטטים, 392-393, 402-404
טבלה, 49 שילוב בתוכניות, 407-409
קפיצת דף, 49 : גיבוי תוכניות, 28-29
רווח, 49 גלישה בפעולות חשבון, 552
ארגון תוכנית פסקל, 49-55
ארכיטקטורה פתוחה, 585
אשכולות להקצאת מקוס קבצים, 471
גרפיקה, 327-412
< ברירות מחדל, 401-403
דגמיס מוגדרים על ידי המשתמש
אשנב, 356 ה(
יצירה, 356-399 .- 0/0 זיכרון, 99
ניקוי, 360-361 "יל חומרה, 335
. טבלת צבעים, 330-331
טקסט, 391-402
(צ,א) מערכת קואורדינטות, 331,
קיצוץ, 357-359 "
שמירה ושחזור, 360
ב : 8 00
ביטויים, 105-122 גודל, 399-403 *>.
הגדרה, 105-106 | > | - - גופנים, 393
ניתוח 154 הגדרות, 398-399
קבועים, 56-57 . | יישור, 396-397
במקום קבוע יחיד, 56 5 סוג, 391-395
שימושיים, 56-57 0 5% כניסה ויציאה, 332-342
ביטול מחיקה של קובץ, 5513 - : מילוי.
בית מורחב, 268-269, 278 = דגמים וצבעים, 370-372
בלוק 0 : מלא, 369-370
בקבצים ללא הגדרת טיפוס, 482,450 שוטף, 372-373
קביעת גודל, 483-484 מנהלים, 328, 333
בקר המקלדת (8048 או 8042), 268 מיפוי סיביות, 328, 392
- | מסך, 327-328
ג .> 8 .> שמירה ושתזור, 387-390
גופנים = י סיום, 339. :
000 392-393 | | רזולוציה, 328-330
:4 מפתת >
שרטוט:
| אליפסות, 380-385:
מלבנים מלאים; 375- 374
מלבנים, 374-375
מעגלים, 380-385 >
מצולעים, 376-379 :
עקומות, 379-387
פרוסות עוגה, 385-387. -
קטעים, .385-387 >" >> .
קשתות, 386, 383
= תצורות, 328-331 =
= | בירור, 335-337:
<> מעבר לטקסט,. 30 >
רזולוציה גבוהה, 365
רזולוציה נמוכה, 865 ="
תיחול, 332-334 =
גרש, 47
במחרוזת, 45 >
,
דיסק. קשית"
> הפעלת טורבו פסקל, 21
התקנת טורבו פסקל בעזרת = *
= | )ג דפא, 10-15 ==
התקנת טורבור פסקל ללא 6א5.) ואד5א1
<< | דף הגדרה, 362 =
דף החלפה, 362
ה
הבהוב; | טיבית, 95 :
-הוצאת קבצים מארכיב, 12 1
הוראות "
| חס+, 72 418
0. 0 00/ 0. .0+ 65
0%0ף, 6 72
+ 72 >
1.6 6
6חווחו, 580-582 >
ב 2 7.
וולחט..-6068%י,. 68 77
רחא 72 700
= 116...60ח₪, 68-69
| ח₪36, 69, 72 >
בדיקת ביטוי, 04
"השמה, 63-64, 72
- | מורכבות,-62 =
פונקציות, 69-70
פרוצדורות, 69-70 .
פשוטותו. 02 (ראה גם מלים )]
| תיאור, 0
הזנת דף, 5, 83
הזנת שורה, 44-45:
עם התזר גררה,. 0
עקיפת +566050, 6 :
החזר גררה, 83, 44, 450
<> והזנת שורה 450
.עקיפת 466
-הידור תוכנית לדיסק, 33-36
היסט, הגדרת אוגר, 166
= הערות, 72, 50 =
הוראה, 50
קינון, 50- :
<> התקנים
5 1 >
591 593
בלוק, 590
| גישה ל, 615-616 ,
טורבו פסקל, 592-593 .
= פטיים, 593, 622
שימוּש כקובץ טקסט של ט. פסקל .52/3
תו, 90 |
ל 5
וקטור פסק.
>= מנהל הסיום, 427
| מנהל השגיאות החמורות, 427.
קליד 6%71-6 א א68ם-0%71, 427
ז
זוגיות, 83
זיכרון
0% 1]/ %61ח1/ פטלס.], 543 |
"חור", 199-200 ּ
בגרפיקה, 328-329
ביטול הקצאה
פרוצדורה 616856א, 177-178
פרוצדורה 6פסספום, 175-179
פרוצדורה ₪ח669%6ז], 179-182
ביקוע, 196
גודל י
גושיס רצופים, 564
שירות 8105, 562
העברת נתוניס, 485-489
הקצאה
דינמית, 172-187 .
למחסנית ולערימה, 759-760
פרוצדורת אז3, 177-178
פרוצדורת 665%6₪, 178-182, 188
פרוצדורת שפא, 174-176, 188
התייחסות ל, 166-172 >
התייחסות לשמות משתנים, 192
וידאו
הגדרה, 297-298
כתיבה ל, 298-299
כתיבה ל-יחידת %ז0, 301-302
כתיבה ל-פרוצדורה %ז0ח45510,
י = 303
כמערך, 191-193 -
כתובת
ב-050, 188-193
בחירה, 188-193
מוחלטת (אמת), 166-167
. -- 180 ,400+ פונקצית
פועל 6, 121, 180, 638
מפתת. 75
קרובה, 166-167
רתוקה, 166-167 5 - >
לקריאה בלבד (604), 547
מורחב (55), 530, 543
מפת תוכנית טורבו פסקל, 195
שימוש, 194-197
שירות 8105 מס. %15 פונקציה %88.
6
תוכן, 298
תח
חותמת השעה, 507
חותמת התאריך, 507-509
חילוק באפט, 628-630
חילוק מהיר, 122, 110-112
חיסכון באמצעות רבּדים, 530-531 >
חלונות -
איתור חלון נוכתי, 321
בתוכנית טורבו פסקל 5.0
חס₪8% 00, 244-245
6% 23 | ּ
ח860 60%%, 257
580% [[608, 252-253
| חס%א, 21, 245-246, 257-258
| שימוש בחלון אחד, 321-323
| שמירה ושחזגר, 324-325
חשבון |
אינטגרל 75-79 >
באינטגרלים, 75-79
בסיס, 75, 2
השלמה ל-2, 75
6
טבלת וקטור הפסק
הצגה, 624-625
כתובות שירותי 554.,8105
רשימה, 623-624
טבלת צבעים
בחירת תצורה, 365
6 מפתת
גודל אפקטיבי, 365
גרפיקה, 330-331
מערך לשמירת צבעיס, 364
טיפוט
הגדרה, 58-61
הכרזה, 59
כללי, 218
מקומי, 219
טעינה ישירה של זכרון המסך, 301
טקסט
תצוגה, 297-306
תצורה, 310-315
2
יחידות, 42, 72, 172, 205-238
אוסף שגרות פסקל, 50, 205
העברה, 227-235
טעינה לאזור האחסון, 531
יחס אורך/ רוחב, 378-381
יצירת רבדים, 536
הכנת היתידה, 536
קריאה רחוקה, 536-537
מבנה, 213 |
טעינה ראשונית, 219, 215
יישוס, 214-215, 219
כותרת, 214, 218, 224
ממשק, 181, 218-219, 224
מוגדרות על ידי המשתמש
%ז6חקעץ6, 610-614
ץסצריזס, 606, 610
מוכנות, 215-227
המרה הקסדצימלית 65א186, 224-227
כתיבה, 218-220
פונקציות טריגונומטריות
(105"+), 219-224
שימוש, 217
סטנדרטיות, 206-207
,271-272 ,208 ,206 ,%
6080 ,2
208 ,206 ,5
חקהיזס, 206, 208-212, 392
3 ס, 9, 206, 212-213
ח506צ5, 206-208, 595
3טד, 206, 212-213
צהּזספש0, 206, 573-541,209-210
זס6>חויזק, 206, 209, 594
ספריה מוכנה
הגנה, 229
יתרונות, 229
תדפיס תוכן, 231-233
פרוצדורות יציאה, 443-445
פריצה ממגבלת א64, 529
שינוייס בתוכניות, 532-535
כ
כוכבית (*), 47
כונני דיסקים
הגדרות, 497-498
שירותי 8105, 561
כפל מהיר, 110-112, 122
כתובת, ראה זיכרון
ל
לוכסן (/), 48
לולאה אינסופית, 39
מ
מבנה תוכנית טורבו פסקל, 39-72
מגדלי האנוי, 149-153
מדפסות
קיום, 567
שירות 8105, 561, 566-568
מדריך למשתמש של טורבו פסקל, 9
מהדורה 4.0
יחידות, 529
מעבר למהדורה אחרת, 12, 16
מהדורה 5.0
הפעלה, 21-26
מדיסק קשיח, 21
מתקליטון, 21
התקנה בדיסק קשית
ללא =אם. | |4ז5א1, 15
עם 5אם. | |4דפא1, 10-15
התקנה בתקליטון
ללא 5אם. | |4ודפא1, 17-18
עם 505. | | דפא1, 16-17
חבילה, 8-9
כיצד להתחיל בהפעלה, 1-37
מבנה תוכנית, 39-72, 71
ספריית הרצה, 207
טקירה כללית, 1
ריבוד, 530
שטתי אחסון דרושים, 11
שלבים ביצירת תוכנית, 25-37
שפה מובנית, 122 :
שפת אסף, 580-583
תאימות כלפי מטה, 212-213
תצורת המערכת, 13-14, 19-21
תפריטים, 21-26
מהדורה 5-5 765 .
מהדר, 7-2
טיפול בערכי 5011ג, 44
טיפול בהערות, 50 . =
הוראות, 743-763
התניות, 743, 760-764
(סה3ופסוחץ5 5א905:1), 761-764
[55. 4₪1), 764, 761
(=1סא95), 761, 763
(אאא"91), 760-762
[91:06%), 761-764
[זססא"1), 761-764
= (ד91:00], 762-764
777 חתפמ
[6וזהּוססוחע 6 ז5סא), 761-763
פרמטרים, 679, 758-760
[6הההסוו+ %1] 6ו1] 6סטוסח1,
= 758-760
[6ה8ח116+ .%1] 116" 05166% אחר]
59
[860088ה ,הדהק8פה ,958065126
א 196 >
5 חסו2110086 ע"זסוח6, 435,
4, 639, 755
5 חסרה 417106 ע"זסה6,
00
%וחט ע8|סטס [6חההח6וחט 1490
6חה3), 540, 760
מתגים, 743-758
8 חפרווה [-/+ה%), 744-745
חסואהּטוְהע3= ה800168 [-/ +98],
1-08
הסו+ההזס+ה1 הבַט060 [-/+%0]
7, 243-244
חסרלה1טחם [-/ +%5], 617-618
8. 753
5 אה" 006 [-/+ז8), 159,
1, 440, 537, 539י
4, 749-750
%+טק6ט0/ שטסח1 [-/+%1], 474-476
ּ | 7, 750-751
וספ חע5 10081 [-/+ ופ
הסו+הו"זס+ח1 ,243-244, 405-407
00ו706699ק סומסחטא [-/ +א9+י
= 617-619, 7520-753, 763
8 עה פטס [-/+180
הסרצ8"ז0חה60, 537, 539-540.
הַהר60%ה60 ₪896 (-/+9%), 64
אסןו+זסע0 5580% [-/+%5]
4חד60ח0, 755-756
0060018 פהרת5%- הש [-/ +/%]
7
8 מפתת
מוכלל, 243-248
מזהים, 41-44, 56, 59, 61-63,. 72
מחלק משותף גדול ביותר, 145-147:
מחטנית, 133-135
בדיקת מקוס פנוי, 755-758
ס>סף, 42, 55756, 66
+ 42, 55, 62-64, 67, 116
הסו+%8ח6 16קחר, 42
חו, 42
שחווחר, 42, 580-582
הגדרה, 169 6 חור 42
מחרוטות %+קטייזס>חר, 42, 629
72 427, 605 18061 42 55-56
גרשיים, 40 סח, 42
העברה כמשתנים, 756-757 ווח, 42
טבלת סביבה, 424 צסח, 42
טיפוט נתונים, 60, 88-92, 102 +6, 42
ריקות, 44-45 "ס, 42
תווי בקרה, 45 4 42
מידע אודות קבצים
בית-התכונות, 504-506
66 ססיזס, 42, 69
חהּיזחסיזס, 42, 72
גישה ל, 502-506 0זסס6י, 42
שדה השעה, 506-509 8% 42, 67-68, 116
שם וגודל, 504 5% 42
תצורות, 598-600 וח5, 42
מליס שמורות, 41-43, 72 "זח5, 42
6 וספס3ּ, 42, 189-191
טהר 5, 2 9 11
סחהּ, 42 > חסח6, 42, 54, 62-63, 66-68 116
צְּיזיוהּ, 42 סל, 42 65
חרףָ0ם, 42, 63, 70, 72 6 42 59
6, 42, 63, 116 סשרחט, 42
ז3חס, 121 ודשח 42, 67-68, 116
לפחסס, 42, 56 5,ָ 42, 194-195, 207, 443-444,
צו, 42 54
0 42, 56 62, 67,. 116
ס>חושסה, 42, 64
68, 42 62-63, 67
זהצ, 42, 62, 134, 136
6רחש, 42, 66-68, 116, 242
חשדא, 42, 69
0 42 51, 62-63, 70, 72 זסא, 42
' [8ח"ז6<%06, 42, 404-405, 407 > מלה עשרונית, 75
6+ 42, 482 ממשק גרפי (861), 328, 603
זס+, 42, 56 62, 64 | מנהל פסק, 621
0זה8שיזס+, 42 > מנהלי התקנים
הסושסהט+, 42,. 83 הגדרה, 592
התקנה, 411-412
טעינה, 404-405
קובץ טקסט, 603-604
קובץ טקסט, 604-607
קובץ טקסט, כללי, 607-610
שילוב בתוכניות, 403-409
שימוש ב, 611-615
מנפה טורבו פסקל תבילת תוכנה עצמאית,
25
מסג, למחיקת התו האחרון, 275 .
מסגרת
6 252, 249
5% 249
ערז ,/ 251
לאימות, 33
מסילות בתקליטון, 470
מסך
גודל, 337-338
הדפסת תמונות, 194
טורים, 311-312
ניקוי, 586-588
פיקוח על הסמן, 314-320
פלט, 301-302
התקן טטנדרטי, 302
יחידת %"6, 301-302
קואורדינטות, 299-301
שלג, 304, 587-589
תצורה, 311
קבועים, 312
מספרים, 41, 45-46, 72
אינטגרלים, 46
בלתי מסומנים, 79
הקסדצימליים, 46
חריגה מהתחום, 76-78
ממשיים, 46 >
קא60, 617
= |08, 617
סףסא דא, 616-617
מפתח 779
= |51%6, 616-617
מסומניס, 79
מעריך, 80
משמעותיים, 80
נקודה צפה, 80, 616-617
שליליים, 76
תצורה מדעית, 46, 80-81
מעבד עזר מתימטי,
שימוש במשפחתת 8087, 616-620
שירותי 8105 עבור, 561, 563
מעקב אחר פעולות תוכנית, 260,245-247
מערך
גודל, 183
גישה לזיכרון, 192-194
טיפול ב, 64-65
מוגדר מראש -
הז6++הקוור], 370-371
וח6, 192-193, 582
|חחסא, 192, 582
אח6, 192, 582
+זסק, 582, 586, 616
אלזסק, 582, 586, 616
מצביע
לכתובת משתנה, 12-13
לרשימות מקושרות, 135
מוחלט, 188
מנורמל, 182 |
נוכחי (ק0) איתור במסך גרפיי
2-3
טימן *, 173-174, 47
פעולות, 181-182
ראש הזיכרון, 639
מקוס הסמן
איתור, 319-320
> קביעה, 314-316
מקלדת
אזור אחטון, 278-286
בדיקה, 288-290
0 מפתת
הקשת נתונים, 287-288
פעולת, 268-287
קלט, 265
קריאת נתונים מ, 269
בדיקת סוף קובץ, 272-273
ביטול הדהוד למסך, 274-275
עם 680 [-ח68061ז, 269-271
פקודות עריכת שורה, 271-273
תו אתד, 273-274
מיפוי מחדש, 244-246
מקף (-) כסימן חיסור או שלילה, 48
מרכיבי השפה
= אסימונים, 41
הערות, 41, 50
מזהים, 41-44
מחרוטות, 41, 45, 72
מלים שמורות, 41-42
מספרים, 41, 45-46
מפרידים, 41
סמלים, 41, 44, 47-48
תוויס, 41
משתנה, 42, 72
אורך חיים, 131-133
בולאני מוגדר מראש
0%ה0, 276, 278
+0060060, 272
ש0ח6005ח0, 304
סד 303-304, 392
הגדרה, 131
הכרזה, 61
הוראות התוכנית, 56
חוו%סחוא, 321, 326
ץ%+%4א16, 307-308
סח 320-321, 325
טיפוס, 59, 61
כללי, 131, 218
ללא הגדרת טיפוס, 597-600
| 63ום, 388
מוגדר מראש בגודל מלה 355%006.,
26
מוגדר מראש מצביע לפרוצדורה
666% ,הסבּיזס, 412
2% ה30006%!16יז, 412
מצביע
סח "חפטר], 606
סחט]>טסח1, 606
מקומי, 131, 141, 219
סביבה ₪ דגס, 522
פרמטר, 134-137
ללא הגדרת טיפוס, 134, 8/ 137
קובץ ללא הגדרת טיפוט, 597-600
ריבוד מוחלט, 189-192
שמות, 192
משתניס מצביעים
הגדרה, 172-173
הכרזה, 173
הקצאה, 181-182
השוואה, 181-182
מוגדריסם מראש
"0 וסיזיום, 440-442
ססיק6ראם, 439-440, 443
6 440
זסז63057, 201
מתאם גרפי 3270 56 18%, מנהל התקניס
1,, 328, 330
מתאם גרפי 8514 18%, מנהל התקניםס
1 וים1, 328, 330
מונוכרוס הרקולט
קובץ 566.861ו, 328, 330
ריבוי דפים גרפיים, 362
מורחב (504)
טקסט דחוס, 313
קובץ 664/46.801, 328, 330
ריבוי דפיס גרפיים, 362
תצוגת 43 שורות, 311
מתאם גרפיקה בטורבו פסקל, 328
מתאם גרפיקה מנהל גרפי 861.דדה,.:
8, 330
מתאם גרפיקה צבעים, 365
מתאם וידאו גרפיקה (64/)
הצגת 50 שורות, 311
טקסט דחוס, 313
קובץ 6/64.801=, 328, 330
ריבוי דפים גרפיים, 362
מתאם מונוכרום (אפו!), 297
מתאם מסך, 192-193 '
מתאס צבע גרפיקה (6)6684
נקודות ב, 304
צבעים ב, 365
קובץ 664.861, 328-330
נ
ניהול קבצים בטורבו פסקל, 512-513
מחיקה, 512-513
מחיקת התוכן, 513-514
שינוי שמות, 512-517
ניפוי, 239-262
אינטראקטיבי, 254, 747
דוגמה, 241-248
הוספת תצפית, 244
טכניקות מסורתיות, 242-243 .
סיום, 259 =
"ניתוב פלט, 302
נקודה (.)
להכרזה על תת-תחום ומערך, 47, 94
לסיום תוכנית, 47, 51
עשרונית, 46
נקודה פסיק (:6
הפרדה וטיום על-ידי, 47, 55, 59,
1 70
סיום פונקציות, 129
סיום פרוצדורות, 126
נקודות (615א1ק), 304
גישה לנקודה בודדת, 343-344.:
781 תתפמ
נקודות חיבור
א-סינכרוניות, 591
הגדרה, 586
העברת נתוניס ל, 586
כתובת, 586
למקלדת או מסך א60, 591, 593
מדפסת מקבילית 1דק), 2דק | ו-3זק ן,
3 591
מדפסת מקבילית אפם, 591, 593
סדרתיות, 561
טכנה בגישה, 587
תקשורת א-סינכרונית 60%1 ו-60%92,
7 593
תקשורת א-סינכרונית 1אטה, 593,587
גישה ל, 586-590
נקודות יחט אורך/ רוחב, 378-380
| נקודות מיפוי סיביות, 328
נקודות עצירה
ביטול, 258
ראיית הנקודה הבאה, 258 .
נקודתיים (:)
בהכרזת משתנים ותוויות, 44, 6פיי 7 .
9 ה ,
בתצורת 56%++56006700:0, 165, 192
עם סימן = להשמה, 44 ן
נקודת תיבור מקבילית למדפסת, 591
נתונים (4ַדגפ)
גושים 482
הגדרה, 73
הגדרת טיפוסים, 73
" העברה בזיכרון הפנימי, 485-489 .
כתיבה, 467
הכרזה על 52, 55-60
קבועיס 53-57, 69 =
מוגדריס מראש, 56
טיפוטים, 53-55, 59, 69
משתנה, 53-55, 61
תוויות, 53-56, 69 :.
2 מפתת
מבניס דינמיים, 165-203
טיפוסים, 73-102
"זה8ח60, 60, 64, 83-87, 102
6 3 .
0 83
%חו+"%סח5, 83 |
6006%ח1, 64, 74, 102
6 63-64, 74
6600%ח1, 74
%חרסָחס.!, 74
%לחו+"סח5, 63-64, 74
סזסא, 74
טיפוס כללי, 79
| בולַאניים, 60, 64, 82, 102 >
מוגדרים על ידי המשתמש
מסופררים, 61 =
מערך, 61
קבוצה, 61, 64 -.
קובץ, 61 :'
רשומה, 61 :
| תת-תתום, 61 .
= מחרוטת, 60, 88-92, 102
| מסופררים, 91-94, 102
מזהים, 92. :-.
מספרים ממשיים
קחסס, 60, 81 5
8 60 1 >
חלאס 60, 81
[68ז 60, 81 '
6רפ, 60 81 2
בלתי רציונליים, 80
רציונליים, 80
| תצורה, 467, 469
מספרים שלמים >
6 60
18006 60
%+חופחסו, 60
%חד6יזסח5, 60
סזסש, 60
מערך, 96-99, 102, 182-183
אינדקס, 97
מצביעים, 60, 96-97, 102, 165
היסט, 96
כתובת, 96
סטנדרטיים, 60
סידוריים, 60, 63-64
פרוצדורה, 101
קבוצות, 93-96, 102
בסיס, 95
קבצים, 101
6 101 |
ללא הגדרת טיפוס, 101
עם הגדרת טפוס, 101
רשומות, 98-103
באורך משתנה 99 |
משתניס באותו שטת פיי בזיברון
9
שדות, 98 00
שדה התווית 63011616, 5
ס
סביבה הגדרה, 421
סביבה מוכללת, 21-25.
התקנת מהדר 65א080.5ד, 18
סוגריים 1
() לקבוצות, 354
(**) לסימון הערות, 47, 50
= -(..) לסימון מערך או קבוצה, 47
זוויתיים
> קטן מ, 48
=> קטן או שווה, 48
=< גדול מ או הכללת קבוצה 48
< גדול מ, 48 :
<> לא שווה ל, 48
צומדים [] לסימון הערה, 50, 47 .
מרובעיס [] סימון מערך/ קבוצה 27
טוף קובץ
איתור, 456
בדיקת מקום המצביע, 460-466
סוף שורה |
איתור, 456
בדיקת מקום המצביע, 466 -60
סיביות רקע, 305 *'
סיבית ארכיב, 505
סיום תוכניות, :52
סימון סוף שורה, 454
אחסון, 271, 449
סיום. שורה בקובץ -טקסט, 449-450, 456
סימן .לציון קוד 44 97
סימן 6 ככתובת, 48 > |
סימן * להכרזה על מצביע, 47, 173 .
סימן חיבור (+), 47
סימן קריאה (!) לציון עצרת, 142
= סימן שוויון (=)
(=) בהכרזות, 47, 56, 59
(=) לציון שוויון, 48
סמלים, 1 44 47-48
1 47
הוראת 6455, 47
הכרזה על משתנים; 47
מחרוזות, 47
מערך, 47
פועלים חשבוניים, 47-48
קבוצה איחוד, 47
קבוצה הכללה, 48
קבוצה הפרש, 48
קבוצה חיתוך, 47
תוויות, 47
סמן :
גול ראה פונקציה 01 של שירותי
+ הווידאו, 559
העלמה, 559
שינוי תצורה, 559-560
ספר עזר של טורבו פסקל,. 9, 40
783 תתפמ -
7 -----------]-]---]-----------.----------/---
ספריה גישה ל, 503
ספריות, 1-2"
העתקת שדות ה-08:, 0
חיפוש, 422-423
טיפול ב, 501-502
יצירה, 500-501
מחיקת קבצים, 512 +
שינוי שמות, 512 :
תורנית איתור, 499-500 . '
תורנית שינוי, 499-500
<< ע
עזרה
60% וז 8
העתקה, 16 |
תיעוד ב-5%5. ופוזד,: 9
עצרת, 142-144
ערימה
גודל, 173, 200 -197
הגדרת ראש, 177
| טעינת. מנהלי התקנים וגופנים ע"י =
תוכנית, 404-405
מצביע 630010 לתתתית, 196
מצביע +₪6800% לראש, 196-197
ניהול על ידי המשתמש, 411-412
פונקציית שגיאה, 200-203
רשימת שטחים פנויים, 196-197
9
- פונקציות, 40, 42י ד -69, 3
דוגמה, 130
הגדרה, :2
כמרכיבי פסקל, 50 = >
מבנה; 125 %
מוגדרות על ידי המשתמש, 70 -69
0 6
6 -07
0 3.
4 מפתת ן
5, 219
0 219
0%ט015>6%%00, 563
- 61086י6טריזם, 607, 610
השס זסעויזם, 605, 610
טסט טס עדזס, 10
= 87%6א16], 224
6רססץא<6, 224
סוסא <סוז, 224
00%ח1, 606
ח6ק0, 605-606
6 6+חריזק, 568
0 220
86000%ט50, 140-141
חה3ס, 220
מקומיות, 220 -219
מרכיבים
כותרת, 128-130, 153
נתונים, 128-130
קוד, 128-130
סטנדרטיות, 40.
657 57 ָ,5
657 ,180 ,121 00%
חה זסיז, 219-220, 658
ס+ 6811 (קריאה ל), 40
זח0, 57, 661
צק60, 664
665 ,219-220 ,5
665 ,)5
6 אפום, 497, 667
6פצום, 497, 667
668 ,436 ,8
חסרפיז/ 05, 579, 668
669 ,168 ,59
%חטס)שחם, 424, 428, 670
ז%פשחם, 424, 428, 670
671 ,465-466 ,456-460 ,5+
חוס=, 456-460, 465-466, 671
סקאם, 672
חקא 521-522, 673
673 ,490 5%
673 ,516-518 ,486 68
חסיז563], 522, 677
*סן66%8%00, 366, 679
*ס[66%60, 366, 680
סחהּאזסעריזק+66, 399, 681
צח-00%5, 425, 428, 438, 681
683 ,342 ,336 ,0+ 6
זסן00א66%%8, 366, 685
685 ,336 ,6
א%אא003, 337, 686
,א00%3, 337, 686
687 ,336 ,0 6
688 ,3655 ,,6
[6א06%01, 343-344, 688
א66%, 338, 690
690 ,338 66%
םת כהּיזס, 691
גופס החסבּיזס, 41/ 340, 410, 692
692 57 3
693 ,387-388 ,342 6
זסערז0ו5%811!56ח1, 342,
1 695
%חס"ז5%81156ח1, 342, 11/ 409,
5
%ח], 696
,697 ,500 474-477 1006501
1
6 )א, 288, 697
ח%ח6.!, 56, 698
ח], 699
699 ,56 ,]0-
ךרע וה3, 197, 700
6, 56, 703
%, 169, 704
6 56, 704
%חטס6)וחהּיזה, 266, 707
זלפו3יז8ק, 266, 707
וּק, 708
708 ,5%
709 ,56 60
ז%, 56, 188-189, 709
והסח3ק, 711
ץצ68006, 273, 712
זסשר00107 601507 342, 405,
8, 7148
601507001+07%א, 342, 405,
8, 7148
סחטסח, 57 107 717
,566%50+ 459-467, 606, 718
ח566%501, 459-467, 606, 719
9 169, 719
חופ, 219, 732
+51260, 56 732 |
5% 169, 733
זפ 69, 733
%זף5, 69, 734
609 1699, 734
טפ 56 735
קפ 56 735
76100%+א6, 400-402, 738
ה06ו%<6ז, 401, 739
סחט"זז, 56, 108, 739
6 740
אסיזסחא, 319-320, 741
6זסחאו, 319-320, 741
סיוס בנקודה פסיק, 128
תצורה, 128
פועל ההשמה, (ראה ראה נקודתיים)
פועלים, 105-122
בולאנייס, 112-115, 122
סאג, 112
75 112
לוו
מפתת 785
זסא, 112, 119
הערכה מקוצרת, 112-115
משפט, 115
בינריים, 106.
חשבוניים, 107-110, 122
107 ,*
107 ,+
107 .--
107 ,/
107-108 00
צזנם, 107-108
יחסיים, 115-119, 122
116 ,>
182 ,116 ,=
116 ,>=
116 ,<=
116 ,<
<>, 116
כתובת, 121-122
8, 121, 180, 638
לוגיים, 112-113, 122
סאה, 113, 389
389 13
א 113
דסא, 113
מערכת, 118-120, 122
סקירה, 105-108
קבוצות, 118-120, 122
119 ,>
119 ,=
119 ,>=
119 ,<=
119 ,<
182 ,119 ,><
אז, 119
%+וח5, 110-112, 122
110-112
לח5, 110-112
6 מפתת
איחוד, 119-120
" הפרש 119-120 "
חיתוך, 119-120
מבדקי הכללה, 119
קדימויות, 105-108, 122
של סיביות, 112-113, 122
סאה, 114
8 114
א 114
דסא, 114-118
שרשור, 121-122
+, 121 :
פלט וידאו ישיר, מניעה, 303
פסיק (,) להפרדה בין מזהים ופרמטרים
, 7
= פסק
אות, 641
ביטול, 632-634
החלפה, 627-630
התקנה, 630-633
מוגדר מראש
מוגדר מראש 0671-60, 647, 652
מוגדר מראש 68%ה1-8זל6, 647, 652
מוגדר מראש ח5066 טחוזס, 652,647
קריאה ל, 626-627
שימוש על ידי 18%, 627-628
פסקה
גבול, 166
הגדרה, 166
פסקל
ארגון התוכנית, 50-55
בלוק, 50, 69-71
כותרת, 51-52, 69, 72
מרכיבים, 51, 72
נתונים, 51, 53-54, 72
קוד, 51-54, 72
תצורה כללית, 52
פעולים (05א4ה005), 105-122.
ספירה, 106 >
סקירה, 106-107
פעמון, 44
פקודות 005
505,800
- 1 0
אפסאווס, 438
20. 438. 471 0
הזם, 19, 36, 184, 278-281, 285,
7, 406, 438, 517
9 10
286 0
289
ד הס 16, 438
חדהס, 15, 541
ד 421
ד50, 438
שפצך, 468
פקודות טורבו פסקל
חס8%ש 2006 (7]-0671), 244, 257
580% [081 (3]-[60%), 252-253
5חדסק )068 47[ ז0163, 258-259
חססהש 061666, 257
(%ז5708) הַהדקק3פ ע3וספום, 255
חס%הש 257,016
255 ,259 ,)007[--4( 6
סחר], 254
*זספמטס ס6> 60 (4*), 259, 256
(חס) פחרףט0800 "6600ח1, 254
5% והה"ףסזס (2:-[067), 259
צהוקפום 0910657, 256 -
₪5 ו[ שטסחסא, 257-259
חטא (9:-0071), 259
50%)/ חטח (5:-6ו11), 337
06070 6חסו3 6ה5%3 (++0), 255
6%ש0 5660 (18), 260 |
%חרסק068% 6רפַפַָסד (8]-[667), 258
סלחו 6ס8יד (7]), 260 >
ה66ס 0567 (5:-116), 260 >
- ₪768/0010% %א6 שס1/, 258
פרוטוקול המודם, 892 .
פרוצדורות. 0
דוגמה, 127-129 .
הגדרה, 126 0 0
חיצוניות לטעינת מנהלים וגופים
בתוכניות, 404-405, 407
טיפוסים, 158
דוגמאות, 159-162
כחלק מפסקל, 51
כלליות, 218
לעומת תוכניות, 129
מבנה, 124-129
מרכיבים הוראות, 126-127
מוגדרות על ידי המשתמש
| זחקע551000, 611
סש 5510" 10
ח0ד8%ש4606567חה08, 493
ח05066חז0168, 320
0105610008 325, 324
442
= פחרלפעְהּוספום, 578
רהוט סס, 154
שוס>רטוסס, 154
5 הק סק, 154
פה ()סם, 154
6008804970 עדזם, 610
8 סדטוףם, 3
ה35650766, 559
| ח1150"60ץ, 324 7
]יז )אסוד], 589
6%++טהפטר], 290
הסו07/8% 11306065 493
= 66100%שס), 136-137
= %008780%6%א6א, 567
6 ס0+א6א, 287 =
אס0חוח0ק0, 326, 324
מפתח 787
0% ש0, 542-543.
0181000058 81008 ₪6, 100
ץספט0חהץט%+0א, 559
5 111 |
- 586110, 127-129
0, 631-632; 640
000% 59%)/10805, 1325
%5חפשסח5, 111
עצלוטד+5005%80%0, 172
9דל05ח5, 578 =
6חר זשסח5, 643, 645
ספַחרז5%, 758
ע6%א85%70%%], 652
165%085500, 159
6 303-304
ססקן08וקצז, 186
1668 137-139.
פרוצדורות מרכיבים 125-128 * =
כותרת, 125-128, 153 =
פרוצדורות סטנדרטיות,.40, 69
0חסססה, 451-452; 467, 473-475,
4, 589, 658, 605
ס] 658
חף1553, 303, 451, 476, 521,
5 600 659
659 ,604 ,303 ,45510007%
זהם, 2 5 9 9 372
= 374, 659
0 342, 369, 372, 265, 660
6 481-483, 489, 660
6וואססום, 481-484, :661,494
ז001, :500-502, 522, 661
6סזוס, 357, 381-384, 662 /
6, 360-361, 403, 662
0% 01687/10,/ 342 360-361 662-
= 6פסו0, 453, 607 663 >
7ק3ז010500, 339-342, 663
וסשזוס, 317, 663
8 מפתת
זספזוס, 128, 315-317, 321, 558ו
6
664 ,6
צֶו6ם, 420, 666
666 66
שחר |061, 317, 666
חק%03+26%60, 335, 342, 667
667 ,197 ,196 ,176-179 ,,%6
- צֶוסקְשבּיזס, 342, 376-378, 669
6פפוורם, 382-384, 670
671 512-514 ,6
672 ,438 ,434-436 0
%ם, 138-142, 672
ספפרוושווו], 382-385, 674
עוססוור], 342, 369, 372, 376-378
5
5%זר-0חר], 503, 506, 508
1 513 516, 675
%+חו], 503, 506, 508, 510-511
3, 516. 676 >
וור]0ססר], 342, 372-373, 676
חפטר], 473-474, 607, 676
,388 ,196-197 ,178-182 ,]6067
7
+ו[ס5?, 523, 678
678 ,386 ,0+ 5
סו+66%5060%08, 379, 679
679 ,278 , 0%
680 ,578 ,413-4144 ,6
680 ,3664 ,,%6
+זר0+66%, 499-500, 681
זל 7ל60, 519, 682
ח66%5]11108%%07, 371, 682
683 ,370-371 ,661156 9
6חרז ]60, 508, 511-512, 683
684 ,388-389 ,6
684 ,633 ,630 ,625 6
5 חר |66%, 353, 685
ח669%6 178-183, 188, 165,
3 388, 686
6 06%0, 336, 687
6, 3664 687 |
64565 06%7, 398, 688
6ווז0%, 413-414, 418-419, 689
צ+רז606%/6, 689
5 /66, 360, 690
+אס60%, 128, 315, 321, 558, 691
5 ז, 403, 691
ח66%06-]ח63, 411-412
וח זס, 411-412
%וח, 141, 429-430, 432-433, 436
1, 692
סססו/חסוה, 309, 693
חק 166ח1, 211, 35/ 332, 338-342,
3, 404-405, 408,
4, 6948
0%פח], 694
6חר |פח], 317, 695
ז%ח1, 552-554, 557, 578, 581-582
2 626-627,
8, 644, 696
0ק66א, 7,638-640 69
6חר], 345-346, 698
[6חסחר], 347, 698
סזסחר |, 346-348, 699
ספטו/שס.], 309, 700
אז3!, 177-179, 197, 700
"זרסא!, 500-501, 701
6צסוא, 701
[6=פשסוו, 347, 701
סז1םטסא, 346-347, 702
5, 5535, 571, 577-578, 582
2 707
שסא, 174-178, 181-183, 188, 196,
3 702
סססר/ו-וסא, 309, 703
0חטס5סו, 420, 703 |
6% דטט0, 392, 396, 410, 704 =
אא זלט0, 359, 392, 410, 705
+03 וט0, 545, 705
+ וש0, 542, 705
%וח1יוש0, 540-544 706
05 542, 543, 706 0
0 , 542, 543-545, 706/
ו סק 508, 4510 512, 707 =
6, 342, 369, 372, 708,386
6 דט 388-389, 710 |
וסאוס>טק, 343-344, 710
6<רוחססחהה, 711 .
זז 269-275, 456, 458, 478
6 600, 607, 712
חו680, 269-273, 454-456, 458,.
8, 607.,595, 713
6, 359, 374, 713 2 0
6, 177-179, 197, 15 :
6ו חא 512 515 715 |
6% 8/ 397, 400, 418 427-429,
0, 4944, 502, 595, 606, 715
6 0 716
6, 451-452, 467, 473-476,
5, 490, 494, 502,
| 595-596, 605, 716 =
ץוח 501, 716
זסיויוחטח, 433-435, 717
560%0%, 386, 717
6% 494 718 10
6 2, 719.:
%6,, כ342, 366-368, 720
0ו56%45060%08%, 9 720
זסן60א568, 366, 721
א 721
זסו0ס56%0, 366, 376-377, 721
6, 413-444, 415, 417, 2 י
12 1 9 ,50%%%
מפתת 9
חז%6+108ו11-+56, 342, 723,370-372
| 6וע50%"11156, 393, 368-370, 77,372
| 74
6רד%+59, 508, 510-512, 725
0-6 2 3, 725
5-6 340 -339, 2 5
0+ 630, 633, 726
ו 2, 343, 352, 354 .
726
6 342 367, 727 |
6 367-368 727 =
8+ 56%1, 472-473 482, 600/1,
8 0/0
650551 56%1, 342, 396, 728 >
8, 342, 393, 410, 729
6 50% 413-414, 417, 729
06 56%)(567, 399-400, 3
עָ+וז)56%, 730
%ס0ד)56%5, 356-359, 381, 31
6 2, 731
6-ו 4, 732
6 420, 733
5%, 734
5980/60%0%5, 435, 735
6טס%88000א6ד, 306-308, 736
זסו%00א16, 306-308, 737 >
606 312, 738
6ְפאטז, 494, 739
חר 0 הכח), 508, 512, 740
ו3, 425, 741 -
שססחו/, 320-321, 558, 742
6ז, 128, 301-302, 391, 467,
9, 473, 476, 478, 494,
0, 606, 742 7 |
הוספוא, 69, 242, 301-302 321 |
| 1, 467, 469, 473, 476
8, 595 606 782
פרוצדורות סיוס בנקודה פסיק, 16
790 מפתת
פרוצדורות תצורה, 125-128 :
פרמטר
העברה אוגרים כלליים, 9"
העברה מתרוזות כמשתנים, 756-758
העברה, 133-139, 158, 430, 33/ 432
ללא הגדרת טיפוס
5+חדסקעסרט, 376
מוגדר על ידי המשתמש
סמ זסחוּסק, 378
ממשי, 133
משתנה, 134-138
6506 ד, 158
אוגרים, 552-554
ללא הגדרת טיפוס, 133, 134/35
טיום, 436-437
ערך, 134-135, 186
פורמלי, 133
שורת פקודות, 265-267, 434
צּ
צבעים, 364
בחירה, 306-307
רקע, 366
שרטוט, 366
הצגת המערכת שבחומרה, 308
זיהוי, 364-365
קבועים מוגדרים מראש, 343
שינוי
ב-04/, 367-368
במתאם 8514-18%, 367-368
טבלת צבעים אתחת, 366
כל הטבלה, 366-367
עוצמה, 309-310
. שימוש ב-307-308
צג מונוכרוסם תצוגת צבע, 311-312
צלילים יצירה, 419-420
צפצוף, 419-422
קבועים, 42, 72
ח606וה, 519
צ1ח6300א, 519
גרפיקה
+וססח, 389, 391
צטםיזס, 389, 391
לטסיוסא, 389, 391
%טק6סא, 389, 391
ץק 0סס, 389, 391
כלליים, 218-219
מוגדרים מראש פשותס"ה, 519
| מקומיים, 219
עם הגדרת טיפוס, 59, 56
תצורת קובץ, 598
קבצים
603 ,408-410 ,403-405 ,328 ,1
חו!0., 403-406, 403-409
207 ,6
448 ,409 ,214 ,.%=
759 2
530 ,.0
759 ,448 ,65
מך., 229-230
טסד., 214, 217, 219, 227-230,
0, 613
5 תמיכה בצג ובמקלדת, 20,
4
| 479 1
;אדא תיחול, 15, 421-422
ד .1 דהם, 431-432
ד .2 דהם, 433
18-20 8 ,6
0.5 להפיכת קובץ בינרי
לקובץ 080., 8, 405-407
60%.סאגויוי!00, 421, 437-439, 592
5 מנהל התקנים ופרמטרים
596 ,286 ,1
דהס. 0 דהם, 468, 470
6 9 5
6 תדפיס קטעי ממשק, 9
דאד.1= ז, 478-480
קצד.1= וזז, 478-481
דפד. דגס 1, 596
דוק ח6, 9, 211, 408
. לק 8
6 ווק וש 9, 11-12
58 225
(0מד.6%55, 229, 231-234
דטסא1, 595
=אם. |1ד5א1, 8, 11-18
.אא 8 |
| 9
5.שווהאסא, 28
דהס.צתפחהאטא, 454, 459
דטפדט0, 595
דוס דאס55ק, 493 =
דהם. ו וסקץק, 512 >
דח ופ דחס0ס, 405-406
א0ס. זאזחק, 571
א60.=וופ=ה להצגת פופ 6א, 5 ה
6 9
60 ופחד שגרת שירות לסיוע,
תושבת בזיכרון, 8
.שק ופד תיעוד לסיוע, 9
=אם. דפאזז, התאמה, 8, 15
.זא זאד להמרת אופציות 4.0
ל-5.0, 8 |
א00068.00 חותמת תאריך ושעה, 8: '
= .ד מהדר שורת ההוראות, 7-8,
7, 18 .
ד להמרת אופציות פד
ל-06. 8
פאש.מפשסאטפד מנהל *חידות, 8, 29
65 פפונקציות טריגונומטריות
2020 :
791 חתפמ
5% מהדר מוכלל, 7-8, 15-17
747 ,450 ,241 ,0-
ק וה.סמחטד סיוע מקוון, 8, 17-19
ומד.סהטָד, ספריית יחידות, 8, 15י
6, 211, 227-229, / -235
3 קוב היחידה, 9 ".
8% התאמה לטורבו 3.0, 9
= %א60.א6קאש פענוח קבצי ארכיב 19,8
אק להמרות 9, 12
5-ו 524
אצווה, 430-432
ארכיב, 19
בינריים, 405-407, 478, 592'
גיבוי, 32 :
גישה אקראית, 489
הגדרה, 450
טבלת שגרות, 495
טקסט, 478:
אזור אחסון, 472-473
גודל רשומה; 516
הכרזה, 450
השוואה לטיפוסים אחרים, ב
כסדרתיים, 490
מוגדרים מראש, 595 .
מנהלי התקנים, 601-616
משתנים, 600-603 .>
סגירה, 452-453 /-
עם | הגדרת טיפוט | ובלעדיה,
9, 481-4893 -
פתיחה, 451-452 > |
| קריאה מ, 453-456 = .
- תצורת פלט, 467-470.
יעד, 405-407
לוגיים, 447-449
לכתיבה בלבד, 610-611
ללא הגדרת טיפוס, 449-450
הבדלים בין קבצי טקסט, 483 -481
הוספה וצמצום, 494
2 מפתת
הכרזה ופתיחה, 482
רשומות, 490, 516
לקריאה בלבד, 505, 519, 610-611
מערכת, 505
נסתרים, 505
סדרתיים, 489-490
עם הגדרת טיפוט, 449-450
הבדלים בין קבצי טקסט, 477-478
הוספה וצמצום, 494
כתיבה ל, 478-481
רשומות, 490
קריאה מ, 478
פיזיים, 447-449
איתור, 451
קלט ופלט סטנדרטי, 595
קריאת ארכיב, 19
תוכן ה-08, 502-504, 508
תכונות, 510
קדימויות הגדרה, 154
קוד חיפוש 268
מיפוי מחדש, 285-287
קוד מכונה, 40
קטע
לוג'י, 167, 172
מחסנית, 169, 196
נתונים, 168, 195-196
ערימה, 196
פיי, 167, 172
קוד, 168, 194-195
שימושים, 167-168
קטעיסם במסילה, 471.
קידומת קטע התוכנית (55ס), 194, 267
3
גישה ל, 425-426
העתקת כתובת מ, 438-439
מרכיבים, 424, 637 =
קיצור הערכה בולאנית, 745
קישור
לתוכנית או יחידה, 759
תוכניות שפת אסף לטורבו פסקל, 582
קלטת, שירותי 8105 ל, 565 |
קליד "חס" ,
2, לשמירה, 29
5-%ו4 לבתירת מסך 056% 28, 30
6-9 לבתירת האופציה אטח, 30י
27
9-+ו4 לבחירת האופציה 0116ח34,60
א-%ו4 ליציאה מהמהדר, 23-24, 31
הגדרה, 652-653 |
ל-58ד פעיל, 641
קליד %וג
במקשת ספרתית ליצירת תווי ז44,5061
כ-%+וח5, 291-295
קליד 0%ס.]6305, 290
קליד [ז0% כ-1+6ח5, 290-295
קליד %6%ח= לסיום שורת קלט ויצירת
סימן סוף שורה, 271
קליד 550806
ביטול, 275-278
למחיקת שורה, 271
קליד ח650768חרזס, 627, 634
קליד %+וח5, 289-295
קלידי היסט (66ס.וו1סיז50 ,06% וחטא
,00% ]6805), 290-295
קלידי פונקציה
1ח, 10
2, 29
5 23
6], 20
0 חזרה לתפריט הראשי 24, 27, 30
.קריאה למחסנית, 253
קריאה לפונקציה, (ראה פונקציה)
קריאה לפרוצדורה (ראה פרוצדורה)
קריאות רחוקות בריבוד, 536-537
ךר
רבדים, 529-546
. דוגמאות תכנות, 531-539
הגדרה, 530
הוראות לשימוש ביחידות, 3 0
מנהל, 542
שגרות, 542-543
שינוייס בתוכנית.הראשית, 539-541
רצף פיבונציי, 146-149 |
רשומה .
אקראית, 490-493
אוגריס, 549, 625-627
גודל, 459, 599-601
החזרת המספר, 516
גישה ל, 489-490 >
מוגדרת מראש
| 6 5 00סו, 385-386
11156%%3005=, 371
6 6 5רה, 364
0 , 502-503
66 סק שסו/, 360
נתונים, 602 |
0 597-598
רשימות מקושרות,183-186
רשימת ציוד היקפי, 561-564
רשת תוכנית יצירה, 349-353
ש
שגיאות |
בדיקה, 474-477
הודעות, 42-43
הידור, 27-28
הידור, 94
מזהה כפול, 42-43
סוגי שגיאות הידור ( תחביר ומינות)
| 200
סוגי שגיאות הרצה, 240
סוגי שגיאות לוגיות, 240-241
! מפתת | 3
טוגים, 1
קודים, יז 1 -30
תנאים, 42-43
שגרות
הכרזה עתידית של כותרת, 19 -153 .
השפעה, 131-133
יציאה, 138-141 .
כותרת, 153 =
מחזוריות, 141-153
מקוננות, 129-131
רקורסיה הדדית, 153
תחום, 130
| שדה הזצמן
גישה ל, 506-509
שינוי, 510-511
שורות
פיקות, 316-317
פרוצדורות דגמים,349-355.
פרוצדורות יחסיות, 347-350.
פרוצדורות ישרות, 345
פרוצדורות, 344 |
קובץ טקסט, 449-450
קלט, 271-272 '
שורש
דמיוני, 140
ריבועי, 140
שורת הפקודות
גישה ל-05ס, 428-429
מהדר ראה 5א₪/ 6פד
פרמטרים קריאה, 265-266
פרמטרים, 265-267, 434
תוכן ב-6פס, 267
| שיטת אויקלידס לחישוב המחלק המשותף
הגדול ביותר, 145
שלג
ביטול, 587-590
מניעה, 304
שם כרך של דיסק, 505
4 מפתת
שמות ספריות, 504
שמות קבצים >
הגדרה מלאה, 521
יצירה, 522-523 .
שמורים, 604
= תצורת 50117, 598
שעון המערכת
גישה ל, 413-414
שליפה, 414
זמן אמת, פיקוח על, 568
חומרה פנימית, 413
תוכנית 55ז, 641-647
שפת [ו50פ00, 529 . ו
שפת אסף בתוכניות טורבו פסקל
בפרוצדורה 6חווח1, 580-581
יתרון המהירות, 582
קישור לתוכניות, 582
שפת מחשב, 39-40
שפת מכונה, סטנדרטים של פונקציות '
ופרוצדורות, 40-41
שירותי פסק, 635
621 5
6215
הגדרה מחדש, 635
העברת פרמטרים, 631
חומרה, 632
מותקנים בזיכרון, 639
תוכנה, 622, 643
תּ
תאריך המערכת
גישה ל, 413-414
שינוי, 415-417
שליפה, 414
תו פפּז, 466
תו בקרה של מחרוזת, 45
תוויות, 42, 55, 66, 78 =
תווים, 41, 44, 72
בלתי מוגדרים, 48
הבהוב, 307
מהבהבים, 307
שאינס ניתנים להדפסה
0 הזנת שורה, 45
0 חהתזר גררה, 45
12 קפיצת דף, 44-45
3 התזר גררה, 45
7 פעמון, 44
תוכנית
הפעלה אינטראקטיבית, 232-235
הפעלה משורת הפקודות, 232-235
מסך עזרה, 231
משנה, פרוצדורות ופונקציות, 11
ניהול ספריית =אם.חפטסואטקד,
220055
תדפיס 0אז6א1!, 271
תדפיס [א1:א1!, 271-272
תדפיס 2א1שא1 , 272-273
פסקל
בדיקת מרכיבים, 124-125
גופנים, 403-409
הידור גרפיקה, 212-213
הפעלה
ישירות מ-005, 33-36
מהתפריט הראשי, 27
מתוכנית אחרת, 434-435
הקשה ועריכה, 27-28
טעינה, 29-30
יישוםי
תצורת =אם., 172
תצורת 60%., 172
מבנה, 39-72
מובנית, 123, 130-133,
מנהלי התקנים שילוב, 403-409
מעקב, 245-247, 260
סיום / 7
מקובץ אצווה, 430-432
על ידי 6וג₪, 432
על ידי יצירת שגיאת :הצרה,
433-434
פרמטר, 455-437
פרוצדורות יציאה סיוס תוכניתי.
= ן[439-44 0 /
פרוצדורות יציאה 437-441, 443-445 .
שורת פקודות גישה, 428-429
שלבים ביצירה, 25-36
שם, 27-30, 42-43
שמירה, 27-30
תאימות כלפי מטה, 212-213
תוכנית תדפיט
0, 188
1, 189
852, 190 =
8, 191
3, 193
4, 193
אס ]ד0, 133-134
זטססה, 288 |
קטססא, 216
2טססג, 210-211
ואה ג, 646-647
זזטדף ג, 407-408
"דגוזו, 363 .
לסדהווזוג, 363-363
5 33803381 >
2ודזא, 308
142
1- 1ְ24
| 110% 211-212
2, 338 >
5, 375
וק דזה, 389-390
מפתת 12
117 ,1
> 118 ,2
> 384-385 ,6
/ 395,012
8 276-277 <>
ח, 361 01
=אז|0, 266
267 2
קז 0, 358-359 =
%, 642-643
0), 644-6458
זטסדח0, 209 |
1 זחס, 302
303 2
קפוקץס, 611-613 >.
1=דאס, 414-415
2זאם, 416
3דגס, 417
4דאפ, 418-419
0 615
5 | /שפ, 649-650
1, 593-594 .
2, 594 >
וחזם, 499 .
506
שזם, 500
501 ,3
502-503 ,4
504 ,5
6, 505-509
74ז, 517-518
516 01078
517 ,6
51 8
513 ,9
> 513-514 ,
515 ,0
519-520 ,1
6 מפתת | | 2
1 |158ס, 633-634
51זס, 497-498
52 498
אז |שוןגאס, 343-344 =
אם/זחם, 607-610
קו₪ן!()ם, 468-470, 478, 481, 486-489
15
דפץחסאם, 613-614
אטאם, 93-94
1א=, 427-428
הו1עאם, 424
הנא 425
1 435
2 435
= 03:%=, 436-837
4 437
05 438
דדזאם, 440
2דא6, 441-442
3 443-444
4א, 444
- 08685א=, 154-157
דוס /ם, 393-394
ד ], 143
02 144-145
1א], 521-522
2], 523
3 523-524
1 148
2 148
0 598, 596
1 596, 599
3, 601-602
| סש זז, 478-479
01 1], 479-480
85, 25/6, 29-36, 41, 49
פווחס, 469-470
1 161-162
186 ,1
- 147 2
315-316 ,3
335 6-0
וק קה, 342
2, 336-337, 365
0 350-351
2, 352-353
3, 372-373
וד |גח, 430-431
2 |ו, 432-433
1תסאה, 151, 252-253
12, 152-153
5 225-226
5א1, 554, 581
.0ךדא1, 498-499
8 זא 560
6, 560-561
4א, 562-563
8, 566
2, 565 581
6, 566-567
7 567-568
9 21זאן, 578
24 21זא1, 578-579
0 21זא1, 579
6 21זאן, 579-580
1 זאן, 309-310
2 זא 309-311
זא 627
1זאן, 625-626, 631
דאם דדפטט, 397-398
1א, 273-274
14צם)א, 289-290
דםפצם)א, 293-294
ד זפצם)א, 294-295
2 | ., 66
56
דצ 53-53
דאסשא1 1 462-463
סאנשא ,271
רדא0שא1 | 464-465
2א0:א1 | 465-466
=מצדא1 |, 355-356
סא סאגו 491-493.
1וזדגוא, 109-110
,169-171
2ו ו 202
0051א, 312-314
ה1פססו, 314 - =
2, 312-313
1א, 118
שקץזאופא, 473 >
2פקצדוושא, 476-477
1 587-588
05₪02א, 589-590
531-532
02 535
3דפווטס, 541
זט דשפקשס, 544
0, 533-535
1, 534-535
05081 /0, 538-539, 541
0/05082, 538-539, 541
וו ס, 186-187
1, 274-275
זט 70-71
1 דאס 175-176
דא 0ט, 176-177
3 דא סק, 178-179
4 דא 0, 180-181
דא 0ק, 178, 184
184-186 ,178 ,6
7 דא 0, 197-199 7
צ|0, 376-378
סט 587
797 חתפמ
דטסדא1חס, 210
1, 159-161
1פס, 426
דסאטזדס, 121
סא ס, 483-485 -
1 , 269-271
2, 269-271
דפס =ח, 454-456
1 דסח 456-457
2, 458-459
3, 460-461
ך=מססט, 286 |
2םא, 287
287 3
131 001
132 2
298-300 ,1
320 ,300
301 8
321-323 ,3
631-632 01
> 639-640 ,2
= 640-641 ,3
485-486 =
120-121 2
347-349 5
111-112 52
= ו8ו10ו5, 279, 281-282, 285 >
ץ:א50, 291-292 --
5, 649-649
1 א5, 651-652
2, 420-421
1חדפ, 88-89
דזו5, 339-340.
58 746-747
1 ד 5, 750-751
2 ד5, 751
ד5, 754
8 מפתת
756 5
ו דפ, 756-757
2 |אד, 346-347
3 וא ד, 381-382
5 א ד, 345 |
16 דא6ד, 401-402
ז, 399-401
=אם. דפאזז, 257
.סופד 230-231
סוחס זו 467-468
ספקצזא, 137-139
210-211 ,2
216-218
אוז, 226-227
| 1-ה55ט, 370-371
223-2264 ,5
135-138 ,1
א /, 586-587
136-137 ,/ 1
208 10
את ז/, 357
387
[שפטווו, 317-318
319-320, 2
12וו, 324-325
628 ,1
630 ,2
תוכנית תושבת, 637-653
גישה לנתונים, 649-650
דוגמה, 641-648 >
גישה לקוצב הזמן, 644-645
הוספת שעון מעורר, 645-647
פסק קוצב הזמן, 642
שגרות 8105, 643 =
הפעלה, 647-651 >
מבוא, 673
מסחרית, 652
= סבילה, 641, 647
פטק 927, 570
פעילה, 641, 647
שימוש, 638
תחוםס
מזהה, 130
שגרה, 130
תיחול מחדש,. 569
תכונות
בית, 304-307
מבנה, 504-505
ערכי סיביות 305-306
שינוי 519-520 .
תצורות, 308-309
תצוגה, 298
תמיכה בהרצה
ביחידות, 540
= טעינה, 541
תנאים, 432
תפריטים |
ה8%0/ 68%ז, 25, 244-245, 256-0258
06 24
580% [081/ בָט060, 752
%ו, 24-25
סור], 23-24
חוה3), 23
פחסו00%, 25
ז1[6כ00/ פהסולק0, 743
5ךל0160 פחהסול00
5 0ס+60י01/ 01006ח1/ , 758
חט, 24, 259-260, 255
יצירה על ידי 6אם. | | דפאז |
אופציות התקנה בדיסק קשית, 16
אופציות התקנה בתקליטוןי 13
אופציות תצורה, 12-13, 16
שגרת עזר להתקנה, 3 16
צורות בחירה, 23-24
תצורת וידאו שירות 8105, 562
תצורת מערכת, 12-14 19-21
תצפית, 244
תקליטון
דו-צדדי, 470-471
הפעלת טורבו פסקל, 21-22
התקנת טורבו פסקל בעזרת
=אם. | 4דפא1, 16-17
התקנת טורבו פסקל ללא
=אם. | |4דפא1, 18-19
צפיפות כפולה, 470-471
שס הכרן, 505
תקליטוני טורבו פסקל
3 000/ 8061/0605 3, 8, 13, 19
0116 0))/ 871 5ח1, 8 10-13, 15-16
8
5ררר6!()/ סר6, 8, 17-18
גיבוי, 9-10
תקתוק שעון (פסק %16), 641, 652
מפתת 99
2
טורבו פסקל
המדרירך השלם
כולל גירסה 5.5
שפר את מיומנותך בעזרת המדריך השלם למשתמש בטורבו פסקל שבהוצאת "אופוס".
הספר הוא שילוב של ספר לימוד המסביר, צעד אחר צעד, כיצד להשתמש בטורבו
פסקל וספר עזר המתאר את המהדורות השונות של טורבו פסקל עד גירסה 5.5.
הספר כולל עשרות דוגמאות של תוכניות שימושיות שיסייעו לתוכניתן המתחיל
להשתלב בסביבת טורבו פסקל, בספר - המדריך השלם למשתמש בטורבו פסקל-תמצא
רשימה מלאה של הפונקציות והפרוצדורות של טורבו פסקל.
המידע המקיף שבספר יסייע לך ליצור במהירות תוכניות מורכבות בטורבו פסקל.
בעזרת הספר תלמד:
- לעצב תוכניות טורבו פסקל
| לפקח על פעולות התכנות
2 ו
- לטפל בקבצים ובספריות הספרים של אופוס מפתחים את
מיומנותך ולא רק את ידיעותיך.
- לעבוד בתצורות טקסט וגרפיקה המערכת כוללת אנשים שאיכפת
להם - מומחי מחשבים, מחנכים
₪ לנצל את פונקציות 205 וה-8105 ומקצוענים בשטח ההוצאה לאור.
לנפות את תוכניותיך
שי להשתמש בתוכניות תושבות בזיכרון
אופוס הוצאה לאור בע"מ