- שנה: 1983
- מחבר: סטיבן ויקרס רובין בראדביר
- מו"ל: אידאה
- פורמט: ספר
- נמסר ע"י: עזבון מיכאל (מייק) טשסלי
- תגיות: ZX Spectrum תכנות
OCR (הסבר)
5
=
=
כ
|
( 6
₪
6
כשם
5
₪
=
בם
>
2
םה
כ
2%
מדריך תכנות בסיסי
בשפת ה-845!0 המורחבת של סינקלייר
סטיבן ויקרס ורובין בראדביר
=יד=!המי.
הוצאה לאוד
וק 50 וו 50 אק - זו=|-ור ווב=
זז הוססה ץכ 600160 פזס6אס!/ ח6ע6ז5 צט
פוט ,כ.דך.1 מז
,ד 180 .0.8.ק
תרגום: זיכלנסקי אריה
עיצוב עטיפה: רות וון דה גרדה
6 כל הזכויות שמורות לסינקלייר
הוצאה לאור אידאה בע"מ
ת.ד. 180, גבעתיים
נדפס בישראל תשמ"ג/1983
תוכן עניינים
מבוא המחשב והפעלתו הראשונית 7
1: המדריך לתכנות ב-845!6 27
2: מושגי תיכנות בסיסיים 29
3 החלטות 17
4: לולאות 59
5: סברוטינות (תת-שגרות) ב 43
0:6 ד 540-ו הההההההה-ה--ד-. 5
7: בטויים 17
8 מחרוזות 50
9 (פונק 009 כ ב 9
0ו: פונקציות מתמטיות ------ 6-7 0 7
וו: מספרים אקראיים * 2
2: מערכים 5
3: תנאים 8
4: אוסף התוים ו7
5: עוד אודות ד0קא1 ו-דאזאק 77
6: צבעים 3
7: גרפיקה 2
18: תנועה 7
פו: סםםם וסו
20: שמירת תכניות -- על טייפ 5
ו2: המדפסת ווו
2: ציוד הקפי נוסף 3וו
3: קלט ופלט 14
4: הזכרון 6וו
5: משתני המערכת בו
6: השימוש בשפת מכונה 158
נספח 4: אוסף התוים 30ו
נספח 8: דווחים 7ו
נספח 6: תאור תמציתי של ח0ז57660 2% וו
נספח כ: תוכניות-דוגמא 18
נספח 5: מספרים בינאריים והקסדצימליים 17
המחשב והפעלתו הראשונית
מבוא זה נכתב עבור אנשים שאינם יודעים מאומה על מחשבים ועבור אלו שמערכות מחשבים
מוכרות להם אולם הם מעונינים לקרוא חוברת הוראות לפני ההפעלה הראשונית. בהמשך יופיע
המדריך לתכנות ב-84516, על המתחיל לקרוא את הספר אך ורק לאחר שקרא והבין מבוא זה.
בשתפרק את אריזת ה"וחטז60ק5 א2 תמצא:
ו) מבוא ומדריך לתכנית ב-84510.
2) מחשב שבגבו שלושה שקעים קטנים המסומנים א1 26 9, 548 ו-10א שקע טלויזיה ו"מחבר
קצה" (600066007 6086) אליו ניתן לחבר ציוד נוסף. כדי להפעיל את המחשב צריך לחברו לספק הכוח
בלבד.
3) ספק הכוח -- ממיר את מתח רשת החשמל הארצית למתח שה-וטזוסטק5 2% משתמש. אם
תרצה להשתמש במקור אספקת כוח עצמאי משלך עליו לספק /9 זרם ישר בזרם של 1.44 בלתי
מיוצב.
64 חוט אנטנה באורך של כ-2 מטר המחבר את המחשב לטלוזיה.
65 זוג חוטים באורך של כ-75 ס"מ בעלי תקעים של 3.5 מ"מ בכל קצה המחברים את המחשב לרשם
הקול.
תצטרך גם טלויזיה -- ה"ח שק א2 יכול לפעול בלעדיה אבל לא תוכל לראות מה הוא מבצע.
הטלויזיה צריכה להיות בעלת ערוצי .0.14 (רוב הטלויזיות המוכרות בארץ מתאימות למחשב זה)
הדוטו60ק5 2% כשמו כן הוא הוא מיצר אותות צבעוניים שבעזרת מקלט טלויזיה צבעוני יתנו תמונה
צבעונית. אם תשתמש במכשיר טלויזיה שחור לבן, הצבעים יופיע בשחור לבן וששה גוונים שלי
אפור, להוציא את ענין הצבע, מכשיר טלויזיה שחור לבן יתפקד היטב, באותה מידה כמו טלויזיה
צבעונית.
מרכיבי המערכת מתקשרים בצורה הבאה:
זסשצסק
ץוסקטפ
זוחט
ו
ץזוסוזז9!60
0 פחו8ו >
חו 00 צ9 6ווא הַגם צד
1 ם ח
או כ חד מו מ ו חח מ מז מז
₪ שר ₪ טח ו מ מ מח מ תם
₪ ₪ ₪ מ כ פד ה מ מ מא
5 ₪ ציו ו כו מו מז מו מז בם
פוט ו
|8וז0/
באוי
תמונה 1
אם בטלויזיה ישנם שני שקעי אנטנות המסומנים תטט ר"א יש להשתמש בשקע המסומן =1.
הפעל את המחשב והטלויזיה וכוון את הטלויזיה לערוץ 36 בְּ-0149 כאשר המחשב מופעל והטלויזיה
מכוונת תתקבל התמונה הבאה:
0 ח0ז₪6568 זוה!סחו5 1982 (6
תמונה 2
כאשר תשתמש במחשב בודאי תרצה להפחית את עוצמת הקול בטלויזיה עד למינימום.
אם למכשיר הטלויזיה יש כפתורי הזזה לכוונון ובקרה רצופה תוכל להתאימם עד שתקבל את
תמונה 2 על המסך. טלויזיות רבות כיום הינן בעלות לחצנים עבור כל תחנה. בחר לחצן שאיננו
בשימוש וכוון אותו לערוץ 36 פמט.
כדי להשתמש במחשב בארצות בעלות שיטת טלויזיה שונה מזו הנהוגה בארץ דרושה גירסה שונה
של ה"וטזו66ק5 2% שתוכננה במיוחד לאותה שיטה. גירסת המחשב בארץ משתמשת בערוץ "03
בעל 625 שורות ובהקרנה של המסך 50 פעם בשניה ובשיטת איפנון צבע הנקראת .241.
כשתבבה את ה"חו6ק5 2% כל המידע שאוחסן בו-יאבד. אחת הדרכים לשמור מידע זה לשימוש
מאוחר יותר היא ע"י הקלטתו על קסטה של רשם קול. תוכל גם לקנות קסטות שאנשים אחרים
הכינו ולהריץ את התוכניות שלהם;
החוט בעל 2 התקעים בכל קצה משמש לחיבור ה-וחטזזק5 א2 לרשם הקול הביתי הסטנדרטי.
אחרי שהפעלת את המחשב, תרצה בוודאי להשתמש בו וזאת תלמד בהמשך החוברת. אם מחוסר
סבלנות התחלת ללחוץ על המקשים תגלה שפעולה זו מסירה את סימן הודעת זכויות היוצר, לא
תוכל לפגוע במחשב בצורה זו,העז ונסה ללמוד ואם תתקע תוכל תמיד להחזיר את המחשב
לתמונה המקורית ע"י הוצאת התקע המסומן א! 06 9% מהמחשב ולהכניסו בחזרה. השתמש
בשיטה זו כאפשרות האחרונה כי כך אתה מאבד את כל המידע שבמחשב.
אזהרה אל תנסה לחבר את ה-)א4 16% 2% ל"תטוזק5 א2 זה לא יפעל.
2
07-57
שק
1
.
י
->
לוח המקשים
לוח המקשים של הספקטרום דומה למכונת כתיבה סטנדרטית. האותיות והמספרים נמצאים באותם
מקומות אלא שכל מקש יכול'לבצע מספר פעולות. במכונת כתיבה רגילה מופיעות אותיות קטנות
ובשימוש של מקש ה-₪א/ת5 מופיעות אותיות גדולות (1489ק9) לוח המקשים של הספקטרום פועל
באותה שיטה בדיוק.
כדי לעזור לך לדעת באיזה מצב לוח המקשים נמצא, מופיעה אות לבנה על רקע שחור על מסך
הטלויזיה. אות זו נקראת ה"מצביע" (זספזטס) כאשר הספקטרום מופעל הוא מראה את הודעת
זכויות היוצרים על גבי הצג. לחיצה על כל מקש תגרום למלה המודפסת מתחת לאות שבמקש
להופיע. מלה זו נקראת מלת מפתח. מאחר והמחשב מצפה לפקודה שתאמר לו מה לבצע, כל
הפקודות חייבות להתחיל עם מלת מפתח. הספקטרום מאפשר לך להכניס מלת מפתח בלחיצת
מקש אחת בלבד (שלא בדומה לרוב המחשבים האחרים). לדוגמה אם נקיש על ? מיידית לאחר
הפעלת המחשב תופיע על המחשב מלת המפתח דא281. "הסימן" מסומן גם הוא במקש האות 2.
כדי לקבלו עליך ללחוץ על שני מקשים בבת אחת. לחץ בנגיעה על מקש ה-511197 51801 שנמצא
בסמוך לפנה הימנית תחתונה של לוח המקשים ובו זמנית לחץ על מקש הדק.
₪ דאואק
תמונה 3
המצביע עכשיו משתנה ל-.1 והמחשב מצפה לאות (ז6ו16) הדפס את האותיות "ס!|116", אם נמצא
טקסט אחר על המסך כבה את המחשב (ע"י הוצאת תקע ה-/9) והתחל מחדש. השתמש במקש
ה-51191 625 כדי לקבל את האות הגדולה 1, באופן כללי כל דבר המסומן לבן על המקש מצריך
שימוש ב-511181 01125 וכל דבר הכתוב באדום על גבי המקשים מצריך שימוש ב-54151 .511801
פקודה המתחילה בהוראה 1א281 מורה למחשב לרשום על המסך את האותיות המטסומנות
בגרשיים (מרכאות כפולות), כדי לגרום למחשב לבצע את ההוראה יש ללחוץ על מקש תפדאט,
כשפעולות אלה בוצעו הצג צריך להראות את המלה: 38700
ומספר אותיות נוספות. סימן שאלה מהבהב מסמל הודעת-שגיאה ובמקרה שהוא מופיע התחל
מחדש וחזור על התרגיל. ההודעה בתחתית המסך היא באמת הודעת המחשב כי ההוראה היא
נכונה ('0%') ההודעה חשובה כשמריצים תוכניות אך ניתן להתעלם ממנה כרגע.
שים לב לדבר נוסף: האות 0 (או) והמספר ₪ (אפס) מיוצגים ע"י צורה שונה וחשוב לזכור זאת. דרך
המספר שתמיד עובר קו, והמחשב תמיד יתיחס לאות 0 כאות, לכן יש לשים לב ולא ללחוץ על
המקש הלא נכת. באופן דומה המספר 1 והאות 1 קטנה ( |) שונים. שלא בדומה למספר מכונות
כתיבה אין אפשרות לשנות סימן זה.
מכיוון שחשוב להבין את מצבי לוח המקשים יהיה זה שימושי להטביר מה קורה פעם נוספת.
הסימן המהבהב 1 נקרא -- המצביע והוא מראה היכן על הטלויזיה ישים המחשב את הפריט הבא
שתדפיס. אם תכבה ותדליק את המחשב סימן זכויות היוצרים ישתנה למצביע מסוג א.
האות שבתוך המצביע מראה איך יתיחס המחשב לפריט הבא שתדפיס, בתחילת שורה
יהיה זה % מהבהב שפרושו 6זסויע%6 -- מלת מפתח. סימן ה-6 והודעות אחרות נחשבות גם הן לא
המהבהב.
מלת מפתח היא אחת ממלות המפתח המיוחדות של המחשב המופיעות בתחילת כל פקודה
ומבהירות למחשב מה עליו לבצע. מכיוון שהמחשב מצפה למילת מפתח בתחילת השורה כאשר
תלחץ על מקש ה-2 המחשב יחליט לא להדפיס 2 אלא 1א81 והוא מודיע לך ע"י ה-א שזאת תהיה
הפעולה שהוא יבצע. כאשר מתקבלת מלת מפתח אחת לא תתקבל אחרת ולכן כל מה שתדפיט
עכשיו יתקבל כאותיות. כדי להודיע לך על כך המחשב משנה את המצביע ל-] שפרושו אות
('60161.'),
סוגים שונים אלה נקראים לרוב "מצבים" ולהבא נדבר על מצב מלות המפתח א או מצב האותיות ].
אם תרצה להדפיס מספר גדול של אותיות מבלי ללחוץ באופן קבוע על ה-5111:1 6425 תוכל לגרום
לכל האותיות להופיע גדולות ע"י לחיצה 1.06% 6425 (ד51115 61125 ואז 2) כדי להראות שזה קורה,
המצביע .]1 יתחלף ב-6 מהבהב (שפרושו אותיות גדולות |6319). כדי לקבל אותיות קטנות ומצביע
1 לחץ שנית על 00% 6425, אם תלחץ על 00% 6425 בזמן מצב מלות המפתח א לא תבחין מיד
בשינוי אבל תגלה את השינוי לאחר הכנסת מלת מפתח כאשר המחשב יהיה במצב 6 במקום ב-.1.
בנוסף למילות מפתח ושני סוגי האותיות בלוח המקשים ישנם גם שמונה סימנים גרפיים המופיעים
על מקשי המספרים 1 עד 8 וניתן להדפיסם על הצג בצורה דומה לאותיות ומספרים.
כדי לבצע זאת יש לשנות את מצב לוח המקשים למצב גרפי שינוי זה מבוצע ע"י לחיצת מקש
ה-511181 6825 עם ה-9. שים לב שהמצביע משתנה ל-6. לחיצה על 9 תחזירו שוב למצב 1.
ישנו מצב נוסף שניתן לשנות את לוח המקשים אליו, והוא מצב ההרחבה (060660א6) שמסומן ב-ש.
הוא מושג ע"י לחיצת 511157 6425 וגם 511197 .801/א+5 בו זמנית מצב זה מאפשר להשתמש ברוב
הפונקציות המדעיות והתכנותיות לחיצת שני הכפתורים שוב תחזיר את לוח המקשים למצב
אותיות .].
גם הכתבנית והמתכנת המקצועיים ביותר טועים מדי פעם בלחיצת המקשים. למדנו עד כה לתקן
טעויות ע"י כיבוי המחשב. שיטה זו נוחה אם רק פקודה אחת ניתנה למחשב אבל ללא ספק בלתי
יעילה אם כבר הוכנס מידע רב.
למזלנו ניתן להשתמש במקש ה-081818 למחוק שגיאות. כדוגמא אפשרית אפילו טעות בפקודה
הפשוטה:
"360 דאופץ
נניח שלא השתמשת 51151 .801/א51 כדי לקבל את הגרשיים הפותחים ואז הצג יראה:
"10פאפיי דאותץ
המחשב לא יוכל לזהות מה שבא לאחר ה-1א281 מכיוון שללא הגרשיים המחשב מצפה למספר
ובמקום הספרה נמצאת אות. המחשב מראה את מבוכתו ע"י הבהוב של סימן ה-? בסוף השורה.
למזלנו אין צורך להדפיס את כל השורה שנית. בשורה הראשונה של לוח המקשים ישנם ארבעה
חיצים המצביעים לכיוונים שונים והמילה 081.81 (מחק). להפעלת מקשים אלה עליך ללחוץ על
5 6325 בו זמנית עם לחיצה על אחד מהם.
10
החיצים שבצדדים מזיזים את המצביע ימינה או שמאלה ומקש 818 :מכ מוחק את הסימן שבא מיד
לפני המצביע.
כדי לתקן את השורה השגויה לחץ על (ד51115 6425 ו-5 בו זמנית) עד שהמצביע נמצא מיד לאחר
ה-2. השגוי. אם תלחץ את שני המקשים לשניה או שתים הם יתחילו לעבוד באופן רצוף וישמיעו
קליק חלש. למעשה לחיצה על מקש ליותר משתי שניות תגרום לחזרה אוטומטית על הפעולה. לחץ
על מדמ1מכ (54191 6425 ן ש) בכדי למחוק את ה-2 השגוי ואז הדפס (גרשיים -- 5191 1801א+5
וק
שים לב שכל שורה נדחפה ימינה מבלי לבצע שום פעולה אחרת. נסה את החץ שמטמל 'מצביע
ימינה' רק כדי לראות איך זה עובד. אם בצעת שגיאות תקנן באותה דרך. זכור ששגיאות תוכל
למחוק ולהכניס במקומן תיקונים.
עכשיו לחץ על 88דאפ, המחשב יכתוב את הודעתך בראש המסך או מתחת להודעה שנכתבה לפני
כן אך היא עדיין קיימת.
תאור מלא של לוח המקשים תמצא בפרק ו של מדריך התכנות ב-84510
1
מספרים, אותיות והמחשב
כמחשב כוס
עד 5ה ראינו איך לפקוד על המחשב שידפיס אותיות וסימנים גרפיים ע"י שימוש בפקודה דַא281.
כמו כן ראינו כי יש להשתמש במקש פא על מנת לומר למחשב שיבצע את הפקודה שהודפסה.
מעכשיו לא יוזכר כי יש ללחוץ על אפדאם ומובן מאליו שתקיש אותו בראש כל שורה באופן
אוטומטי.
המחשב יכול לטפל במספרים יותר בקלות מאשר באותיות בפרק הקודם רמזנו שהמחשב מצפה
למספר לאחר הפקודה דא81? כאשר אין משתמשים בגרשיים כך שאם נקיש
2 דאותץ
המספר 2 יופיע על המסך.
בהחלט ניתן לערבב אותיות ומספרים:
"2.807 זאזפק
שים לב שיש מרווח בין 2 ל-86געל המסך. עכשיו הקש:
27807 דאואץ
ואז הקש 74807 2 דאואק
שימוש בפטיק בין הפריטים לאחר הפקודה 1א81? מרווח 16 עמודות. שימוש בנקודה פסיק אינו
משאיר רווח ואי שימוש בסימן כלשהוא גורם לשגיאה ניתן להשתמש ב-1א2%1 עם כל הסימנים
המתמטיים שעל לוח המקשים כך שהמחשב הופך למחשב כיס. לדוגמה:
2 זאותת
התשובה תופיע בחלק העליון של המסך. השוה זאת עם:
"2+2- דאופק
ניתן לשלב זאת על מנת לקבל תוצאה שימושית יותר
נסה:
12 2+2" דאותק
נסה פעולות חשבון אחרות כמו:
22 ךאואת
5 ךדאואק
2 ךאואת
בסימן * משתמשים למטרת כפל במקום בסימן א, על מנת להמנע מבלבול באות א האנגלית. בסימן
/ בסימן החלוקה (ולא בסימן +4
נסה חישובים שונים. אם תרצה תוכל להשתמש במספרים שליליים וגם במספרים בעלי נקודה
עשרונית. אם תגיע למצב שבו השתמשת ב-22 שורות של החלק העליון במסך תגלה שיקרה
משהוא מעניין. כל הכתוב יעלה למעלה בשורה אחת והשורה העליונה תעלם. לתופעה זו קוראים
561018 החישובים לא תמיד בסדר שאתה עשוי לצפות. לדוגמה נסה:
5 יאו
אתה עשוי לצפות שהמחשב יחבר 2 עם שלוש ויקבל 5 ואז יכפיל ב-5 ויקבל 25. כפל וחילוק
מבוצעים תמיד לפני חיבור וחיסור כך שהביטוי '2+3*5' משמעותו קח את 3 הכפל ב-5 (נותן 15) ואז
הוסף 2 הנותן 17. זו תהיה התוצאה שתופיע על המסך.
12
מאחר שכפל וחילוק מבוצעים קודם נאמר שיש להם עדיפות גבוהה יותר מאשר חיבור וחיסור.
לכפל וחילוק ישנה אותה עדיפות והם יבוצעו על פי סדר הכתיבה משמאל לימין.
לאחר שהמחשב ביצע את כל פעולות החילוק והכפל נשארו פעולות החיבור והחיסור וגם בין אלה
ישנה אותה עדיפות והן יבוצעו משמאל לימין.
נראה איך המחשב יבצע את
3 + 2'9--26 דאותת
3 + 26-29 [
בתחילה מבוצעת פעולת 3- 2 זז
הכפל והחלוק על פי 20-23 וז
הסרר משמאל לימין 6 +ן1
ואחר כך החיבורים 6 +
והחיסורים 8 1
אפילו שאנו צריכים לדעת אם לפעולה יש עדיפות גבוהה או נמוכה המחשב עושה זאת ע"י התאמת
מספרים בין 1 ל-16 שייצגו את העדיפות עבור כל פעולה: * ן / עדיפות 8 לֶ+ יש עדיפות 6.
סדר פעולות זה נוקשה באופן מוחלט אבל תוכל לעקפו ע"י שימוש בסוגריים. כל דבר בתוך סוגריים
יחושב ראשון ולאחר מכן יטופל כמספר אחד, כך ש:
2 + 3-2 דאזאץק
יתן את התשובה 8 = 2 + 6
אבל: (2 + 3*)2 דאופק
יתן את התשובה 12 = 3'4.
יהיה זה שימושי לפעמים לתת למחשב בטויים כאלה (2+2), כאשר המחשב מצפה ממך למספר
תוכל לתת לו ביטוי מתמטי במקום מספר, והוא כבר יחשב את התשובה. היוצאים מן הכלל לכל זה
הם כל כך מועטים שהם יודגשו באופן ברור לכל מקרה ומקרה.
תוכל לכתוב מספרים בעלי נקודה עשרונית (ע"י שימוש בנקודה.) כמובן תוכל להשתמש בייצוג
מעריכי המקובל למדי במחשבי הכיס המדעיים.
במקרה זה לאחר מספר רגיל (עם או בלי נקודה עשרונית) תכתוב את החלק המעריכי (זח6חסקא6)
כשהוא מכיל את האות 6 ואז אולי (מינוס) ואת המספר. החלק המעריכי יזיז את הנקודה העשרונית
ימינה (או שמאלה במעריך שלילי), וכך יוכפלו או יחולקו הספרות האורגינליות ב-16 כמה פעמים
לדוגמא :
4 = 60 2.34
= 6 2.54
4 = 6-2 2.34
וכך הלאה.
נסה להדפיס ביטויים אלה על המחשב. במקרים בודדים לא ניתן להחליף מספר בביטוי מתמטי.
לדוגמא תוכל לכתוב:
(6/2) 6 (1.34+1)
ישנם גם ביטויים שתוצאתם אינה ערך אלא מחרוזת של אותיות. ראית צורות פשוטות אלה פעמים
רבות כמחרוּזֶת האותיות הסגורות בתוך גרשיים מצידיהן.
תופעה זו מקבילה לצורות הפשוטות של ביטויים ספרתיים אשר הינם בעצם רק מספר בפני עצמו.
מה שלא ראית עד כה הוא השימוש של ה + במחרוזת (אבל לעולם לא --,* או / וזאת על מנת
שלא יהיו בעיות בסדר העדיפויות) חיבור מחרוזות פשוט מצמידם זו לזו בשרשרת האחת לאחר
השניה נסה:
"00 ע76 + 657(" דאזתק
תוכל לחבר כמה מחרוזות שתרצה בשורה אחת יתקבל ביטוי אחד מאורך. אם תרצה תוכל
להשתמש גם בסוגריים.
13
פקודות פשוטות
אפשר להשתמש בזכרון המחשב על מנת לאחסן דברים שונים. עד כה ראינו כי הפקודה דַא1א28
מאפשרת להדפיס על הצג אותיות, מספרים ותוצאות של חישובים, כאשר האותיות והמספרים
יכולים להופיע באופן מעורב.
אם נרצה לפקוד על המחשב שיכור מספר או מחרוזת של אותות נצטרך להקצות חלק מהזכרון
לשימוש הזה.
לרוב המחשבים ישנו מקש הנקרא עוסוח6וח (זכרון) במקש זה משתמשים כדי לזכור מספר או אות
המחשב שלך יכול לעשות הרבה יותר מזה, הוא יכול להשתמש בהרבה תאי זכרון דמיוניים כרצונך
ותוכל לתת שם לכל אחד מהם.
לדוגמא: נניח שברצונך לזכור את גילך. כדוגמה -- 34 משתמשים בפקודה 151 (1.51 היא מלת
מפתח המודפסת על המקש ש וכותבים:
4 = 386 107
מה שיקרה כאשר משתמשים בפקודה ]1.8 הוא שחלק מסוים מהזכרון יסומן ב"36 (גיל) והמספר 34
יאוחסן בתוכו. על מנת לקבל את המידע המאוכסן הדפס:
6 דאואק
ואז יופיע המספר 34. קל מאוד לשנות את התוכן של תא הזכרון שקראנו לו 386 הקש:
66 = 36 107
והדפס: ג דאזאץ
6 יופיע על המסך 6אָג היא דוגמה למשתנה שניתן לשנות את ערכיו. אפשרי לשלב הדפסת הודעה
ישירות למסך עם ערך של משתנה לדוגמה הדפס:
6 87 66 זטסץ" דאופק
על כל פנים, המחשב הוא הרבה יותר שימושי מזכירת מספרים ששמות מחוברים אליהם. הוא יכול
גם לזכור מחרוזות של אותיות. כדי להבחין בין משתנים מספריים למשתנים מחרוזתיים משתמשים
בסימן הדולר 5 בטוף שם המשתנה. לדומה אם נרצה שישמור את המחרוזת "8 שק זטסץ'" נוכל
לקרוא לה 35 (שמות של משתנים מחרוזתיים יוכלו להיות בעלי אות אחת בלבד כאשר יש בהם את
הז5) לכן הדפס:
"סאג זטסץ" = 5 ג 157
אם עכשיו תדפיס "35 דאזאק"
תופיע על הצג כל מחרוזת האותיות.
אם לא כיבית את המחשב מתחילת הפרק הדפט
6 35 דאזתק
ותראה מה יקרה
ישנן דרכים אחרות על מנת להכניס מידע לזכרון המחשב מבלי להשתמש בפקודה 181 לדוגמה
הפקודה ד90א1 בצורתה הפשוטה אומרת למחשב כי מידע כלשהוא יגיע אליו מן המקשים. בכל
פעם במקום להדפיס אא 181 תוכל להדפיס
ג זאזץת
באשר תלחץ על מקש ה-18%א5 מצביע מהבהב מטוג ] יופיע על הצג. זה אומר שהמחשב מחכה
למידע ממך ולכן הדפט את מגילך ואז לחץ על ה-אפ1א8. אף על פי שנראה לך ששום דבר אינו
קורה למשתנה ניתן עכשיו הערך שהדפטת.
14
הדפסת 36 דאואץ
תוכיח זאת.
הבא נשלב כל זאת ביחד למערכת של פקודות.
הדפס:
"לסְקָה זטסץ 5 זגה/" = 55 17
"8 6אַ9 זטסץ" = 5ג 157
6 35 [א1;: שַג; (5פ) | דטסקאן
שים לב שהשורה האחרונה מכילה שתי פקודות מופרדות ע"י הנקודותיים
6 (55) דנזפאן
הינה דרך אחרת להכניס
6ג; "?א זטסץ 15 )התעש דשפאן
15
|.
תכנות בסיסי
עד כה פָּקְדנו על המחשב ישירות מלוח המקשים. אמנם אפשר לשלב מספר פקודות ביחד אך
השימוש בשיטה זו מוגבל למדי. |
עוצמת המחשבים היא היכולת לתכנתם, המשמעות היא שנוכל לתת להם סדרת הוראות לביצוע
דברים כסדרם. לכל מחשב ישנה שפה משלו המאפשרת לנו ל"דבר* איתו. ישנן שפות פשוטות
שהמחשב יכול להבינן, לרוע המזל השפות הפשוטות להבנה ע"י המחשב קשות להבנה לבני אדם
גם ההפך נכון: שפות הקלות להבנה לבני אדם הינן מסובכות יחסית עבור המחשב, ולפעמים אפילו
יש לתרגמן או לפרשן עבורו.
ה-]520610% 2% משתמש בשפה עילית הנקראת 84516 ראשי התיבות של המלה 8516 הם:
6 2066) ת0ם6טזז5ח1] 56סקזטק-1!/ פז6תהוק6ת
שפרושו: צופן הוראות למתחילים, בסמלים ולכל מטרה. השפה עוצבה במכללת דרטמות בניו
המפשר ארה"ב ב-1964. שפה זו נפוצה מאוד במחשבים אישיים. אפע"פ שהשפה די דומה בין
המחשבים האישיים, ישנם הבדלים משמעותיים. זאת הסיבה שהוראות אלו נכתבו במיוחד עבור
ה"חג 560 א2, ה-84510 של הספקטרום אינו שונה מאוד מה-84516 המקובל ולא תתקל בבעיות
רבות להבינו. ה-84510 של הספקטרום (שלא כבמחשבים אחרים) אינו מרשה להשמיט את הפקודה
11 כאשר מייחסים ערכים ומשתנים, ישנו גבול למספר ההוראות שאפשר לאחסן במחשב.
ה"וחטז560 2% יודיע לך שהגעת לגבול זה ע"י זמזום.
כאשר מתכנתים ב-84516 הכרחי להביא לידיעת המחשב את סדר ההוראות אותם עליו לבצע ולכן
כל שורה בסדר זה היא בעלת מיספר בתחילתה. מקובל להתחיל ב-סו ולהוסף 10 בכל שורה כך
שאפשר יהיה להשחיל שורות נוספות במקרים שהיו השמטות או שדרושים שינויים בתכנית.
נסתכל בתוכנית פשוטה, נתייחס לסדרת הפקודות שבסוף הפרק הקודם, אם נרצה לחזור על סדרה
זו צריך יהיה להכניס כל פעם. התוכנית מתגברת על בעיה זו. הדפס את השורות דלהלן עם אמדאם
בגמר כל שורה: "לסקָג זטסץ 15 זחא" = 55 157 16
"15 6אָ3 זטסץ" = 35 107 26
6 (55) דשפאן 36
6 35 דצחאע 46
שים לב שאין צורך להכניס רווחים, מלבד בתוך הגרשיים. דבר לא יקרה עד שנפקוד על המחשב
להתחיל לפעול על התוכנית, ע"י שימוש ב-א80 (זו מלת מפתח על המקש 8 הכנס פקודה זו וראה
מה יקרה.
7 זטסץ 5 הח
16
שים לב לחץ המראה ימינה על כל שורה שהוכנסה בתכנית.חץ זה מראה את השורה האחרונה
שהכנסת. אם תרצה לראות את כל התכנית מחדש הקש תפדאם (או 01151
תוכל להשתמש ב-את על מנת להריץ את התוכנית כמה פעמים כרצונך. כאשר לא תצטרך יותר
בתוכנית זו תוכל לסלקה ע"י שימוש בפקודה שומאז. פקודה זו מוחקת את התוכנית המאוכסנת
בזכרון ומשאירה לוח חלק המוכן להכנסת תוכנית חדשה.
הקש /שפא ואחר כך 1151 וראה מה קורה.
40 ת0ז16508 זו0!8חו5 1982 6
בסיכום:
כאשר אתה מדפיס פקודה שלפניה מספר, המחשב יקבל פקודה זאת כשורה בתוכנית ולא כפקודה
סתמית. המחשב לא יבצע אותה מיד אלא יאחטן שורה זו לשימוש בהמשך.
לעזרתך ה"וטזוטטק5 2% כותב על הצג את כל שורות התוכנית שהכנטת וה-< מצביע על השורה
האחרונה שהוכנסה.
המחשב לא יבצע שורות אלה מיד אלא יאחסנן בזכרונו. על מנת שהמחשב יבצע שורות אלה,
השתמש בפקודה אטת. אם תלחץ על פא תקבל את שורות התוכנית בחזרה.
נבחן תוכנית פשוטה אחרת, תוכנית זו תהיה יותר מתמטית היא תדפיס את כל ריבועי המספרים בין
ו ל-שו. (ריבוע של מספר מוגדר כמספר המוכפל בעצמו).
על מנת לקרוא למספרים מ-1 עד 16 נשתמש בתפיסת תכנות נוספת שיש ל-84516. זאת היא שיטה
שבעזרתה נוכל להביא את המחשב לספור מוקדם יותר. ראינו שניתן לאחסן מספרים בזכרון
המחשב ע"י הצמדת שם אליהם. או בשפה טכנית ע"י הצמדת ערך למשתנה. אם נרצה שהמשתנה
א יתחיל בערך 1 ויתקדם בצעדים של 1 עד ל-16 נעשה זאת ע"י שימוש בפקודה 5782... 0ד... 08ע.
על מנת להכניס תוכנית זו עליך להקיש פא כדי להפטר מכל מה שהיה קודם במחשב כעת הדפס:
1 פד 16 10 1 = א 08 שו
(בד"כ את ה-1 5155 אפשר להשמיט אם הספירה נעשית בצעדים של ו) השורה הבאה צריכה לומר
למחשב מה לבצע על א ללא קשר לערך שהוא מיצג. הדפס:
איא ,א זאזפץ 26
המחשב זקוק לשורה שתאמר לו לנוע לערך הבא של א ולכן הדפס:
א דאפא 36
17
כאשר המחשב יגיע להוראה זו הוא יעבור לשורה סו, ואז יחזור על התהליך. כאשר א יעבור את
הערך 16 המחשב ילך לשורה הבאה בתכנית כלומר שורה 40.
עכשיו התוכנית צריכה להופיע על המסך בצורה הבאה:
1 10 70 1 = א 08 16
איא,א זאואץ 26
א דאפא 36
להשלמה דרושה שורה נוספת שתאמר למחשב שהתכנית נגמרת כאשר סו=א לכן הדפס:
07 4
לאחר הפקודה א( יופיעו שני טורים. טור אחד עם ערכי א והשני עם הערך של אא (או ?א) ניתן
לתת כותרת לעמודות אלה ע"י הוספת השורה:
"איא", "אי" דאזתק 5
שים לב שאע"פ שהכנסנו שורה זו אחרי כל השורות המחשב מכניס שורה זו במקומה הנכון באופן
אוטומטי לפי מספרה. נסה לכתוב תוכניות אחרות ע"י כתיבת פונקציות מתמטיות אחרות אם יש לך
ספק כלשהוא בצורת השימוש בהן פנה לעמודים המתאימים בספר הוראות לתכנית ב-84516.
8
שימוש ברשם קול
כדי להמנע מהדפטת תוכניות מחדש למחשב בכל פעם ה-ואטזו60ק5 2% יכול להקליט תוכנית על
קסטות בעזרת רשם הקול הביתי הרגיל, אם יש לך תוכנית בזכרון נסה לשמור אותה תוך שימוש
בהוראות הבאות.
אם ניתן לשמור תוכניות על קסטות ניתן גם להעלותם בחזרה מאוחר יותר אל תוך המחשב. רוב
רשמי הקול יתאימו, מבחינת המחשב רשם קול רגיל המקליט בערוץ אחד (מונו) היא לפחות טוב
כמו רשם קול יקר סטראופוני. ועושה פחות בעיות. תמצא שהמיספור ברשם הקול הוא שימושי
מאוד.
לרשם הקול חייבת להיות כניסה למיקרופון ויציאה לאוזניות (אם אין, נסה את היציאה החיצונית
לרמקול). הם צריכים להיות תקעי 3.5 מ"מ (כדי להתאים לחוטים המוליכים שסופקו לך) בגלל
שסוגים אחרים עלולים לא לתת אותות מספיק חזקים בשביל המחשב. כל קסטה רגילה תתאים
אע"פ שקסטות של פפוסח צוס! יוכלו להיות טובות יותר. לאחר שהשגת רשם קול מתאים חבר אותו
למחשב ע"י המוליכים שקבלת עם ה-ותט66ק5 א2. חוט מוליך אחד צריך לחבר את שקע הכניסה
למיקרופון שבטייפ לשקע המסומן ב-'16!א' שבצד האחורי של המחשב. החוט השני צריך לחבר את
שקע היציאה לאוזניות ברשם הקול לשקע '848' שבמחשב (לא תוכל לגרום נזק ל- 566 ע"י
חיבור לא נכון של החוטים).
כאשר תשתמש בפקודת ה-54/5 כדי לשמור תוכנית על קסטה ודא שאחד התקעים המחברים את
יציאת האוזניה בטייפ או כניסת ה-545 במחשב מנותקים כדי לא לגרום ללולאה שתגרום להקלטה
שגויה של התכנית. הדפס תוכנית כלשהיא אל תוך המחשב, נניח תוכנית הריבועים שבפרק הקודם,
ואז הדפס
5" 54/0
5 הוא פשוט שם שניתן להשתמש בו כדי לסמן את התוכנית בזמן שהיא על הקסטה. תוכל
לתת שמות בעלי סו סימנים לכל היותר,
המחשב יגיב בהודעה /6א תג 655זק ח6ח) 1306 ז91ז5 בתחילה נסביר מה צריך לקרות לפני שתקליט
את התוכנית. אל תלחץ על הטייפ אלא על מקש ב-ואטז60ק5 2% והסתכל בגבול של צג הטלויזיה.
תראה פסים אופקיים צבעוניים.
5 שניות של פסים אדומים וכחולים בהירים בערך בעובי 1 ס"מ שזזים באטיות כלפי מעלה, אז
התפרצות מהירה של פטים צהובים וכחולים, שניה אחת הכל כרגיל ו-2 שניות של אדום וכחול
בהיר שוב ואז בערך שניה אחת של הפסים הצהובים והכחולים שוב. נסה זאת שוב עד שתזהה
ותכיר כל סוג של צבעים. המידע נשמר בשני חלקים ולפני כל חלק ניתן לראות את הפסים האדומים
הכחולים בהירים. המידע עצמו מועלה בו זמנית עם הופעת הפסים הצהובים כחולים. החלק
הראשון מכיל את שם התוכנית ומידע כללי נוסף ואילו השני מכיל את התוכנית עצמה ביחד עם כל
המשתנים הקיימים הקטע הלבן (הרגיל) שבינהם הוא רק מירוח. כעת נקליט את התוכנית על קסטה.
וו הזז את סרט הקסטה למקום ריק או למקום שאתה מוכן למחוק.
2) הדפס:
(תםדאם) "66זבטף5" מ/53
) התחל להקליט בטייפ (ברוב רשמי הקול יש ללחוץ על עג!ק (ן 66016 בו זמנית).
4 לחץ על כפתור כלשהוא ב"וחטז60ק5 2%.
65 התבונן בטלויזיה כמקודם וכאשר המחשב גמר להעביר את התכנית לטייפ תופיע ההודעה 0% ₪
ואז עצור את רשם הקול.
|29
על מנת לודא שהצלחת תוכל לבדוק את האותות שעל הקסטה כנגד התוכנית שבמחשב. הבדיקה
תעשה ע"י שימוש בפקודה /:81:/,
1) כוון את כפתור העוצמה (6חזט!0) ברשם הקול לבערך מחצית הדרך. וחבר את החוט של
האוזניות 548.
2) גלגל בחזרה את הקסטה למקום כלשהוא לפני ההקלטה.
3 הדפס:
זט" :1
(צז1ת%2 נמצא במצב ההרחבה ₪ ואז וח5ן-א).
64 הפעל את רשם הקול לחץ על (עגוק)
גבול הטלוזיה ישנה צבעיו אדום ואו כחול בהיר עד שהטייפ יגיע אל התוכנית המוקלטת -- אז
תראה את אותם הפסים שראית בזמן שמירת התוכנית (ע"י 5% במרווח הזמן שבין הפסים תרשם
על המסך ההודעה 66זגטף5 וחגזקָסזץ. כאשר המחשב מחפש מידע על הטייפ הוא מדפיס את השם
של כל דבר שבו יפגוש. אם תראה את כל הפסים ואחרי כן המחשב יעצור, עם דיווח א 60 דע
שתוכניתך הוקלטה ונשמרה על הקסטה, במידה ומשהוא השתבש עליך לשאול את השאלות
הבאות על מנת למצוא מה השתבש.
איך תוודא שתוכניתך נשמרה?
אם לא הופיע שם התוכנית יכולות להיות שתי תקלות. או שהתכנית לא נשמרה כראוי, או שהיא
לא נקראת בחזרה כראוי. בכל מקרה עליך למצוא את סוג התקלה. על מנת לברר אם התכנית
נשמרה כראוי גלגל את הקסטה עד למקום שלפני התחלת ההקלטה ונגן אותה דרך הרמקול של
רשם הקול (קרוב לודא ישתצטרך לנתק את החוט משקע האוזניות של הטייפ) הפסים האדומים
והכחולים מייצרים צליל גבוה ברור ויציב והמידע הכחול והצהוב משמיע קולות הרבה פחות
נעימים בדומה להודעה במורס. שני סוגי הצלילים חזקים למדי כאשר מפעילים עוצמה מלאה,
ויכולים בקלות להתגבר על קול שיחה. במידה ולא תשמע רעשים אלה תוכניתך קרוב לודאי שלא
נשמרה.
בדוק אם החוטים מחוברים לשקעים המתאימים, ודא ששקעי המיקרופון (10/א) מחוברים. ודא
ששקעי האוזניה (538) אינם מחוברים. קורא שבסוגים מסוימים של רשמי קול, התקעים אינם יוצרים
מגע כאשר הם נדחפים ישר פנימה. נסה למשוך אותם החוצה בערך 2.5 מ"מ ואז תוכל לפעמים
להרגישם מתיצבים בעמדת נעילה.
בדוק שלא בצעת הקלטה על הקטע מהפלסטיק בתחילת סרט הקסטה. לאחר שבדקת זאת נסה לשמור
את התוכנית מחדש. י
אם תוכל לשמוע את הקולות שתוארו מקודם אז פעולת ה-58%5 התבצעה קרוב לודאי כראוי
והבעיה היא בקריאת התוכנית אל תוך המחשב.
בדוק שוב את החוטים, בדוק את עוצמת הקול (₪חט!ס/) אם העוצמה נמוכה מדי המחשב לא ישמע
את האותות היטב ולכן לא תוכל לראות את הפטים הנכונים על המסך, אך אם העוצמה חזקה מדי
האותות יגיעו בעוותים, ואז תוכל לשמוע אותם.דרך הרמקול הפנימי של המחשב. ישנו תחום רחב
של ערכי ביניים בין שני המצבים. ותוכל למצוא אותו ע"י מספר ניסוים.
מקרה נוסף הינו כאשר המחשב מזהה את התוכנית, מדפיס את שמה אבל עדיין משהוא משתבש.
האפשרויות הן שהדפסת לא נכון את השם בשלב ה-54/8 (אז המחשב יכתוב את השם השגוי על
גבי הצג) או ששגית בזמן ה-/5%15/ ואז המחשב יתעלם מהתוכנית וימשיך להבזיק אדום וכחול
בגבול המסך.
כאשר ישנה שגיאת אימות עם תוכן הקסטה המחשב יחזור עם ההודעה
7 קחו0ה0! 6קגד 5
שפרושה במקרה זה שהמחשב אינו מצליח לאמת את התוכנית. במקרה זה בצע שמירת תוכנית
מחודשת (54%5).
20
יש אפשרות שכיוון העוצמה (6וחט!0/) ברשם הקול אינו לגמרי בסדר אבל אינו רחוק מהרצוי מאחר
שהמחשב הצליח לקרוא את החלק הראשון
הבה נניח שהצלחת לשמור את התוכנית וכן לאמתה (ע"י עָוז6/) הטענתה מחדש מתבצעת בדיוק
כמו האימות מלבד צורת הפקודה שהיא:
"פסזטף5* 1080
5 צתןתם
1090 נמצא על המקש [. אם הצלחת לבצע אימות נכון לא תהיה שום בעיה בטעינה. פקורת
הטעינה (2042) מוחקת את התוכנית הישנה ומשתניה במחשב לפני פעולת ההטענה עצמה.
כאשר תוכנית הוטענה ניתן להריצה ע"י הפקודה אטא. ניתן לקנות תוכניות מוקלטות מראש על
קסטות. עליהן להיות מוכנות במיוחד ל-וחטזוסטק5 2% מאחר ודרכי ההקלטה שונות ממחשב למחשב.
כדי להבחין בין התוכניות המוקלטות על אותו צד בקסטה לכל תוכנית יש שם. תוכל לבחור את
התוכנית שתרצה ע"י פקודת ההטענה והדפסת השם. לדוגמה תוכנית בשם 6160006 תועלה
למחשב ע"י הפקודה:
שוח" כם108
(הפקודה ** 1.04 משמעותה הטען את התוכנית הראשונה בה תתקל. פקודה זו יעילה ביותר אם
שכחת את שם התוכנית).
21
צבעים
אחת הסיבות לקנית וחטזו6ק5 7% היא היכולת להשתמש בצבעים על מסך הטלויזיה. המסך מחולק
לשני אזורים אזור חיצוני -- 808085 גבול) ואזור מרכזי -- 4258 (נייר). ניתן לשנות את הצבעים
של שני אזורים אלה כרצונך. וזאת ע"י שימוש בלוח המקשים או ע"י תכנית. אפשר להשתמש
ב"ותטזו60ק5 2% בשמונה צבעים. הצבעים מוספרו מ 6 עד 7. אע"פ שהצבעים נראים כמטודרים
בסדר מקרי הם נותנים דרגות הולכות ופוחתות של צבע אפור על גבי מסך טלויזית השחור לבן.
להלן רשימת הצבעים ומספריהם הרשומים גם מעל מקשי המספרים:
6% -- שחור 6
ִ ₪ - כחול ו
6 - אדום 2
(6!קזטק) גוה6ק4ה -- סגול 3
חסשזק -- ירוק 4
(106פ 6|גק) הגץ6 -- תכלת 5
צוס!!6 -- צהוב 6
שותצ - לבן 7
כאשר המחשב מופעל פועלת המערכת בתחילה בשחור לבן. כך שהערך הנורמלי של ה-808058
(גבול) ושל ה- 24758 (נייר) הוא 7 דהיינו לבן. צבע כל אות מספר וכו' שיופיעו על המסך יוגדר ע"י
פקודת אא! שערכה הראשוני 6 דהיינו שחור. שלוש הפקודות השולטות על צבעי המסך נקבעות ע"י
המחשב אך ניתן לשנות ערכים אלה לדוגמה ע"י הקשת.
2 803058
אם תזכור להקיש 5%158 הגבול ישתנה מלבן לאדום כולל האזור התחתון של המטך בו ההוראות
והפקודות מודפסות. נסה לקבוע ערכים אחרים ותראה את שינוי הצבע. נסה לשנות את מרכז המסך
ע"י הקשת:
5 פםקגק
פקודה זו נכתבת במצב ההרחבה 5 שתואר מוקדם יותר, הוא מושג ע"י הקשה על 514157 6425 וגם
5 511801 באותו זמן. ה-24258 עצמו מושג עזי 51181 ואז ₪ וכאשר ה-88%'ד5 ילחץ פעמיים
החלק המרכזי יקבל צבע תכלת הקשת ה-158א5 הראשונה מבטלת את פקודת ה-788א5 שכבר
אוחסנה במחשב, אולם רק כאשר יוקש ה-2258 החדש לשימוש (הלחיצה השניה גורמת למחשב
לבצע 1151 לכל תוכנית ולכן בונה מחדש את נתוני המסך) כאשר אתה משתמש בטלויזיה צבעונית
והצבעים לא השתנו, נסה להוואים את בקרת הצבע שבטלויזיה ומעט את בקרות כיוון התחנה.
פקודת ה-אא] זהה לפקודת ה-4788/ ומווסתת את הצבעים של האותיות והמספרים המופיעים
באזור ה-23758 במסך. מובן מאליו שאם צבעי ה-אאן וה-5478 זהים לא תוכל לקרוא את המידע
על המסך.
בפקודות 808058. אתא ואא! ניתן להשתמש בתוך תוכניות לדוגמה תוכנית פשוטה שתראה את
טווח הצבעים האפשרי
7 0 10
א 005 20
5 :א--7 054 30
0 455 40
א דא 50
2
כאשר תוכנית זו מורצת (א/80) היא מראה את שמונת הצבעים תוך יצירת ניגוד בין צבעי ה-258?
ל-058 808. פקודת ה-615 (נקה מסך) לאחר ה-24258 מכריחה את המחשב לבנות מחדש את
צורת המסך תוך שימוש בצבע ה-288? החרש. פקודת ה-241058 (השהיה) עוצרת את המחשב
למשך שניה אחת כדי שנוכל לראות מה קורה (נסה להריץ את התוכנית בלי שורת ה-4055).
כדי לראות כיצד פקודת ה-אא! פועלת הדפס את התוכנית הבאהָ לאחר פקודת /ופא.
7 0 16
1 תםקת 26
4 אא! 36
"6תטסזקא236 6ט|5 תס 607608 ת66זכ)" דאזת 46
התוכנית תדפיס אותיות ירוקות על רקע כחול.
ישנן פקודות נוספות שקשורות ליכולתו הצבעונית של ה-וחטזזק5 2% המפורטות במדריך התכנות
ב-84516.
23
קולות
ה"וחטזז60ק5 78 יכול ליצור קולות במגוון אינסופי. תדירות הקול ואורכו ניתנים לשליטה ע"י
המשתמש.
בפקודה 8557 משתמשים על מנת לפקוד על המחשב להוציא צליל. ?855 נמצא במצב המורחב 6
ומושג ע"י שימוש במקש ה27.
הצליל המרכזי בפקודת 8557 הוא דו אמצעי (6 ₪100|6) הוא יכול להשתנות בתוך פקודת ה-8557
ואפשר להשיג כל תו אם הוא מבוטא כצליל או תת צליל מעל או מתחת לדו (6), באשר תתקבל
הפקודה:
₪ 2 85072
המחשב יוציא את הצליל דו למשך 2 שניות.
המספר הראשון לאחר הפקודה יתן את אורך הצליל בשניות ואילו המספר השני יקבע את גובה התו
מעל או מתחת לדו זה. מכאן שהערך שיתן את הצליל דו הוא 6 והערך שיתן דו דיאז (8 6) הוא 1.
הערך עבור רָה (כ) הוא 2 וכן הלאה עד הדו (0) הבא שערכו 12 מפני ש-12 דרגות של צלילים
וחלקיהם יתנו אוקטבה שלמה. תוכל להמשיך עד 13 ומעבר לזה אם תרצה וככל שהמספר יהיה
יותר גבוה כך יהיה גובה הצליל שיופק ע"י המחשב. נסה:
9 2 קםם0: 1,2 קפםם: 4 1 8560
תוכל לשמוע את התיבה הראשונה של השיר "שלושה עכברים עוורים". מאחר שניתן לצרף כמה
פקודות 8582 יחדיו בעזרת הנקודותיים, תוכל לייצר, אם יש לך את הסבלנות, שיר שלם.
אפשר להשתמש בנקודותיים לא רק על מנת לחבר מספר פקודות 8587. אפשר גם להשתמש בהן
על מנת לבנות פקודות המורכבות מכל הפקודות היסודיות. כדוגמא מסובכת יותר תוכל ליצור
פקודה של קולות וצבעים משתנים ע"י עכוב של 8882 וגם 808058 יחדיו:
+ 808058: 16, 1 קםםט: 3 המסתסם: 14 ן קמםם: ן ממסאסט
1 םת 80: קםםם: 5 תםקס8: 0. ן קםםם: 6 808008: 12 1 קשטט
אל תחשוש מהעובדה שפקודה זו מתמשכת יותר מאשר שורה אחת המחשב לא ישים לב לעובדה
זו.
הנה תכנית קצרה על מנת לנגן מערכת שלמה של צלילים:
3 70 0 = א 508 16
א 2 9557 26
א זאפא 36
יש להדגיש כי תוים נמוכים מדו (6) משתמשים במספרים שליליים, תוכל לבצע דברים רבים נוספים
אם תסתכל במדריך התכנות ב-884516.
24
פנים המחשב
התמונה כאן מראה את תוכו של ה"וחטשטק5 א2.
זס סו ה זס תתנ
(6זטזסוכן 15והחהפחפזד)
ז 6 |הק
(זסאורח זטסוס6)
(6צו1ט60א6% סחפזס) ג |(
זסזטקוחסס זס 080%
((הטח8וצ) ואמסם : 2
(80ק 6וסאז) ומהם
(פחופז₪) ()6
זט |
כפי שתראה כל חלק מתואר בשלוש אותיות בראשי תיבות. חתיכות הפלסטיק המלבניות שחורות
בעלות הרגליים הרבות הינן המעגלים המשולבים (שבבי הסיליקון) אשר למעשה מבצעים את כל
העבודה. בכל אחד ישנו ריבוע שצלעו 6.3 מ"מ של סיליקון המחובר בחוטי מתכת לרגלים
המתכתיות. על שבב הסיליקון הזה ישנם אלפי טרנסיסטורים היוצרים את המעגלים האלקטרוניים
שהינם המחשב. ה"מוח" של המחשב הינו שבב עיבוד הנתונים הנקרא לעיתים קרובות 620 (זוחטו
1 [411:זזת26) -- יחידת עיבוד נתונים מרכזית).
ה-020 המסוים הזה נקרא 2804 שהיא גירסה מהירה יותר של ה-280 הפופולרי.
25
מעבד הנתונים ((620) שולט במחשב, מבצע את החישובים, בודק איזה מקש נלחץ, מחליט מה
לעשות בתגובה ובכלל מחליט מה המחשב צריך לעשות. על אף כל חוכמתו לא יכול המחשב לבצע
הכל בעצמו. למשל הוא אינו יודע דבר על 84516 או חשבון עשרוני. בעניינים אלה עליו לקבל את
ההוראות משבב אחר. הוא שבב ה-/א80 (צפסואפוא ]אס אפת -- זכרון קריא בלבד) ה-ואסא
מכיל רשימה ארוכה של הוראות שהן תוכנית המחשב. הן אומרות למעבד הנתונים מה לעשות בכל
הנסיבות הצפויות מראש. תכנית זו לא נכתבה ב-8/4516 אלא במה שנקרא שפת המבונה של 280.
צורת התוכנית הינה רשימה ארוכה של מספרים. ביחד ישנם 16,384 מספרים כאלה ולכן נקרא
ה-84516 של ה"וחטזזק5 א2 83516 של 16% בואסא. 1% הוא 1024. על אף שישנם מספר שבבים
זהים למחשב זה במחשבים אחרים, שרשרת ההוראות הזאת הינה בלעדית ל"וחטז6ק5 א2 ונכתבה
במיוחד עבורו.
שמונה השבבים שליד ה-(620 הים הזכרון. זהוא ה-/א/8 (עזסות6)% 466055 הת40חגת -- זכרון בעל
גישה חופשית לכל תא מקרי שניתן גם לכתוב וגם לקרוא ממוו) ה-/א8 הוא המקום בו ה-(621
מאחטן מידע שהוא רוצה לשמור. בזכרון נמצאות כל תכניות ה-84516, המשתנים, תמונת מסך
הטלויזיה ומספר פריטים אחרים אשר משמשים למעקב אחר מצב המחשב.
ישנם שני שבבים אחרים הפועלים בשיתוף עם ה-8%41 ובקרבתו. השבב הגדול נקראים .501 (1.08%6
זפטקוחס6 ז6141ה:5) שפועל כמרכז התקשורת ומודא שכל דרישות המעבד יבוצעו.
כמו כן הוא קורא את הזכרון על מנת לראות מה מכילה תמונת הטלויזיה ושולח את האותות
המתאימים אל הטלוזיה.
משדר ה-.241 הוא קְבַוצה שלמה של אביזרים הממירים את האותיות עבור הטלויזיה הצבעונית.
המייצב (רגולטור) ממיר את המתח הבלתי יציב לספק הכוח ל-5 וולטים יציבים לחלוטין.
תם פרק המבוא
אם אתה חש שהבנת אותו היטב אנו ממליצים שתנסה כעת לקרוא את המדריך לתכנות
ב-24516.
26
פרק 1: המדריך לתכנות ב-845!6
באם קראת תחילה את פרק המבוא, או התחלת ישירות עם ספר זה, הנך אמור לדעת שפקודות
מתבצעות מיידית וכי הוראות מתחילות עם מספר השורה כשהן נאגרות כדי לפעול מאוחר יותר. הנך
אמור להכיר את הפקודות דַא281 ,81 וכן טקא (אשר ניתנות לשימוש בכל המערכות המשתמשות
בשפת -- 84516) ואת הפקודות 058 80 םק ו-ק55 (הנמצאות בשימוש במחשב זה נטז5066).
ספר 84516 זה פותח בחזרה על מספר נושאים שהוזכרו בספר המבוא, אך ביתר פירוט, תוך הדגשת
הפעולות האפשריות לביצוע והבלתי נתנות לביצוע במחשב זה. כמו כן תמצא מספר תרגילים בסוף
כל פרק. אל תתעלם מהם; רבים מהם מדגימים נקודות עליהן נרמז בכתוב-בפרק. בחן אותם ובצע את
אלה המענינים אותך או את אלה המכסים את החומר שאינו נהיר לך דיו.
כל מה שלא תבצע, המשך להשתמש במחשב. באם אתה תוהה "מה תהיה תגובת המחשב באם
אורה לו כך או כך?", אזי -- התשובה לכך פשוטה בתכלית: הדפס זאת וצפה בתוצאה. בכל עת שספר
זה מורה לך להדפיס משהו, שאל תמיד את עצמך: "מה ניתן להדפיס במקום זאת?" ונסה את
תשובותיך. ככל שתרבה בכתיבת תכניות, כך תשפר את הבנתך לגבי פעולת המחשב.
בסוף ספר זה תמצא מספר נספחים. בין אלו תמצא הסברים על אופן ניהול הזכרון, ניהול המספרים
במחשב וסדרת תכניות דוגמא להדגמת פעולת מז 560 2%.
לוח המקשים:
אוסף התוים ב-ואטזז66ק5 2% כולל לא רק סימולים בודרים (אותיות, ספרות ועוד) אלא אף סימנים
מורכבים (מילות מפתח, שמות פונקציות ועוד) כשכל אלו נקלטים מלוח המקשים ישירות -- ללא
צורך באיות שם הטימן-המורכב. (ע"י מספר מקשיט) לשם כך -- להשגת כל הפונקציות והפקודות
הללו -- למספר כפתורים קיימות חמש או יותר משמעויות שונות, המתקבלות בחלקן ע"י -- שמוש
בכפתורי ה-5111:1 (כלומר: לחיצה על 511191 6425 או על -- 801.511171/אצ5 באותה עת שלוחצים
על הכפתור המבוקש) ובחלקן -- ע"י שימוש במחשב באופני פעולה שונים.
אופן הפעולה (₪006) מסומן בעזרת סמן (זספוט6), אות מהבהבת המציינת להיכן תכנס התוית הבאה
מלוח המקשים.
אופן הפעולה % (מהמילה 6זסאץ%6 -- מילות מפתח) יחליף באופן אוטומטי את אופן הפעולה 1
כאשר המחשב יצפה לפקודה או לשורת תכנית (לעומת דופאז של מידע) וממקומו בשורה הוא יודע
כי עליו לצפות למספר-שורה או למילת"מפתח. כך הדבר בתחילת כל שורה, או מיד לאחר א18ד, או
מיד לאחר; (מלבד במחרוזת -- אַחוזז). באם לא נעשה שימוש ב-511121, המקש הבא יתפרש כמילת-
מפתח (הכתובה על המקשים) או כספרה.
אופן הפעולה -- 1 (מהמילה 16069 -- אותיות) מתרחש באופן נורמלי -- בכל שאר הזמן. באם לא
התבצע 1א5111, המקש הבא -- יתפרש כסימן העקרי על אותו מקש, באותיות כתיב עבור אותיות.
בשני האופנים, א וכן 1, 511197 801/א5 ולאחריו מקש -- יתפרשו כתוית הצדדית האדומה על
המקש ו-51121 6425 בצרוף עם -- מקש ספרה יפורשו כפונקצית-הבקרה הכתובה בלבן מעל-
המקש. 511121 6425 בצירוף עם מקשים אחרים אינה משפיעה על מילות-המפתח. באופן-פעולה %
ובאופן הפעולה .1 היא הופכת האותיות לאותיות ידפוס.
אופן-הפעולה 6 (מהמילה 63145 -- כותרות)הינו למעשה נוטח אחר לאופן-הפעולה 1 שבו כל
האותיות מופיעות כאותיות-דפוס. 100% 6425 גורם למעבר בין שני אופני"פעולה אלו, מ-ל-6
ובחזרה.
217
ודי" יוו
אופן הפעולה 8 (מהמילה 84060660 -- מורחב) משמש להשגת תוים נוספים, ברובם סימולים. הדבר
מתבצע בעקבות לחיצה על שני כפתורי ה-541/1 בו-זמנית -- עבור לחיצה בודדת על מקש. באופן-
פעולה זה האות פועלת כתוית או סימול (הנראה בירוק מעליו) באם לא בוצע 5111:1, ואחר (הנראה
באדום מתחתיו) באם נלחץ בו זמנית על אחד מכפתורי ה-511171. מקש ספרה פועל כסימול באם
נלחץ ביחד עם 51191 5%%/801: אחרת הוא פועל כסדרת בקרת-צבע.
אופן פעולה 6 (מהמילה 614206 -- גרפיקה) מתקיים בהקשת 6542111605 (511191 625 עם 9),
ונמשך עד אשר -- הוקש שוב או 9 הוקש לבדו. מקש ספרה יביא לגרפיקת-פסיפס, יעצור ₪
5 או פד 1פק, וכל אחת ממקשי-האותיות מלבד ש, ש,א, צוכן 2 יביאו לגרפיקה שהוגדרה
ע"י המפעיל.
באם מקשזבלשהוא ילחץ באופן רצוף יותר מ-2 או 3 שניות, הוא יתחיל לחזור על עצמו ברציפות.
קלט מהמקשים מופיע במחצית התחתונה של המסך בעת שהוא מודפס, כשכל תוית (טימול יחיד או
מורכב) מוכנסת לפני הסמן. נתן להזיז את הסמן שמאלה בעזרת 511197 025 עם 5 או ימינה בעזרת
זו 6425 עם 8. התוית לפני הסמן נתנת להשמטה בעזרת 8ד0 051 (514]:1 6425 עם 6).
(הערה: נתן להשמיט את כל השורה בעזרת הדפסת 8011 (511:1 6425 עם ו) כשבעקבותיו --
אדא
כאשר נלחץ המקש 188א8, השורה מבוצעת, מוכנסת לתכנית, או משמשת כְּ-דַטפא1 של מידע
בהתאם, אלא אם כן הוא מכיל שגיאת-תחביר. (זסוזם אגוץ5). במקרה זה ) מהבהב יופיע בסמוך
לשגיאה.
עם הכנסת שורות התכנית, מוצג רישום במחצית העליונה של המסך. השורה האחרונה שהוכנסה --
מכונה השורה-הנוכחית והיא מצוינת באמצעות הסימן[₪ נתן להזיזו בעזרת המקשים > (513177
5 עם 66 וכן > 54197 625 עם 7). באם נלחץ המקש דוסא (54191 6425 עם 1), השורה
הנוכחית מועברת לתחתית המסך שם היא נתנת לעריכה.
כאשר מבוצעת פקודה או כאשר תכנית "רצה", הפלט מוצג במחצית המסך-העליונה ונשאר שם עד
אשר נכתבת שורת תכנית, או המקש אפדא5 נלחץ ביחד עם שורה ריקה,> או> בחלק התחתון
מופיע דווח לפי קוד (אותיות או ספרות) המופיע בנספח 1!. הדווח נשמר במסך עד אשר נלחץ כפתור
(המציץ-את אופן-הפעולה %6).
בנסיבות מסוימות, 51121 425-)עם מקש 5265 מתנהג כמו 885%, בעצרו את המחשב עם דווח ם
או 1. זאת עבור:
()) בסוף הצהרה בעת שהתכנית רצה, או
() בעת שהמחשב משתמש בטייפ או במדפסת.
מסך הטלויזיה:
המסך כולל 24 שורות -- באורך 32 תוים בכל אחת והוא מחולק לשני חלקים. החלק העליון כולל לכל
היותר 22 שורות כשהתצוגה בו היא של רישום התכנית או פלט התכנית. כאשר ההדפסה בחלק-
העליון הגיעה לתחתית קטע זה, "מגולגל" המסך שורה אחת כלפי-מעלה; באם הדבר כרוך באיבוד
שורה אותה לא הפסקת לבחון, אזי המחשב עוזר ושואל -- ?56101 ("לגלגל") בלחיצה על א, 5248
או 5109 תביא לעצירת התכנית עם דווח: 60₪1-א0-8884; כל כפתור אחר יביא להמשך הגלגול.
החלק התחתון משמש לקליטת פקודות, שורות תכנית ומידע דרך -- דטפא! וכן -- להצגת דווחים.
החלק התחתון מתחיל כקטע בן שתי שורות (העליונה -- ריקה), אך הוא מתרחב כדי להתאים לקלט
המודפס. כאשר הוא מגיע למיקום ה"שורה-הנוכחית" במחצית העליונה, הרחבות נוספות יביאו
ליגלגול" החלק העליון.
8
פרק 2: מושגי תיכנות -
בסיסיים
תמצית:
תכניות
מספרי שורות
עריכת תכניות בעזרת ,> ,> ו-דוסם.
אטת ,115
סד 60 ,מטאודא 60 ,דטקאז ,פא אסשת ,דאואץ
507 דטקאן
אגפתם
הדפס את שתי השורות הבאות המהוות תכנית להדפסת סכומם של שני מספרים:
3 דא 26
שו=3ג 107 שו
כך שהמסך יראה כך:
30 ד₪6 |₪1 10
3 דאואק 20
כפי שכבר אתה יודע, מאחר ושורות אלו תחילתן עם מספרים, הן לא בוצעו מיידית -- אלא נאגרו
כשורות תכנית. לבטח שמת לב שמספרי השורות שולטים על סדר השורות בתכנית: הדבר חשוב
במיוחד בעת הרצת התכנית, אך הוא בא לידי ביטוי בסדר השורות ברישום התכנית אותו אתה יכול
לראות כעת על המסך.
29
עד כה הכנסת מספר אחד, לכן הדפס:
5 = פ ד 15
וכבר היא בפנים. היה זה בלתי אפשרי להכניס שורה זו בין שתי השורות הקודמות באם הן היו
ממוספרות 1 ו27 במקום 16 ו"20 (מספרי השורות חייבים להיות מספרים שלמים בין 1 לבין 9999),
חוהי לכן הטיבה, מדוע בעת הדפטת תכנית לראשונה, כדאי מאד להשאיר מרווחים בין מספרי
השורות.
כעת הנך צריך לשנות את שורה 26 לשורה הבאה:
3+9 דאז? 26
הנך יכול להדפיט את כל השנוי מתחילתו, אך פשוט יותר להעזר ב-5011 שתוארה בספרון-המבוא.
הסימול ()בשורה 15 נקרא -- סמן (ז90זט6) -- התכנית, והשורה אליה הוא מצביע כעת היא השורה
- הנוכחית. זוהי בדרך-כלל השורה האחרונה אותה הדפטת, אולם אתה יכול להעזר במקשים > או
+ כדי להניע את הסמן מטה או מעלה, (נסה זאת, בהשאירך את סמן התכנית בסופו של דבר --
בשורה 20.)
בהקישך על המקש 801, העתק של השורה הנוכחית יוצג בתחתית המסך -- במקרה זה, העתק של
שורה 26. החזק במקש 6 עד אשר הסמן []ינוע לקצה השורה, ואחר הדפס.
5+ (ללא פפדאם)
השורה בתחתית המסך תהיה כעת
ל + 4 דאז9? 20
הדפס 5158 חו תחליף את שורה 26 -- הקודמת, כך שהמסך יראה כך:
30 זם] 10
5=ם זם] 15
פ+3 זאוה?20
הרץ תכנית זאת בעזרת אט רתמדאם והסכום יוצג. הרץ תכנית זו שוב ואחר הדפס:
פ, ג דאזתץ
המשתנים נמצאים עדיין, למרות שהתכנית הסתיימה.
ישנה שיטה יעילה בהעזר ב-8011 כדי להפטר מהחלק התחתון של המסך. הדפס אוסף של שטויות
20
(ללא תִפַדַאם) והחלט לאחר-מכן כי אינך רוצה בכך למעשה. דרך אחת להשמיט זאת היא לאחוז
במקש 051018 עד אשר השורה תעלם; אך דרך אחרת הינה כדלהלן: באם תלחץ על דוסם, יוחלף כל
הכתוב בתחתית בהעתק השורה הנוכחית. באם תלחץ כעת על הִפִדאם, השורה הנוכחית תוחזר
לתכנית ללא שנוי, תוך השארת תחתית המסך ריקה מתוכן.
באם הדפסת בטעות שורה, לדוגמא --
2]5=8
היא תכנס לתכנית ואתה תווכח בטעותך. כדי להשמיט שורה בלתי-נחוצה זו, הדפס:
2 (כמובן עם דַפדא8)
לבטח תשתומם להווכח שסמן התכנית נעלם. דמיין לעצמך זאת -- כאילו הוא נחבא בין שורות סו ו-
5 כך שאם תלחץ על + הוא ינוע למעלה לשורה שו, ובאם תלחץ על > הוא ינוע למטה לשורה 15.
הדפס:
2 (וכן תִפְדַאם)
שוב, סמן-התכנית יחבא בין שורות 16 ו-15. כעת הקש 5011 ושורה 15 תופיע למטה: בעת שסמן
התכנית נחבא בין שתי שורות, 5011 מביאה למטה את השורה הבאה שלאחר מספר השורה החדש.
הדפס 8מדאמכדי לנקות את החלק התחתון של המסך.
כעת הדפס:
₪ (וכן תִפדַאת)
כעת סמן התכנית יחבא לאחר קצה התכנית: באם תקיש דוסם, שורה 26תובא לתחתית המסך.
לבסוף, הדפס
5
תראה כעת על המסך:
5 = 5 ד 15
5+ 3 דא 26
שורה 16 נעלמה מן המסך, אך היא עדיין בתוכניתך -- ניתן להוכיח זאת ע"י הקשת תמדאם.
ההשלכות היחידות של -- 15 1.151 הן יצירת רישום החל משורה 15, וקביעת -- הסמן בשורה 15.
באם ברשותך תכנית ארוכה מאד, אזי 1.151 תהיה לבטח יעילה יותר להזזת סמן התכנית -- מאשר >
ור*.
הדבר מדגים שימוש נוסף למספרי-שורה: הם מתנהגים כשמות לשורות התכנית כך שהנך יכול
להתייחס אליהם, לעומת האופן בו למשתנים ישנם שמות.
1 לבדו גורם לרישום החל מתחילת התכנית.
פקודה נוספת שראית בספרון-המבוא היא:
שפא
היא מוחקת תכניות קודמות ומשתנים קודמים במחשב. כעת הדפט בזהירות את התכנית הבאה,
המשנה מעלות בפרנהייט לצלזיוס.
1
חסופז שח 60 6זט81ז0קוח6+ ₪51 10
"0 060" ,"= 060" זאוהץ 20
זאוחץק 30
= ,= 060 זסזחם'* דוקא! 40
32(*9--ת),] דאוחק 50
0 0ד 60 60
אתה תצטרך להדפיט את המילים שבשורה 16. כמו כן, למרות שבצירוף 10 60 קיים רווח זוהי
למעשה מילת-מקש אחת (על 46
כעת הרץ זאת. אתה תראה את הכותרות המודפסות על המסך על ידי שורה 2₪, אך מה
קרה לשורה 16? כנראה המחשב התעלם ממנה, לחלוטין. ובכן, אכן כך. !אמא שבשורה 1 פרושו
5% (הערה), והוא שם אך ורק כדי להזכיר לך מה התכנית מבצעת. פקודת 38% מכילה /אפ3
שלאחריו כל דבר בו תחפוץ, והמחשב יתעלם מכך -- עד לסוף השורה.
עד כה, המחשב הגיע לפקודת ד20א! שבשורה 46 והוא ממתין שתדפיס ערך עבור המשתנה ? -
דבר אותו אתה יכול ללמוד מהעובדה שבמקום הסמן א לו ציפית קיים במקום סמן 8 . הכנס
מספר; זכור את 58דא5. כעת המחשב מציג את התוצאה והוא ממתין למספר נוסף. זאת עקב
שורה 60 המכילה 46 60.10 -- שמשמעותה בדיוק כאמור בה. במקום לבצע את התכנית ולהעצר,
המחשב קופ חזרה לשורה 46 ומתחיל מחדש. לכן הכנס טמפרטורה נוספת.
לאחר כמה שכאלו לבטח תתמה באם המכונה תשתעמם מכך אי-פעם; היא לא. בפעם הבאה שהיא
תבקש מספר חדש, הדפס 5102. המחשב יענה עם דווח 40:1 6חו| הו 07 א הו 5102 14 שפרושו --
הסיבה מדוע המחשב עצר והיכן (בפקודה הראשונה של שורה 40)
באם ברצונך להמשיך בתכנית הדפס --
אנא
והמחשב יבקש ממך מספר חדש.
כאשר נעשה שימוש ב-05א60%11 המחשב זוכר את מספר השורה שבדווח האחרון אותו שלח לך,
כל עוד שלא היה זה 0% 0, וקופץ חזרה לאותה שורה : במקרה שלנו פירושו של דבר קפיצה לשורה
9 לפקודת -- דטפאו.
החלף את שורה 66 ב-31 60170 -- לכך לא תהיה כל השפעה על מהלך התכנית. באם מספר השורה
בפקודת 10 60 אינו קיים, המחשב פונה לשורה הבאה שלאחר המספר הנתון. אותו הדבר מתקיים גם
לגבי אעת;:למעשה אטא לבדו פרושו ₪ אשא.
כעת הדפט מספרים, עד אשר המטך יתמלא. כאשר הוא מלא, המחשב יעלה את כל המחצית העליונה
של המסך שורה אחת כדי להכין מקום ריק, תוך איבוד תחילת המחצית העליונה. צורה זו נקראת
*גלגול" -- מסך (פַח:[56101).
באם התעייפת מכך, עצור את התכנית תוך שימו ב-5102 והצג את רישום התכנית בעזרת תפדאם.
בחן את הצהרת 1א81? שבשורה 50. הפיסוק בה -- הפסיק (,) -- חשוב מאד, ואתה צריך לזכור
שכאן הוא עוקב אחר חוקים מוגדרים בהרבה מאשר בפיסוק בשפת דיבור כגון אנגלית.
פסיקים גורמים להדפסה להתחיל או בשוליים השמאליים או בתחילת המסך, כתלות במי מופיע
קודם. לכן בשורה 56, הפסיק גורם לטמפרטורה בצלזיוט להיות מודפסת במרכז השורה. עם נקודה-
פסיק (), מצד שני, המספר הבא או -- המחרוזת הבאה -- מודפס מיד לאחר הקודם. אתה יכול
להווכח בכך בשורה 50, באם תחליף את הפסיק בנקודה-פסיק.
סימן פיסוק נוסף שבו אתה יכול להשתמש בפקודות דַא%1? הוא -- הגְרָש ('). הוא גורם לכל שקיים
בקרבתו להופיע בתחילת השורה הבאה במטך אך הדבר קורה בכל אופן בסוף כל פקודת דא81פ, כך
שלא תזדקק לגרש הרבה פעמים. זו הסיבה לכך שפקודת 1א291 בשורה 56 תמיד מתחילה את
ההדפסה בשורה חדשה, וגם הסיבה לכך שפקודת דַא2%1 שבשורה 36 מייצרת שורה ריקה.
22
באם ברצונך למנוע זאת, כך שלאחר פקודת 1א81? אחת -- זו שלאחריה תמשיך באותה שורה, תוכל
לשים פסיק או נקודה-פסיק בקצה הראשונה. כדי לראות כיצד הדבר פועל החלף שורה 50 בכל פעם
באחת מהבאות:
= דאזתת 56
:= דאזאע 56
וכן -
= דאז? 56
והרץ כל גרסה -- ובאם תחפוץ נסה גם זאת:
₪ דאותע 56
השורה עם הפסיק תביא להפרדת הכל לשתי עמודות, זו עם הנקודה-פסיק דוחסת את הכל יחד, זו
ללא תוספת מביאה למספר בכל שורה ולכך גם מביאה זו עם הגרש -- הגרש גורם לשורה חדשה
מעצמו, אך מונע את האחת האוטומטית.
זכור את ההבדל בין פסיקים ונקודות-פסיק בפקודות דא581; כמו-כן אל תבלבל אותם עם הנקודותיים
(:) המשמשות להפרדת פקודות באותה-שורה.
כעת הדפס שורות נוספות אלו:
6וחהח זטסץ 65 וה6 רז ההז סזכן 6זו!סכן פוחז ואג 100
5 דטקצ!ו 110
"!'';6ח;'" סו|46ז'' דטוהק 120
0 ד 60 130
זוהי תכנית נפרדת מקודמתה, אך אתה יכול לשמור את שתיהן במחשב באותה עת, כדי להריץ את
החדשה הדפס -
שש אטת
מאחר והקלט בתכנית זו הינו מחרוזת (קַחוז5) במקום מספר, היא מדפיסה שתי ציטטות -- זאת
כתזכורת-לך, ובכך חוסכת לך הדפסה. נסה זאת פעם עם כל כנוי בו תחפוץ לכנות או עצמך.
גם בפעם הבאה, תקבל שוב שתי ציטטות, אך אינך חייב להשתמש בהן באם אינך חפץ. נסה זאת,
כדוגמא. מחק אותן (עם * ועם 081015 פעמיים) והדפס:
5 ת
מאחר ואין כל מרכאות, המחשב יודע כי עליו לבצע חישובים: החישוב במקרה זה הוא למצוא את
הערך של משתנה השרשרת שכנויו 5 ח, שהוא השם אותו בחרת להכניס למחשב בסיבוב האחרון.
כמובן, הצהרת ד20א] פועלת כמו 5 ח = 5 ח ד1.5, כך שהערך של 5 ת נשאר ללא שנוי.
בפעם הבאה, לשם השוואה, הדפס שוב
5 ת
אך הפעם ללא מחיקת המרכאות. כעת, כדי לבלבלך, המשתנה 5 ח הוא בעל הערך "5 ח".
באם ברצונך להשתמש כמחרוזת קלט ב-5102, עליך להזיז תחילה את הסמן לתחילת השורה בעזרת
>
כעת הבט שוב בפקודה 166 אא שהיתה קודם. זוהי פשוט קפיצה לכתובת 166, אם כן האם לא
יכולנו פשוט לרשום10166 60? במקרה זה, התשובה הינה חיובית; אולם קיים הבדל. 166 אטת
מוחקתותחילה את כל המשתנים ואת המסך ואחר כך פועלת בדיוק כמו 166 0010. ששו 6010 -
33 .
אינה מוחקת דבר. ישנם מקרים שונים בהם תבקש להריץ תוכנית ללא איפוס משתנים; שם 6010
יהיה נחוץ -- ראשת הרסני. לכן מוטב שלא נרגיל עצמנו להדפיס אוטומטית 80 כדי להריץ תכנית.
הבדל נוסף הוא בכך שנתן להדפיס א80 ללא מספר שורה -- והוא יתחיל מהשורה הראשונה
בתכנית. 10 60 חייב להופיע תמיד עם מספר שורה. -
שתי תכניות אלו נעצרו מאחר והדפסת ?510 בשורת-הקלט; לעתים -- עקב טעות -- אתה יכ
לכתוב תכנית אשר אותה אינך יכול לעצור -- ואשר לא תעצור בעצמה, אם כן הדפס:
ד 00 266
שג אטת
זה נראה ערוך להמשיך עד אין קץ אלא אם תמשוך את תקע המתח מן השקע... אולם ישנה דרך פחות
דרסטית: לחץ על 511181 6475 עם המקש 57468 -- אשר מעליו כתוב 8854. התכנית תעצור עם
דווח ותגזקסזק סזהו 30% 1
בסוף כל הצהרה, התכנית בודקת באם מקשים אלונלחצים; בהתאם להם -- היא עוצרת. המקש
858 יכול גם לשמש כאשר אנו באמצע השימוש בטייפ-קסיטות או המדפסת, או מכונות שונות
אחרות אותן אתה יכול לחבר למחשב -- במקרה והמחשב מחכה שמכונות אלו יבצעו דבר כלשהוא
אך הן לא מבצעות זאת.
במקרים אלו קיים דווח שונה 6638 [א60 -- 885% פ. פטאזדא60 במקרה זה (ולמעשה ברוב
המקרים גם כן) חוזר על ההצהרה בה נעצרה התכנית; אולם לאחר הדווח ו גזקָסזק סזהו 885% 1
פטאד א 60 ממשיך הלאה עם ההצהרה הבאה תוך מתן אפשרות לקפיצות כלשהן להתבצע.
הרץ את תכנית השם, וכאשר היא מבקשת קלט -- הדפס:
(לאחר הסרת המרכאות) 5 ת
5 הינו משתנה בלתי מוגדר ולכן תקבל דווח שגיאה: 4תטס) זסח 311496 2. באם תדפיס כעת
"16 ח6/1 פַח 50" = 5 ה 157
(שלו דווח משלו 6:1 , א 6₪) וכן
דא
תווכח כי תוכל להשתמש ב-5ח במידע קלט ללא בעיה.
במקרה זה מטא11א60 קופץ לפקודה דַטקא! שבשורה 116. הוא מתעלם מהדווח מהצהרת 151
מאחר חה דווח 'א0', וקופץ חזרה לפקודה אליה התייחס הדווח הקודם, הפקודה הראשונה בשורה
6וו. הדבר מיועד להיות שמושי. באם התבנית עוצרת בשל שגיאה כלשהיא, אתה יכול לנסות --
דברים שונים כדי לתקן מצב זה ואז פטְאזַדא60 ימשיך לפעול לאחר-מכן.
כפי שציינו קודםדלכן, הדווח וחגוקסזק סזה: 885 .1 הינו יחודי בכך שלאחריו מטאז'דא60 אינו חוזר
על הפקודה בה נעצרה התכנית.
הרישום האוטומטי (אלו שאינם תוצאה מפקודת 1.151 אך מתרחשים לאחר הכנסת שורה חדשה)יכול
להביך אותך. באם תדפיס תבנית בת 50 שורות, שכולן הצהרות ואפא,
ואפה 1
ואפח 2
ופה 3
ופה 49
ופה 50
44
אזי תוכל לנסות זאת.
הדבר הראשון שיש לזכור הוא שהשורה הנוכחית (עם51) תופיע תמיד על המסך בדרך כלל בקרבת --
האמצע.
הדפס
17 (וכמובן 8פדא)
וכאשר תשאל ?56:01 ("לגלגל"?) -- מאחר והמסך התמלא -- לחץ ה עבור לא (סה). המחשב ודווח
5 00 -- אגאפתפ כ כאילו לחצת על אגפַת8. אתה עשוי במצב כלשהוא למצוא מה קורה
באם תלחץ על עבמקום ח; ח, 525 וכן 5102 נחשבים כ'לא' (סא), בעוד שכל האחרים נחשבים כיכן'
(65צ).
כעת לחץ על תמ1א5 פעם נוספת כדי לקבל רישום אוטומטי -- כשאתה אמור לראות את שורות 1 עד
2 על המסך. כעת הדפס:
אפתג:2
ותקבל את שורות 2 עד 23; הדפס
]אפת 28
ותקבל את שורות 7 עד 28. (בשני המקרים, ע*י הדפסת שורה חדשה, הנעת את סמן התכנית כך
שרישום חדש מתקבל.)
יתכן והדבר נראה שרירותי במידה מעטה. זהו למעשה נסיון לספק את רצונך, אף כי בניההאדם הנם
יצורים שהתנהגותם אינה נתנת לחיזוי, אין זה תמיד מצליח -- בנחוש כיאות.
המחשב שומר לעצמו רישום לא רק של השורה הנוכחית, זו שצריכה להופיע על פני המסך, אלא גם
של השורה העליונה במסך. כאשר היא מנטה ליצור רישום-התכנית, הדבר הראשון אותו הוא מבצע
- הינו להשוות את השורה העליונה לשורה הנוכחית.
באם השורה העליונה באה לאחר מכן, אזי אין כל טעם להתחיל בה, ולכן המחשב -- משתמש בשורה
הנוכחית כשורה עליונה חדשה -- ומבצע את הרישום המתאים.
במקרים אחרים, השיטה היא להתחיל את הרישום מהשורה העליונה ולהמשיך ממנה עד לרישום
השורה הנוכחית, תוך "גלגול" באם נדרש. בכל מקרה, תחילה מבוצע חישוב בכדי לבדוק מהו אורך
הרישום שיתקבל, ובאם התשובה היא שיהיה זה ארוך מדי, אזי המחשב מניע את השורה העליונה
כלפי מטה כדי לקרבה לשורה הנוכחית. כעת לאחר פעולתו על השורה העליונה, יתחיל המחשב את
הרישום משם. באם, כאשר הוא יגיע לסוף התכנית או לתחתית המסך, השורה הנוכחית נרשמה,
התהליך יעצר. בכל מקרה אחר, הוא "יגלגל" את המסך עד להופעת השורה הנוכחית על המסך, ולכל
שורה נוספת אותה ירשום הוא יניע את השורה העליונה שורה אחת-מטה כך שהשורה העליונה
תסחף בשכנות לשורה הנוכחית.
נסוי בהנעת השורה הנוכחית אפשרי בהדפסת
אפת מספר-שורה
מזיז את השורה הנוכחית אך לא את השורה העליונה, כך שרישומים מאוחרים יתכן ויהיו שונים.
למשל הדפס
ד
כדי לקבל את הרישום שיוצרת פקודת 1151 ואחר הקש תפדאפ שוב, כדי להביא את שורה/ו לשורה
העליונה. אתה אמור לקבל את שורות 1 עד 22 על המסך. הדפס
2 ד
5
המציג את שורות 22 עד 45; כאשר תקיש שוב על תפדאפ, תקבל כתגובה את שורות ו עד 22 על פני
המסך. הדבר יעיל יותר עבור תכניות קצרות מאשר עבור ארוכות.
בהעזר בתכנית מלאת ה-/%5% שלמעלה, הדפט
וב
ולאחר מכן ה כאשר תשאל על-ידי המחשב ?56:01. כעת -- הדפס
א
פטאד א 60 במקום זה הינו מהלך מחוכם, מאחר והחלק התחתון של המסך נהיה ריק; אולם אתה
יכול לשוב ולשמור את המצב הרגיל בעזרת 885% הסיבה היא ש-1.151 היתה הפקודה הראשונה
בשורה, ולכן 08א6011 חוזר על הפקודה. לרוע המזל, הפקודה הראשונה בשורה היא כעת
8 ד 60 עצמה ולכן המחשב פשוט נותר במצבו הנוכחי תוך ביצוע 05א11א60 שוב ושוב עד
אשר תעצור אותו.
תוכל לשנות זאת על ידי החלפת 1151 בפקודה 1.151: שעבורה פטאז1ד60% מגיב בדווח 0% ₪
(מאחררפטא60%11 קופץ לפקודה השניה בשורה, אשר מהווה את סופה) או
בי
שעבורה 08א6011 מגיב בדווח :06| זח6וח6וגו5 א (מאחר ו-פטאוד60 קופץ לפקודה שלישית
בשורה, שאינה קיימת).
עד כאן התוודעת להצהרות 1151 10 60 , מטאדא 60 , שפא ,דאזתק ,דפ דטקאז אט וכן ואפת,
אשר כולן נתנות לשימוש הן כפקודות ישירות או בשורות תכנית -- מצב המתקיים כמעט לגבי כל
פקודות ה-84516 במחשב -- וחזט6ק5 א2. אשת ,1151 ,פטאזדא60 וכן שפא אינן בשימוש נרחב
בתכניות אך גם הן נתנות לשימוש.
תרגילים :
ז. הכנס הצהרת 1151 בתכנית, כך שכאשר תריץ אותה היא תבצע 1151 על עצמה.
2. כתוב תכנית שתקלוט מספרים ותדפיס את ניכויי המס. (שהינו 15%). הוסף הצהרות דַא1? כך
שהמחשב יכריז מה הוא עומד לבצע וישאל לערך המחיר -- בנימוס רב. שנה את התכנית כך
שתוכל להכניט את רמת המס (6). (כדי לאפשר שנויים בעתיד)
5. רשום תכנית שתדפיס סכום של מספרים אותם תכניס למחשב. (הצעה: העזר בשני משתנים
שיקראו [%014 -- אשר יאופס.בהתחלה -- וכן וחשאו. הכנס את ערך ח6וו, סכמו עם [088),הדפס את
שניהם וחזור שוב על התהליך).
4 מה יוכלו פטא11א60 וכן וופא לגרום בתכנית? האם תוכל למצוא לכך שמוש?
46
פרק 3: החלטות
תמצית:
ו
=, >, <ל, = >, = ל, ל >
כל התכניות אותן ראינו עד כה נתנו לחיזוי -- ההוראות בהן בוצעו בצורה עוקבת ולאחר מכן חזרו
שוב לתחילת התכנית. צורה שכזו איננה שמושית. באופן מעשי -- קיימת הצפיה שהמחשב יחליט
החלטות ויפעל בהתאם להן. ההוראה המשמשת זאת היא בצורה -- ;1 (באם) משהוא נכון או לא
אפצד (אזי) בצע דבר-מה שהוא.
לדוגמא העזר ב/פא כדי לנקות את הזכרון מהתכנית הקודמת, הדפט והרץ תכנית זו: (שמשמעותהי
בפשטות -- משחק לשני שחקנים!)
זסם והטחה 106 00655 ₪1 10
5 :3 ד()קא! 20
כ ,''זס והטח 6חה1 00655" ד/וקצן 30
ד :"601זזסס 5 +החד'' דאוחק אשוזד 3=ם :| 40
"חוהּשה ץז1 ,ווהחו5 0סס+ 5 זהחד'' דוחק משוזוד 3>ם !| 50
"חזהּחָה ץזז ,וט סס+ 18 +החד'* דאוחק אפחחד 8<פ :| 60
0 0 60 70
אתה יכול להווכח שהצהרת (זח6ח:604) 2] הינה מהצורה -
.... אפחד תנאי ?]
כאשר "...." משמעותו סדרת פקודות, המופרדות ע"י פסיקים באופן הרגיל. התנאי הוא משהוא העתיד
להתקיים כנכון או לא-נכון: באם התוצאה נכונה -- אזי ההצהרה ביתרת השורה שלאחר ה-אפצד
מבוצעת, אולם בכל מקרה אחר תדלג התכנית על קטע זה והתכנית תבצע את השורה הבאה.
התנאים הפשוטים ביותר הנם בהשוואת 2 מספרים או מחרוזות: הם יכולים לבחון באם שני המספרים
שווים או באם האחד גדול מן השני; הם יכולים לבחון באם שתי מחרוזות זהות או האם אחת מקדימה
את השניה בסדר אותיות האלף"בית. הם משתמשים ביחסים =, <, >, < =, > = נְֶ<>.
= פרוש שווה. למרות שזהו אותו סימון כמו בפקודת 151, כאן הוא משמש במשמעות שונה.
51111 801וא/5 עם 8) משמעותו: *קטן מ", כך שמתקיים:
2>ו
> 2-
ו3%-
כולם נכונים, אולם
6>ו,.
אינם נכונים. 0-12
17
שורה 46 משווה את 4 ל-ט. באם הם שווים אזי התכנית נעצרת ע"י פקודת 5102. הדווח בתחתית
המסך 36:3, זח6וח1ג5, 5107 9 מציין שההצהרה השלישית (או הפקודה) -- בשורה 36 גרמה לתכנית
להעצר -- כלומר ?510.
שורה 56 קובעת באם פ קטן מ-4 ושורה 66 באם 5 גדול מ-ג. באם אחד מתנאים אלו -- נכון, ההערה
המתאימה מודפסת והתכנית ממשיכה בפעולתה לשורה 76 המורה למחשב לשוב לשורה 36
ולהתחיל הכל מחדש.
הפקודה 015 (ח56/6 016 -- נקה המטך) שבשורה 26 באה למנוע אפשרות מהשחקן השני לצפות
בקלט שהכנסת למחשב.
אם כן > (801.511181/א/5 עם ד) פרושו: *גדול מ-* -- בדומה ל->, אולם הפוך במשמעותו. אתה יכול
לזכור מי מביניהם הוא מה-בכך שתזכור שהקצה החד פונה תמיד למספר הקטן.
=> (5/1801.511187 עם (; אל תדפיס זאת כ-> שלאחריו = !) פרושו "קטן מ- או שווה לו" והוא דומה
אם כן לָ> מלבד העובדה שהוא נכון גם באם שני המספרים שווים: לכן 2>=2 נכון, אולם 262 אינו
נבון.
=< ך511187 .51801 עם 8) פרושו "גדול מֶ- או שווה לו" ומשמעותו בדומה לסימן <. <> (511181
1 עם ש) פרושו -- *אינו שווה לָ-", המשמעות ההפוכה לסימן =.
המתמטיקאים רושמים בדרך-כלל את הטימנים;= >, = < וכן <> בצורה >, ?, וכן 8 בהתאמה. הם
רושמים גם בצורה הבאה: "2%3>4" שמשמעותו "263 וכן 5>4", אך הדבר אינו אפשרי בשפת 84510.
הערה: בכמה גרסאות של 84516 -- אך לא בזו של גחטו60ק5-2% הצהרת ;] יפולה להיות מהצורה
מספר-שורה א1118 תנאי ץ]
שמשמעותה בדיוק כמו -
מספר-שורה 10 00 אפד תנאי ע]
תרגילים :
1. נסה תכנית זו:
"ץצ דאזת :5109 :"אי דאזתק שו
כאשר תריץ תכנית זו -- היא תציג א ותעצור עם הדווח -- 2: 10, זח6וח)59 5102 9. כעת הדפס
פטאז דא
אתה עשוי לצפות לקפיצה חזרה לפקודת הַד5109 -- מאחר ופקודת פטאז'נא60 חוזרת על ההצהרה
אליה התייחס הדווח. בכל אופן, כאן הדבר לא יהיה יעיל, מאחר והמחשב פשוט יעצור שוב ללא הצגת
ץצ לכן -- הדברים מסודרים כך שלאחר דיווח 9 -- 60110 קופץ לפקודה שלאחר הפקודה 5109,
כך שבדוגמא שלנו -- לאחר מ0א6011, המחשב ידפיס + ויגיע לסוף התכנית.
8
פרק 4: לולאות
תמצית:
אסע ,זאפא
50
נניח ואתה רוצה לקלוט במחשב 5 מספרים ולסכמם יחד. אפשרות אחת (אל תדפיס אותה -- אלא אם
כן אתה רואה זאת כחובה) היא לרשום
018|=0+ דש | 10
3 ד()קאן 20
8 זדם 30
8 ד()קאן 40
38 ד ם. 50
8 דטקאו 60
38 ד.ם) 70
8 ד()קאן 80
78 ד ם] 90
8 ד()קאו 100
8+ חח 6 110
|1013 דזוחק 120
שיטה זו אינה מהווה גישת תכנות טובה. היא נתנת לשליטה עבור חמישה מספרים, אולם אתה יכול
לתאר לעצמך כמה מייגעת תראה תכנית שכזו לסיכום עשרה מטפרים, ועד כמה בלתי-אפשרי יהיה
לסכם מאה מספרים.
פשוט יותר להגדיר משתנה שימנה עד 5 ולאחר מכן יעצור את התכנית, באופן הבא (אשר אותו הדפס
למחשב)
10180 דם | 10
1=+חטס6 דש | 20
8 ד()קאו 30
זה 50 זטוקחו 066 35 ב 81ה1 165 וס זסטוהטה=+הטס6 ו 40
38 דךד6ם)) 50
1 = 60 דש ] 60
0 סד 60 א=חז 5=>+חטסס | 70
|018ז דאוחץ 80
39
צורה זו של מנייה הינה כה שמושית עד כי ישנן שתי פקודות על מנת לפשטה :פקודת 0% ופקודת
דאפא; הן נמצאות בשימוש תמיד יחדיו. בהעזר בהן התכנית אותה הדפסת זה עתה תבצע אותו
הדבר כמו:
0%93!=0+ דש | 10
5 0ז 6=1 08 20
8 ך()קאו 30
זג 50 זטקחו ח066 45 2 1031 65וחוז 01 זספוהטחה=6 51 40
38 ד 50
6 דא 60
131 דאוחק 80
(כדי לקבל תכנית זו מן הקודמת עליך לערוך, בלבד, את שורות 26, 46, 66, וכן 76. 10 הינו 51411
ע,ם )4
שים לב ששינינו את זחטס-)ל-6. משתנה המנייה -- או משתנה הבקרה של לולאת דאפא-08ת חייב
לכלול אות יחידה בשמו.
התוצאה בתכנית זו היא שַ-₪ משתנה בין הערכים 1 (ערכו-ההתחלתי) 2, 3, 4 וְ-5 (הגבול) -- ולכל
אחד שורות 30, 46 "50 מבוצעות. כאשר 6 הגיע לערכו הגבולי -- 5 שורה 86 מבוצעת.
נוסף לכך, משתנה הבקרה אינו נדרש להשתנות בקפיצות של 1 כל פעם: אתה רשאי לשנות 1 זה לכל
ערך שתחפוץ על-ידי שמוש בְ-5152 בפקודת הָ-08. הצורה הכללית ביותר של פקודת 20% הינה:
גודל השנוי 5157 גבול 10 ערך התחלתי = משתנה בקרה 208
כאשר משתנה הבקרה הינו אות יחידה והערך ההתחלתי, הגבול וכן גודל הצעד הינם כל אותם דברים
שהמחשב יכול לחשבם כמספרים -- כגון: המספרים עצמם, סכומם או שמות משתנים מספריים. לכן,
באם תחליף את שורה 26 שבתכנית בשורה
26 208 6 = 170 557 2
אזי 6 ישתנה בין הערכים 1, 2.5 ו-4. שים לב שאין אתה צריך להגביל את עצמך למספרים שלמים וכן
שמשתנה הבקרה אינו צריך לשוות ערך הגבול המדויק -- הלולאה תמשך כל עוד שערכו קטן מערך
הגדול או שווה לו.
נסה את התכנית הבאה המדפיסה את המספרים בין 1 ל-19 בסדר הפוך
1- קםד5 1 סד 10=ח 08 10
ח דאוהץ 20
ח דאםא 30
טענו קודם כי התכנית תמשיך בביצוע הלולאה כל עוד שמשתנה הבקרה קטן מערך הגבול או שווה לו.
באם תבדוק את משמעות הדבר במקרה זה -- תגלה כי התוצאה הינה שטות מוחלטת. יש, אם כן,
לתקן את החוק הרגיל: באשר הצעד הינו שלילי התכנית תמשיך בביצוע הלולאה כל עוד משתנה
הבקרה גדול מערך הגבול או שווה לו.
עליך להיות זהיר בעת שימוש בשתי לולאות 1א5א-08 יחד, אחת בתוך השניה. נסה תכנית זו
המדפיסה את המספרים עבור אוסף שלם של כלי דומינו -- 6 נקודות:
40
10 =0₪ =0 0 6
חח 0 0=ח 08 20
קססו-ח ;" ";ח;":";וח דאוחץ 30
ח דא=₪א 40
זדאוחק 50
וח דא 60
קססו-וח
אתה יכול להווכח שלולאת ₪ הינה בשלמותה בתוך לולאה ח מבנה הקרוי 'לולאות מקוננות'
(10075 65006ח). מצב שיש להמנע ממנו הוא המצב שבו שתי לולאות דא%5-208 חופפות -- באשר
אחת אינה במלואה בתוך השני, כגון:
פחסזצש 15 הוהזףסזק פוחז ו5₪ח 5
6 0ז 06= 08 10
וח 10 0=ח 08 20
0 ;" ";ח;":'";וח דאוחק 30
קססו-ח וח דא 40
דאואץ 50
ח דא5א 60
שתי לולאות דַאפא-08: חייבות להיות או-אחת בתוך השניה או נפרדות לחלוטין.
דבר נוסף שיש להמנע ממנו הוא לקפוץ ממקום כלשהוא בתכנית מחוץ-ללולאה לתוך הלולאה.
משתנה הבקרה משתנה כיאות רק כאשר מתבצעת הוראת -- 08 ובאם תדלג עליה הוראת דאפא
המתאימה תבלבל את המחשב. לבטח תקבל הודעת-שגיאה שתציין 208 טסתוש זאפא או
בחטס] זסת 416וזגה/.
אין כל דבר שימנע בעדך מלהשתמש ב-08 וְב-דאפא בפקודה ישירה. למשל נסה:
דאפא: וח דא51?: 16 70 6 = ח 208
אתה יכול לעתים להשתמש בכך כדרך (מלאכותית במידה מסוימת) לעקיפת המגבלה המונעת ממך
להגיע לכל מקום שהוא באמצעות 10 60 -- עבור פקודה ללא מספר שורה. למשל:
וח דאשא :8 דאוחץ :3 דוקאו :0 קפ ז5 1 סז 6= הס
גודל הקפיצה בערך ₪ כפי שכאן גורם לפקודה לחזור על עצמה -- עד אין קץ.
גישה כזו אינה מומלצת, מאחר ואם צצה שגיאה אבדת את הפקודה ויהיה עליך להדפיסה שוב -
רפטאזדאסס לא יעזור.
תרגילים :
וי למשתנה בקרה אין רק שם וערך -- כלמשתנה רגיל, אלא גם גבול, גודל צעד, ויחוס להצהרה
שלאחר הצהרת הֶ-508 המתאימה. הוכח לעצמך כי כאשר הצהרת 508 מבוצעת -- כל אותו
מידע נתן להשגה (ע"י שימוש בערך ההתחלתי בערך הראשון אותו מקבל המשתנה) וכי מידע זה
מספיק עבור הצהרת אא המתאימה כדי לדעת בכמה להגדיל את הערך, באם לקפוץ חזרה ואם
כן לאיזו כתובת יש לקפוץ חזרה.
+41
7 ..קק == -
2. הרץ את התכנית השלישית שלמעלה ואחר הדפס -
6 דאזתץ
מדוע התשובה הינה 6 ולא 5?
תשובה: הפקודה 1א8א שבשורה 6 מבוצעת חמש פעמים ובכל פעם נוסף 1 לֶ-6. בפעם
האחרונה 6 מקבל את הערך 6 ואז הפקודה 1אפא מחליטה שלא להמשיך בביצוע הלולאה --
אלא להמשיך הלאה בתכנית -- כשערך 6 חלף מעבר לגבול שהוגדר לו.
מה יקרה באם תרשום 2 5192 בשורה 20?
. שנה את התכנית השלישית כך שבמקום שתסכם אוטומטית חמישה מספרים, היא תשאל אותך
למספר המספרים אותם -- תרצה לטכם. כאשר תריץ תכנית זו, מה יקרה אם הקלט שתתן יהיה
6- שפרושו שאינך רוצה לסכם מטפרים כלשהם ? מדוע אתה עשוי לצפות שהדבר יגרום לצרות
במחשב למרות שכוונתך ברורה ? (המחשב חייב לבצע חיפוש אחר הפקודה 6 דאפאז, (שבדרך כלל
אינו נחוץ) למעשה הדבר כולו נלקח בחשבון.
. בשורה 16 של התכנית הרביעית שלמעלה, שנה את שו ששו והרץ את התכנית. היא תדפיס את
המספרים בין 166 לָ-79 על פני המסך ולאחר מכן תשאל ?!6701: בתחתית המסך. זאת כדי לתת
בידך סכוי לראות את המספרים שמיד "יגולגלו- במסך מעבר לקצהו-העליון. באם תלחץ עלח,
07 או 885% -- התכנית תיעצר בדווח: 696 601 -- 885% ₪. באם תקיש במקש
כלשהוא, יגרום מעשה זה להדפסת 22 שורות נוספות וישאלך שוב.
השמט את שורה 36 מן התכנית הרביעית. כאשר תריץ את התכנית החדשה, היא תדפיס את
המספר הראשון ותעצור עם הודיעה 0% 6 באם תדפיט
תח דאפא
התכנית תמשיך פעם אחת בביצוע הלולאה ותדפיס את המספר הבא.
2
פרק 5: סברוטינות
(תת- שגרות)
תמצית:
8, אתטדפת
לעיתים, לחלקים שונים של התכנית -- תפקידים דומים לביצוע, ואתה תמצא את עצמך מדפיס אותן
שורות בשניים או יותר מקומות; אולם אין זה-הכרחי, אתה יכול להדפיס שורות אלו פעם אחת,
בצורה הידועה כסברוטינה, ולאחר מכן להשתמש בה, או לקרוא לה -- מכל מקום שהוא בתכנית
ללא צורך להדפיסה שוב.
לביצוע זאת, עליך להשתמש בהצהרות המתאימות -- 508 00 (שמשמעותה שחווטסז 508 60 -
גש לסברוטינה) וְב-את דפ (חזור).
צורת הרישום היא :
ח 508 00
כאשר ח הינו מספרה של השורה הראשונה בסברוטינה. צורה זו זהה בדיוק לְ-ף 6010 מלבד העובדה
שהמחשב זוכר היכן הצהרת 508 00 היתה בתכנית כך שהוא יכול לשוב -- לאחר ביצוע
הסברוטינה. המחשב מבצע זאת ע"י הכנסת מספר השורה ומספר ההצהרה שבתוך השורה (יחדיו הן
יוצרות את כתובת החזרה) בראש ערימה (הקרויה: מחסנית -- 566);
אפטסת
נוטל את כתובת החזרה מן המחטנית ומחזיר את התכנית להצהרה שלאחריה.
כדוגמא הבה נבחון שוב את תכנית ניחוש המספרים. הדפס אותה -- כמופיע בהמשך:
"36 0ה!60655 960חב3ּזזה6ז ה" ואחשח 10
5 :3 דנ(וקא| 20
פ," זססוהטח 6+ 855ש6'' דוקו 30
?07 :"ז60זזס6'' דאואק אשוזד פ=3 :| 40
0 508 60-אפחד פ>8 | 50
0 58 60 א=!]ד ם<ה =| 60
0 0ד 60 70
"חובּפָהּ צזד'' דצוחק 100
אמטדשח 110
43
הפקודה 10 60 בשורה 76 חשובה מאד, מאחר ואחרת התכנית תרוץ לתוך הסברוטינה ותגרום
לשגיאה (508 60 זטסחאאי אתשדפת 7) כאשר תגיע התכנית לפקודת הָ-אתשדפא.
לפנינו תכנית נוספת, טפשית במקצת, המדגימה את השימוש בהצהרת 508 00:
0=א דם ו 100
0 58 60 110
5 דאוחץ 120
4א=א דם.) 130
0 508 60 140
5 דאוחץ 150
2א=א דם ] 160
0 528 000 170
5 דאוחץ 180
דפ 190
0 ךש ] 500
א סד 1=ץ 08= 510
ץ+5=5 זם.] 520
ץ דאםא 530
אח דשה 540
באשר תכנית זו רצה, נסה לבחון באם אתה מבין מה מתרחש. הסברוטינה מתחילה בשורה (506.
סברוטינה יכולה באושר רב לקרוא לסברוטינה אחרת, או אף לעצמה (סברוטינה הקוראת לעצמה היא
סברוטינה רקורסיבית), כך שאל תחשוש מקיום מספר רב של רבדים.
4
פרק 6: 251085 ,דג ,שגחת:
תמצית :
םתסדסטת ,דאס .סאמת
במספר תכניות קודמות ראינו כי אינפורמציה -- או מידע (3ז49), נתנים-להכנסה ישירות למחשב
באמצעות ההצהרה דטפא1. לעתים הדבר יכול להיות מאד מייגע, במיוחד באם מידע רב חוזר על
עצמו בכל עת שהתכנית רצה אתה יכול לחטוך זמן רב בעזרת הפקודות 560 ,דכ ן-055ד5מת.
למשל
10 ₪50 6
6 דאוחץ 20
0 ה דהס 30
07 40
הצהרת 884 מורכבת מ-850 שלאחריו רשימת שמות משתנים -- המופרדים באמצעות פסיקים.
הדבר פועל בדומה להצהרת דַ0פא1 מלבד העובדה שבמקום הדפסת הערכים המוקנים למשתנים,
המחשב מקבל את הערכים מהצהרת 2418.
כל הצהרת 241 היא רשימת בטויים -- מספריים או בטויי"מחרוזת המופרדים באמצעות פסיקים.
אתה יכול למקמם בכל מקום בתכנית לפי רצונך, מאחר והמחשב מתעלם מהם מלבד כאשר הוא
מבצע 2 854, דמה לעצמך את הבטויים מכל הצהרות ה-0414 בתכנית כמחוברים יחדיו ליצירת
רשימה ארוכה אחת של בטויים, היא רשימת ה[-41 18 414 0). בפעם הראשונה בה המחשב נגש
לביצוע 854 של ערך כלשהו, הוא נוטל את הבטוי הראשון מרשימת ה-ג21; בפעם הבאה הוא
יטול את השני; וכך -- בכל התקלות בהצהרות 854 -- עוקבות, הוא יפעל באופן דומה לגבי כל
רשימת ה-418. (באם הוא ינסה לקרוא מעבר לטוף הרשימה תתקבל שגיאה).
שים לב שזהו -- בזבוז זמן לרשום הצהרות 041 בפקודות ישירות מאחר ן-0 95 לא ימצא אותן.
הצהרות 241 יכולות להופיע רק בתכניות.
הבה נבחן כיצד מתאימות אילו יחדיו בתכנית שזה עתה הדפסת שורה 16 מורה למחשב לקרוא
שלושה קטעי מידע ולהקנותט למשתנים ג, פו-6. שורה 26 מורה לבצע הדפסה של שלושת המשתנים.
הצהרת ה-04143 שבשורה 3:6 נותנת את הערכים של 3 ,פַן-6. שורה 46 עוצרת את התכנית. בכדי
לראות את האופן בו מתבצעים הדברים -- שנה את שורה 26 לצורה הבאה
8 דאוחץ 20
5
האינפורמציה ברשימת ה-241 יכולה להיות חלק מלולאת דאפא-08ת. הדפס:
6 סד 1=ח חס 10
כ גשה 20
12 ה דגס 30
כ זאוחץ 40
ח דאפא 50
60 07
כאשר תכנית זו רצה -- אתה יכול לצפות בהצהרת ה-%540 הנעה ברשימת ה-014. הצהרות
1 יכולות אף להכיל משתני-מחרוזת. לדוגמא:
10 ₪0 6
646 63%:6 סחד'' זאוק 20
"1982 ,15% 6חט'' דכ 30
?סד 40
זוהי הדרך הפשוטה להבאת בטויים מרשימת ה-41: התחל בתחילת הרשימה ופעל דרכה עד
לסיומה. בכל אופן, אתה יכול לגרום למחשב לנדוד ברשימת ה-₪2414 באמצעות פקודת
ה-51085מ9. זו כוללת 8551085 שלאחריו מספר שורה, וגורמת להצהרות 850 מאוחרות
להתחיל לקבל את המידע מההצהרה הראשונה בשורה שמספרה נתון -- או מזו שלאחריה. (אתה
עשוי לוותר על ציון מספר השורה -- ומקרה זה זהה למצב בו הדפסת את מספר השורה של השורה
הראשונה בתכנית).
נסה תבנית זו:
10 ₪50 3,
0 זאוחץ 20
0 ₪570 30
2ץ,א ₪50 40
2 דאוחץ 50
3 ד 60
קד 70
בתכנית זו המידע הנדרש ע"י שורה 16 הביא למצב 3=1 2=פ. ההוראה: 16 8551095 מאפסת את
המשתנים ומאפשרת לבצע 850 ל"א 2 כשההתחלה היא מהמספר הראשון בהצהרת ה-א41.
הרץ תכנית זו שוב ללא שורה 36 ובחן את המתרחש.
6
פרק 7: בטויים
תמצית:
הפעולות +, - *,/
בטויים, סימון מדעי, שמות משתנים
נוכחת עד כה בכמה מן הדרכים בהן וחטזז66ק5 2% יכול לחשב מספרים. הוא מטוגל לבצע את ארבע
הפעולות האריתמטיות +, -=-, *, / (זכור כי * משמש להכפלה ו-/ לחילוק)והוא מסוגל למצוא את ערכו
של משתנה בידיעת שמו.
הדוגמא -
6 5 * חטם = אג: 17
מרמזת על העובדה החשובה שחשובים אלו יכולים להיות מורכבים. מורכבות שכזו, כגון 15/166*
חטפ נקראת בטויי (ת69910זקא6): א כך בטוי בינו דרך תיאור קצרה להורות למחשב לבצע מספר
חשובים, אחד אחר השני. בדוגמא שלפנינו, הבטוי 100 / 15 * ותטפ פרושו -- 'בחן את ערכו של
המשתנה הקרוי "וחטפ", הכפל אותו במספר 15 וחלק התוצאה במספר 106
באם עד כה לא בצעת פעולות אלו, אנו ממליצים לך לעבור על ספרון-המבוא לשם לימוד האופן בו
וחטז60ק5 2% מטפל במספרים ובסדר בו הוא מחשב בטויים מתמטיים,
לסכום :
הכפלות וחלוקות מתבצעות תחילה. להן -- עדיפות גבוהה על חיבור וחיסור, באופן יחסי לזה -
לכפל או חילוק אותה עדיפות -- כלומר הכפלות וחלוקות מתבצעות לפי סדר הופעתן משמאל לימין
-- בבטוי.לאחר מכן מתבצעים החיבורים וההחסרות, באם קיימים בבטוי, כשגם להם באופן יחסי זה
לזה -- אותה עדיפות, כך שסדר הביצוע הוא לפי סדר ההופעה -- גם כן.
למרות שכל שנדרש ממך לדעת הוא -- באם פעולה אחת היא בעדיפות מעל פעולה שניה, המחשב
בודק זאת בעזרת מספר בתחום שבין 1 ל-16 המייצג את העדיפות של כל פעולה: הפעולות * ן-/ הן
בעלות עדיפות 8 והפעולות + ן -- בעלות עדיפות 6.
סדר זה של חישוב הינו קשיח לחלוטין, אולם אתה יכול לעקוף אותו על-ידי שמוש בסוגריים: כל מה
שנמצא בתוך-סוגריים מחושב תחילה -- ואחר נחשב כמספר יחיד.
בטויים הנם שמושים מאד -- מאחר ובכל עת בה המחשב מצפה לקלוט ממך מספר, אתה יכול לספק
לו בטוי במקום זאת -- והוא יפעל למציאת התשובה, היוצאים מן הכלל הנם כה מעטים, עד כי נזכירם
בדיון-במקרים המתאימים להם.
אתה רשאי לחבר יחד כמה מחרוזות שרק תחפוץ (או משתני-מחרוזות) בבטוי אחד, ובאם תחפוץ
תוכל להעזר גם בסוגריים.
אנו חייבים לציין לך -- כאילו שמות משתנים רשאי אתה להשתמש ובאילו אינך רשאי. כפי שכבר
ציינו, שמו של משתנה -- מחרוזת חייב להיות אות יחידה שלאחריה הסימן 5; גם שמו של משתנה --
הבקרה בלולאת אפא-08 חייב להיות אות יחידה; אולם שמות המשתנים המספריים מוגבלים
פחות. אלו יכולים לכלול את כל האותיות והספרות כל עוד שהתו הראשון יהיה אות. אתה רשאי
47
לשים מרווחים בשם, כדי להקל על קריאתו, אך אלו לא יחשבו על-ידי המחשב בחלק מן השם. כמו כן,
אין הבדל באם תדפיט את השם באותיות דפוס או אותיות כתיב.
לפנינו מספר דוגמאות לשמות משתנים המותרים במחשב:
%
12
2 ₪ה 3 זטסת )וי ח2241 זטס זו 76 סז 4016 26 ז6ט6ה [541 1 +גחז קתס1 50 15 6הה4ח 115
אןפ 6זג 6 שסתח
(שני שמות אחרונים אלו נחשבים זהים,
% 686ץשץצסת
ומתייחסים לאותו משתנה.)
השמות הבאים אסורים כשמות משתנים:
(מתחיל עם ספרה) 2001
(מתחיל עם ספרה) 5 3
(* אינו ספרה או אות) חיפיגיא
(-- אינו ספרה או אות) 5 -- ה0)קת61ת0%/
בטויים מספריים נתנים ליצוג ע"י מספר ומעריך (אקספוננט): שוב, התייחס לספרון המבוא. נסה את
הדוגמאות הבאות כדי שתובהר לך הנקודה:
6 2.34 דאזפת
1 2.34 דאזתת
2 2.34 דאזאץ
וכך הלאה עד -
5 2.34 דאזתת
תווכח כי לאחר זמן מה המחשב יתחיל בעצמו לרשום בסימון-מדעי. זה מאחר ולא יותר מארבע-
עשרה תוים נתנים לשימוש כדי לכתוב מספר. נסה גם את -
1 חחאוחק
2 חדחמטוחץק
וכך הלאה.
דאזא? מאפשר הצגה -- רק של 8 הספרות המשמעותיות ביותר של מספר. נסה
7 4294967295 דוחוגק
הדבר מוכיח כי המחשב יכול לשמור את ספרות המספר 4294967295 למרות שאינו מוכן להציג את
כולן מיד.
בָ"וזט602ק5 2% נעשה שימוש באריתמטיקת -- נקודה -- צפה שפרושו -- שהמחשב שומר בנפרד
את ספרות המספר (המנטיסה) ואת מיקום הנקודה (האקספוננט"המעריך). הדבר אינו תמיד מדויק,
אפילו עבור מטפרים שלמים. הדפס:
6+1ו6 -- 6ו16, 1616 -- ו+6ו6ו, דאותק
המספרים נשמרים בדיוק של כתשע וחצי ספרות, כך שהמספר 1610 גדול מדי כדי להשמר בדיוק כפי
שהוא-במקורו. אי הדיוק (למעשה בסדר גודל של 2) גדול מֶוּ, כך שהמספרים 1:10 וכן 1610+1 נראים
למחשב כשווים זה לזה.
38
להצגת דוגמא משונה יותר, הדפס:
9 - 1+ 569 דאזתץ
כאן אי-הדיוק של 569 הוא 1 בלבד והמספר 1 שיש לטכמו בהמשך מעוגל למעשה ל-2. המספרים:
1 + 69 וכן 2 + 569 נראים למחשב כשווים זה לזה.
השלם הגדול ביותר שנתן לשמרו מדויק"בשלמותו הוא המספר השווה ל-1 פחות מֶ-2 בחזקת 32 (או
-- 4,294,967,295).
המחרוזת ** -- ללא כל תוים בתוכה נקראת "המחרוזת"הריקה" (קַה1!50טח). זכור כי למרווחים ישנה
חשיבות, ומחרוזת-ריקה אינה זהה למחרוזת הכוללת בתוכה מרווחים בלבד.
נסה:
"?6ץ "6א3// פ5חגקָ6חת!" 66ת5וחו] טסץ 6טגצן'' [אזאק
כאשר תקיש תמִדַא8 יתקבל סימן-שאלה מהבהב המציין כי קיימת שגיאה במקום כלשהוא בשורה.
כאשר המחשב יגיע למרכאות בתחילת "66ג// פחגק6חח1?" הוא חושב אותן כמציינות את סיום
המחרוזת "60ת8ח1] טסץ 11366", ולכן אינו יכול לפענח את '966// 5ח3ק6חחז'.
כדי להתגבר על בעיה שכזו -- בכל עת שתרצה לרשום מרכאות באמצע מחרוזת, עליך לרשמם
פעמיים -- כבדוגמא הבאה:
" ?ל6ץ" %6// 5ה3ק6חחו'" "66ח5ות!] טסץ 11306" דאזתק
כפי שאתה יכול ללמוד ממה שמודפס על-המסך, כל צמד מרכאות -- מתקיימות למעשה פעם אחת;
עליך רק להדפיסן פעמיים כדי שיוכרו על ידי המחשב כיאות.
9ך>
| ו
פרק 8: מחרוזות
תמצית:
פריסה, בעזרת 10. שים לב שסימון זה אינו סטנדרטי בְ-84516.
למחרוזת נתונה, תת-מחרוזת שלה כוללת כמה תוים עוקבים מתוכה שנלקחו בסדר עוקב.
לכן "קחוזז5" הינה תת-מחרוזת של "ַחז: ז6פָקוט", אולם "פַחוז5 ל" וְ"קָ6ז שָוּט" אינן כאלו.
קיימת צורת סימון הקרויה פריסה (פַח51:6) לתיאור תת-מחרוזת, ונתן להשתמש בה לבטויי מחרוזת
שונים הצורה הכללית היא:
(סיום 10 התחלה) "בטוי-מחרוזת"
ולכן לדוגמא -- מתקיים:
"45666)" )2 102 5( = "5606"
באם תשמיט את ההתחלה, המחשב מניח שהכוונה למספר 1. באם תשמיט את הטיום המחשב מניח
שהכוונה לאורך המחרוזת. לכן -
"5(="30006 00 5(=''30660)")1 )ד )"/0000ב'*
"6(=''00001 100 30606)")2 "= ( 0)ד 01"')2סטהּ'*
"]6(=''30000 )ד 061")1ססב3ּ''=( )ד )")60טבּ'*
אתה יכול לרשום את האחרון גם בצורה: () "356066"
צורה שונה במקצת מתעלמת מִ-10 וכוללת מספר אחד בלבד.
"3(='0 102 0006)')3(=''406061)3ב'
למרות שבאופן-רגיל, גם ההתחלה וגם הסיום צריכים להתייחס לחלקים קיימים במחרוזת, כלל זה
מבוטל על ידי כלל אחר: באם ההתחלה גדולה מהטיום, התוצאה היא המחרוזת-הריקה. לכן:
(7 0ד 8606]")5"
יגרום לשגיאה קַחסזי זקוע6פט5 5 כיון שהמחרוזת מכילה 6 תוים בלבד וְ-7 גדול מדי, אולם:
""=(7 10 606)")8ט1ּ"
""=(0 0ד 608/")1סה'
ערכי ההתחלה והטיום אסור שיהיו שליליים, אחרת תתקבל הודעת השגיאה 86ח3 )0 :טס ז6ק6זחו .
התכנית הפשוטה הבאה מדגימה כמה מכללים אלו:
]350000 דש ] 10
6 סז 1=ח 08 20
(6 סד ח)36 דאוחץ 30
ח דא5א 40
קסד 50
הדפס /שפא באם תכנית זו הודפסה על ידך, והכנס את התכנית הבאה:
"ו ₪ ה/ש 5 35="81 דש | 10
0 0ד 1=ח 08 20
(10 סד (ח--10(,35))16 ד ה)85 דאוהץ 30
ח דאשא 40
?ד 50
עבור משתני-מחרוזת, אנו יכולים לא רק לפרק תת-מחרוזות אלא גם להצמיד להן תת-מחרוזות.
למשל -- הדפס:
"ותטזז60ק5 628 וח" = 35 17
"ידיד = (8 10 5) 25 15
5 דאואץ
שים לב כיצד, מאחר ותת המחרוזת (8 10 5) 35 היא באורך 4 תוים, יעשה שימוש רק ב-4 הכוכבים
הראשונים. זוהי תכונה אופינית של הצמדת תת-מחרוזות: תת-המחרוזות חייבות להיות בדיוק באותו
הגודל אחר-כך כפי שהיו קודם. כדי להבטיח שכך באמת יתקיים, המחרוזת אותה מצמידים נקטמת
בקצה הימני באם היא ארוכה מדי או מתמלאת ברווחים באם היא קצרה מדי -- בדומה לשומר-
הפונדק בסדום שדאג ל"התאים* את אורחיו למטתם על ידי מתיחת רגליהם או לחלופין קצוץ
כפותיהם.
באם תנטה כעת
"6ז6ו|: ס[[136" = () 35 ד1
וכן -
5 דאזאץ
תווכח שאותו תהליך התרחש שוב (הפעם עם מרווחים) מאחר [-45 נחשב כתת-מחרוזת.
"66 116110" = 45 דש]
יבצע זאת כהלכה.
בטויי מחרוזת מסובכים ידרשו שימוש בסוגריים סביב להם בטרם יהיה אפשר לפרוס אותם. לדוגמא :
"420066" = (2 10 1) 06/7" + "16"
"פג" = (2 10 1) ( "]706+ "456")
תרגיל :
1. נסה לרשום תכנית אשר תדפיס את היום בשבוע תוך שימוש בפריסת מחרוזת.
רמז: העזר במחרוזת :59 םת זטת1 664// 1065 תסוא תט6.
1
ששפממהפפטטטטטסטהטטאטאטטטאטאטפההטטהההש
פרק 9: פונקציות
תמצית:
תפס
א ד5, 41/, אס5, 485, דאז, ת50
את
הבה נבחן מכונה ליצור נקניק. אתה מכניס בקצה אחד שלה בשר, מסובב ידית ובקצה השני מתקבל
נקניק. מבשר חזיר יתקבל נקניק חזיר, מבשר בקר -- נקניק בקר וכו'.
פונקציות דומות להפליא למכונת-הנקניק, אלא שקיים כמובן הבדל : הן פועלות על מספרים ומחרוזות
ולא על בשר. אתה מספק ערך אחד (הקרוי -- ארגומנט), מבצע עליו מספר חישובים ומקבל ערך שני
- התוצאה.
הכנטת בשר *4 מכונת נקניקים => קבלת נקניק
הכנסת ארגומנט *4 פונקציה *> קבלת תוצאה:
ארגומנטים שונים מביאים לתוצאות שונות, ובאם הארגומנט אינו מתאים לגמרי -- הפונקציה תעצור
ותדווח על השגיאה.
כפי שקיימות מכונות שונות ליצור מוצרים שונים -- אחת לנקניקים, אחרת ליצור סלטים -- כך
פונקציות שונות יבצעו חישובים שונים. לכל אחת ערך משלה -- להבדילה משאר הפונקציות.
אתה תוכל להשתמש בפונקציות בבטויים על ידי הדפסת שמן כשלאחריו האגומנט, וכאשר הבטוי
מחושב -- מחושבת התוצאה של הפונקציה.
כדוגמא -- נבחן את הפונקציה א15, המספקת את אורכה של מחרוזת. הארגומנט שלה הוא
המחרוזת שאת אורכה מבקשים לדעת והתוצאה היא האורך, כך שאם תדפיס
זוג|6הו5" אם דאזתק
תהיה תשובת המחשב -- 8 שהוא מספר האותיות בשם 'ז51611'. (כדי לקבל את הפונקציה א18, כפי
שגם קורה לגבי רוב שמות הפונקציות, עליך להעזר באופן-הפעולה-המורחב (066/(-06808א5): לחץ
על 511181 625 עם 54151 1801אצ5 באותה העת כדי לשנות את הסמן מהצורה(]לצורה[] -- ואז
הקש על המקש 6
באם אתה מערב פונקציות ופעולות בבטוי אחד, אזי הפונקציות יחושבו לפני ביצוע הפעולות. יחד עם
זאת, כמקודם, אתה יכול לעקוף כלל זה על ידי שימוש בסוגרים. לדוגמא -- לפנינו שני בטויים
הנבדלים רק בסוגרים, אך החשובים מבוצעים בסדר אחר לגמרי בכל מקרה (למרות שכך קורה --
התוצאה הסופית זהה בשני המקרים).
("10085ס + "66ז") אס "פס" א + "ספת" אם1
("5מַקַ10ס 60זק") אם1 "פפקס|ם" אם1 + 4
"פשקס|8 60ות- אם1 6 + 4
שו שו
2
לפנינו מספר פונקציות נוספות:
5 הפיכת מספרים למחרוזות: הארגומנט הינו מספר והתוצאה היא מחרוזת שתופיע על המסך
באם המספר היה מוצג על ידי הצהרת 1א281. שים לב כיצר שמה מסתיים בסימן 5 -- כדי להזכיר
שהתוצאה מפונקציה זו היא מחרוזת. לשם דוגמא, אתה רשאי לומר
12 = 45 דש
שלו אותה השלכה כמו הדפסת ההוראה
"16" = 45 ד
או - יכולת אף לומר,
ששש.6שו 5185 אפ דאזתת
ולקבל את התוצאה 3 מאחר ן-"ששו* = 60.000₪ו 515.
₪ דומה לֶ-5185 אך הפוכה: הוא הופך מחרוזות למספרים. לדוגמא:
5 = "3.5" 4
במובן מסוים, .41 היא ההפוכית של -- 5185, מאחר ואם תקח מספר כלשהוא, תפעיל עליו את
הפונקציה 5185 ולאחר מכן תפעיל את 1/ -- תקבל שוב את אותו מספר ממנו התחלת.
אולם, אם תקח מחרוזת, תפעיל עליה את .41/ ואחר כך תפעיל על תוצאתה את 5185, לא תמיד
תקבל את המחרוזת המקורית.
41 הינה פונקציה "חזקה"-מאד, מאחר והמחרוזת המהווה את הארגומנט שלה אינה מוגבלת להיות
דמוית מספר פשוט -- היא יכולה להיות כל בטוי מספרי שהוא. לכן -- לדוגמא
6 = "3 * 2" 741
אוגם -
6 = ("3 *" + "2") 41
כאן מתבצעים שני תהליכים. בראשון, הארגומנט של 41 מחושב כמחרוזת: בטוי המחרוזת
"3 *" + "2" מחושב כדי לתת את המחרוזת "3 * 2". לאחר מכן נמחקות מהמחרוזת המרכאות ומה
שנותר מחושב כמספר: לכן 3 * 2 מחושב כדי לתת את התוצאה 6.
הדבר עשוי לבלבל מאד באם לא תפקח עינים; לדוגמא
"ח"לש" "ןגע" ]זע דא זאתק
(זכור כי בתוך מחרוזת -- המרכאות צריכות להכתב פעמיים. באם תעמיק בתוך-המחרוזות תדרש
להגדיל לארבעה מרכאות ואפילו שמונה).
קיימת פונקציה נוספת, דומה לפונקציה .31/, למרות שהיא פחות חזקה ממנה -- הנקראת 5 41/.
המשתנה שלה הוא עדיין מחרוזת אך גם -- התוצאה המתקבלת היא מחרוזת. כדי לראות כיצד היא
פועלת זכור כיצד פועלת .41 / בשני צעדים: תחילה מחושב הארגומנט כמחרוזת, לאחר מכן מוסרות
מרכאות -- המחרוזת וכל שנשאר מחושב כמספר. עבור 5 .41 הצעד הראשון נשאר זהה, אולם
לאחר שמרכאות המחרוזת הוסרו בצעד השני, כל שנותר מחושב כמחרוזת אחרת. לכן
"הסתטק זוטז" = """תסתטק זוטזק""" 5 1
(שים לב כיצד המרכאות משגשגות שוב)
17 5 = "99"
3
והדפס את כל הבאים : 1.25 /, 1.7257 """1"""5/, 35 15 "35" 5 41 וכן "41.5"""257"7/ש. כמה
מאלו יתבצעו וכמה לא; נסה להסביר את כל התשובות. (שמור על קור-רוח)
50% היא פונקצית-הסימן (חק:6. זוהי הפונקציה הראשונה שאינה קשורה למחרוזות, מבין אילו
שראית, מאחר והן הארגומנט והן התוצאה הנם מספרים התוצאה היא 1+ באם הארגומנט חיובי, 6
באם הוא אפס "גו --) באם הארגומנט שלילי.
5 היא פונקציה נוספת אשר הארגומנט והתוצאה שלה הנם מספרים. היא הופכת את הארגומנט
למספר חיובי (שהוא התוצאה) על ידי *שכיחת" הסימן, כך שלמשל -
485 - 3.2 = 485 3.2 = 2
דא פרושו ז6קשוח! -- החלק השלם במספר, אפשרי גם מספר שלילי פונקציה זו הופכת מספר לאד
שלם למספר שלם על ידי *זריקת- השבר שבמספר, כך שלדוגמא
3= 39 דא
היה זהיר בעת השימוש בפונקציה זו עם מספרים שליליים, מאחר ופונקציה מעגלת את התוצאה תמיד
כלפי מטה: לכן, לדוגמא
4 = 3.9 -- דא]
08 מחשבת את השרש הרבועי (416-1006ט) של מספר -- כאשר התוצאה מוכפלת בעצמה נותנת
את הארגומנט. לדוגמא
2 = 4 508% מאחר [ן-47 = 2 * 2
5 = 0.25 50 | מאחר ך0.5 = 6.25 * 0.25
6% = 5082 | (בקרוב) מאחר ך2.200600 = 14142136 * 1.4142136
באם תכפיל מטפר כלשהוא (אפילו שלילי) בעצמו -- התשובה תהיה תמיד חיובית. לכן -- פרושו של
דבר שלמספרים שליליים אין שורשים רבועיים, ולכן באם תפעיל את 5008 על ארגומנט שלילי תקבל
דווח שגיאה )ח6וחטקז4 6ו!4שח1 חג/.
אתה יכול גם להגדיר פונקציות משלך. שמות אפשריים להן הם א שלאחריו אות (באם התוצאה היא
מספר) או א שלאחריו אות המלווה בסימן 5 (באם התוצאה הינה מחרוזת). בפונקציות אלו קיימת
הקפרה על שימוש בטוגריים: הארגומנט חייב להופיע בתוך טוגרים.
תוכל להגדיר פונקציה בעזרת הצהרת 255 במקום כלשהוא בתכנית -- לדוגמא, לפנינו הגדרת
הפונקציה 1%5 שתוצאתה היא ריבוע הארגומנט:
א ]0 6זגטף5 6 ]אמג :א * א = (א)5 א פסס שו
תפס מתקבלת גם באופן-הפעולה-המורחב (066/ 660666א5) בעזרת 513171 .5801 עם 1ו. כאשר
תדפיס זאת המחשב יציג אוטומטית את ,מאחר ובהצהרת פכ -- את עוקב תמיד לאחר פפכ. לאחר
זאת התו 5 משלים את שם הפונקציה -- גאת.
ה-א שבסוגרים הוא השם שבעזרתו תוכל להתייחס לארגומנט, אתה רשאי להשתמש בכל אות יחידה
שתרצה (או באם הארגומנט הינו מחרוזת -- באות יחידה שלאחריה 5).
לאחר הסימן = נמצאת הגדרת הפונקציה. זו יכולה להיות בטוי כלשהוא, והיא יכולה להתייחס
לארגומנט על ידי שימוש בשם אותו כינית אותו (במקרה זה -- א) כאילו היה זה משתנה רגיל.
כאשר הדפטת שורה זו, קראת לפונקציה זו כאילו קראת לאחת מן הפונקציות המוגדרות כבר במחשב,
ע"י הדפסת שמה, א1, כשלאחריו הארגומנט. זכור כי כאשר תגדיר פונקציה בעצמך, המשתנה חייב .
להופיע בתוך סוגרים. נסה זאת מספר פעמים:
(2) 25 זאזתתק
(4 + 3) את זאזפע
4
(3 + 2 / "תש6אסות6"" אם) פא דא + 1 דאזתק
על ידי הכנסת הצהרת 258 מתאימה בתוך תוכניתך, תוכל להשתמש בפונקציות אותן הגדרת
בבטויים שונים, באותה מידה של חופשיות כאילו השתמשת בפונקציות הקיימות כבר במחשב.
הערה: בכמה גרסאות של 84516, אתה חייב אף לרשום את הארגומנטים של-מספר פונקציות
הקיימות כבר במחשב בתוך סוגריים. אין הדבר כך בשפת 84516 של חוזט600פ5 -א2.
דא מעגלת תמיד כלפי מטה. כדי לעגל לשלם הקרוב ביותר -- הוסף תחילה את הערך 0.5. אתה יכול
לבדך להגדיר פונקציה שתבצע זאת
א ווק ]אםת :(6.5+א) דאז = (א) אץ זמס 26
חן ז69165ת 6 0: 660 תטסז
תקבל -- לשם דוגמא :
2 = (2.4) זא? 3 = (2.9) את
2- = (2.4--) זאץ 3- = (2.9--) את
השווה תוצאות אלו עם התוצאות שיתקבלו לאחר שימוש בְּדַא1, במקום זא*. הדפס והרץ את
התכנית הבאה:
0= ך₪6] :0=ץ דש )| :0=א ז₪ | 10
ץ*א+8=(ץ,א) א םס 20
ץ*א+0)(=8 א מס 30
()ף א,(2,3) א זטוחהק 40
קיימות מספר נקודות בתכנית זו -- שיש לתת עליהן את הדעת:
ראשית, פונקציה אינה מוגבלת לטפול בארגומנט אחד-בלבד: היא יכולה לטפל במספר ארגומנטים
ומצד שני גם באף לא אחד, אולם עליך מוטל להמשיך ולרשום את הסוגרים.
שנית, אין זה משנה היכן תמקם בתכנית את הצהרות *5. לאחר שהמחשב בצע את שורה 6ו, הוא
מדלג על שורות 26 (-40. הן חייבות להמצא במקום כלשהוא בתכנית. אין הן יכולות להמצא בתוך
פקודה.
כמו כן, אוְ"ץ הנם שמות המשתנים בתכנית כשלעצמה, ושמות הארגומנטים של הפונקציה פאת. פא
*"שוכחת" באופן זמני מהמשתנים הקרוים א וְץ, אך מאחר ואין לה כל ארגומנט הקרוי 4, היא "זוכרת"
את המשתנה הקרוי ג. לכן כאשר (3, 2) מא מחושבת, ג מקבל את הערך 16 מאחר והוא
המשתנה, א את הערך הראשון מאחר והוא הארגומנט הראשון וְָאת הערך 3 מאחר והוא הארגומנט
השני.
התוצאה הינה אז 16 = 3 * 2 + 1₪. כאשר טא מחושבת, אין כל משתנים, ולכן ג, א וֶץ עדיין יתייחסו
למשתנים ויקבלו את הערכים הבאים שו, 6, ₪ בהתאמה. התשובה במקרה זה תהיה
שו=6י6+ 6
כעת שנה שורה 2 לנוסח הבא:
() את = (ע, א) קאת שמ 20
הפעם ערך (5, 2) פא" יהיה 16 מאחר רְטָא יחזור עדיין למשתנים א וְֶץ -- במקום להשתמש
בארגומנטים של -- פאת.
בגרסאות 84516 מסוימות (לא בזו של ותטזז6ק5 2%) -- קיימות פונקציות הקרויות 5 577 101175ת,
5 ו-11.5. (ח, 35) 1715 -- מייצרת את תת-המחרוזת של 35 המכילה את התוים הראשונים.
(השמאליים).
5
(ה, 45) 3101115 -- מייצרת את תת-המחרוזת של 35 המכילה את אוסף התוים החל מהתו שמספרו ח.
(2ח, 1ת ,45) ע]/א -- מייצרת את תת המחרוזת של 35 המכילה 2ח תוים המתחילים ברצף מהתו
שמספרו 1ח.
(45) 115 -- מייצרת את תת-המחרוזת של 35 המכילה את כל התוים מלבד הראשון.
תוכל להגדיר בעצמך פונקציות שיבצעו פעולות אלו, לדוגמא:
5 |אפפ: (10 2) 35 = (45) ואת עמכ שו
5 ]|אם: (ח 10) 45 = (ח, 85) 5|אץ שמס 26
בדוק שאלו פועלים עם מחרוזות באורך ₪ ובאורך 1.
שים לב כי 15א? כוללת 2 ארגומנטים -- אחד מספר והאחר מחרוזת. פונקציה יכולה להכיל ער 26
ארגומנטים מספריים (מדוע 26?) ועד 26 ארגומנטים מחרוזתיים.
תרגיל :
השתמש בפונקציה %"א = (4) 5א* כדי לבחון את הפונקציה 50; אתה אמור להווכח כי מתקיים:
א = (9 505) פא
זאת באם תציג מספר כלשהוא במקום %, וכמו כן כי מתקיים
(א) 485 = (א)5 את 508
עבור א חיובי או שלילי, (מדוע דרושה הפונקציה (485 ?)
66
פרק 10: פונקציות מתמטיות
תמצית:
1 פאם, א1, אז5, 605, א18, א45, 405, אדג.
פרק זה עוסק בפונקציות המתמטיות בהן יכול לטפל המחשב וחטזז6ק5-א2. יתכן מאד שלא תזדקק
להשתמש בפונקציה כלשהיא מבין אלו, ובאם תמצא זאת לנכון אל תחשוש לדלג על פרק זה. הוא
מכסה את פעולת 1 (העלאה בחזקה), הפונקציות עא₪ וכן א והפונקציות הטריגונומטריות א!5, 605,
אג1, והפונקציות ההופכיות להן א45. 405, אך4.
ו וכן 2אם:
אתה יכול להעלות מספר כלשהוא בחזקת מספר כלשהוא ופרושו של דבר -- "הכפלת המספר
הראשון בעצמו -- כמספר פעמים השווה למספר השני", הדבר מוצג בקלות על-ידי רישום המספר
השני -- מעל לראשון ובצידו הימני; אך ברור שעקב מגבלות התצוגה -- לא נתן לרשום על פני המסך
ולכן ניעזר בסימן ? -- במקום. לשם דוגמא, החזקות של 2 הנן:
2 = :=ו2%
(*2 בריבוע", שסימונו 22) 4 = :י2[2-2
("2 בשלישית", שסימנו *2) 8 = 2י2י2]3-2
("2 ברביעית", שסימנו *2) 6 = גיגיג:י214-2
לכן, ברמה האלמנטרית ביותר, 'פ ? ג' פרושו 41 מוכפל בעצמו טפעמים', אך ברור שלדבר משמעות רק
אם פ הוא מספר שלם וחיובי. כדי למצוא את ההגדרה המתאימה לערכים אחרים של פ, הבה נבחן את
הכלל
6 ג'15ג = 0+) )ג
(שים לב כי לפעולה % עדיפות על פני * או /, כך שכאשר קיימות מספר פעולות באותו בטוי,
הפעולות ? מבוצעות לפני * וָ-/). אינך זקוק להוכחה עבור ערכי פ ו-> שהם חיוביים ושלמים; אך אם
נחליט כי אנו מבקשים לנתח מצב שבו אינם כאלו -- אני נמצא עצמנו חייבים לקבל את:
1= ₪ 4
5 /1= פ-)41
השורש הֶ-פ של ג, שהוא -- המטפר שיש להכפילו בעצמו 5 פעמים לקבל ג = 1/9 ג
= 11
באם לא ראית עד כה בטויים כגון אלו, אל תנסה מיד ללמדם בעל-פה; זכור רק כי:
3 = (1--) 41
וכן -
41 )1/2( = 3
יתכן שכאשר תתוודע לאלו, יקבלו גם השאר משמעות -- עבורך.
נסה אותם בעזרת התכנית הבאה:
7
6 דקאו 10
6 1 8"ם [ 0(,8+ם) [ ₪ דאוהק 20
6 סד 60 30
כמובן, שאם החוק אותו ציינו קודם -- נכון, אזי בכל סיבוב שני המספרים אותם ידפיס המחשב יהיו
שווים. (הערה -- עקב צורת עבודת המחשב בביצוע פעולת + , המספר שבצד שמאל -- ג במקרה זה,
אטור שיהיה שלילי!)
דוגמא טפוסית לשימוש בפונקציה זו היא עבור חישוב רבית. הבה נניח כי אתה שומר את כספך
בחברת-בניה המשלמת לך רבית 15% לשנה. אזי לאחר תום שנה אחת -- יעמדו לרשותך לא רק
% שהיו ברשותך בתחילת החסכון, אלא גם 15% שמשלמת לך חברת הבניה -- כלומר115%, יחר,
לעומת מה שהיה בידך בתחילת הדרך. במילים אחרות הכפלת את סכום השקעתך פי 1.15 (עוברה
הנכונה ללא תלות בסכום עצמו אותו השקעת) לאחר שנה נוספת יעמוד לרשותך טכום הגדול פי
5 = 2 1.15 = 1.15 * 1.15 מערך השקעתך. באופן כללי, לאחר ע שנים יעמוד לרשותך סכום
הגדול פי ץ 1.15 מהשקעתך הראשונית.
באם תנסה פקודה זו -
צ דאפא: צ! 5 * שו, צ דאותץ: ששו 610 = צ פסץ
אזי תווכח שגם הדפסה צנועה מתפתחת לסכום נכבד די במהירות וככל שהיא גדולה יותר, כך קצב
גידולה מהיר יותר. (למרות שיתכן ותמצא שאין קצב זה עוקב אחר קצב מרוצת האינפלציה).
צורת התנהגות שכזו, שבה לאחר מרווח זמן קבוע, כמות מסוימת מכפילה את עצמה ביחס קבוע
נקראת -- *גידול אקטפוננצילי". הוא מחושב על ידי העלאת מספר קבוע בחזקת הזמן.
הבה נניח כי בצעת את:
א = (א)ג את פס 16
כאן ג הינו פחות או יותר קבוע בעזרת הצהרת 181: ערכו מתואם לשער הרבית המשתנה לעתים
רחוקות. קיים ערך מסוים עבור 3 הגורם לפונקציה ג א לקבל צורה בעלת משמעות וצורה נאה
בעיני מתמטיקאים: ערך זה קרוי >(בסיס הלוגריתמים הטבעיים). ו6600ק5 2% כולל פונקציה הקרויה:
/ 6= א פא
לרוע המזל, > עצמו אינו מספר כה "נאה": זהו מספר עשרוני אינסופי באורכו ולא מחזורי. תוכל לראות
את המקומות הספורים הראשונים לאחר הנקודה בעזרת
1 פאם דאחתץ
מאחר > = 6%1 = 1 5%9. כמובן, זהו רק קירוב. לעולם לא תוכל לרשום את > בדיוק מלא.
אז
הפונקציה ההופכית לפונקצית האקטפוננט היא הפונקציה הלוגריתמית: הלוגריתם (בבסיס ג) של
מסְפר א הוא החזקה שבה עליך להעלות את ג כדי לקבל את המספר א; היא נרשמת בצורה %,102.
לכן, לפי הגדרה א = %,102] ג וכן א = (] ) 18.
לבטח אתה מכיר ויודע להשתמש בלוגריתמים עשרוניים לצורך ביצוע הכפלות; אילו קרויים
לוגריתמים פשוטים. במחשב וז506 28 קיימת פונקציה א.] המחשבת את הלוגריתם בבסיס ג; אלו
נקראים 'לוגריתמים טבעיים'. כדי לחשב לוגריתמים בכל בסיס אחר, עליך לחלק את הלוגרתמים
הטבעיים בלוגריתם הטבעי של הבסיט:
8 א א א =אבססו
8
זת:
עבור מעגל נתון -- היחס בין הקפו לבין קוטרו הוא מספר קבוע הקרוי ח. (ח הינו אות יוונית שקרויה
- למספר >, ח גם הוא מספר עשרוני, אינטופי באורכו ולא מחזורי; ערכו בדיוק מצומצם הינו --
9 המיל 21 בְּ"וַחגז566 2% (באופן פעולה המורחב ולאחר זאת //) מייצר מספר
זה - נסה לבצע 91 דאזאפ.
אפ 605 וכן א1%; א5ג, 405 וכן אזג:
הפונקציות הטריגונומטריות בוחנות מה קורה כאשר נקודה נעה סביב למעגל. לפנינומעגל ברדיוס --
יחידה (איזו יחידה? אין זה חשוב כלל, כל עוד נשמור על אותן יחידות לכל אורך הדרך. אין כל דבר
שימנע בעדך מלהמציא יחידות מדידה חדשות לכל מעגל-בו תהיה מעונין) ונקודה הנעה סביב לו.
הנקודה החלה במקום 'השעה 3' ומשם נעה סביב בכוון נגד-סיבוב מחוגי-השעון.
מרחק התנועה
מסביב למעגל ג
ציר א %"
נקודת ההתחלה
599
גצ
הוספנו בציור גם שני קוים הקרויים -- 'צירים', דרך מרכז המעגל. האחד -- בין שעה 3, וישעה פ' קרוי
'ציר %' והשני דרך 'שעה 6' וישעה 12' קרוי 'ציר צ'.
כדי להגדיר את מקום הנקודה, עליך לציין כמה נעה מנקודת ההתחלה שב שעה 3: הבה נכנה מרחק
זה 4. אנויודעים כי הקף המעגל הינו 2 (מאחר ורדיוסו הינו כזכור 1 וקוטרו לכן 2): לכן כאשר היא נעה
רבע מכלל הדרך שעָל הקף המעגל מתקיים: 1/2 = 3; כאשר הנקודה נעה מחצית ההקף אזי: 4=7;
עבור סיבוב שלם: 3=2.
עבור המרחק על ההקף ג, הנתון בידינו, שני מרחקים נוספים המעוררים ענין -- הם: המרחק מן,
הנקודה לציר צ והמרחק לציר %. אלו נקראים, בהתאמה, הקוסינוס (605) והסינוס (6חו5) של 4.
הפונקציות 605 וְ-א51 שבמחשב יחשבו אותן.
שים לב כי באם הנקודה עוברת משמאל לציר צ -- אזי הקוסינוס (605) הופך לשלילי; ובאם הנקודה
עוברת מתחת לציר א אזי הסינוס (חו') הופך לשלילי.
ציר עַ
קוטינוס של 3 = 0054
סינוס של ג
*= 58
00
תכונה נוספת היא שלאחר ש-3 עבר את הערך 2, הנקודה חוזרת שוב לנקודה ממנה החלה והטינוט
והקוסינוס שוב מתחילים מאותם ערכים:
ג א = 2 *2 + ג) אזפ
8 = (21 * 2 + 6 005
הטנגנס של ג (פַ) מוגדר כמנת החילוק של ח;8 בְּ"פ60; הפונקציה המתאימה במחשב היא אגד.
לעתים אנו זקוקים לחשב פונקציות אלו בכוון ההפוך, למצוא את ערך ג שמקיים ערך סינוס מסוים, או
ערך קוסינוס או טנגנט מסוים.
הפונקציות לביצוע זאת קרויות ארקסינוס (חו5 6זג) -- במחשב א5ג, ארקקוסינוס (4609/86) --
5 במחשב וארקטנגנס (אַשזג) -- במחשב אךג.
בדיאגרמה של תנועת הנקודה סביב למעגל, הבט ברדיוס המחבר את הנקודה למרכז המעגל. אתה
אמור להבחין כי המרחק אותו קראנו 3, המרחק אותו עברה הנקודה סביב להקף המעגל, הוא דרך
למדידת הזוית בה נע הרדיוס מציר א. כאשר 2/=:, הזוית היא 96 מעלות; עבור 1=ג הזוית היא 180
מעלות; וכך-הלאה עד למצב 2=ג שבו הזוית 366 מעלות. אתה רשאי כמובן להתעלם מהמעלות,
ולמדוד את הזוית במושגים של 3 בלבד; בכך, אנו טוענים, אנו מודרים את הזוית ביחידות 'רדיאנים'.
לכן 2 ח רדיאנים שווים 9-7 מעלות.
עליך לזכור תמיד כי בְּדט66ק5 2% א[5, 605 וכך הלאה משתמשות ברדיאנים ולא במעלות. כדי
לתרגם מעלות לרדיאנים -- חלק בְ- 180 והכפל בֶּ-ח; כדי לתרגם חזרה מרדיאנים למעלות עליך
לחלק בּ-ח ולהכפיל בְד180.
1
יו
פרק 11: מספרים אקראיים
תמצית:
מקזואססאגת
סאת
פרק זה עוסק בפונקציה סאת ובמילת-המקש 28!ואססאא. שניהם נמצאים בשימוש בהקשר
למספרים-אקראיים, כך שעליך להיות זהיר בשימוש בהם כדי לא לבלבל ביניהם. שניהם נמצאים על
אותו מקש (ד); 28]א0אג* קוצר ל-פאגת.
במובנים מסוימים את דומה לפונקציה: הוא מבצע חישובים ומייצר תוצאה. הוא אינו רגיל, בכך-
שאינו דורש ארגומנט.
בכל עת שתשתמש בו, תוצאתו תהיה מספר אקראי בתחום 6 עד ו. (לפעמים יתכן גם הערך ₪ אך
לעולם לא 41
נסה את התכנית הבאה:
פאת דאזתץ 16
6 00 26
כדי לבחון כיצד משתנה התשובה. האם אתה יכול לזהות תבנית כלשהיא בתוצאות שהתקבלו? אתה
אמור שלא להיות מטסוגל לעשות כן: 'אקראיות' פרושה -- שאין כל תבנית -- ברת זהוי.
למעשה, סא אינה פונקציה אקראית באמת, מאחר והיא משתנה בתחום מוגדר של 65536 מספרים.
יחד עם זאת מספרים אלו *מעורבבים" היטב כך שאין שמץ של חבנית ברת-הבחנה, ולכן אנו אומרים
כי פאת היא פונקציה פסאודראקראית.
סאת מספקת מספר אקראי בתחום ₪ עד 1, אך אתה יכול בקלות להשיג מספרים אקראיים בתחומים
אחרים. למשל כאאי5 הוא מספר אקראי בתום ₪ עד 5; שםאף* 1.5+0.7 הוא מספר אקראי בתחום 1.3
עד 2. לקבלת מספרים שלמים העזר בפונקציה דדא! (זכור כי זא] מעגלת תמיד כלפי מטה). כמו למשל
(0*6א) זא]+1 בה נשתמש בתכנית כדי לדמות קוביה. 6 * פא% הוא בתחום ₪ עד 6. אך מאחר
ולמעשה מעולם לא מגיע לערך 6 כי - (6 * פאג) מקבל את הערכים ₪, ו, 2, 3, 4 ן57.
לפנינו התכנית:
ההז סז ה הוצצסזח+ 0:06 ואג 10
2065
2 סז 1=ח 0₪- 30
;" ";(6*סאח) דאו+1 דאוהץ 49
ח דשא 50
0 0ד 60 :8% ד()קאן 60
2
הקש 88זא5 בכל עת שתרצה להטיל את הקוביה.
הצהרת 125/א0אא משמשת לקבוע את המספר ההתחלתי -- ממנו תתחיל פונקצית ה-פאא
בסדרת המספרים, כפי שתוכל להווכח מהתכנית הבאה:
1 קווססאגאה 10
ח דאשא :, ספאה זאוחץ :5 סד 1=ח 0₪] 20
0 סד 60 : דאוחץ 30
לאחר כל ביצוע של 1 25]]/אססאגא, סדרת ה-את תתחיל שוב עם 227355% 6 0,6. אתה יכול
להשתמש במספרים אחרים בין 1 6553577 בהצהרת 28][]א0ס או כדי -- להתחיל את סדרת את
במקומות השונים.
באם ברשותך תכנית הכוללת בתוכה את והמכילה מספר שגיאות אותן לא מצאת, תבוא לעזרתך
הצהרת 25זו)אסכא ג כגון זו -- כך שהתכנית תתנהג באותו אופן בכל עת שתריץ אותה.
?]אסא לבדו (להצהרה ₪מ2!]א0 א -- אותה משמעות) שונה, מאחר והוא מביא באמת
ל-פאת אקראי -- כפי שתוכל לראות בתכנית הבאה:
מקזואססאגת 16
שן 10 60: פאת דאזתת 26
הסדרה אותה קבלת -- אינה אקראית לגמרי, מאחר ן-28])א0סא54 משתמשת בזמן שעבר מאז
שהופעל המחשב. מאחר וערך זה גדל באותה מידה בכל עת שהצהרת 128/א00א8 מבוצעת,
זסאת הבא יתנהג בדומה לקודם. תקבל אקראיות טובה יותר ע"י החלפת 106 00 בפקודה 26
הערה: ברוב הגרטסאות של 84516 משתמשים ב- שא ובֶ-128אססאןת ליצור מספרים אקראייט, אך
לא כולם משתמשים בהם באותו האופן.
לפנינו תכנית ליהטלת-מטבעות' ומניית מספר הפעמים שהופיע 'ראש' (₪64) או 'זנב ' ([ג). ['עץ' או
'פליי במונחים הלועזיים].
18]5=0 "ו=.] :6805=0ח ד₪ | 10
(2*סאה) זדא!=הוס6 דש .| 20
1 דם) א=וד 0=ה:סס :| 30
1851 דש | א=ו]זד 1=ח:סס :| 40
,5 ;6805 דאוחץ 50
8 דאוחק אפוזד 5><0ו+ :]| 60
0 0ד 60 : זאוחק 70
היחס בין ה'ראשים' ליזנבות' יהיה בקירוב 1 באם תמשיך במשחק זמן ממושך דיו, מאחר ובפעולה
ממושכת אתה אמור לצפות למספר שווה בקירוב של 'ראשים' ו'זנבות'.
3
תרגילים :
1. בחן את הכלל הבא -
נניח ובחרת מספר בין 1 ל-872 והדפסת:
המספר-שבחרת 25]]אסכאגאת
אזי הערך הבא של פאת יהיה
6 / 1 - (1 + המספר שבחרת) * 75)
2. (למתמטיקאים בלבד)
יהיה מספר ראשוני (גדול) וְְ3 שורש פשוט מודולו קָ. אזי אם 1פ היא השארית של :3 מודולו פ
(1-ק1454) הסדרה:
1-ו
1-
היא סדרה מחזורית של 1--; מספרים שונים בתחום ₪ עד 1 (כולל 1) אשר -- בבחירת 3 מתאים --
נתן לגרום להם להראות אקראיים. 65537 הינו מספר (ראשוני) של פרמה -- 1 + 21%. מאחר והחבורה
הכפלית של השאריות שאינן אפס מודולו 65537 היא מסדר שהוא חזקה של 2, השארית הינה שורש-
פרימיטיבי אם ורק אם השארית אינה שארית מסדר רביעי. העזר בחוק-גאוס אודות ההדריות מסדר
ארבע כדי להראות כי 75 הוא שורש פשוט מודולו 65537.
הַהוחת60ק5-א:2 משתמש בגדלים 65537=ק וכן 75=ג ושומר כמה מן הַ(1-1פ) בזכרונו. פא% מביא
להחלפת 1-:פ בזכרון בגודל 1--1+:5). ה 25]ואסכ את (עבור 662535ח)1) משווה את ופ ל-1+ה.
סאת מפולגת בקירוב טוב -- באופן אחיד על פני המרווח ₪ עד 1.
4
ו 6 ₪ או הד מ ו ו ה ו ו ורוו כ הרמ ה ונ 8 יפ ו מע שו 80 8030 0 מה לבכ כ ככ כ סט שש כ וכס מסיה מש תילק-קטקה
פרק 12: מערכים
₪10 9-6
תמצית:
מערכים. (הדרך בה מטפל ותטזז60ק5 2% במערכי-מחרוזת אינה סטנדרטית במידת-מה),
אזס.
הבה נניח שברשותך רשימת מספרים, לדוגמא ציוני עשרה אנשים בכתה. כדי לשמרם במחשב
תגדיר משתנה יחיד עבור כל איש, אך תמצא זאת מכביד-מאד. אתה עשוי לקרוא למשתנים
1 86ק8!0, 2 810885 וכך הלאה עד 10 810885, אולם התכנית להגדרת משתנים אלו תהיה ארוכה
ומשעממת להדפסה.
כמה יהיה זה באם היית יכול להדפיס
%זסעשט +סח |!ועש וחהזפסזק פוחז ואשח 5
0 סד 1=ח 0 10
ח 95מַ0ו₪8 הח 20
ח דאשא 30
6 7 דמ 40
ובכן, אינך יכול,
עם זאת קיים מנגנון שבעזרתו נתן לישם רעיון זה -- והוא בנוי על מערכים (5ע3ז41). מערך הינו אוסף
של משתנים, המהווים את האלמנטים שלו, כולם בעלי אותו שם והנפרדים רק בעזרת מספר (התוית
- 856]) הכתובה בסוגריים לאחר השם. בדוגמא שלנו השם יכול להיות פ (כמו עבור משתני-הבקרה
בלולאות דא5א-208, שם המערך חייב להיות אות בודרת) ועשרת המשתנים יהיו:
(1). (5)2 ועד (5)10.
האלמנטים של המערך מכונים: 'משתנים מותווים' -- בניגוד ל'משתנים הפשוטים' שאותם כבר
הספקת להביר.
| בטרם תוכל להשתמש במערך, עליך לשמור מקום מסוים עבורו בתוך המחשב, דבר המבוצע על ידי
הצהרת )א1 (תסופט6וח:4) -- מימד.
(16) ט ואופ
מגדירה מערך ששמו 5 והוא בעל מימד 16 (כלומר: הוא מכיל 16 'משתנים מותווים' (1)פ...., (%16),
ומאפסת את 10 האלמנטים שזה עתה הנגדרו. כמו כן משמיטה הצהרה זו כל מערך ששמו 9
שהתקיים קודם לכן. (אך לא-משתנה פשוט. מערך ומשתנה -- מספרי פשוט באותו השם יכולים
להתקיים יחדיו -- ואסור שיווצר בלבול כלשהוא ביניהם מאחר ולמשתנה -- מערך נוספת תמיד
תוית).
התוית יכולה בעצמה להיות בטוי מספרי כלשהוא, כך שכעת אתה יכול להדפיס:
65
---
ו
0 סד 1=ח 08 10
(ח)ם ₪50 20
ח דאפא 30
40 0. ₪ 6
אתה יכול להגדיר מערכים בעלי מימד גדול מאחד. במערך בעל שני מימדים תזדקק לשני מספרים כדי
להגדיר אחד מן האלמנטים במערך -- בדומה להגדרת מספרי השורה והעמודה -- לשם הגדרת
מיקום תוית ספציפית על פני מסך הטלויזיה -- כך שלו תבנית של טבלה. לחלופין, באם תדמיין את
מספרי השורה והעמודה (עבור שני מימדים) כמתייחסים לדף מודפס, תוכל להשיג מימד נוסף עבור
מספרי הדפים. כמובן, אנו מדברים על מערכים מספריים; כך שהאלמנטים לא יהיו תויזדפוס כמו
בספר, אלא מספרים. חשוב על האלמנטים של מערך תלת מימדי-/ כמוגדרים ע"י % (מספר הדף,
מספר השורה, מספר העמודה)
לדוגמא, כדי להגדיר מערך דו-מימדי 6 בעל המימדים 3 וָ-6, העזר בהצהרת א1כ הבאה:
(3,6) 6 ואזס >
ובכך הגדרת מערך בן 18 = 6 * 3 'משתנים-מותווים':
(2(,...,0)1,6, 1(,0)1, 1)ס
(0)2,1(,0)2,2(,...,6)2,6
(0)3,1(,6)3,2(,...,6)3,6
אותו עקרון מתקיים לכל מספר מימדיהם שהוא.
למרות שיתכן וברשותך יהיו מערך ומשתנה פשוט בעלי אותו שם, לא יתכן קיום שני מערכים בעלי
אותו שם -- גם אם מימדיהם שונים.
כמו כן קיימים מערכי-מחרוזת. המחרוזות במערך נבדלות ממחרוזות פשוטות -- בכך שהן בעלות
> אורך קבוע -- כימעשה טדום' -- ע"י קיצוץ קצוותיהן או מתיחתן על-ידי הוספת מרווחים. דרך אחרת
לראות אותם היא כמערכים (עם מימד נוסף) של תוים בודדים. שמו של מערך מחרוזת הוא אות יחידה
שלאחריה הסימן 5, כאשר מערך מחרוזת ומשתנה פשוט אסור שיהיו בעלי אותו שם (שלא כמו
במקרה של מערך מטפרי).
הבה נניח, שנדרש מערך 45 המכיל 5 מחרוזות. עליך להחליט כמה ארוכות יהיו מחרוזות אלו -- הבה
נניח שאורך של סו תוים יענה על צרכינו. עליך להגדיר לאחר מכן
(10, 5) 35 ואזם (הדפס זאת)
בכך מוגדר מערך בן 50 = 10 * 5 תוים, אולם אתה יכול לראות כל שורה כמחרוזת:
(85)1,10 --- (85)1,2 (95)1(=85)1,1
(35)2,10 --- (85)2,2 (85)2(=85)2,1
(85)5,10 +*- (85)5,2 (85)5(=8505,1
באם תציין את אותו מספר של תויות (2 במקרה זה) כמו בהצהרת /א1כ -- תגדיר בכך תו יחיד; אולם
באם לא תציין את התוית השניה תוגדר בכך מחרוזת שלמה בעלת אורך-קבוע. לכן, לדוגמא (7, 2) 4
הינו האות ה-7 במחרוזת 2) 5. בהשתמש בשיטת הרישום כ'פרוסות', נוכל לרשום זאת גם בצורה -
(7) (2) 45. הדפס כעת:
6
"1234567890" = (2) 42 ד]
-- (7, 2) 5ג, (45)2 דאזפת
ותקבל -- 7 1234567880
עבור התוית האחרונה (זו. שאתה תשמיט), אתה יכול גם לדאוג ליפריסה לפרוסות', כך שלמשל:
"45678" = (8 10 4) (2) 5 = (8 10 4, 2) 35
זכור:
במערך מחרוזת לכל המחרוזות אותו אורך קבוע. להצהרה ₪1 נוסף מספר (האחרון) להגדרת אורך
זה. כאשר אתה כותב 'משתנה מותווה' עבור מערך-מחרוזת, אתה רשאי לרשום מספר נוסף, או 'פורס'
כדי שיתאים למטפר הנוסף בהצהרת ואזס.
תוכל למצוא גם מערכי-מחרוזת ללא כל מימד. הדפס
(16) 45 ואזם
ואז תגלה כי 35 מתנהג בדיוק כמו משתנה מחרוזת, מלבד העובדה שהוא תמיד באורך 1 -- בגישת
'מיטת סדום', כפי שצוין כבר קודם.
תרגילים :
1. בעזרת ההצהרות גמ ן-414 הגדר מערך ₪5 המכיל 12 מחרוזות כאשר (ח) וח הוא שם החודש
הדח- .(רמז: ההצהרה |אזכ תהיה (9, 12) 5וח אזס. נסה זאת על-ידי הדפסת כל האלמנטים (ח) וח.
(העזר בלולאה)
הדפס:
קַחועג!ק 916 1205 עזז6וח ה6חאו"; "אחו"; (5) פוח; "]ס תזחסות -- 6הז 15 צוסת'" דאזתת
מה תוכל לעשות ביחס לכל אותם המרווחים?
7
פרק 13: תנאים
תמצית:
פאג, 08
דסא
ראינו בפרק 3 כיצד הצהרת ;1 נראית:
...אפחד תנאי ץ]
התנאים שם היו היחסים (= ,>, <, = >, = <, <>) המשווים שני מספרים או שתי מחרוזות. אתה יכול
לאחד כמה מהן בעזרת הפעולות הלוגיות סאג, 05 וְ-דסא.
בטוי כלשהוא אא בטוי אחר -- הינו 'נכון' רק בעת ששני הבטויים הנס 'נכונים', כך שברשותך יכולה
להיות שורה מהצורה:
א דאזתתץ אמחד 6 < א פא "6ץ" = 8 ק;ן
שבה איודפס באם "68ע"=45 וכן 6:א. שפת ה-84516, בנושא זה, קרובה לשפה האנגלית המדוברת --
כך שדומה, כמעט, שאין טעם לפרט. כמו באנגלית, אתה יכול לצרף"יחד אוסף של קשרים בעזרת פא
כאשר הצרוף כולו יהיה 'נכון' -- באם המרכיבים יהיו כולם נכונים'.
בטוי כלשהוא 08 בטוי אחר הינו 'נכון' בכל מקרה -- כשלפחות מתקיים שאחד משני הבטויים 'נכון'.
(זכור כי הוא נכון' גם באם שניהם נכונים'; זהו מצב שאינו תואם תמיד עם האנגלית).
הבטוי 01א הופך בטויים מצורה אחת להפוכה לה. 01א -- הבטוי הינו נכון' באם הבטוי עצמו 'אינו-
נכון', ו'אינרנכון' כל עוד שהבטוי הינו נכון'.
נתן לבטא בטויים לוגים בעזרת סאג, 08, ו-דסא כשם שבטויים מספריים נתנים לבטוי בעזרת
מספרים והפעולות +, --, * וכו'; אתה רשאי אף להשתמש בסוגרים בעת הצורך. גם עבור הפעולות
הלוגיות קיימות עדיפויות בדומה לפעולות +, --, / וכן ? : 08 היא בעלת העדיפות הנמוכה ביותר,
לאחריה סאג ולבסוף 01א -- ולאחר מכן הבטויים והפעולות הרגילות.
דסא היא למעשה פונקציה, עם ארגומנט ותוצאה, אולם העדיפות שלה נמוכה מאד ביחס לפונקציות
אחרות. לכן הארגומנט בה אינו דורש שימוש בסוגרים -- אלא אם כן הוא מכיל סאג או 08 (או
שניהם). פ = 3 07א פרושו זהה בדיוק לבטוי הלוגי (פ=ג) 01א (וכמובן שכך מתקיים גם עבור <>).
<> הוא השלילה של = במובן שהוא כון' אם ורק אם = 'אינוזנכון'. במילים אחרות
5 <> 3 זהה לבטוי 5=ג סא
וכמו כן -
3><5 סא זהה לבטוי 2=ג
הוכח לעצמך כי =< וכן = > הם השלילות של > וכן < בהתאמה: לכן אתה יכול להפטר מְ-סא
שבתחילתו של בטוי כלשהוא ע"י שנוי הקשר.
כמו כן -
([בטוי לוגי שני] פאג [בטוי לוגי אחד)) דסא
88
זהה בדיוק לבטוי -
(הבטוי השני) דסא 08 (הבטוי הראשון) דסא
בהעזר באלו
ותוכל אז ל
לתכנית ל
אתה יכול לפתח את בטוי הָ-דסא באמצעות סוגריים עד שלבטוף יושמו כולם על
הפטר מהם. לוגית, 01א הינו בלתי-נחוץ, למרות שיתכן ותמצא כי השימוש !
הראות 'יפהי יותר.
הקט
6 2 הבא מטובך קמעא ונתן בפרוש לדלג עליו באם אתה בעל לב-חלש!
| **.
2 <> ו, 2 = ו דאותץ
שאמור להביא להדפסת שגיאת-תחביר. למעשה, עד כמה שהדבר נוגע למחשב לא קיים עו
במקום זאת הוא משתמש במספרים רגילים, כפופים למספר כללים.
( 501 =+,= < וכן <> כולם מייצרים מספר כתוצאה: ו עבור נכון' ן-6 עבור ילא-נכון'. לכן.
הָ-דַאוא? שלמעלה תדפיס שעבור '1=2' -- 'שאינו נכון' וָדוּ עבור '1><2* -- שהינו כון
בהצהרה -
... אפחחד תנאי ץ]
התנאי יכול למעשה להיות כל בטוי מספרי שהוא. באם ערכו ₪ אזי הוא יחשב כילא-נכון' ו;
ערך אחר (כולל הערןך 1 שקשר ינכון' יתן) יחשב כינכון'. לכן להצהרת ;1 אותה משמעות כל
הבאה -
... אפחד 6 > תנאי ,1
(1וו) פאג, 08 וכן דסא גם הן פעולות המיצרות ערכים מספריים.
/ א באם צ ינכון* (שונה מִ-6)
צ סאג א מק
קט * 1 ₪ (לא נכון) באם + 'אינוינכון' (ש)
1 ('נכון') באם צ ינכון' (שונה מִש)
צ 0 א מקבל את הערך א באם צ 'אינו-נכון' (6)
₪ (ילא-נכון') באם א כון' (שונה מֶ)
א מקבל ב 1 (ינכון') באם שא 'אינו-נכון' (6)
(שים לב כי 'נכון' פרושו שונה מְ-'ש' כאשר אנו בודקים ערך נתון, אך פרושו '1' כאשר אנו
אחד חדש).
קרא שוב פרק זה -- לאור נקודות אלו, והבטח לעצמך כי הכל ברור.
בבטויים ע סא א עס א, וכן א 'דסא, א וכן עיקבלו בדרך-כלל את הערכים ₪ וְ-1 עבור ילא-נכ
בהתאמה. עבור 10 הקומבינציות האפשריות (4 עבור אא, 4 עבור 08 2 עבור 01א) ובדוק נ
מקיימות את שפרק זה מנסה לשכנע אותך שהן מבצעות.
נסה את התכנית:
8 דוקאו 10
5 דטקא! 20
(ם>8 סאג 5)+(פ=<3 סאג 8) דאוחק 30
0 סד 60 40
בכל פעם היא מדפיסה המספר הגדול מבין שני המספרים ג [-פ.
הוכח לעצמך כי אתה יכול לחשוב על
ץ סאג א
כבעל המשמעות
< באם ע (אחרת התוצאה תהא 6)
- על הבטוי
ץצ א
כבעל המשמעות
א אלאזאם כן ץ (בכל מקרה התוצאה תהיה 1)
בטוי המשתמש בְ-סאג רְ0 כגון אלו, נקרא "בטוי -- מותנה" (ח0ו655זקא6 [6/01008חס6). דוגמא,
בעזרת 08 יכולה להיות: ("60גז 2670" = 05 05 1.15) * אגז 65 66וזק = 66חק [4ז0) ד1
שים לב כיצד אא נוטה ללכת עם חיבור (מאחר וערך 'ברירת-המחרל' שלה הוא ש)ן-08 נוטה ללכת
עם כפל (מאחר וערך 'ברירת-המחדל' שלה הוא 1).
אתה יכול לבצע בטויי=מחרוזות מותנים, אולם רק עם פעולת סאג.
5 באם ץ שונה מאפס
ע אא 5 מקבל הערך "" באם ץע שווה לאפס.
כך שמשמעותו: 5א באם ע (אחרת - ה'מחרוזת הריקהי)
נסה את התבנית הבאה, המקבלת שתי מחרוזות ומסדרת אותן לפי סדר האלפא-בית:
6" "5195 סעעז חז 6קץ+'' ד(וקאו 10
6 זם] :8פ=88 151 :66=86 ד | א=ווד 6פ<6ה זו 20
5 ":(5פ=88 ₪ "=")+(5פ>35 סאג ">");" ";86 דאוהק 30
06 ד 60 40
תרגיל :
1. 84516 יכולה לעבד שורות. מהשפה האנגלית לבדה. קח לדוגמא את המשפט האנגלי -- יבאם ג
אינו שווה לֶ-ל או %. כיצד תרשום זאת בשפת 84516?
התשובה אינה מהצורה --
6 ; שן
וכמו כן גם לא - 0<>ג זס 448 פן
10
י
פרק 14: אוסף התוים
תמצית:
5), 605
אפםץ, םאסק
הפע
אופ
האותיות, הספרות, סימנירהפיסוק וכל יתר הסימנים היכולים להופיע במחרוזות, נקראים תוים
(631361679), והם מרכיבים את ה'אלף"בית' -- או 'אוסף התוים' בו משתמש וחטזז6ק5 28. רוב הָתוים
הללו הם סימולים (0!9פוח/5) בודדים, אך ישנם כמה שהם צרופים (5ח0%6:) המייצגים מילים שלמות
בגון דא1חץ, 5107 > ועוד.
בפועל קיימים 256 תוים ולכל אחד קוד בין 6 ל-255. רשימה מלאה שלהם תמצא בנספח . כדי
לתרגם בין קודים לתוים, נעזר בשתי הפונקציות 6008 ן-0385.
5 פועלת על מחרוזת ומייצרת את הקוד המתאים לתו -- הראשון במחרוזת (או 6 באם
המחרוזת ריקה).
5 פועלת על מספר ומייצרת מחרוזת בת תודבודד אשר הקוד שלה מתאים למספר הזה.
התכנית הבאה מדפיסה את כל אוסף התוים:
4 דאפא:; 6185 דא[ ?: 255 10 32 = ג ת0ק 16
בחלקו העליון של המסך תראה מרווח, 15 סימולים וסימני פיסוק, עשר הספרות, שבעה סימולים
נוספים, אותיות הדפוס, ששה טימולים נוספים, אותיות הכתיב וחמישה סימנים נוספים. כולם (מלבד
+ וש) נלקחו מאוסף תוים מוגדר וידוע הקרוי 4501 (ראשי תיבות של: 0006 51400016 ח6160ח
11666 הסוזגוחזס/ח! זס! = קוד אמריקאי סטנדרטי לחילוף מידע). בְ-45011 לכל תו קיים קוד מספרי
מתאים, ואלו הם הקודים בהם משתמש וטז6ק5 א2.
שאר התוים אינם חלק מקוד 45611 והם מיוחדים למחשב זה. הראשונים בהם הם מרווח (-15 תבניות
בשחור-לבן. אלו הם -- 'טימולים גרפיים' (9019ו₪/5 406ז₪) והשימוש בהם הוא ליצירת תמונות.
אתה יכול להדפיס סימולים אלו ישירות מלוח-המקשים, בפעולה באופן-העבודה-הגרפי (4066א
6 ). באם תקיש על 687211105 (511101 65 עם 9) -- ישתנה הסמן לָ-6. כעת מקשי הספרות
מֶ-ו עד 8 יהיו מקשי ה'סימולים-הגרפיים': הם ייצרו את הסימולים המשורטטים לידם; בעזרת כפתור
5 כלשהוא -- הם מייצרים את אותם הסימולים כשהם הפוכים -- דהיינו: שחור הופך ללבן
ולהפך.
ללא תלות בְּ-דַץ5141, מקש 9 מחזיר את המחשב לאופן הפעולה הרגיל (1) ומקש ₪ הוא פדם זפס.
לפנינו 16 היסימולים הגרפים':
71
בבר יה וו
אופן קבלתו | הקד | הסימול אופן קבלתו הקוד הסימול
8 160]וח5 8
₪( 902 ₪ 8 ףמ]
1 60 1
+
2 5100 2
3 160וח5 3
07 - ם |
5 160/וח5 5
6 160וחפ 6
7 וח 7
לאחר ה'סימולים"הגרפים' תראה אוסף הנראה כהעתק נוסף של האותיות מֶא ועד (0. אלו הנם תוים
אותם אתה יכול להגדיר מחדש לפי-רצונך, למרות שכאשר המחשב מופעל הם מוגדרים כאותיות
הללו. הם נקראים -- 'גרפיקה מוגדרת -- מפעיל' (0065ק9זק 66ח/661 זספט). תוכל להדפיס תוים אלו
מלוח המקשים מעבר לאופן-הפעולה-הגרפי בעזרת מקשי האותיות 4 עד ע.
כדי להגדיר תו חדש בעצמך, עקוב אחר הדוגמא הבאה -- המגדירה תו שיציג ז.
(1) בחן כיצד נראה התו אותו אתה מבקש לייצר. כל תו בנוי ממערך-רבועי של 8א8 נקודות כשכל
אחת יכולה להיות ביצבע הניר' (זטס60!0 ז6קפק) או ב'צבע הדיו' (צוס!ס6 אחו). על כך ראה גם בספרון
המבוא. צייר סכימה שתתאר את התו בהתאם למערך הנקודות, כאשר נקודות ב'צבעדדיו' יסומנו
בעזרת רבועים שחורים:
12
הותרנו מרווח ברוחב משבצת אחת בקצוות כדי להפריד מן התוים השכנים. (לא כך מתקיים באותיות-
כתיב עם 'זנב' -- כגון ץ, ק ועוד -- המגיע לתחתית תבנית התו).
(| !) החלט איזה טימול-גרפי ייצג את ח; הבה נחליט כי תהיה זו האות ?, כך שכאשר תקיש על 2
כאשר המחשב נמצא באופן-הפעולה-הגרפי -- ישורטט ח במסך.
( וו !) אחסן בזכרון את תבנית הצורה החדשה. כל סימול-גרפי-מוגדר-מפעיל נשמר כצרוף של 8
מספרים, אחד לכל שורה. אתה יכול לרשום כל אחד ממספרים אלו כָּ-א81 (זשפוחטא עזגהו8 = מספר
בינארי) שלאחריו שמונה שאו 1 -- 6 עבור 'צבע הנירי וְ-וּ עבור יצבע הדיו; כך שעבור הָ-ח אותו
שרטטנו נקבל את 8 המספרים הבאים:
0 שוום
86 אום
6 או
80 או
0 שום
0 אשאום
0 שום
0 אום
(באם אתה מכיר מספרים בינארים, יהיה זה לעזר לך לדעת כי א81 משמשת לשם כתיבת מספר בינארי
-- במקום מספר בבסיס עשר). :
שמונה מספרים אלו נשמרים בזכרון, בשמונה מקומות, כשלכל אחד מהם כתובת. כתובתו של ה"בית"
(60ץפ) הראשון (שהוא קבוצת 8 הספרות) היא -- "2" 058 (? מאחר וזו היתה בחירתנו בסעיף(! |), זו
של השניה היא 1 + "2" 058 וכך הלאה עד 7 + "ק" 058.
8% הינה פונקציה המתרגמת ארגומנט-מחרוזת לכתובת של הבית הראשון בזכרון עבור הגרפיקה-
מוגדרת-המפעיל המתאימה. ארגומנט המחרוזת חייב להיות תו יחיד אשר יכול להיות -- או סימול-
גרפי-מוגדר-מפעיל או האות המתאימה (דפוס או כתיב). שימוש נוסף ל-058 הוא כאשר הארגומנט
הינו מספר -- והוא יטופל גם-כן. גם באם-אינך מבין זאת, התכנית הבאה תבהיר זאת:
3
|
|
|
|
ן
|
|
7 ד = 0 10
ששסז,ח-''ץ'' ג05₪ א :עשסז דטקאו 20
ח דאשא 30
התכנית תעצור 8 פעמים כדי לקבל קלט באמצעות הצהרות דט90א1, כדי לאפשר לך להדפיס את
שמונת מספרי הָ-א81; הדפס אותם בסדר הנכון -- החל מהשורה העליונה.
הצהרת 20%8 אוגרת מספר -- ישירות בכתובת בזכרון המחשב תוך עקיפת המנגנון בוימשתמשת,
באופן רגיל, שפת 84516. ההפוך ל-0%8 הוא א5ק והוא מאפשר לנו לבחון את תוכן הזכרון במיקום
המצויין, ללא שנוי תוכן מיקום זה. הטיפל בשתי הצהרות אלו ינתן בפרק 24.
לאחר הסימולים-הגרפיים-מוגדרי-המפעיל מגיע תורם של צירופי-הסימולים (5ח6א0)).
לבטח שמת לב כי לא הדפסנו את 32 התוים הראשונים -- בקודים שעד 31. אולו הם תוי הבקרה. אין
הם מייצרים תו בר-הדפסה, אולם להם השפעה מעט-ממשית על הטלויזיה או שהם משמשים לבקרת
התקנים אחרים מלבד הטלויזיה, ואז הטלויזיה תציג? כדי להראות שאין היא מבינה אותם. הם
מתוארים ביתר פרוט בנספח 4.
התווים בהם משתמשת הטלויזיה הם אלו שלהם הקוד 6, 8, 15. ככלל 58 6118 הוא כנראה היחיד בו
תמצא שמוש.
6 611% מדפיס מרווחים באותה דרך בדיוק כפי שעושה הפסיק -- בהצהרת דַא81, לדוגמא
2 5 18ס; 1 דאזתת
מבצע בדיוק את שמבצע הבטוי הבא:
2 1 דאזגץ
ברור שאין זו דרך יעילה לשימוש בה. דרך חכמה יותר תהיה לאמר:
"2+ 56 014 + 17" = 5 ד10
5 זאוא?
8 61195 מחזיר את מיקום ההדפסה הבאה -- למקום אחד לפני הנוכחי באותה שורה; נסה
"5"; 58 118; 12347 דאזתת
המביאה להדפסת המספר 1235.
3 8 מניע את סמן מיקום ההדפסה לתחילת השורה הבאה.
כמו כן, הטלויזיה נעזרת בקודים 16 עד 23; אלו מוסברים בפרקים 15 ו-16. כל תוי הבקרה מופיעים
בנספחו 4.
בעזרת קודי התוים אנו יכולים להרחיב את תפיסת 'סדר האלף"בית' המכסה מחרוזות המכילות תוים
כלשהם, לא רק אותיות. אם במקום האוסף הרגיל של 26 אותיות האלף"בית -- נשתמש באוסף
המוכתב בן 256 הסימולים, בסדר.המתאים לקודיהם, אזי העקרון ישמר בדיוק כמקודם. לדוגמא,
מחרוזות אלו הנן בסדר האלף"בית שלהם במחשב 566008 2%: (שים לב לעובדה המוזרה כי אותיות
כתיב מופיעות לאחר אותיות הדפוס: לכן "ג" מקומה לאחר "2"; כמו כן -- למרווחים ישנה משמעות)
4
"65 641ו200106'+3 5חווס
"סאודאטו] אההעצסההה'+8 %חווס
"!והסההההה -"
"(אז8 וה6ז |06168+ה6זהק)'י
"100"
"דג .סחו 129.95"
"5/0081 הי |
"אזה ע זה תי
'"דאוחקיי
"700
"[הס;ז8!סקןז6זה:]'*
"אזהע זהבּ'"
"וספָסעִפּהּב5''
"200"
ץ00!0?'*
לפנינו כלל, למציאת הסדר של שתי מחרוזות: תחילה השווה את התוים הראשונים; באם הם שונים
-- לאחד שהקוד המתאים לו הוא הקטן מבין השנים -- המחרוזת המתאימה היא המוקדמת מבין
המחרוזות. באם הם שוים, המשך בהשוואת התוים הבאים. באם בתהליך זה אחת מן המחרוזות
"נגמרת" לפני השניה, אזי מחרוזת זו (הקצרה יותר) הוא המוקדמת; אחרת -- הן חייבות להיות שוות.
היחסים = <>%< = < וכן. <> משמשים גם מחרוזות כמו עבור מספריים '>'פרושו 'בא-לפני' -'<' פרושו
יבא אחריי, ולכן -
"את צכת ה" > "הגוז 43"
"הגח 4" < "אתה צכתה."
שניהם נכונים'.
= > וכן = > פועלים גם הם באופן דומה על מחרוזות בדומה לפעולתם על מספרים, כך שהבטוי --
"קח!ז)5 5316 16" = > "קַת(ז50 5306 16"
הוא נכון', אולם -
קח0וז5 536 16" > "קַת501 5316 6"
'אינו-נכון'.
נסה את כל שנאמר עד כה בעזרת התכנית הבאה הקולטת 2 מחרוזות ומסדרת אותן לפי סדר.
שים לב כיצד עלינו להגדיר מחרוזת 05 בעת -- שאנו ממירים את 85 וְ-5פ בשורה 20.
5 = 55 151: 25 = 35 17
לא יביא לתוצאה הדרושה.
התכנית הבאה מגדירה גרפיקה-מוגדרת-מפעיל להצגת כלי שחמט:
- חייל (חזוגק)
ת -- צריח (00%:)
א -- אביר טתקוחא) -- או סוס בכנויו הפופולרי
5
8 -- רץ (00ח585פ)
א - מלך (פַחוא)
-- מלכה (ח66טף)
אופ=6 ד | :01111100 אום=5 דם] 5
08 אואום=0 ד | :00111000
5 6 ₪51 :6 :₪ :6 סז 1=ח 0₪: 10
5 8 סח 606וכק 630ז ואה :7 סד 0=] ₪ה0= 20
4 5 5א0ק :3 םח 30
1 דא 40
ח דא 50
קסח5ום ₪51 100
0 וו ,001019000 אום ,0,4,"פ'* הדהס 110
0 ווום הד 120
פוא ₪51 130
4 דכ 140
20 וו ,6 הדה0 150
אססז ₪51 160
6 ואוו ,6,'"ז'י ה ד 170
0 ,ד 180
חססט וח 190
4 זאו ,01010100 א!|ם ,0,"" ה דכ 200
0 ווום הדהס 210
העבק 51 220
6" דכ 230
9 ה דה 240
חא ₪ 250
0 וו ,0,6,6,"ח'" ד 260
0 שווום הדהס 270
שים לב כי שנתן לשימוש במקום -- 00006066או8.
לאחר הרצת התכנית -- בחן את כלי השחמט על ידי מעבר לאופן-הפעולה-הגרפי.
תרגילים :
ו. דמיין לעצמך את המרווח בסימול אחד כשהוא מחולק לארבעה רבעים: אזי באם כל רבע יכול
להיות שחור או לבן, ישנן 16 = 2%2א2א2 אפשרויות. מצא את כולן באוסף התוים.
2. הרץ את התכנית:
ג דפא 16
0 דאזחת 26
30006
באם תנסה אותה, תמצא כי 01185 מעגלת למספר הקרוב ביותר; באם 3 אינה בתחום שבין 6 ל-255
התכנית עוצרת עם דווח"השגיאה: א6בַחגּז ]0 זטס ז6קסזחו 8.
3. מבין השניים הבאים, מיהו הראשון מביניהם ? - וש"
"טס"
4. חשוב כיצד נתן לשנות את התכנית כך שנתן יהיה להגדיר גרפיקה-מוגדרת-מפעיל כך שהיא
תשתמש בהצהרות 0 ג5ת ן-04148 במקום הצהרת דטקא].
76
פרק 15: עוד אודות
צטפאז והדאזתק
תמצית:
15
כלום: פרטים דאזאת
בטויים (מספריים או סוגי מחרוזת): בטוי מספרי 148, בטוי מספרי, בטוי מספרי 47
מפרידי 1א81ת: , !
פרטי ד!1תא1: משתנים (מספריים או סוגי מחרוזת)
משתנה מחרוזת אאז
כל פרטי 7א81? שאינם מתחילים באות. (צרופי-סימולים [5ת10%6] אינם נחשבים כמתחילים עם אוח
גלגול מסך
עד כה ראית מספר פעמים רב את הצהרת דאזאק - בשימוש, כך שבודאי רכשת הבנה לאופן
השימוש בה. בטויים שערכיהם מודפסים באמצעות הצהרת דאזאע נקראים 'פרטי"ז:חוזק' (15ח1:6), והם
מופרדים באמצעות פסיק או פסיק-נקודה, הנקראים 'מפרידי -- זהחק* (4181015ק56). 'פרט-זחוזק' יבול
להיות גם ריק מתוכן (דהיינו - כלום) - ובכך מוסבר המצב בו מופיעים שני פסיקים בשורה.
קיימים שני 'פרטי-+חוז7' נוספים, המשמשים להורות למחשב לא מה -- אלא, היכן להדפיס. לדוגמא :
"*"; 16, 4111 דא1אע תדפיס כוכב במרכז המסך.
עמודה, שורה 47
מזיזה את מיקום ה-1א251 (המקום בו יודפס הפרט הבא) לשורה והעמודה הנקובים. השורות
ממוספרות מֶ-₪ (למעלה) עד 21 והעמודות 6 (משמאל) ועד 31.
77
אינך יכול באופן רגיל לבצע
וונז? או ד10ק בשתי שורות אלו.
1
א ------
תות תת
8 9 [?8 ]9%
תות
9 08( :| 06
8 6 0 ₪ הק
ו
סל [וו?
₪ ל %
בב מ
וו 6 00 8 9
1
0.0 18% אש ₪
0-9 9 06-06 ] ₪ ₪ 98-97 970-082 ₪ א ₪
(160 '651)
ה
65
1
| | | 1
8 (6 5
7 5 3
8 60ו 52ו 144 36ו 128 120 ?וו 104
5 67ו 159 ו5ו 143 135 127 פוו ווו 103 95 87 79 ול 63 47-55 פב
----- קורדינטות ץ
18
עמודה 748
מדפיטה די-מרווחים כדי להזיז את מיקום -- הָזח? לעמודה המצוינת. היא תשאר באותה שורה, או
באם הצהרה זו קשורה בְ-58 611% תעבור לשורה הבאה. שים לב -- שהמחשב מפחית את מספר
העמודה 'מודולו 32' (הוא מחלק ב-32 ומשתמש בשארית); לכן ל-33 148 אותה המשמעות כמול-
ופד
הדוגמא -- "שקָגק"; 24 148; "תמדק01"; 1, 3 47; "וחאותס6"; 1; 36 פד דאותתק
מראה כיצד נתן להדפיס את כותרות דף התוכן בדף מספר 1 של ספר.
נסה להריץ את התכנית הבאה:
6 0ד 8=ה 08 10
:ח;ח"8 ₪ ד דאוהאּץ 20
הח דאפא 30
היא מדגימה את שנאמר אודות חסור מספרי 18 -- מודולו 52. כדי-להכיר דוגמא אלגנטית יותר,
שנה את המספר 8 שבשורה 26 למטפר 6.
נקודות חשובות:
( | ) הדרך הטובה ביותר להפריד בין פרטים חדשים אלו היא בעזרת נקודה-פסיק, כפי שבצענו
בדוגמא. אתה רשאי להשתמש בפטיקים (או -- בשום-דבר בסוף הצהרה), אך משמעות הדבר היא
שלאחר קביעת 'מיקום ה-דא1ת?' -- מיד תזיז אותו בשנית, דבר שאינו יעיל כלל-ועקר.
( ]1) אינך יכול להדפיס בשתי השורות התחתונות (22, 23) במסך -- מאחר והן נשמרות עבור פקודות,
קליטת מידע על ידי ד0קאז1, דווחים ועוד. התיחסות לישורה התחתונה' כוונתה בדרך כלל לשורה 21.
( | 11 אתה רשאי להשתמש בְּדָא כדי לקבוע את 'מיקום -- הְָדַא1אק' במקום בו קיים כברדבר מה
מודפס; כל מה שהיה-מודפס מקודם יעלם כאשר תמשיך להדפיס שם.
הצהרה נוספת הקשורה להצרת דא%1? היא 01.5. היא "מנקה" את כל המסך (ח56166 ז0164) -- דבר
הנתן לביצוע גם בעזרת 015 עם אשת יחדיו. :
כאשר ההדפסה מגיעה לתחתית המסך -- היא מתחילה ליגלגל' ((10) את המסך כלפי מעלה,
בדומה למכונת-כתיבה. תוכל להווכח באם תבצע
ח דאפא: הח דא251: 22 10 1 = ח ת0:: 615
ולאחר מכן בצע-מספר פעמים
9 דאואת
באם המחשב מדפיס כמויות רבות של מידע, נדרשת זהירות רבה כדי להבטיח שדבר לא יגולגל מעבר
לקצהו העליון של המסך בטרם הספקת לצפות בו כיאות. תוכל לראות זאת מתרחש באם תדפיס:
ח דאפא: ח דאזתת: 166 1170 = ה 0%ת: 615
לאחר שיודפס מטך מלא, יעצר התהליך תוך הדפסת השאלה -- ?!5101 (ילגלגלי?) -- בתחתית
המסך. תוכל כעת לבחון את 22 המספרים הראשונים ברשימתך. כאשר תחליט לסיים עמם, הדפס ע
(69- כן) והמחשב יספק לך מסך חדש מלא במספרים. למעשה, כל מקש יגרום למחשב להמשיך מלבד
ח (סה -- לא), 07ד5 (511181 801/אצ5 עם ג) או 5205 (מקש א8854). אלו יגרמו למחשב לחדול
מהרצת התכנית -- בדווח: 6606 דא60 -- אאפתם פ.
הצהרת דש2א1 יכולה לבצע -- אף יותר ממה שתארנו לפניך. ראית עד כה הצהרות דט?א1! מהצורה
6 "לטסץ 6זג 016 אסצו- דטפא
79
שבהן המחשב מדפיס כותרת כגון ?וסץ 016316 110 בתחתית המסך, ועליך להדפיס כתגובה את גילך.
למעשה, הצהרת ד0קא! בנויה מפרטים ומפרידים באותו-אופן בו בנויה הצהרת דא281, ולכן 016 שיס14
טסץ 316 וכן 386 מהווים שניהם פרטי'07קא]. פרטי 1207 הנם בדרך כלל מאותה צורה כפרטי דאז1אק,
אך קיימים מספר הבדלים חשובים.
ראשית, פרט נוסף בהצהרת 07א! הינו המשתנה אשר את ערכו עליך להדפיס -- 386 בדוגמא שלנו.
הכלל הוא שאם פרט -- 01א] מתחיל באות הוא חייב להיות משתנה שאת ערכו יש לקבל בקלט.
שנית, המשמעות הנובעת מכך היא שאינך יכול להדפיס את ערכי -- משתנים כחלק מן הכותרת; בכל
אופן, תוכל לעקוף זאת על-ידי סוגריים סביב למשתנה. כל בטוי המתחיל באות חייב להיות בתוך
סוגריים באם דרוש שיודפס כחלק מהכותרת.
כל פרט דַא291 שהוא -- שאינו מושפע מכללים אלו, הינו גם כן פרט ד0קאז. לפנינו דוגמא להדגים
זאת:
שסו]";(' ." ;396 צחז;" ג |'") דקאו :(100 * סאא) ד! = 396 ץוח דש
6 זטסץ ,"?טסץ 6זהּ 4!ס
36 וח נמצא בתוך סוגריים ולכן ערכו יודפטס, 6 זטסץ לעומת זאת אינו בתוך סוגריים ולכן עליך
להדפיס את ערכו.
כל דבר אותו רושמת הצהרת דַטקא! עובר לתחתית המסך, המתנהגת באורח עצמאי קמעא
מהמחצית העליונה של המסך. בפרט, השורות בה ממוספרות באופן יחסי לשורה העליונה של
המחצית התחתונה, גם אם הדבר הביא לתנועת המסך כלפי מעלה (כפי שקורה כאשר קיים מידע רב
מאד מהצהרות דַט5א]).
כדי לבחון כיצר פועלת 41 בהצהרות דטפא!, הרץ את:
27 ;0.",36 6חו! 15 פוחד'';0,0 ד ;1.",86 6ח!| 5ו פוחדי' דוקו 10
4% ש6חון| |ו510 5ו פוחד'';1,0 דג ;2.",86 שחו! 15 פוחדי*
(לחץ על אדא בלבד, בכל פעם שהתכנית נעצרת). כאשר מודפס -- .2 6חו! ₪ וד -- החלק
התחתון של המסך נע כלפי מעלה, חלקו העליון אינו מושפע כלל -- עד לשלב בו החלק התחתון
מאיים לפלוש לתחומו ולכתוב בשורה המתאימה לימיקום ה-דַא281'. במצב זה -- החלק העליון
מתחיל גם הוא ל'התגלגלי כלפי מעלה -- כדי למנוע זאת.
נקודה נוספת שאותה לא ראינו בהקשר להצהרת דַ20א1 -- היא מא1], שהיא דרך אחרת לקליטת
משתני-מחרוזת. באם תרשום פא11 לפני שמו של משתנה -- מחרוזת הנדרש כקלט, כמו בדוגמא
הבאה
5 פאז דטקאן
אזי המחשב לא יוסיף את המרכאות אותן הוא רושם תמיד למשתנים במחרוזות, למרות שיתנהג
כאילו הן קיימות שם. לכן אם תרשום
8
כמידע -- 01א1, 35 יקבל את הערך :63. מאחר ומרכאות מחרוזת אינן מופיעות במחרוזת, אינך יכול
למחוק אותן ולהדפיס בטוי מחרוזת שונה כמידע -- 201א1. זכור כי אינך יכול להשתמש בַ-תא11
עבור משתנים מספריים.
לתוי הבקרה 522 0118 ן-523 0138 השפעות דומות לאלו של 41 [-138. הם מוזרים במקצת כתוי
בקרה, מאחר ובעת ואחד נשלח למסך לשם הדפסה הוא חייב להיות מלווה בשני תוים נוספים שלהם
השפעה שונה מהרגיל: הם נחשבים כמספרים (הקודים שלהם) כדי להגדיר את השורה והעמודה
(עבור 41) או את מיקום"התוית (עבור 18). אתה תמצא לבטח, כי נוח יותר להשתמש בְּד וְְ8/ד
בדרך הרגילה מאשר בתוי הבקרה, אך יתכן ותמצא גם להם שימוש בנסיבות מסוימות. תו הבקרה
עבור 41 הוא 522 0148. התו הראשון שלאחריו מגדיר את מספר השורה והשני את מספר העמודה, כך
שהבטוי
₪ 15 + 51 0135 + 638522 דאוחק
הוא בעל משמעות זהה לבטוי -
ד זאזתת
הדבר הינו כך -- גם אם לֶ-ו1ּ 01385 או 011856 משמעות אחרת בדרך כלל (לדוגמא באם 13 = 6; 22
5 לפניהם הוא המגדיר זאת.
תו הבקרה של 748 הינו 23 01185 ושני התוים שלאחריו משמשים להגדרת מספר בתחום 6 עד 65535
הקובע את המספר שיהיה כפרט הֶ-148:
55 0118 +54 וז + 23 0185 דאזתק
היא בעלת אותה השפעה כמו -
;5 256 + ג 148 אופק
אתה יכול להעזר בְ-20%5 כדי להורות למחשב לחדול מהשאלה -- ?!56701, על"ידי:
5, 23692 20%
בכל עת שתחפוץ. לאחר זאת הוא יגלגל 255 פעם בטרם יעצור וישאל ?!%101. כדוגמא, נסה:
0 0ד 0=ח 0₪= 10
5 ש6א0: :הח דאוהץ 20
ח דאםא 30
וראה כיצד נעלם הכל מן המסך!
תרגילים :
ה נסה את התכנית הבאה עם מספר ילדים, כדי לבחון את ידיעותיהם בכפל.
""=5 דש ]| 10
12(1*סאה) דאו=ם דש | :1+(12*סצחחא) זא!=3 זם ו 20
6 * ";(8);" 5ו +החעש'' ' ' (וח) דטקאו 30
0 ד 60 :".זח4ח''=5וח דם.! אוד פ*6==8 =| 100
0 סד 60 :".חובאָ3 ץזד .פחסז/''=5 דש.! 110
באם הם נבונים, הם עשויים לגלות שאין צורך שיבצעו את החישובים בעצמם. לדוגמא, באם המחשב
מבקש מהם להדפיס את התשובה ל-2*3, כל שעליהם לעשות הוא להדפיס 2*3.
דרך אחת לעקוף זאת היא לגרום להם להכניס מחרוזות במקום מספרים. החלף את סשבשורה 3 בד
5 ובשורה 16 בְ-05 .41 והכנס לתכנית שורה נוספת:
1
5 ,ץ!זסקסזכ :! 6קץד''=% ד6.! א=ו]ד 6% | 58% <>66 :]| 40
סד 60 :'".זספוהטה 5
ובכך שיטית בהם, לאחר מספר ימים, לבטח אחד מהם יגלה שהם יכולים לעקוף גם את-זאת על ידי
מחיקת מרכאות המחרוזת והדפסת (3י2) 5 518. כדי למנוע זאת, אתה יכול להחליף את 05
שבשורה ₪ בְ-05 פאו1.
2
" "0 שש ו לי 7
1 1
ו /
פרק 16: צבעים
תמצית:
אא], תפקגפ, 1/45₪1ע, דס1תם, פפתמצאז, פפצס
אמסתספ
הרץ את התכנית הבאה:
חח זו :1 סד 06=ח 03 10
0 0ד 1=ח 08 20
7 חס 30
5 6פזטס!60 4 ואש :;' *" דאוחק :6 מ=קהק 40
וח דא₪א :הח דאשא :6 דאשא 50
7 הק :וח דסו8₪ :1 סז 0=ח 03 60
3 == 08 70
"; ";6 זאוגק :6 אאו 80
0 :6 דאםא 90
7 4+==6 08 100
"; ";6 דאוחק :6 אצו 110
וח דשא :6 דא 120
0 דוזב)וחם :0 אאו :7 ₪=קק 130
תכנית זו מציגה את שמונת הצבעים (כולל שחור ולבן) ושתי דרגות הבהירות אותן נתן להשיג במסך
הטלויזיה -- בחיבור למחשב זה. (באם הטלויזיה שברשותך היא מסוג שחור-לבן, תראה גוונים שונים
של אפור). לפנינו רשימה שלהם -- לשם יחוס: הם רשומים גם על המקשים המתאימים:
שחור --6
כחול - 1
אדום -
סגול -
ירוק -
תבלת -
צהוב -
לבן - 7
על מסך טלוזיה שחור-לבן, מספרים אלו מייצגים דרגות בהירות שונות.
כדי להשתמש בצבעים אלו כיאות, עליך להבין מעט יותר כיצד בנויה תמונת הצבע.
התמונה מחולקת ל-768 (24 שורות של 32) מקומות בהן יכולים תוים להיות מודפסים. כל תו מודפט
במערך של 88 נקודות כמו זה שלפנינו, המציג את האות ג:
0 = 5 4 ₪
/
3
₪
ו
הדבר צריך להזכיר לך את סימולי הגרפיקה-מוגדרת-המפעיל עליהם קראת בפרק 14, שם ראינו כי ₪
מייצג את הנקודות הלבנות וְ-ו1 את הנקודות השחורות.
מיקוס התו קשור גם הוא בשני צבעים: 'הדיו' (%חו) -- או 'צבע החזית' -- שהוא צבען של הנקודות
השחורות בריבוע שלנו, והינייר' (ז46ק) -- או 'צבע הרקע' -- שהוא צבען של הנקודות הלבנות.
בהתחלה, לכל מיקום מוגדרים 'דיו' שחורה ו'נייר' לבן -- כך שהרישום יופיע כשחור על גבי לבן.
מיקום התו קשור גם בדרגת בהירות (פ66חזתַפַוּז8) -- רגילה או בהירה במיוחד, ובאמצעי לבטא באם
יתקיים הבהוב (8ח(ח5ג1?) או לאו -- כאשר ההבהוב מתקבל על ידי החלפת צבעי ה'דיו' וה'נירי בינם
לבין עצמם. כל זאת נתן לקידוד, כמספרים. אם כך -- למיקום התו יוגדרו:
()) מערך רבועי של 8א8 נקודות של 6ון-1 להגדרת תבנית התו, כאשר ₪ הוא עבור 'נייר' וְ-1 עבור 'דיו'.
(₪) צבעי 'ניר' ו'דיו' כשכל אחד מהם מתורגם למספר בין 6 לְ-7.
(₪ו) בהירות -- 6 עבור רגילה ו-1 לבהירות גבוהה.
(עו) הבהוב -- 6 לחוסר-הבהוב וְ-וּ ליצירת הבהוב.
שים לב שמאחר וצבעי ה'יניר' וה'דיו' מכסים מיקום תו -- שלם, אינך יכול שיהיו יותר משני צבעים *
במערך של 64 נקודות. אותו מצב מתקיים גם לגבי הבהירות וההבהוב: הם מתייחסים לכל מיקום התו
ולא לנקודות מסוימות במערך הנקודות.
הצבעים, הבהירות ומספר ההבהוב בכל מיקום שהוא נקראים 'תכונות' (9190669).
בעת שאתה מדפיס משהוא על המסך -- אתה משנה את תבנית הנקודות באותו מיקום; הדבר ברור
פחות, אך עדיין נכון, כי בכך אתה משנה את התכונות באותו מיקום.
מיד"לאחר הפעלת המחשב, אינך צריך לשים לבך -- לכך, מאחר והכל יודפט ב'דיו' שחורה על ינירי
לבן (בבהירות רגילה וללא הבהוב), אך אתה יכול לשנות זאת בעזרת ההצהרות אא], 5פק4ת,
זתסות רְד5אה.
נסה -
5 58קק .
והדפס תוים נוספים כלשהם; הם יופיעו כולם על רקע תכלת, מאחר ובעת שהם מודפטים -- צבע
ה'ניר' במיקומים בהם יודפסו התוים -- הופך לתכלת (המתאים לקוד 5
האחרים פועלים באופן דומה, כך שלאחר -
מספר בין ₪ ל-7 288
מספר בין 6 לָ-7 אא1
חשוב על 6 כָּ-))ס ₪ או 1 ד סז
(לא פעיל) ועל 1 או:
כעל חס (פעיל) ₪ אוו 58גת
4
כל הדפסה מגדירה את התכונות המתאימות בכל מיקומי-התוים בהן היא מדפיסה. נסה כמה מאלה
- אתה אמור להיות כעת בעל-יכולת לבחון כיצד התכנית בתחילת הפרק פעלה (זכור כי מרווח הינו
תו שבו אא1 ו-24755 הם באותו צבע.)
קיימים מספרים נוספים בהם תוכל להשתמש בהצהרות אלו שלהם השפעה-ישירה קטנה יותר.
8 נתן לשימוש בכל אחת מ-4 ההצהרות הללו במשמעות ישקוף' -- במובן שהתכונה הקודמת מראה-
מספיק. נניח-לדוגמא כי בצעת: 8 אפקגת
אף מיקום-תו לא יהיה בצבע ינירי בערך 8 מאחר ולא קיים צבע שכזה; מה שיקרה הוא שכאשר מיקום
זה יודפס -- צבעו ישאר ללא שנוי -- כפי שהיה בפעם הקודמת. 8 אא], 8 8810111 וכן 4518.זת
פועלים באופן דומה, על התכונות האחרות.
9 נתן לשימוש רק עבור 24288 וְ-אא1 ופרושו: 'יצירת ניגודי-גוון'. הצבע (ידיו' או 'ניר') בו אתה
משתמש, מושווה עם האחר ובעקבות זאת -- הוא הופך ללבן באם השני הינו כהה (שחור, כחול,
אדום או סגול), ולשחור באם השני הינו צבע בהיר (ירוק, תכלת, צהוב, או לבן). נסה זאת ע"י הדפסת
ת דאפא: 6 דאזתת: 6 םק ת: 7 10 6 = 6 תסת: 9 אאז
תצוגה מרשימה יותר של עוצמת הדברים היא להריץ את התכנית שבתחילת הפרק -- ליצירת
רצועות צבע, ולאחר מכן לבצע:
ת דאפא : :ח דא]ת?: שששוסד 1 = הת תסע: ; 6, 6 ד דאותע: 8 4258 <: 9 אאן
צבע הידיו' כאן מוגדר כדי ליצור 'נגודי-גוון' עם צבע ה'נירי הקודם בכל מיקום.
טלויזיות צבעוניות נשענות על העובדה המוזרה קמעא שעון האדם יכולה למעשה להבחין רק בין
שלושה צבעים -- בין שלושת הצבעים הראשוניים שהם: כחול אדום וירוק. כל יתר הצבעים הנם
תוצאה של ערבוב שלושת הצבעים הראשוניים. לדוגמא -- סגול מתקבל מערבוב אדום עם כחול, וזו
גם הסיבה מדוע הקוד המתאים לו הוא 3 -- שהוא סכום קודי הצבעים כחול ואדום.
כדי לראות כיצד כל שמונת הצבעים מתאימים יחדיו, דמיין לעצמך 3 נקודות-אור מלבניות בצבעים
כחול, אדום וירוק המבהיקות לא בדיוק באותו מיקום על פיסת נייר במקום חשוך. כאשר הן חופפות
תראה תערובת של צבעים, כפי שמציגה התכנית הבאה: (שים לב שמרווחי 'דיו' מושגים ע"י 511171
עם 8 באופן-הפעולה-הגרפי).
56 :7 אאו :0 הםקגק :0 הםסחסם 10
6 0ז 3=1 ₪08 20
אה 18 ומומוומוועעמ ;1 אאו ;6 8 הד דאוהק 30
. 05
8 דא 40
0 =06חו!0318 דם.| 50
0 508 60 60
0 =06ח]3%8 דם ] 70
0 5008 60 80
קסד 90
4 0/7 200
4 ה דגס 210
6 0 3=1 08- 1000
6חו|819 355708 1010
5 סד 1=ט 08 1020
65 אחו 6 31 :;' קעקקאך';6 או דטוחץ :6 סםגשג 1030
8 דאםשא : דאוחץ :ט דאשא 1040
את דשה 1050
5
ה
קיימת פונקציה בשם 411% המוצאת את התכונות הקיימות במיקום מוגדר במסך. זוהי פונקציה
מסובכת מעט ולכן נטפל בה בהמשך הפרק.
קיימות שתי הצהרות נוספות -- 5855/א1 ו-0988 השולטות לא על התכונות, כי אם על תבנית
הנקודות המודפסת במסך. הן משתמשות במספרים ₪ ן-1 עבור ]/0 "חס בהתאמה (לא-פעיל ופעיל)
בדומה להצהרות 8816111 ך1.4513. אולם אלו הן האפשרויות היחידות. באם תבצע 1 פ5תמ/א1 --
תקבל תבנית תו הפוכה מצורתה הרגילה: נקודות 'נירי יוחלפו בנקודות 'דיו' ולהפך. לכן הָ" 3
שהודפסה קודם -- תראה בעת כך:
באם ברגע ההפעלה מתקיימים -- 'דיוי שחורה ו'נירי לבן -- אזי 9 זה יופיע כלבן על רקע שחור -- אך
זכור כי גם עבור תו זה הידיו' הינה 'שחורה' וה'ניר' לבן! הנקודות הן אלו אשר השתנו.
ההצהרה
1 טס
מפעילה צורת הדפטה -- חוזרת מיוחדת. באופן רגיל כאשר משהוא מודפס במיקום תו כלשהוא --
הוא מוחק לחלוטין את התו שהיה שם קודם; אולם כעת התו החדש יתווסף פשוט על הקודם (אולם
-- ראה תרגיל 1). הדבר יכול להיות שמושי מאד לשם רישום תוים מורכבים -- כגון אותיות עם
הדגשות עליהן, כמו בתכנית הבאה המדפיסה מאותיות השפה הגרמנית -- סי עם תו היגוד מעליה.
(בצע אופא תחילה).
10 1
2 0ז 1=ח 08 20
;"""";8 6088 ;"ס'' דטוחק 30
ח דאפא 40
(שים לב לתו הבקרה 58 6118 המחזיר מיקום אחד חזרה).
קיימת דרך יעילה יותר לשימוש בֶ-אא] וְ-24758 מאשר השימוש בהן כהצהרות; תוכל להגדירן
כפרטים בהצהרת ד%%? (כשלאחריהן הסימן ;) ואז הן יבצעו בדיוק.אותו דבר כאילו עמדו כהצהרות
בפני עצמן מלבד העובדה שהשפעתן היא זמנית: היא נמשכת כל עוד לא תמה פקודת הֶ-זַא91ת בה
הן מוגדרות. לכן אם תדפיס:
6
"צ'יי דאזתת:;"א" ;6 פמק דאותת
אזי, רק א יודפס בצהוב.
אא] והשאר, כאשר מתקיימות כהצהרות בפני עצמן -- אינן משפיעות על הצבעים של החלק
התחתון של המסך, שם מודפסות פקודות ומידע -- דשפא1. החלק התחתון משתמש בצבע הגבול
כצבע הינירי וקוד 9 עבור 'ניגוד הגוון' עבור צבע ה'דיו', ללא הבהוב ובבהירות רגילה. תוכל לשנות את
צבע הגבול לכל אחד משמונת הצבעים (לא 8 או 9) בהעזר בהצהרה:
צבע 80058
כאשר תדפיס מידע -- ד(ופא!, גם הוא נשמע לכלל של צבע ידיו' הנוגד בגוונו לצבע הגבול; אולם
אתה יכול לשנות את צבע הכותרות המודפסות על ידי המחשב בעזרת פרטי אא ון-258גת (וכך
הלאה) בהצהרת הָ-דַטא1, כפי שהיית מבצע בהצהרת דא2%1. השפעתם היא עד לתום ההצהרה או
עד להדפסת מידע -- דטפא!, בהתאם למתרחש קודם. נסה:
ת; "?זשלוחגת זטסץ 15 זבת/"; ו אאז; 1 151ץ דטקאז
קיימת דרך נוספת לשנוי הצבעים -- בעזרת תוי-הבקרה, בדומה לתוי הבקרה עבור41 ך88ד שבפרק
5
אאן מתאימה להצהרה 16 08%
אשקגק מתאימה להצהרה 17 018%
4 | מתאימה להצהרה 18 06186
דו]))ם מתאימה להצהרה 19 08%
== שאו מתאימה להצהרה 20 018%
₪₪/0) מתאימה להצהרה 21 08%
לכל אלו מתלווה תו המייצג את הצבע בהתאם לקוד: לכן (כדוגמא)
59 0118 + 516 6 דאזתק
הוא בעל אותה משמעות כמו -
אא דאזתתק
ככלל, לא תטרח להשתמש בתוי בקרה אלו, מאחר ותוכל להשתמש בפרטי הצבעים. אולם, דבר יעיל
שתוכל לבצע באמצעותם הוא להכניסם לתכניות: הדבר מאפשר שחלקים שונים יופיעו ברישום
התכנית (אַח1!81) בצבעים שונים, כדי להבדיל אותם זה מזה או אפילו רק כדי שהתכנית תראה יפה.
אתה חייב לרשום אותם לאחר מספר השורה, אחרת הם פשוט יאבדו.
כדי להכניסם לתכנית, עליך להכניסם מלוח המקשים, בדרך-כלל בהעזר באופן הפעולה המורחב (5)
עם הספרות.
הספרות ₪ עד 7 מגדירות את הצבעים המתאימים -- לידיוי באם :5111 645 גם הוא נלחץ ולינירי
באם לאו. ליתר דיוק, באם אתה נמצא באופן-הפעולה-המורחב (8) ואתה מקיש על ספרה כלשהיא
(הבה נניח כיי6 -- עבור צהוב; בכל מקרה -- ערך זה חייב להיות בין 7-76 -- לא 8 או 9) אזי מוכנסים
שני תוים: הראשון 5 0118 שמשמעותו 24258 [-56 0148 שמשמעותו -- יבחר צבע צהוב'. באם
לחצת על 511151 6425 באותו זמן, תקבל 516 0118 שמשמעותו -- יהגדר את צבע הדיוי במקום
- 7ו5 0168
מאחר ואילו שני תוים, אתה יכול לקבל תופעות מוזרות: בעת שתמחוק אותם -- עליך להקיש על
מדמ זפ פעמיים, ולאחר הפעם -- הראשונה יתקבל לעיתים קרובות סימן שאלה או אפילו סימנים
מוזרים יותר. אל תדאג; רק -- הקש על 8דמ1עכ פעם נוספת.
7
-50-- מ ממממו<קקא8/."
=- ן -> יכולים גם הם להתנהג בצורה מוזרה בעת שהסמן חולף על פני תויההבקרה.
אך, עדיין באופן-הפעולה-המורחב (ם),
8 מביא ל-519 6118 ן-0 * 648 לבהירות רגילה
| 9 מביא ל-512 648 רְ-51 6115 לבהירות גבוהה.
, 5 6425 עם 8 מביא ל-618518 ["0186 לחוסר הבהוב
5 695 עם 9 מביא לְ-פ63951 וְ-ו1 0148 עבור הבהוב
ן קיימים כמה נוספים באופן הפעולה הרגיל (.0:
| ד 605 עם 3 מביא לָ-520 638 ₪ 685 לתוים רגילים .
דוו 625 עם 4 מביא ל-520 018 ו-51 6148 לתוים הפוכים.
לסיכום האמור לעיל, הבה נבחן את הטבלה הבאה -- המתארת את השורה העליונה בלוח המקשים:
מו
8
.>599
דיו
ו ו
דיו עם ללא דיו דיו דיו
שחורה | הבהוב | הבהוב לבנה | צהובה | תכלת | ירוקה
נייר בהירות | בהירות גייר נייר נייר נייר נייר נייר נייר
שחור | גבוהה | רגילה לבן צהוב | תכלת ירוק | |" סגול אדום | כחול | אף אחד
או | שטהז | 6805
.
% + ו ב
6 6 זס
וו
טוש
>
ה
ו
לפונקציה 411% הצורה הבאה -
(עמודה, שורה) דד
שני הארגומנטים שלה הם מספרי השורה והעמודה בהם תשתמש כפרטי הצהרת 41, והתוצאה
המתקבלת היא מספר המראה את התכונות (הצבע וכו') במיקום המתאים לארגומנטים -- במסך.
אתה יכול להשתמש בה בחופשיות בבטויים כפי שאתה משתמש עם פונקציה כלשהיא.
המספר המתקבל כתוצאה הוא סכום ארבעת המספרים האחרים כדלהלן:
8 באם מיקום התו -- מהבהב, ₪ באם הוא יציב
4 באם מיקום התו בהיר במיוחד, 6 באם הוא רגיל
8 הקוד המתאים לצבע היניר'.
קוד צבע הידיו'.
לדוגמא, באם מיקום התו מהבהב, בהירותו רגילה וצבע היניר' בו ירוק עם 'דיו' כחולה, אזי ארבעת
המספרים שעלינו לחבר יחד הם -- 128, 0, 48 = 8*6 וכן ו שסכומם יחד נותן 177. בחן
זאת ע"י: (₪ש) ד1ג; ""; 1 אאז; 6 הפק :1 51ג.ז; ₪6 ד4 דאוגץ
תרגילים:
זו נסה את -
"ו 0%; 8 85ה6; "8 דאזתק
כאשר, במקום בו הטימול / חוצה את 8, הוא הותיר נקודה לבנה, זוהי הדרך בה הדפסה-חוזרת
פועלת בָּ"וחז6ק5 2%: שני טוגי-'נירי או שני סוגי 'דיו' מגדירים 'ניר', כבאשר אחד מהם מגדיר
'דיו'. לכך תכונה מענינת -- שאם תדפיס הדפסה-חוזרת אותו דבר בדיוק פעמיים, תקבל חזרה מה
שהיה מלכתחילה.
באם תדפיס כעת
"/"; ו תם/0; 8 6185 דאזתק
מדוע מתקבל 8 ללא כל פגם?
2. הדפס -
6 אאז: ₪ פפפג?
האין זה כאילו אין הם"משפיעים על החלק התחתון של המסך?
כעת הדפס -
6 תפסתספ
וראה כיצד המחשב שומר את צעדיך!
3 הרץ את התכנית הבאה:
7 י*סאת, 764*שא22527+5 5א20 16
שו 70 00 26
ללא חשיבות כיצד תכנית זו פועלת, היא משנה את צבעי הרבועים על פני המסך -- כאשר
ה-סאא מבטיחים שהדבר יקרה באופן אקראי. רצועות האלכסונים בהן אתה מבחין -- הנן הצגת
התבנית הנסתרת בֶּ-סָאא, התבנית הגורמת לה להיות פסאודו אקראית -- במקום אקראית
לחלוטין.
4. הדפס או העזר בֶ-040: כדי להכניס למחשב את כלי השחמט מפרק 14, ואחר הדפס תכנית זו
המציירת לוח-שחמט העזר בהם.
00
6
* 2 , .
0 השריש הלקיד ה דה 87/77 שאי
7
ו
יש שש א א-ש ל 7 רע 8 97-9--9- רלק 2-4 ל
,
1
0-ל
> = .
2-2 8-ל לב----2 לה לב רד. לשסל,
5
ולי
ו
.
י
ָ
0זהסס אחה8|פ עשהזם 51 5
הס זס) 6טופ 0ח8 60ז 351 :2=עשם דש :1=פם דש | 10
5 :פט אצ!ו :עשפ השקץ 15
- ז00זסם ₪1 :79,128 ד0!ק 20
5 + :65,0 /\/מס 30
5 שא :65,0- שוג גוס 40
פם 53 50
4זהסט 5% 60
3 10 0=ח 08 :3 סז 0=ח 0₪= 70
" ";ה*11+2 ,ח*6+2 ד דאוגק 80
" ";ו₪*10+2 ,ח*7+2 ד דאומק 90
הח דא :וח דא 100
38 110
5 180% ה 6)!חעצע 01 5זטס!ס6 51 :5=פכ דש :6= ששכ דש.! 120
5 ]0 פחסוזופסכן ₪1 :(5)8,8 ואום 200
פחסוזופסכ |הוז/חו כט 561 ₪51 205
"זהטאפחז''=(1)%ט דש .! 210
"סק קקטט''=(05)2 זם .| 220
ייקקקקקקקק''=(55)7 דם.| 230
"האהפאסטאח''=(5)8 דם | 240
זה8ספ !4:50 51 300
8 = 04 :8 סד 1=ח 03 310
ששכ אא! :(הז,ח)5פ 6=06005 דש 320
" 50806 !םח :350 סד 60 אפווד '' "6=6005פ :| 325
זסששס! ₪51 :6=56-32ם דש :פכ אאו אפווד "2'' 0005<ספ זו 330
80| זס) 0856
58 0+ ד+וסטהס6 351 :6+79פ=06 דש | 340
6 618 ;וח+9 ,ח+5 דג דאוהץ 350
ח דא :וח דאשא 360
0 אאו :7 ה=קץ 400
1
פרק 17: גרפיקה
תמצית:
דסזק, שגפכ, 618015
דאזסץ
5 ('מרכיבי-תמונה')
בפרק זה נראה כיצד לצייר תמונות בָּוחטז66ק5 2%. חלק המטך בו אתה יכול להשתמש בנוי מ-22
שורות [32 עמודות, היוצרים יחד 22*32=704 מיקומי-תוים. כפי שאתה עשוי לזכור, מפרק 16, כל אחד
ממיקומי התוים בנוי ממערך רבועי של 8<8 נקודות, ואלו קרויים6!5אזק (5זח6וח6-6|6זטזפ = מרכיבי
תמונה).
מרכיב-תמונה מוגדר בעזרת-שני מספרים -- הקואורדינטות שלו. הראשונה, קואורדינטת ציר א --
מגדירה מהו מרחקו מהעמודה השמאלית ביותר. השניה, קואורדינטת ציר ע מגדירה מהו המרחק מן
התחתית. קואורדינטות אלו נכתבות בדרך כלל נצמד בתוך סוגרים, ולכן (0,6), (6, 255), (175, 6) ן-
(175, 255) מגדירות את הפינות השמאלית-התחתונה, הימנית"התחתונה, השמאלית-העליונה
והימנית-העליונה בהתאמה.
ההצהרה
קואורדינטת ע, קואורדינטת א 2107
מסמנת בידיו' את 'מרכיב-התמונה' שבקואורדינטות הללו, כך שהתכנית הבאה --
שו 10 00: 45 דטפאז: (176*סשאת) דא1, (256יפאת) דאז דסזק שו
משרטטת נקודה אקראית בכל פעם שתלחץ על פדאפ.
לפנינו תכנית מענינת יותר. היא משרטטת את הגרף של הפונקציה א51(גל סינוסי) עבור ערכים בתחום
6עד ח2.
5 70 0=ח 0 10
(|*128/ח) ₪ו80*9--88,ח ד 1ק 20
ח דאםא 30
התכנית הבאה מציירת את הגרף המתאים לפונקציה 58 (חלק מפרבולה) - עבור תחום הערכים 6
עד 4:
5 0ד 0=ח 08 10
(64/ח) 80*50,ח ד10ק 20
ח דאפא 30
שים לב כי קואורדינטות 'מרכיבי-התמונה' שונים במקצת ממספרי השורה והעמודה בפרטי 41. אתה
עשוי למצוא את הסכימה בפרק 5 שמושית כדי למצוא קואורדינטות לימרכיבי תמונה' ולמספרי
שורה ועמודה.
22
(פ)אר"% \
|
1
. 1: %
₪00
ודי רייו ץ "וח" "".
"ו
-עי י ימי
ה
1
יו אי
כדי לעזור לך בציוריך, המחשב מצייר קוים ישרים, מעגלים וכן חלקי מעגלים עבורך, בעזרת ההצהרות
גת ךן-5א6.
ההצהרה /ו04 המציירת קו ישר היא מהצורה -
ץ. א איאאס
מקום ההתחלה של קו זה היא המקום האחרון בו נעצרה ההצהרה ד2.0, 84 או 018015 (הוא
נקרא מיקום ה-21071; אשת; 5ג015, 015 וכן שפא מאפסים אותו לפינה השמאלית-
התחתונה (6, 6), ומקום הסיום הוא א 'מרכיבי-תמונה' ימינה לו וְ-ץ מעליו. הצהרת 084 לכשעצמה
מגדירה את אורכו וכוונו של הקו אך לא את נקודת התחלתו.
נסה את ההצהרות 2007 וְ- 54 בעזרת:
5, 80 שגתס: ששו,שדסזק
5, 86 שוגכ: 156, 96 דס.זק
שים לב כי המספר בְ-/54כ יכולים להיות גם שליליים, אך ב-21.01 לא.
אתה יכול להשתמש בהצהרות אלו בצרוף עם צבע, למרות שעליך לזכור תמיד כי הצבעים מוגדרים
לתו-שלם (מערך 8א8 נקודות) בעוד הקואורדינטות הללו מוגדרות ל'מרכיבי-תמונה'. בעת שמשורטט
ימרכיב-תמונה', הוא נערך להציג את צבע הידיו' כולו וכל מיקום התו המכיל אותו יקבל גם הוא את
צבע הידיו' הנוכחי. התכנית הבאה מדגימה זאת:
ח66ז50 טס אסגום וה : 615 :7 אאו :0 הפקהק :0 הפסחהסם 19
6חו| )0 5181 5/1 :1=0ץ זם] :1=0א דש 20
6 שַחו1ו518 ,זטס!|ס6 אחו זס) ₪51 :6=1 דם | 30
ואשח :(176*סאה) זאו=2ץ זם | :(256*סחח) זאו=2א זם | 40
שחו /ס ה5וח!1 והסטחגּז
1ץ-2ץ,1א--2א;6 אצו שהחס 50
6 85%] 6זסה/עט 15וה51 6ח/! זאשח וה :2ץ=1ץ דם] :2א=1א דם .| 60
ו
זטס|סס עשפה !35% :6=1 דם | אפוזד 6=8 ;]| :6=6+1 דם | 70
0 סד 60 80
דומה שהקוים הולכים ומתרחבים ככל שהתכנית נמשכת, וזאת מאחר וקו משנה את צבעי 'מרכיבי
התמונה' המסומנים בצבע 'דיו' בכל מיקומי התוים דרכם הוא חולף. שים לב כי אתה יכול לשבץ פרטי
המקגק, אאז, ד סזתפ, 4511.ד, פפ5תמצאן וכן תפצ בהצהרות ד0.ע ן- אגא כפי שיכולת לעשות
כך בהצהרות דא281 וְ-דטפא1. הן פועלות בין מילות-המקש והקואורדינטות ומסתיימות בפסיק או
בפסיק-נקודה.
נקודה נוספת לגבי 54 היא שאתה יכול להשתמש בה כדי לשרטט חלקי מעגל במקום קוים ישרים,
על ידי הוספת מספר להגדרת הזוית בה יש להסתובב: הצורה היא -
3 ץ, א אוגחהס
א וְץ משמשים להגדרת מקום הסיום של הקו כמקודם, וְ37 היא מספר הרדיאנים אותם יש להסתובב
- באם ג חיובית הסיבוב הוא לכוון שמאל ובאם ג שלילית -- לכוון ימין. דרך אחרת לראות את ג
היא כמספר המייצג את חלק המעגל מן המעגל השלם אשר מצויר: מעגל שלם הוא ח2 רדיאנים
ולכן אם ז = -- יצויר חצי-מעגל, באם 0.97 = 8 -- רבע מעגל וכך הלאה.
לדוגמא, נניח ח כי =3.עבור ערכי א, ץ כלשהם יצויר חצי-מעגל. הרץ את השורה -
₪1 ,50,50 הס :100,100 דס !וק 10
אשר יצייר את הצורה הבאה -
.33
סיום ב-(156, 156)
התחלה ב- (66ו, 106)
השרטוט יתחיל במגמה דרומית-מזרחית, אך עם הזמן היא תלך ותשתנה למגמה צפון-מערבית:
ביניהם הוא הסתובב סיבוב של 180 מעלות, או ח רדיאנים (ערכו של 6.
הרץ את התכנית מספר פעמים, כאשר ]2 מוחלף בבטויים שונים כגון 21--, 2/2, 3*01/2,
4, 1 0.
ההצהרה האחרונה בפרק זה היא ההצהרה 618018, המציירת מעגל שלם. עליך לציין את
קואורדינטות המרכז ואת הרדיוס בצורה הבאה:
רדיוס, קואורדינטת ץ, קואורדינטת א 018018
בדומה להצהרות 9.01 רְאגת, אתה יכול לקבוע פרטי צבע שונים בתחילת הצהרת -- 018015.
הפונקציה 201% מציינת באם 'מרכיב-תמונה' הוא בצבע 'דיו' או בצבע-הינירי. היא בעלת שני
ארגומנטים, הקואורדינטות (החייבות להופיע בסוגרים); תוצאתה היא ₪ באם הצבע הוא צבע ינירי ן-1
באם הוא צבע 'הדיוי. נסה:
(ש,ש) דא201 דאזתת: (₪, ש6) דסת: (6, 6) דאזסע זאזתת: 625
הדפס -
₪ אאז: 7 גמפהפ
והבה ונחקור כעת כיצד 55תפ/א1 ו-0/8 פועלים בתוך הצהרת ד1.0ק. שנים אלו משפיעים רק על
'מרכיב-התמונה' הרלונטי, ולא על שאר מיקומי-התוים. בדרך כלל הם ₪ (0/0 -- לא פעילים)
בהצהרת 21.01, כך שעליך להזכירם רק בעת שברצונך להפעילם (1).
להלן רשימת האפשרויות לשם יחוט:
1 -- זוהי הצורה הרגילה. היא מביאה לציור נקודת 'דיו' -- דהיינו גורמת לימרכיב-התמונה'
להראות את צבע הידיו'.
;1 פפתפשא]ז 2101 -- זו מציירת נקודה בצבע ההפוך לידיו' דהיינו צבע היניירי.
;1 059 207 -- זו משנה את 'מרכיב-התמונה' להפוך משהיה קודם; לכן אם הוא היה צבע דיו'
הוא יהיה כעת צבע 'נירי, ולהפך.
;1 8 לס; 1 פפתמטאת 2.07 -- זו משאירה את 'מרכיב-התמונה' בדיוק כפי שהיה קודם; אולם שים
לב כי היא משנה את מיקום הָ-21.01, כך שאתה יכול בפשטות להשתמש בה למטרה זו.
כדוגמא נוספת לשימוש בהצהרת 0/58, מלא את המסך בתוים הכתובים בשחור-לבן ואחר הדפס :
5, 255; 1 המלס שגמס: ששדסזק
שורה זו תצייר קו ישר למדי, למרות שהוא מכיל מרווחים בכל מקום בו הוא נתקל בתו -- כתוב. בעת
בצע שוב את אותה פקודה. הקו יעלם ללא עקבות. זהו היתרון הכביר הטמון בְו1 0/88.
באם ציירת את הקו בהתאם לשורה --
5, 255 אוגתס: שש דס.זת
ומחקת אותו בעזרת --
5, 255; 1 פפ5תמעאז שוג תכ: 66 דסק
אזי מחקת חלק מן התוים המודפסים. כעת נסה:
5, 256; ו תמטס צוגתכ 6, 6 דסזק
נסה למחוק אותו בעזרת
5, 25%--; 1 תפשס אגא
4
על יש ד ק יי ו וש יקי לקי שרירי שי וקיש שרי יו שר ץאור רדר שוישי קיו
* ו שי לאשי
+
2
שיישד * ש 7 9 א 5 ה
ו וא טראו טא אא )אצ
%
התהליך אינו מתבצע כמתוכנן, מאחר ו'מרכיבי-התמונה' בהם משתמש הקו בדרכו חזרה אינם בדיוק
אלו שהיו בדרך הראשונה. לכן אתה חייב למחוק קו בדיוק באותו כוון בו ציירת אותו.
דרך אחת להשיג צבעים יוצאי-דופן היא לערבב שני רגילים ברבוע יחיד, בעזרת גרפיקה -- מוגדרת
נסה תכנית זו:
2 5 6 סד 0=ח 038 1000
,1" 58 05 :01010101 |8 ,ה+"ג'' הפש םאסק 1010
0 שווום
ח דאא 1020
הנותנת את הגרפיקה-מוגדרת"המפעיל המתאימה לתבנית לוח שחמט. באם תדפיס תו זה (מעבר
לאופן-הפעולה-הגרפי ולאחר מכן 3 בידיו' אדומה על 'ניר' צהוב, תמצא כי התקבל צבע כתום.
תרגילים :
1. שחק עם פרטי 58 ת, אא], וְ-ד101ת8 בהצהרת 07.ז2, אלו הם החלקים המשפיעים על כל מיקום-
התו המכיל את 'מרכיב-התמונהי. באופן רגיל הדבר הוא כאילו הצהרת 21.01 התחילה בצורה --
:8 810147 :8 4511 :8 הפקת דס.זק
ורק צבע הידיו' של מיקום התו משתנה כאשר משהוא משורטט שם, אך תוכל לשנות זאת באם כך
רצונך.
היה זהיר במיוחד בעת השימוש בצבעים עם 1 8%58/א1, מאחר וזו גורמת ל'מרכיב התמונה' להיות
בצבע ה'ניר' אך משנה את צבע הידיו' והתוצאה עלולה להיות לא מה שציפית שתהיה.
2. נסה לצייר מעגלים בעזרת א51 ן-605 (באם קראת את פרק 10, נסה לבחון כיצד). הרץ התכנית:
0 ו קםד5 |2"7 סד 0=חה ה0: 10
ח א|87+80*5,ח 100+80*605 ד0!? 20
ח דאשא 30
40 00. 080
אתה יכול להווכח בכך שהצהרת 018018 היא מהירה יותר, גם אם פחות מדויקת.
3 נסה -
5₪, 56 שגתס: 86, 87, 166 65
אתה יכול ללמוד מכאן כי הצהרת 01801.8 מותירה את מיקום הָ21.011 במקום בלתי-נתן לידיעה
מראש; הוא נמצא במקום כלשהוא במחצית הדרך למעלה במחצית הימנית של המעגל. תזדקק בדרך-
כלל לעקוב אחר הצהרת 01801.8 עם הצהרת 2001 בטרם תמשיך לצייר עוד.
4. לפנינו תכנית המציירת גרף של כמעט כל פונקציה שהיא. היא שואלת תחילה למספר ח; היא תצייר
את הפונקציה עבור ערכיה שבתחום ח-- עד ת+. לאחר-מכן היא שואלת מהי הפונקציה עצמה,
וקולטת אותה כמחרוזת. המחרוזת צריכה להיות בטוי המשתמש בְּדא כארגומנט הפונקציה.
5
0 חכ :0,87 ד0 1 10
5 0% :127,0 דס וק 20
6 דנקא| 30
0+ דש | 35
5 0ד 1=0 08 40
6 %41=ץ זם | :128(*5/128--))=א דם.] 50
0 0ד 60 :0=+ דש | א=וזד 87<ץ 85( :ו 60
0 0ד 60 :1=+ דש ] :88+ץ,1 דס 1ק אפחוד + דסא זו 70
ץ ה!|ס-ץ,1 ששהחס 80
(5.+ץ) זא!|=ץ 4וס דש 1 100
1 דאפא 110
הרץ אותה וכדוגמא הדפס 16 כערך עבור ח ואת הבטוי א א10"1 עבור הפונקציה. היא תצייר גרף של
- אהגז עבור(3]בתחום 10 -- עד סו+.
זי זי ץצ זי
ו
2
-
=
>
- 2
ד
->
-
+
06
פרק 18: תנועה
תמצית:
5, 5 צםאצן, אמפק
לעתים קרובות תרצה שתכנית מטוימת תפעל במשך זמן קצוב מראש, ולשם כך תמצא את ההצהרה
5 יעילה מאד.
ח 55(זה ק
עוצרת את תהליך הביצוע ומציגה את התמונה למשך ח מסגרות זמן של הטלויזיה (באירופה -
קיימות 50 מסגרות בשניה, ובארה"ב 60). ערך ח המקסימלי יכול להיות 65535, המאפשר מרווח זמן של
עד 22 דקות; באם 6 = ח -- משמעותו: '24055 לעולמי עדי.
8 נתן לקיצור על ידי לחיצה על מקש (שים לב כי -- מרווח עם 511171 6425 מביא להפסקת
התכנית גם כן). עליך ללחוץ על המקש לאחר ש-24055 החל את פעולתו.
התכנית הבאה מציגה את תנועת מחוגו-המשני של השעון:
68 000% 6ח1 עשהזם פע ז5זו-] ואג 10
2 0ד 1=ח 08 20
ח;(1ק*6/ח) %!6*1(,16+10*5/ח) 10*005--10 דג דאוחק 30
ח דא=א 40
0% שח 51871 6עש עצס4 ₪1 50
5 חן שחו 6+ 5 + וג :200000 ד 1=0 08₪- 60
חן חח 5660700 6ה1 ]0 6והֶחה 6הז 15 ב 11 : |ק*8=%30 ז₪| 70
5
8 57=80*005 דם] :8 |80*65=א5 דם | 80
חח 560000 עשבז !5 :צץ5,א1;5 הם/0 /שהחס :128,88 דס וק 200
2 05₪ק 210
חח 0ח5600 6856 35/1 :7ץ5,א1;5 ה 0 עוהחכ :128,88 זס וק 220
+ דאםא 400
השעון יפעל בערך עד 55.5 שעות עקב שורה 6₪, אולם אתה יכול בפשטות להאריך את משך פעולתו.
שים לב כיצד התזמון מבוקר ע"י שורה 216. יתכן ואתה מצפה כי 56 24055 יגרום לתקתוק פעם
בשניה -- אך אל נא תשכח כי גם החישוב עצמו אורך זמן שאותו יש לקחת בחשבון. הדבר מתקבל
בצורה הטובה ביותר בשיטת הינסוי"והשגיאה", ע"י הרצת המחשב מול שעון אמיתי וכוון שורה 216
עד להתאמה ביניהם. (אינך יכול לבצע זאת בדיוק רב מאד; הכוונון של מסגרת בשניה הוא 2% -- או
מחצית השעה במשך יום שלם).
קיימת דרך מדויקת יותר למדידת זמן. היא משתמשת בתוכנם של מיקומים מסוימים בזכרון. המידע
האגור בהם נשלף בעזרת הצהרת א85ק. פרק 25 יפרט-מה בדיוק מבקשים. הבטוי שבו משתמשים
07
2 8 8=%:23673+765 א23674+256*55 55% *65536)
והוא מספק את מספר השניות שעברו מאז הדלקת המחשב. (עד לערך -- 3 ימים וְ-21 שעות, שאז
המחשב חוזר שוב לערך 6).
להלן תוכנית משופרת לפעולת שעון:
6 00608 6+ עש8ז סע ז5זו-] וח=ה 10
2 0ד 1=ח 03 20
ח;(1ק*6/ח) %!10*5-+6"1(,16/ח) 10*005--16 דג דאוחק 30
הח דא 40
+23673 23674+256"0656 א65ק*65536)) דא|=()1 א: ]טס 50
1 06ח51 56607005 ]0 זססוחטה != :(23672(/50 אששק
*0!00 106 +ו518 6עט עשס וה 100
()+ א]=1+ דש | 110
חן חח 5600700 6חז ]0 סופָחגּ 6ח+ 5 3 וש : |ק*1/30+=3 דם.] 120
5 הז
8 72*60005=ץ5 ד₪.) :3 |72*5=א5 דם | 130
הגח ששהז !ה :צץ5,א1;5 הפצ עשג הס :131,91 דס וש 140
()+ א]=1 דם | 200
+ זס) 6וחוז |וזחט ההג !ה :200 סד 60 אשווד 1+=>+ | 210
החהת
חח 0!6 זטס סטז 351 :ץ5,א1;5 הפעס חס :131,91 דס ו 220
0 0ד 60 :%=1+ דש .]| 230
השעון הפנימי בו משתמשת שיטה זו צריך להיות בעל דיוק העולה על 6.01% כל עוד שהמחשב מריץ
את התכנית, או 16 שניות במשך יממה; אולם היא עוצרת באופן זמני בכל עת שאתה מבצע ק888, או
פעולה קשורה בטייפ"הקסיטות, או משתמש במדפטת או בציוד הקפי אחר אותו אתה יכול לחבר
למחשב. כל אלו יגרמו לאיבוד זמן.
המספרים 23674 א285, 23673 258% ך-23672 אמפק נשמרים בתוך המחשב ומשמשים למניה של
חלקי507 של שניה. כל אחד הוא בתחום ₪ עד 255, והם גדלים בהדרגתיות מֶ-ש עד 255; לאחר 255 הם
חוזרים שוב לערך 6.
2 אפסמק הוא הגדל בקצב מהיר יותר. כל 1/50 שניה הוא גדל בְּדו. כסאשר הוא מגיע לערך 255,
השנוי הבא מחזירו לֶ-8, ובה בעת משנה את ערכו של 23673 אם6ת בְו. כאשר (כל 256/50 שניות)
53 אמ השתנה מְ-255 עד 6, הוא משנה את 23672 55% בְ1. בכך מובן כיצד הבטוי הקודם פועל
כפעולת שעון.
כעת, בחן בזהירות: נניח ושלושת המספרים שברשותנו הם ₪ (עבור 23674 285%), 255 (עבור -
3 אמםם5) ך255 (עבור 23672 258%). פרושו של דבר שחלפו 21 דקות בקרוב מאז הדלקת המחשב
- והבטוי אמור לתת את התוצאה -
)65536 *₪ + 256 * 255 + 255( / 56 = 7
אולם, חבויה גם סכנה. בפעם הבאה בה מתבצעת מניית 1/50 של שניה, שלושת המספרים
ישתנו לֶ-וּ, 6 -ך2. לעתים קרובות, הדבר יקרה כאשר נמצא באמצע חישוב הבטוי: המחשב יעריך 5%
4 אחםםת כֶ-0, אולם -- אז הוא ישנה את השנים הנותרים ל-₪ בטרם יספיק לבצע א8מת עליהם.
88
.
י
"9 רדר"
התשובה תהיה אז -
65536*0+256*0+0(/50=0)
שהינה טעות-משוועת.
כלל פשוט כדי להמנע מבעיה זו היא לחשב את הבטוי פעמיים, פעם אחר פעם, ולהתייחס לתשובה
הגדולה יותר.
באם תבחן בזהירות את התכנית הקודמת תוכל להווכח כי היא מבצעת זאת באופן-מלא.
לפנינו רעיון -- שאותו כדאי להפעיל על הכלל. הגדר פונקציות.
ץ נטחה א וס זסטזה! 6ח+ ושח :2/((ץ--א) 85+ץ+א)=(ץ,א)וח א מס 19
ק+23673 א236744-256*755 א5=ק*65536)=()ט א ]מס 20
שחסזעט 06 צהח ,6וחוז ₪1 :23672(/50
זוז ,6חוז ואםה :((וט א ,(וט א=)ה א-= 10 א פס 30
אתה יכול לשנות את שלושת מספרי-המונים כך שתקבל את הזמן האמיתי, במקום הזמן
שחלף מאז הופעל המחשב. לדוגמא, להגדיר את השעה ש10.0 בבקר, תווכח כי דרושים
180000 = 56 * 60 * 66 * 16 חלקי-חמישים (1/50) של שניה, וכן כי מתקיים:
18060666 = 65536 * 27 + 256 * 119 + 4
כדי להגדיר את שלושת הערכים -- 27, 119 [-64, יש לבצע:
4, 23672 ם0%ק: 119, 23673 0%ק: 27, 23674 םאסק
במדינות בהן תדר הרשת הוא 60 הרץ -- בתוכניות הללו יש להחליף את המספר 56 במספר 6₪.
הפונקציה 5 צםאא! (שאינה בעלת ארגומנט) קוראת את לוח-המקשים. באם תלחץ על מקש יחיד(או
מקש יחיד עם מקש 511181 -- שהוא) אזי תוצאתה תהיה התו שאותו מקש גורם באופן-הפעולה-
הרגיל (1); בכל מקרה אחר -- תוצאתה היא המחרוזת-הריקה.
נסה את התכנית הבאה, הפועלת כמכונת-כתיבה:
0 סד 60 אשווד ""<> 5צשאאו זו 10
0 סד 60 אפחד ""= %צםאצו :זו 20
;5צםאאו דאוחץ 30
0 סד 60 40
כאן, שורה 16 מצפה שתרים את אצבעך מלוח המקשים ושורה 26 מצפה שתקיש על מקש-חדש.
זכור כי שלא בדומה לְ-דַטא1, 5 צםאא] אינה ממתינה לך. לכן אינך נדרש להדפיס תפדאם, אך מצד
שני באם לא תדפיס דבר, אבדת את ההזדמנות שניתנה לך.
תרגילים :
ו מה יקרה באם תבטל את שורה 16 בתכנית מכונת-הכתיבה?
2 דרך נוספת לשימוש בְ-5 צםאא] קשורה בֶ-4055ת, כמו בתכנית החלופית הבאה -- עבור
מכונת-כתיבה:
6 24055 16
5 צםאאז זאןא? 26
שו 0 00 36
(9
כדי שזו תפעל, מדוע חיוני כי 0058 לא תסתיים באם היא מגלה שאתה לוחץ על מקש כבר
מהרגע בו החלה?
3. התאם-את תכנית המחוג-המשני כך שהיא תראה-גם את מחוגי השעות והדקות, כשהיא מציירת
אותם כל דקה. באם אתה בעל שאפתנות -- דאג לכך שמידי רבע-שעה התכנית תדאג להדפיס
הודעה כל שהיא, או אף להציג מופע כלשהוא -- אתה יכול ליצר את קולות השעון המפורסם
מאנגליה "ביגדבן" בעזרת 8882. (ראה בפרק הבא)
4. (לסדיסטים בלבד) נסה זאת --
0 סד 60 אפוזד "= %צםאאו זו 10
"|11,14;'000 דה זאוחהץ 20
0 סד 60 אפחד ""<> %צשאאו זו 30
" ";11,14 דג דאוחק 40
0 סד 60 50
100
פרק 19: קתתם
תמצית:
סממ
באם לא גילית עד כה כי מחשב :28-56 קיים רמקול פנימי, קרא שוב את ספרון-המבוא בטרם
תמשיך עם פרק זה.
השמעת צליל ברמוקל נעשית בעזרת ההצהרה 8555, שצורתה:
גובה-הצליל, משך-הזמן 8552
כאשר, כמו בכל ההצהרות האחרות, 'משך-הזמן' ו'גובה-הצליל' מיוצגים על-ידי בטוים-מספריים.
משך-הזמן מוגדר בשניות, וגובה-הצליל מוגדר בחצאי-טון מעל 6"המרכזי, כשבעזרת מספרים
שליליים מייצגים חצאי-טונים מתחתיו.
לפנינו סכימה המציגה את ערכי גובה-הצליל בסולם התוים עבור אוקטבה אחת-בפסנתר:
לקבלת תוים גבוהים או נמוכים יותר עליך לחבר או לחטר 12 לכל אוקטבה בה אתה עולה או יורד.
באם לפניך נמצא פסנתר בעת שאתה מתכנת נעימה, סכימה זו היא כל שתצטרך כדי להגדיר את ערכי
גובה-הצליל. באם, בכל אופן, אתה מעתיק ישירות ממוסיקה כתובה כלשהיא, אנו מציעים שתשרטט
סכימה של הקטע עם ערכי גובה-הצליל כתובים מול כל שורה וכל רווח, תוך לקיחת המפתח-בחשבון.
לשם דוגמא, הדפס:
11
"צ518ט) סזסז-'' דוק 10
20 8557 1,0: 8557 1,2: ₪557 .5,3: 0557 .5,2: ₪6 0
30 8557 1,0: ₪557 1,2: 657 .5,3: ₪557 .5,2: == 0
40 ₪557 1,3: ₪557 1,5: 66 7
50 8557 1,3: ₪557 1,5: 55 7
60 8557 .75,7: ₪557 .25,8: ₪557 .5,7: 557 .5,5: = 1
₪557 .5,2: ₪5 0
70 855 .75,7: ₪557 .25,8: 57 .5,7: ₪7 .5,5: ₪ .1
557 .5,2: ₪5 0
0 קשםם :5-,1 8557 :1,0 8557 80
90 2557 1,0: 8557 1,-5: 855 0
כאשר תריץ זאת, אתה אמור לשמוע את "מרש-ההלוויה" מן הסימפוניה הראשונה של מאהלר.
הבה נניח כי הנעימה שלך כתובה במפתח 6-מינור, כמו הסימפוניה של מאהלר. ההתחלה נראית כך:
( /
1-1 -,-]----ם]. , ----1 .אש | , ------- 048 /.. 0
7-ה ב-א---
הוספנו כאן שני קוידעזר, לשם מידה. שים לב כיצד פַבָמוּל בסימני-המפתח משפיע לא רק על הָ-ם
שבמרווח העליון, בהנמיכו אותו מֶ-16 לָ-15, אלא גם על הָ-5 בקו התחתון -- בהנמיכו אותו מֶ4 לֶ"3.
כעת, צריך להיות קל מאד למצוא את ערך -- 'גובה-הצלילי של כל תו בקטע המוסיקלי.
באם רצונך לשנות את המפתח של הקטע, הדרך הטובה היא להגדיר משתנה -- ע66 ולהכניס לתוכנית
+ שא לפני כל ערך 'גובה-צליל': אזי, השורה השניה תקבל את הצורה:
1 5ם3:55+ץא, 5 .2:8557+ץ6א, 1 6:8552+ץ6), 1 קם85 26
₪ + ₪א, 1 פפפפ
בטרם תריץ תוכנית, אתה חייב להגדיר את ערכו של ע6:%6 עבור 6-מינור, 2 עבור ס-מינור, 12 עבור )-
מינור באוקטבה אחת גבוהה יותר, וכך הלאה. תוכל להביא את המחשב להתאמה עם כלי אחר ע"י
כוון ע% בעזרת ערכים לא-שלמים.
עליך לקבוע את פרקי-הזמן עבור התוים. מאחר וקטע זה הוא איטי למדי, קבענו פרק זמן של שניה
לרבע-תו (ז06(6ז), ואת קבענו לפי כלל זה -- מחצית השניה עבור שמינית-תו, וכך הלאה.
12
הדרגת המשתנה :67066 -- האוגר את משך רבע-התו ומגדיר את פרקי-הזמן בהתאם לכך, הינה
גמישה יותר. שורה 26 תראה אז:
000 ₪557 :2+ץְ6א,016781ז6 8557 :0-- ץְ6א,6701606% ₪7 20
85570 :067+2א,6701008%/2 8557 :07+3א,2
(לבטח תרצה לקרוא למשתנים :6-06 נְֶעָא בשמות קצרים יותר).
ע"י קביעת ערכים מתאימים 7-ז01606ז6, תוכל לשנות את מהירות הקטע.
זכור, כי מאחר וקיים רק רמקול אחד במחשב, נתן לנגן אך ורק תו אחד בו-זמנית, ובכך אתה מוגבל
לנעימות ללא-הרמוניות. באם תשאף ליותר -- פצח קולך בשיר...
נסה לתכנת בעצמך נעימות. בחר נעימה פשוטה, תוך שאתה מסתייע בכלי פשוט כמו משרוקית -
ונתח באמצעותו את הנעימה המבוקשת. אתה יכול ליצור תרשים המראה את ערכי 'גובה-הצלילי
לכל תו שנתן להפיקו מכלי זה.
הדפס את השורה הבאה -
ח דאםא: ח, 5. ק955: ש6שש1 70 6 = ה 708
אשר תגרום להשמעת תוים במהירות המקסימלית האפשרית ולאחר מכן תעצר עם דווח שגיאה -
6תגז ]0 זנוס ז6ק6זח: 8. תוכל להדפיס את ה כדי לדעת עד כמה גבוה הגיע.
נסה זאת, אלא בכוון ההפוך -- לתוים הנמוכים. התוים הנמוכים ביותר ישמעו כִ-קליקים; למעשה
התוים הגבוהים גם הם בנויים כקליקים באותו אופן, אלא שהם מהירים יותר מכדי שאוזן האדם תוכל
להבחין ביניהם.
רק התחום האמצעי של התוים מיועד למעשה למוסיקה; התוים הנמוכים נשמעים כקליקים והגבוהים
דקים מדי ונוטים להיות צורמים.
הדפס את השורה הבאה:
: 5,7. קםם8: 5,5. קםם0: 5,4. קםשם: 5,2. 8507: 5,6. קפ שו
07, 5. קםםם: 5.11. קםם8: 5,9. 8557
המציגה את סולם 6-מז'ור המשתמש בכל התוים ה'לבנים' בפסנתר החל מ-0 המרכזי ועד ל-6
הגבוה-הקרוב. האופן בו סולם זה מכוון זהה בדיוק כבפסנתר, והוא קרוי מקצב-שלם מאחר ומרווח
'גובה-הצליל' של חצי-טון נשמר שווה לכל אורך הסולם. כנר, בכל אופן, ינגן את הסולם באופן שונה
במקצת, על ידי התאמת התוים כך שישמעו נעימים לאוזן. הוא יכול לבצע זאת על-ידי הזזת אצבעותיו
לאורך המיתר, דבר שנגן הפסנתר אינו יכול לבצע.
הסולם הטבעי, שאותו מנגן הכנר, נשמע כך:
1, 5. 8005: 3.86, 5. 2ם05 :2.039, 5. קש85: 6, 5. קםמ9 26
07 2, 5. קםםם: 10.88, 5. ק205: 8.84, 5. קם80: 5.7.62. קםם2
אתה עשוי להיות בעל יכולת להבחין בהבדלים בין שני אלו ועשוי גם שלא להיות בעל יכולת כזו;
ישנם אנשים בעלי יכולת שכזו; ההבדל הראשון הנכר ביניהם הוא שהתו השלישי נמוך במקצת
בסולם הטבעי. באם אתה מוסיקאי מקצועי, יתכן ותרצה לתכנת נעימות בעזרת הסולם הטבעי במקום
הסולם בעל המקצבים-השלמים. החסרון בו הוא שלמרות שהוא פועל בצורה יפה בסולם 6, עבור
מפתחות אחרים הוא פועל בצורה-פחות טובה -- לכל אחד מהם קיים הסולם הטבעי שלו -- ובכמה
מפתחות הוא אף פועל בצורה גרועה מאד. סולם המקצבים-השלמים משתנה רק במעט ופועל בצורה
זהה בכל המפתחות.
הדבר אינו מהווה בעיה במחשב, מאחר ואתה יכול להעזר במשתנה ע6א אשר נתן להוסיף לו ערך
מספרי כדי להתאים את המפתח.
מוסיקות שונות -- במיוחד הודית -- משתמשות במרווחי 'גובה-צלילי הקטנים מחצי-טון. תוכל
13
לתכנתן בהצהרות 8557 ללא כל בעיה; לדוגמא לרבע-הטון מעל 6"המרכזי קיים ערך גובה הצליל --
5
אתה יכול לגרום לכך שלוח"המקשים ישמיע צליל אחר במקום הרגיל -- על ידי:
20% 23609 ,5
המספר השני מגדיר את משך-הצליל (נסה ערכים שונים בתחום ₪ עד 255). כאשר הערך הוא ₪, משך
הזמן הוא כה קצר עד כי הוא נשמע כקליק-עדין.
באם אתה מעונין להפיק יותר מצלילים מהמחשב, כגון שמיעת הצליל אותו גורמת 8552 בעזרת
אמצעי אחר מלבד הרמקול הפנימי, הרי עליך לדעת כי הצליל מופיע בשני השקעים 116א' ן-/54'.
בשקע '58' הוא יהיה ברמה גבוהה יותר אך מלבד זאת הם זהים. תוכל להשתמש בו כדי לחבר
אוזניות למחשב. חבור שכזה אינו מפסיק את השמעת הצלילים ברמקול הפנימי. באם ברצונך
ליהרעיש עולמות' במוסיקה אותה תיצור תוכל לחבר את המחשב למגבר -- בחיבור לשקע 16א -
או אף להקליט את יצירותיך על טייפ ולשמרן.
לא תוכל לגרום נזק למחשב גם אם שקעים אלו '848' ן-'10וא' יתקצרו משום-מה, ולכן אל תחשוש
מלנטות -- כדי למצוא מהי התפוקה המשביעה את רצונך.
תרגיל :
ו. רשום את תכנית הסימפוניה של מאהלר מחדש, בעזרת לולאות דאפא-5ס;.
תכנת את המחשב כך שישמיע לא רק את 'מרש-ההלויה' אלא את כל הסימפוניה הראשונה של
מאהלר.
14
פרק 20: שמירת תכניות -
על טייפ
תמצית:
0 545, צעןתמט, פסתפוא
השיטות הבסיסיות לשימוש בטייפ-קטיטות כדי לבצע 54/8, ם104, כן 805פוא על תוכניות -
מוזכרות בספרון-המבוא. פרק זה מתבסט על האמור בספרון-המבוא ולכן יש לקרוא בו קודם ואף
להתנסות באמור שם בטרם נתן להמשיך בקריאת פרק זה.
ראינו כי 1.04 משמיטה את התכנית הקודמת ואת המשתנים הקודמים שהיו במחשב לפני הטענת
(פַח:1036) תכנית חדשה עם משתנים חדשים; קיימת הצהרה נוספת 8865!וא שאינה גורמת לכך.
8 משמיטה אך ורק תכנית או שורה קודמת או משתנה קודם באם הדבר נחוץ מאחר ובחדשים
מופיע אותו מספר שורה או שם משתנה. הדפס את תכנית ה'קוביה' שבפרק 11 ושמרה על טייפ תחת
השם "4/6"; כעת הכנס והרץ את התכנית הבאה:
1 דאוחץ 1
2 דאוץ 2
0 דאוחהץ 10
0=א זם] 20
ולאחר מכן המשך כאילו למטרת אימות, אך בהחלפת "74/66 צת]58/ בהצהרה -
"066" םוא
באם תערוך רישום של התכנית (פַח:!) תוכל לראות כי שורות ו ו-2 נותרו ללא שנוי, אולם שורות 16
ו-2₪ הוחלפו באלו מתכנית-הקוביה, א גם הוא נותר ללא שנוי (נסה -- א דא281)
ראית עד כה את הצורות הפשוטות של ארבע ההצהרות המשמשות לפעולה עם טייפ-הקטיטות:
55 -- מקליטה תכניות ומשתנים על טייפ.
צפזתת/ -- משווה את התכנית והמשתנים המוקלטים בטייפ מול אלו הנמצאים כבר במחשב.
0-5 -- מנקה את המחשב מכל התכניות והמשתנים הקודמים ומחליפה אותם בחדשים מהקסיטה.
8 -- דומה ל-1042 מלבד העוברה שהיא מוחקת רק תכניות, שורות או משתנים מאחר
ומספר-השורה או שם-המשתנה מופיעים גם בתכנית החדשה.
כל אחת מארבע מילות מקש אלו מלווה במחרוזת: 54%8 מלווה בשם התכנית תחתיו היא תשמר
בטייפ, ועבור שלושת האחרים בשם התכנית אותה המחשב נדרש לחפש ולמצוא. בעת שהוא מחפש
-- הוא מדפיס את שמות התכניות בהן הוא נתקל בדרכו.
15
עבור /ת1פפץ, 040 וכן 8865!א אתה יכול לציין את המחרוזת-הריקה כשם אותו המחשב נדרש
לחפש: המחשב אז לא יתיחס לשם, וישלוף את התכנית הראשונה בה הוא יתקל.
גרסה אפשרית ל-54%5 היא מהצורה:
מספר פא11 מחרוזת 5₪%5
תכנית שנאגרה באמצעות הצהרה שכזו, מוקלטת באופן כזה -- שכאשר תקרא בחזרה על ידי 104
(אך לא 8865/א) היא תקפוץ מיד לשורה שמספרה נתון, ולמעשה תתחיל להריץ את עצמה -- לבד.
עד כה, סוגי המידע היחידים אותם שמרנו בטייפ היו תכניות עם משתניהן. קיימים שני סוגי מידע
אחרים הנתנים גם"הם לאחסון הקרויים -- מערכים (5ע3ז41) ו'בתים' (665ע8).
המערכים מטופלים באופן שונה במקצת:
אתה יכול לאגור מערכים בטייפ בעזרת 2414 בהצהרת 54%5:
0 שם מערך 013 מחרוזת 54%5
המחרוזת תהיה השם תחתיו מידע זה ישמר בטייפ, בדיוק כמו עבור תכניות רגילות או בתים פשוטים.
שם המערך מגדיר את המערך אותו אתה מבקש לאגור, כך שהוא אות בלבד או אות מלווה בסימול 5.
זכור את הסוגרים שלאחריו; אתה עשוי למצוא אותם חסרי תועלת מבחינה לוגית, אך אתה חייב
לרשום אותן כדי לפשט את עבודת המחשב.
ודא כי ברור לך ההבדל בין תפקידי שם המערך והמחרוזת. אם תרשום, לשם דוגמא --
50 1 קסופ" 55
אזי 54% יטול את המערך פ מהמחשב ויאגור אותו בטייפ תחת השם "810205?
()ט דה "995סו8'' צזוח'
(כאשר המחשב ימצא
אותו הוא יציין 'פָפָס/8: זזה זסטוחטא' -- מערך מספרי בשם 8!0888) ויבדוק אותו מול המערך 5
(50 41 "פקקָסופ'י ם104
ימצא את המערך בטייפ, ואחר כך -- באם ישנו מקום פנוי בזכרון -- ישמיט מערך הקיים שם בשם פ,
באם אכן קיים מערך כזה, ויטעין את החדש מהטייפ תחת השם פ.
אינך יכול להשתמש בהצהרה 8%65!א עם מערכים האגורים בטייפ.
אתה יכול לאגור מערך תוים (מחרוזת) בדיוק באותו אופן. בעת שהמחשב מחפש בטייפ ומוצא אחד
שכזה, הוא יודיע 'ע4119 ז6313606* (מערך-תוים) כשלאחריו שם המערך. בעת הטענת מערך-תוים
הוא ישמיט מהזכרון לא רק את מערך התוים בעל אותו שם, אלא גם כל מחרוזת באותו שם.
אגירת בתים (063ץ8) משמשת לאגירות פיסות מידע ללא כל חשיבות למה משמש מידע זה -- הוא
יכול להיות תמונת טלויזיה, סימול בגרפיקה-מוגדרת-מפעיל או כל דבר אחר שהמצאת בעצמך,
בעזרת 6005:
2, 16384 6005 "6זטזסוק'" 54%
יחידת אגירת המידע בזכרון היא בית (שהוא מספר בתחום 6 עד 255); לכל בית מוגדרת כתובת (שהיא
מספר בתחום 6 עד 65535).
המספר הראשון לאחר 6005 היא כתובת הבית הראשון אותו יש לאגור בטייפ והמספר השני הוא
מספר הבתים אותם יש לשמור. בדוגמא שלנו, 16364 היא כתובת הבית הראשון בקובץ-התצוגה
(הקובץ המכיל את תמונת הטלויזיה) 6912 הינו מספר הבתים שבו, כך שלמעשה אנו שומרים העתק
של מסך הטלוזיה; נסה זאת. השם "6וטזק" פועל באותו אופן כמו שמות תוכניות.
כדי להטעין זאת חזרה, הדפס
8 ל"טסוק" 04
106
אתה רשאי להגדיר את המספרים לאחר 0005, בצורה -
אורך, התחלה 6005 "6וושסק'י םס
כאן האורך הוא רק מטעמי בטחון; כאשר המחשב מוצא את הבתים בטייפ המתאימים לשם שהוגדר
הוא ימנע מלהטעינם באם אורכם בטייפ עולה על האורך לו אתה מצפה (כפי שהגדרת ב'אורך) --
מאחר וקיים מידע רב משציפית, ויתכן שבעת ההטענה הוא יכתב על קטעים בזכרון שאתה נזקק להם
-- ואשר אינך רוצה כי ימחקו. המחשב יציג דווח שגיאה זסזז6 קַחו096! 6קגד א. אתה יכול לונְתר על
ה'אורך' ואז המחשב יקרא את כל הבתים הקיימים.
ה'התחלה' מציגה את הכתובת אליה יוטען הבית הראשון -- וכתובת זו יכולה להיות שונה
מהכתובת ממנה הועתק הבית הזה לטייפ, כאשר אם שניהם זהים אתה יכול להשמיט - ערך זה
מהצהרת 040ם.
2, 16384, 600 הוא כה יעיל לאגירת והטענת התמונה עד כי תוכל להחליפו בֶ-5 אמ50%5
לשם דוגמא:
6 "'זטזסוכ'' 55
6 "פזטזסוכ'' 100
זהו מקרה נדיר שבו צ:581/ לא יפעל -- צתואפ/ כותבת את השמות אותם היא מוצאת בטייפ, כך
שעד אשר היא מגיע לאימות, קובץ התצוגה השתנה והאימות נכשל. בכל המקרים האחרים עליך
להשתמש ב-ץת1ת5/ בכל עת שאתה משתמש ב-54/5.
בהמשך, מוגשת תמצית שלמה של ארבע ההצהרות הללו.
ישם' פרושו -- בטוי-מחרוזת כלשהוא והוא מתייחס לשם תחתיו נאגר המידע בקסיטה. הוא צריך
לכלול תוים מקוד 45011, שהם רק העשרה הראשונים נמצאים בשימוש.
קיימים ארבעה טוגי מידע הנתנים לאגירה על טייפ: תכניות ומשתנים (יחדיו), מערכים מספריים,
מערכי-תוים ובתים עצמאיים.
בעת ש-ץתןתמץ, 100 ו-8808וא סורקים בטייפ למציאת מידע תחת שם נתון וסוג מוגדר -- הם
מדפיסים במסך את סוגי ושמות כל המידע בו הם נתקלים בזמן החיפוש. סוג המידע מוצג כְּ"'וחגּזפָסזק'
(תכנית), 'ץ4113 זסטותטצז' (מערך מספרי), 47137 ז6ז36זגה) (מערך-תוים) או '*65וץ8' (בתים). באם השם
היה המחרוזת-הריקה, המידע הראשון מהסוג שהוגדר נשלף מן המחשב -- בהתעלם משמו.
5
שומרת מידע על טייפ תחת שם נתון. דווח שגיאה ? יתקבל כאשר השם"ריק או כולל 11 אויותר תוים.
5 מציגה תמיד את ההערה : ₪6 הג 655זק ח106, 136 5137 (הפעל את הטייפ, ולאחר זאת הקש על
מקש כלשהוא) וממתינה להקשה על מקש בטרם תתחיל לאגור את המידע.
ו. תכנית ומשתנים:
שם 54%5
הוא האופן הרגיל.
מספר שורה 8א11 שם 54%
אוגרת את התכנית והמשתנים כך -- שלאחר 100 מתבצעת אוטומטית ההוראה -
מספר שורה הנ"ל 10 00
שא שם 55 - זהה להצהרה -- 1 8א11 שם 54%/5, כך שלאחר שהתכנית תוטען היא תריץ
את עצמה מן ההתחלה.
17
2. בתים:
אורך, התחלה 6025 שם 54/5
אוגרת מספר בתים השווה ל'אורך' מכתובת השווה ל'יהתחלהי.
5 5 שם 5%5
הזהה להצהרה --
2, 16384 0005 שם 54/5
אוגרת את מסך הטלויזיה בטייפ.
35 מערכים:
0 אות 014 שם 54%5
(50 אות 4714 שם 58%5
אוגרות את המערך ששמו הוא האות, או האות בצרוף 5 -- שלהן אין, כזכור, כל תלות בישם'.
צזןתםץ:
בודקת את המידע שבטייפ כנגד המידע הנמצא כבר בזכרון. אי הצלחה באימות מביאה לדווח 31376
זז קַהו1030
1 תכנית ומשתנים:
שם +51
2. בתים:
אורך, התחלה 6025 שם עפןתפ/
באם מספר הבתים המתאימים לישם' -- גדול מה'אורך' במספר, מתקבל דווח שגיאה - 8.
במקרים אחרים היא בוחנת אותם בהשוואה לאלו שבזכרון החל מכתובת היהתחלהי.
התחלה 6005 שם עאןאפ/
בוחנת את הבתים המתאימים לישם' ביחס לאלו בזכרון, המתחילים בכתובת ה'התחלהי.
5 ששם צצאותם?
בוחנת את הבתים בישם' שהוגדר-כנגד אלו שבזכרון, החל מהכתובת ממנה נאגר הבית הראשון
שעל הטיים.
5 א5655 שם צאן58/
זהה להצהרה -
2, 16584 6005 שם צת]תפ?
אולם בוודאות גמורה, לא תצליח לבצע את האימות.
3 מערכים:
() אות 0414 שם צתזאם/
1068
() 5 אות 2419 שם צץת]אפ?
וחנות את שם המערך כנגד ה'אות', או ה'אות' בלויי 5 שבזכרון.
תכנית ומשתנים:
שם 10840
משמיטה את התכנית והמשתנים הקודמים ומטעינה את התכנית ומשתניה המתאימה לישםי
מהטייפ; באם התכנית נאגרה באמצעות פא[1, שם 54%5 תתבצע קפיצה אוטומטית לשורה
המוגדרת והרצת התכנית ממקום זה.
דווח השגיאה עוסוחפוח ]0 05 4 יתקבל באם אין מקום לתכנית החדשה ומשתניה. במקרה זה --
שש ק
התכנית הקודמת ומשתניה לא יושמטו מהזכרון.
בתים:
אורך, התחלה 0005 שם 1040
באם מספר הבתים המתאימים לישם' גדול מה'אורך' במספר -- יתקבל דווח שגיאה 8. בכל מקרה
אחר, הם יטענו לזכרון החל מכתובת ה'התחלה' -- תוך כתיבה גם על שורות שהיו כתובות
מקודם.
התחלה 6005 שם 10340
מטעינה את הבתים המתאימים לישם' מהטייפ בזכרון, החל מכתובת הי'התחלהי - תוך כתיבה
גם על שורות שהיו כתובות מקודם.
5 שם 10840
מטעינה את הבתים המתאימים לישם' מהטייפ בזכרון, החל מהכתובת ממנה הבית הראשון
שנאגר בטייפ -- הוטען, תוך כתיבה גם על שורות שהיו כתובות מקודם.
3 מערכים:
0 אות 4148 שם 0040
או
(50 אות 0414 שם 1040
משמיטות כל מערך קיים הקרוי 'אות' -- או אות בלויי 5, ויווצרות חדשים מאלו שנאגרו בטייפ.
דווח השגיאה עזסוח6וח 0 וס 4 יתקבל באם לא נותר מקום עבור המערכים החדשים. מערך
קודמים לא יושמטו.
תא
מטעינה מידע חדש מהטייפ ללא השמטת מידע קודם מהזכרון.
תכנית ומשתנים:
שם תוא
מאחדת את התכנית ששמה הוגדר עם זו שקיימת כבר בזכרון, תוך כתיבה על שורות התוכנית או
המשתנים של התכנית הישנה אשר מספרי השורות שלה או שמות משתניה מתאימים לאלו
1.09
הקיימים בתכנית החדשה.
דווח השגיאה שסות6ות 0%
ומשתניה ולתכנית החדש
2. בתים:
בלתי-אפשרי
3. מערכים:
בלתי אפשרי.
,0 4 מתקבל כאשר אין מקום מספיק
ה ומשתניה. -- בשלמותם.
בזכרון[ - לתכנית הישנה
ו
תרגילים:
1 ערוך קסיטה שבה התכנית הראשונה תציג את רשימת שאר התכניות שבקסיטה, תבקש ממך
לבחור תכנית ולבסוף -- תטעין אותה.
הבא את גרפיקת בלי השחמט מפרק 14 ואחר הדפס ץופאו: הם יעמדו בכך. אולם, הם לא יעמדו
בפני כבוי המחשב; באם ברצונך לשמרם, עליך לשמרם בטיים בעזרת 55 עם 0008. הדרך
הקלה ביותר לאגור את כל 21 הסימולים הגרפיים -- היא בעזרת:
8, "ג" ₪58 0005 686857" 5/5
שלאחריו -
5 "60658 צת]אם
זוהי הדרך לאגירת הבתים -- לשם אגירת התמונה. כתובת הבית הראשון אותו יש לאגור היא
"ג 058"
הכתובת של הראשון מבין שמונת הבתים המגדירים את תבנית הסימול-הגרפי (מוגדר-המפעיל)
הראשון, ומספר הבתים שיש לאגור הוא 8-21 -- שמונה בתים לכל אחד מ-21 הסימולים הגרפייס,
בדי לטעון חזרה -- תשתמש בדרך כלל בהצהרה --
100 66
אולם, באם תטען את התכנית חזרה למחשב וחטז600ק5 2% בעל קבולת זכרון אחרת, או באם שינית
את הכתובות השונות של הגרפיקה-מוגדרת"המפעיל לכתובות חדשות (אתה חייב לבצע זאת במכוון
בעזרת טכניקה מתקהמת יותר), עליך להיות זהיר יותר ולהשתמש בצורה הבאה:
"ג" 058 6005 606887" ג 0
8 מאפשרת את קיום העובדה שהגרפיקה תוטען לכתובת שונה.
פרק 21: המדפסת
תמצית:
דאזתת), 11157, צ60
הערה: הצהרות אלו אינן סטנדרטיות בשפת 84516, למרות ש- אק נמצאת בשימוש בכמה
מחשבים אחרים.
באם ברשותך מדפסת -- א2, ימצאו ברשותך בנוסף לה -- הוראות הפעלה. פרק זה מכסה את
הצהרות ה84510-7 הנדרשות להפעיל מדפסת זו.
שתי הראשונות -- 199181 ן-11151 הן בדיוק כמו -- אז8ק ן-1157, מלבר העובדה שהן פועלות על
המדפסת במקום על המסך. צרופה של האות 1 הוא מסיבה היסטורית. כאשר הומצאה שפת ה3/5167
היא פעלה רק עם מכונת כתיבה חשמלית -- ולא עם מסך טלוייה, ולכן דאזא? היה באמת
במשמעותו המילולית 'הדפס'. באם כמות המידע שתדפיט -- רבה, תיעזר במדפסת-שורה מהירה
(ז6)ח1זק סח[ 056) שתחובר למחשב, וההצהרה 171% משמעותה : הדפס באמצעות מדפסת השורה
(6ח1.).
נסה תכנית זו כדוגמא:
'.''הההזטסזס פוחד'י' דאוחק | 10
ד 20
' ".561 ז8010זהה6 6+ +טס >זחוזכ'*"* דאוחהק ! 30
5 70 32=ח 08 40
;ח 686 דאוחץ! 50
ח דאםא 60
ההצהרה השלישית, 602%, מדפיסה העתק של מטך הטלוזיה. לדוגמא -- הדפס 1151 כדי לראות על
המסך את רישום תכנית זו ואחר הדפס --
שים לב כי 607% אינה פועלת עם הרשימות אותן מציג המחשב אוטומטית, מאחר ואלו מתרוקנים
בכל עת שמבוצעת פקודה. אתה צריך להשתמש ב-1187 תחילה או להעזר ב-111517 ולשכוח בכך
מ-00.
אתה יכול לעצור את המדפסת בעת פעולתה -- בעזרת המקש 88848 (511171 6425 עם 52405)
באם אתה מבצע הצהרות אלו ללא מדפסת המחוברת למחשב, המחשב יאבד את כל הפלט וימשיך
הלאה עם ההצהרה הבאה. נסה זאת:
1- קםד5 0 סד 31=ח 08; 10
;(ח+"0'' 6005) 078% ;ה,ח--31 דג זאוהץ 20
ח דאםא 30
הקיימים בתכנית החדשה.
דווח השגיאה שסות6ות 0%
ומשתניה ולתכנית החדש
2. בתים:
בלתי-אפשרי
3. מערכים:
בלתי אפשרי.
,0 4 מתקבל כאשר אין מקום מספיק
ה ומשתניה. -- בשלמותם.
בזכרון[ - לתכנית הישנה
ו
תרגילים:
1 ערוך קסיטה שבה התכנית הראשונה תציג את רשימת שאר התכניות שבקסיטה, תבקש ממך
לבחור תכנית ולבסוף -- תטעין אותה.
הבא את גרפיקת בלי השחמט מפרק 14 ואחר הדפס ץופאו: הם יעמדו בכך. אולם, הם לא יעמדו
בפני כבוי המחשב; באם ברצונך לשמרם, עליך לשמרם בטיים בעזרת 55 עם 0008. הדרך
הקלה ביותר לאגור את כל 21 הסימולים הגרפיים -- היא בעזרת:
8, "ג" ₪58 0005 686857" 5/5
שלאחריו -
5 "60658 צת]אם
זוהי הדרך לאגירת הבתים -- לשם אגירת התמונה. כתובת הבית הראשון אותו יש לאגור היא
"ג 058"
הכתובת של הראשון מבין שמונת הבתים המגדירים את תבנית הסימול-הגרפי (מוגדר-המפעיל)
הראשון, ומספר הבתים שיש לאגור הוא 8-21 -- שמונה בתים לכל אחד מ-21 הסימולים הגרפייס,
בדי לטעון חזרה -- תשתמש בדרך כלל בהצהרה --
100 66
אולם, באם תטען את התכנית חזרה למחשב וחטז600ק5 2% בעל קבולת זכרון אחרת, או באם שינית
את הכתובות השונות של הגרפיקה-מוגדרת"המפעיל לכתובות חדשות (אתה חייב לבצע זאת במכוון
בעזרת טכניקה מתקהמת יותר), עליך להיות זהיר יותר ולהשתמש בצורה הבאה:
"ג" 058 6005 606887" ג 0
8 מאפשרת את קיום העובדה שהגרפיקה תוטען לכתובת שונה.
פרק 21: המדפסת
תמצית:
דאזתת), 11157, צ60
הערה: הצהרות אלו אינן סטנדרטיות בשפת 84516, למרות ש- אק נמצאת בשימוש בכמה
מחשבים אחרים.
באם ברשותך מדפסת -- א2, ימצאו ברשותך בנוסף לה -- הוראות הפעלה. פרק זה מכסה את
הצהרות ה84510-7 הנדרשות להפעיל מדפסת זו.
שתי הראשונות -- 199181 ן-11151 הן בדיוק כמו -- אז8ק ן-1157, מלבר העובדה שהן פועלות על
המדפסת במקום על המסך. צרופה של האות 1 הוא מסיבה היסטורית. כאשר הומצאה שפת ה3/5167
היא פעלה רק עם מכונת כתיבה חשמלית -- ולא עם מסך טלוייה, ולכן דאזא? היה באמת
במשמעותו המילולית 'הדפס'. באם כמות המידע שתדפיט -- רבה, תיעזר במדפסת-שורה מהירה
(ז6)ח1זק סח[ 056) שתחובר למחשב, וההצהרה 171% משמעותה : הדפס באמצעות מדפסת השורה
(6ח1.).
נסה תכנית זו כדוגמא:
'.''הההזטסזס פוחד'י' דאוחק | 10
ד 20
' ".561 ז8010זהה6 6+ +טס >זחוזכ'*"* דאוחהק ! 30
5 70 32=ח 08 40
;ח 686 דאוחץ! 50
ח דאםא 60
ההצהרה השלישית, 602%, מדפיסה העתק של מטך הטלוזיה. לדוגמא -- הדפס 1151 כדי לראות על
המסך את רישום תכנית זו ואחר הדפס --
שים לב כי 607% אינה פועלת עם הרשימות אותן מציג המחשב אוטומטית, מאחר ואלו מתרוקנים
בכל עת שמבוצעת פקודה. אתה צריך להשתמש ב-1187 תחילה או להעזר ב-111517 ולשכוח בכך
מ-00.
אתה יכול לעצור את המדפסת בעת פעולתה -- בעזרת המקש 88848 (511171 6425 עם 52405)
באם אתה מבצע הצהרות אלו ללא מדפסת המחוברת למחשב, המחשב יאבד את כל הפלט וימשיך
הלאה עם ההצהרה הבאה. נסה זאת:
1- קםד5 0 סד 31=ח 08; 10
;(ח+"0'' 6005) 078% ;ה,ח--31 דג זאוהץ 20
ח דאםא 30
תתקבל תבנית של תוים הנמשכים באלכטון כלפי מטה -- מהפינה הימנית העליונה עד לתחתית
המסך, כאשר התכנית תפנה אליך בשאלה -- האם אתה מבקש 'לגלגלי' ([66101 את המסך.
כעת שנה את ח, ה-31 47 בשורה 26 לֶ-ח 148. ביצועיה של התכנית יהיו בדיוק כמקודם.
כעת שנה את [א281 שבשורה 26 לְ-דַא121. הפעם לא תופיע השאלה ?4601 אשר אין לה כל
משמעות במדפסת, והתבנית תמשיך עם האותיות ץ עד 0.
בעת שנה את ה 148 ל-ח, ה-31 ד4, עדיין עם 1א1281. כעת תתקבל רק שורה אחת של טימולים.
הסיבה להבדל שנוצר נעוצה בעובדה שהפלט כתוצאה מִ-דַא981.] אינו מודפס מיד, אלא תחילה הוא
מתארגן בחוצץ (61/טפ) -- עד לאגירת שורה שלמה של תוים אותם המחשב מבקש לשלוח למדפטת
בעת ביצוע גישה למדפסת. ההדפסה מתבצעת:
() כאשר החוצץ מלא,
(/₪) בעקבות הצהרת 1א[128 שאינה מסתיימת בפסיק או בפסיק-נקודה,
(() כאשר פסיק, גרש או פרט 148 דורש שורה חדשה, או
(א) בסוף התכנית, באם נותרו תוים שלא הודפסו עדיין.
() | - מסביר מדוע התכנית שלנו עם 18 פועלת באופן בו חזינו. לגבי 41, מתעלמים ממספר
השורה, ומיקום הֶ-דַא1291 (כמו מיקום הֶ-דַא281, אלא שהמדובר במדפסת במקום במטך) מקבל את
ערך מספר העמודה. פריט 41 -- אינו יכול לגרום לשורה להשלח למדפסת.
תרגיל :
3 הדפס גרף של הפונקציה א51 ע"י הרצת התכנית שבפרק 17 ושימוש בְ-צ002.
112
פרק 22: ציוד הקפי נוסף:
קיים ציוד נוסף אותו תוכל לחבר ל-וטש600ק5-א2.
כונן-הדיסקט-הזעיר (6/ז116700א- 2%) הינו התקן לאגירת מידע רב והוא גמיש הרבה יותר -- במובן בו
נתן להשתמש בו -- מטייפ הקסיטות. ההצהרות עמן הוא פועל -- מלבד 54/5 צשותמץ, 00
רךםסתםא הן -- דאזתת, ד115, דספא] וכן 5צמאאן.
הרשת (018פ6א) משמשת לחיבור מספר מחשבי וחטזז566 2% -- כך שהם יכולים ל"שוחח" ביניהם ;
שימוש אחד לכך הוא השימוש בכונן-דיסקט אחד עבור כולם.
הממשק (6:1466ח!) בסטנדרט-232 85 -- הינו צורת חיבור תקנית המאפשרת לך לקשור את המחשב
עם לוח מקשים, מדפסות, מחשבים ומכונות שונות נוספות -- אף באם הן לא תוכננו במיוחד עבור
וחטז50660 22
הללו ישתמשו במילות-מקש נוספות, הקיימות כבר בלוח המקשים, אך אינן נתנות לשימוש ללא
הקשרים - הנוספים: אילו הן -- 8 אפפס, 8 6055, מטסוא, פ5גתם, 67 וכן, ד וא0ת.
13
פרק 23: קלט ופלט:
תמצית:
דצטס
אז
המחשב יכול לקרוא מהזכרון ולכתוב (כך לפחות ב-א84) -- בזכרון בעזרת ההצהרת 258% וְ-8א0ק.
למחשב עצמו אין זה חשוב באם הזכרון הוא /א0א, 54% או אף אם קיים זכרון בכלל; הוא יודע רק כי
עבורו קיימות 65536 כתובות בזכרון -- כשמכל אַחת מהן הוא יכול לקרוא בית (גם אם לתוכנו אין כל
משמעות) ולכתוב בית (גם אם יאבד אירשם). באופן אנלוגי לחלוטין, קיימים 65536 פּוּרְטִי קלט/פלט
(פזזסק-1/0) -- המשמשים את המחשב ליצירת תקשורת עם אלמנטים שונים כגון לוח המקשים,
המדפסת; אלמנטים אלו נתנים לשליטה על ידי המחשב בעזרת ההצהרה 001 והפונקציה א].
אז הינה פונקציה הדומה לפונקציה אפפץ:
כתובת א]
לפונקציה -- ארגומנט אחד, כתובת הפורט ותוצאתה היא הבית אותו היא קראה מפורט זה.
דעס היא הצהרה הדומה לְ-20%5:
ערך, כתובת 00717
מעבירה את הערך לפורט שכתובתו הוגדרה בהצהרה. האופן בו מפורשת כתובת זו -- תלוי בכלל
המחשב; לעתים קרובות, לכתובות שונות תהיה אותה משמעות. במחשב זה קל -- מאד לחוש את
הכתובות מאחר והן כתובות בקוד הבינארי בהן הביטים עצמם נוטים להיות בלתי-תלויים זה בזה.
קיימים 16 ביטים, שאותם נכנה (בשימוש ב-4 במשמעות 401658 -- כתובת)
15, 14, 13, 80
₪ הוא הביט הראשון, 41 השני, 42 השלישי וכך הלאה. ביטים 6, 41, 42, 43 וכן 44 הם החשובים.
הם בדרך כלל 1, אך אם אחד מהם הוא ₪, משמעות הדבר עבור המחשב כי עליו לבצע משהוא מוגדר.
המחשב אינו יכול להתעסק עם יותר מאלמנט אחד בו-זמנית, ולכן לא יותר מאחד מחמשת הביטים
האלו רשאי להיות ₪ ברזמנית. מביטים 45, 46 ו-7 מתעלמים, כך שאם אתה אשף באלקטרוניקה
תוכל להשתמש בהם בעצמך. הכתובת הטובה ביותר לשימוש היא זו שהינה 1 פחות מכפולה של
המספר 32, כך ש-46 עד 44 כולם 1. הביטים 48, 49 והלאה משמשים לעתים כדי-לטפק מידע נוסף.
הבית שנקרא או נכחב מכיל 8 ביטים, ואילו מסומנים בדרך כלל בצורה 6, ₪1.... 06, ₪7 (ע מהמילה
4 -- מידע).
לפנינו רשימת כתובות של פורטים הנמצאים בשימוש.
קיים אוסף של כתובות קלט (טסֶה]) הקורא את לוח-המקשים ואת השקע -- 548. לוח המקשים
מחולק ל-8 חצאי-שורות שבכל אחד מהם 5 מקשים:
14
צ סז דו5/1 65 קורא את מחצית השורה 65278 או
6 10 4 | קורא את מחצית השורה 65622 או
ז 0 קורא את מחצית השורה 64518 או
5 סז 1 | קורא את מחצית השורה 63486 או
6 סז 6 קורא את מחצית השורה 61438 א!
7 קורא את מחצית השורה 57342 או
4 סו מפזא= קורא את מחצית השורה 49156 או
8 סז 570 קורא את מחצית השורה 32766 אן
(כתובות אלו הן (ה? 2--255) *254+256 עבור ח בתום 6 עד 7).
בבית שנקרא, הביטים ₪ עד ₪4 מתאימים לחמשת המקשים במחצית השורה הנתונה -- ₪כ עבור
המקש החיצוני, ₪4 עבור המקש הקרוב למרכז. הביט הוא ₪ באם המקש לחוץ, 1 באם לא. 06 הוא
הערך בשקע -- 548.
פורט הפלט בכתובת 254 -- מפעיל את הרמקול (04) ואת השקע 16וא (53) וכמו כן מגדיר את צבעי
הגבול (שס, 1, 2כ).
הפורט בכתובת 251 מפעיל את המדפסת הן בכתיבה והן בקריאה: הקריאה מתבטאת בקביעת
העובדה האם המדפסת מוכנה לקבל מידע נוסף, והכתיבה שולחת מידע להדפסה.
הפורטים בכתובות 254, 247 (-239 משמשים התקנים הקפיים נוספים שהוזכרו בפרק 22.
הרץ את התכנית הבאה
וסט וחטה צשסז-1!הח ו :7 סד 0=ח ה0₪- 19
(ח [ 2--8=254+256*)255 ₪7 ] 20
0 סד 60 :8 או ;0,6 דג דאוהץ 39
והשתעשע עמה תוך לחיצה על מקשים שונים. באם תשתעמם מחצאי-השורות, הקש 885% ואחר
הדפס -
ת דאפא
קוי הבקרה, מידע והכתובת של המחשב חשופים כולם מצידו האחורי של המחשב, כך שלמעשה
תוכל לבצע עם הָ"וחט6ק5 כמעט כל דבר שתוכל לבצע עם המיקרו-פרוסטור 280. לעיתים, חומרת
המחשב תפריע מלבצע דברים האפשריים עם 280.
להלן סכימת החבורים שמאחור:
הפה שו- חאט | 6הסה הגה זת
80 8 2+ - הא סה שח 0 03 05 06 02 ום טסחריץ, 7 3ואפוג
ווה א80056 | 24 25 6 27 ז₪656 טָ צ צ שס 3 42 וג 40 66 0 שסחריץ/9 54 412 414
39 5 ב ספסוצ 08066
15
פרק 24: הזכרון
תמצית:
וז
עמוק, בתוך המחשב, נאגר הכל בבתים (65זַעפ), דהיינו -- מספרים בתחום ₪ עד 255. אתה עשוי
לחשוב כי אגרת את מחיר הצמר או את כתובות ספקי המזון, אולם כל אלו תורגמו לאוסף של בתים
- ובתים הם מה שרואה המחשב עצמו.
לכל מקום בו נתן לאגור בית -- קיימת כתובתו שהיא מספר בתחום ₪ עד עקת (כך שהכתובת נתנת
לאגירה -- כשני בתים), כך שאתה רשאי לראות את הזכרון כשורה ארוכה של תיבות ממוספרות,
שכל אחת מהן יכולה להכיל בית אחד. לא כל התיבות זהות. ב-/54% הסטנדרטי בגודל 16% -
התיבות מ-ת8066 עד 7771 חסרות כולן. התיבות מְ- 4066 עד ה 7977 הן תיבות 1א84,
שמשמעותו -- שאתה יכול לשנות את תוכנה של כל תיבה, ואילו מֶ-ש ועד 3299 הן תיבות 0% -
שלהן אין אפשרות לשנות את תוכנן, אלא רק להשתמש בתוכן הקיים, כתיבות בעלות מכסה זכוכית
אשר לא נתן לפתחו.
לא בשימוש וגחם ואסח
הנ
יי
כדי לבחון את תוכנה של תיבה -- משתמשים בפונקציה אמפת: הארגומנט שלה הוא כתובת התיבה
ותוצאתה היא תוכן התיבה. לדוגמא, התכנית הבאה מדפיסה את 21 הבתים הראשונים ב-ואס (ואת
כתובותיהם):
"סז ;8 8 ד ;"200655' דאוחק 10
0 0ד 3=0 ₪08 20
8 ₪5 ;8 ד ;8 זאוחק 30
8 זאש 40
בתים אלו יתכן והם חסרי משמעות עבורך, אולם הרכיבים האלקטרוניים במחשב מבינים אותם היטב
- כהוראות האומרות מה יש לבצע.
כדי לשנות את תוכנה של תיבה (באם היא /א84), נשתמש בהצהרה 20% שצורתח:
תוכן חדש, כתובת 20%5
כאשר, 'כתובות' ו'תוכן חדש' הם שמות לבטויים מספריים. לדוגמא, באם תאמר -
7 316 םאסק
116
הבית שכתובתו שששו3 יקבל את הערך החדש 57. הדפס -
ששש31 אפמק דאואץ .
כדי להווכח בכך. (נסה ערכים אחרים כדי להווכח כי אין כל תרמית). הערך החדש חייב להיות בתחום
5- עד 255+, ובאם הוא שלילי אזי נוסף לו 256. 9
היכולת לבצע 20%5 נותנת בידך כוח עצום על פני המחשב באם תדע כיצד להשתמש בו; ויכולת
הרסנית עד מאד -- באם לא תדע כיצד. קל מאד, על ידי ביצוע 20% בכתובת הלא נכונה וקבלת ערך
לא-נכון לאבד תכניות ארוכות מאד שגזלו ממך שעות הדפסה רבות. למזלך, אינך יכול לגרום לנזק
כלשהוא למחשב.
הבה נבחן כעת בפרוט כיצד משתמשים בְ-/8, אך אל תטרח לקרוא זאת באם אין זה נשמע מעניין.
הזכרון מחולק לאיזורים שונים (כפי שמוצג בדיאגרמה הגדולה) למטרת אגירת סוגי מידע שונים.
האיזורים הינם גדולים דים עבור המידע אותו הם צריכים לאגור, אך אם תכניס מידע נוסף (למשל ע"י
הוספת שורת תוכנית או משתנה) בנקודה מסוימת, נוצר מרווח על ידי הזזת כל שהיה מעל הנקודה --
כלפי מעלה. בצורה הפוכה, באם תשמיט מידע מן התכנית, החלק המתאים ינוע כלפי מטה. *
קובץ התצוגה (127-86ק4:8) אוגר את תמונת הטלויזיה,:הוא ערוך בצורה מסקרנת, כך שלבטח לא
תרצה לבצע עליו את אפפפ וְ-5א0ת. כל מיקום תו במסך מוגדר כמערך ריבועי של 88 נקודות כשכל
נקודה יכולה להיות ₪ (ינירי) או ו (ידיו'); בעזרת רישום בינארי נתן לאגור את התבנית על ידי 8 בתים,
אחד לכל שורת נקודות. מכל מקום, 8 הבתים הללו אינם אגורים בזכרון ביחד. השורות התואמות בד
2 התוים שבשורה אחת נשמרות ביחד כרצף של 32 בתים, בהתאם לצורת הסריקה של הקרן
האלקטרונית על פני מסך הטלויזיה -- מצד שמאל לימין. מאחר והתמונה כולה מורכבת מ-24 שורות
בנות 8 סריקות, אתה עשוי לצפות לכך שהסך הכולל-172 סריקות, ישמר בסדר המתאים אחד אחר
השני; ובכן טעית. תחילה מתבצעות הסריקות בקצה-העליון של שורות ₪ עד 7, לאחר מכן הסריקות
הבאות של שורה ₪ עד 7 וכך הלאה עד לסריקות בקצה התחתון של שורות 6 עד 7; לאחר מכן חוזר
התהליך בשורות 8 עד 15 ולבסוף בשורות 16 עד 23. המסקנה מכך היא שאם אתה רגיל למחשב
המשתמש בְּ-אםםת וְ-20%9 עבור המסך, תצטרך להתחיל להתרגל להשתמש בַ-5א50855 ןְ-
דג דאזאת במקומן, או 07פ ן-דאזסץ.
התכונות הן הצבעים ועוד -- לכל מיקום תו, בעזרת הפורמט של אדד4. אלו נאגרות שורה אחר שורה
בסדר בו אתה מצפה שישמרו.
חוצץ-המדפסת (ז6/טפ זשוחוזק) אוגר את התוים המיודעים למדפסת.
משתני המערכת מכילים חלקי מידע שונים המציינים למחשב באיזה מצב הוא נמצא כעת. הם
מופיעים בפרק הבא במפורט, אך לעת עתה שים לב כי ישנם כמה (הקרוים: 601145, 06אע, 485 /,
פא]]-5, ועוד) המכילים את הכתובות של הגדולות בין האיזורים השונים בזכרון. אלו אינם משתני
6 ושמותיהם לא יוכרו על ידי המחשב.
17 '
משתני המערכת חוצץ המדפטת | = תכאות = | קובץ התצה |
| | | 4
22008 20006 222 2204
. 0 / / 8
-
גרפיקה מוגדרת מחסנית מחסנית] שטה מחסו | ו מידע ל
המפעיל 60508 המכונה| עודף |ההושיר| 75 |א] | דטתקאו
זואגה. 3 6 וגה סא6אז5 זסהאזפ ספאהסצצ
קסד
מפות כונן הדיסקט הזעיר משמשות רק את כונן-הדיסקט. באופן פעולה נורמלי - אין בהם כל מידע
שהוא.
מידע הערוץ מכיל מידע אודות התקני הקלט והפלט, כלומר -- לוח המקשים (עם המחצית התחתונה
של המסך) המחצית העליונה של המסך, והמדפסת.
כל שורת 84515 היא מהצורה:
הבית המשמעותי יותר
הבית המשמעותי פחות [
ץ+ +
3 0<03(ָ------------רר---------------- רא -
הפזא> תוכן אורך| מספר השורה
תוכן + תפדאע
שים לב, כי בניגוד לכל שאר המקרים של מספרים בני שנידבתים '280, מספר השורה כאן נאגר --
כאשר הבית המשמעותי יותר נאגר ראשון: זהו הסדר בו אתה מדפיס אותם.
קבוע-מספרי בתכנית מלווה בצורתו הבינארית, בעזרת התו 14 01185 שלאחריו 5 בתים עבור המספר
עצמו.
למשתנים ישנו פורמט שונה בהתאם למהותם השונה. האותיות בשם צריכות להחשב כמתחילות
באותיות כתיב. .
118
מספר ששמו אות יחידה:
-----
ערך ה66 - אות
ביט-הסימן
| 4 בתי המנטיסה
מספר ששמו ארוך מאות אחת
4 וו : ו
---------
ערך התו האחרון התו השני תה66 - אות
מערך של מספרים:
1 | יי ּ/ , |
00000 כ וכזי ו 0 הרתמוכר.
האלמנטים המימד האחרון המימד הראשון | מספר סכום כולל 608 -- אות
המימדים | של אורכי
האלמנטים
והמימדים + ו
למספר המימדים
סדר האלמנטים הינו:
תחילה, האלמנטים עבורם התוית הראשונה היא 1
לאחר מכן, האלמנטים עבורם התוית הראשונה היא 2
לאחר מכן, האלמנטים עבורם התוית הראשונה היא 3
וכך הלאה לכל הערכים האפשריים של התוית הראשונה.
האלמנטים שלהם התוית-ראשונה הנתונה זהה, יטודרו לפי התוית השניה, וכך הלאה עד לאחרונה.
כדוגמא, האלמנטים של מערך 3*6 הקרוי ל -- מפרק 12, נאגרים בסדר הבא:
(3,6)פ ... (3,2)פ (3,1)ם (0)2,6 .... (2,2) (0)2,1 (1,6)ם (01,5ם (1,4)ם (1,3)ם (1,2ופ (1,1)ס
19
משתני בקרה בלולאת זַאפא-70%:
הבית המשמעותי פחות
הבית המשמעותי יותר ן
+ ץ
, ה וצ קמ
5 בת
מספר שורת צער גבול ערך ה60 - אות
ההצהרה בתוך הלולאה
ה שורה מחרוזת:
מ | 7
ו ה
תוכן (יכול להיות ריק) מספר התוים 60 -- אות
מערך תוים:
| בית 1 לכל אחד | 2 בתים :
ב כ קותוה
האלמנטים המימד האחרון | המימד הראשוןמספר המימדים המספר | 60 - אות
הכולל של
האלמנטים והמימדים
+ 1 עבור
מספר המימדים.
מכונת החישוב (6316019:0) היא החלק במערכת ה-84510 המבצע את החישובים אריתמטים, כאשר
המספרים עמם הוא מבצע את הפעולות האלו נשמרים בעקר במחסנית מכונת-החישוב.
החלק העודף כולל מרווח -- שלא בשימוש.
מחסנית המכונה היא המחסנית בה משתמש ה2-8077 כדי לשמור כתובות חזרה וכו'.
מחסנית ה000508-7 הוזכרה בפרק 5.
הבית אליו מצביע ?84/10 הוא בעל הכתובת הגבוהה ביותר בו משתמשת מערכת ה-84510. גם
ופא -- המנקה את ה-/א84 מתוכנו, מגיעה רק עד כתובת זו -- כך שאינה פוגעת בגרפיקה-מוגדרת-
המעפיל. אתה יבול לשנות את כתובת 84/10 ע"י הכנסת מספר בהצהרת 01848 :
120
ק0סדוא-חדש תג פס
הצהרה זו -
() *מנקה" את כל המשתנים.
(() "מנקה את קובץ התצוגה (כמו -- 015)
(ן[]) | מאפסת את מיקום ה-2.01 לפינה השמאלית -- התחתונה.
(א) מבצעת פתסד6טת
(ץ) *מנקה* את מחסנית ה-60508 ומציבה אותה בכתובת המתאימה לערך החדש של 110 -
בהנחה כי הוא נמצא בין מחסנית מכונת-החישוב והקצה הפיסי של ה-/54; אחרת %4%/102 ישאר
כפי שהיה.
אשת גם היא מבצעת 01548, אף כי אינו משנה את 0סדואא
בשימוש בַ-61.848 בדרך זו תוכל להזיז את 54/10 כלפי מעלה, כדי להכין מקום נוסף ל-84516, על
ידי כתיבה חוזרת על הגרפיקה"מוגדרת-המפעיל, או שתוכל להניעו למטה כדי להכין מקום ב-א
המוגן מהשפעת שופא.
הרפס /פא ולאחריו 23866 0155 כדי לקבל מושג מה קורה למכונה לאחר שהיא מתמלאת.
אחד הדברים הראשונים בו תבחין באם תחל להדפיס תוכנית היא שלאחר זמן המחשב יחדול מלקבל
קלט כלשהוא ויתחיל לזמזם. משמעותו של הדבר -- שהמחשב מלא, ועליך לרוקנו במקצת,
כמו כן קיימות שתי הודעות שגיאה שלהם משמעות קרובה מאד: [[0] עזסוח6ו 4 וכן 1:06 זס] מזססז סא ₪
הזמזום מתרחש גם כאשר תדפיס שורה ארוכה -- עם יותרמ-23 תוים -- המחשב אינומתעלם ממה
שתדפיס אלא שלא תוכל לראות זאת; הזמזום מטרתו להורות לך לחדול.
תוכל לכוון את משך הזימזום בעזרת 20% לכתובת 23608. המשך הרגיל נקבע בעזרת המספר 64,
כל מספר (מלבד 6) נתן לרישום בצורה -
א מז +
כאשר -
+ הוא הסימן.
וז היא המנטיסה -- וערכה בין % לו (אך-לא 1)
> הוא האקספוננט -- שהוא מספר שלם (אפשרי-שלילי)
הבה נניח כי רשמת את וח לפי הבסיס-הבינארי. מאחר והוא מספר קטן מֶד1ּ הוא יכלול נקודה בינארית
(בדומה לנקודה העשרונית בבסיס 0ו) ולאחריה שבר בינארי (בדומה לשבר העשרוני); כך שבבסיס
בינארי - ּ
2 הוא 1.
4 הוא וש.
4 הוא וו
0 היא ... ששווששו וששו וש0.
המספר שלנו -- ח, מאחר והוא קטן מֶד1, אין ביטים משמאל לנקודה ומאחר והוא גדול מהערך -- 1/2
הביט שלאחר הנקודה -- יהיה 1.
כדי לאגור את המספר במחשב, נשתמש ב-5 בתים, כרלהלן:
() נרשום את 8 הביטים הראשונים של המנטיסה בבית השני (אנו יודעים כי הביט הראשון הוא 1),
קבוצת 8 הביטים השניה בבית השלישי, הקבוצה השלישית של 8 הביטים בבית הרביעי והקבוצה
הרביעית בבית החמישי.
(₪) החלף את הביט הראשון שבבית השני -- שידוע כי הוא 1 -- בסימן: 6 עבור חיובי רְו עבור
שלילי.
(/) רשום את האקספוננט 128+ בבית הראשון. לדוגמא באם המספר שלנו הוא 1/16:
א 4/5 = שו/1ו
11
ולכן המנטיסה -- ₪ היא 11001100110011001100110011001100 - בבסיס בינארי (מאחר
והביט ה-33 במספר הוא 1, אנו נעגל את הביט ה-32 מֶ-ש ל-1), והאקספוננט > הוא 3--,
בעזרת שלושת הכללים נקבל את חמשת הבתים:
הש כאן מצביע על סימן חיובי
1 1100 | 1100 1100 | 1100 1100 | 1100 00 וטוו ווו0
-----77--
המנטיטה-4/5, מלבד העובדה שהביט הראשון צריך להיות 1 עבור אקספוננט. 3+128-
קיימת דרך אלטרנטיבית לאגירת מספרים שלמים בין 65535 -- 65535-7+ :
() הבית הראשון הוא 6
(ּ) הבית השני הוא 6 עבור מספר חיובי וְ-?? עבור שלילי.
(ווו) הבתים השלישי והרביעי הם הבתים הפחות והיותר משמעותיים של המספר -- בהתאמה
(או: המספר + 131072 באם המספר שלילי)
(טו) הבית החמישי הוא 6.
12
פרק 25: משתני המערכת
הבתים (66שפ) בזכרון בתחום הכתובות 23552 עד 23735 מוגדרים לשימוש מיוחד על ידי המערכת.
תוכל לבצע 255% לגביהם כדי לגלות מה מתרחש במערכת, וכמה מהם נתנים גם לביצוע 20%
ביעילות. הם מופיעים ברשימה שבהמשך כשלכל אחד מוסבר השימוש בו.
כל אלו קרויים משתני-המערכת, ולהם שמות, אולם אל תחליפם בטעות במשתנים בהם משתמשת
6. המחשב אינו מכיר בשמות כמתייחסים למשתני המערכת, והם נתנים כאן אך ורק כקיצור
להקל על הכרתם למשתמשים במערכת.
לקצורים בעמודה 1 המשמעות הבאה:
% אסור שיבוצע 205 על המשתנים מאחר והדבר עלול לפגוע במערכת.
א ביצוע 20%5 על המשתנה לא יותיר סימן.
המספר שבעמודה 1 הוא מספר הבתים שבמשתנה. עבור שני בתים, הראשון שבהם הוא הפחות
משמעותי -- להפך ממה שכנראה ציפית. לכן כדי לבצע 205 על ערך / למשתנה בעל שני בתים
בכתובת ח, השתמש בבטוי -
(256//) זא1 * 256--+, ה פאסק
(256//) דא], 1+ח פאסק
וכדי לגלות את ערכו בעזרת 285% השתמש בבטוי:
(1+ת) 255% ' 256 + ת אשטסק
13
הערות
908
1א
2א
1ַא
2א
|08
14
כתובת
זז
א ז5)
יו
הססקסה
ססג ;6
אזגס >
4זהסצד
5 זפ
5
כב
קוק
הא חחם
5
6 צד
5 688
55 זפו
זססוא
)םסא
שם
2200
22000
2501
20020
20083
2065
200066
200008
20006
20008
20009
21000
וו236
2002
220003
22005
2307
20008
תוכן
משמשר-בעת קריאת לוח"המקשים.
אוגר מקש שנלחץ כעת.
הזמן (בחלקי 50 של שניה -- או
חלקי 60 בצפון אמריקה) שמקש
חייב להיות לחוץ בטרם יחזור על
עצמו. הוא מתחיל עם -- 35, אך
אתה יכול לשנותו בעזרת 20%5.
ההשהייה (בחלקי 50 של שניה -- או
חלקי 60 בצפון אמריקה) בין שתי
חזרות סמוכות של החזקת המקש
כשהוא לחוץ. ערכו ההתחלתי 5.
כתובת הארגומנטים של פונקציה-מוגדרת"
מפעיל באם פונקציה שכזו מחושבת; אחרת - ₪
אוגר את הבית השני של בקרת
הצבע המוכנס מלוח-המקשים.
אוגר בתי-צבע ובקרות 41 (-148
הפונות לטלווזיה.
כתובות הערוצים הקשורים לרצף זכרון.
6 פסחות מכתובת אוסף התוים (המתחילה
עם מרווח וממשיכה עד לסימן 9
באופן רגיל בְ-אסת, אך אתה יכול
לחבר !א משלך ולדאוג כי 011485
תפנה אליו.
משך צליל האזהרה
משך הקליק עקב הקשה על מקש
1 פחות מקוד הדווח. מתחיל בְד255
(עבור 1--) כך ש-23610 אפפת תתן 255
דגלים שונים לבקרת מערכת ה-88510.
דגלים הקשורים בטלויזיה.
כתובת הפרט במחסנית-המכונה שבו
יעשה שימוש בחזרה עקב שגיאה.
כתובת החזרה מרישום (קַ150) אוטומטי
מגדיר סמן א, 1, 6, ₪ או 6.
השורה אליה יש לקפוץ.
פא
ספ
6
חס
ספ ם
5
זפסס
5
3
6סחק
או)דאא
ססהזהס
שאו 5
608 א
ססא חס
אזם א
קספאהסצצ
ז0ספאז5
סא=אזפ
6
ושוא
2
2 ז
מס 5
יו
06
6% |
אש | זפ
אססה ד
2000
2321
2003
204
2005
2007
2009
ו2363
2033
2005
2007
220009
23641
203
20055
2007
2009
23651
2003
2005
20006
20008
2009
20000
2002
204
22005
20006
20008
מספר ההצהרה בשורה אליה יש לקפוץ.
ביצוע 20% תחילה על 6קפ/ופא ולאחר
מכן 556 מאלץ קפיצה להצהרה
המוגדרת בשורה.
מספר השורה של ההצהרה המבוצעת כעת.
המטפר בתוך השורה של ההצהרה
המבוצעת כעת.
צבע גבול * 8; כמו כן מכיל את
התכונות בהן נעשה שימוש באופן
נורמלי במחצית התחתונה של המסך.
מספר השורה הנוכחית (עם סמן תכנית).
כתובת משתנים.
כתובת משתנה -- בהשמה (זח6וחתק2551).
כתובת ערוץ מידע.
כתובת המידע המשמש זמנית עבור
קלט ופלט.
כתובת תכנית בּ-84510.
כתובת השורה הבאה בתכנית.
כתובת הסיומת של פרט ה-2419
האחרון.
כתובת הפקודה שהודפסה למחשב.
כתובת הסמן.
כתובת התו הבא שיפורש: התו לאחר
הארגומנט של אפפת, או הָ-פא11/שפא
בסוף הצהרת 5א0ק.
כתובת התו שלאחרי הסימן ?.
כתובת שטח הפעולה הזמני.
כתובת תחתית מחסנית-מכונת-החישוב.
כתובת תחילת המרווח העודף.
רגיסטר 5 של מכונת החישוב.
כתובת האיזור המשמש כזכרון מכונת-
החישוב. (בדרך כלל 801/א5!א, אך לא תמיד)
דגלים נוספים.
מספר השורות (כולל שורה ריקה אחת)
בחלק התחתון של המסך.
מספר השורה העליונה בתכנית -
ברישום אוטומטי (קָת50!ו[ 6ז4וחסזטג).
מספר השורה אליה קופצת פטאז1א00.
מספר שורת ההצהרה
אליה קופצת פטא6011
דגלים שונים.
אורך היעד (ח400ח4631) למחרוזות
בהשמה (זטשותחקו455).
כתובת הפרט הבא בטבלאת
התחביר (מאד לא שמושית).
15
2 פצבם 20000 הגרעין לפונקצית שאא. זהו המשתנה
הנקבע עלזידי -- 25ז]|אססאגת.
3 65 22022 מונה מסגרת בן 3 בתים (הפחות
משמעותי -- תחילה). ערכו מוגדל כל
205. ראה בפרק 18.
2 66 200055 כתובת הסימול הראשון בגרפיקה --
מוגדרת-המפעיל. תוכל לשנות
זאת, למשל כדי לשמור מרווח
על ידי כך שיהיו פחות
סימולים גרפיים שכאלו.
1 05 20077 קואורדינטת < של הנקודה האחרונה
ששורטטה.
1 20008 קוארדינטת ץ של הנקודה האחרונה
ששורטטה.
1 05% םק 22009 מספר בתחום 35 העמודות המתאר
את מיקום המדפסת.
1 6 חק 22000 הבית הפחות משמעותי בכתובת
הבאה עבור 1א1281 כדי להדפיס
בה (בחוצץ המדפסת).
23681 לא בשימוש.
2 5 6040 22002 מספר בתחום 33-העמודות ומספר
בתחום 24-השורות (במחצית התחתונה)
של טוף חוצץ הקלט.
-
2 606 פס 2204 כתובת מיקום ה-1א2%1 בקובץ-התצוגה.
2 0 20006 כמו 0566 לחלק התחתון של המסך.
גא 905% 5 2006 מספר בתחום 33 העמודות עבור מיקום
הָ-זאזפת.
צא 22009 מספר בתחום 24 השורות עבור מיקום
הָ-דאזפת.
2+ )5005 22000 כמו א205 5 עבור החלק התחתון.
1 זס 508 20002 מונה את מספר "הגלגולים" (561018):
ערכו תמיד 1 יותר ממספר הגלגולים
שיבוצעו בטרם יעצור המחשב וישאל -
?|560. באם תבצע 20% על
מספר זה עם מספר הגדול מְוּ
(למשל 255), המסך יתגלגל עוד
ועוד, ללא הצגת השאלה.
1 ם חדות 2003 צבעים נוכחיים-קבועים וכו' (כפי
שהוגדרו על ידי הצהרות-הצבע).
1 ס א5הא 20004 משמש לצבעים-שקופים וכו'. כל
ביט שערכו 1 מראה כי ביט
התכונה המתאים אינו נלקח מתוך
ץ דד אלא ממה שנמצא כבר
במסך.
1א ד חדוה 2205 צבעים נוכחיים-זמניים וכו' (כפי
שהוגדרו על ידי פרטי הצבע).
כמו 2 45%)א אלא שהוא זמני.
126
וליוו "-/
1א ד אגא 20006
1 6 כ 20007 דגלים נוספים.
0א דספואפוא 20008 שטח הזכרון של מכונת-החישוב;
משמש לאגירת מספרים שאינם
נתן להכנסה בנוחות למחסנית-
מכונת-החישוב.
2 20008 לא בשימוש.
2 קסזואגה 200 כתובת הבית האחרון בשטח
מערכת ה-84516.
2 זואגה-ס 20002 כתובת הבית האחרון ב-/54%
הפיסיקלי.
התכנית הבאה מציגה את 22 הבתים הראשונים של איזור המשתנים:
1 סד 0=ח 08 10
(ח-+23628 23627+256*05% א=םשק) אשפק דאוהק 20
ח דאשא 30
נסה להתאים את משתנה הבקרה ם לתיאורים שלמעלה.
כעת שנה את שורה 26 לשורה הבאה -
(ת + 23755) אסטפ דאזתץ 26
המציגה את 22 הבתים הראשונים של איזור התכנית. בחן אותם עם התכנית עצמה.
127
פרק 26: השימוש בשפת מכונה
תמצית:
8 עם ארגומנט מספרי.
פרק זה נכתב עבור אלו המבינים את ישפת המכונה' של 2-80, שהיא אוסף ההוראות אותן
המיקרופרוססור 2-80 מבין ומבצע. באם אינך מבין נושא זה אך מבקש להכירו, קיימים ספרים רבים
על נושא זה. חפש ספרים שכותרתם תהיה מהצורה -- ישפת המכונה של ה-280 (או שפת האסמבלי)
למתחילי; באם מוזכר בספר זה גם וחט66ק5 2% -- מה טוב.
תכניות אלו נכתבות בדרך כלל בשפת "אסמבלי", שאינה קשה להבנה עם מעט תירגול. (תוכל לראות
את אוסף פקודות האסמבלי בנספח -- 4). בכל אופן, כדי להריצן במחשב, עליך לקודד את התכנית
לרצף של בתים ובצורה זו היא קרויה שפת-מכונה. תרגום זה מבוצע בדרך כלל על ידי המחשב בעצמו,
בעזרת תוכנית הקרויה -- 'אסמבלרי. במחשב וחטז6ק5 2% לא נבנה אסמבלר -- כחלק מהמערכת,
אך תוכל בפשטות לרכוש אחד על גבי קסיטה.
בהיעדר כלי זה, תיאלץ לעשות את התרגום במוזידיך, בתנאי שהתכנית אינה ארוכה מדי.
הבה נקח כדוגמא את התכנית:
14 56 9
6%
המטעינה את צמד הרגיסטרים 56 בערך 99. הדבר מתורגם לארבעת בתי שפת-המכונה 1, 99, ₪ (עבור
9 56 6)) [-201 (עבור 26). (באם תבדוק בנספח 4 את הערכים ו (-201 תמצא -- אא, 6 | כאשר אא
מייצג מספר כלשהוא בן שניזבתים, וכן - :6).
לאחר שקבלת את התכנית בשפת-המכונה, הצעד הבא הוא להכנס לנבכי המחשב. (האסמבלר היה
מבצע זאת, כפי-הנראה, אוטומטית). עליך להחליט היכן למקם את התכנית בזכרון, והדבר הטוב
ביותר יהיה להותיר מרווח נוסף עבורה בין איזור 84510 והגרפיקה-מוגדרת-המפעיל.
נניח כי ברשותך וחטזס6ק5 2% שגודל זכרונו -- 16%. כדי להתחיל, בקצהו העליון של ה-א -
מתקיים:
גרפיקה מוגדרת-מפעיל
7 = דוה ק 0 סט
9 = וא
באם תדפיס -
9 א
יתקבל מרווח של 166 בתים (הוגדר ביד-רחבה), שתחילתם בכתובת 32506:
128
גרפיקה מוגדרת-מפעיל
ששו
בתים עודפים
7 = דוה ק 52000
9 = סקס דוהה
> יי
כדי להכניס את התכנית בשפת-המכונה, הרץ תכנית 84516 -- הדומה לבאה:
0 חם) 10
ח,גּ 05 :הח גשה 20
0 0ד 60 :8=8+1 זם | 30
1 ה דגס 40
(תכנית זו תעצור עם דווח 241 ]0 זטס 5 לאחר שמילאה את ארבעת הבתים שהגדרת).
כדי להריץ את שפת-המכונה, העזר בפונקציה 05% -- אך כעת עם ארגומנט מספרי, בכתובת
ההתחלה. תוצאתו היא ערכו של צמד הרגיסטרים 6 בעת החזרה מתכנית שפת-המכונה, ולכן באם
תבצע
0 ₪ דאוחק
תקבל את התשובה - 99.
כתובת החזרה ל-84516 מאוחסנת במחסנית בדרך הרגילה, כך שהחזרה היא על ידי הוראת 6 של
0. אינך אמור להשתמש ברגיסטים ע וְ-: ברוטינות בשפות מְכונה.
תוכל לשמור את התוכנית בשפת-המכונה בקלות בעזרת:
4 32560 6005 "שם כלשהוא- 54%5
אין כל דרך ישירה -- לשמור אותה כך שכאשר תוטען -- התכנית תריץ את עצמה -- לבדה, אולם
תוכל לעקוף זאת בעזרת תכנית -- 84516:
4 32560 6005 " * 1040 16
3256 055 דאוגץ 26
בצע תחילה -
שאו "שם כלשהוא- 54%5
ואז -
4 32506 6005 "אאאא" 5
"שם כלשהוא* 035
יטעינו ואוטומטית יריצו את התכנית בְ--845]6, ואז התכנית בְ-84516 תטעין ותריץ את התכנית
בשפת-המכונה.
19
נספח ג: אוסף התוים :
להלן האוסף השלם של התים הקימים במחשב 5760 2% בצרוף קודיהם העשרונים
וההקסאדצימלים (בטיס 16). באם תדמיין לעצמך את הקודים כקודי-ההוראות בשפת המכונה של -
0, אזי בעמודה המתאימה -- תמצא את קצורי-הוראות האסמבלי (65!חסוח6חות). כפי של בטח ברור
לך, באם אתה מכיר היטב תחום זה, מספר הוראות של 280 הנך מורכבות, והן מתחילות עם קידמות
688 או 50 ; העמודות השמאליות מספקות את המידע המתאים.
לאחר לאחר
קידומת 50 קודומת 08
0" ז89 - 8 9 -
6
6 6|ז
0 סוז
6 סז
ח סז
| סז
(וח) סז
8 16
פ סזז
6 זז
זז
6 זז
ח סזז
| סזז
(|ח) סזז
10
אסמבלר
- 286
559 280
ססח
אא,סט 0
8 (0ם) ₪
6 סחו
ס סחו
0 060
אפ ו
8
",9 אס
,וח 800
(סס),8 6!
0 ₪660
0 סחזו
6 0606
א,6 0
זז
5 לחן0
אא,06 0
8 (06) 0!
8 סחו
0 סחו
0 60
א ₪
8
וצוג
הקסדצימלו
תו
לא
בשימוש
פסיק דטוחק
דופ=
סמן לשמאל
סמן לימין
סמן למטה
סמן למעלה
שדם ום5ס
אשזא=
מספר
לא בשימוש
|סזזחס6 או
וסזזחס6 ₪=ק הק
וסזוחס6 45/1 =
|סזזחס6 דו] ו
|סז1חס6 ₪55 צצו
|סזזחס6 058
|סזוחס6 ד
|סזוחס6 הד
(0),ם חו
(ס) זטס
,ות 5006
ספ (אא) 0
9
חזסז
ם זז
0 זז
0 זז
6 זז
ח זז
|זז
(|ח) זז
8 זז
ס 9|8
0 5|8
6 988
6 5|8
ח 58
9|8 |
((ח) 5|8
8 5|8
0 918
0 58
₪ 58
6 5/8
ח 8ז5
| 918
(|ח) 5/8
8 518
כ וזפ
0 זפ
0 זפ
6 וזפ
ת |זפ
חפ
((ח) |זפ
8 |
0 זום
6 זו
4 זום
6 זום
ח,0 זום
,0 זום
5 זן
6 300
(8,)00 0!
6 680
6 סחו
60 68
א,6 ו
8ז
5חח זן
אא,וח ₪
וח,(אא) ו
וח סחו
ח סחז
ח 060
א,ח ו
38|
5; זן
וח,וח 800
(אא),וח ו
וח 080
| סחו
[|080
או ₪
וסקס
5 זן
אא,ספ סו
8 (אא) סו
ספ סחו
((ח) סחו
((ח) 080
א,(וח) ₪
ים
5 זן
0פ,וח 800
(אא),8 סו
0פ 060
8 חן
60 8
א,3 ו
5
,םס 0
6 ו
0 סו
6 סו
ח,ם 6!
ופ ₪
לא בשימוש
0 040 50% 5 ₪ 7-7
ורפי( | ש ₪< ₪00
112
0 וחז
8
(6,6 חז
6ט) זטס
,ו 800
(אא),6 0
וז
8 ו
(0,6 חו
4)) זטס
86 800
6 צאא) |
1 חו
0 1
(6,)0 חו
8)) זטס
6 860
(אא),06 0
2 וח
זו ₪
(0),ח חזו
ח,(ס) וטס
וח,ח 500
וח (אא) ו
זז
66| חו
|(() זטס
ח,וח 300
(אא),וח ו
וז
0 חו
50 וח 506
ספ.(אא) סו
((ח),0 זופ
8 זום
0 זוס
6 זו
4 זוס
6 זוס
ח,1 זום
זום
(|ח),1 זוס
8 זום
0 זום
6 זום
0 זום
6 זוט
ח,2 זום
/, זוס
(וח),2 זוט
8 זוס
זו
6 זום
0 זוס
6 זום
ח,3 זוט
| זוס
(וח),3 זוס
8 זום
0 זו
6 זוט
8 זום
6 זום
,4 זוט
|,4 זוס
(וח),4 זוט
8 זום
0 זו
6 זו
8 זו
6 זום
ח,5 זוט
| זוט
((ח),5 זוט
8 זום
0 זום
6 זום
זו
8 זום
(וח),ט 0
8 6
60 0
6 0
6
6 6
ח,6 |
,₪ |
([ח),6 0!
8 6
6
6
יי
6 6
ו
,3 ו
(ח),₪ 0
8 0
0 6
6 6
6
6 6
,6 סו
,6 סו
(וח),6 0!
8 6
םח 0
6 6
בח 6
6 ו
חח ו
,הח סו
((ח),ח 0
8 6
ס.| 0
6 |
| ו
6 ו
ח,! ו
וי
(וח),! סו
8 |
ס.(וח) ו
6 (!ח) 6
4 (ות) ו
6 (וח) |
הדרפשב.-א<א ,2000 646 <א>>אה-ה>+ |5ז ₪ שכר<-כך כ 3 ₪
(8,)0 חו
8() טס
0פ,וח 800
(אא),ס5 סו
ח,6 זוס
,6 זום
(|ח),6 זום
8 זו
0 זוט
6 זוט
4 זוס
8 זו
ח,7 זוט
,7 זוט
(וח),7 זוס
8 זו
5 88ז
6 885
0 88
8 88ז
,0 85ז
|,0 65ז
((ח),0 95ז
8 88ז
0 685ז
6 885ז
0 685ז
68 685ז
,1 95ז
,1 68ז
((ח),1 95ז
8 885]
ח,(וח) סו
| (וח) סו
זוהת
8 (וח) סו
ו
6 ו
ו
6 סו
וי
| 0
(וח),8 |
8 סו
יי
0 800
וי
6 800
,3 800
|,8 800
((ח),8 800
8 800
,3 800
0 800
0 800
86 800
ח,8 800
|,8 800
(וח),8 800
8 800
-5>%<->רה-- הי חפה
16
127
18
19
10
ו13
12
13
14
15
146
17
18
1399
140
141
112
13
13
14
ו
וסקס
וחו
וזטס
6
6
ו
סטס
זו
זוסְס
זוחו
זוזס
זו
וס
זסחו
זוסוס
5 68
6 88
0 985
6 8ז
,2 65ז
|,2 85ז
(וח),2 85ז
8 885
88ז
6 8685
8 98
6 98ז
ח,3 95ז
,3 95ז
(ח),3 85ז
8 885
0 98ז
0 88
08 98
6 885
ח,4 5ז
|,4 85ז
((ח),4 85ז
8 885
,5 65ז
6 88ז
8 68
6 685
ח,5 85ז
|,5 65ז
(ח),5 85ז
8 885
65ז
6 88
40 85
6 885ז
ח,6 85ז
|,6 85ז
((ח),6 85ז
8 885
0 88ז
0 88ז
0 8ז
6 68ז
ח,7 85ז
|,7 85ז
ס 50
6 500
0 500
6 500
ח ספ
| ספ
((ח) סטפ
088
5 500
6 800
408 500
6 800
ח,8 500
|,8 500
(|ח),8 900
8 5060
5 0ח8
0 80
0 80
6 0ח8
ח 80
| 0ח8
((ח) סחהּ
8 80
ם זסא
0 זסא
4 זסא
6 זסא
ח זסא
| זסא
((ח) זסא
8 זסא
פזס
סזס
0זס
6 זס
ח זס
|זס
(|ח) זס
8 זס
5 סס
6 סס
₪ סס
6
ח סס
|סס
סאה
%צם אצ
וק
א:
דאוסק
6
אדדה
דה
הד
5
5
]ג
אפ
אופ
55
אגד
אפה
5
אדה
א)
קאם
דצו
₪
₪
5
14
15
146
1277
188
199
16
151
12
13
164
15
16
17
18
1%9
100
11
12
13
14
15
16
17
1-08
109
10
ולו
12
13
14
175
1%6
17
8
199
150
11
112
13
144
15
16
117
1|=08
199
70 ///0...........-..>.>.*.>.
(וח),7 85ז ((ח) סס ב ]: אששק 190
8 885ז 8 -8 או 11
9 2 זז 600 ₪ 12 |
506 6 ססם 01 6 13 ו
0 צא,;?ח סן 2) 05 14
968 אא סן 3 דסא 15
,0 50 אא,?ח ||08 4 אום 16
|,0 501 6 חפט 5 אס 17
((ח),0 501 א 900 6 סאה 18
8 0 07 = 9
0 59 %2ז 68( = 200
6 9 1 09 <> 201
0 59 אא,? סן 04 סאוו 22
68 88% 8 אפחד 203 |
,1 501 אא,?!68 - 66 סז 204 |
|, 50 אא וו6₪9 פס קם ד 205 |
((ח),1 501 א 800 6 א]-שם - 206 :
08 8 6 זהס - 207 |
0 50% 6 זז 0 דהואחס: 208 |
0 5 6 קסס וס =סוא 209 |
10 9 אא,סח סן 2 5 20 |
6 50% 8(א) זטס 33| % אםקס ור2 |
ח,2 501 אא,סח ||08 24 % 01055 212 |
|,2 501 8 חפט 5 ו 2013 1
(ח),2 581 א פטפ 66 צזוהפש 214 |
8 59 6 7 קט 205 |
0 50 6 זז 8 ₪ |סחוס 206 |
6 0 אאס 59 אאו 27
0 5 אא,6 סן אס םסק 208
8 5 (א),8 חו 08 ה | 209 ן
ח,3 501 אא,ס |ו08 06 דוּזסוהם 200 |
|,3 561 -סטז)פח 65או91ז סס םפתפעאו 21 |
או פָחופט פחסוץ |
((ח),3 581 ,8 5006 ב[ ו 222 |
8 50% 4 ז8ז, זם זטס 23 |
0 50 סכ 191 ₪0 זאואקן | 224 |
106 וח קסס ב דו|| 205
10 אא,סס סן 2 קז 206
68 וח,(ק5) אס 3 פופה 207
ח,4 501 אא,סס וופס 4 אזהס 208 |
/4 501 וח חפט 5 11613 וג 209 |
(|ח),4 561 א סח 66 שפא 200
918 2 זז 3 ₪ סט 201
0 50% 68 זז 8 שטאוזאס6 22
0 9 (וח) סן ₪9 ופ 213 |
7 אא,6פסן - 6 ואפ | 234 |
|
15 |
₪ ול
16
08 9
ח,5 501
,5 50%
((ח),5 50%
8 5
5 5%
0 5
0 9
6
ח,6 501
|ו,6 0
(ח),6 561
8 5
12 ]10%
8 50%
68
ח,7 501
|,7 5
(ח),7 591
8 59
וח,06 אס
אא,סס וו68
א זסא
0 זז
כ זז
1 סקס
אא,ם פן
1
אצ,ק וו68
1 תפטס
א זס
8 זז
זז
וח,ס5 ₪
אא,ח סן
9
אאצ,ח |ו9ס
-511000ח! 65או81זם
ץו סחופט פחסוז
א סס
6 זז
אס
סד 60
8 60
דוקאו
סגסו
דשו]
דם |
= הק
דאשא
סאסק
דאוהק
דסוק
אטחה
5
םקו ססאגה
אמטדספח
ץק
224
205
209
200
23
204
205
בי"
נספח 5: דווחים |
הדווחים מופיעים בתחתית המסך בכל עת שהמחשב חדל מביצוע התכנית, ומסביר מדוע עצר, באם
מסיבה טבעית או מאחר והתרחשה שגיאה.
הדווח מכיל קוד מספרי או אות, כך שתוכל להתייחס לטבלה שבהמשך, הודעה קצרה המסבירה מה
התרחש ואת מספר השורה ומספר ההצהרה בתוך אותה שורה בה הופסק הביצוע. (פקודה מוצגת
כשורה 6. בתוך שורה, הצהרה מספר ו היא ההצהרה הראשונה, הצהרה 2 היא זו שלאחר
הנקודותיים (:) הראשונות או א1135 וכך הלאה).
התנהגותה של פטא11א60 תלויה בדווחים. באופן נורמלי, 05א6011 ממשיכה לשורה ולהצהרה
שהוגדרו בדווח האחרון, אולם קיימים יוצאים מן הכלל, עם הדווחים 6, 9 ו (ראה גם בנספח 6). |
לפנינו טבלה המציגה את כל הדווחים. היא מציינת גם באילו נסיבות הדווח יכול להתקבל; עליך
להתייחס בנקודה זו -- גם לנספח 6. לדוגמא-הדווח: זחטוחץפָז 4[!6ח1 . יכול להתרחש עבור 508, |
אז, 405 וְ-א45 והגדרות נתוניהן -- כפי שמופיעות בנספח 6 -- יראו לך במה שגית.
|
|
קוד משמעות הסיטואציה |
0 0% (בסדר) כל-שהיא |
סיום מוצלח, או קפיצה למספר שורה |
הגדול מהקיים. דווח זה אינו משנה
את השורה וההצהרה אליה התבצעה |
קפיצה על ידי פטאזזא00. |
1 0 זטסתוא דאמא (דאפא ללא 05?) דאפא
משתנה הבקרה אינו קיים (הוא לא
נקבע על ידי הצהרת 208),
אך קיים משתנה רגיל באותו
שם.
2 תטס] זסח 516ג1זג/י (משתנה לא מוכר) כל-שהיא
עבור משתנה פשוט -- דווח זה יתקבל
באם יעשה שימוש במשתנה בטרם
יוגדר על ידי ד15, םאת או דפא]
או יוטען מטייפ או יוגדר בהצהרת 08ת. /
עבור משתנה מותווה (60ז50050110) הדבר יתרחש באם יעשה ן
שימוש-במשתנה בטרם הוגדרו מימדיו ע"י א]כ |
או הוטען מהטייפ.
3 שתסזצו ז1ז56פט5 (תוית שגויה) משתנים מותווים
התוית היא מעבר למימד שהוגדר תת-מחרוזות
למערך, או שקיים מספר שונה
של תויות ממספר המימדים. באם
17
38
התוית שלילית או גדולה 6553570
אזד דווח שגיאה 8 יודפס.
עזסוח6ות )0 + (לא נותר מקום בזכרון)
אין מקום מספיק במחשב עבור
מה שאתה מנטה לבצע. באם
נראה כי המחשב "נתקע" במצב זה
ללא יכולת להמשיך, יתכן ותצטרך
לנקות את שורת הפקודה בעזרת
שד ]פס ואחר להשמיט מהזכרון שורה
או שתיים (תוך כוונה להחזירן ברגע
הראשון-האפשרי) כדי להותיר לך
מקום לתמרן עם -- נניח -- 01545.
56066 ]0 זט (לא נותר מקום במסך)
הצהרת 01תא1 נסתה ליצור יותר
מִ-23 שורות בחלק התחתון של המסך.
כמו כן קורה כאשר מודפסת ההצהרה
דג דאזפת.
של 500 ז6פוחטא (המספר גדול מדי)
החשובים הולידו מספר הגדול-בקרוב מ-103%
8 000 זטסתטוי תדמ (אדדתת ללא 508 600)
קיים אתש:ת אחד יותר ממספר
הָ-508 60 הקיימים.
6 ]0 6תם. (קצה הקובץ)
הצהרה 5102
לאחריה, פטא11א60 לא יחזור על
הָ-?510, אלא ימשיך מההצהרה שלאחריה.
ח6וחטפַָז3 6:[גשח1 (ארגומנט לא חוקי)
הארגומנט לפונקציה אינו חוקי מסיבה
כלשהיא.
ג ]0 זטס ז6ק6זח1 (שלם גדול מדי)
כאשר נדרש שלם, ארגומנט הנקודה
הצפה מעוגל לשלם הקרוב ביותר.
באם הוא מחוץ לתחום הקיים -
מתקבלת שגיאה 8.
עבור גישה למערך ראה -- פרק 3
דםת, דטקאז, אסת, אופ,
8 0ס, 040 פסתטא.
לעתים בעת חישוב-בטויים.
דטפאז, 41 דאזתץ
כל פעולה אריתמטית
אתטזספת
פעולות הקשורות -
בכונן הדיסקט, וכדומה
50
א א45, 405
(עם ארגומנט-מחרוזת)
אטת, פקואספאגא, פאסץ,
אופ. סד 00, 508 00,
7 ך11.15, שפזגק,
דדסע, 85 אסטס,
8 (עם ארגומנט-מספרי)
גישה למערך
6 ח 6פה6פתסצן שטויות בְ-84510)
התוכן של משתנה (המחרוזת) אינו יוצר
בטוי בעל משמעות.
5 א 00 - אאסתם
אפאפ נלחץ בזמן-פעולה עם התקן
הקפי.
התנהגותה של פטאזדא 60 לאחר דווח זה
היא רגילה בכך שהיא חוזרת על ההצהרה.
השווה עם דווח .
ד ]0 וטס (לא נותר מירע)
ניסית לבצע 554 מעבר לקצה
רשימת ה-418.
6וחגת 116 118עה1 (שם קובץ -- לא חוקי)
55 עם שם ריק או שם המכיל
מעל 16 תוים.
6 זס! וחססז סא (אין מקום לשורה)
לא נותר די מקום כדי לצרף את
השורה החדשה לזכרון.
דדטפאז הו 5107 (פ510 בתוך 1טתא1)
המידע ל-דטתא1 התחיל עם 5105, או
מקש תו המקף (--) עבור פאז דטפאז -- נלחץ.
אסא זטסתזוי סש (08ש ללא דאפא)
התקימה לולאת 20% שצריכה היתה
להתבצע אף פעם (כלומר ₪ 10 1=ח 08ת)
והצהרת פאא המתאימה אינה
ידועה.
6 1/0 6ו|גשח1 (התקן קלט/פלט לא תקין)
זוס!ס6 41:6ח1 (צבע לא חוקי)
המספר שהוגדר אינו ערך -- מתאים.
הגזקָסזק סזהו 885 (885% בתוך תכנית)
הלחיצה על 885% מפוענחת
בין שתי הצהרות. השורה ומספר
ההצהרה בדווח מציינים את
=----"""""""""""""""""""""""הההה <<
5 ,1
סגסם, 54/5 הוחפץ,
פוא דאןפק1, ד5ו11, ץצ 60.
כמו כן, כאשר המחשב שואל ?|
ותשובתך א, 52405 או 5102.
פגפת
כ
בעת הכנסת שורה
לתכנית.
דטפאן
08
פעולות כונן דיסקט
וכדומה
אאז, 5פקגת, תפסתספ.
₪ 81047 פפ5תם טאו
8% 0; כמו-כן לאחר אחד
מתוי הבקרה.
בלשהיא
139
110
השורה שלפני הלחיצה על א4פת8,
אולם פטא]60 ימשיך מההצהרה שלאחריה
(ומאפשר קיום קפיצות), כך שאין
חזרה על הצהרות.
46 סח 105וא4 (ערך קסדואאת לא תקין);
המספר שהוגדר עבור 107/א84 הינו
גדול או קטן מדי.
51366 (ההצהרה אבדה)
קפיצה להצהרה שאינה קימת
יותר בזיכרון
והג6זז5 4!|גצח1 (רצף לא חוקי)
תפס טסוזוי את (א? ללא זמס)
פונקציה מוגדרת ע* המשתמש.
זז ק
מספר שגוי של ארגומנטים, או שאחד מהם
הינו מסוג לא מתאים (מחרוזת במקום מספר
או להפך)
7 קַהו046! 1376 (שגיאת הטענה מטייפ)
הקובץ שהוגדר נמצא בטייפ, אך מסיבה
כלשהיא לא נתן לקרוא אותו או שאינו מאומת.
8 בדרך כלל
בְֶ-אטת.
אאטדפת, זאפא,
פא
בפעולות כונן -
הדיסקט וכו'.
את
אץ
צז[תםץ, 040 או
תא
נה הרהה הרה הרכההכ 0 "
נספח 6: תיאור תמציתי של
בת 5660 2%:
החלק הראשון של נספח זה חוזר על העובדות הנוגעות ללוח המקשים והמסך -- אשר הוסברו
בספרון -- המבוא.
לוח המקשים:
התוים במחשב זה מכילים לא רק סימולים בודדים (אותיות, ספרות וכו') אלא גם צירופי-סימולים (כגון
מילות"מקש, שמות-פונקציות ועוד) -- כאשר כל אלו מוכנסים למחשב מלוח המקשים. כדי לקבל
פונקציות ופקודות אלו -- למספר מקשים חמש או יותר משמעויות שונות, המוגדרות בעזרת מקשי
ה-5₪117 (511121 625 או -- 3151 801.5ואצ6), וזאת ע"י לחיצה ממושכת עליהם בעת שלוחצים על
מקש אחר וע"י הפעלת המכונה באופני-פעולה (066/א) שונים.
אופן-הפעולה מצוין בעזרת הסמן (ז90זט6) שהוא אות מהבהבת המראה היכן יודפס התו הבא שיוכנס
מלוח"המקשים. אופן הפעולה א (מהמילה 66זסווץ>א = 'מילות מקש') מחליף את אופן-הפעולה .1
בעת שהמכונה מצפה לפקודה או לשורת-תכנית (לא למידע מִ-דַטפא!), וממקומו על השורה יודעת
המערכת באם עליה לצפות למספר-שורה או למילת מקש. כך הדבר בתחילת שורה או לאחר אפוזד
או לאחר: (מלבד במחרוזת). באם לא נעשה שימוש באחד ממקשי הָ-514191, המקש הבא יפורש או
כמילת"מקש (הכתובה על המקשים) או כספרה.
אופן-פעולה .1 (מהמילה 6068 = 'אותיות') מתקיים בדרך כלל בכל שאר הזמן. באם לא נעשה שימוש
במקשי הַ-511191, המקש הבא יפורש כסימול העקרי שעל המקש -- באותיות כתיב עבור אותיות.
בשני אופני-הפעולה א ן-1, 5131 5801 עם מקש יפורש -- כתו הצרדי האדום שעל המקש
רֶדז!53 6425 עם מקש-ספרה יפורש כפונקצית הבקרה הרשומה בלבן מעל המקש. ל-6425511
עם מקשים אחרים אין כל השפעה על מילות המקש באופן הפעולה -- א, ובאופן הפעולה 1 הוא גורם
להפיכת אותיות כתוב לאותיות דפוס.
אופן-הפעולה 6 (מהמילה 1135ק63 = "אותיות דפוס") הינו גרסה של אופן פעולה 1, כשבו כל
האותיות מופיעות כאותיות דפוס. המקש 511181 6425 גורם למעבר באופן-פעולה | לֶ-6 או בכוון
ההפוך.
באופן הפעולה 5 (מהמילה 5%60664 = "מורחב") משמש להשגת תוים נוספים, בעקר צירופים. הוא
מתקבל לאחר ששני מקשי ה-5111:1 נלחצו יחדיו וזאת למשך הקשה אחת על מקש כלשהוא. באופן
פעולה זה, מקש-אות מגדיר תו אחד או צרוף (המוצג בירוק מעליו) באם לא נעשה שימוש במקשי
הָזָ31, ואחר (כמוצג באדום מתחתיו) באם נלחץ עם אחד משני מקשי הֶד5111. מקש ספרה מגדיר
צרוף באם נלחץ עם 54157 1801אצ5; בכל מקרה אחר הוא מגדיר סדרה לבקרת הצבע.
אופן הפעולה 6 (מהמילה 0142716 = יגרפיקה') מתקבל לאחר הקשת 684713105 (51107 6425
עם 9), ונמשך עד אשר נקיש זאת שוב. מקש-ספרה יגדיר גרפיקת-פסיפס, יפסיק את 084211165 או
פא זפס, וכל אחד ממקשי-האותיות מלבד /, /, א, צן-2 מציג גרפיקה -- שאותה הגדיר המשתמש. |
באם מקש כלשהוא נלחץ באופן רציף מעל פרק זמן של 2 או 3 שניות, הוא יתחיל לחזור על עצמו. |
הקלט -- מלוח המקשים מופיע במחצית התחתונה של המסך בעת שהוא מודפס, כאשר כל תו
(סימול יחיד או צרוף סימולים) מוכנס לפני הסמן. נתן להזיז את הסמן שמאלה בעזרת 513171 0425 עם
5 או ימינה על ידי -- ]54 6425 עם 8. נתן להשמיט את התו שלפני הטמן בעזרת 818 וס
ךןְוְוְוְוְ ו
141
ל ו "ייוו
(ד51318 6305 עם ₪). (הערה: נתן להשמיט את כל השורה על ידי הדפסת 5011 (511121 695 עם 1)
ולאחריו תפ דאם).
כאשר מקישים על 5%788 השורה מבוצעת, מוכנסת לתכנית או משמשת כמידע ל-דטפא] בהתאם,
אלא אם היא מכילה שגיאת תחביר. במקרה זה ? יופיע בסמוך לשגיאה.
בעת ששורות התכנית מוכנסות למחשב, רישומן מופיע במחצית העליונה של המסך. האופן בו נוצר
רישום זה מסובך קמעא והוסבר בפרק 2. השורה האחרונה שהוכנסה נקראת הישורה-הנוכחית' והיא
מצוינת על ידי הסימול <, אולם נתן לשנות זאת בעזרת המקשים > (511151 6425 עם 06ן- > (דק5311
5 עם 7). באם דוס (7ק51 6325 עם 1) נלחץ, 'השורה הנוכחית' מובאת לתחתית המטך, שם
היא נתנת לעריכה.
בעת שמבוצעת פקודה או תכנית "רצה", הפלט מוצג במחצית העליונה של המסך ונשאר עד אשר
מוכנסת שורת תכנית, או 58 דאם נלחץ עם שורה ריקה, או המקש > או > נלחץ. בחלק התחתון יופיע
דווח המספק קוד (ספרה או אות) המפנה אותך לנספח 8 (לשגיאה המתאימה), תמצית מילולית של
האמור בנספח 8, מספר השורה המכילה את ההצהרה האחרונה שבוצעה (או ₪ עבור פקודה) ומקומה
של ההצהרה בתוך השורה. הדווח נשאר על המטך עד אשר נלחץ מקש (ומציין בכך -- אופן פעולה
8
בנסיבות מסוימות, 514151 625 עם המקש 59405 מתנהג כמו 8854%, בעצרו את המחשב בדווח ₪
או 1. הדבר נתן להבחנה -
() בסוף הצהרה בעת שהתכנית "רצה", או
(ן) בעת שהמחשב משתמש בטייפ-הקסיטות או במדפטת.
מסך הטלויזיה:
המסך בנוי מ-24 שורות בנות 32 עמודות כל אחת והוא מחולק לשני חלקים. החלק העליון הוא לכל
היותר בן 22 שורות ומציג או רישום (אַחוז18) או פלט-מתכנית. בעת שההדפסה בחלק העליון הגיעה
לתחתית, המסך "מתגלגל" (567018) שורה אחת כלפי מעלה; באם בכך יגרם איבוד שורה שאותה
עדיין לא הספקת לראות, המחשב יבקש רשותך לגלגל את המסך בשאלה -- ?!56701. הקשה על א,
55 או 5107 יגרמו לתכנית לעצור עם הדווח: 606466 60 -- 885% ; כל שאר המקשים
יאפשרו את המשכת הגלגול. החלק התחתון משמש להכנסת פקודות, שורות תכנית ומידע לְ-דטקאו
וכן -- להצגת דווחים. החלק התחתון מתחיל בגודל שתי שורות (העליונה בהם -- ריקה) אך הוא
מתרחב כדי לשמור את כל שמודפס למחשב בעת שהוא מגיע למיקום ה-דא81? הנוכחי בחלק העליון,
הרחבות נוספות יביאו את המחצית העליונה להתגלגל גם כן -- כלפי מעלה.
לכל מיקום"תו התכונות המגדירות את צבעי הינירי (החזית) וה'דיו' (הרקע), שתי דרגות בהירות וקיום
הבהוב.
הצבעים האפשריים הנם שחור, כחול, אדום, סגול, ירוק, תכול, צהוב ולבן.
קצה המסך נתן לקביעה לכל אחד מצבעים בעזרת הצהרת 8080588.
כל מיקום תו מחולק ל-8א8 נקודות וגרפיקה-בהבחנה גבוהה מתקבלת ע"י הגדרת הנקודות הללו
בצורה אינדיוידואלית באם יציגו את צבע הינירי או צבע הידיו' -- עבור אותו מיקום תו.
התכונות במיקום"התו מכוונת בכל עת שתו נכתב, או בעת שנקודה משורטטת שם. הצורה המדויקת
של הכוון נקבעת ע"י פרמטרי הָדַא%1? -- מהן קיימות שתי קבוצות (הקרויות -- קבועה וזמנית) של
שש: הפרמטרים 258 גפ, אא], 1.4511ת, ד סות8. פפם שא וְ- אמ /0. פרמטרים קבועים לחלק העליון
נקבעים על-ידי הצהרות 24058, אא! וכו', ונמשכים עד לפניה הבאה. (במצב ההתחלתי, עם הדלקת
המערכת, הם מוגדרים כידיו' שחורה על ינירי לבן, בהירות רגילה, ללא הבהוב, תצוגת וידיאו רגילה
וללא כתיבה חוזרת). פרמטרים קבועים עבור החלק התחתון משתמשים בצבע ה'גבול' כצבע הינירי
בניגוד גוונים שחור או לבן עבור ה'דיו', בהירות רגילה, ללא הבהוב, וידיאו רגיל וללא כתיבה חוזרת.
פרמטרים זמניים מוגדרים על ידי פרטי דא1אפ. אא! וכו' אשר שובצו בהצהרות דַא1אק. דאו8ק1.
דטפאו, דס.זק, או תס ו-018015, וכמו כן עלידי תוי הבקרה של 5258, אא! וכו' בעת שהם מודפסים
12
לטלויזיה -- הם מלווים בבית נוסף המגדיר את ערך הפרמטר. פרמטרים זמניים נמשכים רק עד לסוף
הצהרת ה-1א81? (או מה שלא תהיה), או בהצהרת ד0(וקא!, עד אשר נדרש מידע עבור ה-דטקאן
מלוח המקשים, כאשר הם מוחלפים בפרמטרים הקבועים.
פרמטרים75%? א%א! הם בתחום 6 עד 9. הפרמטרים ₪ עד 7 הם הצבעים הנמצאים בשימוש בעת
הרפסת תו:
0 שחור
ו כחול
2 אדום
3 סגול
4 ירוק
5 תכול
6 צהוב
7 לבן
הפרמטר 8 מציין באם הצבע במסך ישאר ללא שנוי בעת הדפסת תו.
הפרמטר 9 מציין באם הצבע הנדון ('נייר' או 'דיו') יהיה לבן או שחור כדי להראות ברקע הצבע השני.
פרמטרי 1.4511 ן- 8810141 הם ₪ וְ-1, או 8: הָ-1 משמעותו שתהיה בהירות גבוהה או הבהוב יתחיל, וָ-
8 משמעותו שהמצב הקודם ישאר ללא שנוי.
פרמטרי 0758 ו-מ85פ/א! הם ₪ ון-1:
6 - תוים חדשים מוחקים את התוים הישנים.
1אמצס - תבנית הביטים הישנה והתוים החדשים מצורפים יחד בעזרת הפעולה הלוגית "או-
בלעדי" (0 6שופט!6אם). תהליך זה נקרא כתיבה"מחדש (שחו)חוזקזטצס).
6 א - התוים החדשים מודפטסים כצבע ה'דיוי על צבע היניר' ('וידיאו רגילי).
1 א -- | התוים החדשים מודפסים כצבע היירי על צבע הידיו' ('וידיאו -- הפוך).
כאשר תו הבקרה 18 מתקבל על ידי הטלויזיה, שני בתים נוספים אמורים להתלוות אליו -- בכרי
לקבוע את מיקום ה-18 -- ח (הבית המשמעותי פחות -- ראשון). זה מופחת מודולו 32 לֶא (הבה
נניח זאת), ואז מרווחים מספיקים מודפסים כדי להניע את מיקום ההדפסה לעמודה סא.
כאשר תו הבקרה -- פסיק מתקבל, אזי מודפסים מספר מרווחים (לפחות) כדי להניע את מיקום
ההדפסה לעמודה ₪ או עמודה 16.
כאשר מתקבל תו-הבקרה של אפדא8, מיקום ההדפסה מועבר לשורה הבאה.
המדפסת:
הפלט ממחשב זה למדפסת -- מתקבל באמצעות חוצץ (וש//פ) באורך שורה אחת (32 תוים), ושורה
נשלחת אל המדפסת -
(() :אשר ההדפטה ממלאת שורה
((ו) כאשר התקבל תו אפדא:
() בסוף התכנית, באם נותר דבר מה שלא הודפס.
(א) כאשר בקרת -- 148 ובקרת-פסוק מניעים את מקום ההדפסה לשורה חדשה.
בקרות ה-188 ובקרות הפסיק קובעות מרווחים בצורה דומה -- למה שהתבצע בטלוזיה.
בקרת 7 משנה את מיקום ההדפסה בעזרת מספר העמודה ומתעלמת ממספר השורה.
ההדפסה מושפעת מבקרות 855פ/אן וְ-0/58 (וכמו כן הצהרות) בצורה דומה למסך, אך לא על ידי
תפקה ק, אאו. ה5ג.1ם, או ד 0ו88.
המדפסת תעצור עם דווח 8 באם נלחץ א885.
באם המדפסת אינה מחוברת -- המידע פשוט יאבד.
13
:
המספרים נשמרים בדיוק של 9 עד 16 ספרות. המספר הגדול ביותר הנתן לאחסון הוא בקירוב *10%%,
והקטן ביותר (החיובי) הוא בקירוב **-4*10.
המספרים נשמרים בָּ"וחטזז6ק5 2% במספרים בינארים בנקודה צפה, עם בית אקספוננט אחד - 6
(1>=6>=255) וארבעה בתי מנטיסה -- תח (1> = >4/).
התבנית מייצגת את המספר -
8 ות
מאחר ן ₪61 = +%, הביט המשמעותי ביותר במנטיסה הוא תמיד 1. לכן למעשה נתן להחליפו בביט
שיציג את הסימן: 6 עבור מספר חיובי וְ-ו עבור שלילי.
לשלמים-קטנים יצוג מיוחד שבו הבית הראשון הוא 6, השני הוא ביט הסימן (₪ או ם :) והשלישי
והרביעי הם השלמים בשיטת המשלים ל-2, כשהספרה הפחות משמעית-ראשונה.
למשתנים מספריים שמות באורך שונה, כשהתו הראשון חייב להיות אות. כל יתר התוים אינם
מענינים. בקרות הצבע והמרווחים לא נלקחות בחשבון וכל האותיות מודפסות כאותיות כתיב.
למשתני הבקרה עבור לולאות דאפא-20% שמות שאורכן אות אחת-ויחידה.
למערכים-מספריים שמות באורך אות יחידה, והוא יכול להיות זהה לשמו של משתנה פשוט. הם
יכולים לכלול מספר שרירותי של מימדים וגודל-מימד שרירותי אף הוא. התוים מתחילים בָּד1.
מחרוזות הנן גמישות לחלוטין באורכן. שם"המחרוזת מכיל אות יחידה שלאחריה 5.
מערכי מחרוזת יכולים להיות בעל מספר מימדים כלשהוא -- כשלכל מימד גודל שרירותי, השם הוא
אות יחידה מלווה בסימול 5 -- והוא יכול שלא להיות זהה לשם המחרוזת.
כל המחרחות במערך נתון הן בעלות אורך קבוע זהה לכולן, המוגדר כמימד נוסף בהצהרת ואזפ.
התויות מתחילות בֶּד1.
פריסת מחרוזות (עחוס:[5): תת-מחרוזות של מחרוזות נתנות לקביעה בעזרת "פורסים". פורס יכול
להיות:
(0 ריק, או
(₪) | בטוי מספרי, או
(ווו) בטוי מספרי אפשרי 10 בטוי מספרי אפשרי
והוא משתמש לבטא תת-מחרוזת בעזרת:
(ג) (פורס) בטוי מחרוזת
(פ) (פורס, תוית ,..., תוית) משתנה-במערך מחרוזת
אשר משמעותו היא בדיוק כמו של -
(פורס) (תוית, ..., תוית) משתנה של מערך מחרוזת בְ(9) -- הבה נניח כי בלטוי המחרוזת קיים הערך
5. באם הפורס הינו ריק, התוצאה היא 55 -- הנחשבת כתת מחרוזת של עצמה.
באם הפורט הוא בטוי מספרי שערכו -- וח אזי התוצאה היא התו הָדוח' של 55 (תת-מחרוזת באורך 1)
באם לפורס צורה בְּד (() , אזי הבה נניח כי הבטוי המספרי הראשון הוא בעל הערך וח (ברירת המחדל
- 1), ולשני -- ה (ברירת המחדל היא אורכה של 65.
באם אורך 55=> ח=> וח = > 1, התוצאה היא תת-המחרוזת של 55 המתחילה בתו הָדוּת' ומסתיימת בתו
הָדת+.
באם | >ח=>0 התוצאה תהיה ה'מחרוזת הריקהי.
בכל מקרה אחר, יתקבל דווח שגיאה 3.
פריסת. מחרוזות מתבצעת לפני ביצוע פונקציות או פעולות, אלא אם כן סוגרים מכתיבות סדר אחר.
תת-מחרוזות נתנת להשמה (זח6וחחק51ג). ראה את האמור לגבי דם.
באם מרכאות אמורות להופיע בתוך ציטטה במחרוזת, יש לרשמן פעמיים.
4
הארגומנט של
פונק ציה אינו דורש סוגרים באם הוא קבוע או משתנה (מותווה או פרוס).
פונקציה
5
5
סאג
א45
אזג
על
אזפ
5
5כפסס
, "םהה
סוג הארגומנט
(*)
מספר
מספר
פעולה בינארית, כשהאופרנד הימני
תמיד מספר.
כשהאופנרד שמאלי -- מספרי:
כשהאופרנד השמאלי -- מחרוזת:
ש=4255
מספר
מספר
שני ארגומנטים - א וְְע,
שניהם מספרים -- בשהם
בתוך סוגריים.
מספר
מחרוזת
תוצאה:
ערך מוחלט
ארקסינוס ברדיאנים
שגיאה 4 באם א לא
בתחום: 1-- עד 1+.
00
8><0 זו 45
0"
ו 8 סאג 4
8 פאה 45
ארקסינוס ברדיאנים.
שגיאה 4 באם < לא בתחום
ו- עד ו+.
ארקטנגנס ברדיאנים.
המספר שבצורתו הבינארית
יוצר קוד לתכונות שורה א
(ועמודה ץ בטלויזיה. ביט 7
(המשמעותי ביותר) הוא 1
להבהוב, 6 ליציב. ביט 6 הוא
ו לבהירות גבוהה ו-6 לרגילה.
ביטים 5 עד 3 הם צבע היניר
וביטים 2 עד 6 הם צבע הידיו'.
שגיאה 8 אלא אם כן
3 = > א = > ₪ וכן 31 = > ץ = > 6.
זוהי למעשה לא פונקציה כי אם
שיטת רישום מטפרים: א81
שלאחריה 1 (ן₪ היא המספר
ביצוג בינארי כזה.
התו בעל הקוד המתאים ל-א,
כשהוא מעוגל לשלם הקרוב ביותר
הקוד של התו הראשון ב-א (או
₪ באם א הוא הימחרוזת הריקהי)
15
|
5םאא
זאז
אפן
סא
(1
אמסק
ה
זאזסץ
מספר (ברדיאנים)
מספר
מספר
אן
מספר
מחרוזת
מספר
מספר
מספר
פעולה בינארית כששני האופרנדים
הם מספרים
מספר
אין
שני ארגומנטים, א וע
קוסינוט א
6%
אץ שלאחריה אות קוראת לפונקציה
שהוגדרה ע"י המשתמש (ראה - ץם)
הארגומנט חייב להופיע בסוגרים; גם
אם אין כל ארגומנטים -- הטוגרים
חייבות להופיע.
תוצאת הקלט מפורט (זזסק) א
(ת 7ץז] = > א = 6) (טוענת את
צמד הרגיסטרים 86 ב-א ומבצעת
את ההוראה בַ-(4)0.)
קוראת את לוח המקשים.
התוצאה היא התו המייצג
את המקש שנלחץ (באופני פעולה
1 או6 באם נלחץ אחד
בדיוק; אחרת -- הקבוצה הריקה.
החלק השלם (תמיד מעגלת
כלפי מטה).
אורך המחרוזת
לוגריתם טבעי (בסיס 66
שגיאה 4 עבור 0 = >א.
0>% :6
ש=א :ו =א דסא
לֶ- סא עדיפות 4.
₪>5 :ו
₪ 6₪:5= 202 =
לֶ-05 עדיפות 2.
ערך הבית בזכרון
שכתובתו היא א (מעוגלת
לשלם הקרוב ביותר).
שגיאה 8 עבור א באם
אינו בתום ₪ עד 65535.
(5.14159265.9) זך
1 באם הנקודה (ע,א) היא בצבע
146
פאת
5
50%
אזפ
5%
5
אוגוד >
אפ
ה
שהם מספרים; הם
מופיעים בתוך סוגרים.
אין
שני ארגומנטים - א וְץָ, שניהם
מספרים; הם מופיעים בטוגרים.
מספר
מספר (ברדיאנים)
מספר
מספר
מספר (ברדיאנים)
מחרוזת
מחרוזת
הידיוי ₪ עבור צבע 'הנירי.
שגיאה 8 באם לא מתקיים
5 = > א = 0% וכן 175 = >ץ = >6.
המספר הפסאודו-אקראי הבא
מיוצר ע"י לקיחת חזקות
5 מודולו 65537, החסרת 1
וחלוקה ב-65536.
ו>ץ0
התו המופיע, רגיל או הפוך
בטלויזיה בשורה א, עמודה צ.
מספקת את ה'מחרוזת הריקה'
באם התו אינו מוכר.
שגיאה 8 אלא-אם מתקיים:
1 = %ץ=>0 ן-23 = > א = 0%
פונקצית הסימן (1-- עבור
שלילי, 6 עבור אפס
וְ1+ עבור חיובי) של א.
סינוס - א
השורש הרבועי.
שגיאה 4 באם 0>א.
מחרוזת התוים שתוצג באם א
היה מודפס.
טנגנס א
כתובת תבנית-הביטים עבור
הסימול הגרפי שהוגדר ע"י המשתמש,
המתאים ל-א.
שגיאה 4 באם א אינו אות
יחידה בין 3 לֶ-ט או
גרפיקה שהוגדרה ע"י המשתמש.
מחשבת את א (ללא המרכאות
שבקצותיו) כבטוי מספרי,
שגיאה 6 באם א מכיל שגיאות
תחביר או נותן ערך מחרוזת.
שגיאות אחרות גם הן
אפשריות, בתלות בבטוי.
117
וממקם שם את המחסנית הָ-00508 החדשה.
05 אינה פועלת ללא כונן-הדיסק וכו'.
15 (ח66ז56 ז2!64))"מנקה" את קובץ התצוגה.
פטאזדא 0 ממשיכה את התכנית, החל מהמקום
בו נעזבה בעת שעצרה בפעם
האחרונה עם דווח שונה מִ-6. באם
הדווח היה 9 או 1, פטא0011 תמשיך
מההצהרה הבאה בתור (תוך לקיחת
קפיצות-בחשבון); אחרת היא חוזרת
על הפקודה שבה התרחשה שגיאה.
באם הדווח האחרון הופיע בשורת
פקודה -- אזי פטאז1א60 תנסה להמשיך את
שורת הפקודה כשהיא תמשיך לתוך לולאה
באם השגיאה היתה 6:1, תדווח 6 באם
היא היתה 6:2 או שגיאה א
באם היא היתה 6:3 או גדולה יותר.
מטאזדא60 מופיע כְ-דַא608 על לוח המקשים.
שולחת העתק של 22 השורות העליונות במסך
למדפטת, באם מחוברת; בכל מצב אחר -
אינה משפיעה. שים לב כי 609% אינה
יכולה לשמש בהדפטה ב'רישום-אוטומטיי
(פַת5:[ 16ז4וחסטג) המופיע על המסך.
דווח ₪ באם 885% נלחץ.
ץק
הצהרות:
ברשימה זו -
₪₪- מייצגת אות יחידה
צ- מייצגת משתנה
2 ע, א -- מייצגים בטויים"מספריים
ת, וח -- | מייצגים בטויים"מספרים שעוגלו לשלם הקרוב ביותר.
6 -- מייצג בטוי.
- מייצג בטוי-מחרוזת.
- מייצג סדרת הצהרות המופרדות באמצעות נקודותים (6.
מייצג סדרת פרטי-צבע כשכל אחד מסתיים בפסיק או בפסיק-נקודה; לפרט צבע צורת
ההצהרה הבאה -- אםקגפ, אא], 5 1ת, ד ס1תם, פפתפצצן או פפצס.
שים לב כי בטויים שרירותיים מותרים בכל מקום (מלבד במקום מספר-השורה שבתחילת הצהרה).
כל ההצהרות מלבד דטפאז, *פס ו-414 נתנות לשימוש הן כפקודות והן בשורות בתוכנית
(למרות שהן יותר מוחשיות באחד יותר מן השני). פקודה או שורת תכנית יכולה להכיל מספר
הצהרות, המופרדות בעזרת נקודותיים (). אין כל הגבלה היכן בשורה תופיע הצהרה מסוימת --
למרות זאת ראה לגבי 1 ן-)אפת.
90 ₪ 99
18
ץ. א פפפם משמיעה תו ברמקול למשך א שניות
בגובה צלילי -- ץ חצאי-טונים מעל 6 המרכזי
(או מתחתיו באם ץ שלילי).
₪ 80308 קובעת את צבע הגבול של המסך וכמו
כן את צבע היניר' עבור החלק התחתון
של המסך.
שגיאה א באם וח לא בתחום 6 עד 7.
תד 10 קובעת את בהירות התוים: 6 = ח
עבור בהירות רגילה, 1 = ח לבהירות
גבוהה וְ-8 = ח עבור שקיפות (המצב
הקודם).
שגיאה א באם ח אינו 6, 1 או 8.
אס אינה פועלת ללא כונן-דיסק וכו'
2 ץ, א 18015 משרטט קשת-מעגל שמרכזו (ע, א) ורדיוסו 2.
5 מוחק את כל המשתנים, בשחרורו על ידי כך את
המקום שתפסו בזכרון.
מבצע 8051085 ן-015, מאפס את
מיקום הָ-21.01 לפינה השמאלית הנמוכה
ו"מנקה" את מחסנית הָ-508 60.
ה 0158 בדומה ל-0154, אך באם אפשרי משנה את
משתנה המערכת 102א84 לערך ח
מחשבת את א (ללא המרכאות
בקצותיו) כבטוי מחרוזת.
שגיאה 6 באם א מכיל
שגיאת תחביר. שגיאות אחרות
גם הן אפשריות כמו עבור .41/.
5 מחרוזת
- מספר הפיכת המספר לשלילי.
הבאות -- הנן פעולות בינאריות:
+ חיבור (עבור מספרים) או קשירת שרשרות (עבור מחרוזות).
-| חיסור
0 כפל
/ חילוק
1 העלאה בחזקה. שגיאה 8 באם האופרנד השמאלי-שלילי.
= שווה
> גדול מֶ- > | קטן מַ
קטן מִדאו שווה לו.
גדול מִ או שווה לו.
לא שווה.
שני האופרנדים חייבים להיות
מאותו סוגי התוצאה היא
המספר ו באם ההשוואה
מתקיימת וְ-6 באם לא.
139
'
לפונקציות ולפעולות קיים סדר העדיפות הבא:
העדיפות
12
וו
2
474 61 2
+ :דחםזטס
שח .... 1ה) |אזס
0 -.. 1ת)5 | אום
10
הפעולות
סימון בתויות ופריסה לתת-קבוצות.
כל הפונקציות מלבד דסא וסימן
המינוס (להפיכת מספר לשלילי)
סימן המינוס (להפיכת מספר לשלילי)
,|
+, -- (מינוס כסימן חיסור)
₪=, ל, >, ל=, =>, ל>
דסא
פאג
0%
חלק מרשימת הָ-418. חייבת להופיע
בתכנית.
אופן הגדרת פונקציה-המוגדרת-ע"י-המשתמש; חייבת
להופיע בתכנית. כל אחד מְ-0 וֶ-ו1 ₪9 עד 0%
חייב להיות אות יחידה שלאחריה הסימול 5
עבור תוצאה או-ארגומנט מחרוזת.
מקבלת את הצורה 6=() את פפכ באם אין
כל ארגומנטים.
אינה פועלת ללא כונן-הדיסקט וכוי
מוחקת כל מערך קיים בשם ומגדירה מערך-
מספרי בשם מ-בעל % מימדים;ח,0%, 1ח.
מאתחלת את כל הערכים בו כָּדש.
מוחקת כל מערך או מחרוזת בשם 0%5
ומגדירה מערך תוים בעל % מימדים
ה 1ה. מאתחלת את כל הערכים
-/ נתן לראות זאת כמערך
של מחרוזות באורך קבוע 1-אָח -- בעל
1 מימדים 1-אח, ..., 1ח.
ץ, א אגא
2 ץ, א שאאס
כ
הח 5
ץ סד א= 2080
2 םד ץ 0סדא= 08ת
]דא
הח 00508
תח 0 00
שגיאה 4 מתקיימת באם אין די
מקום עבור המערך בזכרון.
מערך אינו מוגדר עד אשר הוגדרו מימדיו
בהצהרת אופ.
מקבילה לֶ-0, ע, א גפס
משרטטת קו ממיקום ה-ד2.0 הנוכחי
על ידי תנועה א אופקית ודע
אנכית יחסית לה, בסיבוב בזוית 2
שגיאה 8 באם הקו ממשיך מחוץ
לגבולות המסך.
אינה פועלת ללא כונן-הדיסקט וכו'.
מגדירה באם התוים יהבהבו או
יראו יציבים. 6=ח עבור יציבים
1 = ה למהבהבים ן-8=ח למצב
*שקוף" דהיינו מה שהיה בעבר.
מקבילה לֶ-1 5152 ץ 10 א= 06 08.
מוחקת כל משתנה פשוט בשם 6%
וקובעת משתנה בקרה בערך א, גבול
ץ וגודל צעד 2 וכתובת
לולאה המתייחסת להצהרה שלאחר הצהו
8. בודקת באם הערך ההתחלתי
גדול (באם 6; = 518) או קטן (באם
₪ > 5189) מאשר הגבול, ובאם כן
מדלגת להצהרה 6% דאפא, כשהיא
מדווחת על שגיאה ו באם לא קיימת
כזו. ראה בערך דאטא.
שגיאה 4 מתקבלת באם אין
מקום עבור משתנה הבקרה.
אינה פועלת ללא כונן-הדיסקט וכוי
דוחפת את מספר השורה של הצהרת
8 למחסנית; לאחר מכן מתנהגת
כמו - הח 0010.
קופצת לשורה ת (או, באם אינה קיימת, השורה
הראשונה שלאחריה).
11
5 אפחד א ץז
ח אאז
.ספא
ח פפתטצאן
6 ד ]
2
באם א ינכת (שונה מִ-ש) -- מבוצעת 5.
שים לב כי 5 היא כל ההצהרות עד לסוף השורה.
הצורה 'מס' שורה א1118 א "1' אינה מותרת. ,
קובעת את צבע ה'ידיוי של התוים המודפסים.
ח היא בתחום 6 עד 7 עבור צבע, 8
-עבור *שקיפות" (המצב הקודם) וד לניגודי-גוון.
ראה גם נספח 8.
שגיאה % באם ח אינו בתחום ₪ עד 9.
הָד'...' הינה סדרה של פרטי דטקא!,
מופרדים כמו בהצהרת דַא281 בעזרת פסיק,
פסיק-נקודה או גרשיים. פרט 1שפא1 יכול להיות
(() כל פרט 1א81? שאינו מתחיל באות
(וו) שם משתנה, או
(14) 8א11 ולאחריה שם משתנה טוג המחרוזת.
פרטי ה17-7א281 ומפרידיו שב-(ו)
נחשבים בדיוק כבהצהרת דא281, מלבד העובדה
שכל שמודפס מופיע בתחתית המסך.
עבור () המחשב עוצר ומצפה לקלט
של בטוי מלוח המקשים; ערכו מושם למשתנה.
הקלט מוחזר "כהד" -- באופן הרגיל כאשר
שגיאות תחביר גורמת להצגת ? מהבהב.
לבטויים מסוג מחרוזות, בחוצץ הקלט מוגדרות
במצב ההתחלתי שתי מרכאות-מחרוזת
(הנתנות למחיקה באם הדבר נדרש). באם התו
הראשון בקלט הוא 5102, התכנית עוצרת
עם שגיאה 1. (₪0) דומה לֶ-(₪) מלבד
העובדה שהקלט נחשב כמחרוזת ללא מרכאות
והמנגנון של הָ51027 אינו פועל בו; כדי
לעצור אתה חייב להדפיס /
מביאה להיפוך התוים המודפסים. באם 6 = ה
התוים יודפסו ב'וידיאו רגילי כצבע 'דיו' על
צבע הינירי.
באם 1 = ה התוים מודפסים ב'וידיאו
הפוך', כלומר: הינירי על צבע
'הדיו'. ראה גם בנספח 8.
שגיאה א באם ת אינו 6 או 1.
מציבה את הערך > במשתנה ט. דא.1
אינו נתחן להשמטה. משתנה פשוט הינו
בלתי מוגדר עד שלא ייושם ע"י הצהרת
7 סאמת או דטפאז. באם צ הינו
משתנה-מחרוזת-מותווה או משתנה בפרוסת
מחרוזת (תת מחרוזת), אזי ההשמה היא
ו
תח ד
דפ
ח 157
0]
0גד ז 1085
0 גדא ] 1045
ח, וח 6005 ] 1045
1090 ] 60005
5 ) ג 10
5 אפ5ת56 5 1040
דאזאקן
]םתא
2, 1 מצסוא
שפא
בצורת "מיטת סדום" דהיינו באורך קבוע:
משתנה המחרוזת של 6 או שהוא מקוצץ
או שהוא מתמלא במרווחים מצידו הימני
כדי להתאימו לאורך המשתנה ץ.
מקבילה ל-6 1.151
מציגה את רישום התכנית בחלק העליון
של המטך, החל מהשורה שמספרה
הינו לפחות ח -- והופכת את ה לשורה
הנוכחית.
מקבילה 6-7 11151
כמו 1151, אלא שעבור המדפסת.
מטעינה תכנית ומשתנים.
מטעינה מערך מספרי.
מטעינה מערך התוים 5.
מטעינה לכל היותר ח בתים החל
מכתובת ח.
מטעינה בתים החל מכתובת ח.
מטעינה בתים חזרה לכתובת בה
נשמר קודם.
מקבילה ל6912-7, 16384 6005 ] 10.
מחפשת את הקובץ מהסוג המתאים
בטייפ הקסיטות ומטעינה אותו תוך
מחיקת הגרסאות הקודמות שבזכרון.
ראה פרק 20.
בדומה לְ-דַא%1? אולם עבור המדפסת.
בדומה לָ- ] ם1.04, אך אינה מוחקת
שורות תכנית קודמת ומשתניה
מלבד אלו שלהם אותו שם או מספר-שורה.
אינה פועלת ללא כונן-הדיסקט וכו".
מתחילה את מערכת הָ-84516, תוך
מחיקת תוכניות ומשתנים קודמים,
3
| |
₪ זאפא
אפפס
ה וח דט
ה הםקהת
ח 055 ק
14
תוך שימוש בזכרון עד לבית שכתובתו
היא משתנה המערכת 1807א84,
ושומרת על משתני המערכת ססש,
דאגת ת, 452 ו-קות.
() מוצאת את משתנה הבקרה 6%
(60 מחבר את הצעד לערך
60 באם הצעד = > 6 וכן הערך > הגבול, או
הצעד <₪ וכן הערך < הגבול -- היא
קופצת להצהרת-הלולאה.
שגיאה 2 -- באם אין כל משתנה ל6.
שגיאה 1 -- באם קיים אך אינו משתנה בקרה.
אינה פועלת ללא כונן-הדיסקט וכו'.
מוציאה בית ח כפלט דרך פורט (זזסט) הח,
ברמת המיקרופרוססור. (מטעינה את צמד
הרגיסטרים 56 בְ-וח, את הרגיסטר 8
בְח ומבצעת את הוראת האסמבלי: ג, (6 זטס)
5 = > וח = > 0, 255 = > הח = > 255--, אחרת
מתקבלת שגיאה 8.
מבקרת את ההדפסה-החוזרת עבור התוים
בהדפסה.
באם ₪ = ה, התוים מוחקים את
הקודמים באותו מיקום.
באם 1 = ת התוים החדשים מעורבבים
עם התוים הקודמים כדי ליצור צבע דיו'
בכל מקום בו אחד מהם היה בצבע
ה'דיו' (אך לא שניהם) וצבע ירי
באם שניהם היו בו צבע "ירי או צבע
דיו'. ראה גם בנספח 8.
שגיאה א באם ח אינו 6 או 1.
בדומה ל-אא1, אלא שמבקרת
על צבע הינירי (הרקע).
עוצרת את החישובים ומציגה את
קובץ התצוגה ח מסגרות זמן
(5₪ מסגרות בשניה באירופה
601 בצפון אמריקה) או עד
אשר נלחץ מקש כלשהוא.
5 =>ה=> אחרת מתקבלת
שגיאה 8. אם 6 = ח, אזי 24058
אינה מוגבלת בזמן -- אלא, נמשכת עד
ללחיצה על מקש כלשהוא.
ן--א-כ-תנ [ רהה התרהת- 2 בכה ההשש
ח, וח, 6 ד0ק
ח, וח 0%2?
..בדאזאק
מדפיסה נקודת 'דיו' (כתלות
בְ-0/5 (55תם/א1) בימרכיב-התמונה'
(6אום) -- (|וח], |וח); מזיזה
את מיקום הָ-21.01.
אלא אם פרטי ה-דַא81? 6
מגדירים אחרת, צבע הידיו' במיקום -
התו המכיל את 'מרכיב-התמונהי
משונה לצבע הידיו' הנוכחי-הקבוע,
והשאר (צבע ה'נירי, הבהוב (בהירות)
נשארים ללא שינוי.
5 =>|ח|=>0, 175=>|ת|=>02, אחרת
מתקבלת שגיאה 8.
רושמת את הערך ח בבית
שבכתובת וח.
5 6% = 6%, 255 = > ת=> 255--,
אחרת מתקבלת שגיאה 8.
הָז'...: הינה סדרה של פרטי
דאז?, המופרדים בפסיק, פסיק-
נקודה או גרשיים. הם נכתבים
בקובץ התצוגה כדי להשלח לטלוזיה.
לנקודה-פסוק (6 בין שני
פרטים אין כל השפעה: היא משמשת
פשוט להפרדה בין הפרטים. פסיק (,)
מוציא את תו-בקרת-הפסוק והגרש (')
מוציא את תו ה-6דאת.
בסופה של הצהרת 1ַא[8?, באם
אינה מסתיימת בנקודה-פסיק, פסיק
או גרש -- מוצא כפלט התו תפזאפ.
פרט דא81? יכול להיות:
()) ריק כלומר -- כלום.
(וו) בטוי מספרי.
תחילה מודפס סימן מינוט באם הערך הוא
שלילי. כעת הבה נניח כי א הוא
המודולו של המספר.
באם 10-5>א או 1013<א, המספר
יודפס בצורת רישום מדעית. המנטיסה
כוללת עד 8 ספרות (ללא "זנב" אפטים),
והנקודה העשרונית (לא קיימת עבור ספרה
אחת בלבד) היא לאחר הראשונה.
האקספוננט הוא ם שלאחריו + או -,
שלאחריו ספרה או שתיים.
בכל מקרה אחר, < מודפס ברישום
הרגיל עם עד ל-8 ספרות
משמעותיות וללא "זנב" אפסים לאחר
15
--
1]
פקואססאגאת
ה 25]]אססאגת
%ץ, ... 2 נץ סאפת
16
הנקודה העשרונית. נקודה עשרונית
ישר בהתחלה מלווה תמיד בְּ-ש; כך למשל
3. ך-0.3.
₪ מודפס כספרה יחידה -- ₪.
()) בטוי מחרוזת.
צרוף הסימולים במחרוזת-מורחבת;
דרך אפשרית לכך היא בעזרת
מרווחים לפניו או אחריו.
לתוי הבקרה מתקיימת השפעתם --
בהתאם להגדרתם.
תוי הדפסה בלתי-מוכרים כגון - ?
(עג) ח, וח 7
מוציאה כפלט תו בקרה של -- 41 שלאחריו
בית עבור וח (מספר השורה) ובית
עבור ח (מספר העמודה).
(ץ) ת 748
מוציאה כפלט תו בקרה של 148 כשלאחריו
שני בתים עבור ח (הפחות משמעותי --
תחילה), שהיא מקום העצירה של 188.
(וט) פרט צבע הוא בצורת הצהרה מבין
תמקגת, אאז, ה5ג.זע, ד סותפ,
םא או הץ0.
מקביל ל-6 25]ןואססאוגת.
קובעת את משתנה המערך (הקרוי 555 =
זרע) המשמש ליצירת הערך הבא
של סאפ. באם ₪<>ח, 5550
מקבל את הערך ח; באם 6 = ה
הוא מקבל את ערכו של משתנה
מערכת אחר (הקרוי 84/85ת) המונה
את המסגרות שהוצגו עד כה במסך,
וכך הוא אמור להיות אקראי למדי.
5 זואססאגת מופיעה כְ-פא54 על
לוח המקשים.
שגיאה 8 מתקבל באם ח אינו
בתחום ₪ עד 65535.
מגדירה את ערכי המשתנים בהתאם
לבטויים שברשימת ה-41, לפי אותו
הסדר.
שגיאה 6 -- באם בטוי הוא מסוג לא
מתאים.
שגיאה 5 -- באם ישנם יותר משתנים
מאשר בטויים ברשימת הָ-74כ.
..אפת
מתסדפעת
ח 10%2פטת
אפטופת
אסת
ת אעטת
]5
מא ] 5%
חח פאז ] 54%5
0 ] 5405
0 דגס ] 54
ח, וח 6005 ] 54/5
5 505558 ] 5
ללא כל השפעה. הָד'...' יכול להיות
כל סדרת תוים שהיא מלבד תפפדאם.
בסדרה זו יכולה להופיע-נקודותים (:)
ופסיקים (,) -- כך שהצהרות אינן
יכולות להופיע באותה שורה.
מקבילה לֶ-₪ 85ַ0דַ5מ8.
מחזירה את סמן ה-041 להצהרת
ה-414 הראשונה בשורה שמספרה
הינו לפחות ח: הצהרת 8540
הבאה תתחיל משם.
נוטלת יחוס להצהרה ממחסנית
8 00 וקופצת לאותה שורה.
שגיאה 7 מתקיימת כאשר אין
כל יחוס להצהרה במחסנית. קיימת
שגיאה בתכנית שלך; ההצהרות ,
8 60 אינן מאוזנות עם הצהרות
אתטדסת.
מקבילה לֶ-₪ אשת.
מבצעת 61545 ואחר ה 70 00.
שומרת את התכנית והמשתנים.
שומרת את התכנית והמשתנים, כך
שאם הם מוטענים למחשב -- תתקיים
קפיצה אוטומטית לתחילת התכנית
והיא מתחילה ל"רוץ".
שומרת את התכנית והמשתנים
שאם הם יוטענו למחשב -- תתקיים
קפיצה אוטומטית לשורה וח.
שומרת את המערך המספרי.
שומרת את מערך התוים 5.
שומרת ח בתים החל מכתובת וח.
מקבילה 6912-7, 16384 6005 ] 5405.
שומרת מידע על קטיטה, תוך
הקניית השם ] עבורה.
שגיאה באם ] ריק או
מכיל 11 או יותר תוים.
ראה בפרק 20.
17
|
צפןתם
18
עוצרת את התכנית עם דווח 9. פטאזדא60
יחדש את מרוצת התכנית החל מההצהרה
הבאה.
כמו במקרה של 1.040 מלבד העובדה
שהמידע אינו מוטען לֶ-א54 אלא מושווה
עם מה שכבר קיים שם.
שגיאה 8 באם אחת ההשוואות
מלמדת כי קיים שוני בין בתים.
- |
נספח כ: תוכניות-דוגמא :
נספח זה מכיל כמה תוכניות -- להדגמת יכולתו של וט 560 2%.
הראשונה בהן דורשת כקלט את התאריך, ומדפיסה כתגובה את היום בשבוע המתאים לתאריך זה.
ץ3 10 816 דוסשטח60 51 10
אססעצ 01 035 ₪1 :(45)7,6 ואוו 20
ח דשא :(ח)46 םח :7 סז 1=ח הס 30
5 חס 01 61705ח6! ואג :(12)חו ושוופ 40
ח דא :(ח)וח ₪50 :12 סז 1=ח 0₪] 50
6 זטסחו !₪1 100
ץְ3;'"?צְ4'" דוקאו 110
חזהסוח;''?ה+הסוח'* ד(וק)/| 120
זהּסץ;"?(ץ!חס וט1ח66 הז20) זב6ץ'' דטקצו 130
:"7 +23 15ו518 /זט1ח66 ה+20'' דאוחק אשוזד 1901>זבּסץ -ו! 140
9 סד 60
:2000 1 6005 עזט1ח66 הז20* דאוחק אשרוד 2000<זב63ץ -ז! 150
0 סד 60
0 ד 60 אשוזד 1>חזחסוח ! 160
0 )ד 00 אוד 12<חזחסוח :| 170
זהסץ 63| !ה :2(=29)ח דש | אהד 4(=0/ז63ץ) ד!--4/ז63ץ -ז! 180
;" ץ|חס 35ח הזחסוה פוחד'' דוק שרוד (ה+הסוה)וה<ץ03 =! 190
0 0ד 0300 :".5ץ63 ";(ח1חסוח)ות
0 סד 60 אםוזד 0<ץ63 :| 200
".1816 |68ז 8 6וח 6עוב) .56ח56חסה חב 1/טז5'* דאוחץ 210
0 70 60 220
וזח ]0 51871 66הו5 1875 !0 זסם והטח 10 0816 דוסטחס6 ואה 300
1- יזגתסץ=ץ דם | 310
זהסץ 01 5181 10 035 !0 זספחחטח וושה :(4/ץ) דאו+עץ*365=ם דש | 320
הסוח פטסועסזק חס 300 51 :1--חזהסוה סד 1=ה 0₪- 330
ח דא :(ה)וח+פ=ם דש | 340
ץ5+08פ=ם זם] 350
66%עע 01 ץ08 10 +זסטח60 ₪1 400
1 (7/ם) דא! *7--ם=ם דש | 410
זהסץ;"/'"; ח+הסוח;"/'';ץְ3 דוק 420
5 וחו!ו8ז1 6טסוה6ז ואה :1-- קם ז5 3 סז 6=ח 0₪- 430
90 ד 60 אםפוד " " <> (ח,45)5 :| 440
: ח דא 450
(ח 10 ,פ)65=06 דש ] 460
"ץ8" ;6% ;" 8 5 "דאוחץק 470
19
זט 0] 651076 1 :2(=28) דש ! 500
6 ,"?חבהּהָהּ'' ד(קא! 510
0 סד 660 אשווד "ח"=3% | 520
0 סד 60 אשווד "א'' <> 3% ]| 530
66%/ש ]0 435 ₪51 1000
"60065" , "65טד'' , "חסוא'' ה דכ 1010
"הט6" ,"זט581"' ,"וז ,'פזטחד'' דכ 1020
5זחסח ]0 8105ַח6! וג 1100
0 , ,28 ,31 הד 1110
1 + + הד 1120
התכנית הבאה מטפלת ביארדים, רגלים ואינצ'ים:
חו, "6057ח'" ,ו "16017 ץ, "?5 זהץ'* דטקאו 10
5 שפח זחוזק = :2000 508 60 40
;* = "' זאוחק 50
+הסוהז80[05 6ה+ החסה :0 508 60 70
65 30[051606 6ח+ +חוזכן 51 :2000 5108 60 80
דאוס 90
0 0ד 60 100
זס) החזס) |ההחזסה 6+ 0+ הו ,15 ,ץ 80[05% 0+ 6חוזטסזפט5 וג 1000
5 סחה 160% ,5סזפץ
5 חז 5 פַהוהזץזסטס עטסה ואשה :הו+0+12"1ץ*36=ה; דש | 1010
חן הזש אזסעט 6 ואשח :הו 85=הו ז₪] :הו 5=506₪ זש| 1030
5 חן חשו5 15 פַחוה!סח ,6צוו5סק
אס 8 חו שסח 51 :12*(*5--חו)=ח: דם.! :(12/ח:) דאו=1 דש ! 1060
אהטדפה :0ץ*5-3*₪=) דם | :3(*5)) דו=ץ דם.ו 1080
חו טח 1 ,ץ זחוז 0+ 6הוצטסזטט5 51 2000
אהטדפה :;"הו7;חו;"4;7;ץ;ץ דצוחק 2010
לפנינו תכנית המטילה מטבעות -- עבור משחק סיני הקרוי 'סאזס [':
םקוואספאהא 5
5שסזח+ 6 זס) וזח :6 סז 1=ח 03 10
0 0+ |1018 חו00 26ו!8ו)וחו = :6=0 דש | 20
5 3 זס) םה :3 סז 1=ח 0 30
(סאח*2) ז|+6=6+2 זם .| 40
ח דאשא 50
" דאוחק 60
זס) 20 ,הה8ז3א6ה העשסזח+ /- זס) 151 35 :2 סד 1=ח 03 70
+6 5
;"---'' דאוחק 80
;"-'' דטוחק אפחד 67 =| 90
;" " זאוחק אפוזד 6=8 :| 100
67 דש :;''א'' דאוחק אפוזד 6==6 =| 110
8 זם)] :;"0'' דאוחק אחוד 6==9 =| 120
100
;2" ---" דאוחק 130
ח דאפא 140
דאוחץ 150
5 דנקא! 160
צשא :ח דאפא 170
בדי להשתמש בה, הדפס והרץ אותה, ואחר לחץ על 58דא5 חמש פעמים כדי לקבל את שתי צורות הָ-
"מגן-דוד". בחן בספר המתאר משחקים סינים -- מהו הצעד הטוב ביותר שעליך לבצע. הקש פפדאם
בפעם השישית, והתכנית תמחוק את עצמה -- בכדי למנוע ממך -- מלהשתמש בה בקלות-ראש.
אנשים רבים חשים כי הטקסטים הולמים יותר מאשר ציפיותיהם על בסיס אמונה -- במזל; הדבר
עשוי או עלול שלא להתקיים בְּ"הגתזק5 2%. באופן כללי, מחשבים הנם יצורים חסרי כל אמונה.
משחק נוסף לפנינו -- משחק 'אוכל הנמלים' (חזוסקַחגק). חשוב על חיה כלשהיא והמחשב ינסה לנחש
מהי, בעזרת שאלות שהיא יציג לך -- הנתנות לתשובה כן אולא. באם הוא לא שמע מעודו על החיה
עליה חשבת, הוא יבקש ממך להציג שאלה בה יוכל הוא להשתמש בפעם הבא כדי לגלות באם
מישהוא אחר יחשוב על אותה חיה בעתיד.
5חו|ספחהכ ו₪=ה 5
5ווחה 6חה 5ח0וז65ט ]0 זסט וחטח !ה :100=ףח דש 10
(5)1ז וחום :(2,ח)3 ואופ :(0,50ח)5ף ווופ 15
8 ד )| 20
1 70 1=ח 08 30
(2,ח) ה :(1,ח)3 ₪5 :(ח)5ם = 40
ח דא5א 50
1 70 ה=ח 038 60
ח דאפא :(ח)5ף םגפה 70
פַחוצְהּ!כ +ז5+3 ה 100
".6טחזח60 10 ץ6א שח 655זק",".!ה הווחה חב 01 אהוחד'' דאוגץ 110
0 55!\ק 120
הסוז65ט 151 הזועע 5131 ואה :6=1 דש ]| 130
0 סד 60 אםוזד 6,1(=0) ]| 140
0 5008 60 :(058=05)0 דם ] 150
0 58 00 :"?* דא|וחק 160
0 סד 60 אשד "ץ''=8ז ;| :1=חו זם | 170
0 ד 60 אשד "צ''=5ז ]| 180
0 ד 60 אשד "ה''=5ז | :2=חו דם! 190
9 0ד 60 אשוזד "א''<>8ז ]| 200
0 70 60 :(חו,6=3)0 דם.! 210
|וחוחה !ה 300
"טס טַחואהוח1 טסץ 6זג' דאוחץ 310
"?י! דא|גץק :900 508 60 :(5=05)0כ דם | 320
0 508 60 330
0 סד 60 אחוד "ץ''=5ז ]| 340
0 סד 60 אםוזד "צ''=5ז זו 350
0 סד 60 אשד "ח''=%ז ]| 360
0 סד 60 אפווד "א''=5ז ז| 370
11
4
0 :".טסץ 10 9ח31+'','וח'! הסה/עע ץ!זסקסזכן 6 זסעט5חה** דוה 380
0 סד
| 65500 5 400
60 ד 60 :".חסטוח 35 זחפטסח+ |'* דאוחהץ 410
|ההווחהּ שפח וח 500
,' סט 5 |הוחוח3 זטסץ 6זט5 וי" דאוחץ אשוזד 1--ףה<זם זו 510
0 ד 60 :''.ששסח זפטן 1 זס) הוססז'', "בח 1'ח40 | טס ,ח/651ז67זחו'*
!הווחה 0!0 6טסוח != :(05)00(=05)0 דש | 520
(05)01+1 ד(ק!,: "?ח6ה+ ,א 5ו זהח/צ'' דטוחק 530
5ו'-1151) חסוחהעט ה00וז65ט 3 6 ו!6די* דאוהץ 540
" ה66/שז₪6
"חהג " דאוהק :900 5108 60 :(/05)0=%כ דש !| 550
" י' דאוהץ :900 5008 00 :(0%=05)01+1 זם .| 560
6 אש |=ם דש | :56 דוקאו 570
= /1-ם=ם ד₪! אשוזד "7''=(פ)55 :| 580
חהסוז65ט 1ו56ח; ₪1 :(ם 5%)10=(ס)5 דם | 590
"זס) זסעטפחה 6ח1 5ו +הח/צ'* דצוחץ 600
"?' דאוחץ :900 508 60 :(0%=05)01+1 זם! 610
620 60 58 0
5וחה 010 6ח3 עשסח זס] פזסעשפחג ₪51 :0=2ו דם | :1=חו דש | 630
0 0ד 60 אםוזד "ץ''=8ז ]| 640
0 סד 60 אשווד "צ''=8ז ]| 650
1=סו דם] :2=חו זם ! 660
0 ד 0 אשו]ד '"ח''=8ז ]| 670
0 ד 60 אשוזד "א''=58ז ]| 680
0 10 60 :" .6004 סח פ'זהחד'* דאוחק 690
פה 316 קט ₪1 700
= (סו,3)6 דם | :₪1+1=(ח,6)ּ ד= | 710
6 !4חווח3 66ז] +א6ח וה :2+)1=0 דש.] 720
".6 100166 +החד'' דצזוהץ 730
3037 ואה 800
0 58 60 :"07 זסחזסח3 זההּעט טסץ סם'" דטווק 810
0 ד 60 אסחוד "ץ'"=6ז ]| 820
0 0ד 60 אשד "צ''=6ז ]| 830
ץד 840
5 0חו!והז+ +טסח1/עע +חוזק ₪1 900
. ;" *" זאוחק 905
1- קםז5 1 0ד 50=ח 08 910
0 סד 60 אפוזד " "<> (הח)%כ ]| 920
12
ח דאפא 930
אהטדפח :;(ח סד)5כ דטוגוש 940
ץוקפז 061 ו₪=ה 1000
אהטדפח אפווד ""=5:ז =! :16 דטקטו 1010
אהטזפה :(5=5)1ז זם.! 1020
5הוחה |8)וח; = 2000
2 פחץ1 חו פצו! ₪ 65סס'' דכ 2010
5 5 5|'' ד 2020
7 8 זו 0065'' ד 2030
"זחהּ חב" , "חו!סשַחבּכ ב" ,"ףח ההסחג! ג" , !העט בּ'' דה 2040
התכנית הבאה משרטטת את הדגל הבריטי:
חסוחט ו 5
1=ם ז₪ )| :7=ש ז₪] :2=ז דש ! 10
5 :שש אצ| :ם השק :0 הםסח 0 20
ח66ז50 ]0 והסזזספ חו א36!ם ואםח 30
1 40
8 57 0 0 40=ח 0₪] 50
0 ;ג שוהחס :ה,0;7 חםקהץ דס וק 60
0 55הם/א! :ח דאשא 70
5 סזוח/ט חן הז !ה 100
6 .51 !ושח 105
7 = 08 110
5 0 :175,ה+104 ד0!ץ 120
5 ש% כ :175,ח--151 ד0 וק 130
5 ה :48,ח--151 ז0 !ק 140
5 חס :48,ח+104 דס וק 150
ח דא₪א 160
1 0ד 0=ח 08 200
0 שח :ח-0,139 ד10ק 210
0-ָ 2% :ח-255,139 ד0 |? 220
0-ָ 0% :הח+255,84 ד0 1 230
0 שח :ח+0,84 ד0 1 240
הח דאםא 250
עש6זח .5% 51 300
5 0 0=ח 0% 310
0 /\: :ח-175,ח*1+2 ד 0 | 320
0 ו :הח-175,ח*2--224 ד0 וק 330
0- ₪ :ח+48,ח*2--254 ד0 וק 340
0 / :הח+48,ח*17+2 דס1ק 350
ח דא=א 360
9 70 0=ח 08 370
3
0 0/4 :הח+140,ח*185+2 דס וק 380
0 0% :ח-83,ח*200+2 ד0 |ק 390
0 0 :ח-83,ח"2--39 ד0 וק 400
0- ה :ה+140,ח"2--54 ד0 1ק 410
ח ד%א=₪ 420
5 8ז1א6 חו |וו1 ₪5 425
5 0ד 0=ח 03 430
0- ת*2 /� :ח+255,160 ד100ק 440
0,ח*31-2 )0 :ח-0,63 ד0 1 450
ח דא 460
470 0 7
0,ח*2--14 )0 :ח+0,160 ד0 | 480
0 "2 / :ח-255,63 ד00 !₪ 485
ח ד%א₪5 490
5 6פז ומח 500
1 ה /צאו 510
06 .5 !ג 520
8 7 120 10 96=ח 0₪= 530
0: תשקה שוהחס :ה,7;ז ה=קגץ דס וק 540
ח דא 550
8 5 136 0 112=ח 0₪= 560
3 הסםקהגקץ שוחכ :168,ח;ז השק הק דסי וק 570
ח דא 580
א6וז3 .51 1א₪5 600
5 ז בק חס :170,140;ז השק ק דס וק 610
5 בק חס :179,140;ז הםקהק דס וק 620
8-,56;ז ₪=ק הק ומכ :199,83;ז השק הק דס וק 630
5 ההק ששח :184,83;ז ה=ק הק דס ו 640
5--- נק;ז 53 /\הח; :86,83;ז השקב זדס וק 650
5--- -- זז הק שהחס :72,83;ז ה=ק בש דסוק 660
8- זז ג חס :56,140;ז שק הק דס.וק 679
5- זז שג שוהחס :71,140;ז הק הק זס וק 680
7 אאו :0 5₪קק :0 355ש/צ| 690
באם אינך בריטי, נסה לצייר את דגלך. דגלים בעלי 3 פטים בצבעים שונים קלים מאד לביצוע, למרות
שכמה מן הצבעים -- כגון הכתום בדגל האירי -- עלולים לסבך מעט את התכנית. באם אתה
אמריקאי, תוכל להעזר בתו *.
לפנינו תכנית -- 'התלין' (חגוְחפַהג3) בה שחקן אחד אחד מכניס מילה והשני מנסה לנחש מהי.
חההוהשחהה3] ו=ג 5
ח66ז50 קט 561 ואג 10
5 :7 הק :0 אאו 20
חהוח שוהז0 51 :1000 5108 030 :240=א דש | 30
164
הזטסוח וה :4,0 וכ :238,128 דס וק 40
0זסעצ קט 561 51 100
5 70 שזסעשט ₪1 :6צש דטקא! 110
" "=9צ דם] :6 אם.]=ם זם | 120
" "+6ט=%ע זם )| :ם8 סז 2=ח 0₪= 130
זה8) 50 0065500 0זסעש=6ע וה :ה דאפא 140
005 6א518וו 8 655 1 :6=0 דם] :6=0 דש! 150
1 0ד 6=ח 03 160
;"-";ח,20 ד דאוחק 170
5 ]0 510806ח/ 5'- 6זוזעש 351 :הח דאשא 180
5" ::ז6116! 8 ₪655" ד()קא| 200
0 סד 60 מפוד '""=695 =! 210
ץוחס ז6זז6! +15 ואה :(05=95)1 דם 1 220
5 ,77 דאואץ 230
8=66ט 157 :6=6+1 דש .] 240
0זסעט 065560 6זהסקט וח :ם סד 1=ח 0 250
65 ח)9ע ד₪ | אםוזד 9%=(ח)פצש ]| 260
ח דאא 270
6 ג דאוהץ 280
0 צשזסעעט וה :500 סד 60 אפוזד 5ש=9צ | 290
וז 5ה/ש 0655 ₪1 :200 סד 60 אשווד 6ט<>6ט | 300
5שסו!|3ף 01 זזה זא6ח עצבּז וא 400
שפח וה :600 סד 60 אשחוד 4=8 ז! 410
1 דם.] 420
ץ,א,0ץ,0א< 530ח 430
ץ,א חס :0ץ,0א זס וק 440
0 0ד 00 450
חהוח 66:ז) = 500
חהחח זטס פטז ו%₪=ה :1 0/5 510
0 58 60 :240=א דם .| 520
חזטסוח וא=ג :4,0 0% :238,128 ד !ק 530
הוח עשבז60ז ₪51 :0 0/5 540
0 5/8 60 :146=א דש ] 550
6 | :2/2 ,6,0 גכ :143,129 ד !| 560
0 0ד 60 570
חו הַחהּח וא 600
זסס!! +טס פטז = :1 הם 0 610
0- ב :255,65 ז0 1 620
זססכ3ּז1 הסכס וה :48--,0 עס 630
הטסו +טס פטז = :4,0 שהחכ :238,128 דס וק 640
5חו! 6טסוח ₪51 650
פוחזה ₪51 655
5- שח :15-,15-- חס :255,117 זס וש 660
0 0 670
1 /% :4,21 שוח :236,81 ד10ק 680
15
6
5 ו :1 ה0/5 690
5- 04% :15,15-- /ח0 :255,66 ד10ק 700
0 םס 710
1 שח :4,21 חס :236,60 דס!: 720
העשסז) ₪1 :2/ש-- ,6,060 הגס :237,127 דסוש 730
19,0;6 ד דטוחק 740
6 ;" ?חוההּחָ3ּ'" ד(וקאן 800
0 סד 60 אםחד '"'"=46 :| 810
(3%=86)1 ד₪.| 820
ד אשוזד '"'ה"=36 -| 830
קסד5 אפוזד "א''=(35)1 ]| 840
5 סד 60 : 557085 850
א חוחט!60 31 חח עבּז4 ₪51 1000
ו 1010
8= !0 1020
1 ד0 )1 :4,134--א ד0 1 :4,134+א ד0 וק 1030
ץמ ₪51 1040
0 + :123,א ד0 1 1050
9 + :101,א ד0 1 1055
5 ו 1060
5 ששח :15,15 /\ :15,66--א ד0 1 1070
פוחזג3ּ ₪5 1080
5 + :15-,15 א\חכ :15,117--א< דס 1 1090
את דשח 1100
1 /7 ד 07 2000
56 ,ד 2010
6,,,, ,ד 2020
6 37/7 ד 0 2030
נספח א: מספרים בינאריים
והקסדצימליים :
נספח זה מתאר כיצד מחשבים-מונים, בעזרת המערכת הבינארית.
רוב השפות -- מונות באופן פחות או יותר זהה -- בעזרת תבניות של סו; כך לדוגמא מתקיים -
עשרים, עשרים ואחד, עשרים ושניים, ..., עשרים ותשע שלושים, שלושים ואחד, שלושים ושניים, ...,
שלושים ותשע ארבעים, ארבעים ואחד, ארבעים ושניים, ..., ארבעים ותשע.
וכך הלאה. בכל אופן, הסיבה היחידה לשימוש בסו כתבנית קשורה בעובדה שבידינו 10 אצבעות.
במקום להשתמש במערכת העשרונית -- שבסיסה 10, המחשבים משתמשים בצורה בינארית
מסוימת הנקראת הקסאדצימלית -- שבסיסה 16. מאחר ובבסיס העשרוני מוגדרות רק 10 ספרות,
עלינו להגדיר למערכת ההקסאדצימלית 6 ספרות נוספות. נשתמש באותיות א, 8, 0, ס, 5 נֶם.
מה קיים לאחר ?? כשם שאנו, בעזרת עשרת אצבעותינו, רושמים 16 במשמעות עשר -- המחשבים
רושמים גם הם 1₪ אלא במשמעות שש-עשרה. המערכת המספרית שלהם הינה:
המספר: יצוג הקסדצימלי:
אפס . 9
אחד 1
שנים 2
תשע 9
בדומה למערכת לה אנו רגילים, אך בהמשך:
עשר 4
אחד-עשר 8
שנים-עשר 6
שלושה-עשר פ
ארבעה-עשר 5
חמשה"עשר 5
ששה-עשר 9ו
שבעה-עשר 1
עשרים וחמש פו
עשרים ושש גו
עשרים ושבע 8
עשרים ואחד סו
שלושים ושנים 20
17
שלושים ושלוש 21
מאה חמישים ושמונה מפ
מאה חמישים ותשע שפ
מאה וששים 46
מאה ששים ואחד וג
מאה ושמונים 4
מאתיים חמישים וארבע 6
מאתיים חמישים וחמש א
מאתיים חמישים ושש ששו
באם אתה משתמש ברישום הקסדצימלי וברצונך להגדיר בפשטות עובדה זו, רשום ז -- בסופו של כל
מספר. לדוגמא-עבור -- מאה חמישים ושמונה בהקסרצימלי רשום: 8 98.
לבטח אינך רואה מה הקשר של הרישום ההקסדצימלי למחשבים. למעשה, מחשבים מתנהגים כאילו
היו ברשותם רק שתי ספרות -- המיוצגות ע"י מתח-נמוך או ]0 -- לא פעיל (ש), ומתח-גבוה או חסד
פעיל (1). זוהי המערכת הבינארית, ושתי ספרות הבינאריות קרויות ביטים (9ו1פ): אם-כך, ביט הוא ₪ או
1
במערכות השונות מתקיים:
המספר יצוג-עשרוני יצוג הקסדצימלו יצוג בינארי
אפס 2 2 8 או 6
אחד 1 1 ושש0 או ו
שנים 2 2 שושש או 16
שלושה 3 3 וושש או וו
ארבעה 4 4 ששוש או ששו
חמשה 5 5 ושוס או ושו
ששה 6 6 שווש או שוו
שבעה 7 7 וווש או ווו
שמונה 8 8 שששו
תשעה פַ 9 וששו
עשרה שו 4 שושו
אחד-עשר וו 8 וושו
שנים-עשר 12 6 ששוו
שלושה-עשר 13 פ ושוו
ארבעה-עשר 14 מ שווו
חמשה-עשר 5 ב וווו
ששה-עשר 16 שו שו
הנקודה החשובה היא שש-עשרה שווה לשנים בחזקת ארבע, והיא מפשטת את המעבר מהבסיט
הבינארי לבסיס ההקסדצימלי ולהפך-בקלות רבה.
כדי לתרגם מספר הקסדצימלי לבינארי, החלף כל ספרה הקסדצימלית במספר הבינארי המתאים --
בן ארבעה ביטים, בעזרת הטבלה שלמעלה.
כדי לתרגם מספר בינארי להקסדצימלי, חלק את המספר הבינארי לקבוצות בנות 4 ביטים, החל מצדו
הימני של המספר ואחר-תרגם כל קבוצה לטפרה ההקטדצימלית המתאימה.
18
פוש ש-***ּ[ּ[/ /פכ מ
מסיבה זו, למרות שלמעשה המחשבים עצמם מדברים בשפה הבינארית, אנשים רושמים בדרך כלל
את המטפרים האגורים בזכרון ברישום הקסדצימלי. ,
הביטים מקובצים, בדרך כלל, בקבוצות בנות 8 ביטים, הקרויו בתים (66ז8). בית בודד יכול לייצג מספר
מִ-ש וד מאתים חמישים וחמש (11111111 בבינארי או + בהקסרצימלי), או לחלופין כל תו מאוסף
התוים של - וחטזו6ק5 2%. ערכו נתן לרשום בעזרת שתי ספרות הקסדצימליות.
נתן לחבר 2 בתים יחד כדי ליצור -- *מילה" (6ז0/). המילה מורכבת מְ-16 ביטים או 4 ספרות
הקטדצימליות והיא מייצגת מספר בתחום ₪ עד המטפר העשרוני 65535 = ו-- 215. :
בית כולל תמיד 8 ביטים אולם מילה יכולה להיות באורך שונה -- עבור מחשבים שונים.
הסימון אזפ שהתכר בפרק 14 הוא אמצעי לרישום מספרים בקוד בינארי בְ"ותט560 <2: 6 יאזפי
מייצג אפס, '1 א[פ' מייצג ו, '16 א[פ' מייצג 2 בבסיס עשר, וכך הלאה.
אתה רשאי להשתמש רק בֶ-ש או 1 כך שהמספר חייב להיות מספר שלם-חיובי; כדוגמא, אינך יכול
לרשום "81-11" עבור הערך העשרוני 3--, עליך לרשום במקום זאת '11 א81--'. המספר חייב להיות
קטן מהמספר העשרוני 65535, דהיינו אינו יכול להכיל יותר מִ-16 ביטים.
1 הינה למעשה בינארית. באם תתרגם את התוצאה מִ-תד4 לקוד בינארי תוכל לרשמה בשמונה
ביטים.
הראשון הינו 1 עבור הבהוב ו עבור יציב (חוסר-הבהוב) השני הינו 1 עבור בהירות גבוהה ₪7
לבהירות רגילה. השלושה הבאים בתור הם הקוד הבינארי של צבע היניר' השלושה האחרונים הם
הקוד הבינארי של צבע הידיו'.
קודי"הצבעים מוגדרים גם הם כקודים בינאריים: כל קוד, כשהוא מופיע בערכו הבינארי, מורכב
משלושה ביטים שהראשון בהם מייצג את הצבע הירוק, השני את האדום והשלישי את הכחול.
שחור אינו מכיל צבעים כלשהם ולכן כל הביטים בקוד המתאים לו הם 6 0/0 - לא
פעילים) -- והקוד הוא 066.
הצבעים הבסיסיים -- ירוק אדום וכחול כוללים רק ביט אחד שערכו 1 (תסרפעיל) מבין השלושה.
קודיהם הנם 6שו, ש1ש, וְדושש בבינארי או בהתאמה 4 2, וְ-ו1 בבסיס עשר.
שאר הצבעים הנט תוצאה מערבוב צבעי יסוד, ולכן הם מכילים שני ביטים בערך 1 או אף שלושה.
19