- שנה: 1974
- מחבר: ראובן אמיר
- מו"ל: מכון וייצמן למדע
- פורמט: מאמר
- נמסר ע"י: עזבון סא"ל יצחק (איצ'ה) מאירי
- תגיות:
OCR (הסבר)
רה רה - 0-6
2 > יו . --. ה /- רקוי שה ,
8 מחשבים,
9
%
שפות תיכנות -=
מאת ראובן אמיר
אחת ההתפתחויות בשטח
המחשבים שהרחיבה בצורה ניכרת
את הקף שימושם, היתה פיתוח
שיטת הפעלה הנקראת "שתף-
זמן" (8תוזבח5 6ותגז'). העבודה
בשיטה זו נעשית באמצעות
מסופים (עשרות או מאות)
הקשורים טלפונית למחשב וכל
משתמש פועל באילו עמד המחשב
רק לרשותו. עם התפשטות
העבודה ב"שתף-זמןץ" הופיעו
שפות-תיכנות מותאמות במיוחד
לעבודה בשיטה זו. אחת מאלה
היא שפת ה-,21ג ( "<תנותותגזקסז? 34
16" ). שפה זו קלה לשימוש, '
מצטיינת בתמציתיות רבה
ומתאימה למיגווז רחב של
וושומים --- החל בפיתרון בעיות
מדעיות וכלה בהוראת מקצועות
שונים בבתי-ספר תיכוניים.
ראובן אמזר הוא בוגר הטכניון בחיפה שבו קיבל
תואר .1.506 (1956) ו-.71.50 (1960) בהנדסת-
מזם. עבד בחברת תיכנון-המים לישראל, בה ניהל
את המחלקה לסטאטיסטיקה ומתימטזקה שימושית.
ב-1967 קיבל תואר דוקטור באתיברסיטת סטנ-
פורד, קאליפורגיה ; נושא עבודתו הזה וישום חקר-
ביצועים להנדסת משאבי-מזם. עתה הוא עובר
ב-יב.מ. ישראל, עוסק בשתף-זמן ובשיטות קלט
נתונים.
' ' על-אף הצרות הרבות שהביאה לעולם הקירמה
; הטכנולוגית, יש מקום לגאחזה ולסיפוק כאשר אנו
מצליחים לפענח עוד ופן'של הטפע או לרתום
עוד אחר מכוחותיו;לשירות האנושות. בין הצעדים
המהווים את ההתקדמות המדעית .והטכנית יש
גם כאלה שאין להם כל קָשר לעולם הסובב אותנו ג'
אין הם אלא פותרונות, לבעיות שאנחנו בעצמנו ,
" קעו מחשבה ומרץ רבים, לפישוט ולקיצור התה-
יצרנו . במקרים אלה, יהא, ההשג יהאינטלקטואלי
+ .מרשים' ככל:שיהיה,: מלוזה הרגשת הסופוק בצח-,
קוקיו של שדון ערמומי, הקורץ ומלחש שאין מה
להתגאות כאן, פשוט.לא היה צריך ולהמציא
את הבעוה..1 79 2054 9
כיום, עם כל. המיטָען. הכבר. של הכלים לאירגון-
מידע שנוצרו -סביבו, , הוא, פרִי: רוחו של האדם ;
ללא-ספק., השג אינטלקטוָאלי כביר. אך. הסתבר,
בשלב די מוקדם של פיתוח המחשבים, שהצלחֶתנו
המסחררת הביאה. בכנפיָה, גם בעיה חמורה: זו
של התקשורת עם יציר-כפינו. כידוע, כל מה
שמתרחש. במחשב המסובך ביותר הוא *פשוט-
זרמים ארירים של מיליארדי סיביות (ספרות בינ-
אריות), רהיינו, מצבים של *אחרז* או *אפסי,
המפוּקדים ע"י סיביות נוספות, נעים בסדר ומישטר
מפליאים וּמְביאֶיִם, לבסנף לתוצאה" הרצויה לננ. "
בשלבי הפיתוח הראשונים;: של המחשבים "לא
היתה כל ררך לשלוח את הסיביות הללו לדרכן
אלא באמצעות סיביות שהכניס האדם למחשב.
עדיין וכורים לרבים הימים בהם הוזן המחשב
מדפסת/מקלדת יב*מ 3767.
הראשון שניבנה במכון ויצמן בסרט-נייר ארוך,
שבו סימל נקב במקום מסוים את הסיפרה 1 והעדר
נקב אֶת הסיפרה ס'; כל בקשה שהופנתה אל המ-
חשב חייבת היתה לעבור קודם תרגום לסידרה
.של . ספרות בינאריות, שהוזנה לתוכו באמצעות
סרט כזה:-בשל הצורך בתהגום הנתונים לשפת-
המחשב היה השמוש מסורבל ואיטי. לפיכך הוש-
ליך; המחשב עצמו נרתם לתפקיר של תרגום
הוראותינו לזרם סיביוּת, וכך נולד: הרעיון של
*שפת תיכנות*,' רהיינו: "שפה המובנת הן לארם
. * מן-השורה והן למחשב.
הנה, למשל, המחשב כפי שאנומכירים אותו '
במשך השנים נכתבו שפות-תיכנות רבות, למט-
רות שונות, <כמו אסמבלר (זט!פוח45%6/), שהיא
> שפה הקרובה במיבנה שלה למיבנה שפת-הסיביות
שהוזכרה לעיל ; ,020023001 -- שפה לעיבוד-נתונים
מסחרי;, א4 1:)818 -- שפה הנוחה לביצוע חי-
שובים הנדסיים ומדעיים ; 1'1,/1 -- שפה טובה למד-
ענים ולמעבדי-נתונים גם יחד ; 1.15% -- שפה לבי-
צוע פעולות באלמנטים סימבוליים ; וכן שפות אח-
רות רוגמת .41.0001/ ,.5%60081 ועוד כהנה וכ-
וכהנה. השיפור ביעילות התקשורת עם המחשב
עקב הכנסתן לשימוש של שפות אלה היה מהפכני.
שפת ה- 108188 למשל פתחה את הדרך
לניצול. בקנה מידה נרחב של המחשב ע-י המהנ-
דסים למיניהס. הסטאטיסטיקאים. המתימטיקאים-
השימושיים ואחרים. השימוש בשפות החדשות לא
היה נטול בעיות ומיגבלות. אך ההלם הראשוני,
*מרע* ידט 4-3, 1974/5 | 175
שבא עם השימוש בעוצמה הגלומה במחשבים,
מילא את המשתמשים בהערצה, שחיפתה על
הפגמים השונים שבשפות אלה.
כיצד מתגברים על פגמים ?
ה"ארכיטקטורה* של מחשבים הכתיבה דפוטים
מסוימים לגבי הצעדים שיש לנקוט כדי לבצע
את השלבים הדרושים לקבלת התוצאה המבו-
קשת, כלומרר-- מה שקרוי עתה *תוכנית-מחשב".
על-אף העובדה שמפתחי השפות השונות הציבו
לעצמם כמטרה את הפחתת המאמץ התיכנותי
הדרוש, אין רוב השפות נקיות מתוספות והגב-
לות, שהן מלאכותיות לחלוטין מנקודת ראותו של
המשתמש. אך הן משקפות את צורת-הפעולה
הפיסית של מחשב. השימוש בשפות רבות אף
כרוך בקיום כללים שרירותיים, שמטרתם להקל
על פעולת התרגום משפת-התיכנות לשפת-המכו-
נה ולקצר את זמן הביצוע של התוכנית. לדוגמה,
יש שפות שבהן חייב המתכנת לציין מראש האם
מישתנה מטוים מייצג מיספר שלם או שבר עש-
רוני; וכן, כאשר רוצה המתכנת לבנות טבלות
שונות, הוא חייב,. במעט ללא יוצא-מן-הכלל,
לקבוע בראש התוכנית את ממדי הטבלה, למרות
שגודל זה בעצם איננו ידוע מראש. לא-פעם מח-
טיא המתכנת בניחושו, ונתוניו נולשים מן הטב-
לה, או שנשאר בה מקום בלתי-מנוצל.
כל-עוד היתה ידיעת התיכנות בעיקר נחלת
מקצוענים. שהתייחסו לכללים מן הטוג שמנינו
לעיל כאל סודות מקצועיים, לא היה לחץ חזק
לשינויים. אולם, לפני שנים אחדות התחוללה .
מהפכה ששינתה את פני הדברים תכלית שינוי.
הכוונה למיזוג שחל בין שתי טכנולוגיות אשר
הטביעו את חותמן על הדור: מחשבים ותקשורת.
אחד מצאצאי מיזוג זה היא שיטת-עבודה במחשב
הנקראת שתף-זמן (אַח808 6וחוד), להלן שז*מ
(1/5'). מחשב שעליו מופעל שז*מ מאפשר למש-
תמשים רבים, היכולים להימצא בכל מקום שממנו
אפשר ל"טלפן* למחשב, להתקשר אליו דרך קווי-
טלפון רגילים ולשוחח איתו באמצעות מסופים
(9|התווחז6!). המסופים הם מכונות-כתיבה או
מסכי-טלווזיה עם מקלדת (%6/508:6) הקשו-
רים טלפונית למחשב, וכל משתמש חי בהרגשה
שמסופו הוא מחשב פרטי שלו לכל-דבר. שז"מ
התפשט במהירות. תחילה באוניברסיטות ואח*ב
בשירות לציבור הרחב, כמעט בכל מדינות העולם,
וושראל בכלל-זה. אצלנו נמצאים עדיין מרבית
המשתמשים בשז-מ בין כותלי האוניברסיטות
עקב התפתחות זו, גדל תוך זמן קצר מיספר
המשתמשים במחשב כמה מונים ; ובין המשתמשים
החדשים היו עתה רבים שהמחשב איננו עיסוקם
העיקרי אלא מכשיר-עזר, לפיתרון בעיותיהם בת-
חומים רבים ומגוונים. אלה התייחסו בהרבה פחות
סובלנות לספיחים המלאכותיים בשפות השונות.
יש לזכור שבעת עבודה ב-שז*מ החיטכון במיספר
ההקשות הדרוש להחדרת רעיון מסוים למוחו של
המחשב הוא חיוני: ראשית, רוב המשתמשים אינם
כתבניות מקצועיות, ושנית,. זמן הוא כסף.
על רקע זה נוצרה שפה חדשה, השונה בתפיש-
תה לחלוטין מכל שפות-התיכנות הקודמות, נקיה
מכל סוג של תקורה (0636ז0%6) המסרבלת
שפות אחרות (פקודות כגון ,חוק6ל ,תסו5ה6וחו6
]חח 0] ,ק3)0 ,6ח6 ,6ז660|3), קלה ללימוד ועם-
זאת מתאימה ליישומים מתוחכמים ביותר. העיקרון
שהינחה את ממציאה היה שלא להטיל כל מיגב-
16 *מדע* יט 4-3, 1974/5
לות וכללים שרירותיים על המשתמש. המדובר
בשפת ה-,421 (ראשי תיבות של -חגזטטז? 3%
6 פַחוז), אשר ראתה את אור העולם
כתיזת הדוקטור של ק"א איוורסון (חספזטץ]),
באוניברסיטת הארחארד, ארה*ב. בשנת 1962.
מטרתו העיקרית של אייחרסון בעת פיתוח השפה
היתה לאו-דווקה תקשורת עם מחשבים אלא יצי-
רת כלי שבעזרתו אפשר להגדיר בצורה מדויקת
וחד-משמעית תהליכים לעיבוד מידע (*אלגורית-
מים*), החל מהפשוטים-יחסית, כמו פיתרון של
משוואה ריבועית או מציאת מחלק משותף גדול
ביותר, וכלה בתהליכים חישוביים מורכבים ביותר.
עם כל תכונותיה הטובות, אפשר להניח שיצירה
זו לא היתה זוכה לפירסומה הרחב לולא הפכוה
אייוורסון ועמיתיו. במרכז-המחקר של חברת י.ב.מ
ביורקטאון הייטס, לשפת-תיכנות למחשבים. זמן
קצר לאחר גיבוש גירסתה הראשונה
השפה קנתה לה חסידים ברחבי-העולם והאימרה
הנפוצה היא שאת ,421 אין לומדים, ב-,3421
נדבקים ! ומעניין שעתה, כאשר למעשה כל המש-
תמשים ב-,41 הכירו שפה זו באמצעות המחשב.,
נסגר המעגל חזרה לרעיונו הראשון של אייחרסון
והולכת ומשתרשת הדיעה ש-,421 יכולה לשמש
ככלי-תקשורת מצוין לא-רק בין אדם למחשב
אלא גם בין אדם לאדם : להגדרת מערכות תוכנה
(0ז50/103), להגדרת אופן פעולתו של מחשב
וכן בחינוך, כאמצעי להקניית הרגלי-חשיבה ובי-
טוי מדויקים
,זעג על רגל אחת
על הקורא לתאר לעצמו שהוא יושב ליד המ-
סוף דמוי מכונת-הכתיבה, מחייג אל המחשב
בטלפון ומתקתק על המסוף את הצופן. דהיינו:
מיספר המשתמש שלו.
כיצד מתנהלת *שיחה* בין המסוף והמחשב?
השאלה המופנית למחשב מודפסת על המסוף
מימין לשמאל. תשובת המחשב ניתנת סמוך לשו-
ליים, משמאל.
להלן כמה דוגמות פשוטות :
המשתמש מדפיס: 12 א 2 +2ו (ו)
והמחשב עונה : 6
ואם נתקתק : 5 + 4 * 3 (2)
נקבל כתשובה: 07
לא, אין כאן טעות בחשבון; אין הירארכיה של
פעולות חשבון ב-,41, והפעולות מתבצעות לפי
הסרר, 'מימין לשמאל.
אך אם נדפיס: 5 + (4 *31) (3)
נקבל : 7ו
הואיל והוספנו סוגריים, שפירושם -- המכפלה
קודמת.
בכל אחת מן הדוגמות שלעיל חישבנו את
ערכו של ביטוי בודד:; באותה קלות ניתן גם
לחשב, כביכול בעת ובעונה אחת, את הערכים
של ביטויים אחדים. לדוגמה, נניח שאנו רוצים
לחשב ב*"מכה אחת* 53, ?2ו ו-*2; נעשה זאת
ע-י כ שנדפיס במטוף :
)4( 1 12 5 * 4 2 3
והתשובה תהיה: 5 144 16
הכוכבית מסמנת העלאה בחזקה; משמאלה רשו-
מים המספרים 2, 2ו, ו-5. שאותם יש להעלות
בחזקה, ואילו מימין לכוכבית נכתבו המעריכים
המתאימים.
קבוצות מיספרים כמו 5. 12,
ראות בעגה המתימטית
: או 3 2 4 נק:
*וקטורים* והמיספרים
המהזים את הקבוצה נקראים -רכיבים* (אלמנ-
טים). כפי שראינו בדוגמות דלעיל. ההפרדה בין
רכיבי וקטור נעשית באמצעות רחח
הפעולה שבוצעה לעיל היא דוגמה פשוטה
ליכולתה של ,4.1 לבצע פעולות במקביל. צורה
פרימיטיבית זו של מקבילית קיימת גם בשפות-
מחשב אחרות כמו 21/1 ו-24510 לשם הש-
חאה, להלן תכנית בשפת פורטראן המבצעה את
הפעולות בדוגמה (4) עם הסברים לפקודות המ-
הוזת את התוכנית
הקצאת מקום בזיכרון של המחשב ל-3
וקטורים בני 3 רכיבים כל אחד:
(3)ו ,(3).] .(3)א אא או
פקודה למחשב לקרוא את
הווקטורים 4 ו-]:
הערכים של
,א (1.5) אסא
פקודה המצינת שערכי הרכיבים שייקראו
יופיעו בשדות באורך 8 תוזים כל אחד. 6
שדות לשורה ; 00760
הוראה לבצע 3 פעמים את פקודה מס'
3 2 0
העלאה של (1)% בחזקת (1.)1 ואיחסון
התוצאה בשם (!) %1:
6)(* *0(
פקודה להדפסת התוצאות: א (1.6) םךןא או
2
1
> )א 2
ו
סאת
פקודות המציינות את סיום התוכנית :
נחזור ל-,4./1. וקטור המכיל רכיבים אחדים
ניתן לציין בסימן יחיד, הנקרא מישתנה. למשל:
5 4 3 --3 (5)
את הערך 5 4 3 ייצג מעתה המשתנה /. המערכת
רשמה לפניה אוטומאטית שהמישתנה 4 בא במ-
קום וקטור של שלושה רכיבים מיספריים. המ
אינו משיב דבר הואיל ולא נתבקש לכך %
כמו בשפות-תיכנות אחרות, ניתן גם ב-,421
לבצע פעולות לא רק על מיספרים אלא גם על
אותיות :
]אסקאסטשטסי -> 2 (6)
המישתנה 4 מייצג עתה וקטור של אותיות בעל 8
רכיבים. בשום מקום אין צורך לציין מראש את
אורך החקטור או את סוג הרכיבים שבו. להיפך.
קיימת פעולה המסומנת באות היחנית רו (ק)
שבאמצעותה אפשר להיחדע מה מיספר הרכי-
בים בוזקטור 4 :
לשאלה: 4 ס (7)
תתקבל התשובה 8
בקשה להדפסת ערכו של מישתנה מתבצעת תוך
הדפסת שמו:
אם נדפיס במסוף: 4 (8)
תתקבל במקרה התשובה: עתא0ץא6שטס
ב-,41, פעולות החיבור. החיסור, הכפל והחי-
לוק מטומנות כפי שמקובי' באלגברה; פעולות
אחרות מסומנות בסימנים מיוחדים או באותיות
יחניות קטנות. כאשר הסימנים מסמלים פעולה
המתבצעת על מישתנה אחד בלבד, נרשם המיש-
תנגה תמיד מימין לסימן המציין את הפעולה.
כאשר הפעולה מתבצעת על שני מישתנים, הם
נרשמים משני צידי הסימן.
למשל, 5 עצרת * ייכתב כך: 5! (ל)
תשובת המחשב: סבו
או המקדם הבינומי ? (3)
חכתב כך: 5
תשובת המחשב: 860
יצירת וקטור של מיספרים
עוקבים יסומן כך: 4 ג
תשובת המחשב: 4 23 ן1
(סו)
(וו)
סוג אחר של פעולות הן אלה הקרויות *לו-
גיות* -- רהיינו כאלה שהתוצאה שלהן *אמת"
או *שקר*; אמת מסמנים ב-1 ואילו שקר ב-0.
להלן נראה פעולות כאלה הן ברכיבים בודדים
(סקאלארים) והן בווקטורים.
)12( 54
)13( 3 4
יגסספי< יסמססי
ו 0-0 0
במקרה זה התקבלה התוצאה בעזרת השוזאה בין
כל רכיב של הזזקטור 220220 לרכיב המתאים של
)14(
הוזקטור 20298
צירוף וקטורים נעשה באמצעות הפעולה שסי-
מנה פסיק (,):
3 2 ->2
5 8-4
2 (5ו)
5 234
פעולות כאלה ניתן לבצע גם בין סקאלאר לווקטור
כמו בדוגמות שלהלן:
4 3 ו+1 (16)
3 5 6
או, לדוגמה, אם נתקתק על המסוף:
4 2 (17+
נקבל כתשובה: 248
זאת משום ש-4? נותן את החקטור 4 23 1
וכל אחר מרכיביו של וקטור זה הוכפל פי 2.
לעומת זאת, %4+2 "תן את הוקטור
6 5 4 3 2 ו, מאחר ו-,421 מחשב את הביטוי
מימין לשמאל ; הסימן ? מתייחס לא רק ל-4 אלא
ל-4+2, ומה שמתבצע למעשה הוא 6 ? ולכן
מתקבלת התוצאה שלעיל.
עצרת פירושה כפל של מיספרים עוקבים החל
מ-1 וגמור במיספר המצוין. כלומר, *5 עצרת*
פירושו 2*3*4%5או.
? בינום היא ביטוי אלגברי המורכב מסכום או
הבדל שני אברים. את המקדם הבינומי מחש-
בים באמצעות נוסחה. במקרה שלנו יחושב
המקדם הבינומי כך:
54 13*4*5א1א1 !5
יי
גאו
מימד שי
צוור 1 : ציון מקומו של רכיב בתוך טבלה תלת-ממדית (ראה טכסט).
עד עתה ראינו שהמישתנים ב-,421. יכולים
לייצג וקטורים וסקאלארים ; המישתנים יכולים
גם לייצג טבלות בעלות מיספר ממדים כלשהו,
כמו הטב ק זתלת-ממדית בציור מס' ו.
נניח ש' ת : בלה התלת-ממדית, מייצג המיש-
תנה 4 ; .וכל 'התייחס לרכיב כלשהו של 4 תור
ציון שלושת 1 'אינדכסים* שלו (המהוזים למעשה
קואורדינאטות , כאשר כל אינדכס מתאים לאחד
הממדיס של הטבלה, וסדר האינדכסים הוא מש-
מאל לימין. לדוגמה, [2; 3; 4]1 יסנ את
הרכיב הנמצא *בשיכבה* הראשונה, בשור: הש-
לישית, ובעמודה השניה. על זוגות של טבלות
כאלה אפשר לבצע את כל הפעולות ?יאפשר
לבצע על שני סקאלארים (מיספרים בורדים),
והפעולה תתבצע במקביל על כל הזוגות ל הר-
:יבים המתאימים משתי הטבלות.
נוסף לפעולות שלעיל, ה"*סקאלאריות*, ישנן
עוד פעולות שבכולן מעורכים וקטורים או ובלות,
והן התורמות העיקריות לצביון המיוחד של ,471.
לנם)קעץאזל
6 ;0 א פעץא1[+2 ל
4+ ו+08+1.2-,8א+0
א|/]:++5
5+<[1;:ו)א|>2:ת
+2] 2
[תפו;א,1]א+[קת5ו:1,א)א
נא,17>5]1,א)5
נא,ג1]ק+[1,א]קע
1070+קע
565
11:;: 1)]א+;1)א
-11]א*.:(17;]א<א)-א10)0,1(0+א
ציור 2: תכנית טיפוסית ב-,401.
1+ ו *עק+
[ש4; ]8א+2
*מדע* י"ט 4-3, 1974/5 | 177
ד
<
בלה
מימד עני(ש6) 9
2
מימד שלישי(6)
צוור 3 : כפל פנימי בין טבלות תלת-ממדיות. המיספרים בסוגריים מציינים את מיספר הרכיבים בטבלה בכיחן המימד הנדון (ראה טכסט)
למשל, בפל מטריצות !, במובז המתימטי המ-
קובל, מכונה ב-,421 *כפל פנימי", והוא יסומן
בה:
ש ה8*.+4 (18)
מיספר הממדים של הטבלות 4 ו-8 איננו מוג-
בל לשניים, בתנאי שהמימד האחרון של 48 שחה
למימד הראשון של 8. כך למשל ניתן לבצע
ב-,01. כפל פנימי בין הטבלות המיוצגות עזי
התיבות שבציור 3, כאשר אורך בל מקצוע שווה
למיספר הרכיבים בכיוון מקביל לו.
התוצאה תהיה טבלה בת ארבעה ממדים, (ראה
ציור מסי 5), דהיינו חמש טבלות תלת-ממדיות,
שבכל אחת 3 שכבות דו-ממדיות בנות 6 שורות
+ מטריצה -- מערך של מיספרים או סמלים מתו-
מטיים המטודרים בשורות ובעמודות, כך שניתן
לציין כל איבר בעזרת שני אינדכסים -- מראי
מקומו במערך המיספרים. י
18 *מרע י"ט 4-3, 1974/5
ו-2 עמודות. החיצים המרוסקים בציור מראים את
מקורם של ממדי התוצאה; כך אפשר לראות
שהמימד האחרון של 4/ והמימד הראשון של ₪
(החייבים להיות שוחים !) נעלמו.
כפל פנימי של טבלות, כפי שהוגדר לעיל הוא
מקרה פרטי של כפל טנזורי, פעולה שכיחה בענפי
פיסיקה כמו תורת-היחסות, תורת-האלאסטיות
וכז במתימטיקה גבוהה ; דוגמה פשוטה לכפל פני-
מי של טבלה בת שלושה ממדים עם טבלה בת
שני ממדים נתונה להלן:
חברה תעשייתית מסוימת מייצרת שורה של 25
מוצרים ב-10 מיפעלים השייכים לה ומספקת אותם
ל-15 לקוחות קבועים. טבלה תלת-ממדית בגודל
5 א 5ו א סו מתארת את הכמויות המסופקות
מכל מוצר לכל לקוח מכל מיפעל.
כל לקוח יכול לבחור באחד משלושה מחירו-
נים, שההבדלים ביניהם נובעים מתנאי-אשראי
ומועדי אספקה ; מחירונים אלה מהווים טבלה דו-
ממדית (בגודל 3 * 25) המכילה את המחירים
לכל צירוף מוצר-- מיספר מחירון. כפל פנימי
=
של טבלת הכמויות המסופקות טבלת המח .ם
תיתן טבלה תלת-ממדית בגודל 3 > 5ו א סו של
פידיון כל מיפעל מכל לקוח עבור כל מחירון
שהלקוח עשוי לבחור. כפי שרואים זאת מן המי-
מדים של טבלת התוצאות, נעלם מימד המוצר
אחרי ביצוע ההכפלת
.9 אמת-) :
+
מטגז|:
כהט1ז|;
פעולת ,41 נוספת, המהווה הרחבה של מושג
כפל-המטריצות נקראת *כפל פנימי מוכלל* ; היא
נכתבת כמו הכפל הפנימי הרגיל, אלא שבמקום
בו מופיעים סימני-הכפל והחיבור יכולים להופיע
עתה סימנים אחרים, כמו =, =, > ופעולות אלה
תתבצענה במקום הכפלים והסיכומים המבוצעים
בכפל פנימי, לפי הגדרתו המקובלת. הדוגמה הב-
אה מבהירה את המתרחש במקרה זה. נניח ש-4
ו-2 מייצגים את הטבלות הבאות:
- 2 >-3 2 ך
4 3 +24
56
ואנו רוצים לבצע :
8 >י+ 2 (פו)
דהיינו, פעולה המתנהלת בדומה לכפל מטריצות
קלאסי, אלא שבמקום לכפול את הרכיבים המת-
אימים אנו מבצעים השזאות ביניהם, כפי שנראה
להלן.
הפעולה מתחילה בהשוזאה בין השורה הראשו-
נה של המטריצה השמאלית והעמודה הראשונה
של המטריצה הימנית (כזכור, התוצאה של הפ-
עולה היא ו כאשר השויון מתקיים, דהיינו,
ערכו *אמת", ו-0 כאשר התוצאה היא *לא-
והתוצאה : 0( 0
אח*כ מתבצע סיכום: 0 + 0
0
שלב ב' (שורה ראשונה, עמודה שניה):
5 3 = 2 1
0( 0
0 + 0
וכו הלאה.
:()0890ל. ]| ]4+70607+0ו0*++-7>%4-2<<%0
:()490ל. ]|]0607+0-++ו0*++-.%*<7>532
:()490ל. ] ]706₪7+6++ו0*++-%<<2 ב
0450)(: |]₪0+?17060+ו%0++-ל<<2 8
046]()(: 6]1+?7-260++ו0*++-%<<2 יש
למעשה מתבצעים כל שלבי הביניים מבלי להי-
רשם על המסוף עד התוצאה הסופית:
לו רשמנו (דהיינו כפל פנימי רגיל) :
2
3 3 5
. 4
0 3
5-6
ו
היו מתבצעות הפעולות הבאות :
2 % 5 6
2
5 62
17
5 5 2% 1
סור( 3
2 5 9
וכן הלאה עד התוצאה הסופית :
וו 13 17
25 29 20
9ב 45 1
ועתה, אחרי שעיכלנו את הכפל הפנימי המוכלל,
מדוע לא להגדיר גם *כפל חיצון מוכלל- ? ואכן,
-כפל* כזה קיים ב-,471, והוא בא לאפשר ביצוע
פעולה רצויה בין כל הזוגות האפשריים של
רכיבים השייכים לשתי טבלות, בן-זוג אחד לכל
טבלה. דוגמה קלאסית -- לוח הכפל. למשל, לוח-
הכפל של המיספרים מ-1 עד 5 איננו אלא אוסף
של כל מכפלות הרכיבים של שני וקטורים, שכל
אחד מהם מורכב מן המיספרים בין ו ל-5.
הדבר יתבצע כך:
ראשית, כזכור מנוסחה (11), הפעולה 5 ? *- 4
7 0
נשווה לווקטור 4 את הערך 5 4 3 2 ו; כדי
לקבל את לוח-הכפל נכתוב:
4 < ."ב (20)
ונקבל כתוצאה את הטבלה:
5 4 3 2 1
10 8 6 4 2
5ו כו 9 6 3
0 6ו גן 8 4
5
10 15 20 55
לאחר האמור לעיל בחדאי לא יקשה עליכם
למצוא בכוחות עצמכם מרוע הביטוי:
5 ן] = -5 5 )
נות:
/ 66 6 6
% ₪ ₪ ₪
006 ₪0
006 5-64 (6
0
רשימת הפעולות שהובאו בפרק זה איננה של-
מה ; בין-השאר בוודאי לא באו על סיפוקם יורעי
שפות-תיכנות אחרות, מבחינת פירוט האפשרויות
לגבי שינוי מהלך ביצוע התוכנית לפי ערכי-
ביניים של מישתנים תוך *קפיצה* (ת6חגזפ)
ממקום למקום בתוכנית. אך אל-דאגה: כל זה
יכול להיעשות בקלות ובחן האופיניים לשאר
הפונקציות של ,421. כך, יכול המשתמש, בתום
ה"ישיבה* שלו עם המסוף, לשמור בעזרת פקודות
פשוטות כל מידע בעל ערך קיים (תוכניות שכתב,
נתונים, תוצאות) על אמצעי איחסון-המידע של
המחשב, למשך תקופת-זמן כלשהי.
פעולות ודוגמות נוספות (לאלה שיש להם
עדייך כוח לעכלן) בנספח למתקדמים.
8
/1 ]+<+2123%567890ץא%עץעע 2085 ₪0מתא 480080810
4 ]+*+2123%567890ץאמעטע5ת20סמאת2אננת0קפססת
ו ]+<+0%12123%567890שט08520ק00מ2 אנ 08קפכס
. /[]+*+2123%567890/;עשטל5ת6עסאאםא0810עתם
ד
ו
ב / [+*+2123%567890עא//520ת0ק אתא נך מסעם
: ()(]045 -]]0+?0607-++ןו0*++-א.צ*<2 " /[]+*+7%12123%567890ש520ת0עסתמ2אקנתסע
%כהט1ד|;:()451ל ]]26₪?>6-++ןו0*++-אצ><2 ב" . /[ ]+<+2123%567890+(/עע08070557א2א0810%
1 הטנ ז]; 046])[)(: ]]0607>0-++ן%0*++-צ<<2 ב>>7 , . /[ ]+*+2123%567890ע:שץ570ת6ק ₪12%2%80
כהטנד|: :()45]71ל -]]6₪6+?7060++ן0*++-א%*<2 ב>74 , . /[ ]+*+2123%567890+קץע5ת0ק סא 1%
הז :
חוץְדסֶא6כהט1ז|:
8 פטטטד|;
8 ?ד כהטגז|:
טפט טז|:
1 ל? דסא 6כהט1ז|:
:()274890 ]|]0607+0++ו0*++-%0א*<7>4452
0845]00(: |]0607+6-++ו0*++-צ><2 ב>>7
:()278950 |]70607>0++ו%0*++-א7>552<30
:()278490 | ]06₪7+0-++ו%0++-%%<2ב744
:()7890. | ]7066₪7+0++ו0*++-7>452<2%4
:(74890)6. |]70607>0++ו0*++-%%<7>%22
ץדשא6כהטוז|: :()27490 ] ]06₪7+0-++ן0*++-(2<2% =>>7
0 כהט1ז|: 045]()(: |]1-0607+0+ו0*++-/2:3% 5
(6861740884800כהטגז|; 045][)(: |]₪+?706₪++ן0*++-%%+<< ב
6801?)848008כהטגז|: :()0490 |]0607+60-++ו0*++-7>%52<2%
8480082 צְדַפאַ6כהט1ד|;:()790. | ]06₪07+6-++ו0*++-7>>52<5%%4
]+>++12123%567890אטע520ת0קס₪מ2 אק
. /[ ]+*+5207/%2123%567890ת070/א
[+*+8/12123%567890ש520ת₪026א2
, ב / ]+*+2123%567890 1א%שעט0ע085 0אא
, . /[ ]+<+2123%567890+אמץטל5ת0ע0ע
]+*+52070%712123%4567890ת020
. /[]+*+2123%567890צַאשץעע52ת0ע2
. /[]+<+12123%567890א51077%ת0
]++12123%567890אקשטע52ת
.[ ]+*+2123%567890+%קץ520
]+*+2123%567890צגשץ20
ציור 4: *התווים- של ,4171.
*מדע* י"ט 4-1 1974/5 129
שוב במישור
ראשית, לאלה ששרדו אחרי קריאת הפרק
הקודם --- נדבקתם רבותי; לאלה שרילגו עליו --
שנתכם תידד עד שלא תחזרו ותפצחו אותו.
ועתה, כמה הערות-סיכום. אקוזה כי דוברי שפות-
מחשב כמו פורטראן נוכחו-- אחרי עיון בדוג-
מות -- במידת החיסכון הקיצונית במיספר הסמלים
הדרוש להבעת רעיון מסוים ב-,421. לא-אחת
נדרשת ב-,421. פחות כתיבה מאשר לפי כללי
האלגברה המקובלים. למשל, חוק מט-ההכנסה
הישראלי משנת 1967 נוסח בעזרת ,471 בפחות
מ-30 שורות. סגולה שניה של ,421 שהודגמה
לעיל היא האפשרות לבצע פעולות פשוטות אחרי
הסבר של מיספר דקות ; לתכונה זו חשיבות רבה
באשר מאמצים את ,421 ככלי חינוכי.
תכונה שלישית היא *המקבילות*. פרט לתרומה
של תכונה זו לחסכוניות השפה בסמלים, יש
למקבילות השלכות לצפוי מחר בעולם המחשבים.
אנו עדים כבר היום לצימצום הולך וגובר בממדי
המעגלים האלקטרוניים שמהם מורכבים מחשבים,
צימצום המביא להגברת המהירות של ביצוע
פעולות- החשבון. קיים גבול עליון תיאורטי למ-
הירות זו וכבר כיום קיימים צרכים חישוביים שע-
בורם גם מהירות זו איננה מספיקה. דרך אחת
להתגבר על מחסום זה היא הפעלת *תזמורת-
של מאות ואלפי מחשבים במקביל לביצוע משימה
חישובית אחת *.
כל-עוד היו ממדיו של מחשב בסדר-גודל של
תיבת תפוחי-זהב לא בא הדבר בחשבן, אך
שונה הדבר כשמגיעים ממדיו לגודלה של חצי
קופסת-גפרורים. שפות כמו 2081848 ו-
1 אינן מוכנות לעידן החישובים-במקביל ;
תכנית א 10784 תצטרך לעבור ניתוח מייגע
כדי לקבוע אלו מחלקיה יכולים להתבצע במקביל,
מבלי שחלק אחד יצטרך לחכות לתוצאות של
החלק השני.
לעומת-זאת, ,421 מוכנה !
פה המקום לציין גם ש-,421 איננה דורשת
ידיעה בשפה האנגלית מאחר ואיננה משתמשת
כלל במילים כמו 1%, 10', 00, ₪1,5₪, השכיחות
בשפות-תיכנות אחרות.
,זעג בישראל
בשורת ה-,4121 הגיע גם לארץ. המערכת פו-
עלת באוניברסיטת בר-אילן, בטכניון, במרכז המ-
דעי של חברת י.ב.מ. בחיפה וכן במשרדי חברת
י.ב.מ. בתל-אביב. היישומים הם רבים ושונים
והיריעה קצרה מכדי למנות את כולם. להלן אח-
דים: עיבוד תוצאות ניסויים בפיסיקה (בר-אילן),
הדרכת סטודנטים לביצוע ניסויים בכימיה (בר-
אילן), עיבָוד הצעות להתקנת מחשב (י.ב.מ),
סיוע בקביעת אבחנה רפואית (תל-השומר, י.ב.מ).
כן נכתבה בעזרת ,821 מערכת מידע למעקב
אחר הקורה עם חיילים פצועים בביה*ח תל-
השומר, באמצעות מסוף המותקן בבית-החולים
והקשור בקו-טלפון למחשב של אוניברסיטת בר-
אילן.
+ כיום קיים מחשב ענק (1% 11/1186) ובו
פועלים 44 מחשבים במקביל. ראה *מדע-
י"ט--1 (1974--1975), עמ' 40
0 *מדע" ו"ט 4-5, 1974/5
רק שש
0+ 75 2(*0.5*א-4%00) סא4
ציור 5: התיאור הגראפי של הפונקציות ? * -400 צ = ץע
בשפת .41.
נספח: פעולות ודוגמות למתקדמים
שלוש פעולות במסגרת האמור כאן הן רדוק-
ציה, דחיסה ודיווח.
רדוקציה מסומנת כך:| 0/8
במקום המעגל יכולה לבוא פעולה כמו +, -,
א, > או פעולה סקאלארית כלשהי אחרת, והר-
דוקציה פירושה ביצוע הפעולה הנדונה בין כל
שני רכיבים של השורות של הטבלה 48 *.
אם 8 מייצג את הוזקטור 33 2 ו
אז ₪ 2 ו/+
פירושו 3+ +ו
דהיינו 6.
אם 4 מייצג את הטבלה 2*
54
אזי הפעולה 4/א נותנת: 2 << ו
4 3%
דהיינו את הווקטור 12 /2.
פעולת הדחיסה באה לסלק רכיבים מוזקטור;
אם נכתוב :
[זס]םתדפאםדסי/וווסוווסספוס
יענה המחשב: נמ
הווקטור משמאל מורכב מן הספרות ו ו-0 בלבד,
0 עבור כל רכיב של הוזקטור הימני שאנו רוצים
בסילוקו.
דוגמה לפעולת הריווּח, המסומנת ב-'*
נטוי שמאלה) :
נכתוב :
יצצ821150800 ווווווסווסווו
והמחשב יענה: צצססת 15 סה
באמצעות האפסים בוזקטור השמאלי הכנסנו רוז-
חים בין הרכיבים של החקטור האלפביתי שמימין
לסימן הריווח.
כידוע. ייחודו של המיספר 6 (בסיס הלוגרית-
מים הטבעיים) הוא בזה שאפשר לחשב כל חזקה
(קו
* נתייחס כאן לטבלות המכילות עד שני ממדים
בלבד.
(א-20) סאג : 07מק %0 30
ל 9 ל ל |20
ל ל . |
ל ל . ן
סַ . |
* 1
* / |15 |
. 1
* ן
. |
. 1
₪ |10
₪ ן
ב |
6 |
6 |
|5
9 ן
ס |
8 |
ב |
| | | | |0
10 5 0
,א -20=ץ ,א = ע, כפי שבוצע על מסוף.
שלו בדיוק רצוי באמצעות הטור:
3 . .
+ ו שו = 6%
27% 3!
יי +
תכנית ,471 לחישוב אברי הטור תיראה כך:
א)וו-(א)* א/+ +אם
א?! נותן את החקטור !... !3 !2 !ו ו- .
א/*א נותן את החקטור 3%... יא :2 %;
אח*כ מתבצעים החילוקים ולבסוף בא הסיכום
והוספת המיספר ו המהוחזה את האיבר הראשון.
נניח כעת שברצוננו לכתוב טכסט מסוים עם
השינוי הבא: בכל מקום שהופיעה בטכסט המ-
קורי האות ₪ צריך עתה להופיע רחח.
ראשית יש לתקתק דרך המסוף את הטכסט
המקורי, שאותו נכנה בשם 18%7% המאוחסן
בוזקטור בעל מיספר רכיבים כמיספר האותיות!
כולל רוזחים : ,
-405 סא]ד5תתמדא! אא' - 0
'אאאדח0ס: :צאמצסספו .ו64וססוס
אם נכתוב כעת :
דאפד/ (דאמד א שי > (דאמד א ימי)
נקבל:
סא סאוד5 5 דא!ז אגא
אאאדתס; :צא צסספוס
אנו משאירים לקורא לשכנע את עצמו שאמגם
זה מה שמתקבל.
לקריאה נוספת
,חסוןהזסקז0) 801] ,"[בטחב1א 5ז236) ,1 יי
. (0683--021120)) 1973
,חסווגזסקז0 1886 ,"זסוחות 21,360
. (0689--6021120) 1973
קחווהוהבזקסז/ 7" .962| .2.< ,ה6]50ש]
זסצ- 6 ,116 ."סקבטקח |
6/6066 471160" ,972! .5 ,הואגק
68% ח0%620 6ס6ת56(6 .|הטהג)א
.0 .סה]