ספר התשובות לפסקל

תשובות לתרגילי התכנות שבספר פסקל – שפה לתכנות מבני מאת פרופ' אבא אנגלברג. 200 תכניות למתחיל ולמתקדם, עם הספרים ותרשימים סכימטיים.

OCR (הסבר)
- א | > שקייכקטה.-= 1 7 ל רייו וו )ןוטריקה 2 -ככן | % 2 0 " | ספר התשובות . 4 לפסקל > ור + ולי | פסקל -- שפה לתכנות מבני ‏ | | ל הוצאת הוד-עמי לספרי מחשבים בע"מ ת.ד. ₪69 רמת-ג][, 198שט טל' 052-541207 2 במרץ, 1987 ! )לבב* +--מעה מלמד =ביועץ לעגייבי עב"א ו .ו א רח' הרצוג 21 גבעתיים --העולום, 2 | וכ ורד 4 ורצע ר בב 4 3 7 = יד א שד מאת אמיר קפלן תשובות לתרגילי התכנות שבטפר 3= יכ כ קה א תו כ רצ <ות 2 4 34 4 > | אני מגיש לעיונך את הספר החדש, אשר הוצאנו לאור זה עתה, ו | | ו | | מאת פרופי א" אנגלברג ספר זה מצטרף לדטפריסם אהרים בהוצאתנו, אשר התקבלו כספרי עגר רכספרי לימוד במוסדות הינוך רבים בארץ. ספר ‏ התשובות 7פסקל מציג בפני הקורא מיגוו של תוכניות העוסקות במספר רב של נושאים למתחילים ולמתקדמים. אלו הז תשובות ‏ לשאלות החזרה ותרגילי התכנות שבספר "פסקל - שפה לתכנות מבני", שכהוצאתנו. ביתן דגש ‏ לנושאים: מיוזן: רשימות ‏ ומצביעים,: קבצים ומבני בתוגבים דינמיים. התוכניות הורצו במחהשב ₪ק אע1 ומהדר 3.8 ₪35031 ססהטך. לספר נספחים הכוללים תרשימי מבנה והגדרות של מהדר פסקל. אינדקס הנושאים ממויין בעברית ובאנגלית. הספר מותאם לדרישות תוכניות הלימודים החדשה של משרד החינוך והתרבות, עבור מגמות ענ"א בבתי הספר העל-יסודיים ובמכללות להנדסאים. הוא מתאים לקורסים במרכז ענ"א במכון לפריון העבודה ‏ והייצור, המכון להכשרה טפכנולוגית (מה"ט) ולתוכניות ולימודים באוניברטיטאות ובמכללות למחשבים. אני מקווה שהספר יקבל את תשומת הלב המתאימה וישמש כספר ‏ לימוד, כמו ספרים אחרים שבהוצאתנו. בברכה, ל |.₪. 4 א 0 / יצהק עמיהוד ספר התשובות לפסקל במ רכזדדיט ‏ ב4<ר;ב:ר7 | ור בבר; רכזר-רז שלרזור < בכלשר; 212474 כתב את נספח ב'. הסדר והעריכה נעשו במחשב 20 18% באמצעות מעבד התמלילים א-ב 1.10 של חברת גרינברג מהנדסים בע"מ. הדפסת הספר נעשתה במדפסת ‏ 441 05--<1.131 בנכ)>בדצר; 2) המשווקת ע"י כקר-כ בע"מ. 0/8 הינו סימן רשום של .0020 ם0ע36508 181681ת. אתז הינו סימן רשום של 658ת1צת%886 685םת51ט2 [ַַת8610ת62>ת1. 1 סספט1 הינו סימן רשום של 81ת8010ת%662ת1 6ת18עסם. ספר התשובות לפסקל תשובות לתרגילי התכנות שבספר פסקל -- שפה לתכנות מבני מאת פרופ' אבא אנגלברג אמיר קפלן ערך זהר עמיהוד ספרי לימוד והכשרה במדעי המחשב הוצאת הוד-עמי לספרי מחשבים 6אזאזגתך 5040ב עס ת8[קה8א ע1חה בטתנעה .2 עס 001606 0ס פעסשפת4 8 שת1תתהעפסיק תד 2 8 0 5 4 כ שתנ1מתהעפסתת 66ע0ס50200 ע0ס] 6קהגשתה8] 3 עס 61060₪שתט .4 .9סעק 69 כל הזכויות שמורות הוצאת הוד עמ: לספרי מחשבים בע"מ ת.ד. 560 רמת-גן 52105 טל. 052-5812071 אין להעתיק ולפרסם חלקים מספר זה ללא רשות בכתב מאת ההוצאה אלא לשם ציטוט קטעים קצרים בציון שם המקור הודפס בישראל שבט תשמ"ז, פברואר 1987 6 פסתשנת 411 4 1ש₪ה6-2סת 5 תתס6-0ַַ38 560 א0סם.0.ק 7 .60 | ,182861 הקדמה על הספר ספר התשובות לפסקל מציג בפני הקורא מיגוון של תוכניות פסקל העוסקות במספר רב של נושאים למתחילים ומתקדמים. התשובות ערוכות בפרקים, והן מת*יחסות לשאלות החזרה ותרגיל* התכנות שבספר "פסקל - שפה לתכנות מבנ:" מאת פרופ' אבא אנגלברג (בכל מקום שיוזכר ספר פסקל, הכוונה היא לספר זה), בהוצאת הוד-עמי. השאלות מאפשרות לתלמיד לבחון את ידיעותיו, ותרגילי התכנות מכוונים להכשיר אותו לפתור בעיות מעשיות בשפת התכנות. ספר התשובות לפסקל מתרגל את הלומד ע"* חשיפה לשיטת התכנות המבני של פסקל, ומדריך אותו לתכנת כראוי, הן מבחינת מבנה התוכנית והן מבחינת התיעוד שלה. במיוחד הושם דגש על הצגת הדרך הלוגית של הפתרון ועל ההסברים לתוכניות, כדי שהלומד יוכל להשתמש בכלים הניתנים בו, לפיתוח יישומים חדשים. בכך, יש לראות אותו כהמשךך לנושאי הלימוד בדרך של שינון, חזרה והרחבה של הנושאים שנלמדו. הפתרונות הניתנים בספר מלווים בהסברים מפורטים ותרשימים סכימטיים של מהלך הביצוע של התוכניות, הסבר למשתנים, תיאור הפרוצדורות והפונקציות ותפקידן, מבנה המערכים לסוגיהם, הקבצים והרשימות המקושרות. התשובות לתרג*ל: הבליר ךב רור-ש *כלררד , ר:2ן1-+ב * כ ר בלב ב * כברנר כ "ב ד-* בב?ל?* *בם כוללות דוגמאות רבות ונדונו בהרחבה. מומלצ לפתור תחילה את תרגילי התכנות על פי רמת הידע בכל שלב לימוד. אח"כ - לעיין בתשובה וללמוד את הגישה לפתרון הבעיה, בחירת הכלים לפתרו|ן, ההגדרות, התכנות והתיעוד. במהלך הצגת הפתרונות לבעיות הודגמו פרוצדורות, פונקציות ותוכניות שרות שונות, אשר ניתן להשתמש בהן בעבודה מעשית. התוכניות הורצו במחשב 0ע-188 עם מערכת הפעלה 3.2 205 ומהדר 35.63 1<2-26223.1--כ6כץ-צצויץ1 . מספר תוכניות הורצו במהדר פסקל במחשב א04 (בגלל מגבלות של מהדר סספט1 בפקודות מסוימות). לפרק המיון מצורפות תוכניות המיו| %2+-3כ1-5<> 1גו62 ו- >-דכ)כ"כךא<>>11, בנוסף לתוכניות מיון בועות, מיון ע"י שיבוא ואחרות, שניתנו בפתרונות לתרגילים. פרק זה מלווה בהסברים מקיפים ודוגמאות. נספה א' - 2=התר;יצ:ה 121 ש=כבבנקבָ2" - מציג את תרשימי המבנה של המשפטים בשפת פסקל הסטגדרטית. נספה זה נכתב באנגלית כמקובל בכתיבת תוכניות בפסקל. נספה ב' ה'(ו 1-16 142 16 1גוב6 בקכק <> (27 רשימות), אשר מתאר את ההגדרות של מהדר פסקל הסטנדרטי ושל המהדר 0 - 2231 <1-כ)כץ-צגויי. כל מושג, הגדרה, פונקציה, פרוצדורה, סימן וכו' מלווים בהסבר, אשר מאפשר ברוב המקרים את השימוש בהם ללא צורך במקורות נוספים. 4% כ ד-כ> הנושאים מאפשר למשתמש לפנות באופן ישיר אל התוכניות העוסקות בנושא אשר דרוש לו, כמו: מיון לסוגיו השונים, רקורסיה, מערכים, מחסניות, מבני נתונים וכדומה. באינדקס משולב גם מילון, אשר ממויין מיון כפול - לפי העברית ולפי האנגלית. הספר מותאם לדרישות של תוכנית הלימודים החדשה של משרד החינוך והתרבות עבור מגמות ענ"א בבתי הספר העל-יסודיים ובמכללות להנדסאים. הוא מתאים לקורסים במרכז ענ"א במכון לפריון העבודה והייצור, המכון להכשרה טכנולוגית (מה"ט) ולתוכניות הלימודים באוניברסיטאות ובמכללות למחשבים. הספר מיועד לתלמיד בכתה, ללומד בעצמו ולכל מי שכבר מתכנת בפסקל ומעוני:ן להעמיק את ידיעותיו. פברואר 87 אמיר קפלן זהר עמיהוד תוכן העניינים הקדמה 0.0 .0000000000 תוכן העניינים . . פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק 1 - תוכניות חישוב והדפסה. שאלות / 9 תוכניות / 11 2 - משתנים וביטו:יים בוליאניים שאלות / 23 תוכניות / 25 3 - לולאות ‏ . שאלות / 28 תוכניות / 30 4 - הסתעפויות | . . , . , שאלות / 39 תוכניות / 81 5 - מערכים ‏ . 2 . : . : שאלות / 56 תוכניות / 57 6 - נתונים לא מספריים שאלות / 69 תוכניות / 71 7 - חיפוש, מיון ומיזוג ‏ . . , שאלות / 90 תוכניות / 92 תוכניות מיון / 11% - 102 0010%0% / 102 36805026 / 108 8 - פרוצדורות ופונקציות . , . שאלות / 115 תוכניות / 118 9 - יישומים של פרוצדורות ופונקציות שאלות / 139 תוכניות / 182 90 - רשומות . , . . . 6 שאלות / 151 תוכניות / 158 5 7 9 - 2 2% - 57. 28 - 38 . 39 - 55 - 56 - 68 . 69 - 89 . 90 - 4. 115 - 68 139 - 0 151 - 0 פרק פרק פרק פרק פרק פרק פרק נספח א' - תרשימי מבנה ( 187805 א68תע5) נספח ב' - שפת פסקל - 06ת369626 0010%. 11 12 33 18 5 16 17 קבצים ‏ . תוכניות / 11 עדכון קבצים. שאלות / 186 תוכניות / 188 קבצי תמליל . תוכניות / ]20 קבוצות . . שאלות / 219 תוכניות / 220 רקורסיה. ש שאלות / 227 תוכניות / 228 מבני נתונים. ניהול מבנ: נתונים / 23 תוכניות / 239 מבני נתונים דינמיים. מיון של רשימה מקושרת / 2%7 תוכניות / 25% אינדקס ומילון מונחים. - 3 - 6 - 9 - 9 - 0 - 6 1171 166 207 209 227 2 27 220 110 41 פרק 1 תכניות חישוב והדפסה שאלות שאלה 2 להלן שמות המשתנים שאינם חוק*ים: א. 50048 - מתחיל ב- %. ד. 10040802 - מתחיל בספרה. ו. צהת-% - התו "-" אינו חוקי בשם. שאלה 3 הג המסטעאז : סאדתגק ;1 : ע1עסתק ,צאט ,(מסדתק שאלה .84 רשימת השגוי*ים: ב. 1,587 - התו "," אינו חוק* במספר. ד. 8376. - בהצגת מספר ממשי תופיע ספרה אחת לפחות משמאל לנקודה. ס. 28937265 - יכול להיות שתהיה גלישה (תלו:י במחשב). יג. 1.78999 - הערך מימין ל-5 בגבולות 38+ עד 39-. יד. .132 בהצגת מספר ממש* תהיה ספרה אחת לפחות מימין לנקודה. (שאלת :5 רשימת הפעולות השגויות: ד. 0 שזע א%=:2 - מתבצעת חלוקה בשלמים (0) על משתנה ממשי (א). ו. צ+א=:8 - החיבור של א ו- צ הוא מספר ממשי, לעומת 8 שהינו מספר שלם. ח. 4:=2 - השמה של משתנה ממשי לתוך משתנה המוגדר שלם. /סאלת 6 א. (5+צ)/ (2+א) ב. (4+צ)/3++ ג. צ+4/צץ*א ד. (3/צ+2)/ (8-א) 007 89 = מט1ג0 2 = מע 'שתעתך זא' = הדפ :שאלה .8 א. 2 5 8-4.0 2-0 ב. 76981-->0 | 199=+ 2 א 4-0 ג. 2 2-8.0 0 - שורה ראשונה. 0 2-8.7 76981-= - שורה אחרונה. 9 א. 5777777775.0800 5 ש0 מטסתגט מחד ב. 2+4=0777777775 עס אש מחך ג. 1231-315.67 8% %5- התו "7 מציין תו בווח (א%םמ18ס). 10 תוכניות -תוכנית 1 ; (תשפנטס ,צעקא1) מ10א אהתססתק (1) פס (2) = ת0דסגת (3) תגט (5) תת : סאד מתסדפח ,08 אתסדסת (5) אנססם (6) ](' : פמעסאד אד הדמע המדאם מפבמק') מצזתט (71) ([ קרא את הגובה באינצ'ים ‏ + ; (0א1 1011מת) א זסאמת (8) [ חישוב הגובה בסנטימטרים + ;ד תמו * ה0דסגת =: א0 להסדטת (9) ( '5המיאאזדאמ6 אד' ,2 מז ,' 15 דהבדטת מצע') אממדזתט (10) .עאם (11) חסבר: : 1 חתוכנית.. 1 הגדרת קבוע סע שהוא' :חס 5 הגדרת משתנ'ם, 7 8 לט = גובה באינצ'ים. < 9 חישוב הגובה בסנטימטרים 1-5 פלטט. תוכנית 2 ; (צשפצטס , צטפא1) מסאג63 א4מססמק הא :זומת : 5ג.11סת ,583 ,408102 , אד, זה אטחס אזססם ;(' ?טטהח טסצ 20 5טאמ53 צאגא חסת') מצזתט ([ קרא את סכום השקלים + ; (1,18האמה5) א זפגמת ;)(' ?80802') מדדתט [ קרא את אחוז העמלה ‏ + ; (40802) א1סגמת ](' ?58442') מדדתט [ קרא את שער הדולר | + ; (58448) א זפגמת ;5 / ( 100 / 40802 - 1 ) * אךוהאמת5 =: פתג1וסת ('פת/011ת ' ,5:8:2ת0118 ,' עש0 טסצ') אתמדזתט . פאם 11 ; (2טפצטס , צטפא1) 2זמתסאפהא אם אגתס 7 51 = האגדהא 845 = 0.053: +) 5.3% ( , הזוס ;1 : 407מפ אז ; ('?4042 עזן 51407 האוא ?תה 540וז הסדח5 טצגא') אומדזתט ; (51407, 51108) אתפגמת ]('יתרה | מס סה"כ שכר שעות ') אתשדדתט ; ( 'לתשלום הכנסה תשלומים | מתנה לשעה עבודה') אתמדצזתש 0ק א60 הג 6 :' החהההההההההההחההההההההההההההההההה-----------') א מצנתא 6אא ,' ' ,50108:6:3 ,' ' ,3:(דסגאפ5)סאטסת ,' ') אשמדנתט ,1 * 5807 * פא ,' ' ,8:3:באגדהא + תס501 * 1107פ,' ' (8:3:גאה1גא + הטזא5 * 58401 * (5גא-1) ,' ' . פא ; (02עט0 , לטפא1) מטסאגסת את ד , הא ;ומת : םגא1800כ ‏ תמזטאנתטק , המתג אז ;(' : [1ס1ח כאג 0181אם, ם,זטסאהעסמת המצאמ') מקזתח [ קרא נתוני אורך ורוחב של מרובע + ; (₪1278 , התסאמ1) אזפהמת [ חישוב שטח של מרובע ָ ;תתא * סאמ =: החמתה [ חישוב היקף המרובע ְָ ; (מזס1א + 08א1₪) * 2 =: המומאזתמק ( פיתגורס ָָ ; ( (1ע1ש) 50 + (018א1₪) 50) 56% =: מבאס0גזכ ; (3:1:ז0א1 ,' 15 מתהאהדסמת מצד ת0 טאמ מחע') מדדתח ; (178:3:1ט ,' 15 הצעדא 5עע ') אמצזחחט (' 15 המדטאזתתק מזוד ' ,3:1:גמת ,' 15 המתה מחך ') אמקנתט (41:3:1א1400 ,' 15 דסא מהאססגדכת מחד פאה ' ,3:1:תמתדטאדתתק 0( תג סמ . פא | (תמעשא1תמק = היקף) 12 תוכנית 5 ; (תטפצטס , עשקאד) מטאהזתד אהתססתק תג :| ( יתר במשולש ישר זוית + , מפאתיסקצ ;זאתת : פאמסאג ,5פ0א0051 ,פט0א51 , תהסדטת אזסמם :(' : מפטאתדסקצן כאג מפגם מסאהזתד המתצאת') מדזתט [ קרא בסיס ויתר של משולש *"ז + ; (שפטאמסקצת ,2458) אזסאמת [ פיתגורס + ; ( (84590) 505 - (מפטאמ01קע) ת50) 5037 =: ההסדמו [ סינוס | + ;פא סקצו / הנמת =: | פטא51 [ קוסינוס + ;תקעז / 2458 =: 05א0091 [ טנגנס ָ ;5 / 05א51 =: פאמתטאהך ,1 :5 ,' 15 458 מעסאה-ת1 מו') א מדזוח ; (3:1 :שפטאםד0סקעו ,' 15 א מפטאמץסקצח 5דד פאג ' ; (3:1 : דהסדמת (ף 15 עהסעמע 5דת ') אזמצזתט ) אזמדדתו , 'פזאט זסקצ אנד פאג 458 מחך אממטתטם םסא מצד 0 05א51 מחד' ; (05:3:1א51 ,'5ך ' ; (09:3:1א0051 ,' 15 פטא0051 מחע') אמדדתט (5:3:1אמ6א4ד ,' 15 פאמסאגע מה פאג') אמדזוח . פא תוכנית 6 ; (001207 ,צטפא1) 0% אהתססתק (1) )2( 001 1 = מסצתק (3) תגט (5) , סא .1 אס (5) , סדוו אס (6) , דדמו אס (ד) , ומת .₪1 5128 (8) ,ומת מפהם (9) , ותה ₪41 צאסאע (10) )11( 010% , )12( 007 : אזסטת (13) ;(' : האמ 0% תמצאת מ6גם ,זע )פיזוט (18) ; (1ה6אם.1 א0ם) א;זפהמת (15) (26:' : מתכ1ש אסם') מצדתח (16) ; (נוזסדש₪ א0ם) אזסגמת (17) )(26:' : 1מ0דטע א0ם') מדדתט (18) ; (תזו10מון אסם)' א., וספת (19) ] שטח דופן צדדית ‏ ) ;ית0דטת 80% * הא 0% =: במתג )זא מפזפ (20) ) שטח בסיס התיבה + ד | 90% 5 11 | 0% =: המחה > פה (21) [ שטח דופן קידמית ) ;דמש אסם * הסדא 0% =: גמתה התהש | צאסתק (22) 3 ( נפח + ; דט אס * החמתה 2355 =: מאטעסט )23( + המת ןגו מע51 + החתה מה ) * 2 =: 0097 (28) ( עלות + 1 / מסבתק * ( החמתה זה צאסתק (25) ; אזמדד (26) ,' : 15 החמתה זה 515 808 18אד הסע') א ודדש (21) ; ('פתמעטא1עאמס מתהט 50‏ ' ,8:2:המתג 1זהא מפדפ (28) 4 : 15 המתג תג צאסתת') אתטדדתט (29) : ('פתטעמא1נאטס מתהט 90‏ ' ,8:2:החתה תוהש צאסהת (30) ,2 24095 ,33:' : 15 התתה מפגפ') אומדדתט (31) ; ( ' פתתטאדאמס מתהטספ -' (32) 2 ,33:' : 15 מאשםסט אספ') אתמדדתט (33) ; ( ' פד 1דאמס 10פטס' (38) ,' : 0057 מתצט 17 ') אנמצתח | (35) ( 'תמקהק אטאדותגזה קדו אסם מצד קאתא 10 , 8ממאשמס' (36) .עאע (37) -תוכנית 7 | הגדרות 0 תק היא השורש. הריבוע*, שבכות. היא סט גת התקן: בריבועי ; (02דט0 , צטסאד) 5תג אהתססתק (1) תג (2) [ הגדרת הציונים כמספר ממשי כד: ָ ,3אתגא ,2אתגא ‏ [אחהא (3) [ שלא יתקבל 0/581000 בהעלאה בריבוע + מ (8) ;המת : א14110/ס פתגפאגץ5 (5) אזספת (6) :|( : פאתהא 3 המתעאם מפהתוע') מצד (ד) [ קרא שלושה ציונים + ; (3אתהא ,2אתגא , 1אתגא) אזפהמת (8) ; חדוהו (69 [ ממוצע ְָ 1 / (באת + 2אתהא + 1אתהא) =: מהבתתטה (10) 1 סטיית תקן + +(1אתא/) ת80) * 3) ) 5037 =: אסדעהנטמס פתהפאהדפ (11) + (9 / ((ש0התתטה * 3) 50 - ((3אתהא) ת50 + (2אתהא) 50 (12) (6:2 :1 : 15 מההתחץה מזוד') אזמדדתט (13) ו' : מסהתמטה אסתק 1 אתא 0 א110ה1טמכ') אמדזתט (18) : א10ץ1טאת 42500078 ',6:2:מ6התתטג - נ1אתגא (15) ( סטיה מהממוצע + | (05(:6:2תסטה - 1אתהא) 85ב (16) ,' : מסגתת אסתע 2 אתגא עס א0ס1צגנטמפ') אזמדדזחט (17) (' : א1210טטת 0501078 ',6:2:מ0התתע - 2אתגא (18) ; (6:2: (340₪/ - 2את4א) 485 (19) ,' : טטהתמטה אסתק 3 אתגא 0 א1110עמכ') אזמדדתט (20) ,' : א1110/טת 950078 -',6:2: :מסהתסטה - 3אחגא (21) (6:2 : (0₪ התפטת - 3את4א) 485 (22) (6:2: :.א14110עטפ פתהפאהנס ,' : א10ץה1טטכ פתהכפאג1פ') אומדדתט (23) .עאם (28) 18 הערח: בפתרון של שאלה זו פרקנו את הנוסחה של סטיית ה 1). תוכנית 8 ; (צשםט00 , צטקאב) 16 טס.641 אבתססהק אס 51 = 407081ת 7 = 07082גק גב ;ומת : א אזסםם ;(' : התמאטא 4 תתצאם מפגםוע') מקזתט ( קרא מספר + ; (א) אזפאמת ; א זטידד וו 0 שורש בריבוע מספר ') אימ1חחא ;('כפול ' , 401082:2ע ,'כפול ' ,401081:2ע ,2: (3-א) 5087 ,3(:12:2-א) 50 ,3:8:2-א) א מצנתט ; (401002:18:2ע * (3-א) ,401001:18:2ת * (3-א) ,2: (2-א) 507 ,2(:12:2-א) 50 ,2:8:2-א) א מדנתט ; (407082:18:2ת * (2-א) ,01031:18:2ת * (2-א) ,2: (1-א) 5007 ,1(:12:2-א) 50 ,1:8:2-א) אומצנתט ; (401082:18:2ת * (1-א) ,01081:18:2גק * (1-א) ,2: (1+א) 507 ,1(:12:2+א) 50 ,1:8:2+א) אעמדדזתח ; (401002:18:2ע * (1+א) ,0101:18:2גק * (1+א) ,2: (2+א) 5007 ,2(:12:2+א) 508 ,2:8:2+א) א מדזחח (401082:18:2ע * (2+א) ,01081:18:2ת * (2+א) . פא תוכנית 9 ; עטק ש0 , צטספא1) 61.00.76 אבתססחק 607 21 = דע תהץ ;ומת : פסדפגת . אזססם ;)(' : פטדעבת 01308 התדאם מפהמתק') מדזתט ([ קרא רדיוס מעגל + ; (105פגת) אזפגמת ; אשמ1ט [ קוטר + ((105:7:2ת4ת * 2 ,29:' :15 תמדְמאהנכ מחד') א מדדתט [ שטח + ;(1:2:(פט1קגת) 502 * 1ק ,29:' :15 גמתה מחע') אפמדנתט [ היקף + (106:7:2כגת * 1ק * 2 ,29:' :15 50008 מחצ') א מדזתט . פא 15 ; (שספדטס ‏ צטפאד) זאסהאסמדע אהתססתק הגע ] שים לב לערך המכסימלי שיכול + ;תמסתדאך : 2 מדע ,1 פזת . [ להיות במשתנים אלה. ָ י אז0ם ;(' : פתממעא זמסהאססדע 100 תתדאם מפגםק') מצנתט [ הכנס שני מספרים מסדרת פיבונצ'י + ; (2 פצע ,1 פדע) אזסהמת ; א.[₪'ד1ת₪ + 1 מדע ,37:' : מתג פתמתמאטסא ממתאץל סאבשסתסע מחצ') אפדנתט (2:7 מדת * 3 + 1 מדק * 2 ,2:7 מק * 2 +1 מע ,2:7 מדקע . / / .ספ תוכנית 11 ; (01ק00ס , צשקא1) קאמ אהתססתק אה ;ות : קאתך חס קאמץך תגע אזספם ((' : סממתסמת עדטמהאמתזהע א1 מהטדהתתקאתד מז תמצאם ') מדדוט [ קרא טמפרטורה במעלות פרנהייט + ; (סאעד תגת) אזפגמת ; א זחא [ הנוסרה + 1 / 5 * (32 - סאמך תגק) =: קאתד עמס 9:9 : 15 פממתסטע 005105 א1 מונוך1התמקויאמץ מוד') אזמננתט (6:2: קאתד מס . פא ; (1טפטס , צשפא1) אסדהשסם אבתססתק ההץ 2. : 2א ,1א ,עס0סת / 'ּ אזספם :(' : פתמדתאהתגת 5'א10הטסת מודד תמתאם') א ודדש ( המשו ואה הריבוצית היא: + ([ 0 = 0 + אם + -אג + 16 :(33:' = ג') מצדתט ; (8) אתזסגמת ; (33:' > 8') מצדתט ; (8) א1סהמת (33:' = 0') מצצתט ; (0) אזסהמת ; א זאיד [חישוב שורש הדיסקרמיננטה + * 42 * 4 - (8) ת50) 8001 =: . (8 * 2) / (3007 + ם-) =ן ;ג *2) / (007 - ם-) =: (%2:[:2 ,' = 2א% ' ,1:7:2א ,' = 1א :מתה 0015 מאצ') 5% . ספאם הערה: ראה גם תוכנית 6 בפרק..4. > תוכנית 13 ; (7 0 צטקא1) החמתה מטסאה-חהד אהתססהק הג [ צלעות המשולש + .2 1 : גמתה ,5 אזסטם )(' > 4ב : 5128 73148015 מ תמעאם') מצדתט ;1 (8) פגמת ](' >= 8 ') מנזתט ;(8) פגמת ;(' = 0 ') מצזתט ; (0) א זפהמת /--) [ חישוב מחצית ההיקף + ;% / (0 + 8 + ג) [ חישוב והדפסה של שטח המשולש ) ' : 15 גמתה מאד') מל ('.אס 503 ' ,5-0((:7:2) * (5-8) . (-8) *5) 5037 . פאם 17 תוכנית 1% ; (02ק001 , ידטפאד) אאגם אגתססהק | ;המת : צשאסא , 08א414ם , תממאטא > זא 400 אזסטם ;(' : המםאטא [א4600 המצאם מפגמתפ') מלזתשט [ מספר חשבון ו ; ( תממואטא 1אטסס4) א זסאמת 7 7 157 מחד 15 עהגזחז -') מצזתט [ היתרה האחרונה ‏ + ; (0₪א2814) אזכפאמת ב(' ?דאמומטסא צטאסא מצד 15 צהחש ') מדזתט [ התנועה האחרונה + ; (צמאסא) אזסגמת ; א [שד1ת [ המאזן החדש ְָ ; צמאסא + 08₪א414ם =: מסאההם , 7:0: תפמאטא 1א4000 ,' : תתמאטא 1אטס6ג') א מצזתט ('5ך ' 2:א 1 ,' : 15 מ0אג541 שמא מח , הסבר: מספר ההשבו ן מוגדר ‏ כמספר מש , כדי | שלא תה*ה גל ישה. בקריאת מסף ה מ-1א1א. הדפסת מספר חשבו נעשית ללא נקודה. עשרו נית<> כאשר מושכים כסף, יש לכתוב את הסימן מ* נוס' משמאל. למספה תוכנית 15 ; (1שק1ט0 , צשפא1) 6038 אהתססתק ג (המדד] תמק אא ,מסאגדפדע ,מסצתק המדד1 ;ומת : סיד אזסמם ;(' : תמך] מא0 08ק מסדתק המסק המצאם') מצדתקא [ מחיר ליטר בנזין + ; (מס1תק תפד.1) א,זפהמת ; (33:' ?מסאהדפדת מצד 15 עג') מדדתט ( מרחק + ; (ש0א157ת) א,זסאחת ;(33:' : תתךד] תסק אא - צסאמדסדתקם תהס') מדדתק [ צריכת דלק לקילומטר + ; (המד1 תתק אא) אתפגמת ( חישוב והדפסה ) (1: פם מתדט ממשע ק0 0052 מגעסד') אתמדדתט ('19 ' ,7:2: התךד] תק אא / מסאהדפנת * מסנתק המדדן פא 8 תוכנית 16 ; (1שקדט0 , לטפא1) דאסזטט אתססתק 0051 = 66א 70 מדן 1 = 0₪ 70 8ך1 1 = אט0 20 8ך1 הט ;תחת : פהתמדן אזססם ; (' : פהתםד1 אד ץ103מא מאך תמצאס') מדדתט [ משקל בליברות + ; (5התמד.1) א,זסהתה ,' 70 ₪008 15 תמא מחע') א טנדתט 2 * 00 170 118,' 08 0א ',2:2:פההמ11 * 6א 790 מך1 ( 'פפסאטס ',2: :1 * אש 20 | 8, ' 05 פאגת ' . פא תוכנית 17 ; (01קדט0 , צטפא1) 30058 אגתססתק החל ;ומת : דתם ,פמפאמקאם ,מסעתק | צפמהטצאד , א0015510 אזססם ;(' 10₪7תק ₪0058 מתחך 15 עהחט ') מצדתט [ מחיר הבית + ; (08זַהק) א,זפגמת ; (' ?דפתתם1א1 [א0ג מ 15 עבחא') מדדתט ( העמלה של הסוכן ב-% ממחיר הבית + ; (1פמתמצא1) אזכהמת ;(' ?פמפאמסאם מצד מתתט הסטסא אסמ') מצדתט ( הוצאות ) ; (פמפאםקאם) א,זפאמת - (100 / צפמתתדא1 - 1) * מסדעתק | =: צחטן ( כמה קיבל הבעלים + ('15 ' ,10707:2:2 ,' 0075 המאאס מתד')אמדדתט . פאם תוכנית 17 א' ; (102ש0 , דטפא1) 84 מפטסת אגתססתק הג ;1המת : עתם ( פעפאמתקאם ,םמסדתק | צפטתמעא1 , א15510אא00 אסטם ;(' ? מסדתע ₪008 מד 15 דבח | ') מקדתט ([ מחיר הבית + ; (108תק) א זפאמת ])(' ? פמפאמקאם מחדך מתמא הסטא שסח') מדדתט ([ הוצאות ָָ ; (5תפאמקאת) א זסאמת ;](' ? 0015 ממתאאס מחך הסטסא שסת') מקזתט ( כמה קיבל לידיו בעל הבית + ; (עעם1) א1סהמת +9 [ העמלה ב-% + ]0 * מסנתק / (585-1₪07אמקאם-05דתק) =: עפמהמזאך ('דצאססאמק ' (8:2:פתתתדא1 ,' 15 דפמתתתנא1 עאמסה מהע') מקזתק . פאם <תוכנית 17 ב' ; (צספדטס , צטפא1) 8 מפטסג אתססתק הג ;תת :17 (פמפאתקאם ,מסדתק , עפטותטצא1 , א15510 00 אזסטם ; (' ?0₪בתת מפטסע מד 15 עאזא - ') מעדתע [ מחיר הבית + ; (108חק) אזפהמת ;(' ?עדא 7א400 מצד 15 עחו') מצדתט ([ עמלת הסוכן ב-% + ; (דפמתמצא1) אזפגמת ; (' 0157 תמאחס מאד צסטא סה ') מדזתט ] הסכום שקיבל בעל הבית לאחר המכירה + ; (1₪97) אזפאמת ( חישוב ההוצאות+ ,חן - (100 / 7פמתתנא1 - 1) * מסעתק =: פמפאמקאם ('18 ' ,8:2:פתפאמקאם ,' מתתח פמפאמקאם מחך ') מצדתח . פא תוכנית 18 ; (0קצט0 , צטפא1) צאמאנפמעא1 אהתססק הג : 508 , 1פמתמצאד | צפמעא1 ; תמ0מזא1 : 5 אסא אזסטם 1 ' 5127 צאמודפמטא1 מחד 15 עגזחט') מצדתט ([ ההשקעה, הקרן + ; (1פמעא1) א.,זסהאטת :(' ?7 דפמתתוא1 מנוד 15 להא -') מדדתט ( הריבית ב-% + ; (צפתתתזא1) א זפאמת ; (' ?145אסא צאגא שסם תסע ') מנדתחא ( מספר חודשי ההשקעה + ; ( פהדאסא) א /זפאמת ([ הקרן + הריבית + (6:' 175 508 1074 מאד') אמצזתט ('18 ' ,135(:4:2אסא * (87/100מהמצא1+1) את) קאם * צפמטאד . פא |20 תוכנית 19 [ מחירי המצרכים השונים + 1 [ מחיר לק"ג : 1; ; (07קעש0 | צטפאד) פססע אההססתק ָ ,בוו = וס 0 ₪ % 5 12% 6 -+ -. 0097 אאסדס 0א סונו 0 הפ א מזק 0א ג זה 0א 2 אפ א הגש 0% ,דא ,54022 ,מדק ,המטדם ,מסאתא , אמא0נחס אזססם אתטנזתט ; (' : 5עת03000 0א011001ק מגוד עס תסדמט מגו תמזאם מפגמזק') ;(20:' : אמא0810') מקדתחט ; (אמא10אס) א ספת (20:' : מסאדא') מעדתט ; (פסא1א) א זסגסת [(20:' : תמטדע') מצדתט ; (פ1109) אנפהמת [ ערך הקניה + : ':20( ; מזק') מקזתט ; (18ק) א,זפגמת ](20:' : 540842') מדזאט ; (כ5410) א,1סאמת ((20:' : 280ד11אח5') מדזתט ; (ם1128א58) אזפגמת ; (28: 2 נש 2 בש ₪ נש = נש ם ₪ ₪ ₪ שש ₪ ₪ ₪ ₪ ₪ שש ₪ ם =') אתטדדתקט + מסאזא א * מסאדא + אמאסנחס 0א * אמאסצאס =: אטפ * 54140 + מדק א * מדק (' טסע אאגזוד תוכנית 20 [ מחיר עותק אחד + ( מספר עותקים ז + המטך1 0א * המטד1 דאס 0א * ת2דדאזופ + כ .51 6א ; (808:8:2 ,20:' : אטפ') אנמצדתט )(0.15:0:2 * א50 ,20:' : אגד') אומדדתא .4 ,1.15:8:2 * 50% ,20:' : מג102') אזמצדתח . פאם ; (צשפדטס, צטפא1) 1010 אבתססחק 88 ;לא : 000125 עס הממאטא , פתטאאזט + אז₪ ,תת צ002 אזסטפ ;(' 7צ000 מא0 ע0 מסנתק מחד 15 עגחו') מקנתט ; (108הק צ005) אזפגמת ;(' ?5012 מתמט 5ם1ק00 צאהא שסח ') מצד ; (000199 08 תפמותוא) א זפגחת ;(' ?מטגת מא פתתאאנש צאהא חס ') מעזחט )1( )2( )3( )8( )5( )6( )7( )8( )9( )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )28( )25( )26( )27( )28( )29( )30( )31( )32( )33( 7 רה רה רה = ₪ %= תא 7-ל "ל "ל "ילל "ל "ל )7( )8( )9( )10( 211 ] כמה אנשים נ*השו נכון + ; (5תתאאדט) א זפמת )11( ([ סכום הזכיה הוא 75% מהכנסות מחולק במספר הזוכים + (12) ; פתמאאזט / 8 מס מממאטא * אסזתק. צס * 75 .0 =: אזח (13) ('15 ' ,2 .:אדא .32:' ₪ דש הפאאדט צתפעם') אפמדדתט (18) . פאם (15) תוכנית 21 ; (עטפיטס , צטפאד) ,₪001 אהתססתת (1) ה (2) ;1 : עאבאדאתמדטת (צ,אות,ם ( ,0 ,4 (3) אדססם (4) : ) אתמדדתט (5) ;(': אתסע מנדד פס 5א₪004710 הגטאד1 85 אבתססתק 5זד' (6) ; (0':30 = עַם + אג') אמנדתה (7) ; (30:' = עם + אפ') אתמדזתא (8) ](': פתמדטאהתהתק 5 אטסצ תפנאת 468םזק') אמצדתט (9) ;(' = 4') מצנתט (10) ; (8) פגמת (11) ; (10:' = ם') מדזתט (12) ; (ם) פגטת (13) ; (10:' = 60') מדדתט (18) ; (0) א .זסאמת (15) ;(' = פ') מצצתק (16) ; (פ) פגמת (17) ; (10:' = ם') מצדתט (18) ; (₪ש) פגמת (19) ; (10:' = פ') מצזתט (20) ; (₪) א זסאמת (21) ; א זמידדתון (22) .0 * ם - ם * ג =: צאגאזאתמדטת (23) ; (4:2:דאהאזאתמנטס / (ק * 8 -ם * 0) 4'=: אסזיז.501 ') מדדון (28) (2 אהאדאתתדמס / (ם * 0 - תק * 2) ,' = ץ ') אמדנתא (25) . פאם (26) הסבר: פתרו ן שאלה זו כפוף להנהות שניתנו בשאלה: כלומר: . דטרמי נ נטה שונה כב- | במלים אחרות, צריך ' להיות 0 <> 0*ם-פ*ג 5 : 22 ניקח את מקדמי ו של המשוואות הנתרנותי כךד+ 8 4 0% = 2 + 0 = פ 6 ללששם -= פרק 2 משתנים וביטויים בוליאניים שאלות שאלה 1 סדר ההערכה ירשם בסוגריים: מטתד = כ 08 (0 פאה 8) 08 ג (8) ₪ = (פ פאה 6) 05 (8 פאג ג) (ס) מטתץ = (ם פאג (4 דסא)) 08 ((8 צסא) פאה ב) (6) פעולה לא-חוקית כי מתבצע 0(<=0 08 )= (4) אטח = (כ >< 60) 08 (8 = ג) (6) ביטוי מסוג: משתנה, יהס, משתנה, יחס, משתנה - א*נו חוקי (9) כ <> (0 פאא 8) <> 4ב 8 >= (כ <> 6) פאה (8 <> ג) (ש) שאלה 2 הפישוט של הביטוי יעשה לפי חוקי דה-מורגן: * נפעיל את כלל מספר 1 על הסוגריים הפנימיים ((צאא) 08 4 עסא). כאשר (צ4א), ערך הביטוי יהיה שווה ל- (צ=<א)עסא. * לפי חוק מספר 3, שני ה- "07א" מבטלים זה את זה. כתוצאה נקבל: (ם = 5) פאה (צ >< א) פאג 4 <<== (0 = ש) פאה ((צ > א) 05 4 דסא)) צסא 23 שאלה 3 = 7 טנס 1 = 2 ענת 1 5 * (8.5- -) 8) 485 9 שאלה 84 הביטויים שערכם פטא1' (קרא משמאל לימין): מטתד = 768 <== 8-168 == 2*8-168 <== 2*1-167 (8 מסתדך = מטחדך פאה מטתך <== (8>=10) פאה (8<0) ?== (16=10) פאה (1<0) (ס ==((8%50) פאה (2%50)) 08 (4<25 ) <== (1650) סאג (1650) 08 (1225) (6 מטתץך =(מעתד פאה מטתד) הס מפגע<<-= מטתד = מטתך 05 מפוהע <== (825) הס (463) <== (125) תס (168) (8 מטתד = מ19ת דסא <== (426) סא <== (1<6) עסא (6 2% תוכניות תוכנית 1 ; (צטקצטס , צסטפא1) פפטס אההססמע (1) הג (2) ;תמסטצאז : 2 8 ,מסאמזתתקאם ,100 (3) ;א 00 : 0 ,2 (8) אנססם (5) ; (' ?סגאהטוהזו .011 שנהא') מדדתט (6) [ גיל המועמד + ; (40₪) א זפגאטת (7) ;(' ?(0א-85/0צ=1) 2.ם 103 פמצ פהאהטאה 1') מדנתט (8) ([ תואר 88 - ) ; (8 8) אזסהמת (9) ;(' ?א0צ158א 588 אזאג51 גאהא') מדזתט (10) ( ניסיון בשנים / ; (פסאמ1תתקאם) אנפגמת | (11) [ 21 < 408 1% מטחד=4 /[ < 408 =: 4 (12) [ 1 60 60081 >סת 2 ם 1% מ6/גק-ם ְָ > 2 8 =: 25 (13) [ 5 תסבת% 1658 מ0אםמ1תמקאם 1% 15₪ת=0 + =< מסאמ1תמקאם =: 0 (18) ; אזדז ₪ (15) ,' :15807תכגה סא זז זהוטא פהאהטאהת') אומצדתט (16) ; (0 סאג 8 כאג 4 (17) ,' :0מא01 04 עספמט עםה חם וגוט פהאהטאות') אומדזתח (18) ;.(0 08 8 פאה 4 (19) ](0 08 8 ,' :מא01 08 עשם זם זהאטא פהאהטאג') אנמדדתט (20) ,' :15₪07תפגה אדא 1גהה 10 עג זם זהאטא 1.0 פהאהטאגנ') אועדזתט (21) ((0 08 8 08 ) סא (22) .פאם (23) הסבר ;: 7 "תנאים א' 8 --תנאים א' 9 תנאים בי 2 תנאים א' או 25 ; (דשקדט0 , צשפא1) פ5הממוטא אהתססתק הג ,תתסמעאז : 22 ,21 ,2 ,41 אזספם ;(' : פתת0עד1א1 ע0 הדגק צפתדע מחד המעאם מפהתתק') מדזתט [ זוג מספרים ראשון + ; (42 ,41) אתפגמת ;(' : תדבע כא5₪00 מחתך תמלאת') מצדתשט [ זוג מספרים שנ: ָָ ; (82 ,21) אזכהמת ; א.[17₪ת ₪ ; ((42=82) עא8 (41=81) ,' 15 א1110תא00 עפתדק מאע') אהמדדגע ; ( (42=82) הס (41=21) ,' 15 א10ע1תעא00 5פא5500 מצד') אומדדתט ((42=81) 05 (41=82) ,' 15 א110דפא00 פתדאד מאע') אומצנתקא . פא ; (01קעש0 , צטפא1) 15אמפטדפ אהתססהק הג תתסמזא1 : 15א01ע ,אמ5 , הממאטא עאמפט51 1 סט , דהסזטת אזסטם ; (' : תממאשא 7אמפ510 מפהמק המצאם') מקזתטק [ מספר סטודנט ָ ; (הממאטא נאמפטדפ) אנפהטת :(' ? (0=ם,ןאטת/ 1=ם 1א) 55% תמדאת') מקדתט [ מין: נקבה=1, זכר=0 + ; (588) א,זסגמת (י ?0 מ פצאדסק צאגא אסא') מעדתח [ מספר נקודות ָ ; (15א01ק) אזפוטת 7 ?מז צאמפסד5 מו 15 צהחא ') מדדתטח ( גובה הסטודנט/ית ָ ; (107מת) א.זפהמת 8( ?ןדמ לאמפט5 ממד 15 עגזא ') מעדתט ( משקל הסטודנט/ית ָ ; (010711) א זסאמת ; א[מדזו (1.8 < זמ10מת) פאה (85 =< פעאז0ק) עאה (1 = אמ5)) אתמדזתק ש מתאים להיות איש ביטחון: ' ,(70 < תחה0דשט) פאה (' סטודנט מספר ' ,53:תממאטא עאמפטזפ . פא 6 תוכנית 5% ; (00102 , צטקא1) 5א800% אגתססתק (1) מגט (2), 1 תומצ הסע צגק (3) ; תמסטעא : פת4מצ , מאז | אס = צגס (8) ;אומ01סת :- 6 ,5 ,4 (5) אנספת (6) ;(' : תהמצ ב תסע מס1בט 5א200% מנו תמצאם 58במתק') מצדתט (7) ( ערך הסחורה שקנה הלקוח במשך השנה + ; (תהמצ הסע צגק) אזפגמת (8) ;(' ?(0א=05/0צ=1) מאדך אס פתנתזם עה צמק מא פנכ') מצנתט (9) ; (פאנד אס צגת) אזפגמת (16) ;(' ?7אתך0 זז תסקע מאנד מסדטתסם מו 15 עגט') מדדתט (11) ; (פתהמצ) אתסהמת (12) ; א דדוש (13) 1 < תגמצ תסע צגק =: ב (18) = מאדך אס צגק =: ם (15) ;5 < פתהמצ =: 0 (16) (' תן ללקוח טיפול מיוחד: ' ,8 05 60 פאג ) אומדזתט (11) .עאע (18) הסבר: ארבעת התנאים מזכים את הלקוח בטיפול 2 אפש לצמצם. 0%- -(4099)15840- -40+80+8 1 הערה: הסימן '+' הינו סימן ב המבטא פעול : 27 פרק 3 לולאות ערכו של 5: לאחר לולאה לאחר לולאה ראשונה נקבל: 5=99. שניה נקבל: 1-=5, וזהו גם ערכו של 5 בסוף התוכנית. 8 מספר המעבר ערך התחלת* ספ = ₪ = תוס = ₪ 6 ת\ש נר 1 2 3 1 5 6 7 יצ = ₪ )אא = ת ס4 רר יאה מהלו לאה הפלט יראה כך: 7 9 6 5 5 5% 4% 2 3 3 2 2 1 1 0 שאלה 3 בהרצה של התוכנית בשלבים נקבל את התוצאות הבאות: מּ מספר מעבר פיִ = טא כ הא = ₪ 6 ת) 1- סס 1 1 2 3 5 8 3 1 1 2 - = = ₪ ט תסס נש = 8% סס 0 + הפלט יראה כך: 8- 21 13 8 5 3 2 1 1 "שאלה 84 ערכו של צַמא15₪14א בסוף כל קטע: ת = תש אצ טש > 4 29 תוכניות יתוכנית .1 ; (צשפצטס ( עלשפא1) 4%0₪ד אגתססתק הג ; תמסטזאז : א50 ,אמפאת ,א אזסטם [ קביעה של ערך התחלתי + =: אספ ; ( '50% (א)% (א)50 א ') איזמענ1תט 7 ) ' שששששששכשששכשםכשפשבששבששבששבפשפפשששפשששששששם ו ) אתא [ לולאה של 25 צעדים + 0 25 170 1 =: אמפא1 הסק אזסטם [ סיכום בכל שלב מ-1 עד אמאפז + ;פאז + א50 =: אספ (508:12 ,12:3:(אמפא1) 50301 ,12:(אמפא1) 50 ,6:אמפא1) א מצדתט פא . פאם .תוכנית 2 ; (101טס , צטפא1) .014סע אבתססתק הג ; תמספזא1 : אמפאז ,א [ המשתנה מוגדר כך, כדי שלא יהיה א0קתמט0 + :1 צסגש אזסםם :(' ?= א') מדדתט ; (א) אנפגמת [ ערך התחלתי + ;א =: עסגק ;אמפאן * ע0גק =: 401ע 20 1 10אאסע 1-א =: אמפא1 תסק (407:1:0ק ,(' = וא') אמדנתט . פא 30 תוכנית 3 ; (001001 ,עטפא1) אאגם אהתססתק (1) הגץ (2) ;הנאת : עטס צמאסא ,אד עפאסא ,אצאסת (3) ;ות : 90 ,עפמתתנא1 ,908 7 (5) - אזספת (5) ( ערכים התחלתיים + =: זואסא (6) 1 =: אך עשאסא (71) 1 + 100 =: עט0 צמאסא (8) )9( 1. = ;('יתרה בסוף חודש יתרה בסוף חודש') אמד1תח (10) ) אוזמדזתט (11) ;('חודש | הכנסה | הוצאות | לפני ריבית ‏ ריבית אחרי ריבית ' (12) ) אזדנתט (13) ,2 יו ה רק 0( 0 < 04 מעדצטח (15) אזספם (16) [ מונה החודשים + + זתאסא =: הצאסא (17) ;טס צטשאסא - אד עשאסא + מהסד =: א0פ (18) [ חישוב הריבית + 1 * 58 =: עפתתמצאד (19) ; 1סעתמצא + 508 =: 7074 (20) 2 ,1:10:2מתתדא1 ,10122:10:2) אמצזתט (21) (8:מ1אסא ,8:א1 צשאסא ,10:טס צמאסא (22) פאם (23) . פא (24) תוכנית 84 לפתרו|ן בעיה זו יש להחליף בתשובה לתוכנית 3 את שורות 7 ו-8, בפקודת כגמת מתאימה. תוכנית 1 ; (02קעט0 , עטספא1) מאזתק אגתססתכע (1) האג (2) ,אמז0סת : | מאזחק (3) ;תאז : א ,אמפאד (8) אזסמת (5) ;(' = א') מענתח (6) ו ; (א) אזפאמת (7) [ המחלק הראשון *היה 2 + =: אמפאך (8) 0 (0 < אמפאד פסא א) פאה ((א) 5021 > אמפאד) ₪ ודוה (9) )1 + אמסא =: אמפאדך (10) ; (0 = אמפא1 כסא א) עסא =: טאזתק (11) ('המספר ' ,1:א ,' הוא ראשוני ' ,מאנתק) אומדצזתט (12) .פא (113 1 להלן מספר דוגמאות שיבהירו זאת: דוגמה 1 מספר דוגמה 2 מספר 8026)12( * 1‏ 12 6 = (502%)36 46 מחלק מחולק מחלק מחולק 2 6 2 8 ו 8 3 12 84 3 1 9 6 2 - 6 6 9 84 12 3 8 2 תוכל להבחי ן בכך שהטור של המחלק זהה לטור המחולק, אך הפוך לו. אם 66%מ1 קטן משורשי ב. אם א לא מתחלק. ב-א86 הל ולאה" : 32 -תוכנית 8 ; (צטקטס , צטקא1) ₪001 אהתססתק תג )זומת : 2 ,כ ,א אזסטם ;(' = א') מדדתט ; (8) א;זסהמת ( הדיוק ָָ ":-: 2 [ ערך התחלת* + 21 =: 2 0 א *פ =< ((4) 50 - א) 486 מתדתט .2 / (ב / א + 2) =: 2 (6:8: א * כ ,' = אע ' ,6:8: ,' = ג') אומדזתט . תא 90 כל זמן שהערך המוחלט של. השג יאה גד מוצאים 4 חדש לפ< הנוסחה. < | = היציאח מהלולאה תתבצע. כאער. .תוכנית 9 ; (עשקנט0ס , צטקא1) ₪001 אהתססתק ‏ (1) הג (2) ; תמסמעא1 : תמלאט00ס , אמפאך (3) ([ 261%8 = כ + ;1 :1 8 ,5 ,א (8) אזסמם (5) .(' = א') מחדת (6) ; (א) אזפמת (7) ; ( '5קמ91 אפ פ 4 ') אזמדדתט (8) (' ההחחההההההחההההההההההההההההההההה---------- ‏ ') אתתדדתקט (9 0 100 70 1 =: אמסאך הסקע (10) אזסמם (11) ( מונה מספר הצעדים + ]6 =: המץתא000 (12) ,אמפא1 * 0.001 =: כ (13) ( ערך התחלת: ָ 2 / א =: ב (18) 0 א *כ >< (() 50 - א) 485 מדחא (15) אזססם (16) 1 / (ג / א + () =: ב (17) 1 + מעאט00 =: ממעתאטסס (18) [ 116מ₪ )+ ;פאם (19) (1₪8:106א000 *כ ,2:10:23 ,4:10:8) אומצדתט (20) [ שעס? + פאם (21) . עאם (22) 3 | מציאת. השורש בל ו בדומח לנתר / | תוכנית :10 ; (עשקנטס , צטפא1) קגמ אגתססתק (1) תא (2) ; תמסמעתא1 : ספדם (3) : קאמדך ,תה10טת ,דסא ,זתסא (8) אזסםם (5) 0% =: | קמךפ (6) )7( 1071 := 1 =: הדסנט (8) 1 =: תתסזטת (9) ; ( 'שלב רוחב הדיקט אורך הדיקט גובה הדיקט ‏ ') אמדדתט (10) -1/ לי ולדח חתות יתת תתה ה פה התהש ה ההה ה 7-7 ------ ') א ונחש (11) : (2:10מ 51‏ ,1:18:8תנא ,0:18:4א ,10:2:תה0דמת) אתמדדתט (12) ץהמסטת (13) / א =: זא ] (18) * עהסדסם =: יתהזמת (15) 0 אדכתש > זזטאמ1 וצח (16) אזסמם (17) [ החלפת ערכים בין צתכ1א ל- זזסאמ + ;1 >: - קאתך (18) [ בעזרת משתנה עזר בשם <אחץ. ָ ;1 >: דדסדא (19) קאמ =: זוטאמן (20) ; פאם (21) 1 + כם57 =: קמךס (22) (5102:10 ,18:2:נדכ1ט ,14:52:זתסאקן 2 : 0דטת) א,זמדזוט (23) 0 =< עחסזמה דעאט (28) . עאם (25) 38 ; (טק1ט0 ,תטקאד) המסמעאד 10057 אהתססתק : תגט ;תומת : א אזסמם ([ א גדול מ-זא1אגא ולכן מגמת + =: א , ' הוא ' ,4:((א) 507) סאטתץ) אומדדתה ( 'המספר השלם הגדול ביותר שהריבוע שלו קטן מ-' ,1:0:א . פא דרך נוספת לפתרון בעיה 11, תוך שימוש בלולאות: ; (תשקעש0 ,עצטסאד) תמסמצאד 10₪97ם מז אגתססתק ומת : אמפא1 ,א .142555 =: א [ ערך התחלת: + 1 =: אמפאך + אמפא1 =: אמפא1 20 א > (אמפא1) תש דוו ,' הוא ' ,1:0: 1 - אמפא1) אמצנתט ( 'המספר השלם הגדול ביותר שהריבוע שלו קטן מ-' ,1:0:א . פא 35 תוכנית 12 (1טפטס , צטפא1) תמאסק אההססתק (1) האצ (2) [תעסטנאז : התחסק ,א ,2 ,4 (3) אנספת (5) :(' = ג') מצנתט (5) ; (8) אזסאתת (6) ](' = ם') מצנתט (7) , ג (ם) אזפאמת (8) ך ערכים התחלתיים + 1 =: א (9) 1 =: תמשסק (10) 0( 5 > המתשסע מודחאט (11) אזסטפם (12) 1 * תמאסק =: תתאסק (13) 1+ א =: א (18) ; פאם (15) / בחזקת ' ,1:א ,' קטן מ- ' ,5:1) אתמדדתט (16) (1:א ,' הוא השלם הגדול ביותר המקיים ' ,4:1 (17) .פאע (18) יש לשים לב שבלולאה זר היצ "מוסיפים עוד .1 במעבר. האחר. הוא אפס (60), "הרי ערכו. בגמו במקרה של 8 ל 4 אז: התשובהי תוכנית 13 א' ; (ע פטס ,טפאך) 4 1008 אגתססתק הג (ווות צאזאגא + ; תמ זאד : אספ ,א ,אתפאד אזנסטם .(' = א') מצדתט : (א) אזסאמת % =: אספ 90 א 740 1 =: אמפא1 תסק ] סיכום של א האיברים בטור + 11 - אפפא1 * 2 + א0פ =: 508 (508:1 ,' פד ספ טנ'') אתמדזתט . פא 46 תוכנית 13 ב! תוכנית 13 ג' ; (02ע001 ,צטפא1) 5 1008 אגתססגע (1) תגט (2) ; תפסתעאך : א ,אפפאך (3) ;ות : 508 ,תמטסק ,א (8) אנסתםת (5) ;(' = א') מצנוט (6) ; (א) א1פאמת (7) ;(' = א') מצזתט (8) ; (א) אזפאמת (9) =: אעספ (10) =: תמחסק (11) 0 א 710 1 =: אמפא1 סק (12) אזסטם (13) ; סק * אמפא1 + אספ >: אספ (18) א * תמאסק =: התחסק (15) ; פאם (16) (808:8:2 ,' 18 אספ מתד') אנמצנתח | (17) . עאם (18) ; (07עעט0 ,עטקא1) 0 1008 אגתססתק (1) הגץט (2) ;תמסעזאז : א510 ,א , אמפאד (3) ;ות : 508% ,תמאסק ,א (5) אזסמת (5) ;(' = א') מדדתט (6) ; (א) אזפגמת (7) ; (' = א') מדנתא (8) ; (א) אזפאמת (9) 0% =: אעפ (10) ;א =: המטסק (11) 1 =: א10פ (12) 0 א 70 1 =: אמפא המסק (13) אנספם (18) ;(1 - אטפא1 * 2) / תתטסק * א10פ + 508 =: אספ (15) ;(א) ת50 * תתטסק =: תתטסק (16) א0תם * 1- =: א16פ (17) ; פאם (18) (508:0:2 ,' 15 508 מחד') אנמענתט | (19) פאם (20) 37 תוכנית 18 ; (צשקטס ,צטפא1) צגק אסא אגתססגק תה ; תמא : א : תמחסק ,ם ,7 ,ק אזססם ע') מצנתט (פ) אזפגחת :') מצנתח (1) א,זסהמת = א') מדדתט ; (א) אזפוסת :'|(1 + 1) א1 * א ) פאם =: המטסק ]1 - המאסק) / בתאסק * 7 * ק =: רת ( 'התשלום החודשי הוא ' ,3:2:ת) אומדזחט . פא -- .. 8-8 >-ף - . "תוכנית 15 ; (01ק1ט00 , דטפא1) 0115דכ פיט 1 אהתססהק האל ;ומת : 3 ; תתסמעא1 : 10175 אזסטם ](' = א') מדנתחט ; (א) א;זפאמת 60 =: 1075 [כדי שהתוכנית תפעל עם מספרים שליליים+ 0 1 >< (א) 45 אתזחט אזסטפם ]1 + 10115 =: 101765 60 / א >: א ; פא ('במספר זה יש ' ,210115:1 ,' ספרות משמאל לנקודה') א ןמזו . פאק 88 פרק ! הסתעפויות שאלות טאלה 1 א (5 = א) 08 ((0 > צ) פאה (0 > א)) ק1 ]2 + ץצ + א =: ב שאלה 2 א. 10 = 4 ב, 2 נשאר אותו ערך שהיה בתחילה. טאלה 3 . התוכנית מוצאת אם מספר מופיע ברשימת מספרים. אם הוא (מצא ברשימה היא מוצאת את מיקומו. ב. הפלט הוא המספר המופיע במקום 5 ברשימה. שאלה 4 התוכנית מוצאת את היום הגשום הראשון בחודש, ואם אין *ום כזה באותו חודש - היא מודיעה שלא היה אף לא יום גשום אחד במשך החודש. ב1. משפט ה- 1₪חא יראה כך: פאה ((18 => ג04001) 08 (0-א510ה6)) ממדחט 0 (0505ג40ם אזאאצ > אסצ) אפאד (18 < ג04008) פאה (0 < א045808) שד ,' היה גשום ומידת החום בו היתה מעל 18 מעלות') אזמצדזתט ('יום ' ,1:א08+ 39 ופ , 'במשך החודש שמידת החום בו היתה מעל 18 מעלות ') אמדדזתט ('לא היה אף לא יום גשום אחד ' ב2. פאה ((7 =< אסטאגא) הס (0-א0450)) םתד 0 (אפמפסאסגם אזאצ > אסצ) אמח (7 > אססאגא) פאה (0 < אעופהס) סד ,' היה גשום ומידת החום בו היתה למטה מ-7 מעלות') אתמדדתט ('יום ' ,08:1צ פס ,' במשך החודש שמידת החום בו היתה למטה מ-7 מעלות ') אומצדתט ('לא היה אף לא יום גשום אחד ' ב3. ; (עשקצטס ,צשפא1) אתחפמס אהתססגע (1) הג (2) ,פצם ,אתפאד ,3 090% ,2 אז5 הס ,1 אטה5ה (3) ; תמסטעאז : 0ס60הם אתאהצ ,אסצ ,מסטאגא , סטג (8) אזספת (5) ; (840800098 אזאהצ) א;זפהמת (6) % =: 5צגכ (7) [ שלשת הימים הראשונים + =: אמסא (8) ; (חסטאהא ,080081 ,1 אט5ה0) אזפוסת (9) ; (אסטאהא ,00008 ,2 א0ה5ה0) אתפאפת (10) =: א0צ (11) 0 (3 > פצבכ) פאג (הפמפסמסהם אדאהץ > אסצ) מווחו (12) אזססם (13) ; (0₪טא ,04008 ,3 א0ה5ה0) אזפגמת (18) : 1 + א08צ =: 0%צ (15) אחז 3 0908 + 2 אסחפהס + 1 אשחפה0 > פצהכ קד (16) אזספת (17) ה + 2 05008 + 1 אש9ה0 =: פצהפ (18) 8% =: אמפאך (19) [+ג3 + ;פאם (20) 2 08 =: 1 04588 (21) 3 אפס =: 2 אטחפהס (22) ( 116תש + ; פאם (23) ,3:אמסאז ,'היו הגשומים ביותר במשך החודש') א מדזחש (28) ('הימים ' ,2:3 - אמפא1 ,1:3 - אפסאד (25) .פאם (26) 0 הער בפתרון שאלה זו וב לפי תנאי הבעיח בל | ולתת כותהות. והסן תוכניות תוכנית 1 ; (עטפדטס ,צטקא1) 4 עצפ 8 אגתססחק הג ; תמסמנאז : 18 ]אז300 : 2800 15 4 פסא 5 אזסטם ; ('הכנס 2 מספרים שלמים') א מדדתח ;(' = ג') מדנתח ; (8) אוזסאחת ;](' = ם') מענתט ; (8) אזסהחת % = 4 סא 5 =: 280 18 ג פסא מ ('פ מתחלק ב-4 ללא שארית ' ,280 15 4 פסא ם) אמדדתקא . סאק ; (002002 , עטפא1) זמאתא אהתססתע (1) מאגץט (2) : עאד0ק אס1צסטפמת ,0087 ,0%פ (3) אנסעם (5) ; (2א201 א110סטפטת) אנסאמת (פ) % =: אטספ (6) זמקקת (ד) ; (0051) אזסוחת (8) 1 1 + אשפ =: אספ (9) % = 0052 מנצאט (10) ; א1זדזחשט (11) אפחע עא01פ א0ס1עסטפעת > אטספ עד (12) ('הקונה לא מקבל הנחה ') אזמדדתט (13) )184( ₪ אזסםם (15) : ('הקונה מקבל הנחה של 5%') אומדדתט (16) 5 * 508 =: אספ (17) ; פאם (18) ('חשבון סופי לתשלום: ' ,504:4:2) א]מדדתט (19) .פאם (20) ; (507עט0 , עשקא1) תד אהתססתק (1) תאצ (2) )3( 4, 2, 0: אזסטם (8) ; ('הכנס 3 מספרים המייצגים את אורכי הצלעות של משולש ') אזמדנחע (5) ;:(0 ,5 ,ג) אנסהמת (6) אשחו ( > 0 + ם) 05 ( > 0 + 2) 0 (0 > ם + ג) סד (7) ( 'הצלעות אינן יכולות להרכיב משולש ') אומדזתשט (8) חפ (9) אפזוז (0 = 8) עאא (8 = ב) קד (10) ('משולש שווה צלעות ') אומדדחט (11) כ[ | (12) א (0 = /() 88 (0 = 8) 05 (ם = ג) קד (13) ('משולש שווה שוקיים ') אמדצדתח (18) לכה (15) ('משולש שונה צלעות ') אמדדט (16) 22 לתרכבית 5% ; (07קט0 , צשקא1) 001085 אהתססתק 1 11, 120 14, 21, 22, 2%, 31, 32, 43, 01, 02 3% ; תמסטעאך : הג (תתצא000 ,מצם ,תדגת (אמטתה אסהם ,אחסתם אסגם ,מטעם אסג.זם , אממתס + אאסתם , אזוסתם | אזוסאם , סז | אזוסהם אמטת ‏ ספת , אזוסהם | פטתּ מטם | פאת אממתס פאס.1 , הסה | פאס.זמ ,וז | פאס.ז פ פס 0 1 0% אז0פת ו שטעם אסג.זם : אאסתם 1/0 : אמתהס א0זם מט/זם אזוסתם : אאסתם אזוסתם : אמתה אזוסתם מטתם ספת אוסתם ספת אחמתס פחת 8 פאסזם : אאסתם פאסם : אמפתס פאסם 0 עסם עסא ₪זצא אזסטת ; (מעם ,תדגת) אזפאמת + תמעא000 =: 00 שס הזגזן 0455 אמח 1 = סע ע1 :1 00 1 אמתך 2 > מעם עך 070 2 ( 3 = םש ) מפם 0010 1 מסזם אפך 1 = מצם קך :2 070 1 אמחך 2 = מעם עך 0070 2 (3 = מצם + מפות 0070 1 פפזם אמתך 1 = טצם עך :3 0070 1 אמא 2 = מצם עך 0070 2 [ 3 = פצת )+ מפם 0010 1 ו )9( )10( )11( )12( )13(- )18( )15( )16( )17( )18( ₪7 אוו 1 = מצת קך :48 1 070 ₪ אמחך 2 = מצע עך 2 600 [ 3 = מעם )+ מפסםת 3 6010 ; פא + מעשעם אסג1ת =: מסתם אסהם 11 1 00 1 + אחסתם אסגם =: אחסתם אסגם 11% 1 000 1 + אמעתה 140% =: אממתס אסגם :12 1 010 1 + 2108 אאסתם =: מסגם אחסתם :2 0070 + אחסתם אאסתם =: אחסתם אטסתם 2201 1 0070 1 + אמסתס אאסתם =: אממתס אחאסתחם :2 1 0010 1 + מטם ספת =: מטעם פסת :2 1 070 1 + אשסתם כעת =: אאסתם כאת :2 1 0070 15% + אממתס עטת =: אמטת0 פמת 1 1 0070 11 + 2108 פא210 =: מטעם פאסעם 1 1 070 1% + אשסתם פאסם =: אשסתם פאסעם 1 1 070 1 + אמסתס פאסת =: אםטח0 פאסם :1 ( +60 ססם 116תש + ;פאם :99 ; ('צבע שיער | צבע עיניים אחוז מהאוכלוסיה') אזמדדזתח (' חחהההההההההההההההההההההההההההההההה7--------') אתפננתט ,: 100 *תמדא0 00 / מטזם אסגעם) א מדזאח ; ('שחור כחול , : 0 *תמנאטסס / אוסהם א210%) אמדדט ; ( 'שחור חום . : 100*תמאט0ס / אממת אסה1ם) אמדדתח ; ( 'שחור ירוק י : 100 *תמץאט00 / מסתם אאסתם) אעמדזתט ;('חום כחול י :100 *תמיאט 00 / אזוסתם אטסתם) א זמנדדתט ; ('חום חום ' :+00 / אממתה אאסתם) אוסצנתט :('חום ירוק , *אט 00 / שטזם פמת) אהמצנחט )('ג'ינגי כחול , :100 *המ א 00 / אחסתם פסת) אותדצדתח ; ('גינגי חום . :100 *מ 000 / אממתה עסת) אזמדדתט )('ג'ינגי ירוק ,00012 / מטגם פאסם) יו (93) ; ('בלונדי(: כחול ,2 **תי א 00 / אשסתם פאסמם) שו (98) ; ('בלונדי(: חום ,2 + 000 / אממת0 פאסגם) אזפצדתח (95) ; ('בלונדי(י ירוק י ; א זטידנתח (96) ('גודל האוכלוסיה הוא: ' ,88:20תא000) אעצזתט (97) . פאם (98) תיאור גרפי של פקודת ה- 04588 נראה כך: 1 שחור 2 חום 3 ג'ינג'י ש - 2 . = ₪ % = 0 % ₪ 0 = 4 בלונדי(: ו 5 6 ; (201ט0 , עטפא1) 210115 אהתססתק ; פמסטדא : ;אמ 001 : הג 8,ג וני אזססם ; (8 ,4) אזפומת =: 1017 0 דכ סא פאג (6 < 8) 0 1 ם >*: םוזזהט אזסטם = 10 סא 8 =: 1017 ('הספרה 8 מופיעה ב-8: ' ,1012כ) אומדצנתח . סאם ; (2 שק 0 , צטפא1) א10ע00ש מתהס50 אגתססתע (1) האט (2) :1 ,2א ,1א ,כ ,0 , ,4 (3) אנססם (5) ; ('הכנס את שלושת מקדמ* המשוואה ') אמדזתא (5) ; (0 ,8 ,4) אוזסגמת (6) 6 * ג * 4 - () 50 =: כ (7) אטח 0 >= כ עד (8) אזסשם (9) ] (ג * 2) //ם - =: 1א (10) ('יש רק שורש אחד: ‏ ' ,1:2:2א) אמנצתח (11) פאס (12) פוט (13) אמח 0 < עפ עך (18) אנספם (15) ; (9 * 2) / ( (כ) 8001 + ם-) =: 1א (16) ;9 * 2) / ( (כ) 8081 - 8-) =: 2א (17) 2 ,' ,' ,1:2:2א) אומדדתט (18) ('יש שני שורשים ממש'ים: ‏ ' (19) פא (20) [0>פ + מס (21) אזסמם (22) ](8 * 2) / ם- =: 1א (23) ; ( (ע) 485) 8007 =: 1 (28) ,1:8:2א ',‏ , ' ,1:8:2 1'0+' ,1:8:2א) אטננתה (25) ('יש שני שורשים לא ממש'ים: ‏ ' ,1:8:2 (26) עאם (27) . עפאם (28) תוכנית ד ; (1 0010 , צטקא1) 501 אגתססתק )('הכנס 3 מספרים ') אומדדתט ;]0 ,5 ,8) אנזסהמת 0 (8 > 0) 08 (ג > 5) מנחטח אזסמם אחוד 5 לב תד אזסטם ( החלפה בין 4 ל- 8 בעזרת משתנה עזר פאתץך + =: קאתך 2 *: 4 קאעך =: 8 ; פאם אאחך 5 0% קד אזסטם ]ם =: קאמך 0 *: 8 אע =: 0 פאט ,תוכנית 8 [ 1- מסמן את סוף סדרת הקלט + ; פא (0:10:2 ,2:10:2 ,2:10:2) אמדדתט . פא ; (01קטס , צטקא1) פאתגא אהתססתק הג , דמוא , צתספדו ; פמסמנאך : הע1אט0ס א ,תמנאטסס ג אזסמם 0% =: המדאט00 א 1 =: התצאט0ס א ; (41105מוד ו , צ315108) אזפגאמת 0 1- <> צתסצפנע ממדאט אזסטם אפזו 1105 המדא < צתסצפדת קך 1 + תעעאטסס 4 =: תםדצאט00 א ₪ )1( )2( )3( )8( )5( )6( )7( )8( )9( )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( אזז 1105אמהא > צתסצפדטא עך (18) + תתצאס00 א =: תמזאטסס א (15) ך השיויון 05ד7ך2אמ1דא = צת₪1510 לא נספר + (16) (105ימז/א , צת0דפדו) אזסהמת (17) ; פאם (18) ,' תלמידים קיבלו ציון יותר גבוה במתמטיקה. ') אְמדנתט (19) ; (1:תמצאטסס א (20) ,' תלמידים קיבלו ציון יותר גבוה בהסטוריה. ') אומדדתט (21) (1:ם1אט00 א (22) .עאם (23) ; (עשקצטס , צטקאד) פאתגא אגתססהק (1) הגט (2) ;תמסתעאד : 5תדגת ,אתגא אדא , אתגא אגא , המזאט0ס , אההא (3) : תה (8) אנססת (5) % =: מ)התמטה (6) )7( 65 := 6% % =: המצאט00 (8) ; (אתהא) א,זקאמת (9 ;אתא =: אתגא אגא (10) ;אתא =: אתגא אזא (11) ( 1- מסמן את סוף הקלט + 0 1- <> אתגא מודאט (12) אזספם (13) ([ מספר הציונים | + תםדא000 =: המצאט0ס (18) ;אתא + מההתתע =: מבסהתחעבה (15) אמות אתגא אגא < אתגא שד (16) ;אתא =: אתהא אגא (17) אפ אתגא אנא > אתגא עד (18) ;אתא =: אתגא אזא (19) אעחד 60 > אתגא עד (20) 1 + 105גע =: פעדהק (21) (אתגא) אזפגמת (22) ( 116םט + ;פאם (23) אמא 0 < המעאט0ס סד (28) אזסמם (25) ;00 / מסהתט/4 =: מסהתמעה (26) ;('ממוצע הציונים: ' ,4:2:מההתתטה) א[מצדתט (21) ; ('מספר הכשלונות: ' 1 א דט (28) ; ('מספר הציונים: ' ,1 00) א ומדזתט (29) ; ('הציון הגבוה ביותר: ' ,1:אתהא אגא) אזמדזוחט (30) ('הציון הנמוך ביותר: ' ,1:אתגא אדא) א מדדתט (31) פאם (32) . פאם (33) 88 הטב אזוו ו-אאא מקבלים את ערך חצירר הראשו ‏ ." | באשר הצ 0 האר == ערכ: 7 לק תעדכ גר > בהתאם כאשר הציון הוא 0 > הקטע. בשורות 213 שא מתבצע : חראשו ו אז 0=ת78א000 - הקטע בשורות 5 לא יתבצע תוכנית 10 ; (דעסדטס , צטפאד) ₪5/סא4 אהתססתע (1) אפ (2) ;תומת : מתטסאה (3) אנסתם (8) ; ('הכנס את גודל הזוית במעלות ') אמצדתק (5) ; (/01א4) א זסגמת (6) אמזו" (360 => מת6א) פא (0 =< םסאג) ‏ עד (7) אזסםם (8) אחז 360 = םתסאג ‏ עד . (9) 1 =: םסא (10) ' מעלות נמצאת ברביע מספר ' ,1:1 + (90/ש1ס6א2) סאטתץ) א מענתט (11) ('זוית בגודל ' ,008:8:2א4 , (12) פא (13) פוט (18) ('זוית שגוייה !זַ') אתשדנתט (15) .פאם (16) תוכנית 11 ; (2 טס , צטפא1) 5ם .סאג אההססתק תג 1 : טאה אזסטם ;('הכנס את גודל הזוית במעלות ') אןמצדתשט ; (01.8א4) אעסגמת % - 008א4 =: ממטסאה 0 360 =< ממטאה מודאח ' מעלות נמצאת ברביע מספר ' ,1: 1 + (90 / שמסאה) סאטתד) אתמדדתט ('זוית בגודל ' ,008:4:2א2 , . פא 9 כאשר. הזוית להי .מ- 360 מעלף + שמתקבלת זרית "הקטנה.מ-. 360. 'מעלו "זכור, כ?:זויָת של. 360 מעלות ה*4 זוית בת 9 מעלות:שוות לזגית בת 1 מעלות;< ל 12 1 רבטה‎ 9 + בדיקה האם המספר. מתחל יב 27 = | אס המספר ‏ מתחלק. ב- -2 אז: שורח :12 לא תתבצע,: אי המספר: א* נו + מתחלק נעשות על מספרים א 59 התוכנית מתייחסת לתוכנית [, פרק 3. ; (נשקעט0 , צספא1) מאזתק אגתססתק (1) הג (2) ; א4מ.8001 : מאזתק (3) ;תפסמנאז : א ,אמפאך (84) אנספם (5) ;(' = א') מקדתו (6) ; (א) אזפאמת (7) 2 =: אמפאך1 (8) אחז 0< אמפאז פסא א א1 (9) ;1 + אמפא1 =: אמפאד (10) 0 (0 < אמסא כסא א) סאג ((א) 501 > אמספאד) מז (11) 21 + אמסא =: אמפאך1 (12) שת אם המספר ראשוני + ; (0 = אמסא1 פסא א) עסא =: מאזתק (13) אמזז מאזתק ע1 (18) ('המספר ' ,1:א ,' הוא ראשוני ') אמדזתת (15) )16( ₪ ('המספר ' ,1:א ,(' איננו ראשונ* ') אממצדתת (17) .עאח (18) : בדיקת החלוקה בשניים היא למעשהה אם א מתחלק. .ללא שאר ית למספה: הזר ג5; ואין צורך לבדוק:את חלוקתו: במספרים. 1 ב-2 אז בדיקות חל תוכנית 13 ; תמדא : שס (5 * פתמסאמפפגק אהו + 5 208 100% [ ; (01ק1טס , עטקא1) 6305 אבתססתק הג , 5505 אגא , פהמסאמפפק 6 55ת ,5 85גת ,3 485ע ,3 = 8 ,2 955גק ,1 פסגק 5. הפק ,3 המק ,3 | התץ ,2 | המק 0 חמק אזסטם % =: 1 4885 % =: 2 45885ק 1 =: 3 4958 %1 =: 2 85ס % =: 5 2498 1 =: 6 455ק % =: 1 תחק 1 =: 20 המק 1 =: 3 תמטק 1 =: 2 המסק % =: 5 תמק ; (035א55ק אגא , פתמסאת5פגע) אזתהמת 0 0 <> פתמסאמפפגק מודחט אזספם 0 פתמ0א55ת 055 1 + 1 55 =: 1 5פת :1 1 + 2 2485 =: 2 485 :2 1 + 3 455 =: 3 פפגק :3 1 + 5 85 =: 5 8פגק :4 5 + 5 2485 =: 5 24858 :5 1 + 6 24855 =: 6 71585 :6 ;כ / 55035 ק) ו ₪ 1 + 1 תסק =: 1 תתק : 0 + 2 המק =: 2 תק 1 1 + 3 תמק =: 3 תסק 2 1 + 5 תמק =: 2 תתק : 3 1+ 5 תע =: 5 התק : 5 ,8 ; פאם (05א455ק אגא , פתמסאמ5פק) א זכגמת [ 116תש + ; פאם ; ('מספר נוסעים מספר מכוניות ‏ ') א מדדתח הההחהחההההה7777777777----------') אתמדדת 1 (1:15 ,1:10 255ק) אמפדזתט 2:15(1 ,2:10 455ק) אומדדתט (3:15 ,3:10 5פגק) א מעדזתט ;(4:15 ,10 :5 88) זז ; (5:15 ,5:10 255ק) אןומדדתט ; (6:15 0 855ת) א מדזח ; א, זז 1 'אחוז ניצולת מספר מכוניות ‏ ') א מדזאט החהההחהההה7777777777-----------') אומדדחט :(0-20%':15 ' ,1:10 תמק) אהמדדתט )1( )2( )3( ; (15: '20-80% י ,2:10 תמק) אמדדתה (50) ; (15: '40-60% י [3:10 תסק) אמדדתא (51) ; (15: '60-801 י !4:10 תמק) אעמדדת (52) (15: '80-100% י |5:10 תמק) א מקזתא (53) . הסבר :.? הנוסחק שבשורה 29 מיועדת המי יצג' את התחום של אחר ד ו + את המספר/ .2 שמ יצג. את התחום. התוכנית 15 א (ש 0 צטקא1) לאדאגוו מתהטם אגתססתק (1) )2( 0091 [ דא 0091 מפצד תומת + ]0 2767 = [אדאא (3) פוט (4) ; תמסמעאך : 8 ,4 (5) ;ומת : [אמת 48 ,זומת 8 , זומת 4 (6) אזסטם (7) ,4) א זפומת (8) =; המת 4 (9) ;ם =: תאמתיע | (10) ;זומת 8 + מומת 4 =; תומת 48 (11) אפזזד שאזאהא < (מומת 48) 5פא ‏ 18 (12) אפזיד 9 21 0> מגמת מ "ד (13) , 1:0 :תאדאון = (,1גמת 48) 5) אזטזזתח (18) ('סכום המספרים קטן מ- שאזאוא- ‏ ב:' (15) ככפופן (16) , 1:0 : דאדאן - (,זגמת 18) 65) א,זמידזותט (17) ('סכום המספר*ם גדול מ- זאזאא ב: ' (18) ₪ (19) ( 'סכום המספרים הוא ' ,8:1 + 4) א פדדתו (20) ,םאט (21) 2 ; (עטפצטס , דשסא1) דאך1אגא מתהחטם אהתססתק הח ; תתסמעאז: 8 ,4 אזסטם ; (8 ,4) אזסומת אמח 0 >< 5 עד אפ 5 - צאדאגא < א עד ,1( - צאדאהא) - 4) א מעדתט ('סכום המספרים גדול מ- זַא1א3 ב: ' ₪ ('סכום המספרים הוא ' ,8:1 + 4) אזמדזתח [0 > + ₪ א 5 - עאזאגא - > 4 עד ,1 - (₪ - צא1אגא-)) א מצד ('סכום המספרים קטן מ- עַאזאגא- ב: ' ₪5 ('סכום המספרים הוא ' ,2:1 + ) אותדצזתט . פא בשורות 8-0 ו -18. משתמ )1( )2( )3( )8( )5( )6( )7( )8( )9( )10( )11( )12( )13( )18( )15( )16( )17( )18( " גלישח אפשר ית.5 5 תוכנית 16 תוכנית זו דומה לתוכנית 11. מוצע לפתור שאלה זו בעזרת מערכים לאחרי הלימוד של נושא זה. תוכנית 37 ; (תשקצט0 , עשפא1) 25אמפט50 אגתססהק הג : 28 תומצ ,3 תגמצ ,תהמצ ,0 ,ם ,ב ; תמסמעא : אמפאד אזסםם ;(0 ,ם ,ג) אעסגמת - 2 =: תגמצ 8 :> 1 + 2 %1 =: 8 תגמצ 0 4 10 1 =: אמסאז תסק אזסםם ;המץ + 4 תומצ =; ]| תהמץ 5 * תומצ =: תגמצ ; פא )1( )2( )3( )8( )5( )6( )7( )8( )9( )10( )11( )12( )13( )18( 3 יתוכנית 18 1 / 5 * 2 =: הגהסצ 1 =: 3 הגמצ | (16) 0 70 1 =: אמפא1 8סק (17) אזסטם (18) (תממצ + 3 תגמצ =: 3 תהמצץ (19) 8 * תומצ =: תגהמצ (20) ; פאם (21) :('העלות של מסלול א: ' ,2:2:2 תגמצ) אזמדדתט (22) ('העלות של מסלול ב: ' ,3:2:2 תבמצ) אמצדתט (23) . פאם (28) : (צטפצטס ,דטקא1) פמדגת אגתססהק (1) האג (2) ו ו ,כ 0 ,9 ,4 (3) ; תמסמזאד : תהמצ ,דאס , צהפ (8) אזססם (5) :)('הכנס יום חודש ושנה ') אעטדנתט (6) ; (ההמצ ,ותאסא ‏ צהכ) אןזסגמת (ד) 4 פסא גצ =: ב (8) 1 1 4 =: ם (9) )10( 6 := 2 + 1 לס זאסא 0486 (11) ו *20: .+ (12) )13( 238 11-59 2 <= 5 % >: כ : 7 (18) =: כ : 5 (15) 5% =: כ : 6 (16) 5% =*: כ : 8 (17) 6 =: פ : 2 ,9 (18) ; עאם (19) 1 + 0 =: ם (20) וצו + ם =: ק (21) פס ע =ג ע - (22) סע 0858 (23) : ('ראשון') 5 : 1 (28) :)('שני') שזזו : 2 (25) :(שלישי') מצנתח : 3 (26) :('רביעי') מענתט : 4 (27) ; ('חמישי') שת : 5 (28) :('שישי') מצצתח : 6 (29) ('שבת') מ1תט : 0 (30) ; פא (31) ( 'התאר יך ? 14ם -'י ,אס ,'/' 1 ,' חל ביום') אשמדדחט (32) .פא (33) 8 תוכנית 19 )0001( ; 5תםמטא אהתססתק תג ;סנאד : 3 1017 ,2 1017 ,1 עצדסדס , אמפאד + פסא (10 עצפ אמפאד) 1 פסא (100 עד אמפאד) דע * 1 1017 * 1 ד01דס 1017 * 2 21017 * 2 צד0דס 1017 * 3 017דע * 3 017דס אמח אמפא1 = 3 21011 + 2 611זכ + 1 70 500 0 1 פסא אמפאד ...4 .. "ה אזספם : אפפאז תסקע אזספפ 1 דד 2 דפ 3 ד01דס :1 דד 2 דד :3 1017 זז פך (3:אמפא1) אששידדתא "פסקל שפה לתכנות מב(:" 55 פרק 5 מערכים שאלות שאלה 1 מפצץך , סד , צג ספת תדר , צהפפאכמש , צהפסמטצ' , צגפאסא , צהפאטפ) = פצגכ ; (צ5417858 - ; (ש[קתטסק ,210 ,אממתס ,עמת ,מסאגתס ,אס 1מצץ) = 001095 ; ( 8דדפתמט1אט , ד5מסאגא ,אסא10ץ , זאהאה ,אב0) = א10צה6טסם ; (₪ ]אטע ,מ]הא) = אתפ , טנ ,מאשנ , צגא , דתקה ,הסתהא ‏ צתהסתסטע ( צתהטאהנ) = 5הדאסא ; (תמםמסמכ , תממאמטסא ,0010028 , תתמאםדקם5 , דפטסט שאלה' 2 27 = ממתסטכ 1. .1900 = ההמצ ; צפפתזזד. . צהפאט50 = צגס אהס₪ שאלה 3 יש לשנות את פקודת ה-8₪1178 המוזכרת בשאלה לפקודת א118%תח, כדי שהפלט יראה כך: התו " מציין רווח. בורורווווווו1850 13 08 כאככתתההתתרתרת 8 ו - 66 תוכניות תוכנית 1 (תוכנית 2 ; (1 טס , 1טפא1) 5ת20סטט אבתססתק 07 :+ >= אמפאד אגא מקציך 085 [אמפאד אגא. .1] צגתתה = תהסצסמט התג יט : 8 ,4 : אספ ;מסמעאן : א ,אמפאד אזסטם % =: אטפ : (א) אזפאמת 00 א 70 1 =: אתפאד תסק : ([אמפא1] ) א;נסגמת 0 א 710 1 =: אמפאד תסע אזספם : ([אמפאד] 8) אזפגמת [אפפא1] 8 * [אמפא1] ג + אטפ =: אפ ; פא ( 'תוצאת המכפלה הפנימית היא ' ,4:2:א508) אומדזחט . פא ; (01ט0 , צטפא1) פתה0ס1סמט אהתססמק 07 1 = אמפאד אגא מפציך ;ומת ש0 [אמפאד אגא..1] צגתתה = הסצסמט | : 4 ;תתסטזאז : א ,( אמפאד : אפ אזסטם ; (א) אזסאמת 0 א 70 1 =: אמפאך סק ; ([אמפאד] 4) אזפגמת +7] 2 =: אפ 00 א 70 2 =: אמפא1 המסק אזספם .[אמפא1] 4 + 50% =: אטספ [אפא] 3 - א50 =: [אמפא1] 4 פאם (16) .פאם (17) (קעקינ 00 , תטקאד) 1035סטע ו (1) 88 (2) 6% = מל וא (3) מפצ (4) ;ות 07 [אמפאד. . אאא. .1] צותתה = תסדסמע (5) חפט (6) 00 + 4 (ד) ; תמסמזאד ; א ,א ,א1004110 ,אמפאך (8) אנססם (9) ; ( 'מספר אבר* הוקטור?') אמדזת₪3 (10) ;: א) אזפוגפת (11) ; ( 'קרא את אבר* הוקטור ') 317878 (12) 0 א 170 1 =: אמפאד אסע (13) , ([אמפא1] ". ל (18) מזדו (15) ה =; א (16) 0 א 70 2 =: אמפאד 8סץ (17) אזסמם (18) ;א =: א1.004110 (19) 0 ([אמפא1] 4 <> [א10041'108] 0 פאה (0 כ א )1.004710‏ םזדוהו (20) .1 - 1004108 =: א1004710 (21) אמזד 0 = 1001108 ד (22) אזסמם (23) 1 + א =: א (28) [אמפאד] 4 = : [א] 4 (25) פאם (26) ; פאם (27) 0 א 0 1 =: א1008110 תסת (28) ;(' + 8:2:[א1.00410] 4) מדדת (29) ; א.זמידד (30) (1:א ,' = א') ה (31) פאם (32) 8ָג תוכבית 4 ; (1שקצט0 , צטפא1) 010גא אבתססחק 9 1 = 5128 אגא מקציץך ; תמסמזאז עס [5128 אגא..1 ,525 אגא. .1] צגתתה = מתב500 6זסגא | ;500 610 : 8 ;דא : 3 50% ,2 508 ,1 50% ,א ,2 אמפאד ,1 אמפאד אזסטם ; ('מימד הריבוע?') אומדזתט ; (א) אעפגמת 0 א 70 1 >:1 אמפא1 הסקע אזסטם | ('הכנס שורה מספר ' ,1:1 אמפא1) אתמדדתהט 0 א 670 1 >:2 אמפאת סק ; ([2 אמפאד ,1 אטפא1] מת5004) פגמת אטזזתט ; פא 4 =: 1 אפ % =: 2 אעספ 0 א 70 1 =:1 אמפאד סק אזסטם אמסא1 ,1 אמסא1] מתה500 + 1 אשפ =: 1 אעפ [1 אפפאד ,1 אמעאד - 1 + א] מתה500 + 2 אשפ =: 2 508 ; פאם 1 50% =: 3 אטספ 1 =: 2 אמפאד פאה (2 | אס > 1 א0פ) ממנחט 0 (א >> 2 אמפאד) פאה (3 50% = 2 אטפ) אזסמת 6 =: 1 אספ % =: 2 אספ 00 א 70 1 >: 1 אמפאת סע אזסטם אמפאד ,2 אמפאד] מתגט50 + 1 50% =: 1 50% (35) [2 אפפא1 ,1 אפפא1] מתהט50 + 2 508 =: 2 50% (36) [ עס? + ; פאם (37) 1 + 2 אתפא1 =: 2 אחפאך (38) [ 116ת9 + ; פאם (39) אמת (3 א0פ = 2 אטפ) פאה (2 508 = 1 א50) עד (50) ('ריבוע זה הינו ריבוע קסם ') א]מצזתח (41) מז (82) ('ריבוע זה אינו ריבוע קסם ') אתמדךתא (843) . פא (48) ; (01 טס , עשפאד) אד1 אגחססתע (1) עפאסס (2) = 5128 אגא (3) מפצע (4) ; תתסמעא1 ע0 [5128 אגא..1 ,25 אגא. .1] צגתתה = מתבס50 אזד1 (5) 8 (6) אדל : 5 (7) ,תתא : א ,4 אמסאד ,3 אתסאד ,2 אמפאז ,1 אמפאד (8) ;א 00 : א0 (9) אזסמם (10) ; ('מימד הריבוע?') אשמדזחש (11) ; (א) אתפגפת (12) 0 א 70 1 =: 1 אתפאד תסק אזסמם ; ('הכנס שורה מספר ' ,1:1 אמפא1) אתמצזתט 0 א 70 1 =:2 אתפא1 סק ;([2 אמעאך ,1 אמפא1] מתהט50) פגמת א ןתח ; פאם =: א0 00 א 70 1 =: 1 אמפאב סק 20 א 70 1 =: 2 אמפא1 ת0ק 0 א 70 1 +1 אתפאד =: 3 אמפא1 תסע 0 א 70 1 +2 אמפאד =: 4 אמקאד הסע - = [2 אמפא1 ,1 אמפא1] 50088) שד ([2 אמפא1 ,3 אמפאד] 500885 = [2 אמפא1 ,1 אמפא1] 500888) 0 ([3 אמסאד ,1 אתפאד] מתהט90 אמצ 1 =: אס אצ א0 עך ('ריבוע זה הוא ריבוע לטיני ') אמדנתט ככ ('ריבוע זה אינו ריבוע לטיני ') אממצדתט )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )23( )25( )26( )27( )28( )29( )30( )31( )32( )33( )38( .פא (35) "תוכנית 6 ; (01פ טס , עטפאד) תהפאם1גס אהתססתק 0 ( היום הראשון בשנת 1986 היה *ום רביעי + = צגכ 1986 צפחדק : 1986. .1 הג תומל 2% : זתאסא + ; תמסטעאך : פצמס 1 1% : עגכ עפתדק אזספת ;(' ?תגמצ') מצדתט ; (תגמצ) אזסחת ;צת 1986 עפתדע =: צגע עפמדק 00 תומצ 70 1987 =: 1 תסק אזססם 1 שנה רגילה: 1 = 7 ₪00 365 )‏ :1 + 7 פסא צגס צפתדע =: צגת צפחצק אמח 0 = 52 כסא 1 חד [בשנה מעוברת ישנם 366 יום + 1+ 7 פסא צגע צפתדע =: צגכ עפמדק ; פא 0 12 70 1 =: אנאסא חסקע אזסמם ; אזטן זט 1 ( הדפסת שם החודש + עס אעאסא 0258 ; (35:'צתהטאהנ') מצדתח :‏ 1 ; (35: 'צתהטתממת') מצדתח :‏ 2 ; (35:'אסתהא') מצנתח : 3 ; (35:דתקה') מצנתח : - 48 ](35:'צגא') מענתח : 5 (35:'תאטנ') מצזח : 6 (35:'צ1טנ') מענתח : 7 ; (400091':35') מצנתט : 8 ; (35: 'תתמאמקתפ') מצנתטח : 9 ; (35:'ת001088') מענתא : 10 ; (35: 'תממאתטסא') מצנתח : 11 (35: 'תממאתסמכ') מלנגח : 12. ; פא [ הדפסת השנה + ; (8:תאמצ) א מדזתט ; (85:' 777777777-----------') א[מעזתחא א 1 ב( זחה נחזך סמט מס אסא אטפ ') אתזט זט )' שס 1תאסא 0255 [ חודשים שבהם 31 יום + 1 =: 24985 : 12 ,10 ,8 ,7 ,5 .3 ,1 [ חודשים שבהם 30 יום + 1 =: 8צגכ : 1 ,6 ,48 אמח 0 > 5 פסא תגמצ קך : 2 ( בשנה מעוברת בחודש ) | 29 =: פצגת [ פברואר יש 29 *ום. + מסזטם [ בשנה רגילה יש בחודש ) 28 =: פצג2 [ פברואר יש 28 יום + ; פא 0 1 - פצגכ + צגכ צפתנע 70 1 =: 1 מסע אזספם אמח צגת עפתנק > 1 אך [ הדפסת רווחים עד היום שבו חל ה-1 לחודש + (8:' ') מצדתט מסזם [ הדפסת התאריך ביום המתאים ) ;(8: 1 + צגכ עפתנק - 1) מצדתט אשחד 0 > ך פסא 1 חך [ נגמר שבוע (שורה), מעבר לשבוע חדש + א זט ; פא ; א זטד1 ו [ חישוב היום + 1 + 7 פסא (1 - 5צגכ + צגס עפתדק) =: צגס צפגזק ([ הראשון בחודש הבא + [ בףתסש ע0ס? + פאת . פא תוכנית ך אי ; (02ק 0 ,עטפא1) 4 אדתךגא אהתססתק 07 1 = 9128 אגא מקצך 0 [5128 אגא .1 ,2 אגא..1] צהתתה = אנתצהא הג ;ד : 4 ;תתסמזאן : א ,2 אמפא1 ,1 אמפאד א : 08 אזסטם :('מהו גודל המטריצה?') אזמצדתשט ; (א) אזסאמת 0 א 0 1 =:1 אמפאדז הסק אזסטת ; ('הכנס שורה מספר ' ,1:1 אמפא1) אזתצזאט 0 א 0 1 *: 2 אמפא1 הסק :;([2 אפסא1 ,1 אמפא1] 8) פגחת אוטזזוט ; פא ;טס =: א0 0 א 790 1:1 אתפאד תסק 0 א 70 1 אמפא1 =: 2 אמפאד סע אוו [1 אמסא ,2 אטפא1] ה <> [2 אמסאד ,1 אמפאד] א קך =: א אסעך 0% תך ('מטריצה זו היא מטריצה סימטרית ') א]קדדתט מפט ('מטריצה זו איננה סימטרית ') אמצדחט . פא תוכנית 7 ב! ; (1טק1ט0 ,עטקא1) 5 אצתדגא אהתססתק 007 1 = 5128 אגא מפצ נמת עס [5128 אגא..1 ,5128 אגא..1] צגתתה = אזתדהא אגא..1 = אפפאד תאצ א1תדוא : 0 2 ;]סאד : א ,א ,א ,3 אמפא1 ,2 אמפאז ,1 אמפאד אזסטם ;)(' = א - 8 ם1 פשסע ,8 םת1 פמטס01ס 09 עססמטם') מדדתשט ; (א) אזפומת ;](' = 8 4 םת1 פשסע 0% עס6סמטת') מדדתט ; (א) אזפאמת )1( )2( )3( )4( )5( )6( )1( )8( )9( )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )28( )25( )26( )27( )28( )29( )1( )2( )3( )4( )5( )6( )7( )8( )9( )10( )11( )12( )13( )18( 3 6( = 8-8 ת1 8םט6010 0% עססמטת') מדזתח ; (א) א1פגמת ; ( 'הכנסת נתונים של מטריצה 84 ') אעדזתח 0 א 70 1 >: 1 אמעאד הסע אזסטם ; ('הכנס שורה מספר ' ,1:1 אמפאד) א מקז 0 א 70 1 =: 2 אטפא1 סע ([2 אפפאז ,1 אמפא1] 4) פגמת אמזזתט ; פאם ; (( 'הכנסת נתונים של מטריצה 8 ') א זא 0 א 70 1 =: 1 אמפאד הסע אזסטם ; ('הכנס שורה מספר ' ,1:1 אמפא1) אמדדתע 00 70% 1 >: 2 אמפאד תסע ; ([2 אמפא1 ,1 אמפא1] 8) פגמת א טוט ; פא ; ( 'תוצאת המכפלה של 4 ו-8 היא: ') אמצזתא ([ לולאה על שורות 4 + 00 א 790 1 >:1 אמסא הסע אזספם ( לולאה על עמודות 8 + 00 % 70 1 =: 2 אמפאנ הסק אזססם ( ערך התחלת* לתוצאה + ;6 =: [2 אמפאד ,1 אמפא1] 0 [ מכפלה פנימית של ָ [ שורה ב-8 בעמודה ב-8 + 0 א 10 1 >: 3 אמקאד הסע + [2 אטפאך ,1 אמפאד] 0 =: [2 אמפא1 ,1 אמפא1] 0 ;2 אמסאך 3 אמפאד] 8 * [3 אמסאך ,1 אמפא1] 4 / הדפסת התוצאה ) (' ' ,2[:8:2 אמסאך ,1 אמפא1] 0) מעדתא ; פא אוטזזתח [ 1 א66ם1 08? ) פאם )15( )16( )17( )18( )19( )20( )21( )22( )23( )28( )25( )26( )27( )28( )29( )30( )31( )32( )33( )38( )35( )36( )37( )38( )39( )40( )41( )42( )43( )88( )45( )46( . פא (47) ; (צשפדטס ,עטפאד) אצגת אההססחק מקציי ,צתטנ ,מאטל ,צגא ,דתקה ,הסתגא ‏ צתהטתפתק , צתהטאהנ) = פאדאסא ; טסט , המטסא , 00089 , תתמאמדקט5 , דפטסטה פוט :אסא : זונאסא פא5000 אגא מצאסא אזא , אדאסא אגא , ודאסא , אמפאד ;ומת 09 [פותאסא] צהתתה : אזגת : מסהתמטה ,אדא ,אגא פא5800 ,אגא אדסמם אאא זתאסו אהא אזא ( ערכים התחלתיים + :0 ; צתהטאהל תע ; צתבטאהנ צתאסא אנא 0% : 0 תממאמסעכע 70 צתגטאגנ =: גתאסא המסק אזסטם ; ([אצאסא] אצגת) פהמת אמוד אגא < [מנאסא] אנזגת עד אזסםם ;אסא =: אנאסא אגא [צתאסא] אזת =: אה פא ו אפאד אנא > [זתאסא] אצגת שד אזסמם אסא =: אתאסא אזא [טצאסא] אזגת =: אזא ; פא 2 / [צתאסא] אדגת + מסגתחטה =: מבההתסעה ; פאם [ מציאת החודש השני הגשום ביותר ) ; א זיזח ;אזא >: אגא פא00םפ ודאסא אדא =: אעאסא פא5800 אגא 0 המממסמכע 70 צתגטאגד =: נהאסא תסק ו ו 8 + ם> אזסטם (מתאסא אגא <> העאסא) פאג (אגא פא5000 < [נצתאסא] אדגת) שד אזססם אמחך זואסא =: אצאסא פא0סם5 אגא [אסא] אדגת =: אאא פא5800 פאע ; פאם אוזטזזו ; ('חודש כמות הגשם סטיה מהממוצע | הערות י) 0 תמתמאעסעע 70 צתהטאגנ =: זתאסא תסק אזסטם אפ ודאסא אגא = אדאסא עך (20:'הגשום ביותר') מדדתט | אמזו הנאסא אנא = אעאסא שך 6 (20:'כמות גשם מינימלית') מדבתח (51) )52( 5 אפחד זעאסא פא5500 אגא = זעאסא עד (53) (20:'השני הגשום ביותר') מדצדתט (58) מפם (55) ](20:' ') מדדתט (56) (10:2: מ0התתטה - [מתאסא] אדגת) מצדתט (57) :(' ' ,12:2:[צתאסא] אבגת) מצדתט (58) עס צתאסא 0255 (59) :('ינואר ‏ ') אתצנתח : צתהטאהנ (60) ; ('פברואר ') אןמדדתח : צתהטתממק (61) ; ( 'מרצ ') אעמדנתט : אסחו (62) ;('אפריל ‏ ') אומדצדתט : ,זזתקה (63) ; ( 'מא:י ') אתמצנוט : צאא (68) :('יוני ') אמצדתה : מאטנ (65) ]('יולי ') אתמצנוח : צוטנ (66) :;)('אוגוסט ') א[מדדתטח :| עפטסשבה (67) ; ('ספטמבר ') א]עדדתא : הממאמיקטס (68) ; ('אוקטובר') א]₪ד₪1 : 001088 (69) )('נובמבר ') אןתדזתא : הממאמטסא (70) ('דצמבר ‏ ') א[ש11תח : הממאתסמת (71) פאם (72) [ ב6תסם עס? + ;פאם (73) ; אזמדזתט (75) ('כמות הגשם הממוצעת בשנה היא: ' ,8:2:מ6התמט2) אעמדדתט (15) .פא (76) תוכנית 10 צאה-צאלץ - [- ו - א נוסחת מקדם המתאם : ; (עשפצטס ,צטקא1) פצגכ 11 אהתססתק (1) עפאסס (2) 1 = פנעפמך אהא (3) פקצ (ף) 1 = 65ב (5) 1 = פצגכ (6) אגא .1 = פדפמך (1) הגט (8) ; פיד עפעד ,א (9) אס [15פמ1] צגתתה : א (10) 05 [15פמד] צהתתה : צ (11) ;ות : תה (צאם ,₪92 ,צם ,2אם ,את (12) אזנספת (13) ;(' = א מספר התצפיות') מצדמ (14) ; (א) אזפאתת (15) ; ([91ד] א) 50 + 2אם ; ([1פתד] צ) 80 + 2צם [פספד] צ * [צפתד] א + צאם ; ('ימי מחלה אמ : 2א₪ צם ₪2 צאם גפ א זמזידת 0 א 70 1 -> עפמך פסק ; ([1פס1] צ ,[עפמד] א) אזסגמת 0 א 70 1 =: עפעך סע ; [דפד] ; [1פת] / (צם * אם אזסמם א + אם =: אם ץצ + צם = | == ₪ ה וכו - צאם * א) =: ת (( (צש) 508 - 2צ₪) * ( (את) 502 - 2אם)) 50 * א) ( 'מקדם המתאם הוא: ' תוכנית 11 ומת 09 [פדתגק אגא .1 ; ( 'מספר אמח 20 ,2) א דדח . פא ; (עשקעטס , תטפאד) 5 אתססתק 1% 4 ; 5דאסא : , פמתאסוא] צגתתה : ; תשמותזא תק ע0 [5דתגק אגא. .0] צגתתה : ; תממאטא צתגק : תו אגא. .1 ' 9 7 סי פריט כמות .> .0 = הפמוטא דתגק 0 1 = פעתגק אא תהק : אמפאד ,5914 צאטסא ה אנספם זו 1 תפ5] פפ תהק חודש ') אמצזתו ; (צתגק , דאטסאה , אצאסא) אנסאמת 20 1 + 40זתמפ 0 < צתגק דט א [1דת5] פנתגת <> צתגק פד אזטם =: 140תמס 2 70 1 =: אמפא1 תסע )16( )17( )18( )19( )29( )21( )22( )23( )23( )25( )26( )27( )28( )29( )30( )31( )32( )33( )33( )35( 0 =: [גדה59 ,אמפאד] 5418 (26) ; פא (27) ;דתגת =: [14ת50] פדתהק (28) ;נאטסאה + [עהדתת5 ,צתאסא] 580 =: [מהזתתס ,צתאסא] 515 (29) (1ת4ק , דצאטסאב , מנאסא) א;זפגמת (30) ; פאם (31) ; א,[₪ד1תט (32) מאי יונ יול אוג ספט ‏ אוק נוב | דצמ ') אזמצזתט (33) ;('פריט ‏ *ינו פבר | מרף | אפר' (38) 0 5180 70 1 =: אמפא1 סע (35) אנספם (36) 0 1 0עאחס 12 =: אעאסא הסק (37) ; (6:0:[אתפא1 ,צתאסא] 5418₪) מדדתט (38) (6:[אמפאד ] 15תג1ק) א ומדזתח (39) פאם (80) . פאם (41) "לולאות" פרק 6 נתונים לא מספריים שאלות 8 2 15 מפסת 4 155 טשפסת 4 155 משפסת 4 5 ₪ (2 | טאלה .2 38 ?ידא טאלה 5 ; ( שקצט0 , לספא1) 64075 אבהססתק הג ; הטנא : 009 ,1 אזסטת 0 127 70 32 =: 1 הסקע אזסעם 1 עסא ד + 10 * (8 טדם (6% פסא 1)) + 100 * (68 טדת 1) =: 007 (001:10 ,(1) 088 ,8:' ' ,1) אתמצזתט פא . פא 9 ; (תשקדטס , דטפא1) 314א אהתססתק התג ;הס : טג ; תתסמנאת : תהקפזא אס % =: תגספדא ; (טגת') פגמת [ הקריאה תתבצע עד קריאת תו רווה + 0 '' <> עגך מהודחט אס אעחד ',' <> עטהך חך ('0') פתס - (טג1) פתס + ת4ק15א * 10 =>: תגהקפדא (ט14) פהאסת ; כאם (15548א) אומדדחח . פא ו ילטיפרה 1 הראשו נה מתייחסים כ אז כופלים את סיפרת האחדות כסיפרת אחדות.. אם קוראים סיפרה ב-10 והיא. תהיה עתה/סיפרת האח רוות ומס ימים/ 5 שאלה 5 ; (1שפצטס , לטפא1) בשדינא אהתססמק הג תקפז ; תפסא : 13 ;תס עס [1..10] צהתתה : נשבהתגא אזסמם ; ( 'הקש מספר') א מצד ; (48ש15א) אזסאמת 1 =: 1 0 (10 => 1) פאה (0 <> דוו וזח אזססם : (10 פסא תהפפצא + ('0') פתס ) ה =: [1] אסגתגא 1 טצכ תגק5נא =: ההספדא 0 אמגו (0 = 3 פסא 1) פאה (0 < תגספדא) עד אזסטם =: [1+1] אסהתהא 2+ ך =: 1 / 1 0 1 10אוסס 1 =: ד (ךד] אסגתגא) מדדתט תוכניות יתוכנית 1 ; (עספש0 , צטפא1) צאטיד אהתססחק ההץ תס : תתץס0תווס אזספם ; (ממזסהתס) פומת 00 ('?' => התצסהתהחס) פאה ('ג' =< המצסהתההס) םדומו אזספם אפזוד ‏ '2' = התדסבתגטס אד ('2') מצדתט 8 ; ( (ת01494018) 5000) מדדתט (תמדסהתהצס) פגמת פאם . פא *ש לטפל. במקרה המי וחד של עבר' הפרְנקָציה. 8000 ו 1 ; (עטפצט0 , צשפא1) לאמ אהססחק 007 = זתסאת] מאגא אהא מקעי ;תוס 0 [מצסאם,1 מאהאן אהא. .1] צהתתה קחאסהק = סאדת5 ₪אגא גג ;תס מאגא : מאגא ; תמסטעאז : אמפאד אזסטם ; (מאגא) א זסהמת 0 '.' > [1] מאגא מז אזסטם א מאהא אהא =: אפפאד 20 ' ' = [אמפא1] מאגא הדגא 1 - אמפא1 =: אמפאד 0 < אמפאד םדנט אזסטם : ([אפפאד] מוגא) פצנחטא 1 - אמפא1 =: אמפאד ; פא ; זו (מאהא) א,זפאמת פאם . פא )1( )2( )3( )8( )5( )6( 7( )8( 9( )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )24( : (01קעט0 , עטקא1) לאמ אהתססתק 00 1 = ותסאםן מאהא אגא | פע :תוס עס [וודסאם,ן אחא אהו. .1] צהתתה ספאסגק > סאנתדפ מוהא הגש מאהא : אאגא אד : [10טה , 10פ , אטפא1 ,סא מאגא נ ות : וט אנספם ; (טאגא) א סופת 0 '.' <> [1] שאהא מודוו 2 )1( )2( )10( )11( )12( אזסטפ )1 =: אמפאך (('0' > [אמפאז] מאגא) 05 ('9' < [אמפאד] מאגא)) םיצח 0 (זוסאטן מאהא אגא > אמפאד) פאה אזספם אחז ' ' <> [אמפא1] מאגא עד ; אמפאז =: +תטאמן טאגא 1 + אמפאז =: אמסאד ; פאם ]0 =: דט ('0' =< [אמפאד] מאגא) פאא ('פ' => [אמפאד] מאגא) םזזחו 0 (זו1סאםן טאאא אגא > אמפא1) פאג אזססם ; ('0') פתס - ([אמפאצ] מאגא) כת0 + עה0דטן * 10 =: ד 1 + אמפאזך *: פאז ; פא 0 (זוסאם.ן מאגא אגא > אמפא1) סאג (' ' = [אמפאד] מאגא) םדו )1 + אמכפא1 =: אמפא1 ]1 =: וה0זטח ('0' =< [אמפא1] מאגא) פאה ('9' => [אמפא1] טאגא) םדו 0 (נתטאן טאאא אגא > אמסא1) פאג אזספם ; ('ס') עפס - ([אמפאז] מאגא) תס + דטסנמט * 10 =: -ה0נסט 1 + אמסא =: אמפאד ; פאם אפ סא מאהא אגא > אמפאז עך אזספם ; ד0דטון / העמש =: מסהתם/ ; ([אמפא1 ] מאגא) מדנתט 20 זוסא1 מאגא סד 1=:אמפא1 אסקע (05:15:2תסט 15: דט ,101:15מט) א,זמדזתט ; פא (מאגא) א זפוומת פאק (13) (18) (15) (16) (17) (18) (19) (20) (21) (22) (23) (28) (25) (26) (27) (28) (29) (39) (31) (32) (33) (38) (35) (36) (37) (38) (39) (49) (41) (42) (83) (88) (85) . פא (86) 3 ; (01ט0 , צטקא1) אא אהתססחק 0 1 = הד0אם] פתס אגא מקציך ;תס 0 [צדסאם.ז פחס אגא. .] צהחתה פ0ת = באדתד5 פתסט תג ;ד פתס : פתסט ;טא : 1 ,אמפאד אזסטם דהמקטת 0 8 פתסט אגא 70 0 =: 1 תסק :' ' =: [ד] פתסשט :([1] פפסא) פגמת 1 =: אמפאד 0 ('.' <> [אשפא1] פתסט) פאה (' ' <> [אמפא1] פתסט) מנדאט אס + אמסא1 =: אמפאך ([אמפא1] פתסט) פגמת ; פא 1 =: ך פאה ('שי = [1] פתסא)) 1סא פאג (אמפא1 > ך) מודאט צסא פאה (('0'<> [1-זן] פתס) פאג ('ד'י = [1+1] פתהסא) פאג ('ם' > [1+1] סתסט) פאג ('דַ' = [1] כ08ס₪)) 0 (('סי = [1-1] עתהסש) 4+ 1 ->: ך אפע" אמפא1 > 1 שך אזסמם ; א זז (פ₪08 , 'לא מתאימה לכלל') א,זטיזאט פא '.' = [אמפא1] עפש מדלאט . פא )1( )2( )3( )8( )5( )6( )7( )8( (9ו )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )23( )25( )26( )21( )28( )29( )30( )31( )32( 7% ; (2 0010 , עשקא1) 051ק אהתססתק )1( מקצ (2) ,א) = אסזצאאדדפטפ (3) ,א) = ו (8) ;(ת ,אם) ם 8 (5) ; (0א תק ,עדא ,צאד0ע) = 0051 פאספ (6) )7( 5 = ;תא ע0 [0051 פאת5 ,530105 , ד10מ , אסדדהאדצפסע] צגתתה (8) ([ עלות משלוח| שירות משקל יעד גאט (9) : מסזחק (10) ;א10ץאא1ץפסת : צפמת (12) ;סט : )דמח (12) : שתתפ (13) ;7 אפ : 009% (18) תס : 8 (15) : 1020 (מטתגט ,0א עקנכ ,0א (16) אזספם (17) 00 א 10 א =: עפעת תסקע (18) 0 06 710 םא =: 6נסח תסק (19) 00 58 70 א =: תפ תסע (20) 00 6 תע 70 עאד0ע =: 00852 תסע (21) =: [0051 ,טתע5 ,שמא , צפמכ] מסזתק (22) =: [עא01ק ,אם ,מא ,א] מסזתק (23) 1 =: [עאדסע ,ה ,א ,א] מסזתק (28) 1 =: [0א תמק ,אם ,אא ,א] מסנתק (25) =: [0א תק ,3 ,אא ,א] פסזתק (26) 1 =: [עא01ק ,אם ,0 ,א] מסצתק (27) =: [0א תתק ,אם ,0 ,א] מסזתק (28) =: [עא11 ,אם ,0 ,א] מסזתק (29) 1 =: [עא01ק ,3 ,0 ,א] מסזמק (30) =: [0א המק ,3 ,0 ,א] מסנתק (31) % =: [עדא1 ,3 ,0 ,א] מסזתק (32) 1 =: [עא01ק ,אם ,מא ,ם] מסנתק (33) 60 =: [עא01ק ,3 ,א ,ם] מסדתק (38) 6 =: [0א הפק ,אם ,אא ,ם] מסדתק (35) 4% =: [0א תק ,תת ,אא ,ם] מסזתק (36) 1 =: [0א תתק ,אם ,0 ,ם] מסזתק (37) 4 =: [עא01ע ,3 ,0 ,ם] מסזתק (38) =: [צא01ק ,אע ,א ,א] מסנתק (39) 1 =: [א01ע ,תת ,א ,א] מסזתק (40) % =: [0א תמק ,אע ,אא ,א] מסזתק (41) 6% =: [0א תסק ,תת ,אא ,א] מסנתק (42) % =: [עא01ק ,אם ,0 ,א] מסזתק (83) =: [0א תסק ,אם ,0 ,א] מסזתק (48) =: [עדאדע ,אע ,0 ,א] מסזתק (45) 4 =: [עאצסק ,3 ,6 ,א] מסזתק (46) =: [0א תסק ,3 ,06 ,א] מסצתק (47). 1 =: [עעאנע ,תת ,0 ,א] מסזתק (48) ; ('מקום היעד: א - מקומי, ₪ - עיר גדולה, א - עיר קטנה') אומצנוט (89) ; (08) אזסהמת (50) תס 04 0488 (51) ;% =: דפמע : 'א' (52) ;5 =: עפמת : 'ק' (53) א =: עפמת : 'א' (58) ; פא (55) ; ('משקל בקג') א][מדנתט (56) ; (0א) אעפגטת (57) אתו 1 > 60א עד (58) 1 =: עמק (59) )60( 8 את 10 => 0א תד (61) ₪ =: הסט (62) מפ (63) 6% =: הדסק (68) ;('שרות: ‏ 8 - רגיל, ₪ - אקספרס') אזמדזתט (65) ; (08) א1פגמת (66) עס 08 0455 (67) 50 =: שם5 : 'ת' (68) ₪ =: שת50 : 'סש' (69) ; פא (70) ; ('הערך השקל* של נקודה') אומצדתט (71) ; (שט/81ט) א,זסהמת (12) או 6א > [7דא1 ,55 ,10א ,עפמכ] מסדתק שד (73) [צדאד] ,59 ,10מא ,דפתע] מסדתץ - 60א =: גא שטדע (1%) מס (5ד) % =: גא קקדת (76) + [1א01ע ,שת50 ,0דמא , עפמע] מסדתק) . אט1גט =: 010 (77) ; (80 עעזת * [6. תחת ,500 ,10סש ,צפמכ] מסדתק (78) ( 'המחיר למשלוח החבילה הוא: ' ,10720:2:2) אתמדדתט (79) . פא (80) 16 ; (1שק 00 , עטקא1) עאמד' אהתססתק 5 = געסאמ] מאז.ן אגא 0% = מסאזן אגא מקצך ;תס עס [מתסאמ | מאז] אגא .1] צגחתה פמאסגק = מאד1 צאחך ;שא עאמד עס | [פמאז | %] צגתתה = מסגק י | דאמ א ;פאז עאמך : פאז תאמ : מסגק ;תמא : תחדק ,1 ,(תמאט00 ,טא 55405 , אמפאד 01 : הסתתת סא אזסטם 0 =: אמפאך +מימת + אמפא1 =: אמפאך ([אמפא1] מסגת) אזסהמת 0'.' = [1 ,אמפא1ד] 068גק מזעאטס 0 אמפאת 70 1 =: 1 סע אשו 'א' = [1[]1] מסגק קך אזסמם תד =: תסתתתע סא % =: טא | 90408 [ מצביע על המיקום בשורה לאחר ה- 'א' + =: תצק סאג ('9' => [תצפ]ן1] 8 דהו 0 ('0' =< [אזק][1] 405) אזספם - ([ת1ת]ן1] 0₪פ) פת0 + שא מ0גפפ * 10 =: טא מססס ]('0') פס 1+ תצק =: תדק ; פא 08 (120 < טא 08ק5) 08 (1 > טא 05קפ) 08 (2 = בלק) עך * אע (' ' <> [תצם][1] מסגק) ([1] 08גק) אמדדתחט מסזם אזסטםת 0 שא 55408 - 70 1 =: תתצאטס0ס הסע 0 ''- [תתאט00]ן1] מסגק פמדו ;1 - הם1א000 =: המצא000 0 וםתא000 > תצע שזנח אזסםם 1 + תצק =: החדת ([מדע]11] מסגק) מצדתא ; פא א זט זט פא פא ₪ (50) ([1] 0₪גפ) אומדזתט (51) .עאע (52) ; (צשפטס ,שקאד) פפתסש תתסתס אהתססתק (1) פאס (2) 25 = זא ן פתסא (3) 1 = פסתסש אגא (8) מפצ (5) ; (2א5000 ,157ק) = תתפהס (6) ;הזוס 08 [זוסא1 פתסט. .1] עהתתה פמאסגק = פתסט צאמך (7) ;₪092 דאמ 0 [תמפת0 ,פפהסא אגא..1] צהתתה = 157.] פהסא (8) תג (9) ; תס לאט :| פעתסט ס₪ך (10) ; ₪0 עאמ' עס [תמפת0] צגחתג : סתסט (11) ;תפפתס : התסתס פגמת (12) פתסט : 17 (13) ; תת0עא1 : 200 ,אמפאד , המעאט00 (18) אנסמת (15) =: המעאט00 (16) ; (₪0808 00) אנעגמת - (17) 0 '.' <> [1] 00805 0 מענוא - (18) אנססם (19) 1 + 5םעא000 =: המעאט00 (20) =: אטפאך (21) 0 א00ם 5‏ 70 עפתדקע =: תמעת0 עגמת הסקע (22) אזסטם (23) )28( 100 := 0 '' = [אמפא1] פסתסט סד םודאט (25) ;1 + אמפא1 =: אמפאד (26) ידהמסמת (27) ; [אמפא1 ] פ5פהס₪ ₪0 =: [1.000]ךתמסת0 פגמת] פתסט (28) ;1 + 1200 =: 100 (29) 1 + אפפא1 =: אמפאד (30) ;' ' = [אמפא1] ₪025 ₪0 מזעאט (31) 18 ' ' =: [100][תתעתס פגמת] פתסט (32) [ ע60ע0 086ע ע0? + | ;פאת (33) אטזע" [פא5₪00] עתסט => [1פת1ע] פתסט קך (38) אזסטם (35) פת0ט =: [עפתדק ,( תתצאטסס] צפדן (36) [פא5₪00] עתסא =: [כא5500 ,תמצאט00] ל6ד1 (37) פא (38) )39( ₪ אזסטם (80) ] עתסט =: [עפתדק ,תמצאטסס] צפד1 (41) [דפת1ע] כת₪0 =: [כא5₪00 ,תתצאטסס] צפד1 (42) ; פא (53) (₪0325 0את') א,זסאמת (88) [ ₪0268 סשס ₪116 + ;פאם (55) 0 אס 70 1 =: אמפא1 סק (46) אזספם (87) ; (אמסא1) מדזחט (88) 0 פא00מ5 10 עפתנע =: תתפת0 פגמת תסקע (49) אזססת (50) ') מפעתט (51) : יְ 1001 (52) 0 '' <> [100]ן[תמסתס פגמת ,אמפא1] 1157 מ דוט (53) אזספם (58) ; (100[:1][תמסת0 כגמת ,אמפאד] 1151) מצצגט (55) 1 + 100 =: 100 (56) סאם (571) ; פא (58) אדו (59) [ א66ת1 ע0? )+ פאם (60) .סא (61) למשל: 482 > 400 0 > 400 0 > 200 אבל 486 < 400 לדוגמה, נתון : '""סהעט"""פסמ2"' = פסה0א 990 נקבל : '"סגתם'=[פא5000]כתס9 ; ' "פסםג'=[עפתנק]פתסע 919 ; (901דט00 צטפא1) 9 שאמך אההססתק 07 1 = זתסאן אגא מקצך עס [0א1 אגא. .1] צגתתה פמאסגק = מא11 שאאיך הג מא אד : סא , אמפאד " אסחפזת אס4/מת ; התמסמצא : 000 פהסט :תס : האסתסת ,זדא אזסטפ : (שסאע1א5) א זפהמת 5 =: אמפאד % =: עאט0ס פחסט 1 =: אסמפדת אסגטפה 1] מסאמעאטפ =: באסתסה ,ודא .' <> [אמפאד] מסאמעאת5 דנא אזסמם אחוד (' ' = [אמפא1] מסאטןא5) קך אזססם אטע" (0 = אסהפזת הסגטעת) קך ; אמסא =: א1540ת אס4/חת פאה (' ' <> [1+אמסא1] מסאמעא90) קך או ('.י <> [1+אמפאד] ₪ אא) [1+אמפאד ] אסא דאתפ =: האסתאסה , ודא פא מס 08₪ (' ' = [1+אמפאד] ₪סאןא5) קך אחו | ('.' = [1+אמפאד ] ₪ אתא ) 11 + 1אט00 פתסט =: צאטשסס פתסט 1 + אמפא1 =: אמסאד ] 30 116מט + פאת ' 0 )1( )2( )3( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )23( הסבר + 0205 מזחה. תו רווח | במשפט. = -. 3 המשתנה א540דת3 אסגטטת מקבל" ערך התחלת:. 1 ומ , " במהלך התוכנית, כָאשר מגיעים לרווח ראשו 2 26 אם התו ‏ שאחר: הרוות אינו רוות או > נק ודה אז 3 תוכנית 11 ; (001002 ,עטשסא1) 11 שאתד אהתססתק ;תפ0מעא1 09 [1..26] צגתתה : פהתדדתן ;0 : ;תא : ; 001 : תסתתם | אזסטם 0 26 170 1 =: אמפאד סע 1 =: [אפפא1] פתמדדן ; (08) פגמת 0 '.' <> א6 מענחח אזספם [מטתד =: הסתתת סא ('?' => 08) פאה ('ג' =< 08) סד '') פ08 - (08) סת0 =: אמפאד מפוט (';' => 08) סאג ('8' =< א0) חך '8') עת0 - (08) פת0 =: אמפאד מפזם =: תסתתת סא אמווד הסתתת סא קך 1 + [אמפאד] פתתן1₪7 =: [אמפאד] פתמדוחן (08) פגמת אמוי 1+ ( אמחד 1 | 1 2 תוכנית 12 ; (1שקצט0 , צטפאד) פתתמאטא לאמ אהתססתק (1) )2( 01 1 = א אטא (3) תגט (5) תס 08 [זוסאמ 1 אטא. .1] צגתתה פפאסגק : פאז (5) ,1009 (7) )8( 510%, , הממו (9 ;תספות : | אמפא1 | (10) ;001 : תסתתת סא - (11) אזססם (12) ; (פא11) אתפגמת | (13) 1 =: אטפ (18) ;1 =: אמפאך (15) ;מס =: תסתתת סא | (16) 0 10 70 1 =: 1005 אסק (17) אזסטם (18) 7 =: א510 (19) אמ ' ' = [אמפא1] מאז1ן חד (20) + אמפא1 =: אמפאד (21) ('+' = [אמסא1] מאד1) 08 (' ' = [אשפא1] מאנע) עד (22) אפוו ('-' = [אמפאד] מא11) 0 (23) אזססם (28) אפ '-' = [אמפאת] מאד1ת אך (25) 1- =: א10פ (26) 1 + אמפא1 =: אמפאך (27) ; פא (28) ]6 =: התממועטא (29) 00 3 * 1000 => אמפא1 שדזט (30) אזספם (31) אמצ ('0' > [אמפא1] מאד11) 05 ('9' < [אמפאד] מאדע) עד (32) אזסתם (33) 1 =: תסתתם סא (38) 1 + 3 * 1000 =: אמפאך (35) פאע (36) כב (37) אזספם (38) + 10 * תממאטא =: הממאטא (39) ;('0') עת0 - ([אמפא1] מאדע) פתס (40) 1 + אמסא =: אמפאך (41) פאם (82) ; פאם (83) אפ * תתמאטא + אשפ =: אשפ (58) ; פאם (45) אמזוך תסתתם סא עד (86) ('הסכום הוא ' ,50%8) א מדזתט (41) ₪ (88) ( 'טעות בקלט!') אמצדתט (89) פאם (50) ; (דטקינטס , צטקאד) 13 שאמ אההססתק 001 1 = 1 סאמ מאז.ן אגא 1 = אד אגא מפציך ;הס 08 [זדסא1/0 מאד,ן אהא. .1] צהתתה סתאסגק = מאד1 דאמיך אד צאתד עס [פמאד.1 אהא. .1] צהתתה = מסגק דאמיךד הט ומא צאפץך : מאצן 0 [אתך : מסגק ;תמסטצאד : 1 ,פמסאמעא50 ,פפתס₪ ,פתאד1 ,אחפאד אזספם 1 =: פפאצן קת + פתאד] =: פתאדן ([85א1.1] 40₪) א זפאפת ]'.' = [1 ,פמא1ע] מ0גע מנצאט [ אין סופרים את השורה המסמנת סוף קלט + 1 - פמא11 =: פמאזת =: ₪025 /% =: 5מסאת1אסס 0 פפאע1 70 1 =: 1 הסק אסשת 0 [תהאחן מאד1 אגא 70 2 =: אמפאד תסק אזסטם א פאג (' ' = [אמפאד ,1] 08בק) עד [ סוף מלה + אפחו (' ' <> [1-אמפא1 ,1] מסגס) + ₪025 =: 00805 ('.' = [1-אמפא1 ,1] מ6סגק) פאה (' ' = [אמפאד ,1] מסגק) קך ( סוף משפט + אמזיך 1 + 5מ0אמ]א5 =: פתסאמדאספ ; פא ([1] 0₪גפ) אומזט ; פא ; ('מספר השורות ' ,₪5:50א11) אותצזתט )1( )2( )3( )8( )5( )6( )7( )8( )9( )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )28( .)25( )26( )27( )28( )29( )30( )31( )32( )33( )38( 3 ; ( 'מספר המשפטים ' ,5:29מסאמצאמ5) אנתטדזתט (35) ( 'מספר המלים ' ,₪005:50) אתדזתט (36) . פאט (37) יהנחות: "" מכסימום 200 שורות 0 : . אורך שורה מכסימל: 8 תורים: | * סיום התמליל. כאשר..בתחילת חשור "תוכנית 1% ; (עשפצטס ,שפא1) 05א1ת51 אגתססתק (1) פאס (2) 1 = א (3) מפצ (8) תס ע0 [018אמ. .1] צהתתה סמאסגת = באזתד5 התס (5) הגט (6) 08 : ד (7) ,0 ,00 7 ,100 ,תתעאט00 7 ,אמפאז ,א (8) ; תמ0מעא1 : תנק 7 אגא ,7 אגא ,7 מתסעמת 5 (9) אזסמם (10) ; (א) אזפאמת (11) % =: 7 מת0ססם 5 (12) 0% = 7 אגא (13) 1 =: תצק 7 אגא (18) 0 א 70 1 =: אמפאד תסק (15) אזסחם (16) ; (1,192) א,זפאחת (17) %1 =: תמעאטסס ד (18) 0% = 0 ץ (19) )20( 5 0 = 1 0 10 70 1 =: 100 סק (21) אמ 'ע' = [100] 1197 סד (22) אזסטם (23) 1 + תמדא000 1 =: תמצאטסס ך (28) אא 0 = 1100 אד (25) )26( 7 200 := 0 פאם (27) כב (28) אמח '8' = [100] עצפנ קך (29) אמא 0 > 100 6 קד (30) )31( 5 1200 := אמאל (100 1 > 100 5) פאה (0 < 100 5) עד (32) 1 + 7 מתסעטם 5 =: 7 מתסעעם 5 (33) אמא 2 אגא < תתצאטסס 7 עד (38) אזססם (35) 00 7 5: ד אגא (36) אתפאת =: תקק 7 אגא (ד37) פא (38) 7 ( ...א66ת1 ע0ס? + | ;פאם (39) 1 7 אגא, ' האות 1 מופיעה במספר המירבי של פעמים') אשמצזתט (80) ; ( 'במחרוזת ה-' (41) ,1 פתסתמם 5 ,18:' מהרוזות') אנמצצתא | (42) ('האות 5 מופיעה לפנ* האות 1 ב-' (83) . פא (884) תוכנית 15 ; (00101 , צטשא1) פהמדעש 1 דאמד אהתססהק 60 )1( )2( 1 = אעסאמן מאד אגא (3) >= פמאדו אהא (8) = :סאק 878 אגא (5) 1 = פפוהא אהא (6) פפצע (7) תתמס 08 [זתסאםן מאד] אגא .1] צהתתה פפאסהק = מאד: צאמך (8) ;מא עאמד 08 [פתאד] אהא..1] צהתת = פיד 1 (9) הזוס עס [וו6אם.] תד אהא. .1] צהתתה פסאסגק = הדפ מסהועחת | (10) פוט (11) מא צאפד : פאז | (12) : תותמ | (13) ;דפ 05 קת : ה צפפץ ,מעגת ,מאגא | (18) ;זפ מסתעתת 09 [1..2,פמאהא אגא .1] צגתתה :| פמצגק פאה פתאהא - (15) ,תמסמצא1 : | פמאך) תמדחטן ( פמאז1 ,1, ,אמפאד (16) אנספת (17) ; '"מאהא*' =: מאגא (18) ; '"מזת*' =: מז (19) ./ ' =: ת57 דפתך (20) 0 =: פא (21) דהמקטת (22) 1 + פמא11 =: פשאך1 (23) ([פמא1.1] המצעם1) אפהמת (28) 0'.' >= [1 ,פמא1ם] תמווש1 מ1עאט (25) % =: פמאדן (26) ץמשת | (27) + פפא11 =: פמאד1 (28) ; (פא11) אתסגמת (29) =: אמפאך (30) אפאד '.' <> [1] מאדן טך 0 2 10 1:>1 פסת אזספם 0 ''= [אמפאת] פאדם מו + אפפא1 =: אמפאד [7 := 1 [המקתת ,[אמפא1] מאד1 =: [1 ,1 ,פמאד11] פמצהע פאה פמאגא + 7 =: 1 1 + אמסאז =: אמפאד = [אמפא1] 8אד1 מצעאט ' 7 ₪ דפ פאג פמאגא פאס = [1] פאז מצעאט 0 1 - פפאנ1 10 1 -: אמפאד הסק אזססם ;1 =: פמאד] המוחטן 0 '.' <> [1 ,5מא11 המנתטן] המד םדוחל אזסטם =3 ך 0 5 - 08 מאד אגא > 1 מצחט אזסחם אאח '*' = ד , פא | המעט 1 המעט עך אזסטם 0 6 70 1 =: 7 תסקע 1 - 7 +1 ,פמאד] תמו 1] התצדמן =: [71] 57 צפמך אטע מטאגא = 572 עפסך עך אזססם ו + 1 >: ך 1 =: 6 0 '' >> [1 ,1 ,אמפא1] פמעגפ פאה פמאאא מזזחו אזססם ;(1[:1 ,1 ,אמפא1] 0 | פאה פטאגא) מו 1+ > ד | פאט פאם כ | אטח מ7גכ = ת57 לפטך ‏ כ עך אזסטם ד >: ך 0 =: 7 0 '' <> [1 ,2 ,אמפא1] פמצגפ פאג פמאגא מדאח אזססת )(1[:1 ,2 ,אמסא1] פמדצגס כאג 5מאגא) פדזתט 1+ > ד פאם פאם כ ן אזססת :(1[:1] ת57 לפמך) מקדתט 1+ -: 1 6 5-95 > סרִיִקַת המכתב ו ד למצ פאם (82) [... 166062 12 + פאם (83) ₪פ (88) אנסספם (85) ;(1[:1 ,פתאד] תמצד1] תמצדט1) מדדתט (86) 1+ך >: ך (87) פאם (88) )89( ..6ת11 א8ם>1 16צתש )+ ;פאם‎ [ ; אז1זתט (90) 1 + פסאז1 גמז1₪ =: פמתאד1 התדדטן (91) ( ...166060 116םש + ; פאם (92) ; אזטדזתט (93) אופדזוט (98) 5 פא" (95) פא (96) ו התאר יכ ים והפרדתם > כמדס פא פטאאא. "יהמכתב "ורשימת השמות.: מ-פמאפ | פא קר תוכנית 16 ; (2עקתט0 ,עצטקא1) פמאד1 עאמד אבתססתק ‏ (1) 01 (2) 1 > את מאד.ז אגא (3) 1 = פא אגא (4) = :האמ דאמץך אגא (5) 1 = 01א] מאד צדסם (6) מקצד (7) ; תס ע0 [011א1 לאמך אגא. .1] צהתתה כפמאסגע = דאמך ,זה (8) ;תס 0 [1סא] מאד/] אגא .1] צגתתה כמאסגק = מאךד1 צאמך (9) תגט (10) ;פאז עאמך : מאד1 (11) ;א 02 : מסגק (12) ;מא : א10ע051ק 1אמפעתק | תםדא000 מאד ,המצא000 באס ,אמפאד (13) ;001 : פאז שפא (18) אזססת (15) [ מצביע על המקום האחרון המלא + 1 =: א051110ק עאמפמתק (16) [ במערך 28208 בקריאה ָָ ץבמקתת (17) י ;א מאד] אהא =: המצאט0ס מאד1 (18) ; (8א11) אעפגמת (19) 0 (' ' = [תמצאט60 מאד1] מאד1) פאה (0 < המצאט00 מאדם) םדה 107 - מתצאטסס מאד1 =: תתצאטסס מאז: 0 תתעאטסס מאד1 70 1 =: אמפא1 תסע ;ןאמפאד] מא11 =: [אמסאד + א10צ1פסק צאמפמתק] מסגע 1 + תתץאט60 מאד1 + א051710ק צאמפתתק =: אסנעצפסק עאמפתחק ₪ ' ' =: [א091110ק עאמפמתק] 8סגע '.' = [1] מאד מצעאט - א51110סק . זאמפמתק =: א2051110 לאמסטתק ; א[ דה ([ מצביע על המקום הנוכחי במערך 2408 בהדפסה )+ ;0 =: תמצא000 הס ;5 =: טאזן אטא [ מצביע על תחילת הפיסקה + ] תנאי לסיום הסריקה )+ 20 א051110ק צאמתפמתק > המלאט0ס חס ,דוח אזסטם ([ דילוג על רווחים + 20 ' ' = [1 + התדצאט00 החס] מסגק הנאט [ בתחילת שורה ָָ 1 + תםץא000 0 =: התצאט600 האס ;10 מא ע'דעע + תעעאטסס תאס =: אטפאד [ אם זוהי התחלת פיסקה + אמא מא11 אמא עך אזססם =: מאך אסא [ הדפסת 4 רווחים ָ ](8:' ') מצדתט ( הפחתת % מאורך השורה שתודפס + 8 - אמפאז =: אמפאד ; פא ך אם מגיעים לסוף התמליל ) אמ א051110כ צאמפמתק =< אמפאד עד [ לפני סוף שורה אז אמפא1 יצביע על סוף התמליל. + 1 - א2051110 [אמפטתק =: אמפאד [ חיפוש כלפי מטה למציאת רווח בין המלים + מסזם אמות (' ' <> [אמסא1ד] מסגק) פאה (' ' <> [1+אמפא1] מסגק) שד 00 (' ' <> [אמפאז] 8 םוז 1 - אמפא1 =: אמפאך 0 מא11 אמא צסא פאה (אפמפא1 > 00 | מתס) מטדצאט [ הדפסה עד המקום ש-אפפא1 מצביע עליו, + אזספם [ או עד זיהוי תחילת פיסקה. ָָ 11 + המ1א000 0 =: התצאטסס תס ( סימן לתחילת פיסקה ) אמד ‏ '/' = [המדא000 | זס] מסגת סד פטתץך =: מאד1 אשא מס זט [ הדפסת התו הנוכחי + (1:[תת1א000 הא0] 05גק) מדנתט ; סא [ שורה חדשה + אזפדדוט [ עס6תטסס עם6 116םש + פאם 08 4 מ חרוזת תוים" >9 חיפוש, מיון ומיזוג ; א110תפפא1 אהססתק (1) , עפאסס (2) 1 = א (3) מפצץ (ם) ; ממא = ו :)| (5) שס [א..1] צגתתה = צהתתה 5087 (6) האצ (7) ; צתתה 8007 : 4 (8) טנא : 8 ,1 ,1 (9) : א (10) ; א 00 : פאטסק (11) אזספם (12) 0( א 70 2-:1 תסק (13) אזססם (18) +] =: א (15) )16( 17 := ] חיפוש בחלק + =: פאטססק (17) ( הממויין של המערך. + סע פאטסע עסא פאה (1 > 1) מודצט (18) [ אחר איבר ש-א% קטן ממנו. ‏ + אחת [1] > א סך (19) [ איבר כזה נמצא ָ שסתץ =: פאטסק (20) ל (21) [ איבר כזה עדיין לא נמצא + 10 + 1 =: ד (22) 0 7 0אא0ע 1 -1 >=: א פסק (23) :1 ג =: [1 + א] ג (28) * =: [1] ג (25) ( 1 עס + פאע (26) .פאם (27) 90 | תק 0 % > א מתציך ; זאד = זז ;מטעהט פס [א..1] צגתתה = צהתתה לַת0ספ5 הג ; צתת 9087 : 4 ;סא :2 ,א ,2 ,1 :+ א אזססם ;א =: 7 :% =: א 00 א < 1 מחחט אזסמם % =: ם 0 5-1 7100 א =:1 סק אח [1 + 1] ג < ן1] א שד אזסספם ;[ד] ‏ = 3 % + 1] ( =: 1 ג (%> [1 + ת1] ב [ מתעדכן כל פעם שמבוצעת החלפה + 1 =:ם ; פאם =: 417 [ מקום החלפה אחרון - עליון ָ 5% גר 0 % 0זאאסע 1 - 7 =:1 אסע אחוד [1 + 1] 2 < [1] 8 חד אזסמם ;[] ( =: א + 1] 4 =: [ז] ג וא [1+ 1] ב [ מתעדכן כל פעם שמבוצעת החלפה + 1 =:ם ; פא ([ מקום החלפה אחרון - תחתון ָ 0 8 [ א < [ 16צםש )+ פאםת . פא )1( )2( )3( )8( )5( .)6( )7( )8( )9( )10( )11( )12( )13( )14( )15( )16( )17( )18( )19( )20( )21( )22( )23( )24( )25( )26( )27( )28( )29( )30( )31( )32( )33( )38( )35( )36( )37( 1 ; (עטפדטס ,עשסא1) 50%2 צגק אגהתססחק ;תס עס [1..20] צגתתה פמאסגק = ;אגא עס [פאחס₪ אגא..1] צגתתה > צגהתה מאגא ;סנאד ע0 [פאתסט אהא..1] צהתתה = 00 1 = פאתסון אגא ;את : א ,,1 ,% : מאגא המאתסא ; צגחתה טאאא : כטאגא ; צגחתה אתעמט : אמדטט ; א 00 : פאטסץ ;סנא ע0 [1..3,0..6] צגתתה : זזואז.1 אזסמם רד חר חרי חר חר חרי ד חרי [ מספר העובדים שתחום הותק שלהם הוא [ בין 3 ל-(6-1) שנים. משכורתם היא 875 22 : [1 ,1] דדאד1 [2 ,1] דדאד.1 : [3 ,1] צדאדן [2 ,1] חדאדן [5 ,1] דדא1 [6 ,1] צדאזן [1] חדאדן [2 ,2] דזאדן [3 ,2] צדאז1 [8 ,2] דדאדן [5 ,2] דדאד.ן % =: [6 ,2] דדאד1 00( 6 790 0 =:1 סק % =: [1 ,3] דדאדן % =: א ; (מאהא המאתסטח ,ט) אזסגסת כ יל . יר ררה רל ריר רה ריר ו |][]-[ יי יי שת (=)] )1( )2( )3( )8( )5( )6( )7( )8( 9( )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )28( )25( )26( )27( )28( )29( )30( )31( 0 0 =<ץט םחה (32) אזסמם (33) ;1 + א =: א (38) =: פאטסע (35) )36( 7 := 1; 0 פאטסת עסא פאה (א > 1) מתצחה (37) אפווד [1] אמדסט > ץ עך (38) מסתד =: פאטסקע (39) מפזט (840) 0+ = ד (41) 0 1 0אח0ע א =: 1 תסע (42) אזספם (83) ,[ד] אמעמט =: [1 + 1] אמפמט (88) [ד] פפאגא =: [1 + 1] פמאגא (55) ; פאם (86) ; =: [ד] אמתשט (ד4) ; אגא תתאתסט =: [7] פטאגא (88) (מאגא תמאתסט ,ץ) אזפהטת (89) ( ט ₪116 + ; פאם (50) )51( 4 := 5 'שם משכורת מירבית') אזטיד1 הו (52) 00 (11 9 צדאדן > [ד] אתעתט) פאה (א => 1) מדרת (53) אזססם (58) ; (1[:25] פמאגא ,80: :'ללא כלל - פחות מ-3 שנות וותק') אמדזתט (55) 1 + > צ (56) 1 + [0 ,3] צדאד1 =: [0 ,3] דואד (57) פאם (58) )59( 1 := 1 00 ([6 ,1] דדאד: > [2] אמצמט) פאג (א => 1) - ו (60) אזסספ (61) 0 [1 ,1] עדא =< [ד] אמעמט מתצוהו (62) ;1 + 1 =: ך (63) ; (1[:25] פמאגא ,1[:80 ,2] עדא1) א זפדזת (68) + ד =: 4 (65) 1+ [1-1 ,3] לדאד1 =: [1-1 ,3] ידוד 1 (66) ; פא (67) 20 א >> 1 מוזה (68) אנספם (69) ; (1[:25] פפאאא , 40:'ללא כלל- יותר מ-25 שנות וותק') א ועדת (70) 1+ =: ד (71) 1+ [6 ,3] עעא1 =: + [6 + 1 (12) ; עאם (73) ; א וטיו (78) ; (50: 'מספר עובדים שנות וותק') אומדזחשט (75) ; (0[:15 ,3] ד1181 ,30:'פחות מ-3 שנות וותק') א]מדדת (76) 0( 5 10 1 =*:1 תסע (77) 2 ,1] צצאדע ,'-' ,1[:27 ,1] שדאד) א טייד (78) (1[:15 ,3] צדאז1 (79) (6[:15 ,3] צדאד1 ,30:'יותר מ-25 שנות וותק') אתעעצגע (80) . סא (81) ; (1טקדטס , צטפא1) ע ןג אהתססתק 0 1 = אגא ; תמסמא1 = מפצך ₪ ;וט עס [אהא..1] צהתתה = עהתתג 5007 ; צ4תהה 5087 : ; תפסטתאת : א,1 ,א , +? האל 4 ב א אזסטת ; (א) אזפאתת 0 א 70 1 > ך סק ;([1] 8) אזפאגמת נא 1% 90( %<ד 0 = 34 = = % 0 5-1 0 א >:ך אשמעץ [1 + 1] ג < [1] א שד אזססם 8 כ 08 4 סש החכות )1( )2( )3( )4( )5( )6( )7( )8( )9( )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )23( )25( )26( )21( )28( )29( 0 א סעאאסע 1 - 7 =:1 תסע אחא [1 + 1] ג < [1] א עד אזססם :[] =: א ;[ + 1] =: [ז] בג ;א =: [1 + 1] 4ב 1 =:ם ; פא = א [ א < [ 116ת + ; פא אשאץ (א) פפס עד ( 'החצ*ון הוא ' ,2[:1 שד (1 + א)] ג) אשמדזתו כו | ,2: 2 / ([1 + 2 עצפ א] 8 + [2 עצפ א] 4)) אמפצדתטא ('החציון הוא ' . פא [תוכנ'ת 5% ; (תטקינטס , תשפא1) 6אבסתפא אהתססתק 0 1 = פמאגא אהא מפצץ ;תס 08 [1..20] צגחתה פמאסגק >= מאגא ;מאגא עס [5מאהא אגא. .1] צגתתה = סטאגהא תג ;אגא : פמאהא 5087 , פטאגא פס , סמאגא אמא ; ממא :1 א,1,%8 ([ מערך של שמות ָ ;אא : < תהט) פמאגא פגמת מהנשקמססתק ( מספר השמות שנקראו + (תמ0מעא1 : א תגט תגל ; תמא : 1 אזסטת 1 =: א ; (15: 'הכנס את השמות') אמדדתא דמסמת ;1 + א =: א ([1 + א] א) אזסאמת '.' > [1 ,1 + א] א מנעאט [ מיון בועות של ָָ [ מערך שמות 4 ָ ;אא : 3 תהט) צגתתה 5087 מתטפטססתק (22) [ המכיל א איברים ָָ ; (ת0מזא1 : א )23( מג (28) ;פאז :2 ,1 ,1 (25) שאגא : א (26) אזספם (27) ;א =: 1 (28) 0 0 <1 מהזוח (29) אזסתם (30) )31( = % 00( 7-1 170 1 >:1 תסע (32) אפמד [1 + 1] 2 < [1] א אד (33) אנספם (38) 2] ( =: א (35) % + 1] 2 =: [1] 4 (36) 3% [+1] ב (37) 1 =:ם (38) ; פאם (39) 1 ד (40) פאם (81) ; פאם (42) ;אא : 0 ,ם ,4 תגבט) מסתמא מתספטססתק (83) ; (תתסמנאז : א ,א (88) הט (45) ;טא : כ ,א ,1 ,1 (46) אפפ (57) =: ך (88) )49( 7 := 1 00 =: א (50) 0 (א >> 1נ) פאג (א => 1) ממנצא (51) אזסטם (52) ;1% + 8 =: א (53) אפ [] 5 > [1] א אד (58) אזספם (55) %] א =: [ָא] 0 (56) )57( 1 :> +1 פאם (58) )59( ₪ אסשת (60) 17% פ =: [א] 0 (61) אפ [5]2 = [1] ג קך (62) + ך =: ך (63) 1+ ד =: צ (68) פאם (65) ; פאם (66) אח 1% א | (67) 0 א 70 ך =:ע תסק (68) אזסטם (69) + א =: א (70) 06 [₪] ג =: [אן 0 (71) פא (72) מס (73) חן א 16 סך (8ד) 0( א 70 =:ע סק (5ד) אזספם (76) % + א =: א (77) [ש] 5 =: [א] 0 (78) פא (79) ;פאם (80) ] תנם )+ אדסמם (81) : (50: 'רשימת התלמידים החדשים') א תמדדתט (82) ו , סמאהא שמא) כ)ףא פגמת (83) | (50 : 'רשימת התלמידים הוותיקים') אמתנזתט (88) : (א , סטאא כ0) פמאגא ספת (85) 1( , פטאוא | אמא) צהתת . = (86) :(א , טאאא 5ע0) צהתתה . שו (87) :א ,א , טאאא 5081 , במאגא 015 , פאהא שםא) מממא (88) , ; (50 : 'רשימת התלמידים הממויינת 1 אפזזוט (89) 0 א+א 0 1-1 פחסת (90) ([1] פפאהא 5081) אזמדדתה (91) .פא (92) | בעיה" זו | ית לפת דרי -בשת? דרכים, "א. על-ידי חיבור שני הוקטור? וֶּ השמות. "ב על בה ביצוע מיזוג "מפתר. המוצג בשאלת." זו הינו מ הוא,: שהוקטורים יהיף3 ממ 5 ל בעמודים 3 -162). חפרוצדורה. | פ₪אהא | פומה קּ את של התו הראשו ן בשם הנקרא;' | מערך של שמות ואת מספר השמ ; בשורה. 3 לְקריאת שמות | התלמ 11 'תוכנית 5 068 ; (1901ט0 , צטפא1) 55208 אהתססחס פאס 1 = 1.055 אגא מפצך ;תס עס [1..9] צהתתה כטאסגס = הממאטא ;האס עס [1..30] צהתתה כמאסהק = 8 ;תס ע0 [1..20] צההתה פמאסגק = מאגא תתמאטא אס [1051 אגא .1] צהתתהבה = שאסתש יד ;טאאא עס [1051 אגא .1] צהתתב = פפאהא ;עפ ע0 [1051 אגא. .1] צהתתה = אס1דקזתספטס הג ; א110? 031 : פאטסע ; טואא : תמפאזט ; פא10קם, זטיד : התמפאטא ד א :א ,1050 :1 0 ; התממאטא : אסא ן 107 ; המסמדאך : פזא ,1057 (עפתדת ,א ,2 ,2 ,1 אזסטם ; (15: 'מספר המציאות?') אמדזאט ; (א) אתפגטת 90 א 70 1 =:1 אסק אזסטם ; (15:'תאור המציאה: ') א,ומדזתט )([1] פאטסע) אתסאמת :(15:'שם המוצא:') אומדתט ו([1] תמפאדע) אתפגמת : (15: 'מספר טלפון :') אמדדתט (נד] המוטא תד') אזפאמת ; פא ;א =: 17 0 0 < 1 מצחח אזסטם % =: רע 00| - 70 1 >=:1 סק אמא [1 + 1] פאטסע < [1] פאטסט חך אזסטם %] פאטסת =: 50שע % + 1] פאטסע =: [1] פאטסק =: [1 + 1] פאטסק 1] תתפאדק =: א + + ד] מפפא1ע =: [1] המפאדק := [1 + 1] תספאדק 1] תפפותזא .גד =: אטא + 1] תספאטא 70 =: [ד] תסמאטא ,זך ;אסא >: ן[1 + 1] התפאטא שד 1 =:ם ; פאם )1( )2( )3( )8( )5( )6( )7( )8( )9( )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )28( )25( )26( )27( )28( )29( )30( )31( )32( )33( )33( )35( )36( )37( )38( )39( )80( )81( )82( )33( )48( )85( )86( )87( )48( )49( 2 ד (50) [ 0 < [ 16צמש + | ;פאם (51) ; (15:'תאור האבידה:') אזמדדתט (52) ; (1.051) א1סגמת (53) ; (15: 'שם המאבד : ') א זמידדגעט (58) 0 א זומת (55) 1 =: דפתדק (56) ;א =: 1457 (51) דהטיקטת (58) עד (14517 + דפתדק) =: פדא (59) אטאד [פדא] פאטסע > 20851 אך (60) 1 - כ1א =: 1451 (61) זו (62) 1+ פא =: צפתדק (63) ; (1487 < דפת1ע) 08 ([עדא] פאטסע = 10582) מבעאט - (64) אמו [סנא] פאטסע = 1087 חך (65) אזסטם (66) (: "שם המאבד' ,15:'שם המוצא' ,9:'מס. טלפון') אתדדתט (67) ; (25:'תיאור המציאה' (68) ,40 ,1[:20א] המפאצת ,9:[פדא] תממאטא ד) אזטדדתט (69) (15[:30א₪] פאטסת. (19) פאם (71) פא (72) 21 קריאה. של רשימת המציאו 1% ימיון הרשימה בעזרת האלגור 0 על ידי שיבוצ בתוך מהלך. קר: ,52-55 : נתרנ?: האבידה:: | 56-60 : חיפוש בינה* של האבידת. ,תוכנית 7 ; (01קעטס , צטקא1) 5081 אתגא אהתססתק (1) 7פא0%ס (2) 1 = עאמפטצפ אגא (3) 1 = אס1עפמטס אגא (8) מפצל (5) ;תס 0 [1..20] צהתתה כסאסגק = מאגא (6) האץט (7) ; תמסטעאז ע0 [א510 0 . אגא.. 1‏ [אמפט510 אגא..1] צהתתה : אשצדקדך (8) ; תתסמנזא1 0 [א0סדידפטטט | אגא..1] צגתתה : 4אפזא (9) ;א 0% [צאמפטפ אג. .1] צגתתה : סמאהא (10) ;ות עס [צאמפטצפ אגא..1] צהתתה : את (11) ;תתא : א ,א ,107 ,א - (12) ומת : אתגא סקאס | (13) ;מאגא : מאהא פאפע | (18) 99 אזסטם (15) ; ( 'מספר הסטודנטים') אומצזתט (16) ; (א) אזסאמת (17) ; ( 'מספר השאלות') אזמדזתא (18) ; (א) א;זפאמת (19) 0 א 70 1 >:ך7 אסק (20) אזסטת ; ('שם הסטודנט') א מדזתט ; ([1] פמאגא) אזפגמת ; ('רשימת הציונים') אומדדתט 00 א 70 1 ->: תסק :([7 ,1] אטעצד2ץצ) סגתת אוש זוט [ 1 עס? + ; פאם )21( )22( )23( )28( )25( )26( )27( )28( % =: א (29) 00 א 170 1 >:1 סע (30) אזספם (31) ; ( 'משקל שאלה מספר' ,1:1) אומצזתט (32) ; ([1] .ז4א53דא) א זפגמת (33) [ סכום משקלי הציונים + [1] םהאחפזא + א =: א (38) ; פא (35) 90 א 790 1 >:1 סק (36) אזספם (37) % =: [1] אתגא (38) [ סכום המכפלה: ציון * משקל + 0 א 70 1 >=: 1 סק (39) 1 ,1] אטצב2ד * [1] עגאאפנא + [1] אתהא >: [1] אתגא (50) [ חישוב ממוצע משוקלל + א / [1] אתא =: [ד] אתגא (841) ; פא (82) (א=3 7 (83) 900( 6 <ד שוטשט (884) אזססת (55) 1 =: ם (86) 00( 1-1 10 1-1 תסט (47) אא [1 + 1] אתגא > [1] אתגא סד (28) אזסספם (89) 1] אתא =: אתגא קאטך (50) 1 + ד] אתגא =: [ד] אתגא (51) ;אתא קומך =: [1 + 1] אהגא (52) 1] פחאגא =: מאגא קאמך (53) % + 1] פמאגא =: [1] פשאגא (53) ;מאא קוד =: [1 + ד] פחאגא (55) 1 =:ם (56) פאם (57) 2 ך (58) ([ 0 < [ 16נםא + | ;סאם (59) :(35:'ציון שם תלמיד') אזטדדתט (60) 0 א 70 1 1:5 אסק (61) (1[:10:2] אתגא ,1[:25] פמאגא) אזמדדתט (62) . פא (63) 100 | קריאה של 'רשימת" המצ )50( 4 := ₪ [ 0 < [ 16צתש + ; פא (51) ; (15:'תאור האבידה:') אמדזתט (52) ; (1051) א;זפהטת (53) ; (15: 'שם המאבד:') אטלדת (58) ; (10990) א,זסאטת (55) ;1 =: דפתדק (56) ;א =: 1457 (57) צאמיסת | (58) 2 טדס (14817 + עפהדע) =: פדא (59) אמזצו [פדא] פאטסת > 1087 אד (69) 1 - פא =: 1457 (61) )62( 8 1 + סדא =: צפתדק (63) ; (1.457 < צפתנע) 08 ([פדא] פאטסע = 1052) בלאט (68) אטזו [פדא] פאטסע = 0852 אך (65) אזסמם (66) ,20 : 'שם המאבד' ,15:'שם המוצא' ,9:'מס. טלפון') אמנזת (67) ; (25:'תיאור המציאה' (68) (20 :0 ,20:[סדא] המפאדע ,9:[סדא] התמאטא ע) אתמדדתט (69) (30:[פ1א] פאטסע (19) פא (71) פאם (72) 1 "מיון הרשימה בעזרת האל גוו על ידי שיבוא בתנ מהלך 5 נתונ* האבידה 5 4 -חיפוש.בינר: של' האבידה תוכנית 7 ; (תשקדטס , נשקא1) 5081 אתגא אהתססתק (1) 07 (2) 1 = תאמפטדם אגא (3) ;20 = א5110מ0ס אבא (8) מפצע (5) תהאס 0 [1..20] צגתתג סטאסגק = מאגא (6) תגט (7) ; תהסנא1 09 [א510ט 0 .. אהא .1 , דאמפטדפ . אאא..1] צגתתה : אטצד2ך (8) ; תפסמזא1 08 [א110פטטם : אבא..1] עגתתה : אהסד (9) מאגא 08 [2אמפטנס . אגא..1] צגתתה :| 5מאגא (10) ;זומת פס [דאמפטדם אגא .1] צגחתה : את (11) ;סואז : א ,א ,191 0 ,א (12) : אהו קוקיי (13) ,מאגא : מאגא <מך (18) וי ו "זה המחשב האישי שלדך." ‏ 11 תוכניות מיון 502%א8₪016 ו-680502%ת 1% אס 1 = אה מפצ | ; תמסמדא1 = מקצך דאטום. זט ;אא. .0 = אחפאך ן ; שפצ דאטאט.וזם שס [אמפא1] צגהתה = צגתתה צהספ | [ פרוצדורה להחלפת איברים א ו-ץ + ,א 48ט0) סקגשפ מהטפםססהק ן ; (שפצץ לאמאתזם :- ץצ הג ; מפציץ דאטאםזם |: פאטך ([ 800שפ + אזסמם ן ;א =: סאתך | ;ץצ =: א קמ =: צ ( פפ898 + | ;פאם ; צגתתה 07 : 4 תגט) א10עדדתגע מתטפמססהק , פמ ; אמפאז : 81ד7 ,41 לעמ הגע ; (אפפא1 : פגמת 7ה0זת הג פעך דאמאמם : שסטזק 1 ;)אמפפאע : ת [ מסנפנסעהם )+ א01שם [ בחירת איבר ציר + ;[2 טדם (12ג1 + עבמא)] 4 =: עסטדק - כגמח =: ם + 71410 =: ת 12 1המקטת דםקמת 1+ם >:ם ( לולאה עד איבר הגדול מאיבר הציר + 1 =:>< [2] ג מדעאט דקפת 1-ת =נ: הת ( לולאה עד איבר הקטן מאיבר הציר + 2% => [ת] ב מדצאט אמתץך 5 > ם תך [ החלף איברים ) ([9] 8 ,11] 8) קקפ 1 =< 2 מנעאט [ לולאה עד שהמצביע השמאלי גדול או שווה למצביע הימני + אפעך 5 > 12 קך ] אם המצביעים שווים + אנססם 1 - 2 =: מצד צסאן 1+ 2 =: פתחח עמסדת פאם [ אם 8 0 )+ מפט | אדססם =: עדגך צקמן =: כגמא [אסזת פאם ( ם1610טע8ק )+ ;פאם ; צתתה 5087 : 4 הט) 001085087 מתטפמססמק , סהטה ; (אפפא1 : 210ך הג גד דקמ ;אפפא1 : פגמת צאסצת [ 6ע6010%90 ) אסתם אמח 1גדך > כגמע סך א1סטת חלוקת + ; (פהמו עמסדת עשם ,דג ,עגפת ,ג) אסנדדדתהק המערך לשני חלקים. + ו / ( מיון רקורסיבי ָ / ו ], | | | ן ; (1415 דט ,גמ ,4) 1ת0ספאסדטם על החלק השמאלי. + מיון רקורסיבי ָ (411ד , קז דאסזת 010037 על החלק הימני. + עאם ( 10%5096ש6 + ;פאם 13 .ד צסטדתק ה ד הזת תתמ שים לב שמיקומו:! האיבר: הנבחר. ומזי ₪ זה חוזר. בצו דוגמה מספרית למיון 50871 א0010%: ניקח את הסדרה הבאה: מקרא : הסומע - א ענת - ך עס - קש 1 תקסע -ם ד [אנת - 5 1% ? לולאה עד איבר הגדול מאיבר הציר + [ לולאה עד איבר הקטן מאיבר הציר ך החלף איברים + ך לולאה עד שהמצביע השמאלי ג ך אם המצביעים שווים + [ אם 8 <ם + חלוקת + ; (פ₪4 101 המערך לשני חלקים. + מיון רקורסיב: ָָ על החלק השמאלי. + מיון רקורסיב: ָָ על החלק הימני. + ו / ו / / / דמקמת 1 + =ן = :>< [2] ג צאט ץמקטת 1]- 8 =ג: םת ָָ 1 => [ת] ג מדעאט אמח ם > קך (נת] 8 ,[2] ב) קקהחפם =< 2 מצעאט דול או שווה למצביע הימני + אפאך 5 > 2 שחך אזספם : 10 וקטן פהחת לחסדת פאם מס אזסמם =: מדגך לחמן 2 =: כגמה צאסזת פאם ; פא ₪ - 1 := +1 ( ת61610עמק + ; צהחתה 5087 : )001005081 ממטפססססס , סגא ; (אפפא1 : 10גך הגע דקטן ; אמפאד : סאפ [חסדת [ 6010%50%% + אדסעם אמח 1גך > פגתע חך אזסטם ה ,10 [קםן ,דד ,פהמט ,ג) אסדעדדתהק ; (1410 לסטן ,םא ,4) 50₪7א10טס (11ג ,הפו 107 ,4) 507 א6דטם פאם [ %ע10%90טף + ;פאס 13 1 1 319 19 100 100 100 100 5 5 5 5 שת כ--פם 1505 1 1 1 1 1 1 1 זפרוצדורה ‏ 001085081 מבצעת > ישלחו אליח. הערכים שלעיל 16 399 199 199 19 39 19 19 199 199 10 100 100 100 10 100 100 1 5 5 5 5 5 5 29 29 |29 29 29 |29 29 29 29 8 8 = 10 10 10 10 בשלב. זה מתבצע .01088081 הפרוצדורה 001085081 תבוצע.ר "ישלחו. אליה הערכים שלעיל. 19 1 1 5 5 29 29 29 29 29 29 8 8 18 8 8 8 150 10 10 10 150 10 17 סו | / ; תמסמעאד = מקצך עאמאט. זט אא. .0 = אמפאד מצד דאמוומ/ום עס [אפפאד] צהתתה = צהתתה 5087 ; ץאתתה 5081 : ב ההעץ) 50 קופ שתנסטססתק ; (אמפא1 : א תג ; מפצץ דאמאום : א ;]מא : א ;שפצ צאטום : א) עתתפא1 מתספטססתק 0 ; (אמפא1 : 2 :| אמפאד התזות ;אפפאד : אפפא1 א50 [ 6ע6פת1 )+ אד6סם [ האי נדקס במערך ה"אב" ) 1 =: אמפאד המחדגע [ האינדקס במערך של הבן השמאלי) ;אמסא תמחנהת * 2 =: אמכא1 א50 0 7 >> אמפאז א50 מצחחט ( כל עוד לא חרגנו מהמערך + אזסטפ [ אם קטן, סימן שיש גם בן ימני + אמאד 7 > אמפאד א0ספ עך אטח" [אמפאד א50] 4 > [1 + אמפא1 א50] 4 שד [ אמפא1 א50 יצביע ‏ + + אמפא1 א50 =: אמפא1 א50 [ על הבן הקטן יותר + או [אפפאד א0פ] 4 >> << קך [ האיבר להכנסה (א) קטן מהבן + 1+ 1 =: אמפאז אספ ([ הקטן, ויש יציאה מהלולאה. ‏ + מסז אזסטם [ הכנסת הבן + ;[אעפאד א50] 8 =: [אמפאד תמצעהת] ב [ הקטן במקום האב. + ([ האב הופך להיות שורש + ;אמסא א50 =: אמפאד המחדגע [ העצ של הבן הקטן במיקום של הבן השמאלי החדש. + אמסאך תממזגע * 2 =: אמפאז א50 פא ; פא [ בשלב זה אמפאך המחזות הוא עלה או + א =: [אמפאז תמחזות] ב שורש העצ ש-א הוא הקטן ביותר מבין + [ איבריו ולכן א מוכנס למקום זה. ; פאם 108 צנ ד ההההההדההוקדדהדדיזד לוי דוי ל "הליקקיעשם. אש ; פומז 12טם מתטפמססתק התה ;אתפאד : א [ 116טס + אדסמם / מעבר על כל ה"אבות" + 00 1 ס0דאאסכע 2 שעת א =: א אסץ ] הכנטסה במקום המתאים בתת-ע% של [א] ג + (א ,א ,[א] ג) צתתפאד [ 116טס + ; פאם [ 8026 קפסת + אנג0מם [ מעבר ראשון + ; שאמ פ1דטם 0 2 0זאחסע א =: א אסלל אזסמם %] ->: א [ האיבר הקטן מועבר לסוף + %] ג =: [א] ב [ הכנסת האיבר שהיה בסוף העץ למקום + (1 - א ,1 ,א) עתמפאד [ המתאים, בין 1 ל-(1-א). ָ מ "נדחפים*. לכי וו הע -% שכל. איבר הוא הקטן, ו נתון המערך הבא: ב 1099 110 נסתכל על המערך כייצוג של עצ בינרי כמעט שלם: פאמזן סננטם מספר האיברים 8 = א [3 = %] (ם ,א ,[א] ) 8026מ1 9 גדול מ-30 ולכן מתבצעת החלפה הט אשמ -קמדפ)ח-מהקה להזקאחטהה ההק מקה /נלח חר כ ו [3=א] (ם ,א ,[5] 4) 60ע6פת1 [2=א] (ת ,א ,[א]4) 6ע560ת1 תת-הע ששורשו [4]3 לא משתנה כ:י 5[8] < 4]8[=30 ולכן [4]5 מוחלף 5 קטן משנ* בנ'ו. ב-[4]2. 5 במעבר הראשון ב-626פת1 הערך % שב-[4]2 מוכנס ל-[4]1 במעבר השני הערך 30 שב-[4]4 מוכנס ל-[4]2 במעבר השלישי הערך 39 שב-[8]8 מוכנס ל-[4]4 לאחר יציאה מוכנס הערך 40 שב-[4]1 ל-[4]8 ומתקבל : שים לב! בשלב זה כל איבר הוא הקטן ביותר בתת-העצ שלו. [1=א] (ם ,8 ,[4]5) 6ת56פת1 11 501 קמזן התחום במערך (עצ) ש-8626ת1 פועל עליו מסומן בקו מקווקו. 8 = ם > א 7 + 0 = [א]4 =: א 5 = [4]5 =: א 8 = [1] =: [א]2 0 = [4]1 =: [א]4 (7 ,1 ,א) 6ע6פת1 (6 ,1 ,א) 6ע8פת1- האיבר % מוכנס לעצ במקומות 1 עד 7 (מסומן במסגרת מקווקות). % > 5 8 = 6 9 = [א]4 =: א 9 = [א]4 =: א 9 = [1]א =: [א] 0 = [4]1 =: [א]4 (5 ,1 ,א) 626פת1 (8 ,1 ,א) 962%ת1 112 555 8 = % = % 5 = [א]4 =: א 9 = [א]4 =: א 5 < [801 =: [א)ג 1 = [1]ה =: [א]א (2 ,1 ,א) 6ע80ם1 (3 ,1 ,א) סעספם1 *ך. מערך : - ו > | 5 | 5 61 | 5 [ ₪ | 5 | 8 1 5 = [1]א =: [א)ג (1 ,1 ,א) 6עספת1 - ]ז | ל 1 1 13 "חיפוש" 11% פרק 6 פרוצדורות ופונקציות שאלות . שאלה 1 א. פלט התוכנית: 197 90 15 ב. פלט התוכנית: ג. פלט התוכנית: 7 19 60 19 19 7 19 7 155 טאלת :2 את התשובה לשאלה זו נציג בתרשים (ראה גם סעיף 8.4 בספר פסקל). 116 | טאלת 3 בתרגיל זה ישנם מספר משתנים, שאינם מקבלים ערכים כלשהם בתוכנית, אך הם מודפסים. דבר זה י*גרום להופעת מספרים או תווים אקראיים במהלך הביצוע. להלן טבלה שמרכזת את הפלט: מקרא: ל"מ - פרושו "לא מוגדר" 117 תוכניות [תוכנית 1 ; (01ק1טשס , עשפא1) ס6אדעה וטס 641 אגי' אגתססתק (1) האג (2) ;תס : 5 (3) ;זומת : אגד , צתה1ה5 (4) ;ומת : (עגמת : 5) אא חהזגק אסזעסאטע (5) אזסמםת (6) אטע" 1000 < 6 עב (1) 8 * (1000 - 5) + 1000 * 0.2 =: אגץ תדהק (8) מפט (9) 2 * 5 =: אגך הזהץ (10) [ אפס ענהם + ; פאם (11) : (םגהמת : 5) אהד מ0א51 א0סדעסאטע (12) אזסספם (13) אטח 500 < 5 עב (18) 6 * (500 - 5) + 500 * 0.1 =: אג1 00₪א51 (15) טפט (16) 1 * 5 =: אגך ₪א51 (17) [ א%8 ₪16ם81 + ; פאם (18) [ ת81ם )+ א01מם (19) ; ('מצב משפחתי? א = נשוי, ‏ 2 = בודד') אתדנתט (20) ; (51108) אננפאמת (21) ; ( 'רמת הכנסה') אמדזתט (22) ; (צתה.501) אןזפאמת (23) אפות ‏ 'א' = 81708 קך (28) (צת/501) אהד תדגק =: אגך (25) פוט (26) ; (צת541.4) אהד 018א81 =: אגך (21) ('שיעור המס הוא ' ,2:2:א1) א מדדתט (28) .עאא (29) הערה : * הפו נקציה אגז 418ק מחשבת מס ; ג נש * הפונקציה אהד 51801.8 מחשבת .מס עבור אדס יבודד, 138 תוכנית 2 תוכנית 8% ; 0002 , בצטפא1) א4ת100פדא אבתססתק הג ; תם0טעא1 : 10175 ,א ; (תמסמצא1 : א) מאד שגתע מהטספפססחק 0 א 70 1 >:1 תסקע 1('-') מעדתט אטעזת ₪ [ 6ת11 ש8ע6 + ; פאם [ םנפם )+ | אד6שם :(' = א') מצנתט ; (%) אתסמת 1( ' ,א) מענתט 1 =: 16175 0 1 =< (א) 825 מודמט אזסטם + 210175 =: 06175דס 0 עפ א =: א ; פא (10115) שא שגתפ . פאם ; ( 000 , שקא1) אדתדהא מת5003 אהתססגק תס [אאעס0ס אהא..1 ,חסת אהא..1] צהתתג = אנתדהא 0 1 = אסת אגא ;1 = אאעסס אגא מקצן הג ; תדהא : 4 ;הצא : 2 אמפא1 ,1 אמפאד ;תס : 500) א0ח50 א10עסאטק ;תדהא : אנאטעטא תבל : ( המסמזאז : א תג ; התמסטנאך 1 1 : אפ אזסטם 5% =: אשפ | הב 1 הדפסת ערכ?: החישוב': [ חישוב סכום הריבועים בעמודה + אמחד כ 'ג' = 500 עך (18) 0 שסת אגא 70 1 =: 1 אסקע (19) ([א ,1] אנאעטנאא) 502 + 508 [ חישוב סכום הריבועים בשורה ‏ + שפזם (21) 0 אאט00 אגא 70 1 =: 1 סק (22) :([1 ,א] אנאטצטא) 50 + אספ =: אספ (23) אספ =: 501068 (28) ; פאם (25) [ ם81ם )+ א8₪01 (26) 00 אסת אגא 10 1 =: 1 אמפא: הסק (27) אזססם (28) :('הכנס שורה מספר ' ,1:1 אמפא1) אזמדדתט (29) 0 אא000 אגא 70 1 =: 2 אמפא1 תסק (30) ;([2 אמפא1 ,1 אמפא1] ג) פגמת (31) אז זט (32) ; פאם (33) 0 שסת אגא 70 1 =: 1 אמפאד הסק (38) אזססם (35) 0 אא000 אגא 70 1 =: 2 אמפאד תסע (36) ;(2[:10:2 אמכא1 ,1 אמפא1] ) מצזתט (37) (1(:10:2 אמפא1 ,4 ,'5') א5000) אומדנתט (38) ; פא (39) 0 אאש0ס אגא 70 1 =: 2 אמפא1 גסק (80) (2(:10:2 אמפא1 ,2 ,'ג') א500) מדדתט (81) . פאם (82) 3 ריאת המטריצה;/ = 9 הַדפסת שורות המטר: -תוכננ'ית 6 ; (2 00 , 1שפא1) 05א1ת51 אגתססתק (1) 01 (2) = תס אא (3) פפצ (4) ]תס 0 [0 אהא .1] צהתתג פמאסגק = 57 (5) תגט (6) ;ד :2 ת57 ,4 57 (7) ; תפספנעאז : 2א ,1א (8) 120 סנאד : 2א ,1א) ת57 טפ מהטספמססתת (9) ; (ת51 : 5182 ,57181 תמגע (10) תג (11) ; תמסטעאז : 1 (12) אזמם (13) [ העתקת המחרוזת המבוקשת + 20 1 - 2א + 1א 10 1א =: 1 תסקע (18) ;] 5781 =: [1 + 1א - 1] 8782 (15) ([ מילוי שאר המקומות ) 20 0% אגא 970 1 + 2א =: 1 תסע (16) [ ב-5182 ברווחים ָ '' >: ן1] 572 (17) ; פא (18) [ םת81ם )+ אתסמם (19) ((8 הדפ) אתסגחת | (20) ; (2א ,1א) אתתגמת - (21) ; (9 תד5 ,4 818 ,82 ,1א) 578 508 (22) (פ תד5) אנמענתה | (23) . עאם (24) של חרי גה מהמערך לתוכנית 7 ;את : (תגמת : צ ,א) המשסע אסנעסאטע (1) אזסעם (2) ((א) א * צ) קאם =: המטסק (3) ;את (5) ; ( טפט , צעפא1) 507 אתהא אהתססתק 007 1 = תאמפטנם אגא מקעיך ;תואס עס [1..20] צהתתג פמאסגק = מאגא ; ת0מעא1 0 [+אמפטדפ אגא. .1] צהתתג = פאתגא תגט 11 ;א 05 [עאמפטצס אגא. .1] צגתתה : 5מאגא 7 :: אתהת ;תאז :1 ,א :+ 4 [ הפונקציה 82/8840₪ מחזירה את הממוצע של + [ מערך א%ַא, שהוא משתנה גלובלי בתוכנית. + ;]ומת : מסהתמטץג אסנעס6אטק תא ; תמסמנאז : ו" ;ות : אפ אזסטם =: אספ 0 א 70 1 >:1 אסק /1] אתא + 50% >: אספ א / 508 =: מסהתמטבה ; פא ( הפונקציה א18?10ע₪כ פתבפאג51 מחזירה את סטיית + [ התקן של הערכים במערך אתגא. + : א1110עטע פתהפאה51 אס1צסאטץ הג ; תמסמעאז : " : אפ ת0פ אזסטם 0% =: אפ 56 00( א 10 1 =: 1 תס ; ([1] אתגא) 50 + 50% 50 =: א50 508 ; (((מ6התתטא) 502 - א / אטפ ת50) עַת50 =: אס1עהנעטע פתהפאגד5 ; פאו, ([ הפונקציה 5081 מבצעת מיון בועות של מערך הציונים + ;501 מתטפטססתק ההץ ; המסא : 2 ; תתסמעא1 : אתגהא קאמך : מאגא קונדך / אזסמם"- ;א =: 7 0 0 < מצח אזססם /% =: ם 00| 7-1 70 1 -:1 המסק אמח [1 + 1] אתגא > [1] אתהא קד אזסטם ,1] אתא = אתגא קאמ + 1] אתא =: [1] אתגא ;אתא קאעץ =: [1 + 1] אתהא . ] פמאא =: מאגא קאמך + 1] פמאא =: [ת] 5מאגא ;אגא קוד =: [1 + 1] 5מאגא 1 =:כרם ; פאם 2 =: ד [ 0 < [ 116תש + פא ; פא 12 [ ם₪81 ) אזסעם ; ( 'מספר הסטודנטים') א מדזחח ; (א) אזתגמת ; ('שס הסטודנט ציון ') אומדזתח 0 א 70 1 -:2 סע ; ([1] פמאגא ,[1] אתגא) א זפגמת ;7 =: ב :(55: 'סטיה מהממוצע ציון שם תלמיד') אומצדתח 00 א 70 1 =:1 תסקע ;(4:15:2 - [1] אתהא ,1[:10] אתהא ,1[:25] פמאבא) אומדזתט ₪ ; אזזזתח ( 'ממוצע ' ,2:12:2 ,' סטית התקן ' ,8:2:א110הדטמע פתגפאגד5) אזמצדתט . פאם תוכנית 9 (א'/ו-ב') ; (ע0פעשס , עטספא1) שטסא13תד אגתססתת (1) אא (2) ; תמססנצאז : תה10מא ,ססך ,7 (3) ;תס : 0) א1אגעס מתטספמססתתק (54) ; (8מ0מעא1 : א (5) מגש (6) ; תתסמנאז : 1 (7) אזסחת (8) 00( א 70 1 =:1 תסע (9 (0) מצזתח (10) ; פא (11) ( תנ8ש + אדסמם (11) ; (פ10 , תמ0דמא) אזפהאת (12) 0 1 - יאמע 10 0 >: 1 הסקע (13) אזססם (18) ;(1 - 100 , ') אנאגדס (15) * 2 + 1 ,'*') אדאגעס (16) אזטידזתט (17) פא (18) .עאע (19) הפרוצדור את הת1, נתרנ+ קלט,: 13 ; (01פעשס ,עטפא1) תמכהמו אהתססתתק (1) 051 (2) = תס אגא (3) פפצד (4) ;תהעס עס [התס אהא..1] צגתתה כסמאסגק = נסגתהא (5) תג (6) ;סותא : 60 אסגתהא (7) ; תמסמעאז : ד (8) ;תתסטואת : (מסגתגא : 0 4סתאא הגע) א00 עד אסזעסאטע (9) הגש (10) ;את : 1 (11) אזסםם (12) ;0 אהא =: ך (13) סס ' '=] 60 אסגתגא םפזאט (18) 1 -- 1 =: ך (15) 1 =: אסתאסג עגך (16) ; פא (17) | (מ0תא1 : א ;תגאס : 6) אדאגנס מתטפמססתק (18) הג (19) ;נא : 1 |( (20) אזסחת' (21) 00 א 70 1:1 תסע (22) (0) מצנתט (23) ; פאם (28) ( ם₪81 ) אדסמם (25) : ; (60 מסגתא) אזפומת | (26) .(2 ענ (60 אסהתהא) אסתעסג עגד - 30 ,' ') אנאגצס | (27) :0 ,'*') אזאגצס | (28) 0 (60 אסגתגא) אסתאסג טג 10 1 =: 1 תסע | (29) ; ([1] 60 אסגתגא) מדנתט (30) (10 ,'*') דאס (31) . פא (32) ; (עשקדטס , צטפאד) תפמותוא מאגא |התססתק 007 1+ = אאקשעסס מאגא = אאש :00 הממאטא 1 > |ותסאתן אגא 1 > הסתתם ;סנאד ע0 [1..50] צהתתה : וטא מאגא , פתממאטא ; תסמ זאד ; ('שגיאה! שפצ (7) ;תס עס [עסאם 1 אגא. .1] צהתתה כמאסגק = מאד1 (8) הג (9) ;סנא : 8 ,1 ,1 (10) ;טא עס [1..50] צמתתה : מסגק (11) (12) : (המ0מעא1: א) אסמת0ס א0ס1עסאטע (13) תג (184) ; תמ0מזא1: 10115 (15) אזסמם (16) =: 0175דכ (17) 0 1 =< א< מעזחח (18) אזסמת (19) 1 + 10115 =: 6175דכ (20) 0 טצכ א =: א (21) ; פא (22) )23( 008 := 59 ; פא (28) ; תתסמצאז : (טאד1ת : מאהא הגט) 8 כ ןג גתא א10עסאעטע (25) תג (26) ;פמסטואז.: ך (27) ;ו : 08 (28) אזנסטםת (29) 1 =: ך (30) ; (08) פגמת (31) סט אעסם עסא פאה (',' <> א0) ממדאט (32) אזספם (33) =: [1] מאגא (38) ; (08) פגמת (35) 11 ך (36) ; פא (37) אמח א0ם שד (38) אזסטת (39) - חסר פסיק') אזמדדתט (80) 0 *: ך (81) ; פא (42) 1-1 =: אדפס פג המא (83) ([ אם היתה שגיאה - 1 קיבל את הערך 0,+ ( ולכן הפונ' תחזיר ערך 1-, כלומר תסתתת + ; פאם (848) ;תס : 0) אדאג1ס מהטפמססתע (15) ; (תתסמזא1 : א (846) תג (87) ; המסעזא1 : 1 (88) אזססם (49) 0 א 790 1 =:1 תסע (50) (0) מודתט (51) ; פא (52) [ ם₪81 ) | א61םם (53) 3% ד (58) דהמפמת (55) )56( 7 := 7 + ; ([1] מסגפ) אדפק פג התא =: [1] מעסא1₪ מאגא (57) אטות תסתתם <> [1] התסא₪] מאגא סד (58) ([] פתממאטא) אזפגמת (59) מפ (60) אזפומת 6(7) ; (תסתתע = [1] זתסאמ1 מאהא) 08 ('.' = [1 ,] מ0גק) מצעאט (62) 0 7-1 0 1 =:1 הסע (63) אזססם (68) ;(10 ,' ') אדאהעס ' (65) 0 [1] זתאא פאגא 10 1 =: א תסקע (66) ; ([א ,1] 08גק) מדזתט (67) - א001.09 מאגא - אאע001 המסא ,' ') אדאגצס (68) ; (([1] פתממאטא) הססת0 - [1] אדא מאגא (69) (([1] פתממאטא) הסטהס:[1] פהתמאטא) אזמדדתחט (70) פאם (71) .פא (72) 16 תוכנית 11 ; (תטקעט 0‏ עטקא1) 05א1ת513 אגתססתע (1) מפצך (2) ;תס ע0 [1..100] צגתתה כעמאסגק = [מ2סהחסגא (3) תג () ;ד : אתתדצגק ,ת57 אסא ,תפ (5) ;המסא : 1 ,דעסאש1 אתמצצהק ,העסא1 ת57 שפא ,ננסא1 (6) ; 027 : א תגט) תסט0 פה גתא מתספטססתפ (7) ; (ת1000א1 : חססתס תג (8) המוט (9) ;תס : 08 (10) אזספם (11) =: הסמת0ס (12) ; (08) פגמת (13) סע '/' <> 68 מודצט (18) אזסטם (15) + 01מת0 =: הסמת0 (16) =: [אסמהס] א (17) (8ס) פגמת (18) ; פא (19) אטזזת (20) ; פא (21) ,1א) אטמד אס1עסאטע (22) ; 02₪7תת0סא : 2א (23) ,1א (28) ;אגמססת : ( מתסמזאן : 2א (25) הג (26) ; המסמעא : 1 (27) ;א001 : פאטשסקע (28) אתסמם (29) ( ערך התחלת* - המחרוזות תואמות ‏ + =: פאטסע (30) % =: ך (31) 0פ פאטשסעץ פאה (1א > 1) מתחחט (32) אזסםם (33) אח [1 + 1] 2א > [1 + 2א] נא קד (38) [ המחרוזות אינן תואמות ְָ =: פאטסקע (35) 1+ 1:5 (36) ; פא (37) פאטססע =: אעמך (38) ; פאם (39) ; 27 סא : א 45ץ) אסא מתטפמססתק (0א4) ; תמסטצאד : הסמת0 תב . (841) ; (ת0פזא1 : 2א ,1א (82) תג (43) ;תמסמתאז : ך (58) אזסתם (45) 0 <2א - אסטת0 170 1א =: 1 תסק (46) +1] א -: [1] א (47) [ עדכון אורך המחרוזת לאחר מחיקה + 2א - 08םת0 =: 08₪08 (88) ; פאם (49) 1 גל) 0 מתטסמססתק (50) )51( 2 : 00237; תתססעאז : אסמת0 תג (52) ; (099מזא1 : 2א ,1א (53) הג (58) תתסמעאז : 1 (55) אזסטם (56) 0 2א + 1א 10אחאסת 2א + א0םת0 =: 1 אסע (57) ( הכנת מקום ריק למחרוזת שתתוסף )+ ;[2א - 1] 1א =: [1] 1א (58) ([ עדכון אורך המחרוזת + ;2 + הססשת0 =: אסמת0 (59) 0 2א 70 1 =: 1 ת0ע (60) ( שתילת המחרוזת למקום + [ד] 2א =: [1 + 1 - 1א] וא (61) ; פאם (62) [ תנש + א01םם (63) ; ( 'הכנס מחרוזת') אמנזתט (68) ; (01א1 ,578) מעט6 פג התא (65) ; ( 'הכנס מחרוזת לזיהוי') אמדזתט (66) ; (1ה0אם,] אתמעעהק ,אתמעעהפ) טש פג אתא | (67) ; ( 'הכנס מחרוזת להחלפה ') א.[מעדתן (68) ; (08אם] 57 אמא ,תדפ אמא) מטטס פג אתא | (69) 1 =: ך (70) 0 86 >> 1 מזחח (ע7) אזסמם (12) אמוו (1 ,התשאטן אתמדדהק ,אתקדדהק ,ה57) אעפד קד (73) אזססם (18) ; (08א.] אתמדדהק ,ד ,דאמ ,ת57) באזאסטא (5ד) ; (1₪8סאט1 578 אטא ד ,זא ,הדפ אפא 5179) בע054 (76) 0 אתמידאק - אתסאם] ה91 אפא + 1 =: 1 (ד7) ; פא (78) 11 =:ך (719) ; פאם (80) ; ( 'המחרו זת לאחר החלפה ') אמקזתו (81) 0 זתאע1 70 1 =: 1 תסע (82) ([1] ת57) מעדתח (83) . פא (84) 18 ; (עשקט0 ,עטפא1) דצתתטא60 אההססתתק (1) פאס (2) 0 = צטפאד אס פאם (3) פגט (4) ;את : א ,א0פ (5) תת0מעאד : (תתסמצא1: א) אדסמע 20 0024 אסבצסאטת (6) תגט (7) ; תמ0מצאד : המחסק ,508 (8) אזסחם (9) 1 =: המחסק (10) 6% = 0%פ (11) 0 0 < א מדוח (12) אזספם (13) ;.(10 עסא א) * תתחסק + אטפ =: אפ (14) * תמאסע =: המטסקע (15) 0 טדפ א =: א (16) ; פא (17) אפ =: מגאדסמכ 20 004 (18) ; פאם (19) ,תת0מצא1 : (תמ0תעא1: א) 0020 0ע מהאדסמס א0ס1צסאטע (20) הו (21) [תתסטנא1 : תתחסק ,א0פ (22) אזספם (23) 1 =: תמחסק (28) )25( 0% := % 0 0 < א מתדוט (26) אנסחם (27) ; (8 עסא א) * תמאסק + א50 =: אספ (28) 1 * תתחסס =: תמטסק (29) 8 טזפ א =: א (30) ; פא (31) אפ =: 0024 10 ,זאאנסטכ (32) ; פאם (33) [ םת81ש ) אדססע (38) % =: אפ (35) דהמקחת (36) ; (א) אזסאמת (37) (א) גא1סמת 10 0040 + א50 =: 508 (38) ;צטפאז תס פאם = א מנעאט (39) ( (אט5) 00142 20 האדסתפ) אתמדדתט (40) .פא (41) 19 10 הפונקציה | 10 0 מִקבל .שלב מבודדים את' הספרה חימנית -- > (10.: פס 8 77 שהמספר: הארסטל 0 תוכנית 13 ; (02ק00 , צטפאד) דתתטא00 אגתססתק ‏ (1) 7פאסס (2) ;6 = ישפאד ע0 פאם (3) תג (ף) ,מממא : א ,אספ (5) ; תמסאיזאד : (ה08מ1א1: א) האדסמע 10 00140 אסצצסאטע (6) אל (7) תמסמצאז : המחסק ,אספ (8) אנססת (9) =: תסשסק (10) 0 =: אפ (11) 0 6 < א מצח (12) אנססם (13) ; (10 עס א) * תתשסק + 508 =: 508 (18) 8 * המשסק =: תתחאסקע (15) 0 עתפ א =: א (16) ; פאם (17) אספ =: הא1סמכ 10 0074 (18) ; פאם (19) ;תמא : (תמסמצא1 : 2א ,1א) 00740 פפג אס1צסאטע (20) הגש (21) ממסמצא1 : צתתה0 ,תמטסק ,אספ (22) אזססם (23) =: תתשטסק (28) >: %ספ (25) =: צתת4ס (26) 0 (0 < צתת04) 08 (0 < 2א) הס (0 < 1א) מזזט (21) אזססם (28) * התטס0ק + 50% =: | אספ (29) ; ( (8 פסא (10 פסא 2א + 10 פסא 1א)) + צתתה0) (30) 1 עצפ (10 כסא 2א + 10 פסא 1א + עתתהס) =: צתתהס (31) 0 * תמטסק =: תפות (32) טדפ 1א =: 1א (33) 0 טכ 2א =: 2א (38) [ 116ת9 + ; פאם (35) אטפ =: 00780 455 (36) ; פא (37) [ תדפם )+ אדסםם (38) % =: 58 (39) ץהמקסת (840) ; (א) אזסהמת (41) ; (508 ,א) 00742 פפג =: א50 (82) ;צטפא1 09 פאם = << מנעאט - (43) ,' סכום אוקטלי : ' ,א50) אומדנתט (88) ('סכום עשרוני : ' ,20:(א50%) מגאדסמק 20 0040 (85) . פאם (486) המשתנה צ0 מקבל בכל' שלב ָ שלי המחובר*ם., .. : "* החיבור: מתבצע כל עוד סיים מספר שאי נ ור 0 או כשק ייים. נשא. - כאשר "יש. נשא הוא מחובר' לסכום: | שת ספרות בשלב: הבא דוגמה: 86 + 42 (שני המספרים אוקטליים). 2 (1) שורה 31 שורה 29 6 + 1 = עעעהאס ‏ ן 0 = שטם ?<--- 0 2 (1ת) 6 + 1 = עעעהס ]; 0 10 = שטפ <<--- -1 2 (111) 66 + 0 = עעעהס ; 110 = שט8 <<--- 1 תוכנית 18 ; (1שקעט0) עאמאסקאם 0410015 אהתססתע (1) פאס (2) = פאטנ (3) תגט (8) ומת : א (5) 11 1 : (עגמת : א) עאמאסקאם א10עסאטע (6) )7( 07 1 = א10פסם (8) תגט (9 ומת : אמפא1 ,07גע ,תמאסק ,508 קאתד ,אפ (10) אזספם (11) 1 =: %פ (12) =: 508 קסד (13) 10 =: אמפאד (18) =: צסגע (15) =: המוסק (16) דהמסמת (17) [ סכום איברי הטור ;608 קאמך + א0ספ =: | אספ (18) ] 1 1 5 + ;אפפא1 * סק =: עסגת (19) / א כ + ;א * תתאסק =: תתשסק (20) [ מונה מספר האיברים בטור + 1 + 1 + אמפא1 =: אמפאד (21) [ חישוב לאיבר בודד )+ 01גע / תמחאסק =: 508 <אמך (22) ; (50% * א5110ק₪) 485 > (508 שאמד) 885 מזעאט (23) אפ =: יאמתאספאם (28) ; פא (25) . ([ תנ8ם )+ אסשת (26) 4 =: א (27) דהמסחת (28) ; (4:2:(א) צאמתא0פאם ,20:'=(א)קאם' ,2::א ,'>א') אומצדתח (29) עטנ + א >: א (30) 1<א תנדאט (31) . פא (32) הסבר: הפו נקצית כ | מקב' 112 ; (עשקעטס , עטפא1) דפאי' אהתסספק 007 = אסדעפמטם אגא 1 = תאמפטדפ אהא מפעיך תס [א0דצפתטם אגא. .1] צהתתה = פתמשפאה ;ות עס [עאמפטצפ אגא..1] צהתתה = פתתמוטא ותמסמעא1 תס [עאמפטצפ אגא..1] עגהתתה >= פאתגא תגט ; פתמחפאה : עשת ; פתתחפאה ע0 [צאמפטצפ אגא..1] צהתתה : 157 תמשטפאה ;א : אתגא מגאנקע ;טא : פד ;תפסא :6 ,א ,1 הפונקציה 848% מקבלת את מספר השאלות (א), את מערך התשובות (5088א2) ואת מערך התשובות הנכונות (צשא). [ היא מחזירה את הציון הממוצע על פי מספר התשובות הנכונות (24). ; תתסמעאך : א) אתגא אס1עצסאטע ; ממא : (פתמטפא : צטא ,התתשפאה הגע הג ; תמסמצא1 : תהסזת ,1 אזסטם 6% =: עחהסזת 00 א 70 1 =:7 הסקע או [1] צשמא = [1] מְמאפאג ‏ תד [ ספירה של התשובות הנכונות + 1 + 108ת =: תהסזת [ חישוב הציון הממוצע + (א / זאסעת * 100) פאטסת =: אתגא ; פא [ מנהם ) א01מם ; ('מספר השאלות? ‏ ') אמדזחט ; (6) א;תפגמת ; ('מפתח התשובות? ‏ ') אשמדזחשט 0 706 1 =:1 המסק :([1] עשא) אזסגמת ;('מספר הסטודנטים? ‏ ') אומדזתט ; (א) אזפאמת 0 א 70 1 >:1 סק אזסטם ;] ('מספר הסטודנט? ‏ ') א[מתצדתט ; ([1] פד) אזפגמת ; ('תשובותיו לשאלות? ‏ ') אמתקדדתח 0 706 1 >: 1 סק ([גנ ,1] 152 תמשפאה) אתפאמת ; פאם ; (30: 'מפתח המבחן ') אזמדדחש 0 6 70 1 >: 7 תסקע )1( : (1[:3] צשא) מצדתט (48) ; א זמידתט (45) ; ('תשובות ציון| מספר תלמיד') א(מצדתט (86) 00 א 10 1 =: 1 תסע (47) אזססםם (88) :(7:(צשא ,[ד] 187 תתפאפאה ,0) אתהא ,1[:10:0] כ1) מצדתט (49) 00 706 1 >:1 פסקע (50) :(1[:3 ,1] 1157 תמטפאה) מצדתט (51) אזמדתש (52) פא (53) . פא (58) הסבר': 7" 1 קר 2-88 17-53.. הדפסת מספר. תלמ בפונקציה אתגא ( תוכנית 16 ; (צשק טס , דטפא1) אסד,צטאתמק אהתססתע (1) גאט (2) :א ,א (3) : (םגמת : א) עסגת אסצעסאטע (4) הגע (5) )6( 50% : אזסמם (7) =: אפ (8) 0 1 < א מוזמו (9) אזסמם (10) ;א * אטפ =: 508 (11) 1 - א >: א (12) פאם (13) אלפ =: עסגע (18) ; פאם (15) [ ת₪81ם )+ א5₪01 (16) ;](א ,א) אנתתגמת (17) (10:0:((א - א) 401ע * (א) צסגע) / (א) עסגע) אממדדתט (18) .פאם (19) 138 הטברגי הפו נקצ יה ו כי א חוא פרמטר ערכ?. > הלא פרמטר ‏ משתנח. תוכנית 17 חפו נקציה 0 ו מחז ירת ערך של"זא ; (001901 , לטסקא1) 5מ0דתק אגתססתק ; (תמסטעא1 : א) פתסש המפאטא מהטפטססתק ; (תמ0מנא1 : א) ;(' אממדמדמד' ; (' אמפנתטסק') (' אמפדקנק') ;(' אמפדא1פ') (' אממצאמ/פ') ;(' אמפנאסדס') ;(' אמפנטאדא') ; (' צעאמוות'') ; (' צתתדוד') 1 (' צעהטסס') 1 : מסזתק ; תס : 08 אזססם עס א 0488 ) מצנתט : 1 ) מעדתט : 2 ) מדדתט : 3 ) מצנתט : 4 ) םדנט : 5 ) מעעתט : 6 ) םתח : 7 ) מענתט : 8 ) מענתט : 9 פאם ; עאם פתסא פאמד מהטפמססתק אזססם שס ְ 58 מצזתחא : 10 פצתט : 11 מצדתח : 12 פדת : 13 פדזחח : 14 5 : 15 5 : 16 פדנתח : 17 פדזתח : 18 שדח : 19 5 : 20 שצצתח : 30 מצנחט : 80 יי וי = ₪ = ה תת נ-00 א = + 2 3 ל ל קל ל 600 5 א א ת פה שלסום 0 )16( )17( )18( )19( )20( )21( )22( )23( )23( )25( )26( )27( )28( )29( )30( )31( )32( )33( )33( 15 !(' צעעדע') מענגח : 50 (35) )(' צעא1פ') מעעתח : 60 (36) ;(' צצאמעמפ') מצדתט : 70 (37) ;](' צשמס0דם') מענתט : 80 (38) (' צצמא1א') מצנתח : 90 (39) פאם (80) ; פא (41) ; (תפ0מ1א1 : מס1תק) כמתפאטתו ,1 ]דד מתטסטססתק (82) אזסשת (83) אמא 10 > מסדתק תך (484) (2108) פתס₪ הממותוא (55) )86( ₪ אמח 20 > מסזתק סחך (47) (23108) פתס₪ פאחך (88) )89( | אזסטת (50) (10 800 סדק - מסבתפ) פתס₪ פאחד (51) (10 פסא 108הפ) פחס האמוטא (52) פאם (53) פאם (58) [ ם₪81 )+ אסשת (55) ; ('הכנס מחיר בדולרים ') אתמצדתט (56) ; (פס1תע ,61) אתפהתת (57) / אם המחיר הוא מספר בעל שלוש ספרות + אטח 99 ל מ0סזהק קך (58) אזסמם (59) ([ טיפול בספרת המאות + 1 (100 / ₪סבתת) סאטתד) פהסא₪ הממאוא (60) (' סמתפאטא') מדדתט (61) ; פא (62) 1 טיפול בשאר הספרות + ; (100 פסא (פסזאק) סאטתי) סשתפאטו ,ודד (63) אמא 1 =< מסזתק סך (68) :(' פת0114ע') מצדתט (65) אשת 0 < 100 * ((₪סדתק) סאסתע - ש0סנתק) קד (66) [ אם המחיר כולל סנטים - ספרות מימין לנקודה + אזסטם (61) ((100 * ( (שס1תק) סאטמיך - 05דת2)) פאטסת) סמתפאטן ]דד (68) (' פנאמס') מצדתט (69) פאע (79) .פא (71) ; (00202) 10115כ אהתססתק ‏ (1) תג (2) ; התסמתאד : פ (3) : 13 ,12 ,ך (8) ;הצא : 1071ק) אך עז6דע א10עסאטע (5) ;אומזססם : ( עומת : א תג (6) ; א 00 : פאטסק (7) אזספם (8) =: פאטסץע (9) 0 פאטסע ע0סא פאג (0 < א) דוט (10) אזספם (11) אע צנזסזת = 10 * (10 / א) בא - א< שד (12) =: פאטסקע (13) (10 / א) עא1 =: א (18) ; פא (15) פאטסת =: אד תדע (16) ; פאנם (17) [ ת81ם )+ אזססם (18) ; (ע) אזפוטת (19) 1 ך1 (20) דומעת | (21) 0) 502 =: 12 (22) * 12 =: 13 (23) פאה (12 ,ע) אד עז0דס פאג (1 ,5) אד צד0דפ) עד (28) א ((13 ,פ) אד דנדס (25) ](13:10:0 ,12:10:0 ,1:3:0) א[מדדחט (26) 1+ = ך (27) 0 < 1 ,צאט | (28) פא (29) 137 188 פרק 9 יישומים של פרוצדורות ופונקציות שאלות יטאלה 2 הפרוצדורות המפורטות בהמשך מתאימות למסופים הפועלים לפי הקוד המומלצ ע"י דצפאג. ; (עטפעט0 , עשפא1) ( להרצה ב-10880 יש להוטיף את ההוראות הבאות ) [ ראה נספח ב' + ( תנועת הסמן בפרוצדורה א2051110 00508 + [ אופן הכתיבה על המסך + הילוי יי וי ו ו 30 | = ת 1 סס עתססטת ; פמסעזא : 101 תגחס 08 [1..65] צהתתה : ₪ ; פא 10 ; תמא תק )%2512( )50512[ 007 סט אסכ ועו זזסדת מפסא סמ מאד.] הפפאט מפסוע אאדזם מפסוא מפתמטמת אפס פדטאד מקצץ = ספ 5180 פרק 9 יישומים של פרוצדורות ופונקציות שאלות 'שאלה 2 הפרוצדורות המפורטות בהמשך מתאימות למסופים הפועלים לפי הקוד המומלצ ע"* 51א4. ; (2 000 , צשפא1) סתצא60 אגתססתק ( להרצה ב-10880 יש להוסיף את ההוראות הבאות + [50512+ [ ראה נספח ב' ‏ + [50512) 00 קנ אווספ דקמ 1 זוזדת מפסא 05 מאז] הפפאט הפסא אאד.זם מססו מפתפשפת אפסא פדטאד ([ תנועת הסמן בפרוצדורה א051110ק ת0פת00 + '4' וה | ם [ אופן הכתיבה על המסך + -1 וה ה 300 הת ת מקצץ פפססטת = ס0טת אזתפ ; פמסמזא : 11 א תהעס 0 [1..65] צגתתג : הזס ; פאם אזתדס : ;תתסמזאז : ך [ פרוצדורה להזזת הסמן ממקומו + [ גודל הצעד ) ;תמסטזאך : [ כיוון ההתקדמות ) ; (ת034 אנת (א110סמתדכ ,1:קט51 מטדץאותת ,']' , ( שמירת מיקום הסמן + פס מט11,זטת) א051110ק הספתטס מהטספמססתק אזסםם (27) התס) מדנחט ; פא ; א0511710ק 0030508 5405 מהסקפססתק אזסטם ('8]' ,(27) תת0) מדדתח [ החזרת הסמן למיקום, שנשמר ע"י + [ הפרוצ' א2051110 תספתט0 8שג8. + ('ט]י [ מחיקת מסך + ; פא ; 051110 00050 מתסד1פמת מתטסקמססתק אזספם ,(27) 01) מדדתט ; פא ; 503% 01048 מתטפמססתק אזסטם ('27]' ,(27) תחס) מלדתט [ מחיקה ממקום הסמן ועד סוף השורה + ('א]י [ הזזת הסמן לשורה א ועמודה צ ) (יחי ןג ,'ָ* ,דח ,יי ( לאחר הפעלת הפרוצ' :יראה כל תו + [ שירשם על המסך בצורתו הרגילה. ‏ + ('םס]' ( לאחר הפעלת הפרוצ' יודגש כל תו שירשם על המסך + ('ש1]' ( כל תו שירשם על המסך לאחר הפעלת + [ הפרוצ' יהיה מודגש בקו. יי 130 ; פא ;₪01 10 ת4ם.01 מתנפמססתק אזסטת ,(27) תתס) מצנתט ; פאם ,א) א1.004110 מהשפמססהק צ אסשת , (27) 6088) מצזתט ; פא ;.1האתסא מתסקפטססחק אזסטם , (27) מס) מקדתח ; פא ; .01 מתשקטססתק אזסטם ,(27) הא0ס) מדזתט ; פא ; מא11תמפאט מתספמססתק אזסטם ,(27) תא0) מצדתט ; פאם [ לאחר הפעלת הפרוצ' יהבהב כל תו שירשם על המסך + ; אאז.זם מתטססטססתק אזסשם ('שפ]' ,(27) הת0) מדדתט ; פאם ך כל תו שירשם על המסך לאחר הפעלת + מפתמ/מת מהטפמססתק ] הפרוצ' יוצג בהיפוך (86עסטםת .)1‏ )+ אזסטם ('שך]' ,(27) הא0) מדדתט ; פאם ך לאחר הפעלת הפרוצ' לא יראו + ;ד מתקםססתק [ התווים שירשמו על המסך. ָָ אזסטם ('8₪]' ,(27) 6) מדדתט ; פא ] הפרוצ' כותבת על המסך את מחרוזת 5, + ( במיקום (צ ,א): שורה א ְָ (א) עאדתע מהטספפססתק ] עמודה צ ְָ 4 ( באופן הצגה אשר נקבע ע": מססא. )+ נ[תתסמזא1 : מפסא ; (סמת 6א531 5 5 תג הג ; ממסטזא : ך אזסספם ;(צ ,א) א1004110 !)('ש' ,1:מססא ,']' ,(27) האס) מצדתט 0 5 תנחט 0 4 70 1 =: 1 תסק :)([1] ת575) מצדתט [האתסא ; פא ( ת₪81 + אזססם . פא 141 תוכניות ; (תשקצטס) פתממאטא אספאגת אהתססהק מקעיץן [ מערך הסופר את התוצאות ) ;תמ0מעאד 0 [1..6 ,1..6] צגתתג = פץססמת [ של זריקת הקוביות. הג ;5 : עסכטת שו 5% , 1581 ;תתססצאד : 2 מסדת ,1 שסנכ ] הפרוצדורה מדפיסה א פעמים את התו 60 + ;תס : 0) א1א04 מתטקטססתק ; (הת0מזאז : א החל תסעזא : 1 אזסטם 0 א 710 1 >:1 הסע ; (0) מעדתהח אטדזתט ] םנאמסס + ; פאם [ תנאם ) אדסמם 0 6 70 1 =:1 תסע 00 706 1 >=: 1 סע ([ איפוס מערך התוצאות + 6 =: [ד ,1] עעספטת 0 1000 70 1 =: 1 אסקע אזססם 1 בחירת מספר אקראי מ-1 עד 6, קוביה 1 + ;(6) אספאגת + 1 =: 1 מסדע ] בחירת מספר אקראי מ-1 עד 6, קוביה 2 ) ;(6) אסעאות + 1 =: 2 208 1 + [2 2108 ,1 5108] עעספסת =: [2 108ע ,1 2108] עעספפת / במטריצת התוצאה סופרים את התוצאות של זריקות הקוביות + ; פא [ איחוד תוצאות דומות, למשל: (5,4) ו- (4,5) )+ 20 6 70 2 =: 1 תסקע 0 1-1 70 1 =:71 אסקע .] עספפת + [1 ,1] עתספמת =: [ ,1] עמספמת [ הדפסת מטריצת התוצאות כהיסטוגרמה אופקית ) 0 6 170 1 ->:1 תסע 00| 1 70 1 >: 7 הסקע אזסםם ;](' ' ,8:[ד ,1] שתספטת ,7:2 ,1:2)מעדתח ([נ ,1] בתספמת ,'*') אדאגעס פאם . פא 142 ; (,טקעט0 , עשקא1) 5פגת0 אתססהק תאגץ ,105 צפתדע %פ , צמאסא ; תאסמעאך : עשם ] הפונקציה מדמה הטלת שתי קוביות + ] ומחזירה את סכום הערכים שהתקבלו + ; תמסמצאד : 508 מסצפ אסנעסאטע תג ; תתסמנאז : אספ אזסמם | ; (6)אספאות + (6)אספאגות + 2 =: אסס | ; ('סכום הקוביות : ' ,50%4:2) א/מדזתא | אפ =: 508 מסדפ ; פא ,0 =: עשאסא ; ( 'הכנס את סכום ההימור [ 0 - להפסקת המשחק ]') אומצזתא .‏ ;(עשם) אעפגתת 0 0 < עשם םוזוחו אזססם 1 סכום ההטלה הראשונה + ;ספ 2108 =: מסצע עפתדע אמח (11 = מסדכ צפתדתע) 0 (7 = מסדת צפתדע) קד (ם₪81) אזסעת | 13 ( זכייה מיידית + עשם + עמאסא =: עמאסא 8 ( הפסד מיידי )+ | 0 (3 = מ0דע עפתדק) 0 (2 = מסדת צפתנק) 1 אמות (12 = 6₪דע צפתדק) עשפ - צעאסא =: צמאסא ₪ דהמלטת [ הטלה נוספת + ;0% דכ =: אספ [ אם הטלה זו שווה להטלה + אעזו 2108 צפתדע = אספ ‏ עד ( ראשונה אז זוהי זכייה. + תעם + צשאסא =: צמאסא ₪ [ אם בהטלה זו יצא 7 אז זהו הפסד )+ אמח 7 = אספ סד עשם - צמאסא =: צמאסא [ הלולאה נמשכת עד ) ;(7 = א50%) 08 (מסדע צפתדע = א50) ענעאט [ שאחד התנאים לעיל מתמלא. + ;('מאזן הזכיות : ' ,2:צמאסא) א][מדזתט ; אדו ; ('הכנס את טסכום ההימור ') אומדזתט (עשם) אזפגמת [ 0 < 06% 116תש + פאם . פא ; (00102 , צטפא1) פפגתס אהתססתק הג 8 ,16 צפתזע אטפ ; תפסמעא : אנט המסמנא1 : א50 מסדפ א10נשאות אזסטם (6) א0סאגת + (6) אסעאגת + 2 =: א50 מסדכ ; פאם [מ81ם) א01מת 1 =: אדט 0 1000 10 1 =: 1 סק אנספם ]0% 105 =: מסדכ צפתדק אד (11 = מסדכ לפתדע) 0 (7 = מסדת עפתנע) אך 1 + אנט =: אדק מפם פאה (3 <> 05דת עפתדע) סאג (2 <> מסדע צפתדק) אך1 אחוחד (12 <> סדע צפתדק) דתמקטת ,%פ 2108 =: 508 אמוו 2108 צפתנק = אס אד 18 1 + אנט (7 = 50%) 08 (108 צפתדע אנט אספ) 1צאט [... 1 עסץ + ; פאם ( 'ההסתברות שהשחקן יזכה היא ' ,1000:6:2 / אבש) א תצדתט . פאם הערה :: בתוכנית 2'איך צורך. לשאול את השאלה := אק . ה-1המקפת, כי זהו מצב הפסד, והרי אין/אנו'סופרים מצביס אלה . 4 יש לשאול. את השאלה. במשפט התנא?. של. לולאת ה-1המפטת כה? לצאַת מהל ולאה תוכגית 3 ; (1שקעש0) תהתסמצאד אספאגת אהתססמק 0 = תממאטא 25א01ע הג 2 ; 0 זא ₪פזפאך ;00 : 518א1 מא1 ;₪001 : א ת50 אהד הת זהא5 צ אסנעסאטת תג ,א 508 ;תת צִ אזססת :1 - לא1אגא) / (2א1אגא) אסעאגת) ת0פ =: א ת50 - עאצאגא) / (עאדאגא) אספאגת =: צ [ בכל פעם ש-צ ]+ ;(א 50 = צ) 8 מספדפאד מא11 =: מפנפאך מאך1 [ שווה ל-א 0פ9. ) שפזסאך מא11 סא = מפנפאד מאז. כאשר נקודה נמצאת על הקו, המשתנה ָָ [ 8פ1פא1 8א11 קובע אם היא נחשבת בתוך התחום. =: א 50 אהד תם 511 ץצ ((א 508 = צ) פאג מפזפאז מאז1) 08 5 6% > ץ) ; פא [ת₪81) אזססם =: מפז1פאד =: שפצפאך מאז 0 תמפאטא 75א01ק ‏ 70 1 =: 1 הסק אמט א ת50 אגחך הת]זגאם ץצ קך + 5128א1 =: מפנפאד ('תוצאת האינטגרציה ‏ ' ,6 :הממאזא 5עאדסק / 8כ51א1) אומדזוע . פא 15 ; (שקץש0 , צטפאד) 1408 אסג.זם אהתססתק מפצך ( תחום ערכ* הקלפים + 1 = 0405 האג [ חפיסת הקלפים ָָ ;5 ת0 [1..52] צגתתה : 0% , צמאסא נשם 20 ; פמסמעא : ד : תמשפאה ;א 00 : 0485 א10ע2סאטק החל , פאזן תמנטסס , פאאזן אאא 1 ,3 הסנא : זשם פפגה ,5 00 ,5 אאא א 00% ;00 : אדא אגא [ פונקציה המחזירה את ערך הקלפים + ותתסטעא : א) עג/ם א0ס1עסאטק ;פתסמעאז : (א4מ001 : 25 אזססם אחוע (17 >< 10 + א) כאה (21 => 10 + א) סאה 5ג קד [ אם יש אס וסכום הקלפים בין 17 ל-21 אז ערכו של אס שווה 11) 90 + א =: מהעת [ אחרת ערכו של אס שווה 1 + ככ א =: א ( 6081 + ;פא ([ ניתוח מצב במשחק + ; תמסמעאן : עאגו תהט) 5105 מתטפתססתק ,5 תג אנט פאגז ; (א4מ8001 : אזשא תטמס אזססם אפחעד 21 < (5 ,סאגת) מגעם סד [ השחקן השני ניצח + פסתך =: א1א המהדס ופ | או 21 = (25 ,פאגת) מגעם סך [ השחקן שערך הקלפים שלו 21 - ניצה+ משת1 =: אנח פאגע [ 868008 + ; פא 1-46 [ פרוצדורה לטריפת הקלפים שבחפיסה + ; דתי מתטפמססתק הג 2 ; תמסמואך : ד ]005 : קאמך אזסםם 0 1 0עאח0סכ 52 =: 1 הסע אזסמם ; (52) אספאגת + 1 =: 1 ;[ד] אסגק =: קאמך ] אסגת =: [1] אסגק סאד =: [] אסגק פאם [ 1298ע6 + ;פאם ([ ₪8₪6 )+ אדכ6מם [ ערך הקלפים שברשות המחשב ָָ =: פאגז תמתשקא0ס [ ערך הקלפיס שבידי השחקן ָָ 1 =: פאגז אהא [ מציין אם למחשב יש אס ָ =: 5 00 [ מציין אם לשחקן יש אס ָ =: 5 אגא [ מחשב ניצח ָָ =: אזש 0002 [ שחקן ניצח ָָ =: אנש אגא ([ טריפת החפיסה ָ ; 190אדך [ ערך התחלתי למשיכת קלף ראשון + ;'צ' =: תמתשפאה [ מספר הקלף בראש החפיסה ָָ 21 =: 1 [ סכום ההימור ְָ 6% =: עמם פאג אנט אגא עסא מז סאג אזש 0082 עסא 08 ('צ' = התמשפאה)) 08 (17 > (45. 00 , כאגזן המנטק00) מגעם) סע (((25 | אגא , פאגח אגא)טם > (15 . 0 , פאגזן המעט 1,)00העם) ([ לולאה כל זמן ש: - מחשב לא ניצח ָ אזסטם - שחקן לא ניצח, ְָ - התשובה למשוך היא 'כן', - ערך הקלפים של המחשב קטן מ-17 ) או קטן מערך הקלפים שבידי השחקן. 8 (17 > (5 . 00 , פאגזז תמדטק00) עאטם) עד אמח ((45 אגא , מאאזן אהא);1הטם > (25 קאסס , פאז | 00 )זה ) ( ערך הקלפים שבידי המחשב קטן מ-17 + אזסטת [ או קטן מערך הקלפים שבידי השחקן. + ( מחשב + ; [ד] א0%גק + פאג המצטקא0סס =: פאגת 00 [ לוקח קלף. + [ אם "אס" ָ אחוד 1 = [1] אסגק עך מטתד =: 48 0082 (1[:2] אסגק ,' 15 ע0₪ 1 כת04 מחד') מצדתא [ מצביע לקלף הבא בחפיסה + 1- ך =: ך פאם טפ ;(20:' ') מצדתט ; (אזש אגא אנט 008 ,45 00 , פאגז הטטק 00) 5705 [ הערכת מצב המשחק + 17 אפט (אדש אגא 08 אנש 2א0סס) עסא ‏ אך1 אזסטם ; (17:' ?040 המתדסאה') מדדתא ; (תמשפאה) פומת ( אם עדיין א*ן נצחון + ([ שחקן מבקש עוד קלף + אמח 'צ' = תהתחפאה ‏ תעד אזסטם ((' ?עעם תססע ‏ ')מעדתח [ הימור ָָ ; (דשם 0כ4) פגמת ;שת ספב + זםם =: זשם [ שחקן לוקח קלף + ; ךד] אסגת + כאגזן אגא =: פאגת אגא [ אם "אס" ָָ אמא 1 > [1] א0גע אד ;מסתך =: 48 אגא (1[:2] 408 ,24:' 15 087 טסצ 0482 מאד') אומצנתה [ מצביע לקלף הבא בחפיסה + 1-1 >-: ך ; א [שזוט (אזט פאסס ,אדש אגא ,45 אגא , פאגן אגא) 57105 [ הערכת מצב המשחק + [5 + פאט [ 6ננתש + | ;פאם ; א זז ) מצב סופי )+ ,45(:5 00% , פאזז תמט00) ,תאש ,' מטגתא ד') מדדתט ; (5: (45 אגא , פאגזז אגא) םאש ,' מטגח טס ' ( ערך הקלפים שבידי + אמ 21 < סאגתה המצטקאסס ‏ עך [ המחשב גדול מ-21. + ('! אנט טסצ פטס אסעת 1 ') אומדזתחט פפ [ ערך הקלפים שבידי השחקו גדול מ-21 )+ אמתחך ‏ 21 < פאגא אגא עך ('! אנט 1 סט שסעם טסצ ') אמדזתט ₪ אפוו אנא אגא קד ('! אצשא טסצ ') אמדזתט מסם ;('! אנא 1 ') א מקדתק ( הפונקציה מחזירה מטת1 אם ‏ + אזא 0082 עסא 0 אנש אגא =: 04085 [ שחקן ניצח או מחשב הפסיד. + [ ₪8₪6 + ;;פאם ( תצהם + אדסמם ( בניית חפיסת הקלפים + 00 10 70 1 =:1 תסע 0 3 70 0 =: 7 תסע )1 =: [10 * 1 + 1] אסגק 0 52 70 41 =: 1 ת0ע 1 =: [1] אסגק =: עמאסא זהמפטת אמ מא 03‏ אך עםם + עמאסא =: עשאסא מפזע ;ד - צטאסא =: עשאסא 18 ; (1:עמאסא ,' = צמאסא') אעמצדתט ;(' ? מא04 תמנתסאגה') מדדתעט (מפטפאה) א;זפגמת 'צ' <> תסטפאה הנאט [ תנ8ש + .ספאם תוכנית 5 : (םהמת:צ) ע א10דס6אטת) 21608 אסדעסאטק ;ומת : (בהמת:ט) ₪6 אסזעסאטק : ( עו : א אזסמת אפ (א) 6 < (א) קע סד אזססת ; ( ,1008 5 א10עסאטע צפתדת') אתמדנתט (8) תע =: ה000זם פאם מס אזסםם ; ( 'ת31000 5 א10עסאטע פא600ם5') אתמצדתט (א) 0 =: התהסדם פא ; פאם הסבר: >6 ומשתנה ממשי א, פונקציה 810088 מקבלת שתי פונקצי ות ג ממשיות 1 ומחזירה ערך ממשי. : ,2 כל אחת מהפו נקציות (6. ג היא פונקצי ה' ממשית, ערך ממש*,> 0 הערך הממש* שתחזיר הפונקציה 100 יחיה. 1 הער : הממשי ערכים: ערך אחד שתחזיר הפונקציה 0 עם משתנה ממשי 0 הערה: תוכנית זו נכתבה במהדר./ פסקל' עלי מחשב: סו אחש. > תובָנִית זו לא תפעל בג 'ירסת הטורבר. פסקל. על. מחשב": קיימים מהדרים של שפת פסקל. אשר אי נם מאפשרים לפרנקציות. סטנדרט: ות: | מה (א) 0 ליו פרמטר. של בונקציה אחרת ו הסברי בס ה סקל עמוה: : 2). 7/, 0 , 6 9 קיימים מהדרים הדורשים שפרמטר שהוא. פונ'/פרוצ+, המופיע בהגדרת : פונ'/פרוצ' אחרת , לפרט את "כל המשתנים 0 אותה פוב ה | לדגמה / תוכניות 5 ו-6; . בפסקק סטנדרט: כל המשתנים שלפ ג '/פרוצ!, ₪ היא פרמטר - .3 6-2 אחרת, "חי יבים להיות: | פַרמטרים. ערכי ים ‏ (לא ו 19 המואת . ב ; (צטפנטס, צטפא1) 2 אגתססתק ;זומת : (מגמת : א) ש א0נצסאטת) ‏ זגתסמעאד אסצעסאטתע ות : ,2 ,ב ;זומת : ( ממסמאד : א תג , ז/01ססת 0 ;זומת : אסזפ ; המסמזאך : " אזסטם ([ רוחב הטרפז ָ ;א / (8 - 4) 405 =: 8 [ סימן האינטגרל ָ ;](4 - 8) 405 / (4 - 8) =: א510 ; ((8) ק + (ג) ע) * א * 0.5 -=: שטספעת אתחך 4 > ם עד ג =: 4 0 1 - א 70 1 =:1 תסע ;(ם * 1 + ג) ק * א + 2ספסת =: עתספמת עקוספסעת * א510 =: מהבתסמזאך ; פא ( התחלה מגבול תחתון + [ םצ8ם ) א001 ;((100 ,1 ,0 ,א51) עהתסמצא1) אתמצדתק ] אינטגרל של סינוס בין 0 ל-1, חלוקה ל-100 יחידות חישוב + ; ((1000 ,200 ,100 ,508) מהתסמעאד) אתמצדתה ו ((300 ,3 ,0 ,1ת90) מהתספעאד) א זמדדתא .סאם 150 פרק 10 רשומות שאלות מפצץך )תהחס ע0 [1..15] צגתתה פמאסגק = 6אזת57 הס [ שם מלא: שם פרט* ושם משפחה ) פתססטת = מאגא מוטע מאגא לפתדע תד תס : מאגא ץזדאהק ; פא [ תאריך לידה: יום, חודש, שנה + פתססטת = שעג : צהגפ 2% : ודאסא 690 :: הצ ; פא [ רחוב: שם ומספר ] פתססטת = סמת שממתדס ;ו חס : מאגא עאזאגא. .1 : המממעא ; פא [ כתובת: עיר, מיקוד ורחוב + פתססמת = סמת פפמתפפה , 01 ;ד הס : 0028 2 ספת תממתנס : תשטתס ; פא 11 פתססטת = אזאטצטא [ שם [ [פאגא זעת : מאגא (22) ( מספר זהות גדול מ-צאזאגא + : פד (23) [ תאריך לידה + ;א : מעגכ אתסם (28) [ מספר ילדים + 6% : אמתסדאס (25) [ מצב משפחתי + ,אגאג ,1ספ5הא ,אהטהת) : 514105 (26) ; (2 דטפאא ,08058 , (27) [ כתובת ָ ות פפתתפתה :| פפמתפעג (28) ( מין ָ (₪זהאמע ,מהא) : אפ (29) ; פא (30) תגט (31) [ הגדרת המשתנה אזעאק כרשומה מסוג א1אטתטא )+ ;אזאטעטא : אזנעהתק (32) ; פמסמצאן : א (33) אנספם (38) 0 אזצגתק צדנט (35) [ מכאן ועד שורה ]6 מתייחסים לשדות ברשומה א11אחק + אזסטת (36) 0 שאגא וטא (37) [ שתי השורות הבאות מת: יחסות ל-מאגא. א1דתק) אזסטם (38) ; (מאגא צפתדת) פגמת (39) (מאהא צתדאהע) כפגמת (40) ; פא (41) ; (פ1) פגמת (82) 0 גכ אתסם אדדש (83) ( שלוש השורות הבאות מתייחסות ל- 78גכ אתסם.אזעאתק )+ | אזסטם (88) ; (צ8פ) פגמם (45) ; (אתאסא) פגמת (86) (ההמצ) פגמת (47) ; פאם (38) ; (אמתתוזס) פגמת (49) ; (א) פגפת (50) ([ שימוש ב-0458, כי לא ניתן לקרוא + עס א 75₪ב0 (51) ( בצורה ישירה את הערכים הדרושים. )+ ;א4/גת =: 511058 : 1 (52) 1 =: 4108 : 2 (53) ;אגא =: 514105 : 3 (58) )55( 48 : 51705 := 2 4901א =: 8174109 : 5 (56) ; פא (57) ( ארבע השורות הבאות מתיחהסות ל: + 20 שממת51 ,פפמתפפג מדדט (58) [ פפמהספ4.אדדהתק, או ל-שממחדפ. 5פפהפפג . אננותק + אזסמם (59) ; (צ011) פגמת (60) ; (שאגא) פגמת (61) ; (המפאטא) פגתת (62) (₪פ00 215) פגמת (63) ; פאס (68) ; (א) פגמת (65) [ שימוש ב-084588, כי לא ניתן לקרוא + עס א 0455 (66) [ בצורה ישירה את הערכים הדרושים. + =: אפ : 1 (67) מע =: אםפף : 2 (68) פאם (69) פא (70) .עאת (71) 12 שאלה 8 זפ (1) ]60 = אגא (2) מפצע' (3) ( מצביע על מיקום תווים במערך מסוג 61% ) ;אא .1 = תממאטא תס (5) ( מערך של תווים )+ ;010 ת0 [אגא..1] צגתתה פםאסגק = חפ (5) פתססטת = 579 08 (6) [ מספר תווים במערך + ; תממותון הס : סאמ (7) [ מערך + פם :‏ סאמך (8) ; פא (9) הפונקציה 62מאא60 מקבלת: - מחרוזת משתנה 8א, , - מחרוזת 188, - משתנה ₪08ע המצביע על המקום המיועד 1 להוספה של מחרוזת %81 למחרוזת א. ;תס 0 : א תגט) 01מאא00 אסנעסאטע (10) ;תפ תתס :- זא (11) ; תתסמנא1 : (תממאטא הס : אסגת (12) תג (13) תפמאטא 08 : 7 ,1 (18) ( הערך שיוחזר על ידי הפונקציה + ; ןא : 0028 (15) אזסטת (16) ;0 =: 0008 (17) ( הוספת רווחים + אחז 1 + נתסאם1.א < אסגת חד (18) אזסשם (19) =: 0008 (20) 0 1 - אסתע 70 1 + דהאם1.א =: 1 תסע (21) 0 ' =: [1] עאמד.א (22) 1 - אסתק =: גזאאטון.א (23) ; פא (28) [ הוספה רגילה ָָ אחזוד אגא => נדאאתן.זא + זתהאמ1.א עך (25) תא זוא + הנטאמן.א =: נדטסאטןז.א (26) מס (27) אזספם (28) ;אגא =: אתסאטן.א (29) 2 + 0028 =: 0008 (30) ; פא (31) ] פתיחת + 20 [0א₪].1א + אסתע 0עאאסע אדסאמ1.א =: 1 אסע (32) [ רווח במחרוזת א לשם הכנסת מחרוזת זא + (33) [ .זוא - 1] צאמך.א =: [1] צאמל.א (38) אפ [0א1.חא + אסתק =< אדטאט1.א עך (35) 1 - א.א + אסתע =: 4 (36) ₪ (37) .א =: 1 (38) ( הכנסת מחרוזת %₪81 למקום שפינינו ) 20 7 10 אסתק =: 1 תסק (39) ( במחרוזת א. + + אסתת - 1] עאתך.זא =: [1] דאמדך.א (40) 8 =: עסמאא0ס (41) ; פאק (42) 13 פאס (1) = ג (2) שפצ (3) ; אהא .1 = המוטא הזזס (8) תגזוס 0 [אגא. .1] צגתתא פטאסוק = ₪ (5) פתססמת = 57 0 (6) ; תפמותוא הזוס : זאו (ד) חפ :- צאמך (8) ; פא (9) הפרוצדורה זז מחז ירה במשתנה א מחרוזת, 4 ] הנוצרת מחיבור של מחרוזת 81 בסופה של מחרוזת א. ; תפ וס : א הג/) זמ מתטספםססתק (10) ; (519 הס : זא (11) הג (12) תפמאטא חס : ,1 (13) הפונקציה אזו! מחזירה את הערך המינימלי + ( מבין שני הפרמטרים שה*א מקבלת. ; התמואטא וס : (מתמאטא האס : 8 ,ג) אדא אסדצסאטע (18) אזסטם (15) אפוו 5 6 3 שד (16) 4 =: אזא (17) ₪ (18) 8 =: אזא (19) [ ם1ם + ; פא (20) ( עטם1ם6 )+ אזסמם (21) סם (אגא , צתסאט.ז. זי + נתסאן.א) אדא 70 1 + זתהאם1.א =: 1 הסק (22) ; אסא - 1] צאמדך.צא =: [ד] צאחך.א (23) (אהא , זודסאם.ז. זו + ן)א1.א) אנא =: זדסאמן.א (28) ( פטס1תס + ; פאם (25) 158 00 1 = אגא ;]אגא .1 = התמאטא תוס ןס עס [אגא. .1] צהחתה כסאסגק = ₪4 פתססטת = הזס האס ; תתמאטא האס : זתהסאן :1 זאמ ; פא )1( )2( ,א תאט) 11017243 מהטפטססתפ (10) ופ חס :- מא , אסע ; (תתמאטא 08 : אחן המוטא הס :ד ,ך ו ; הממאטא וס : (תממוטא 6 : ם ,ג) אנא אסדצסותת אזסמם אאא 2 >2 סד 4 =: אזא מז 5 =: אזא ; פא ([ 288<ססת + אצסתם ; (אגא - את + א08הע) אנא *: ד 0 1 70 אס =: 1 מסק ונד א.א >: [1 + אסחע - 1] עאמ. .זא 1 + אסחת - 1 =: גדדסאםון.א ו(1 + נתשאטז.א ,א + אסע) אזא =: ד 0 7 - גתאאםו.א 0 1:0 סק 4 + 1] צאפך.א =: [אסתת + 1] צאמך.א אסוע + 1 - 10181.א =: טא ן.א [ 88<ססם + ; פא )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )23( )25( )26( )27( )28( )29( )30( )31( )32( 155 אגא. .1 = הפמאטא הזוס תגאס פס [אגא..1] צגתתה פטאסג? = 8 (5) פפסססת = תפ הזוס (6) מממאטא תחס : אעסאטן (7) :- צאמך (8) ; פאם (9 ;תפ 013 : א תגט) 0144 מהטפטססתת (10) מס.זקחת (11) ;הדפ האס : שקאגאם (12) ; תתמאטא 01 : אסתת (13) ; תתסמעאד : פאטסת 048 (18) ; (א3מ8001 : מטא1עאסס (15) הג (16) תתמאעא האס :1 ,1 (17) )18( 0080 : 800; דפ הס : א תהט) 57 אע ומע ממספפססתק (19) , אסחק (20) ; (תפמאטא האס : אמם (21) הג (22) ; תתמוטא 088 : ד (23) אזסטפם (28) [ מחיקה [ 0 אםן - אעאתן.א 70 אסתת =: 1 הסע (25) ;ןא + 1] צאשל.א =: [ד] צאפך.א (26) ( עדכון אורך + א - [סאם1.א =: אדסאמע.א (27) [ עסם 461666 + ;עאם (28) דפ 0 : א תּגט) 1סמאא00 מתטפמססתע (29) ומ תס :- וו (30) ; (מתמאטא מס : אסתע (31) תגט (32) ; תממאטא האס : ד (33) אזספם (38) ([ עדכון אורך + ; זוזסאם,ן. זא + הדטסאת1.א =: מנטאט1.א (35) ( הזזה קדימה ) 0כ דסא 1.1 + אסתת 0עאסע א.א =: 1 הסע (36) ([ לפינוי מקום. )| ;[14הא₪/. הא - 1] עאתל.א =: [1] עאמך.א (37) [ הכנסה של + 10 - זדסאת. א + אסתת 10 אסתק =: 1 תסקע (38) [ המחרוזת למקומה. ) [1 + אסחת - 1] עאתך.חא =: [1] צאמץ.א (39) [ 60%תת60 )+ ;פא (40) 156 | [ 18%8תספת ) אצסמם (81) ;0 =: פאשסע (82) - אסתץ =: 1 (43) 0 א .את - [דצסאמ1.א > 1 שדחט (88) | אזסמם (85) ן [ מצב התחלתי - יש שיוויון + ;מסתץך =: 0040 (86) ;1 =: 41 (87) [ כל זמן + 0 מגטסם פאה (הזטסאמ1 .טקאת => 7) צאט (88) [ שיש שיוויון ולא נבדקו כל המחרוזות ב-₪]קאאת )+ | אזסמם (89) אפו [1] דאמך.םןסאהאם <> [ + 1] צאמך.א קחד (50) [ אין שיוויון + *=: מהטסת (51) | 1+ = ך (52) | ; פאם (53) | אפע מגטסם סך (58) אזסמם (55) [ המקום שבו נמצאת המחרוזת + + 1 =: פאטסק (56) אגא < הדטסאן. מס סתת + הצסאםן.ם וקאהאם - חנסאסת.א קד (57) ( החלפה לא מתבצעת מחוסר מקום + 1- =: פאטסע אחצד (58) | 5פז (59) | אזספם (60) | [ מחיקה) ; (1תסאח.ז. ם, זקא א סאטסט ,א) הס מש ומס (61) | ( הוספה + ; (פאט0ע ,מס 1עמת ,א) עספאאסס (62) | דסא ם, ןסא - [0אתם. מס קפת + 1 =: ך (63) | ; פא (68) | אפ מטא1צא00 סא עד (65) [ יציאה מלולאת ה-₪8118 ומהפרוצדורה ) 0181א1₪.א =: ך (66) [ 06081 1% + ;פאת (67) 11 >: ך (68) [ ₪116 + פאת (69) ( 1828תסהת + ; פא (70) "משחק קלפים שיטת מו נטה-קרלו" 157 תוכניות ; (1שקעט0 ,תטפא1) צתמסס אהתססתק פאס 1 = 5תאמפט51 אגא מפצך פתססמת = סמת 1אטפטזפ ;תס 09 [1..10] צהתתה כמאסגק : מאגא ;תוס 09 [1..15] צהתתה כמאסגק : ץצ זדועע % : אחמתפ חס , תמזזזץק % :1 הטסו 08 :+ אתא ; פא האל 0 צאמפטצם 09 [פעאמפטד5 אהא .1] צהתתה : צאמפטדפ הפטה 5 10 ,תפ 5 101 התצאט00 10 אגזד 5פמן , התאט00 10 אזוך מתסא [תמסטתאד : 77 ,ד קריאת רשומת סטודנט. הפונ' תחזיר 4/58ע אם + [ זהו סוף הקלט, אחרת - היא תחזיר משחץ. ;א00 : (תתסמזאך : 1) בכ כפגמת א10עסאטע אזסמם 0פ [1] תאמפט91 נתדט ; (אתהא , תנסא ,תמהזאע ‏ אמתפ1ע 0‏ צשדאגת , מאגא) אזפאמת ('.' = [1] מאהא,[1] צאמפטצפ) עסא =: הצגע פגחת [ 0808 2086 ] ; פאת ( מיון רשומות הסטודנטים + ] לפי מספר ילדים במשפחה - מיון בועות + ; 01 מתספמססתק | ;הסנא : 2 ,1 ,575 ;מ עאתפטנם : א =: 1 0 0 < 1 מנצצט אזססם 6% =:ם 0( 1 - 70 1 =: 572 תסק אמתפ ןאס [1 + 512] צאפפטע5 < אמתפ1נ6. [פ51] עאמפטז51 שד א1ססם אמחך +אמפטנם =: א 11% + 519] צאמפט51 =: [פ57] צאמפטד5 18 )20( )21( )22( )23( )28( )25( )26( )27( )28( )29( )39( )31( )32( )33( )38( )35( )36( )37( )38( )39( [1 + 5ע5] צאשפטס (80) פצפ =: 1 (81) ; פא (82) 2=: ך (843) [ 1 116 + פאם (48) ( 805% + ;פאם (55) [ תצפם ) אצסעם (46) %=: ך (ד8) :('שנות לימוד ') א מדזתט (48) א מז (849) :('ציון ₪ אב מס. ילדים שם משפחת שס פרט? ') (50) ( קריאת נתונים + 0 (1 + 1) גזאת פגמפת םהוזמ (51) 1 + =: ך (52) [ מיון + 0 (53) 5% =*: תא 5 108 (53) % =*: מסהתחטה 5 הסד (55) % =: תסדאט00 10 אגחד פפפן (56) =: תתדאט00 10 אגחד מתסף - (57) : (60: 'שמות 5 הסטודנטים מהמשפחות הקטנות') אנט (58) ,5: 'שם משפחה' ,8:'שם פרטי') אזמצדתט (59) ; (28: 'סכום שנות לימוד של ההורים' (60) [ משפחות עם מספר ילדים הקטן ביותר + 0( 705 1:1 תסק (61) 00 ה צאשפטנס נתדש (62) אזסטם (63) : (15: תפוסא + המודק צתצואת ‏ מאהא) א,זדדחט (68) אא + מסהתתטה 5 108 =: מסהתפטה 5 אס (65) ; פא (66) 4 / תג 5 אס1) א זט (67) ; ( 'ממוצע ציוני הסטודנטים בקבוצה זר :' (68) ; (60: 'שמות 5 הסטודנטיםס מהמשפחות הגדולות') אןןקדדחט (69) ,5: 'שם משפחה' ,8:'שם פרטי') אזמדדסא (79) (28: 'סכום שנות לימוד של ההורים' (71) ([ משפחות עם מספר ילדים הגדול ביותר+ 20 1 70 1-4 -: ד תסק (72) ספ [1] צאמפטצפ אחדט (13) אזסטם (7%) : (15: המסא + התע צוזאה ,מאגא) א זחא (75) אתא + סט 5 הסדא =: תה 5 סד (76) ; פא (77) / טסט 5 0ד) אז זא (78) ; ( 'ממוצע ציוני הסטודנטים בקבוצה זו :' (79) 0 1 70 1 =*: 1 סק (80) 0 ך[1] תאספטס ודא (81) אזסשם (82) (90 < אתהא) פאה ((10 < הפועאע) 08 (10 < המזת0א)) עך (83) + המצאט00 10 אגזוד מפסא =: תתעא000 10 אגזו מתסא אפךד (83) או (90 < אתגא) פאה ((10 > הפותאע) 08 (10 > תפוסא)) קך (85) 1 + הפצאט00 10 אגזוד 95ן =: העצאט00 10 אגא פפקן (86) ; פאק (87) א זמזזתט (88) פחות הורה אחד שלמד פחות מ-10 שנ*ם') 5 (90 אזפזז %;91) , 'סטודנטים יש ממוצע מעל 90 ולפחות הורה אחד שלמד יותר מ-10 שנים') (92) (יפ-' ,3:ת8צאט00 10 אאאד מאסא (93) . פאט (94) ,'סטודנטים יש ממוצע מעל 90 ול + ('ל-' 3:תמץאט00 10 אגוד ספ הסבר :. מיון של הסטודנטים לפי מספר הילדים במשפהה. לאחר המיון, 5 הסטודנטים מהמשפחות הקטנות *הין בתחילת המערך ‏ ו-5 סטודנטים מהמשפחות הַגדולות ביותר יהיו בסופו*א. שים לב שיש לפחות 10 סטודנטים (נתון בשאלה).:? תוכנית 2 ; ( 0 , זשפאד) 5 סק (1) 00 (2) 0 = פתאמפטד5 4% (3) 11 = 000858 אגא (8) שפצל | (5) ; 0148 פס [1..20] צגתתה כסאסגק = 0אדת57 הס (6) ( כתובת ָ פפססמת = ס0מת פפמהפסה (7) ( מספר בית ) ,צאזאגא..1 :| תממאטא (8) ([ שם רחוב + , דממתזס (9) [ שם עיר ‏ + , צ'ז'01 (10) [ מיקוד [ 60 08 : 0008 218 (11) ; פאם (12) ( ציוו ו[ פתססמת = פאתג (13) [ שם סטודנט או קורס + 6אזת5 החס : מאגא (18) [ ציון ָ 08 : אתגא (15) ; פאס (16) [ קורס ְָ פסססת > 000858 (17) ( שם קורס ָָ ; 0 0 : פאגא 0 (18) ) מספר סטודנטים + ;]0 : הממאטא שאמפטזפ (19) [ מערך + פא ע0 [1..50] צגתתה : 5 (20) / ציונים המכיל את שם הסטודנט + ; פאם (21) [ דו"ח ציונים ָ פתססמת > דתסקעת (22) [( מספר קורסים ָ 00 אגא..1 : הממאטא (23) ] מערך ) פאתגא 0 [000858 אגא..1] צהתתה : ד נססטת (28) ] של ציונים המכיל את שם הקורס + ; פאם (25) ([ רשומת סטודנט + פפססעת = סמה עאטפטזפ (26) ( שם ) ;0א1תד5 0 : הא (21) ([ מספר ָ 1 פד (28) ( כתובת ) נסמת 5פמהפע : 5 (29) [ דו"ח ציונים ) תתסססת : עתססמת פאתות (30) ;פא ג 100 פוט ;ספת עאמפטד5 08 [15אמפסטדפ אגא .1] עגתתה : צאפפטדפ תס [מפתט00 אהא..1] צהתתה : 19 00058 ת0א1 : 00058 1487 , עאמפט1פ 481 ,1 ,ד [ קריאת + [ נתוני הסטודנטים + ; (0₪8מצא1 : אמפאד) דצאמפטדס כעגמת מהטפטססתק אזסםם 0 פפמתפכה , [אמפא1] עאמפטענס ₪114 אזסטם ; אזטדזת₪ ; (20: 'מספר סטודנט' ,20:'שם סטודנט') אמצזתט ; (עד ,מאגא) א,זפגמת ,0: 'מספר' ,20:'שם רחוב' ,20:'ע:ר ') א מלזתט ; (1:'מיקוד' ; (8פ00 215 , תממאטא , עממת51 , צע01) א זפאמת [ איפוס רשימת ציונים + 0 =: תממאטא תתסקמת פאתגא [ בסצש + פאם [ %ת80060 2086 + ; פא [ הדפסת + [ רשומת סטודנט + ; (058מעא1 : אמפא1) צאמפטצ5 1אדתע מתטפמססתק הג ;תפסא : 4 אזסטם 0 5פמתפעג , [אמפא1] צאמפטע5 אעדט אזסטם ; א זטידדת ; (19:'שם: ' ,60:שאגא) אומדדתט ; (19:'מספר סטודנט: ' ,12:60:0) אממצדתט (19:'כתובת:' ,21:עַ513₪₪ ,39:תמפאטא) אמדזתט ; (20 : צ''01 60 <ד2) אזטדזתט ; א [ד1ת ; (75: 'שם הקורס ציון ') א מדזתח 0 עתספטת פאתהא אד1ט 0 התפאטא 70 1 =: 1 אסק 0 [1] ענטפספת זתזט (28 :אאא ,55:אתהא) אזמדזתט [ תטצש + פאם ( %מ50006 6םנסק + ; פאם [ קריאת רשומת קורט + ; (088מ1א1 : אמפא1) 000858 פגמת מהטפטססתק הג ; תמדא : 1 אזסחם 0 [אמפא1] 1151 000855 אצלדט אזסמם ; א דד ; (20: 'מספר הסטודנטים' ,20:'שם הקורס') א]מדצדתט ; (תממאטא 1אמפט1ד5 ,טאגא 6) אעפגפת ](6:'ציון' ,20:'שם סטודנט') אשמלנתט 0 תממאטא דצאמפטי 5‏ 70 1 >: 1 תסק (אתהא. [ד] פד1טפחת , מאגא. [] 15/נטפפת) אנפהמת [ ג6צש + פא (86) [ שפעטסס 2086 ) ; פאם (81) [ מיון הסטודנטים לפי שם - מ*ון בועות + ;5087 מתססטססתק (82) הג (83) ,סנאד : 2 ,2 ,פדפ (88) ; 0 עאמפטנס : א (85) - אצסחם (86) ]ד =: 7 (87) 0 0 < 1 מהחחטח (88) אזסמם (89) )90( 2 := 7 0 1-1 10 1 >: 572 סע (91) אפ מאגא.[1 + 5ד5] ץאמסטינפ < מאגא. [פ52] צאמפטדם ‏ עד (92) אזספם (93) ; [פ51] צאמפט1פ =: א (98) ך1 + 525] דאמפטל5 =: [פ57] צאמפטדפ (95) ;א =: [1 + 2ע5] עאשפטזפ (96) פצם =: 1 (97) ; פאם (98) )99( 7 2 [ 116תש + פאם (100) [ 8026 + ; פא (101) חיפוש בינרי במערך ממו:*ין לפי שם סטודנט. אם נמצא שם, הפונ' | + [ תחזיר ערך מעת' והפרמטר המשתנה 412 *כיל את מספר הרשומה שנמצאה. ; 573180 הס : מאגא עאמפטע5) פאטסע מאגא א10זסאטע (102) ; תמסמתא1 : 17 (103) 001 : (088מעא1 : פנא מגט (108) תגט (105) תתסתנאד : צפתדע (106) אזספם (107) 0 =: דפתדק (108) ץמפפת (109) ;2 עדע (1457 + דפתדע) =: פד (110) אפזוד מאגא. [פדא] 1אמפטע5 > מאגא צאמפטדס ‏ עד (111) 1 - פנא =: 1457 (112) , פיז (113) 1+ פצא =: עפתדת (118) הס (מאגא. [פדא] צאמפט5 = מאגא עאטפטצפ) תנצאט (115) ; (1457 < 7פת1ק) / (116) מאגא. [פדוא] צאמפטינ5 = מאגא עאמפט5 =: פאטסץ מאגא (117) ( 6תטס? 6מפת )+ ; פאם (118) 102 [ עדכון של ציון + [ קורס ברשומת סטודנט + ; (תת180א1 : 1) פאתגא מץהפקט מתטפמססתע (119) הג (120) ; תמסמנא1 : אמפאת ,1 (121) אזססם (122) 0 [1] 1151 000358 אדדעט (123) אזספם (128) 0 הממאטא עאמפטדפ ‏ 70 1 =: 1 תסע (125) 0 [1] פ1עעספטת אנט (126) אמזד (אמפא1 , צאמפטד5 1451 ,טאגא) פאטסע טאגא קד (127) 0 *תסקמת פאתהא. [אמפא1] צאמפטצפ אלדט (128) אזססם (129) + הממאשא =: הממאטא (130) ;אהא 0 =: מאגא. [תתמטא] ד וספמת -(131) אהא =: אתהא. [תממאטא] ד1'וטפסת (132) [ ם1%שט + פאם (133) [ 118% 56מט60 םפגש + | פאם (138) [ %5ע8פש 6866קט + ; פאם (135) [ ת81ש + | א01םפ (136) ; ('מספר הסטודנטים? ‏ ') אְמצצתט (137) ; (צאמפט1ס 1851) אתסהמת (138) 0 עאמפטפ 1457 70 1 =: 1 הסע (139) ; (1) צאמפטנפ סגפת (180) ; ('מספר הקורסים? ‏ ') אזמדדתט (141) ; (00039₪9 2451) א זפגמת (182) 0 000058 457 - 70 1 =: 1 אסע (183) ; (1) 000858 פגמת (188) )185( 07; 0 0009855 710-157 1 =: 1 הסע (146) ; (1) פאתגא מדהפפט (187) 0 עאמפטץ5 1457 70 1 >: 1 תסע (188) (1) עאמפט51 צאזתס (149) .פא (150) 13 /- עדכון: מספר. הקו סים | 2 שם הקורס;. - תוכנית 3 ; (עפדטס , דטסא1) אא4ם אהגתססגהק 0 ,0 > %א20000 אהא 0 = צאמומטסא אגא = מס 157 ; ' אאאאאאאאאאאאאאא' = 1א40000 157 טפצך ;תס עס [1..15] צהתתהג פמאסגק = גאזת57 03 ( רשומת חשבון + פפססםת > סטת 1א40000 ; 57310 חס : טאאא ; תמסתצא1 : המפאטא 07 שעת : אדגאמת ; פאם [ רשומת תנועה + פתססטת = צסאסא מטסא ; תמ0תנאז : הממאטא 1א40000 שמת : צטאסא ; פאם ההג ; סת | 1א40000 0 [1א30000 . אהא..1] צהתתה : [א0000 ; צשאסו : מטסא 05 [עשאטמאטטס . אגא. .1] צהחהתה : דאמאמטסא תמדא : 1 ,5תט0א₪ , 4000015 [ קריאת נתוני חשבון + ; אם. 001 : (תמסתזא1 : א) עאט000ג פגמת אסזצסאטע אזסטם 0 [א] 1א0000א ‏ 1דזא אזססם ; (אזהאמת , ידצססתס , תמפאטא ,מאגא) אזפומת אטע 71א40000 151 = טאאא ע1 ₪ =: 87א840000 פגמת מס מסתץך =: 1א40000 פגמת פא ([ 6מ80000 2686 + ; פא 18 )1( )2( )3( )8( )5( )6( )7( )8( )9( )10( )11( )12( )13( )18( )15( )16( )17( )18( )19( )20( )21( )22( )23( )2%( )25( )26( )27( )28( )29( )30( )31( )32( )33( > ; (ת0₪טצא1 : א) 2א40000 עאבתת מתטפמססתק הג ; תתסתזא : ד אזססם שםס לקוח') א מצדתט [ הדפסת נתוני השבון + 'אשראי ' ,10:'מס. החשבון' ,15:' ; (13:'יתרה נוכחית' 0 א 790 1 >:1 מסקע 0 [1] צאטסססא אדדט (10:2:אדאאחת ,2: נ'דסתתס , 8: המתמאטא 5) אזמזאט [ %6ת80000 סמבעם + ; פא ([ קריאת + ך נתוני תנועה + ;004 : (תתסמצא1 : א) מטסא פגטת אס1עסאטק אזססם 0 [א] צאמאמטסא זט אזספם ; (צטאסא , תמפאטא 7א20000) אזפהמת 5 = הטמאטא עאט0000ג =: מטסא פגחת פא [ ₪006 2686 + ; פא ; 20000%10 50% מהטספטססתק 8 ;פמסטדא :2 ,1 ,00 1עאט0 400 : א אזסטם 0 =: 7 0 0 < ממא אזספת % =: ם 0 7-1 70 1 =: 4060 מסק אמזוד הממאטא. ך206+1 ] 000% < תממאטא. [8400] דצאטסססגא סד אזספם ] 1א40000 =: א 11% + 400] 1א40000 =: [800] 1אט4000 1 =: [1 + 8406] עאט000ב [ מיון לפי מספר חשבון + 0 =:רם ; פא 2 ד ( 1 116מש + | פאם [ ףתטססס8 8026 + ; פאם ( עדכון היתרה + 7 ] לפי התנועה + ; (צטאסא מטסא : טסא תגל) סא מע'הפפט מהטפמססתק תאצ ; תמסטעא1 : אמפאך )38( )73( )7%( )75( )76( )77( 15 מהחאסקטק שטק המליד ( חיפוש בינרי של מספר חשבון, ָ [ הפרמטר המשתנה ₪12 מחזיר את מיקום רשומת החשבון + ;תמא : תממאטא) פאטסע 00002 אסצעסאטת (78) ]00 : (תת0מצא1 : פנא הגע (79) תג (80) ; תתסמצא1 : 18457 צפסתדק (81) [ 6תט0? 6מטססס8 + אזסמם (82) 1 =: צפתדק (83) )88( 1067 := 005; [דהמקסת (85) ;2 עדת (1497 + צפתדק) =: פדא (86) אמזד תממאטא. [פדא] %2א40000 > התפאטא קד (87) 1 - פא =: 152% (88) )89( ₪ 1 + פדא =: צפחזק (90) ואט (91) ; (1457 < צפתדת) 0 (תמפאטא. [פדא] 1א80000 = הממאטא) (92) אפוו הממאטא. [פדא] עא20000 = תממאטא סד (93) מטתד =: פאטסת עא40000 (98) מס (95) שפ1גע =: פאטססע 1א40000 (96) [ 6מתטס? ס6מטסססה + ; פאם (97) [ ₪006 6866קט )+ א61מת (98) 0 טסא דשח (99) אפחץ (אמפאד , הממאטא 1א40000) פאטסע עאטסססא ‏ שד (100) ( אם נמצאה רשומת חשבון + (101) ( יש לעדכן את היתרה. | )| 20 [אמפא1] עא0000 אתדק₪ (102) צמאסא + אדגאמת =: אדגאסת (103) [ 6טס₪ 68066קט ) ;פאם (108) [ תנפם + א01ת (105) )106( 40000015 := 1 1 =: פטעסא (107) (8: 'אשראי ' ,10:'מס. השבון' ,15:'שם לקוה') אומדצזתט (108) ; (13:'יתרה נוכחית' (109) 0 (1 + 15אט00סג) צאטסססג פגמת דח (110) + 175א40000 =: 15א40000 (111) ;('תנועה | מס. חשבון') א מדדחט (112) 0 (1 + פמטסא) מטסא פגמת ממדחט (113) 1 + 5ם0א =: פמטסא (118) )115( 5087 4000079 ; 0 פמטסא 10 1 =: 1 תסקע (116) ; ([ד] תאמומטסע) מטסא מדהפסט (117) (15א40000) 1א40000 עאזתק (118) . פאם (119) תוכנית 1% ; (צטקעט0 , עטפאד) צתהתםדן אההססתע (1) 7פאסס (2) 1 = 20088 אגא (3) = פהסמדטה אהא (8) שפצ (5) ;תס 09 [1..15] צהתתה ספאסהק > מפצך טאגא (6) ;תס 09 [1..70] צהתתה סטאסגת = מקצץך כגמ (ד) [ רשומת ספר ‏ + פתססטת > סחת א00ם (8) [ שם הספר | + [מפצד סגחו : המסתח (9) [ מס' מחברים+ ; סוט אהא..1 : הממאטא פהסמדטה (10) [ מערך שמות המחברים + מאגא | הסאט (11) ;מקצך מאהא 05 [פתהסונטה אגא. .1] צהתתה : (12) ] שם המו "ל ָָ ;מצד טאאא : הטטק (13) [ שנת הפרסום + הצ (18) ( מספר סידורי + המואת : 1 (15) ; פא (16) אא (17) 008 08 [₪005 אגא. .1] צגחתה : ו (18) ת0מעא1 : הממאטא 0085 (19) [ קריאת נתוני ספר + ]אמ00 : (0מת א800 : 8008 תהט) 8008 פגמת אס1ץסאטע (20) הג (21) ; תת0מןאן : ך (22) אזסמם (23) 0 8008 מצדט (28) אזססם (25) ; (70: 'כותרת הספר :') אומדדחט (26) ; (תמפהמו) א זסהמת (27) אמות '.' <> [1] תמקגמע סד (28) | אזסמם (29) ; (70: 'מספר המחברים:') אומדדזתט (30) ן ; (מממוטא פתסמצטה) אעסגמת (31) ; (70: 'שמות המחברים: ') א זמדדתט (32) 0 תממאטא פתסמצט ‏ 70 1 =: 1 סק (33) ; ([1] מאגא הסצתטה) אזסהמת (38) ; (70: 'שם המוציא לאור:') אמדזתט (35) ; (תפה1/15טטע) א,זסגטת (36) : (70: 'שנת ההוצאה לאור:') אומדדתט (37) / ; (תהחצ) א זסאמת (38) (70 :'מספר סידורי:') אומצדתט (39) ; (.50141) א זקאמת (40) שסתך =: 8008 כגמת (81) פאם (42) )43( 8 8 =: 8008 סגמת (88) [ אססם םס1ש + סא (45) [ אססם 2686 + ; פאע (46) 1-7 , או לקויישווו - ה - 0-0 ו ([ הדפסת נתוני + [ כל הספרים. ‏ + ; (75058א1 : תמסאטא 5א200%) 5א₪00 צאדתק מתטפמססתק (37) )88( | סנוא :7 ,1 (89) אזספם (50) 0 תתמאטא 80085 70 1 =: 7 סע (51) 0 [1] 5008 גנט (52) אזספם (53) ; (9:'כותרת:' ,70:המסגמת) אמדדתח (58) ; (70: 'מחברי*ים:') אוטדזתט (55) 0 תמפאטא פתסמנטג ‏ 70 1 =: 1 תסע (56) ; (1[:70 ] מאגא הסנודט4) א זמצנתט (57) ; (9: 'מו"ל:' , 70: 15858.זמטק) א,זטדזתט (58) ; (12:'שנת הוצאה:' ,67:ת4מץ) אזמדדתון (59) (12:'מס. סידורי:' ,588140:67) א[מדדתט (60) [ אססם םףצש + | פאם (61) [ 00%5ס 6תבעם + ; פאם (62) ( מיון לפי שנת ההוצאה לאור + ; (המסמוא1 : הממאטא 5א800) 65 505 מתנסטססתק (63) תגט (64) ;תמסמנאז : 1 ,א 00% (65) ;ספת 008 : א (66) אנסטם (67) 0 6 < תממאטא 0085 םדוקו (68) אזסמם (69) 1 =:ם (70) 0 1 - תפפאשטא 0085 70 1 =: א 2008 תסע (71) אפח תגמצ.[1+א 200%] 008 < ההמצ [א א800%] 008 עך (12) אזסטם (13) ; [א 200%] 800% = א (1%) + א א800] 800% = [א 800%] 800% (75) ;א =: [1 + א א8008] 800% (76) א 8008 =: 0 (77) ; פא (78) 1 =: תתפאטא 0085 (19) [ 116םש + | כאם (80) [ 000%8 8026 + ; פאם (81) [ םנהש ) אדסמם (82) 1 =: הממאטא 80085 (83) 0 ([1 + התמאטא ₪0085] 800%8) 200% פגמת ‏ ממנאט | (83) ;1 + תתפאטא 80085 =: התפאטא 0085 (85) ; (תממאטא 5א8008) 80085 5081 (86) (תתמוטא 5א800) 20088 צאצתק - (87) ו . עאם (88) את מספר" הספר ים ,> ממ* * גת אותס לפ שנת ההוצ יהפרוצדורה 00 | דָאָ1תת מקבלת. כפרמטר: את מס תוכנית 5 : (1טפעטס ,צטקא1) פמאד] צאמד אגתססתק (1) 7 (2) 5% = 078א] מאד] אגא (3) = דסא דאפד אהא (8) פפצץ (5) 0 דאמד אגא. .1 = תמפא מס (6) ;ה עס [0א 1 " צאמד אגא. .1] צאתת ‏ סטאסק = אזס (7) פתססמת = אפ הס (8) [ אורך התמליל + ; תפמאטא תס : נתסאסן (9 ( התמליל ָ תפ :- [אתך (10) ; פא (11) ;הס חס [8 10 מאד.1 אגא. .1] צהתתה פמאסאק = מאד1 תאמ (12) הט (13) ;פאז דאמד : מאד1 | (18) ;ה 0 : מסגק (15) :ממאטא הס : א051110ק צאמפסתק ,תמעאט00 מאד1 ,אפפא1 | (16) ) קריאת התמליל: ראה פרק 6 תוכנית 16 + ;אד פהמת מתטפטססתת (17) אזספם (18) 0 =: א051110ק צאמפטתק (19) ץמסטת (20) או מאדן אגא =: המעאט0ס מאד1 (21) : (פא11) אמפאמת (22) (' ' = [תמעאטסס | מאד] פאזע) פאה (0 < ץאט 00 מאד) תדמח (23) - המדאט00 מא11 =: המצאט00 מא1 50 (28) 0 הצא 00 | פאז 70 1 =: אתפאד פסק (25) ,[אמפא1] מא11 =: [אמפא1 + אסצצדפסס | דאמפמתק] דאמ סאק (26) 1 + המנואטסס מאזן + א2051110 זאמפחתק =: א2051110 זאמפמתק (27) ' ' =: [א10צדפסק דאמפתתק] שאמ סק (28) 1'.' = [1]מאד1 מנעאטס (29) 0 - א051110ק | 1אמסטתע =: ה0אם .תק (30) אזמדד זט (31) [ 6א08ט 686ע + | ; פאם (32) סאת דאמ ונק מהטפתססתק (33) )38( 007 . 1'' = צפתטם (35) 1'' = סאם (36) 1'.' = עאדסק (37) הג (38) הממאטא 08 : ך (39) 199 ] השוואה בין המקום א0אע בתמליל לתו אנק, + ] ובדיקה שאחריו אין רווה + ;תתמאטא 08 : אסתע) מהטסם אס1עסאטת ;א00ס : ( הגאס : אדק אזססם 00 מסגק זעדט + ' = [1 + אסתת] צאמץ) פאה (אדת = [אסתע] עצאפל) =: מגטסם [ 60081 + ; פאם [ זיהוי סוף + ( משפט + ;א8מ₪001 : (תתמאטא מס : אסתת) מסאמצאם5 פאם אסצצסאטת אזסטםת מס (1פמטסם ,אסתע) מהטסם =: מא0פעאסס פאם 8 (0אם ,אסמע) מהטסם (צא01פ ,אסתת) הטסם [ 066מ66ת80 6ת6 + ; פאם ( 008ת%50ת80 סת+עס + אדסמם 1 =: 17 0 אסגס דט 0 071 >> 1 מעדחחט אזסעם [ הדפסת תו + ; ([1] צאמך) מצדתט [ סיום משפט + אפאד (1) מסאמדאמ5 פא חך אזסטם [ שורה חדשה + ; א זמצזתט [ דילוג על רווח סוף משפט + 1+ =: ך ; פא [ התו הבא | + 11 >: ך [ => + 116מש )+ פאם [ 008ת60ת80 סת1עם + ; פא [ ת81ם ) אזסתם ; דאטיד ספת סאפ עאזחק )40( )981( )42( )33( )48( )48( )49( )50( )51( )52( )53( )58( )55( )56( )57( )58( )59( )60( )61( )62( )63( )63( )65( )66( )67( )68( )69( )70( )71( .פא (72) 1|0 : ו . : (מטודתף 90 אינה שייכת לפסקל. הס "תהיינה פקודות שוגות. למטרח .ז תוכניות .תוכניות 1.ה-2 : (5ע'א 50 , צטפנטס ,1טפא1) 8עאמפט51 ודע אהתססמק מפצך [ רשומת סטודנט + פתססמת = סמת לאמפטדם [ שם + עס [1..15] צהחתה כפסאסגק : פאגא ([ מספר זהות + ,עד [] ממוצע ָ 1 : מסבתתטבה [] מין ָ :(2) : אפ [ מספר שעות + המספעאת : פתססא ; פא ] קוב* המורכב מרשומות סטודנט + :סמ בצאמפטדפ 09 םודק = פצאמפטתם 8 ; פצאטפטס : פס אמעט : דאתפטדם ( 'דאפ. צאמפטפ' ,85) א9910ג ; (519) תשפעת 171 0 (כ51) שסם עסא מתצחט אזסםם ; (אמפט510 ,525) פגמת 0 תאטפטעס 1+ת1ח ((75 < מסהתמטה) פאג (א = אםפ)) שד אחז ((75 > מסהתתטה) פאה (2 = אםספ)) (מאגא) א דדש ; פאם (פ51) 01/0058 . פא ; (שט עס קוא , שפעט0) 01ק₪1.1פ אהמססמק / מפצך [ רשומת עובד + = סטת צס,סאם פתססמת [] משכורת | + : צתה. זה [( מצב משפ' + ; (אהא1ה ,הפטתס ,דטספגא ,אהטגת) : 5 [ מין ָ 1 ,א) : אפ [ השכלה + ; (דאמחפ ,אסהפזת ,א21080 ,דפספמצ) : אסדעהס6טסם [ מקצוע ְָ ; (תמןעקא00 ,10א0ס01םם ,0אהמסמא) : א0דפפמקסתק [ שם ְָ ;תס 09 [1..20] צהתתה פמאסגאק : טאאא [ מספר ז תמסטצאז : תממטא פאם ( קובצ רשומות עובד + ;סת צס תעש עס מעדקת = מדת צס,זסאם האג +0פאם : ממצסשום ;ספת צספום : בושיכן ;א 001 : ממצ0זקאע פגמת אסדעסאטע אזסספם קריאת נתונים של רשומת עובד למשתנה ₪42 לפי דוגמאות בפרק 10 % [ למשל, לפי הפונקציה א800 פגמת בתוכנית 4 שבפרק 10. ; פאם פרוצדורה ₪תזע 08478 יוצרת קובף, קוראת נתונים של רשומות עובדים + וכותבת אותם בקוב>. התהליך נמשך כל עוד הפונקציה ממצןקאם פגמת [ מחזירה ערך 180₪. כלומר - יש עוד קלט. 1 מפ8עמתס שהספמססתק אזססם ; (ממצסזום) מדדתטמת 0 ממצסוקוש פגמת םזצשט ; (שא ‏ ממצס1סאם) מדדתח (ממצ0זסווע) 01058 ( 2116 026808 + ; פא 112 == = ך פרוצדורה לשליפת שמות העובדים ממין זכר + :א צאצתק מהטפתססחק אזסטם ; (פמצס,זקוום) תספסת 20 (₪8צס,ןקא) עסם עסא צאט אזספת ; ( סא , ממצס, וסאם) פגמת 0 קאת |תדט אפ 2 > אםףפ קך (מאהא) א ומדזתט ; פא (טמצס זו ) 01098 / 6 סתצפק ) ; פא [ פרוצדורה לחישוב ממוצע המשכורות + ןעגמת : מסהתסטה מא זט הס אס סאטק : (פמצסזקוום) צספסת 0 (מתצס,ופעם) שסם עסא םודא אמ ; (שאם ,ממצסנקום) פגמת 0 םע זט ב + אספ =: אטפ 1 + 0001 =: התנאטסס ; פא : (פמצס שא ) כ אמזוד 0 < המזאש0 סך =ן שסהחטטה מה זטס זה ס | (₪ %פ =: טס 1 06 081011805 + ; פא דאס / אספ ] במקרה זה 0 > 808 + [ פרוצדורה להדפסה של שמות העובדים שמשכורתם גבוהה מהפרמטר ז'דאד,1 ְָ (אמת : דדאד) אוד טהסון צאדתק סק אנסמם : (פצ10קאע) דספסת ספ (שמצס,זקאת) שסם עסא םדו אזספת ; (שאם , ממצסוום) פהמת 0 ₪ וט אמוי 1 < עתה581 סך (מאהא) אתמדדסט , פא (טמצס/,1שאם) כ ] תפחל 6עסם 6מ1עק ָָ ; פאם 133 ] פרוצדורה להדפסת שמות העובדים שמשכורתם גבוהה מ-900 + םאת1תק מתטפמססתע אזסספם (900) אגזצד מחסא עאזחק ; פאם פרוצדורה להדפסת שמות העובדים ָ ך שמשכורתם גבוהה מממוצע המשכורות. ; תמ עאדתק מתעשסמססתק אזספם (מ0התפטה 75 1ט0210) אזוד מהסא עאזתק ; פא הפרוצדורה להדפסה של שמות העובדים שהם מתכנתים בעל: ‏ + [ תואר ראשון, או עובדים שמספר הזיהוי שלהם גדול מ-1500. ;₪ תק עאדתק מהטפמססתק אזספפ ; (ממצס,זקאת) [מפחת 0 (פמצסקאת) אסם עסא מודצט אזספם ; (שא , מפצס,זקום) פגתת 0 ק<אם גנט ( (אסמפדת = אסד01טכמ) פאה (תתץטקא0ס = א10פפמתסתע)) קך אטח ((1500 < תתמאשא) פאה (אגטגת =574105)) 08 (מאהא) א ומדדתט ; פא (₪מצ1/0קאם) 012058 [ 6 6עהק ס6תנצעם + ; פא ( םת₪81 )+ אזסשת ; ( 'דהק. אס , ממצסקוום) א49910 [ קריאה לפרוצדורות לפי הצורך + . פא 11% תוכנית 6 : (2טקצט0 , פתמפהס ,5אאדתת) מסנהק אאזהכ אהתססחק 1א 0 1 = פאצא אאזתכ אגא מפצך ;0 תס [1..12] צהתתה פטאסגק = מאגא ( רשומת משקה ָָ סתססעת = סמת אאזתת [] שם המשקה ָָ ;טאאא : מאגא אאזחת [ מחיר ארגז אחד ָָ ,1 מסזתק [ מחיר שישה ארגזים ָ ,6 מסזאק [ מחיר שנים עשר ארגזים ָ מסצתק / מחיר עשרים וארבע ארגזים + המספנאד :- 2% מסזתק ; פא ] רשומת הזמנה בודדת ‏ + פתססמת = המעתס מאס [] שם המשקה ָָ ;א : מאגא אאזחת [ מספר ארגזים ָ התסמעאן : תתמאטא אסם ; פא [ רשומת הזמנה ָ פתססעת = סמת המקתס [] מספר הזמנה ָָ ; המסטצאד : הממאטא התפתס [ שם המזמין ְָ :א : צם המפתס ([ כתובת);תגא0 ע0 [1..30] צגתתה פמאסגק : 5 [ עיר [ ;אאא : צזידס [ מיקוד ָָ זומת : ₪ 215 [ רשימת הזמנות בודדות + המסהס מאס אס [סאדא אאדהת אגא..1] צהתתג : 0157 תספהס ; פאם ( קובצ משקאות + אאנתע 08 שודק = מודע אאנתת [ קובצ הזמנות + המפתס ע0 מעדע = מעדע המפתס האל אאעתכ : פאאזתת 1 המפתס : פהתפתס וספת אאזתת : אאזתת תתפתס : המכתס 20 מסזתק ; המסעצאך :- 707 175 הפונקציה סורקת את קובא המשקאות ָ [ ומחזירה ₪ש780 אם נמצאה רשומה של משקה א. ;א0014ע : (מאגא : א ;סמ אאזהת : אאדחת תגט) פתססמת פאדע אסצעסאטע אזסשם ; (85א231) עמפטת זגםקטת (אאזתת , פאאזתס) פגמת ; (5אַא81כ) שעסם 05 (א = מאגא אאדתת. אאזתפ) זנעא א = מאגא אאזתפ. אאזחת =: פ008ט3 פאזקת ( 260026 6םת01 + ; פא [ תדהש + אזסמם ; ( 'דגס. אאזתס' , 5אאזאכ) א45510 ; (פ5אאזתפ) עמפטת ; ( '47כ. התמפה0' , 5תמתת0) א45510 ; (5תתסת0) זמפסת [ לולאה על כל קובף ההזמנות + 0 (פתמפתס0ס) ₪08 עסא דחא אזסמם [ ; (תפפתס ,פתמפה0) פגמת ; א, תוזת 0 תמפתס אדזט ([ הדפסת פרט* ההזמנה ‏ + אזספת 1: תממאטא המסתס,' :תתמאטא המפתס') אטצזתט ; (12:צם תספת0ס (6:' :עם פמתמסת0' ; (0028:8:0 215 18:צ01 ,5:30פטתססג (' :5פמתפכג') א מדדתטח ; ('שסזהק פאס מאגא אאזתת ‏ ') א מדזתט 0 ההחחחהחחהההההההההההה7777-----------') א סצזתע =: 1 =: 70740 0 0 < הממאטא אסם.[1] 7 תמפתס םד ] לולאה עד סוף הרשימה ברשומת ההזמנה + אזסספם 0 [1] 11571 המפתס זע1ט אפזו (מאגא אאזאת , אאזתס) פתססטת פאזע עך ( נמצאה רשומת המחיר של המשקה + אזסמם ( חישוב המחיר של ההזמנה. ָ 0 אאעתפ זתדש + 24 מסדתק * (2% עדע הממאטא א80) =: מסזתק + 12 מסזהק * (12 צנפ (23 פסא הממאטא 0%)) + 6 0₪זחק * (6 טכ (12 פסא המוטא 80%)) 1 0זתק * (6 פסא הממאטא 0%) ( סיכום מחירי ההזמנות + + 107 =: 10240 ( הבודדות המרכיבות את ההזמנה. + (10:מסַזַתק , 8: הממאטא 80% , 15:מאגא אאנתע) אתטצנתט [ 60026ע 6ם01 18 + פאם [ הרשומה לא נמצאה + ₪ ( 'פאסס0ק עסא' ,15:מאגא אאדתכ) אנטצזתט 1+ ך =: 1 ( 118% ע6060עס 116תא + ; פא ] הדפסת שווי ההזמנה )+ (011:10 ,23:': 90242') אמדדתה [ 02662 םס1ש + פאם ( 601 6סת ₪116 + פאם ( תנאם + . פאם [ קרא הזמנה. 1%6 יתוכנית 1 בתוכנית זו מופיעה הפקודה (משתנה-ק ובא פיסי. הפקודה מפתע אי נה שי יכת לפסקל ה נדר תכן: שב הסבר למבנה התוכנית: 1.6% : תוכנית זר מורכבת יממספר חלקים הכוללים פרו דורוה 1+ שו ומקוננות, ולבסוף גוף התוכנית; נציג להל ( באופן. סכמטי את חלקיו ) מפתם,. שתפק ידה למתוק פשוטות אמסא 800% מהעשסצם 5 004 6 סע 46 - ת1שסס סדע מסתסא 6ו660סיע 6 - ת1שסס 1 26 660ס6סע פת0סעת תס 6 6 - תצשסס ( 8006 + 6 - תצשסס 01 מסתחא 6 64 - תב1שסס ₪ אמפא1 פתדטם 6 4 - מ1שסס [ ₪81 + 6 - מ1שסס : (צטפטס , צטקאד) אמפאד 200% אההססתק 0 אורך מלה מכסימל: ָ 11 = 0178 פהס₪ אאא מספר מכסימלי של פרקים + 1 = סוזוס אגא מקצך טס [ודסאמ.1 סחס אהא. .1] צבהתה כמאסגק = מעצץך פפסט רשומה בקובץ אינדקס של פרק בודד + פתססמת = אמפאד פגגס מלה ָ [טפצך פחסט : פתסט מספר עמוד + המסטעאת : טא מסגק ; פא רשומה בקובצ אינדקס של כל הספר + פתססטת = אמסא1 00% מלה ָָ [ןטפצך פחסא : פגהסט מספר מופעי המלה בספר ) 1 :1 ₪ 157 מספר: + המסמא עס [1..20] צהמתה : תממוטא 05גק העמודים בהם הופיעה המלה. + ; פא מחרו זת - שם הקובף הפיסי + :פצך ₪02 = מאגא מודק קוב אינדקס של פרק בודד + ;אמפאך .מס עס מודק = מדע תמדקס קובא אינדקס של כל הספר ‏ + ;אמפאד 800% 09 מ שדק = ₪שעץ אמפאך 117 תגט מאאא מ,זדת עס [קהאס אהא .1] צהתתה : מאגא מזדע פהתס ( מערך של שמות הקבצים + [ מספר הפרקים שבספר ָָ ; סאס אגא..1 : המטועזא 1 ; תמסמעא : אע ,שחל ] פרוצדורה זו מעתיקה את קובא שצע אסתעת לקובצ שמת 70 + מזדק אסתק מגט) םדק צ005 מתססמססהע ; (פזנת תמדקהחס :| ממדק 20 תג ;אמפאך קגח0 : סמת אזססת ; (₪,זדק אסתת) עמסטת ; (₪תדצע 20) מצדתשטת 0 (מתדע אסתע) עסם צסא םדו אזסטם ; (סמת ,מעדע אסתע) פגמת (ספת ,מונע 20) מצדתט פאם ( 9116 עַססס + ; פא הפרוצדורה ממזגת שנ* קבצים ממויינים לקובצ אחד ממויין. + הקובצ+ הממו*ין מחליף את הקוב הראשון שאגא 1ע. ] הפרוצדורה מקבלת את השמות הפיסיים של הקבצים. שאגא 1ע) 5 מסתמא מתטספססתע ; (שאאא מתדתע : מאגא 2ע תג 1 ודע ,2 מוצק ; ודע תמדקס מתדק קאתך 2 סטת : ;אפתאך קגח0 :‏ 2 סעת [ משתנה בוליאני המצביע על + ;א0מ001 : שעדת צפתדע אסתע פגמת הקוב ממנו תקרא הרשומה: אם 1808 יש לקרוא רשומה מקובצ 1 ( ואם 41088 יש לקרוא רשומה מקוב> 2. ([ 21108 00₪6ם )+ | אד0ט8 ; (פאאא 1ע ,1 מדע) א45810 ; (פאגא 2ע ,2 מזת) א5510 ;(1 מעדת) פמפטת ; (2 םודת) שמפטת אמזוד ((2 מעדת) פסם פאה (1 מתדע) עסם) עסא -8ד / אם שני הקבצים אינם ריקים + אזסטם ( פותחים קוב זמני + ; ('ססד' ,מודע קאמך) א510סה ; (מזדק קאמץ) מד1תמת אמט (1 שעדת) עסם צסא עד ( קריאת רשומה ראשונה מקובא 1 + ;(1 ספת ,1 מעצע) פגמת [ הקריאה הבאה תהיה מקובף 2 | ) ;מפוגע =: מודע צפהדט אסתע פגמת 18 0 דע עפתדע אסגע פגטת עאג (1 מתדע) עסם) עסא םדזהט 0 (₪/דק דפתדע אסתת פגמת צסא פאה (2 מעדק) עסם הלולאה מתבצעת כל זמן שהקובא ממנו צריכים + [ לקרוא את הרשומה הבאה לא הסתיים. אזססם [] קריאת רשומה מהקובףצ המתאים + אמח םדק צפתדק אסתע פגמת שך (1 ספת ,1 םודע) פגמת ₪ | (2 ספת ,2 מודת) פגמת 08 (עת2.00 סמ > 1.0082 סעת) אד פאג (2.0080 ספת = 1.0082 6מת)) אפוו ((טא 2.208 סמת > טא 1.208 סמת) הרשומה שנקראה מקובף 1 קודמת לרשומה שנקראה אצסתם מקובצ 2, ולכן הרשומה מקובףצ 1 תכתב לקובצ הזמנ'י. [ הרשומה הבאה תקרא מקובצ 1. ; (1 סמת ,תודע קאספד) מדדחט מסתך =: מעדע צפתדקע אסתע פגמת פא מפ זו [ הרשומה שנקראה מקובף 2 קודמת לרשומה שנקראה אזסמם מקובצ 1, ולכן הרשומה מקובף 2 תכתב לקוב> הזמני.+ [ הרשומה הבאה תקרא מקובא 2. ; (2 ספת ,םודת קאמך) מדדתט 8 =: מודת צפחדט אסתק פסגמת פאם [ 16נתש + ; פא לשלב זה מגיעים כאשר אחד הקבצים הגיע לסופו. יש להעביר + [ את שארית הקוב שעדיין לא הסתיים אל הקובצ הזמנ'י. אמות (1 מעדת) קסע שד אזסטם 0 (2 מענת) אסם עסא מהזזה [ פקודת ₪118" הראשו נה שתבוצע תכתוב + אזססם [ את הרשומה שנשארה מלולאת ה-₪111₪. + ; (2 ספת ,תודע קאתד) מדתט (2 סמת ,2 מתצע) סגמת ; פאם (2 סמת ,שדק קאמל) מקזתח אזססם 0 (1 שענע) עסם עסא מדחט אזסטם ;(1 סמת ,םודק קאתך) מקזתט (1 סמת ,1 מתדע) פגמת ; פאם (1 סםת ,מעדקע קאמך) מנדתט ; פאם 1:19 ( העתקה של הקוב הזמני + ; (1 מעדק ,מודק שאמצ) מתדע צק00 [] לקובצ 1. ; (₪,זדק שאמך) 08 [ ראה הערה בתחילת התוכנית + (מ,זנעק קאמי') מפתם [15 + :פאס ; (1 115ע) 00058 (2 מדע) 0 [ 1108? ₪02₪86 + ; פא הפרוצדורה 9081 מקבלת שני קבצים (1ע, 2ע) שממו*ינים בבלוקים ָ בגודל 8, ומחזירה שני קבצים (062, 01) הממויינים בבלוקים של א2. זה נעשה ע"* מיזוג על שני בלוקים בגודל א מ-1ע ו-2ע וכתיבתם [ לקבצים 01 ו-02 לסירוג:*ן. ; תמא : א) 501 מתססמססהע ; (₪זזת המדקהחס :‏ 62 ,01 , 2קע ,1קע ההט ההץ [ משתנה הקובע לאיזה קובצ תכתב הרשומה + ;001 : 501208 צטס ( מצביע על הרשומה הקודמת לפי הסדר ָ ]1.2 :1 תמאאזט [ ספירת מספר הרשומות + תתסמעאז ע0 [1..2] צגתתה : פמפט ([ שנקראו מכל קובצ. ‏ + ( מציין שנקראו כל + ;00 ת0 [1..2] צגתתה : אזע ( הרשומות בבלוק. + ( מערך שמחסין את שתי )+ ;אתסאך פגח0 08 [1..2] צגתתה : דאמתת 6 ([ הרשומות שבזיכרון. + הפרוצדורה מקבלת מספר קובצ + [ וקוראת ממנו רשומה אחת. ( פרוצדורה מקוננת + ; (ת05מ1א1 : תמתמאטא מעדע) כפתססטת 02 מתטססמססהק אזסםם ((1ע) ע0ם סאג (1 = תתפאטא מתדע)) תס (א = [תממאטא מעדק] פמפט) תך אמא ((2ת) אסם פאה (2 = תממאטא מענע)) תס [ מסמן סוף בלוק או סוף קובא + מסתץ >: [תממאטא מעדע] אצע ₪ אזססם [ ספירת + + [תממאטא מתדע] פמפטס =: [תממאטא מעדע] פמפט ( הרשומות שנקראו מקובצ הממאטא מתצע. + [ קריאת רשומה מקובף תממאטא מעדע + אמחך 1 = הממפאטא מעדע עך1 ([תתפאטא מנדע] לאמתתטס ,1ע) פגמת פפזם ([הממאטא מתדע] צאמתתטס ,2ע) פגמת פא ( 200026 ₪06 + ;פאם 10 [ 802% + אזססם [ הפלט לקובצ 61 + ;תד =: 501101 תש [ איתחול הקבצים + ; (1ע) עמפמת ; (2ע) [מפסת ; (01) מדדתאמת ; (02) מדדוומת 0 (2ת) 08ם עסא תס (1ת) תסם עסא םוחו ([ כל זמן ששני הקבצים לא הגיעו לסופם + אזספת % =: [1] פמפט 1 =: [2] פמפטס =: [1] אדע 1 =: [2] אצקא [ קריאת רשומה מקוב 1 ) ; (1) פתססמת וש [ קריאת רשומה מקוב 2 + ; (2) פתססמת מס 0 [2] אנש צסא 08 [1] אדע עסא משדצט ( אם עדיין לא הסתיימה קריאת בלוק בשני הקבצים + אזספם [ אם נגמר בלוק בקובאצ 1 + אאא [1] אצע אד [ אז קובצ 2 ממשיך. ָָ 2 =: תמאאדט [ לא נגמר בלוק בקובצ 1 + מס ([ אם נגמר בלוק בקובצ 2 + אמח [2] אנע שך [ אז קובצ 1 ממשיך. ְָ 1 =: תמאאזט [ לא נגמר בלוק בקובצ 1 ובקוב 2 + בכוכ הס (פתס2[.9₪] צאמתתטס > עתסט.[1] צאמתתטס) סד פאה (פתסט. [2] צאמתתטס = פתסט.[1] צאמתתטס)) אטזוד ((טא 08גק.[2] דאמתתטס > טא 05גק.[1] צאמתתטס) [ השוואה בין הרשומות. ‏ + [ רשומה מקובצ 1 קודמת ‏ + 1 =: המאאזט מפ זו [ רשומה מקוב> 2 קודמת ‏ )+ =: תמאאזט [ כתיבה לקבצים 61 ו-02 לסירוגין + אטח 501708 עשס ‏ עך ([המאאדט] צאמתתטס ,61) מצדתט | ; ([תתאא1א] צאמתתטס ,02) מדדתט [ קריאת רשומה מהקובצ של + (המאא1א) פתסספת ₪2 [ הרשומה האחרונה שנכתבה + ( ם1+ 6סם 116תש + ; פאם [ מיזוג שני הבלוקים ָ 1 בכש עסא =: 501108 צטס [ הבאים יעשה לקובצ השני. + ([ 6020 %6סם 116תש )+ | פאם [ 8026 + ;פאם 141 מיון אחד או שני קבצים לא ממוי*נים ‏ + ( לקובצ אחד ממויין שיחליף את מאגא 1ע טאאא 1ע) 5081 מסתסא מתסספססתע ;מאגא מעדק : מאגא 2ע [ מספר הקבצים למיון + ; (058מעא1 : סדע הג תמדק.הס :‏ 02 ,01 , 2ע ,1קעת ; תמסמעאך : 1 אזסטם ; (מאאא 1ע ,1ע) א45510 אמח 2 = פמתצק (תך ( אם יש שני קבצים למיון + (מאגא 2קע ,2ע) א45910 טסט ([ יש רק קובצ אחד למיון + אזסטם [ פתיחת קובצ זמנ: ָ ; ('1קאמץ' ,2ע) א10פפב (2ע) מדדתקמת ; פאו ; ( '2קאמ' ,01) א45510 ; ( '3קאמ' ,02) א5516 40 = 1 דמקטת מיון 1ק ו-2ת ל-01 ו-062. אם יש רק קוב אחד הפרוצדורה 5081 + תגרום לפיצול הקוב הבודד לשנ* קבצים והתהליך ממשיך בדומה למקרה של שני קבצים. אורך הבלוק גדל כפול שניים, (פרט למעבר הראשון אם היה רק קובצ אחד, אז גודל הבלוק ישאר 1). מיון ( נוסף והפעם 061 ו-62 ל-1ע ו-2ע ושוב הגדלת אורך הבלוק, פ* 2. ;(02 ,01 ,2ע ,1ק ,1) 5082 * 1 *: תב =: פשמדק ;](2 ,1ק ,62 ,01 ,1) 5082 ;2 *2 =: ע (2ע2) צמפמת ;(2ע) ע0ם ‏ 10דאט הלולאה מתבצעת עד שקוב> 2 מתרוקן. כלומר, הבלוק גדול או שווה + [ למספר כל הרשומות, ולכן כל הרשומות ממויינות בקובצ הראשון. ; (1ע) 01058 ; (92) 01058 ; (01) 01058 (02) 01058 [ 802% ₪6ע6ם + ; פא ([ קביעת גודל הבלוק + 12 פרוצדורה זו בונה את קובצ האינדקס של כל הספר מהקובף שנבנה קר אלו הן רשומות מסוג אינדקס של כל הפרקים אשר ממו*ינות לפי א"ב [ ומיון מישני לפי מספרי עמודים. אמפאד כפעדטם מתססמסספק תג ;דע תמדטהטס : פּ ;אמפאד קגחס : 0 אמפא1 : אפא 8008 ;אמפא1 ₪00 : 8 ;מפצך פתסט :| פתסט קאמך ך מורה על המצאות רשומה בזיכרון + ;00 : עעטת המקקטם ; הסמ זאד 1 ( %116 א66%ת1 118טס + אזסמם : ([1] מאגא מודעת פגמס ,ת) א0פפה (ת) שספסת ; ('אפא. 00% ,אפא 300%) א45510 ; (אפא 200%) מדדאשמת =: שק המעפטם אאח (ע) עסע עסא ‏ תך אזסטם [ קריאת רשומה לזיכרון + )(0 ,ע) פגתת מסאך =: םטע תמקעטם ; פאם ] לולאה כל זמן שלא הסתיים + 0 00ע המקעטם 08 (ע) אסם עסא ממדטט / הקוב>, או שעדיין ישנה רשומה בזיכרון. ) אזספם ] מלת האינדקס הנוכחית + =: פתסש קאמ 0 5 גח אזסטת 1 =: פתסשט ;א 0.05 >: [1] הממוטא 05גק 1 =: מ0בע 18457 ; פא ות =: תעטסת התקסטם 0פ (0.0082 = ₪080 שומד) כאג (ע) עסם עסא ממדצט [ לולאה כל זמן שלא סוף הקוב% ומופיעה אותה מלה ברשומה ) אדסמם ](0 ,ת) סגמת =: מסת המעעטם אמאדךד 0.90 = פתסש פאחך שך [ אם ברשומה הבאה מופיעה אותה מלה + אזסטם כ( | =: [זסק תמעעטסם 90 8 אצנט אזסשם [ ספירת מספר המופעים + + מ0גק 1081 =: מסגק ךס [ הוספת + טא 6.305 >: [מסגק 157] הפמאטא מסאק ([ מספר העמוד. ] . פא ( פמט 15 + | פאם ] ?60 ססת 116תט + ; פא (פ ,אפא א500) מעדמט [ 605 פסת ₪116 + ;סאם 13 ; (₪) 01098 ; (אסא 800%) עעפסת ; א [שיזדת ₪ [ הדפסת קוב% אינדקס של הספר + 0 (אפא א00ם) עסם עסא מדתט אזסמם ;8 ,אפא 800%) עגפת 0 8 אדתח אזססם ; (עתס₪) מעדתט 0 1 - 0₪גק 1457 1-10 =:1 תסקע ;(',' ,1[:1] הממאטא מסגק) מדדתט (405[:1ק 1457] הממאטא 0₪בע) אומנזתט פאם [ +60 6סם 116תש + ; פאם (אפא 800%) 01058 ( 0116 א806מ1 116טס + ; פאם [ מנה8ם + אזס0מם :(' : תממאטא פתמצקהת0 המדאם') מצלזתע ([ מספר הפרקים + ; (תמפאטא קגמ0) אפהטת ; ( '5תמדק 1 05 פמאבא דע המצאם') אנמדזתט 0 תממאטא תגאס 70 1 =: א ע הסע ( קריאת שמות הקבצים שבהם ָָ ; ([א ' ק] מאגא מדע קמס) א זת ומת ([ נמצא האינדקס של הפרקים. + [ מיון בזוגות של הקבצים )+ 20 2 עד תמפמאטא פגחס ‏ 70 1 =: א ע תסע 2- אק * 2] מאגא :| 5דט | שגאס) 5081 | מסתט ; (2 ,[א םש * 2] פאגא מ ונק קגהס ) אם מספר הקבצים למיו|ן הוא א'-זוג' + אמצ (תממאטא קגאס) עפ עד [ מיון הקובא ‏ + , [תממווטאן קהזוס ] מאהא מזדק קאס) 5081 מסתט [ האחרון לבד.) ;(1 ,[תתמאטא סגאס] מאגא םודק קהאס [ גוף התוכנית + 21 =: קושל 0 תממאטא גבס > שאטסנ מדחט ( מיזוג זוגות קבצים עד שמגיעים לקוב> אחד ) אזסמם ;1 =: א קע 0 תממאטא . 0 >> סקאס + א ע דל אזסםם ,ןא ע] מאגא ממדע קגהס) ודע מסתט ; ([פאטנ + א ת] מאגא מודק פגזס ספטל * 2 + אק =: אק ; פאם סאסד * 2 =: קאטנ [ סשטך 116תש + ; פאם ( בניית האינדקס של הספר + ₪ אמפאז פתנטפ [ ת81ם + . פאם 1% מבנה רשומה מסוג אמפאד א800: ר-------- תממאשא 2808 =] עהסט ה 157 ₪ קובצ אחד 5 קבצים 9 קבצים ממויין ממויינים לא ממויינים לולאה של מיזוג ע"י פםדק מסחסא מיון ע": 501 מסחפון . הסבר מפורט על מיוּ הגירסה המוצ | לבלוקים בגוד 15 פרק 12 עדכון קבצים שאלות "שאלה 2 מפצך ( מחרוזת ) ;תגוס 0 [1..15] צהתתה קמאסגק = 6אזת57 האהס [ רשומת שם מלא + פתססמת > מטאגא מוטע [ שם פרט:* , ,אגא עפתזק ( שם משפחה ָ את תתס : מאגא צעזאות ; פאם [ רשומת תאריך + פתססטת = מדהס [] *ום ְָ 7 > צאפ [ חודש ָ 1% : צתאסא [ שנה ְָ 0 :| הגמצץ ; עאם [ רשומת רחוב + עתססטת = סמת תשמתזפ [ שם הרחוב + ;ד 0 : מאגא [ מספר הבית + זאזאגא..1 : תתמעא ; פאם ([ רשומת עיר | + פתססטת = סשת פפמתספגה [ שם העיר ָ 0 [ מיקוד ָ ;1 חס : 0005 פד2? [ פרטי הרחוב + ספת צטמתדם :‏ עשמתדפ ; פאם [ מצב משפחת: ָ ;(2 1טספגא ,הפטת04 ,אגא ,1ספהא ,אהטגת) = 574105 16 ו / ו / ו / ו / ו / / / / / סעתסססת = אזאטנתטא רשומת נתונים + פרט*י השם ָָ ;אאא עטק : מאגא תעודת זהות ‏ + :+ פד תאריך לידה ‏ + : מעצגכ אחספ מספר ילדים ‏ + 1% : אמתסנמס פרטי הכתובת + ;סת פפמתפפג : 5מ מין ; (₪,זהאמת ,מתגא) : אמם מצב משפחת: ‏ + עס 574105 : 514105 צעצאגע 058 רווק: יש דירה? + ; (א800184 : שפססט) : אגטגת נשוי: ת. נישואין + ;א : מצגכ תגא) : טפגא שם בן/ת הזוג + ;(מאאא מזטת :| מאגא ם גרוש: ת. גירושים ) ;(טצאת : מדגע ממתת) : הפטתה0 אלמן : + :(טצאת : מצגכ אעע) : אגאזה נשוי בשנית: ָ ,זע דפתדע) : 2 בטפהא , צפתזע פאם : מזגת פא5500 (מאגא וטע : מאהא 8 דפהדק 17 תוב3יו ; (1 טס , 5א540110את , 52008 אמא 51008 01:.5) 5 57008 ]4ה0סהע מפצך דאדאהא. .0 = המסמצאז שע05171ע [ רשומת פריט ָָ פפססעת = אתלד [ מספר פריט ָָ , תממואא [ מלאי קיים ו ,51008 אד ( רמת מלאי רצויה + 51008 תשסתל [ כמות בהזמנה ָ ,תמפה0ס א0 [ נקודת הזמנה ְָ תתסתעאך מעזדפסק : צדאד.] המפתסטת ; פאם ; אמ 0 שדק > מתדע א100פ [ רשומת תנועה + פתסססת = אמעד פאגתד ( מספר פריט ‏ + , הממאטא [ כמות ְָ ; תמסמעא1 8ע111פ0ק : צאטסאה [ סוג פעולה ‏ + (508108דע ,צתתט1ומס) : מקצץ פאגהך ; אמ פאהתך ע0 מעדק = שתדע באגחל ; (10098 ,0040 ,תם 1 ]האפ) = א0דד1ג זטת הג ( קובצ מלאי ישן + , 51008 0 [ קובצ מלאי חדש (מעודכן) + 51008 : 0% טא [ קובצ תנועות + ;דע פאגתד : ות ([ רשומת תנועה + ; אמדז פאגתדך : סאהתד [ רשומת פריט ‏ + ; את 1 אמיוז פס ודע פאהתד פאם ;א3מ001 : ₪/נק א5100 פאם [ פרוצדורה להדפסת קוב המלאי + ; (118ע 51008 : 51008 תגע) 51008 לאדתק מתטססמססתע אזסטם ; (81008) דספמת ; א 171 אתטעזת ; ( 'תםסתסמת תמסתך המכפתס אס 8% אד הממטא אמצ 6 0 (8א5100) עסם עסא משעח אסםם ; (אמעד 005 ,א5100) פגמת 0 אמתעד 025 אנט ,2 א 0 ,12:א5100 א1 ,12:תממאטסא) אתמדדתט (17:12א118 תמפתסטת ,51008:12 תמסתהד ספאט ( א8%600 6ת1סם )+ ;פאם 108 הפונקציה 0080488 משווה בין מספר פריט מקוב> המלאי + [ לבין מספר הפריט בתנועה, ומחזירה את היחס ביניהם. , תממאטא אמעד) מת00 אסזצסאטת ;א10ע/וטת : (התסמנאד מט1ע1פסק : הממאטא פאהתד אזסטם אטע תטמאטא 5אגתד > הממאוא אמפצע אך ]אס =: מתהקסס מס זו אפוו תממווא פאגתד < הממותוא אסעד ‏ 8ד 10 =: מתהקאסס מפם ( מספר הפריט מקוב המלא שווה + .לס =: 00 [ למספר פריט בתנועה. ָ [ 6עהקשסס ) ; פא ( הפרוצדורה תסתּם מדפיסה הודעת שגיאה + ; (המ0מעא1 מט1עדפ0ק : הממאטא פאהתד) תסתתם מתססמססתק אזסתת (1;תממאטא אהד ,' אמד1 תסע פתצסטנטת אס1עסהפאהתצ') אמצזתט [ עסעעם )+ ; עאם הפרוצדורה 18₪אפפט מעדכנת רשומת פריט בקובצ הישן (4מ11 פעס0) + [ לפי רשומת תנועה (פאגתך1). ;אע : אמצד 015 תגט) מעהססט מהספמססתק ; (88ע1 פאגתד 5אתד אזספם 0פ פאגתך ,אמצד 015 צתדט פס מקעע פאגתך 0488 ([ הוספה למלאי + אדסמם : עתמטד ומע ; דאטסו + א8100 אד =: א5100 אד ( עדכון הכמות במלאי + צאטסאא - תתסתס אס =: תמתפתס אס [ עדכון הכמות צהזמנה + ; פאם דאס - א5100 אך1 =: א5100 א1 : א410פפדת ( הוצאה מהמלאי, עדכון הכמות שבמלאי + פאם [ 6806קט + ;עאם 1.9 פרוצדורה לעדכון הכמות בהזמנה ָ ך וכתיבת הרשומה המעודכנת לקובףצ החדש. ; (118% : אמדד אמא תהט) אמצד מצדת מתטספססתע אזסטפ 0 אמעד אמא צתדט אמנו | דדאד,] תמעתסמת > המעתס א0 + א5100 אד עך אזסטת ,1 אד - תחפת0 א0 - 51008 עשסתהד, ' המסתס') אומדדת ; (תממאטא ,' אתעד קס ' 008 אד - א5100 תמסתגד =: המסהס אס ; פאם (אפדד אמא ,91008 שפא) מצנתט ( 160₪ 6סבעש )+ ;פאם ([ תדהש ) אנסמם ; ( 'פ01. 51008' ,51008 015) א5510ג ; ( 'טמא. 5100%' ,5100% אשא) א16ספסה ; ( '41כ. פאהודד' , 540110%88אגת1) א45510 [ הדפסה של קובץ המלא* לפני העדכון + ; (51008 012) א5200 עאזחהק ; (51008 002) עמפמת ; (54071085א7114) זשפטת ; (51008 אשא) מצדתשטת ; (58011085א4תד) עסם =: מתדקע פאגתד פאס ; (51008 00) עסם =: מתדק 51008 פאם אמזוד (וזעת פאהתד פא 08 מתדת 51008 פאא) עסא אך אזסטם ; (אחד 01 ,51008 005) פגמת ; (5א4ת1 , 5א540110אתע) פומת ץדמקמת שס (תהממאוא. פאהתד , תממותזא. אמידד 00) מת4קא00 0255 ] השוואה של שדה מספר פריט ברשומת פריט וברשומת תנועה + ( מספר פריט קטן ממספר התנועה.+ אזסמם : ה ]ואפ ( כתיבת רשומת פריט + ; (אתדד 00) אמצד מדזתו [ לקובף החדש. ָ אמזו (5100%8 015) ע0ם עסא ‏ עד / קריאת רשומת + | (אמץד 002 ,51008 005) פגטת [ פריט הבאה. + [ סוף קובצ פריטים + [ 602 + %68ם מטתד =: מתנע 5200% פאט ; פא ] מספר תנועה שווה למספר פריט + אזסספ : 004ע ] עדכון רשומת פריט ) ; (פאאחד' , אפדד פעס) מדהסקט אמצ (5א540110א4ת7) עסם עסא -ע1 ] קריאה של + (פאהת1' , 54011085א4תד) פהמת ([' התנועה הבאה.+ [ סוף קובץ התנועות + ( 602 + משפתם מספך =: מתדע פאגתד פאם ; פא 100 [ מספר פריט גדול ממספר התנועה )+ אנססת : 1000 [ הדפסת שגיאה + ; (תממאטא. פאגתד) הסתתם אפ (5א540110א4ת7) עסם עסא עד [ קריאה של + (5א34ד , 5א540110אתד') פגסת [ התנועה הבאה. + [ סוף קובצ תנועות + [ 602 + מפסם מטתץ =: מעדע פאגתד פאם פאם ([ לולאה ) פאם [ עד סוף אחד הקבצים.) | (118ק א5100 פאם 08 ממנע פאגתד פאם מנצאט [ אם זהו סוף קוב התנועות ָָ אמעך שתדע פאהתד פאם ‏ עך (; יש לכתוב לקובץ החדש את רשומת + (8מד1 002) אמדד מצדתחט [ הפריט שנקראה קודם. ָָ ([ סוף קוב מלאי + ([ 116+ 8600% 0% 6ם6 ) מ5ום [ הדפסת שגיאה, כי עדיין יש תנועות + ; ( הממאטא. פאהת') הסתתת ( 19% + ;פאם 0 (א5100 005) עסם עסא מדתט [ קובצ הפריטים עדיין לא הגיע לסופו. + אזספם [ העברת הרשומות הנותרות מהקוב + ; (אמז 00 ,51008 002) כגמת [][ הישן לקובצ החדש. + (אמצד 010) אמצד מדנתט ;פאם 0 (5א540110א4תד1) עסם עסא מודחט [ קוב התנועות עדיין לא הסתיים, קובצ המלאי כבר הסתיים + אזסטם ; (5א4ת1' , 5א540110אהחד) פגתת [ הדפסת שגיאה + ( הממטא. פאהת1) הסתתם ; פאם [ הדפסת קוב המלאי המעודכן + . ; (51008 שמא) 51008 צאזתק 01055 )000 51008( ; ; (51008 אמא) 01058 (540110₪5א134) 01088 . פא 11 ; (01קד00 ,15א420000 ,ע אמפא1 ,צטספאד) אאגם אגתססתע דא 00 ( מספר כניסות מכסימלי בטבלת האינדקס + 1 = ץא0000 אגא /- = 05כת00מת = 3008085 פמדם ומת [ סימון של רשומה לא פעילה בקובצ + ; '.2222222222' = ממיש. וטק = 06 אהו מפצץ ;0 עס 1 צהחתה פמאסגהק = ב6אזת57 החס [ רשומת חשבון + פתסססת = כפתססשת | 400001 [( שם ָ ;0 תח : מאגא [ מספר חשבון + , תממאזא [ אשרא: ְָ תס [( יתרה ָ תומת : מסאגזהם ; פא [ רשומת אי נדקס ָָ פתססעת = פתססמת אמפאד [ מפתח - מספר חשבון + ;את : הממאטא [] מיקום בקוב ָ המא : תממאטא פתהססטת ; עאם ;פתססטת אמפא1 אס [1א40000 אהא..2-] צגתתה = מתםגד אמפאד ;תת 400008 08 מתדק = ₪ 400 ;כת0ספת אמפאך 09 תדע = תדע אמפאד 8 [ קובצ החשבונות + ;דע 400 : 75א40000 ([ קובצ האינדקס בו נשמרת טבלת האינדקס + ודע אמפא1 : אע אמסאך [ טבלת האינדקס ‏ + ;ד אמפאך : אמפאך ;0 2א40000 : 7א40000 ;תס : פאגאאסס : הממאטא 400 12 הפונקציה הממאטא פאזע מבצעת חיפוש בינרי בטבלת האינדקס, כדי למצוא | + מספר חשבון (המתמאטא) נתון. החיפוש נעשה בתחום הרשומות הפעילות בלבד. אם נמצא מספר החשבון - הפונקציה תחזיר 1808₪, אחרת - היא תחזיר 58₪/גק. כאשר מספר החשבון נמצא בטבלת האינדקס, המשתנה 815 מצביע על מיקומו, אחרת (מספר חשבון לא נמצא) - המשתנה 15א מצביע על המקום בו הסתיים החיפוש. בערך פא נשתמש כדי למצוא את המיקום בטבלת האינדקס, אשר בה [ נכתוב מספר חשבון חדש. ;ומת : הממאטא) המפאטא פאזע אסזצסאטקע ;א 00 : (התסמזא1 : פנא הגע הג ; תמסמעא1 : 157 ,(עפתדק אזסטם ( המיקום של הרשומה הפעילה הראשונה בטבלת האינדקס. + % =: צפתזק [ המיקום של הרשומה + |; תממאטא פתססטת. [פפת0סטת3] אמפא1 =: 18587 ( הפעילה האחרונה בטבלת האינדקס. + [ חיפוש בינרי + ץמקטת 1 (1451 + עפתדק) =: פזא אמא תתמאטא < המםאטא. [פזא] אמפאנ שך 1 - פא =: 1467 מס אמא הממאטא > הממאטא. [פנא] אמפאז קך 1 + עדא =: עפתדק ; (1פת1ע > 1457) 0 (הממאטא = הממאטא. [פזא] אמפא1) מנעאטס הפמאטא = הממאטא. [פדא] אמפאז =: המפאטא פאדק [ עסממטת 6םת1? )+ ; פאם הפונקציה פתססמת אמפאז 1481 מחזירה את המיקום בטבלת האינדקס של )+ הרשומה הפעילה האחרונה. שים לב, שמספר זה קטן ב-1 ממספר הרשומות [ הפעילות, כי הרשומה הפעילה הראשונה נמצאת במקום 0 בטבלה. ;פסםעא1 : פתססטת אמפאד 1451 אסצעסאטע אזסטם המםאטא פתססטת [5פהססעת] אמפאד =: פתססמת אמפאד סג ( 200026 א66מ1 1886 )+ ;עאם הפונקציה 55408 ממחק פא1ץ מוצאת מקום פנוי בקובף הפיסי כדי לכתוב ָ בו את הרשומה החדשה, ומחזירה אותו במשתנה ממתע. הפונקציה תחזיר ערך ₪ אם גודל טבלת האינדקס מאפשר הוספת רשומה, או 4198 - אם טבלת האינדקס מלאה. סדר העדיפות במציאת המיקום לרשומה החדשה הוא: א. מיקום של רשומה המסומנת לא-פעילה (במקרה זה הפונקציה מעדכנת את מספר הרשומות הלא-פעילות), ב. אם אין רשומות לא-פעילות בקובף, מיקום הרשומה החדשה יהיה בסוף [ הקובא. 13 ה 7 ו ] 1 / ן ן ] ;]א 00 : (תמס0מ1אך : ממתץ תהט) 508 מחתע פאצע אסזעסאטת אזסטם + 2א40000. אגא =: ממתק אמח 0 < תממאטא פתססמת. [5פתססמת כמעשמכ] אמפאת ‏ עך1 יש רשומות לא-פעילות בקובצ. + אזספם מיקום) ;תממאטא כתססמת.[1 + פתססמת אמסאד 1457] אמפאד =: מטאק של רשומה לא-פעילה בקובצ. + 0 [פפת0ס0מת פמתםמכ] אמפאד זתדח 1 - תמםאטא פתססטת =: הטשמאטא פתססטת פא אין רשומות לא-פעילות בקוב. + ₪ 0 [085ס0מת] אמפאת דדח יש מקום בטבלה. + אטע 1א40000 אגא > תממאטא פתססטפת א1 מיקום הרשומה בסוף הקובף. )‏ 1 + הממאטסא פתססםת =: מסתק אין מקום בטבלת הא*נדקס. ‏ + מפזת ; (' (2א40000 אגא) ₪ 0 עש0ס - !תסתתת') א מצזתט צא40000 אגא => מסתת =: מ40ת5 ממתת פאצקע [ 80806 2206 6ם1? + ;פאם הפרוצדורה אמסאד 70 זַתמפא1 מכניסה רשומה חדשה לטבלת הא: נדקט ָ לפי סדר מפתח המיון, שהוא מספר החשבון. א00710/ מעדע - מיקום הרשומה בקובף. התמועזא 400 - מספר חשבון (מפתח). 100 - הערך שמוחזר ע"* הפונקציה הממאטא פאצע במשתנה סזא, כאשר המספר לא נמצא בטבלה. מיקום הרשומה החדשה *כול להיות במקום פ1א, או במקום שאחריו. לאחר הוספת הרשומה בטבלת האינדקס, מתבצע עדכון של מספר הרשומה הפעילה האחרונה בטבלה זו. א1/004710 מדת) אמפאז 20 צתמפאך מהטסטססתק ; תמסטעאעת : אסז 1/0 ; (םאמת : התפאטא 400 תמגע ;,תמסטעאד : 1 אזסםם אמחאד הטמאטא 400 > מתמאשא. [א1.00410] אטפאת ‏ אך מציאת המיקום המדוייק + + א1004110 =: א1004110 להכנסת הרשומה. ָ 0 א1.0041710 0עאאספ פתססמת אמפאך 1457 =: ם תסקע פינוי מקום + ] אמפא1 >: [1 + ם] אטפאד מפתח ‏ + ; תטמאטא 400 =: תממאשא. [א1.004110] אמפאד מיקום + ; א0047110 עדת =: תתפאטא פתססטת. [א106210] אמפא+ הרשומה בקובא. + עדכון מספר הרשומה + =: תממעזא פתססמת. [5פה0סמ3] אמפאך הפעילה האחרונה. )‏ 1 + התמאטא סתססמת.[פסהססמת] אמפאד [ א606ת1 50 6ע86ם1 + ;פאם 108 הפונקציה כמץש,זטע פתססמת מחזירה 7308 אם הרשומה 1א40000 אינה-פעילה, + [ אחרת - ה*א תחזיר 4188ע. ; א001 : (פתססמ3 1א20000 : 1א20000) סמדם וטס פתססמת אסזעסאטץ אזסטם סמייט וטק = ₪אא. 7א40000 =: כמדש מס פהססמת [ 6616666 026ס6ע + ;סאם הפרוצדורה אמפא1 085478 בונה טבלת אינדקס לקובף החשבונות. ָ שדה המפתח הוא שדה מספר החשבו[. הערה: לשדה המפתח ברשומה במיקום 0 ניתן ערך גדול ביותר, כדי שהוספת הרשומה הראשונה תהיה במקום המתאים. מבנה טבלת האינדקס: בראש הטבלה נמצאות הרשומות הפעילות, אשר ממויינות על פ* שדה המפתח (מספר חשבון). הכנסת הרשומה למקומה בטבלה [ נעשה ע"* ש*בוא. אחר* הרשומות הפעילות תה*יינה הרשומות שאינן פעילות. ; אמפאד מלהמתס מהספמססתע הג ; פת0סמת 1א40000 : 1א40000 א004710. זע ; תמסטעא1 : אז 10 אזסמם [ אין רשומות ‏ + ;0 =: המוטא פהססמת. [005ה כמעט וטפ] אמפאד ( לא-פעילות. + [ אין רשומות פעילות + ;1 =: תממאטא פתססמת. [5פתססטת] אמפאד ;0 א =: תממאשא [0] אטפאד ; (40000%19) צמפמת =: א1004710 מתנע 0 (15א40000) פסם עסא מדותו אס ; (1א40000 ,15א20000) פגמת 1 אם הרשומה לא-פעילה + אמ (2א40000) כמעט וטע פתססמת ‏ עך אזססם ] עדכון מספר הרשומות + | 20 [00825שת פמתש תת] אמפאד ןתעד ] שאינן-פעילות. + ;1 + תעמתזא פהססטת =: תממאטא פתססמת א0 00 םזדת =: תתמאטא פתססמת. [א0דה1.00 מזדע] אמפאך ] הוספה לאיזור הרשומות הלא-פעילות בטבלת הא*נדקס + פא ( אחרת - רשומה פעילה.+ מפז ( אם המפתח מופיע בטבלת האינדקס זוהי שגיאה + אפ (א0ד064/ , התממותזא. דא40000) תמפאטא פאדע עך ('תממזא עא40000 16418סטע - [תסתתסת') אתמנזתח [ אחרת - המפתח לא מופיע + סז [ פינוי מקום בטבלת האינדקס + אזסמם 1% + פתססמת אמפאד 1451] אמפאד =: [א1004110 מעצע] אטפאד [ הוספת כניסה בטבלה לרשומה החדשה + אמפא1 20 עתמפאך ( הממ זא. 20600%'1 , א1004110 ,א120084110 מדק) [ 6186 + ; פא [ מיקום הרשומה + 1 + א000110 ממדק =: א1004210 מעדק [ הבאה בקובא. + ( 116תט ) פא [ 1116 א66%ת1 6206806 + ;סאםע 155 הפרוצדורה פאמקק8 בודקת אם רשומת החשבון (7א40000) נמצאת בקובא. + אם הרשומה לא נמצאת בקוב%, היא מוסיפה אותה לקובף ומעדכנת ( את טבלת הא נדקס. ; ((פהססמת 7א40000 : 40000%1 48ל) סאמסקה מתטספמססתע 4 החל , א0ז1:004 טזדת ; תמ0טעאך : 100 [ אם המפתח נמצא בטבלת הא*נדקס, המשמעות היא ָ אזססם [( שסקיימת רשומת חשבון בקוב, ולכן זו שגיאה. ‏ + אפזו'י (א10641710 , תאמאטא. 40000%1) הממאטא פאצע ב ( ' תממותזא יאט 4000 מד6ד,ןסטת - ותסתתם') אמצדתט ך אחרת (לא נמצא מפתח) - לא קיימת רשומה כזו.+ מפט / אם יש מקום פנו* + אמאך (א10י1.0081 5.זדע) 40₪ם ממחע פאצע ענ אזסטם ] מיקום הרשומה בקובא + ; (א1/004110 טזזע , 40000%18) אממפ 1 כתיבת הרשומה לקוב% הפיסי + ; (4000082 , 15א20000) מדדתון ( מממונזא. 400007 , א10י'1.004 , 1004108 טזדע) אמפאד 70 עתטפאך 1 עדכון של טבלת האינדקס + פא ([ 6תססקה8 + ;עאם הפרוצדורה מןשוסת מסמנת רשומת השבון כרשומה לא-פעילה, על פי מספר ָ החשבו ן (תעמאטא 400) שהיא מקבלת. הפרוצדורה מעבירה את רשומת האי נדקס של הרשומה שנמחקה מהא*זור הפעיל לאיזור הלא-פעיל בטבלת ( האינדקס. בתוך כך, היא מעדכנת את מספר הרשומות הפעילות והלא-פעילות. ; (,תגמת : הממאטא 200) מיזם/זטת מתהספמססהע הג [ מיקום הכניסה של הרשומה בטבלת הא*נדקס + , א1.0641'10 ; תמ0מעאך : ו תת0סמת אמפאד : אמסאד <אמך ;00 1א40000 : 1א40000 אזססם [ אם נמצאה + אפוז (א1064710 , תממאטא 400) הממאטא פאצע ‏ עך [ הרשומה המבוקשת.+ אזססם [מיקום בקובא+ ; (תממאנזאן פתסספה. [א0ד'1/001] אמפאז, 15א40000) אממס ] סימון הרשומה כלא-פעילה. + ; פמז טק =: מאגא. 7א20000 ; (2א40000 , %159א206000) מדזתט [ הכניסה בטבלת הא נדקס ָ ; [א10041:10] אמפא1 =: אמפאד קאמך 1 של הרשומה הלא-פעילה. ‏ + [ 0 1 - עתססמת אטפאד 1451 0 א004710 =: םת תסק ;1 + ] אמפאז =: [:] אמפאד ; אמפאד קשמד =: [סתססמת אמפאד 1851] אמפאד ( עדכון המצביע לרשומות הפעילות. + 20 [5כת00עת] אמפאד עדא 1 - הממאטא פהססטת =: תממאטא פתססטת ] עדכון מספר הרשומות + 0 [₪00825ת פמשזטפ] אמפאז דע [ שאינן פע:לות. )1 + תמא עתססמת =: תעמאטא פתססמת [15 + פאס ) אחרת - הרשומה לא נמצאה + ₪ ] שגיאה + ( 'פאטסע סא תממאטא 1א40000 - [תסתתם') אומדדתט [ 8461668 + ;פאם 106 הפרוצדורה ₪עגפקט מאפשרת עדכון פרטים של רשומת חשבון שמספרה + המוטא 8400. הגישה לקובף מתבצעת לפי טבלת האינדקס. אם לא נמצאה רשומה בעלת מספר חשבון כזה מוצגת הודעת שגיאה. הערה: עדכון מספר חשבון החייב להתבצע ע"י* מחיקת רשומת חשבון והוספה ( של רשומה עם המספר החדש. ; ((41מת : הממאטא 400) מע סקט מהססמססתת :1 [ מיקום הכניסה של הרשומה בטבלת האינדקס. + ; הסנא : א1004710 ;0 1א40000 : -א40000 אזססם אפזו (א1.004110 , הממוא 2006) הממאטא פאצע עך [ אם הרשומה נמצאה + אזספם ; (הממאטא פתססטת. [א1.008110] אמפא1 ,15א40000) אמספ [ קריאת הרשומה + ; (2א40000 , 15א40000) פגמת ;(':מת8 15בעטכ 15א0000ג') אתמדזתט ; (11:'מסא814ס' ,8: 'דדתטתסי :' 1א20000' ,10:' מאגא')אמדזתט [ קריאה של נתונים חדשים + 0 תאטסססא זתדט ; (08:10:2א314 ,11:10:2כמת0 ,8:0:תמפאטא ,15:מאבא) א מצדחט ;(':14116מס שמא תמצאמ') אזמדדחט ;(11:'תסאה1הם' ,13:'דדתמתס' ,10:' מאהא') אותדדתחט 0 א0000 אצעט ; (פסאג.זאם , 11כמת0 ,מאבא) א זפגמת ; (תממאטא פתהססמה. [א1004210] אמפאד ,75א0000) אחספ [ כתיבת הפרטים החדשים בקובצ + (2א40000 ,15א40000) מצזתח פאם [ הרשומה לא נמצאה + )| ('פאטסע 1סא הממאטא 1א6000 - [הסתתת') אומדדתט [ 6866קט + ; פאם הפרוצדורה 1₪זע מס6אהתתומת מארגנת מחדש לפי סדר המיון את רשומות | + החשבון הפעילות בלבד, ובונה טבלת אינדקס חדשה. הערה: הפרוצדורה מפם אינה שייכת לפטסקל הסטנדרטי ומיושמת במהדרים [ שונים בשמות שונים. מסאהתתהמת מהטפמססתק הג תאז : ד ד 400 : קאפך ; 0סמת 2א0000 : [אטסססה אזססם ; ( 'תזנע 19א40000 סאהתתה ') אזמדדתט ; ('400. שאמ , קאפיך) א49910 ; (שאמד) מיודתטסת ( מעבר על כל הרשומות + 0 פתססםת אמפא1 1457 170 0 =: 1 אסק [ לפי סדר המיון בטבלת האינדקס. + 0 [1] אמפאד נצדט אזסטם [ מיקום הרשומה + ; (התמאטא פתססמת ,15א40000) אחספ ( קריאת הרשומה מקובצ המקור + ; (2א40000 , 15א20000) פגמת [ כתיבת הרשומה לקוב זמני + (20000%1 , שאחדך) מצזתט 107 ; פא ; (40000%19) שדדתחטת [ איתחול הקוב המקורי + [ קובצ קאפד ממויין לפי מפתח ומכיל + ; (קאמץך) דמפסת ( רשומות פעילות בלבד. ָ 0 (שאמד) תסם עסא םדו [ העתקת קוב + אזספם ] קריאת רשומה מקובף שאאך | + ; (40000%2 , קאפך) פגמת 1 וכתיבתה בקובא 19א40000. + (40000%1 , 15א40000) מדזתו ; פאם ( מחיקת הקובף הזמנ'י. ָָ ; (סאמיך) מפ5אתם ( יצירת טבלת אינדקס חדשה + אמפאד מדגמהס ( 2116 866ת28ע68ע + ;סאם אמסאד 8408 מתשסמססתק האל ; המססעאז : 2 אזסטם ; ( 'םזדק אז מממד אמפא1 מטג') אמצזתט ; (ש אמפאך1) מזתשסת + תמוא פתססמת. [פסתססטה] אפתאז ‏ 70 2- =: 2 תסע 20 תממוטא פתססהה. [5פהססמת פמט זטס] אמפאך ([1] אמפאד ,א אמפאד) מצד ( א66ם1 8806 ) ;סאם ] שמירת טבלת האינדקס בקובא + [ טעינת טבלת האינדקס מקוב + ; אמסאד 1082 מהססמססתע ו הג ;תתסמנאז : 2 אזססם ; ( '₪,זדת אסתת מפהל אמפאד 032') אמדזתו ' ; (ק אמפאד) שפחת 1 =: ם 0 (5 אספא1) שסם עסא מדחט אזסטם ; ([] אמפאד ,ע אמפא1) פגמת 1+ם >: םת עאם [ א66ת1 1086 + ;עאם הפרוצדורה 1א40000 פגמת קוראת נתוני + [ חשבון אל הרשומה 1א840000. ; (ע3₪009 400001 : 40000%1 45ע) 2א40000 פגמת מתטפמססתתק אזסטם ; ( 'שסאא.41 זכטת הממווטא טאגא 'י) אומזזתא 0 *א0ש4000 זד1א (םסאה.זא , ד'דסטתס , הממאטא מאאא) אזכאמת ([ 6מט8000 2686 + ;פאם 108 ] הדפסה של הרשומות הפעילות בקוב>, לפי סדר + ;15א40000 צאדתתק מהספמססתק [] המיון, שקיים בטבלת האינדקס. ָָ תג ; תמסמזאן : 1 אזסעם ;('.151 15א40000 עאזת') אתטצנזתט ; א1₪1זתא ;(11:'מסא41ם' ,1':8דעסת0' ,15:' עא0000ה' ,10:' מאבא') אהמתדנזתט 1 ) ' ששכששששכששבשבבכבששששששבבבשבבששבבבשבבבבבבשטבםשם ו ( אטדזת [ לולאה על הכניסות + 0 פתססטת אמפאז 1481 70 0 =: 1 תסע [ הפע:לות. ָָ 0 [1] אמפאד צתדט אזסטם [ מיקום בקובצ + ; (תממאטא כתססמת , 15א120000) אממס ; (2א40000 , 15א420000) פגמת 0 *א40000 אצדט (0:10:2א41.4 ,1:10:2דקמת0 ,8:0:תהממאטא ,15) א זט פאם ( 58ת80000 טמצעס + ;פאם הדפסת הרשומות לפי הסדר שהן נמצאות בקובצ + [ - רשומות פעילות ולא-פעילות (אם ישנן). דע מהטספססתק אזספם ; ('1151 1₪') אתמדזתט ](11:'מסאוהם' ,8:'דדסמתס' ,15:' צאטססס' ,10:' מאגהא') אהמדנתט 1 ) ' שששככשכבששששכשששששבששבבבבבטפטבבשבבבבשבששבבםם ו ( אטזתעט ; (19א40000) [מפסת 0 (15א40000) שסם עסא ממדתט אזסטת ; (7א40000 , 15א40000) פגמת 0 4000081 אדדש (08:10:2א84184 ,17:10:2סמת0 ,8:0:תממאטא ,15:מאגא) אזמדדתט פאס [ 118% 7116 + ;פאם [ הדפסה של טבלת האינדקס + ;7 אמסא מתטספפססתק :]| ; תמסמנאד : ם אססם ; ('1191 אמפא') אמעצתט ; ( 'תממאטא פתססטת 17א40000 אתפאז') אומדזתט + המוטא פתססמת. [פפתססטת] אמפא 1‏ 70 2- =: 2 מסקע 20 םמא פתססטת. [פפתססמת סמדא זטפ] אטפאך 0 [ע] אפפאד אצנט (10:הממאטא פתססמת ,(0: תמפאטא ,5:ע) אומדדתט [ 11856 א60ם1 )+ ;;עאם [ ת81ם )+ אזכ0סם ; ( '1פ. 4000015 ,15א40000) א5510 ; ('אפא. 15א40000' ,ע אמפא1) א25510 ; (15א40000) נמפסת 19 דמקמת [ הרשימה הבאה כוללת את הפעולות שהמשתמש מורשה לבצע. + ; א111ו 1 עליו להקיש את האות המציינת את הפעולה. ָ ; ('0010 / 006866 / 6תסקקה / 6 / סמצסק') אמדדתן ; ('116? סשתפעעהסת / %6 16צק ') אמדצזתח ; ( 'א606ת1 2086 / א66ם1 5806 / א60מ1 026866 / % אס6שםד ') אומדדתט ; אזטדדתע ' ?פאס 0ס') מדדתט ; ( פא00%%4) עגפת קס פאג4אא0ס 0458 ] הוספה של רשומת חשבון חדשה + אזססם : 'ג' ; ( "400001 אמא פאמקק') אהמדדתט ; (2א40000) 7א40000 סגמת (2א40000) פאמסטה ; פא [ בנייה של טבלת האינדקס + אזנסמפם : '0' ; ( '1₪ד אמפאך מצגמת') אומדזתט אמפאז מץמתס ; פא ( מחיקה של רשומת חשבון + אזסטם : 'כ' ;(' :תעמעא 000% תמעאםת - מלמעם') מעדת ; (תממאטא 400) אתפחמת ; א זטידדת (הממאטא 400) מדט זמ ; פאם 1 הדפסת רשומות לפי הסדר שלהן בקוב. + מתצק : קע' ([ הדפסת טבלת א*'נדקס. ָ ;7 אמפאד : 'ך' ( טעינת טבלת אינדקס מקוב. ָ ;,אמפאד 2042 : 'ע' ) הדפסת רשומות לפי סדר המיון. + 4000015 עאזתק : יק' ([ יציאה מהתוכנית - סיום. ָ ; ('צדט') אמצנתח : '6' [ ארגון מחדש של הקוב וטבלת האינדקס.+ ; ודע מסאהתתהמת : 'ת' [ שמירת טבלת האי*נדקס בקוב. ָ ;אפפאד 53408 : 'פ' ( עדכון פרטי רשומת חשבון. ָ אזססם : 'ס' ;(' :תמסאטא %א46000 תמדאם - מעגתק') מדדתח ; (תפפאטא 400) אזפאמת ; א,זטינ1תש (מתפאטא 400) מיזה פס סאם [ 6896 + | פאם ; '0' = פאגאאסס מצעאם ; (%19א40000) 01/0588 (= אמפא1) 01058 . פא 200 תיאור סכימטי של הרצת התוכנית תיאור קובצ החשבונות: (שדה מפתח) מסאא,זהם צנסמתס הממאטא טבלת האינדקס, אשר מציינת את הרשומות בקובא: מספר רשומה מספר הרשומות הלא-פעילות מיקום הרשומה הפעילה האחרו נה בטבלת הא*נדקס (*) כניסות של רשומות פעילות כניסות של רשומות שאינן פעילות (*) מספר זה קטן ב-1 מממספר הרשומות הפעילות. | שן - אשאה ב | פד | | שממ | | ו [ א | 96 | מא שדה מפתח אינדקס האיבר בטבלה (המערך) 201 7% /) הן)/., --₪-7------. ו 202 דוגמה לביצוע הפרוצדורה ₪8₪וטכ: תיאור סכימטי של קוב הנתונים וטבלת האינדקס לאחר ביצוע מש טכ. תיאור קובצ החשבונות: (שדה מפתח) מספר מסאא, הת עצצספתס הממעא טואא רשומה א בר | 0 | סל | ונג | מנשממעי | 2 196.5 | ְּ 4 5 203 מצב טבלת האינדקס, לאחר ביטול מספר חשבון 54590: 28 אי נדקס מספר שדה האיבר רשומה | מפתח בטבלה (המערך) מספר הרשומות הלא-פעילות מיקום הרשומה הפעילה האחרו נה בטבלת האי נדקס כניסות של רשומות פעילות כניסות של רשומות שאינן פעילות דוגמה לביצוע הפרוצדורה פאמפק1. נתוני הרשומה החדשה: (שדה מפתח) מסאג א צזסטתס תממוטא טאאא 109 1000 227 הס בכ( יסה :1 בטבל 1.000% נשאר "1. חזזה של. הכנ יסות שלי הרשו .גורם :למחיקו מתעדכ ן המספר של חרשומה. הפע תיאור קוב החשבונות לאחר הוספת רשומה חדשה: (שדה מפתח) מספר א עזתפתס הממאטא טאאא רשומה פה | מו | האג | הא | ג : ד | א | ונמנ | + 205 טבלת האינדקס, לאחר העדכון: 206 אינדקס מספר שדה האיבר רשומה | מפתח בטבלה (המערך) מספר הרשומות הלא-פעילות מיקום הרשומה הפעילה האחרו נה בטבלת האי נדקס כניסות של רשומות פעילות כניסות של רשומות שאינן פעילות פרק 13 קבצי תמליל תוכניות ; (מ1דע לאמ , תטפא1) לאמ פגמת אגתססתק אס [ אורך שורה מכסימלי + 1 = הצאמ מאד1 שקצץך ;תס 0 [018א1₪ מאדם. .1] צהתתה פמאסגק = מאד1 לאט הג [ קובצ התמליל + ;צאמע : מעדק צאמך ( שורה + נא אמ : מאך1 0ב ; תתא : מאדת פאם אזסטם ; ('דגת. 1אמד' ,מתדק עאמ) א45510 ; (11₪ע ואמ) מצנתטטת [ קריאה של השורה הראשונה + ; (8א1.1) א זפאמת [ רווח של התחלת פיסקה ָ ](' ' ,עדת עאמך) מקזתח [ הלולאה מתבצעת עד סימן סוף הקלט + 0פ '.' <> [1] מא1ת מעזצט [ - נקודה בתחילת שורה. + אזסמם ; א מאד =: מאד1 פא ( סריקה למציאת תו אחרון בשורה,+ 20 ' ' = [טאד1 פאת] טאצ שדח [ שאינו רווח. + - מא11 פאם =: מאך פאם ([ לולאה עד סוף השורה + 0 טאעע פא 70 1 =: 1 סע אזסטם ( כתיבת תו + ; ([ד] מאד1 ,מדק עאמך) מצנתו אח '.' = [1] מאנע קך [ אם התו הוא נקודה + אזסטם ;(' ' ,תמדק צאמץ) מקדת 00 ('' > [1 + דז] מאדם) פאג (מאדע פאם > 1) 5זוהו 207 / צמצום רווחים אחר* הנקודה + 11 1:5 פאס ( פס? + ; פא ; (.זדע דאמץ) אזטינתטא אמח ('.' = [מאזת פאט] מאז) פאה (11סא 1 פאז > מאז) פאם) עד ( אם אורך שורה (מיקום הנקודה) קטן )‏ ;(' ' ,ממדק צאמך) מצזתא / מאורך שורה מכסימלי - זוהי פיסקה חדשה. + [ קריאת השורה הבאה + (מא111) אזפאמת ( 16נתא + ; פא (מזדק שאמץ) 01055 . פא ; (2ש002 , עשפאד ,מודק צאמד) צאמד פאדע אגתססהק 007 [ אורך שורה מכסימלי + 5 = זדסאם.] פתסט אגא מקצך ; חס 0 [זוסאמ1 פתס אגא. .1] צגתתה פמאסגק = מקצץ כתסט ( רשומת תור ָ סתססעת = מטסטס ] מצביע לראש התור + , צפתזע ] מצביע לזנב התור + 7 ?+ 17 ([ מערך תווים ָ הגס עס [6..20] צגתתה : תמדסתותס ; פאם מגץ [ קובצ תמליל + ואסץ : מתדק לאמ ;08 : הס , ₪002 מקצד' פתס₪ : פתסא קאמ ;8 :1 0 10 [ מונה את מספר הפעמים שהמלה מופיעה בתמליל + , 00078 פאטסע , וסאמ סתסט , א1.00110 פחהסט ; תת0מזאך : המזאט60 תס / איפוס התור + ; (00₪08 : 6 תגט) תתטא מאהא מגפטססתת אזסטפם 0 6 זתנטח אזסטם 6 =: עפתנזע 0 = 1.57 פאם [ 11טם 6את )+ ; פאם 2008 [ הוספה של התו 01 לראש + [ התור 6. + [ הוספה לראש התור + ( קידום המצביע לראש התור + ( הכנסת התו 61 לראש התור 6 )+ ( והשמטה של תו מזנב התור. ‏ + ) שמירה של התו 04 בתור 6, כאשר + ְָ ]תס : 08 ; (ת1009א1 : תמצאט00 הגאס תגט [ המץאט00 0848 מונה את מספר ( התווים בתור. + אם אין עדיין 20 תווים בתור + הוסף את התו 04 לתור 6. . / ) אחרת - ישנם כבר 20 תווים בתור. + ) הוסף את התו 081 בראש התור 6 והשמט + ] תו מזנב התור. + ] הדפסת תווים בתור 6 לפי סדר + : 6 תג?) טטשטס 710 עפה מהעטסטססגהץק ; (45ת0ס : 08 אסשת 0 6 אעעתט אזססם 1 =: [עפתדע] המדסהתהחס 1 סא (1 + צלפתדת) =: עפתדק פאם [ 6טסט6 0סס 8866 + ; פא : 6 הג7) 8 7ע531 מתטפמטססתק ; (ת4אס : 08 אזסטם 90 6 אטח אזסטם =: [1פתדת] התצסהתהתס פ0א (1 + עפתדת) =: צפתדק 1 00א (1 + 1451) =: 157 פאם ( סטסטף 196ם8 + ; פאם 1 : 6 תתגט) 0 אד 5405 מהטפמססתק אזסמם 1 + הדאש00 תהחס =ן הדא 00 הגס אפאץ 20 => 000 הגטס עך (08 ,0) מעמטם 10 פפה מס (08 ,0) מטמטם צקזוום ( 4 ת1 8806 + ; פאם ; (00808 : 6 תהט) מטמטם באדתק מתטספמססתק ] כניסתם. כלומר, מזנב התור כלפי ראשו + תג ;אד : 1 1 *=: ך 0 עפתת <> 1 מתדחטח אזסמם ([1] מפדסהתהאס) מדדתט 1 סא (1 + 1) =: ך סאם ( ם16ש + פאם ( 6טסט 6ת1עס + ; פאם 209 [ הפונקציה מחזירה 1808 אם + , ת₪08 048) 0 א0דסאטע [ שתי המחרוזות שוות. ) ;מקעד' פתס : סתסש קאמ ; אמ 8001 : ( תמסמנאך : סא הג ; 088עאז : 1 אזסטם 1 =: 1 (השוואת) 0 ([1] פתסט <אמך = [1] 5ת₪0) פאג (078אח1 => 1) מדתא [ תוים. ‏ + 1+ ד =: 1 ( השוואת ) (מסאם.ן פתסא = נוסאם) סאה (0א10 < 1) =: מגטסם 1 אורכי המחרוזות. + ( ₪081 + ; פא [ הפונקציה מחזירה מטתד + ,א80015 : (08148 : 0₪ס) אטא גזק זה אסזיזסאטע [ אם התו ₪ הוא אלפאנומר* (אות לועזית או ספרה) + אזסטם 8 ('2' => 08) פאג ('1' =< 08) =: אא 14 ('2' => 01) פאג ('פ' =< 08) 8 ('9' => 01) פאג ('ס' =< 01) ] מטם 8תק81 + ; פא [ תנא8ם )+ אדַבַעם ] איפוס התור + ; (0) ממטא טאאא [ איפוס מונה הסופר את מופע* המחרוזת המבוקשת ) ,0 =: תמצאט00 פאטסע ; (' ?סאדק') מעדת ( קריאת המחרוזת המבוקשת + ; (פ₪09) אתפהמת ; דסא פתסו או =: זַד0אם.] פתסש 0 ' ' = [אסאם.1 פתסא] פתסט אפזוח [ מציאת אורך המחרוזת + 1 - 071אז פתסקן =: מדסאם. פתס : יהזגת' ,שדק שאמ ) א5510 ; (ם,זדת צאמך) תספמת ,0 =: המתאט00 תס 11 =: א10י1.0041 פתסט 20 (מזנק ַאמד) פסם עסא ₪ דזחן אזסטם ; (08 מזצע [אטך) פגטת 0 (0) אטא 11 יסא פאג (מונק [אמד) א1סם יסא ₪דת [ הכנסת לתור של תווים שאינם אלפאנומריים + אזססם ; (18א000 048 ,₪ ,0) 6 אז 54/8 (0₪ םזזק [אמד) פומת 1 := 1 0 (אס) אטא גמקזה סאג (םתדת שאמך) אזסם סא מז [ קריאה של מחרוזת תווים אלפאנומריים ל-₪082 קאמד + אזסמם ,חס =: [1] פתסאע <אמד 7 + 1 =: 1 (08 מתדק צאחד) פגמת ; פא 0 =; [1] פתסא קאמך ] השוואה בין המלים + אמח (1 - ד ,סתסש קאמך עתסט) ₪000 1 [ יש שיוויון + אזסמפם ] הדפסה מהתור של 20 התווים הקודמים למלה + ; (0) 0008 תאזאע 1 מונה הופעות המלה + ;1 + תמעאט00 פאטסת =; תמץאט0ס פאטסע 20 [ איפוס התור + ; (6) טא מאגא =: תתעאט0ס הגס 00 1 + אא פפסט 70 1 =: 1 תסק [ הדפסת המלה המבוקשת + ; ([1] פתסט קאפד) מדדתט % *5 1 0 (20 => 1) פאה (א]נק עאחד) פסם עסא מדוהו ([ הדפסת 20 התווים שלאחר המלה + אזסטם אפזוד (םונע צאמד) אזסם אך ; (ם'זדק שאמד) אזפגחת ; (08 ,(מתדק צאמד) פגמת ; (08) מדדתט 1+ =: ך [ 116תש + ; פא אזפזזת [9 + פאם [ המלים לא שוות | + ₪ [ שמירת המלה בתור + 0 1 10 1 =: א1002710 עתסט תסקע ; (תפאט00 תגוס , [א710ה00. סהסט] פתסש קאד ,0) 0 אד מטה5 אמח (שתדק לאמך) עסם עסא פאה (מעדק צאמד) אעסם ‏ עד ( שורה חדשה + (מ/זדע תאמע') א,זפגמת [ 60% 6סםת 116תש + ; פאם ; (11/8ע שאמד) 01058 ; אזע11 אפחד 0 = התצא000 פאטססע שך ('פאטסע עסא 8א5131 08ת534') אומדנתט טפט ('פמאדי ' ,1:התדא000 פאטסע ,' פאטסע ₪5 סאעתד5 מסתגמפ') אהמדנתט : . פא דוגמאות להרצת התוכנית: א. תור ריק ב. הוספה תו לתור 21 ביצוע הפקודה: ('ית' ,00008) מטטטס 10' פפג ד. הוספה של תו למערך מלא ביצוע הפקודה: ('כ' ,מטמט0) מטמטס שעד3ם 212 -תוכנית 5% ;דע אטסאך פדטם מהטסמססתק תג ;דע תמצקהתס : קע ;אפפאד 0885 : 0 ;אל : אסא 800% ;עד פתסא : פתסש סאפ ;אם00 : תתטע המקעטם ;]תגאס 09 [1..80] צהתתה פמאסגס : מאדן אזסטם ;([1] מאגא ממדע פהחס ,ע) א5510ה ;](ע) עטפתת ; ('אפא. 800%' ,אפא א800) א5510 ; (אפא 200%) מצדהחטת =: סק הטקעטם אמח (ע) עסם עסא ‏ עך אזספם )0 ,ת) פגמת שסתך =: וטס המעעטם ; פאם 0 םטע תמעעטם 05 (ע) עסם עסא ממדצח אזסטם =: פתסא פאפץך =: טע המקקטם [ כתיבה בקובצ תמליל + ; (8:טא 0.2408 ,60.00 ,אפא א800%) מצדתט ( של המלה ומספר הדף הראשון.+ 0 (2ת0ח.0 = פתסט קאמד) פאה (ש) תסם עסא ממדטט אזסמם ;(0 ,ע) פגמת =: תשע תמעעטם אמח 2ת0א.0 = פתסא סאסד קך , אזסטם =: טע תתתקטם ( כתיבת שאר האיזכורים + (8:טא 0.2408 ,אפא 800%) מצדגט [ לקובצ התמליל. ָ פא [..06ת60/..8 טסת 116םש + ; פא ( שורה חדשה בקובצ + (אפא 800%) אמצזתט [..ע60%..0 6סת 116תשא + ; פאם ; (8) 010098 ; (אפא 200%) עמפטת ; א זז 20 (אפא 800%) שסם עסא םוט אזסטם 1 קריאת שורה מקובף התמליל והדפסתה + ; (שא1 ,אפא א500%) אנפגמת (מא11) מדדתט ; פאם (אפא 800%) 01058 ; פא 23 "תובנית 5 ; (007002 | מוזדק עאפד) צאמן 64 אותססהק הגע ; צאפך : מחדקת לאמך ;תס : 01 סא מאז מסהתטט , תממאטא פפאד.ז אזא ; תמסמצאך : אא אזסטם ; ( 'צגם. צאמד' ,תדע לאמד) א10ספה ; (מ.זצע לאפך) תמפמת 7 =: תתמאטא >עאז1 =: מסהתסטה 0% =: אגא ]80 =: אזא [ לולאה עד סוף הקוב + 0 (םדע שאמל) עסם עלסא מזזהו אזספם [ מונה מספר השורות + ;1 + תממאטא 5מא1 =: הממאטא 5מאד1 7 =: אדסאט] מאז1 ( לולאה לקריאת תווים עד + 0 (מתענק 1אמל) אזסם עסא ‏ ד ( סוף שורה בקובא. ָ אזסמם ; (08 ,מתדק צאמץ) פאמת ([ מונה אורך השורה + 1 + זוסאמן מאדם =: אעסאם פאז ; פאם [ אם לא סוף הקובא - + אמ (םתדק צאמך) ע0ם עסא אד [ שורה חדשה. ָ ; (₪זדע צאמד) אזסגמת אטע אהא < הצסאמ מאזת אך [ עדכון אורך שורה מכסימלי + ;1 מאד =: אגא אפעד אדא > זסאט מאדע עך1 ( עדכון אורך שורה מינימלי.+ ;א ] מאדם =: אזא ([ סיכום אורכי השורות. ָ א מאד1 + מסהתחטה =: מסהתמטה ( 600 ססםת 116תש + ; פאם [ ממוצע אורכי השורות + ; (תתמאטא פעאד0 / מסהתתטה) פאטסת =: מסגתחטה ;('פםאד1 ' ,1:תממאטא פפאז1 ' 040 ') אתמצזתט ; (1:אגא ,' :15 אד0א1₪ מאד אטאדאגא') אתפדזת ; (1:אזא ' :15 סא אד אונאצא') אקפצזתה ; (0₪:1התסץב ,' :15 זא מא11 מסהתמטג') אזמדזתק (18זק [אפד) 01088 . קפא 218 :תוכנית 7 ; (צסקצט0 , ב2הס) המדאתסץ אגהססהק [ אורך שורה מכסימל* בקובצ התמליל + ו ;חס עס [0181א 1 אגא. .1] צהתתה סמאסהק = מספצך מאד.1 [ קובצ תמליל 1 [ אורך שורה + ([ רווח בין השורות + [ שם פיסי של קובף תמליל + ;0888 08 [1..20] צהתתה פמאסגק : ( פרוצדורה להדפסת א רווחים + [ פרוצדורה להדפסת א שורות רווח + הפרוצדורה 188081 מחזירה את אורך + ([ השורה ללא תווי הרווח שבסופה. מגץ ;צאט : הדמ 4 ;תפסוא : 8 ,תס : 01 :שפצך מא : מאד1 טאגא ממדעק ; (פע0עא1 : א) 5408 מהשססמססתק אזססם אפא 0 < א תך (א:' ') מדדתח [ 80806 + ; פאם ; (098מעא1 : א) פמא1] מהססמססתע אזט 0 0 <א מתצח ,תמסטעאז : (שקצך מאד11 : מאדת) נעטאת1 אסזצסאטת הג ; סנא : 1 אזסטם [ אורך מכסימל* + ; האס אגא =: ך [ סריקה מהתו האחרון ) 20 (0 < 1) פאה (' ' = [1] מאנם) מתנחט [ ועד התו הראשון. זָ ;1 - 1 =: ך 1 =: אסא [ ם%₪ת16 + ; פא [ הפרוצדורה 18%א05 ממרכזת את ) [] השורה אאז1 ָָ ;טקצך פאז : מאד) תמעאתס מהשפמססתק [ שאורכה 1א0אמ]. + ; (ת08מזא1 : 1071 אזסמם [ הדפסת רווחים לפני השורה + ;( 2 עדת (018א1 - 8) ) מסגספ [ הדפסת השורה + (8א11) אומננתט [ ע066ת06 + ; פאם 205 הפונקציה מחזירה את התו הבא בקובא התמליל + 1 או רווח אם זהו סוף שורה או סוף הקוב. ;חס : תבה0 צאטא אסזעסאטע הגץ ;ה : 01 אזסטם אמזוד (418כ) אעסם עסא פאה (14כ) אסם עסא עך (08 ,גנהכ) פגמת ₪5 ' =: 07 ₪ =: הגאס צאפא ( עהת0 סאפת + ; פאם הפרוצדורה צטשפאז כגמת קוראת + [ את השורה הבאה בקובף התמליל. ; (מסצד מא17 : מא11 תגט) דטפאד פגמת מתטסעססתע אגט ; הצא : 1 אזססם [ האם זהו סוף הקובף? + אפמ (ב41כ) אסם עסא עך [ לא - קרא שורה ָ (8א11 , ב7הפ) א זפסגטת ( כן - זהו סוף הקובצ + מפם 0 אעסאטן אגא 70 1 >: 1 אסקע ( הפרוצדורה מחזירה שורה ריקה + 'י' = [1] מאצת ([ %טקת1 2086 + ; פאם הפרוצדורה שאך.1 דטפא1 מא מקפיצה את המצביע + [ לקובצ לשורה חדשה (אם לא סוף הקוב). מא צטשאד פא מתטספססתע א1סטם אמח (414כ) עסם צסא ‏ אך1 (גיאפ) א.זסהמת [ >טסםת1 שסם + ; פאם הפונקציה הממטא עגפת קוראת תווי ספרות מקוב | + ([ תמליל עד תו שאינו סיפרה, ומחזירה את ערך המספר. ; תתסמנא1 : הממאטא פגמת אסזעסאטע הג ;תס : 08 ;פמסטנאז : א אזסטם 0 =: א ;תס דאפא =: 08 0 ('פ' => אס) פא ('0' =< 08) ממדצא אזספם ; ('0') 09 - (08) עת0 + א * 10 =: א הגאס עאפא =: 01 216 ; פא ( שורה חדשה + ;אד צטפאד אפא א =: תממאטא פומת [ עססמטת 2086 + ; פאם הפרוצדורה טא17 ₪115 קוראת את השורה הבאה מקוב% התמליל ומדפיסה + [ אותה לאחר 520 רווחים ולאחר הדפסת התו 01, אם הוא שונה מרווח. ; תמסמעאד : 520) מאד מצדתש₪ מהטספססהק ; (ת4חס : 081 הגע פפסעזאז : 1 ,1 [ מינימום בין 4 ל-8 + ; תמסםצאז : (תתסםדצא1: 5 ,ב) אדא אסזעסאטע אזסטם אמט ם > 2ב עך 4 =: אזא מפט 8 =: אזא [ תנש + ; פא ( 6ת11 166פש + אזסטם [ קריאת שורת קלט הבאה + ; (עא11) צטפאז פגמת [ רווח של 8 שורות ‏ + ; (5) פמאז1 ([ הדפסת 520 רווחים + ; (590) 55408 [ מספר התווים שנותרו בשורה בשלב זה + ;1 + 500 - 2 =: 1 אמח '*' <> 608 אך אזססם ; (08) מדדתט 1- =: ם ; פא ([ לולאה למציאת רווח, + 0 '' <> [ע] מאד1 מנתט [ כדי לא לחתוך מלה. ‏ + 1 - 2 =: ע 0 2 70 1 =:2 תסק ( הדפסת השורה עד הרווח. + ;([1] שא11) מצנתח ([ מעבר לשורה חדשה + ; א,זטי ו ([ לולאה כל זמן שנותרו תווים + 0 (טא1) אמ > 2 ממדחט [ בשורה שלא הודפסו. ָ אנספת [ הדפסת רווח של 8 שורות ) ; (ם) פטאז1 ( מקום החיתוך הבא + + ((שא11) דסא ,ג + ם) אדא =: ד [ של השורה. [ לולאה למציאת רווח [ כדי לא לחתוך מלה. 00 ''>>[1] מאזם מהזו )1% - 1 =: 1 0 1 > ע מאזחח אזסמם ;1 + מ =: םע ([ע] מא11) מצנתט [ 1>1 116תש + ; פא אט1וט [ 1 116מא + | פאם [ 6ם11 106עא + ; פא 7 217 [ מנ8ם )| אזסמם ](' :שאגא תדע המצאם') מצנתט ; (פאגא מדע) אזפגטת ; (שאאא מענע ,ג87כ) א5510ה ; (0019) צספמת אפו (ג41כ) תסם עסא סד / ; (5 ,4 ,ג47) א :ספת 7 0 (ג41כ) עסם עסא מז אזסטםת [ תו ראשון בשורה + ;0 אמא =: 08 [ לאחר ה-'*' תופיע פקודת הדפסה + אאחך ‏ '*' = 08 עך אזסטם עס תבגה עאמא 0258 ([ הדפסת שורות רווח + אזססם | : 'פ' [ במקרה זה הודפסו פחות ) ;(ם - תממאטא פגמת) פמאד1 [ 8 שורות רווח, כי הן מודפסות ב-שא11 מצנתא. + ('*' ,0) מאך מצצתט ; פא [ התחלת פיסקה + אזסטם | : 'ק' (8) פמאדן ('*' ,התמאטא סגמת) טאד] מדדתט ; פא [ מירכוז שורה + אזסמם |: '0' [ שורה חדשה. ‏ + ;א עטפאד אטא (קריאת שורת קלט באה + ; (8א11) עטפאז פגמת ( מירכוז + ( (מא11) ז01א1 ,מא11) ממדאמס פאם [ 68586 + פאם [39 + פאם [ התו הראשון אינו '*' + 8פם ( הדפסת שארית השורה אחרי התו 01 + (08 ,0) מאד1 מצדתט [ ללא הוספת רווחים לפניה. ְָ [ 60% 6סם 116תש + | פאםת . פאם 218 פרק 181 קבוצות שאלות שאלת 1 א. ['ע'..'פ'] אד אס ב. [10..15] => [0 ,8 ,ג] הסבר: הקבוצה, שמכילה שלושה משתנים שלמים (4, 8 ו-6) המייצגים מספרים בין 10 ל-15, היא קבוצה חלקית (שווה או מוכלת) לקבוצת המספרים השלמים בין 10 ל-15. ג. [29 ,23] - [20..30] א א שאלה 2 [8.9,19 ,6,7] (8 הסבר: כי [53] <> ך ] מפעועת (ס הסבר: [ ] = 2א * 1 <<=- -2א = 4( + 2א ן; 1א = 5א + 1א 1] 6 הסבר: ‏ 1א > 82 - 51 כי 6 > 2א ה 1א טסת?" (6 1 ,7] = 83 - וא [9.] = ₪ > 91 7 שא > [9 ,7] אד 9 הסבר: [1..10] => [5 ,8 ,3 ,2 ,1] מטחך (? 209 תוכניות וכנית 1 כדי לפתור בעיה זו יש להחליף את שורה 4 בתוכנית 114 אטתזק שבעמוד 307 שבספר "פסקל" בשורה הרשומה לע*ל: ; '2' = האסתאסה 01 (4) ; (ששקעט0 , טקאד) .זדון אטהדק אגהססתק 007 צפחדת 157 : 8 .15 = טא אד ₪025 מקעי יזוס פוט , 1 ₪08 , ₪0 קאמ ; תס 09 887 : מזמטספ 01 ,012 105 : 3 ;תוס 0 [1..20] צגתתג : פתסא ; המא זַ אזסתם ; (פתס₪) אתקאפת ] קבוצת האותיות המופיעה במלה ) ;[] =: 081 פתהסש ([ קבוצת האותיות הכפולות במלה + ;] =: מעפטסע ;1 =: 1 120 ['?'..'ג'] אז [1] פתסט שדח [ טיפול באותיות עד שמגיעים לאות שאינה בין '4' ל-'2'.+ אזסטם [ אם האות כבר נמצאת בקבוצת + אפזת 08 פתסט אד [1] פתסא 1 ( האותיות המופיעות במלה, ָ [נםק פתסט] + מתמססע =: מתמטסע ([ מוסיפים אות זו לקבוצת האותיות הכפולות, + ] אחרת מוסיפים אותה לקבוצת האותיות. + ₪ :ד] פתסט] + 01 פתסשח =: 08 פתסא 1+ + >: 1 ; פא ;'1' ג קז וההוה 57/]. . פחדע .... 200 0 =: 1 0 145% 0 *פתדק =: 081 תסקע ( אם האות הראשו נה ָ אמט 08 פתסט אד 081 עך 1 נמצאת בקבוצת האותיות.+ אזסטם [ איחוד של קבוצת )+ :;008%8ע + ([0₪81] - 08 פתסא) =: פתסש₪ שד האותיות הכפולות עם קבוצת ָ ([ אותיות המלה, פחות האות שנבחרה. 0 1457 0 עפתזק =: 082 תסע אסזו כתסש קאפך אז 082 עד אזסטם ; סכ + ([082] - מתסש קאמך) =: כת0סש <מך 0 1457 0 עפתנק =: 083 הסע פאג (כ08ס₪ קאפך אז 083 עד אמזו ([0₪2 ,1א0] <> [083]) / האות השלישית שייכת לאותיות המלה + אזסמת 1 ואין שיוויון (בזוגות) בין שלוש האותיות. + [ הדפסת המלה + ; (50408 ,083 ,082 ,1אס) מדדתח 1 := 1 + 1) אמזוד מאד.1 אד פסתסש = 1 עד אזסטם 1 := ( שורה חדשה + אזמדזתט פאם [15 + ; פאם [ החזרת האות השניה + [082] + סת₪0 את =: סעתסש <אעך ] לקבוצה, כדי שהיא תוכל + ] להבחר כ-083 במעבר הבא.+ ( 02 19 + פא [ 19601 + פאע . פא תוכנית 3 ; (עשק1ט0) 5175 אתססהק 07 = עפתזעת = /145 מפצך 17 .צפתדע >= | 24518 506 ;5 50 עס [פ = ב2נטעסא 6ט5 תג 1 2 ; 120 טע 500 : 3א 1 506 :1 ;א4מ00ת : אסמפזת 221 אנסטם ;(']') מדדתא ;708 =: אסתפזת 0 148585 170 צפתזת =: 1 סע אמח (2א * 1א - (2א + 1א)) א 1 אך1 () 1 1 לפתרון חלק א' + [ הביטו: הלוגי הוא: ((2אה1א) - (10%2א)) )+ אזסטם אשד אסטפנת סא עד (' ,') מעדתה מפ ;5 =: א80פזת3 (1:1) מעדתח :כ (*ך') אתמצדתהו . פא חלק ב' - הפקודה שיש לרשום בשורה 4 בתוכנית: א (ּא * 1א - 3א * 2א - 2א * 1א - (3א + 2א + 1א)) א 1 אד () --1 2- --3 222 חלק ג' - הפקודה שיש לרשום בשורה 4 בתוכנית: אחחד (3א * 2א * 1א - (3א * 8+ * .0 *1))א<: ₪ 0 %2- חלק ד' - הפקודה שיש לרשום בשורה 4 בתוכנ'ת: אפחד (1א א 1) עסא עב (פ) + הערת :9 הק שמעל הב*ט3< מס חלק ה' - הפקודה להחלפה: אמוד (4א + 2א + 1א א 1) עסא עד (ם) | הטבר ל 7 0 חלק ו' - הפקודה להחלפה: א (3א * 1א + 3א * 82 + 2א * 1א אד 1) עסא עד (ק 23 ; (02עש0 ,11₪עעאמד) תג6 באטסס אגתססתק מפצך ;תס ע0 552 = פהמדסהתהחס תג דאמ : מתדעדאמך ;ה :+ 0 ה1א000 סע ;הסנא : המעאט00 הגחס , 0106 ; 05 תת : 05 אזסםם ([ אותיות שהן תנועות + ;|'ט' ,'0' ,'ת1' ,'מ' ,'ה'] =: פעמחסט ( שאר האותיות + 1 - ['4'..'2'] =: פהמהד0 ([ מונה תנועות + 6 =: 8מ7א000 5משסט [ מונה שאר האותיות + 7 =: תמעאט00 הגחס [ פתיחת קובא צאמד + ; ('דגת.תאמד' ,םדקדאמך) א45510 ; (11/8עאמך) עמפטת 0 (שם1עצאמל) עסם עסא ממזחט אזסטם ; (08 ,108תדאמיך) פהמת ( אם האות שייכת לקבוצת התנועות + אעח 5תמטסט אז אס עך ([ הוסף אחד ָ 1 + המעא000 טסט =: המצאט00 5תמטסט [ למונה התנועות + פפזם ( אם האות שייכת לקבוצת שאר האותיות )+ אמא פתםת07 אז 08 אך [ הוסף אחד + + תמדא000 הגס =: תמצאט00 הגס ([ למונה שאר האותיות )+ אמח (1₪ת1אמד) אסם עסא פאה (1₪עעאמך) אעסם ‏ עך1 [ סוף שורה בקוב> + (מ,11קאמיד) אתזפגמת ( 116תשט + ; פא ; ('מספר התנועות שווה - ' ,788א000 5המקסטץ) אתמדדתט ; ('מספר שאר האותיות שווה - ' ,מ1א000 הבח0) אתמצזתח (1711,8א3ד) 02058 . פאם ; (צשקנט0ס ,115תאמד) תהחס עאט0ס אהתססתק מפצץ ;חס 02 507 = פתם07ת0 תג : םזקדאמך ;תס : 6012 ,01 ; תמסמנאך : תמדא600 פתמשסט 5 : 5 סע 28 ( קבוצת התנועות + וניט'י ( מונה הסדרות | + ( פתיחת קובצ צאחך + [ קריאת תו ראשון + 0 [ קריאת תו שני + אזסטם ,'מ' ,'ג'] =: 8ממטסט 1 =: התצאט00 8פאסע ; ( 'דהע. דאמ ,ם,זדתדאמד') א49910 ; (ם,זדעןאתך) דמפתת (מ,1דעדאפ) עסם עסא מ דט אזסמם ; (0₪1, מדתאט) פהמת (ם,זנתןאפד) אזסם עסא ממדאט אזספם 082( ;‏ ,ם,ודקאסד) פהמת '0* כו 0 אמא 5םמח00 => [082 ,081] אד [ קבוצת שני התווים הינה חלקית לקבוצת התנועות + 1 + תם1א000 18טאסט =: ([ הוספת 1 למונה + ([ הסדרות. ָ [ הדפסת הסדרה + אזסטם 00 פתמטאסט (082 ,081) אשטצזתט ; פאם [ העברת האות השניה למשתנה השומר את האות הראשונה ) 082 =: 081 פאם [ 6009 %סם 116תש + ; פא ; ('מספר הסדרות שווה - ' ,המ1א000 פתמשסט) אעמדדתט 'תוכנית 6 (₪זדענאד) 02058 . פאם ; (001907 ,₪ דעץאטך) הגס צאטסס אהתססתק מפצך תס ע0 587 = פהמדסהתגמס תג ;צאפך : םדתדאמך 03 : 0; תא 00 הגזוס ,הזוס אהא ; ממסמנאד 3 01185 הס ;תס :| פהתוחסן 00 , ,תס 09 [1..20] צגתתה :| פתסא אגא אנספם =: תגאס אגא '2'..''] =: פתמסדתן ; ('1גכ. צאמד' מזדתאתד) א45510 ; (₪,1דקדאתץ) תמפסת 25 0( (11₪תדאתך) עסע עסא זט אזסטם =: 1 ( קבוצת האותיות במלה + ;[] =: פתגהס פתסט [ מונה של האותיות השונות במלה + 0 =: המתא000 תגוס ; (08 ,ם1פאמד) פאמת [ לולאה, כל + 00 (פתמד1 אד 08ס) פאה (םדע1אמד) אעסם עסא מפדתט ([ זמן שלא סוף שורה והתו הוא אות + אזספת ;8 =: [1] פתסא 1 + 1 =: 1 אסא (פתגהס פתסש א1 08) עסא ‏ עך ( נקראה אות שעדיין אינה מופיעה במלה + אזסאם ([ הוספת האות לקבוצת + ;[ס] + 0325 פתסח =: פתהתס סתסש [] האותיות במלה. ָָ ([ הוספת אחד למונה + 1 + ממצא000 תגתס =: המצא000 ההחס ([( האותיות השוגות.+ ; פא [ קריאת התו הבא + (08 ,11ק1אמך) פהמת [ ת601 6סםת 116תש + ; פאם [ סימון סוף מלה + ;' ' =: [1] פתסט אפח תגחס אגא < תמזא00ס תגחס עך [ אם במלה יש יותר אותיות שונות + אזסטפ [ עדכון המשתנה של המלה הארוכה ביותר + ;תס =: פהסא אגא [ עדכון מספר האותיות המכסימלי + התץאט00 תגחס =: תהחס אגא ; פא אחחדך (1דעצאמדך) עסם צסא פאה (טמדעצאמך) אתסם עך [ מצב של סוף שורה אך לא של סוף קובצ.+ (₪,11ע1אט') א.,זפגמת [ יש לקרוא שורה חדשה. + [ +60 %6סםת 116תש + ; פאם =: 1 0 פתמתעמת אד [1] פתסש אגא מדחט [ הדפסת המלה + אזסטם ; ([1] פהסט אגא) מנדתט 1+ =: 1 ; פאם ,2 אגא ,' במלה ' ) אמדזאח ; ('מספר האותיות השונות הגדול ביותר הוא ' (ם.11ק1אטץ) 01098 . פא 206 פרק 15 רקורסיה שאלות התוכנית מדפיטה משולש של מספרים, לדוגמה: כאשר 5 = 5128 1 121 121 121 21 מספר השורות בפלט יהיה כגודלו של 9128. לפתרון שאלה זו יש להוטסיף בתוכנית עשוטא אסספ1א (עמ' 327 בספר "פסקל") את המלה א2₪01 לפני שורה 7, ו-פא₪ אחרי שורה 8. 227 תוכניות ; (עשפייט0 צשפאד) 01 פגמת אגתססתתק (1) תוכניתי1 [ קרא תו [ אם התו שונה מרוות ָ [ הדפס תו ([ קרא רקורסיבית לשאר התוו*ם + י-תוכנית 2 א! פתרון בשיטת הרקורסיה: ;תהמת : (תססמצא1 : ( אם 0 = א + ( אז 1=!א + 1 ] אחרת: !(1 - א) * א = !א + (1 - א) 401 מע/1פתטסטת * א 208 08 עאדתק פגטת שתטפמססתתק (2) תגט (3) ,תס : 08 (4) אזססם (5) ; (08) פגמת (6) אתחד (' ' <> 08 אד (7) אנססם (8) ; (08) מצדתט (9) תגאס צאזתע פגמת (10) פא (11) ; פא (12) [ מ81שם )+ אדסטע (13) הס עאצתק פגמת (18) .פא (15) א) דסגת מטדפתטסמת אסנעסאטע (1) אזספת (2) אמח 0 > א אד (3) =: 407ת מטדפתטסטת (8) חפ (5) =: 0407 מע1פתטסטת (6) ; פא (7) | פתררך איטרס :ב + : (תם0מצא1 : א) עסגע מטדעגתמצ1 אסצצסאטע תה )זומת : תק אזסתם =: תק 0 6 < א מהדחח [2(*...*1-א)*(1-א)*א=ק + ;א * 1 ; פאם ש =: לסבע מטז12ההמצד ; פא תוכנית 2 בו פתרר: בשיטת הרקולסיה+ ; המסמעאד : (התסמצא1: א ,א) לשא אסצעסאטת אזסמם [ ₪ 1 > א + אמחד 1 > א שד [ אז א->1*א םתסת% 1->א 19 + א =: טא [ אחרת + ₪ ( (1 - א) * א + א = א"א )+ (1 - א ,א) צנטא + א =: עעטא ; פא פתרו ן:איטרטיבי: ; תמסמצא : (המסטעא1: א ,א) צעטא אסזעסאטת הג ; תמספצא1 : 508 ,1 אזספם % =: אעספ א אא "א ) 0 א 70 1 -:1 תסקע +...+ א + א + א = א*א ;א + אפ =: 508 1 - ₪1 == ָ אפ =: וטא / פעמים ; פא 79 רה רה = א 6 ת דר "ל חל "חל "קל "ל "של הל )1( )2( )3( )8( )5( )6( 7( )8( )9( 209 ; תת0מעא1 : (תמסמצאד: א) פדת א0ס1עסאטת (1) אנסמם (2) אמח [1 ו אז א א1 (3) ( 10=1ע תסמס 1=א +11 ; 18=0ע תסתס 0>א 18 + פנק (4) ₪ (5) (2 - א) פעת + (1 - א) מדקת =: פע (6) ;פא (7) לדוגמה: ? 2 > 1+1> (1) מדק + (2) מצק 4000 (3) פדע (3) פנק וכו (0) פזת + (1) מדקע = (2) מדק 1 > (1) מנע 8 נסה להר*% את הרקורסיח"ה | פעומת הרצה של הפתרו (: האיטרטיב נבחן מה קורה כאשר. (רצה לחשב. ה---95ז?---- 0 ר3*2-4--- ד 8 = %---ק 1 -2*1- כ ר2*1- ‏ ה3*2- - -2%1-- 11 0 1 0 / 1 611 6 1 6-1 הסבר. לתרשים ?5" ;תמא : (תמסמצא1: א) םע אסבעסאטע (1) הגט (2) ,תתסעא1 : 2ע ,1ע ,א90 ,1 (3) אנססם (5) [ איפוס הסכום ָ 1 =: אטפ (5) [ האיבר הראשון שווה אפס + 0% =: -1ת (6) [ האיבר השנ* שווה לאחד ָָ 1 =: -כ2ק (7) 0 א 70 1 >:1 סק (8) אזססת (9) [ חישוב האיבר הבא ָָ ]2 + 1ק =: אספ (10) [ עדכון שנ* האיברים האחרונים בסדרה + ]2 =: -1ק (11) אספ :=‏ 2ע (12) ; פאס (13) אלפ =: פנקע (18) ;פא (15) "תוכנית 3 ;תתסמאת : (התסמדאך : תמאסק תגט) תגקפ1א אסנעסאטע (1) הג (2) ;תס : 01 (3) ;סנא :1 (8) אנסםם (5) ; (08) סהמת (6) אשח ['0'..'9'] אד 08 שד (7) אזספם (8) ; (תמאסק) ההפפזא =: 1 - (9) )(('0') עת0 - (08) פת0) * תמחסקע + 1 =: תגספזא (10) 90 * התשסק =: המשסק (11) פאם (12) כ (13) אזסטם (18) 1 =: תגספזא (15) 1 = המסק (16) | הסבר :+ תחילתת' לשל הפונקציה הרסורטיבית ה כל עוד התור" הנקרא ‏ נמצא: בתחום"! 9 הפונ הג עלת. בתן רקורסיבי (שורה -9). הַתהליך מגיע לסופו .כאשר. נסרא תו שאי נ' ! 0 0 ב זה הפו נקציה דא מחז ירה ערך.. ומשתנו 3 ב ש .שורה 6 ישנס הערכ*ם' הבאים: 2 5% 2% : תמוסק ו-08 הוא הספרה האחרו ו בל גמת -083);: המשתנה: תפס מוכפל ב-10.. : 5 | בשלב הבא המשתנה 1 מקבל את הערך שחושב לעיל. המשך ההסבר. ראה לי הדוגמת: השימוש במשתנה 1 מיועד לקבוע בודאות את סדר החישוב, כו הקר יאה למשתנה השש0ק עד::ן אי .לו ערך מתאים. בקריאה לפו נקציה., לב לכך. שחי *בים" להעביר. משתנה מס ו ג. המ0טדא1 ואי צורד;< , משמעות* כלשחו',: כ* הוא: משמש: עזר. לחישוב בלב : דוגמה: '5'=, 08 '2'=כ0 יס 11 =: 0088ק ;0 =: תבק9דא '080='7 0 = תתחסק ‏ ;('ס') פפס - (080) פתס) * (1=)תמט0ק + 0 = תדו 100 = םאסק ;('0') כת0 - (032) פתס) * 0 + ב = כו ;('0') 082 - (08) פתס) * 9 + ה = ד תוכנית % ; המסמעא1 : (תתספצא1 :‏ 41א01מת) 00240 א10עסאטת תג ; תמסמעאז : 1 אזסטת אמחז ‏ 0 < מגאזסטס עך (8 עצפ .84א01מכ) 0 * 10 + 8 פסא עהאדסמכ ‏ =: 0ג001 מז 0 =: 00140 ; פא לדוגמה: | (00141)14 ווהטוווווו וווטו ו . 6 > 1 * 10 + 6 = (8 טדפ 18) 2 * 10 + 8 פסא 14 =: 0 ד 1 0 + 1 = (8 טדם 1) 00140 * 10 + 8 פסא 1 סש 8 = ] ו ספ ב כ '₪ ו ספ 22 תוכנית 5 (א <א) ; זא : (הת0מ1א1: א ,א) 009 אסנעסאטע אזסטם אפעך א >= א אב א =: 002 מפ אמח א > א סד (א - א ,א) 000 =: ע00 | (א - א ,א) ע00 =: 008 ; פא 23 פרק 16 מבני נתונים ניהול מבו: נתונים 7 ( מספר מכסימלי של רשומות + 1 = 5125 אטא 5% = תטא ( סימון סוף רשימה + מקצך ; התמסמנאז = התנאזסק [ המצביע הוא אינדקס למקום במערך + פתססעת = מקצך פתססטת [ רשומה ָ [ איבר מסוג כלשהו ָָ מקצי דאמאם.זם | : זאמאם זם [] מצביע לרשומה הבאה ) מתנאזסק : אמא ; פא [ רשימת מקומות פנויים בזיכרון + עתססמת = צמתסאטון [ מצביע לראש רשימת ‏ + ;תטא01סת : מתתק עפתנקעק [ המקומות הפנויים. + מפציד פתססמת עס [5128 אמא..1] צגתתה : ₪ [] מרחב הזיכרון + ; פא תג ; צתסוטא : אסא פרוצדורה ל"איפוס הזיכרון". היא יוצרת רשימה מקושרת של מקומות ‏ + [ פנויים מכל הרשומות במערך 82408. מעחק 1פג1ע מצביע לראש הרשימה. ; (צתסאשא : א תגט) אפ מה1דדאד מהטפמססחע הג ;תמצאזסת : תדק אזסטם 0פם א דט אזסטת 0 1 - 51728 אא 70 1 =: תדע תסק 1 + תצק =: לאמא. [תדק] מסגפס [ סוף רשימת המקומות הפנויים ) [11טא =: עאמא.[5120 אחא] 508 [ מצביע לראש הרשימה, המקום הראשון במערך + 1 =: מסתת צפחתצקעק פאם ( מס₪ 1%6181ת1 ) ; פאם פרוצדורה להקצאת מקום פנו'. 4 [ המצביע למקום הפנו:* מוחזר במשתנה תדק. ; צתסאטא : א תגט) אמא תט0 מתטספתססתק ; (פמעא01ק : תחדק תגט אזססם 0 א אתא אמא א <> ממחע עפתדק עך ך עדיין לא סוף רשימת המקומות הפנויים.+ אנט ( הקצאת המקום הראשון הפנוי ברשימה.) ;מחתת צפתדק =: תדק ([ עדכון המצביע + דאטא. [ממתת עפתדע] 0₪עס =: ממתקע עפתדק [ לראש רשימת המקומות הפנו:ים.) פאם [ סוף רשימת המקומות הפנו:ים ) פפזט ('1זטת צתסוטא - [תסתתת') אפמדזתט ( שסם עטס + ; פאם 255 שיחרור הרשומה ש-218 מצביע עליה. ָ [ המקום במערך חוזר לרשימת המקומות הפנו''ם. ; צתסאטא : א תגט) 50058ד1כ טס מתנפמססתק ; (תפצא01תק : תדק אזססם ([ בדיקה אם המצביע ב"תחום" )+ אסא [5128 אשא..1] אד תדע אך 0פ א תח ( שירשור הרשומה לראש רשימת + אזספם ([ המקומות הפנו'ים. + ;ממתת צפתנקעק =: צאמא. [תעק] 55405 ] עדכון המצביע לראש הרשימה )+ חדת =: ממתקע עפת1ע פאם [ המצביע אינו ב"תחום" הזיכרון + | ('פטזא1סק ,ד - |תסתתם') א מצזתח ([ 8150096 פטס + ; פאם הפונקציה אמא מחזירה מצביע לרשומה + [ שנמצאת אחר* זו ש-218 מצביע עליה. ; צתסאטו : א תגט) עאפא א0סז2סאטע ; תפעא1סק : (המצאדסק : הצק אזסטם / בדיקה אם המצביע ב"תחום" ) | אסא [5128 אתא..1] אד הצע עד 90 א ועט ([ מצביע לרשומה שאחרי + צאמא. [18] 52405 =: עאמא ( המצביע אינו ב"תחום" הזיכרון. + | ( 'תתץא01ק 111204 - [תסתתם') אהטדדתט [ 6אפם ) ; פאם [ ל | || שי כ ₪ 34| 1 | ה | 206 8 וח 2 0 2 / ;--< הדפסה 237 0 208 תוכניות תוכנית 1 ; (ע שק 00 , עשפא1) 157 512 אגתססאק 0017 1 = ותא מאוא 4 = 5128 ומא % = תתטא פפצך ;תס עס [1 א 1 מאהא. .1] צהתתה פמאסגק = מקצך מאגא 4 = אתחאא ; תמסמצאן = תמצא1סק ; תפזא01ק = הצק 575 [ רשומת פרטי סטודנט ) פתססמת = 4115עטפ תאמפטדפ מקצך מאגא : מאהא ;4 08 [1..10] צגתתה :| 5₪דסתמאם , דפס פדא , דפפך תגאדק ; אתאא : טסוט חק 875 : עאפא ; פא ;5 אטע ע0 מעדק = מעצע פדפ ([ רשומה המייצגת את ה"זיכרון" + כתססת = צהסאחא ;הזאק : ממתק צפתזקעק 85 אפפ ע0 [5128 אמא..1] צהתתה : 55405 ; פא תג ; צתסושא : אסא עפ : 5 , 7 ;תצק פעס : תדק ;תס : כאגא00 ;שקצד מאגא : מאגא פזפ ;אתגא : ממעס מסהתמטבה 29 פרוצדורה ל"איפוס הזיכרון". היא יוצרת רשימה מקושרת ) של מקומות פנויים מכל הרשומות במערך 55408. ( מעחת צפת1ע מצביע לראש הרשימה. ; (צתסאמא : א תגט) אמא מהזעדאד מתהססמססהע תג ;תמעאזסק : תצק אזסטם 90 א אנח אזספם 0 1 - 5128 אפא 0 1 =: תדע סק + תצק =: שאמא. [ת1ק] 55405 [ סוף רשימת המקומות הפנויים )+ ;םעטשא =: עאמא [5128 אטא] 55405 1 =: ממתת צפתדע פאם [ ₪6₪ 116181 ) ;עאם פרוצדורה להקצאת מקום פנוי. ָ ([ המצביע למקום הפנוי מוחזר במשתנה תדק. ; צהסאטא : א תגט) שמא 005 מתסספססהע ; (המעא01ק : הלק הג אזסעם 0 א אטח אמפעד שא <> מטתק צפתנע ‏ עך אזסטם [ממות עפתדקע =: תדק דאמא. [ממתע צפתדע] תפ =: מטתע עפתזע פאם שפזם ('תזטק עצמסאמא - [תסתתם') א מדדתט [ שסת פטס )+ ;עאם הפרוצדורה 2152058 008 משחררת רשומה ש-218 מצביע עליה. + ( המקום במערך חוזר לרשימת המקומות הפנו*ים. ; צתסאטא : א 048) 2152055 008 מחטספטססתת ; (תמעא01ק : תדק אזסטם או [5128 אמא..1] א תדע אך 0 א אדא אזסטם ; ממתת עפתזע =; דאטא. [חזק] 528408 מדק =: מסחע עפתנע פא ₪ ( 'תמצאדסק 1110 - ותסתתת') אתקדדהו [ 6180056 עטס + ; פאם 20 הפונקציה ?אמא מחזירה מצביע לרשומה ‏ + [] שאחר*י הרשומה ש-74ת מצביע עליה. ; צתסאמת : א תהגט) עצאטא אסזעסאטע ;תמצאזסת : (המצא1סק : תדק אזסטם אמפוו [5128 אמפא..1] א תדע עך 0 א דדח צאטא. [78ק] 55408 =: צאמא | ('תתצאדסק 1110040 - [תסתתם') אתמדנזתט [ 6אסםת + ; פאם הפונקציה 11152 09 פאם מחזירה ערך 7808 כאשר ָ [ המצביע הק 1151 הוא ]זטא, כלומר - סוף הרשימה. ;00 : (תדק 575 : תצק 1157) 1157 עס פאם אסצצסאטת אזססם וטא = תדע 197 =: 157 עס פאם [ 1186 02 6ם8 + ; פא הפונקציה שדק א0סתע 1082 יוצרת רשימה מקושרת | ָ [ מהרשומות הנמצאות בקובף 014955 ומחזירה מצביע לראש הרשימה. ,תק 815 : (םודק 97 : 01488 ההט) מעדק אסתק 187 1085 אסצעסאטע הפרוצדורה ₪זדץ סגמת קוראת רשומה אחת מקוב% 012585, + ([ לתוך רשימה מקושרת, ומחזירה מצביע לאותה רשומה. ;תצק 575 : מתדע פגמת אסצעסאטע תג חדק 878 : תדק קאמך אזנסטם אמח (01455) שסם ‏ עך 4 =: מודת סגחת ופ אזסטם ; (חדק סאמ , אמא) אופא הטס ; ([חדק שאמד] 55408 אחא ,01455) פאפת ;דע פגמת =: צאמא. [תדק קאעל] 5208פ. אס הק סאפך =: מודק פגחת פא [ 2116 080ע + ; פאם [ 1116 ₪סע? 1186 1086 + | אצססם ; (01.455) זמפסטת תודע פגמת =: מודע אסגת 157 פאס [ 0116 מסע? 115% 1086 + ; פא 21 הפרוצדורה אזדק אך 85 47₪פ כותבת לקובף 0195 את הרשומות, + ( שנמצאות ברשימה מקושרת ש-18ק 1.191 מצביע עליה. ;תק 572 : תחדק לפד1) מוצע אד 1.157 5408 מתטספמססתע ; (=תנע 875 : 5 האג אזסטם ; (01455) מדדתקמת 0 (תדק 1151) 157 עס פאם צסא מדא אזססם ; ([חדק 51ד.1] 508 .אמא ,0255) מצדתט (מדק 1187 ,אחא) צאמא =: תעק 1157 ; פאם (01455) 02058 [ 1116 ת1 1186 8806 + ; פאם הפרוצדורה אגא פגמת קוראת מחרוזת של תווים + [ לתוך מערך אאג1א. סוף המחרוזת מסומן בנקודה. 22 ; (שקצץ מאגא : מאגא תגט) מאגא כגמת מהטפמססתע סנאד : נעסאםן 7 + 071א] =: צעסאמן ([זוסאם1] מאגא) פאפת ;'.' = [מעסאם1] אגא זעאט 0 גנאט מאגא >> זעסאמ1 מהזח אזסעם ;]'' =: [מדסאמ1] מאהא 1 + אא =: הדסאטן פא ( סמהת 2686 + ; פא הפונקציה 4108עטס פגמת קוראת את נתוני הסטודנט ָ [ לתוך רשומה חדשה בזיכרון, ומחזירה את המצביע לרשומה זו. ;תצק פ87 : 15דהדמע פגמת אס1עסאטע ;תצק 572 : הצק קאמך ; ת0טעא1 : אדסאט] אזסספם ; (חנק קאתץ ,אמא) אסא הטסס 0 [תדק פאמד] 5408פ.אספא זנזט אזספם ; (מאגא) מאגא פגמת =: מסבהתמטה 0 70-10 1 =: אנסאמן הסקע אזססם ; ([01א1] 18₪סתמאם) סגמת אמח 'א' = [א8תש6א1₪] 158₪סתמאת ‏ עך 1 + מסגהתמעה =: מסהחתעב ; פאם ; (דססך תהאדע , צפמד פזא) אזפגטת =: מסבתם/ (עסמד טמהאזק * 0.5 + תסחך פזא * 0.3 + מסהתתטג * 2) פאטסת [ םטצש )+ ;פא הנק קעמד =: ןגעמ פגמת [ 6068118 2086 + ; פאם הפרוצדורה 214115 תא81? מדפיסה את + [ הנתונים של רשומת הסטודנט (עאמפט1פ). ; (111.5שכ אמפטע5 : צאמפטצפ תגט) 8תדגעטת עאזתק מהססמססמע אזסעם 0 זצאמפטצפ [תדש את (11: 2/0840₪ ,57:12מ7 באדע ,8 פד כדא ,0158:10תמאם , מאגא) [ 60%8118 6תבעס + ; פאם הפרוצדורה צַא1ַע מדפיסה את נתו(:* [ הסטודנטים ברשימה ש-1.151 מצביע עליה. ; (הדק 525 : 1157) עאנתק מהספמססהע אזספם ; א זמזתא ,20: '15סתמאת' ,15:'מאגא שאמפט51') א אנט ];(0₪':10גתמ47' ,12:'פתך עהאדע' ,12:'עפמל פזאי 0 (1852ע) 1157 אס פאט עסא דט אזסטם ; ([1157] 52408₪.אמא) 141806מכ צאזתק (11517 ,אמא) עאמא =: 57ך1 ; פאם אטזזוו [ >ת1סס + ; פא 23 הפרוצדורה ₪957 עַא81? סורקת רשימה מקושרת, ָ ש-1,18917 מצביע עליה, ומדפיסה את שמות הסטודנטים, / שממוצע ציוניהם גבוה או שווה ל-.0/8] 405ת4/0. ; חק 570 : 1197) דפמם עאדתק מהטספססתע ; (אתגא : ממעם1 אזסספ ; א זפדזתט ; (40: '40₪תמ4 מאגא דאמפטצפ') אזמדדתט 0 (1192) 1181 עס פאט צסא מ ודו אזסמם 0 [1157] 55405.אטא העדט אמד מעם] מסהתסטה =< מסהתמטה ‏ עך ; (0₪:8התפטה ,מאגא) אמדדתט - (1.157 ,אמא) צאמא =: 57ד1 ; פא אזפדנתט [ 6תנעם + ; פאם הפרוצדורה פא00ת מחזירה מצביע לרשומה, אם + שדה השם בה שווה ל-מ8אגא. היא מחזירה ,זזטא אם אין ברשימה המקושרת ש-1,151 ( מצביע עליה רשומה, אשר מקיימת את התנאי לעיל. מפצץ טאגא : מאגא הגט) פאטסע אסצ1סאטע ;נק פדפ :| (תדק 870 : 2157 אזסטם אמח (57דע) עפד1 אס פאם עסא ‏ עד אפעד מאגא > מאגא. [1157] 405ק5.אמא ‏ עך1 ((1.151 אמא) דאמא ,מאהא) פאטססע =: פאטסע מס אמ מאגהא = מאגא. [1.157] 405ק5.אסא ‏ עך :115 =: כפאטססע ( מאהא < מאגא. עפדע + מפם עזטא =: פאטסע ו | טא >: פאטסע ( 6מטס? + ; פאם 20 הפרוצדורה איש,זעע מוחקת מרשימה ממויינת, + ש-1],1917 מצביע עליה, את הרשומה, [ שהשדה ₪אגא שלה שווה ל-פאגא 575. מקעיד מווגא : מאגא פצפ תהט) מתם,ומס מתטספססהע ; (פדק 815 : פד תא אזספם אחז (1197) 1197 09 פאם עסא עך אפאד מאהא פד5 > מאגא. [1.157] 5405 אפא עד (שאמא. [1.187] 040₪פ. אפא ,מאגא פע5) מש ומס ₪ אמח טאגא פצפ = מאגא. [1197] 408ק5.אסא ‏ עך אזסטם =: הצק ; (0197 ,אמא) צאמא =: צפד1 (תדק ,אמא) 152058 00 פאם כ ('. פאט0ץ עצסא מאגא צאספטע5 - ותסתתת') אתטצזתח ₪ ('. פאטסץ סא מאגא עאמפטצ5 - ותסתתת') א מצזתט [ 6010606 + ; פאם הפרוצדורה 58%1א1 מכניסה רשומה חדשה + למקום המתאים ברשימה ממויינת. 0 זא מצביע על הרשומה החדשה. [ 1.151 מצביע על ראש הרשימה. ;חדק 575 : 57 אמא) צתתפאד מתסספססתק ; (פ1ק 575 : עפד1 תגט אזסטם אמח (1152) 1157 אס פאם עסא ‏ עד אמזוד מאגא. [כ57 אמא] 52408 אמא > מאהא. [1191] טסבספ.אטא עך (צאטא. [1151] 50408 אמא ,575 אמא) צתמפאד ₪ אמזד מאהא. [פ57 אמא] 08בקפ. אמא > מאגא, [1157] 05ג55.אמא שך ('1151 א1 צפגמת81 צאמפט1ס - !תסתתם') א מצנתט ₪ אזנסטם =: תאמא. [522 שמא] 65405. אס ;ד שמא =: עפדת אמא =: 1197 א =: עשאמא. [1151] 52408. אחא סא ( 6ע50ת1 + ; פאם 2%5 [ 1186 8561 - תדהמ + אזסעם [ "איפוס הזיכרון" + ; (אמא) אמא מהזנזאך ; ( 'ץת. 01,455 ' , 01459) א45510 הרשימה מהקוב לזיכרון) ; (012595) מזדת אסתתק 1157 1030 =: פד [ טעינת דהמפסתת [ קריאת ההוראה לאיחזור מידע מהרשימה + ; ( פא34אא00) פגמת 1 הדפסה של כל הרשימה + עס כאגאאסס 0455 ; (1.157) שאזתק : 'ק' ) הדפסה של רשומת סטודנט + אזססם : 'ד' ; (שאגא 12פ) מאגא פגמת ; א זטינ-תח ; (1.187 ,מאהא פ52) פאטסע =: הצק אפ (תדק) 1187 08 פאם ע0א עד ([פייק] 50408 אפא) 8זנאנמס עאצתק ₪ ('. פאטסעץ עסא מאגא ואמפט51 - !תסתתם') אתמצדתח ; פא 1 ביטול של רשומת סטודנט + אנסספם : 'כ' ; (₪א4א 925) טאגא פגמת ; א,זטינזת (1.15 שאגא כ57) מש זט ; פא [ הוספה של רשומת סטודנט + ;(1151 , 1דהושת פגחת) עתתפאד : 'ז' ָ אזסמת : '2' [ הדפסת השם והציון של הסטודנטים שממוצע [ ציוניהם גדול או שווה ל-1₪080 מסגתמץה. + ; (.₪/₪.1 מסהתמע ) א;זפגמת (,זמעם,1 מסהתמעה , 1.197) דפמם עאזתק פאם [ 6886 + פאם [ הלולאה מתבצעת עד שנקראת הוראת "נקודה". + ;'.' = פאגאאסס עצעאט [ שמירת הרשימה בקובף 00455. + (01.455 7) מודע אד 1151 54/8 . פאם וקשורות:בניה ות והפונקצ:וו 26 פרק 17 מבני נתונים דינמיים 6% > רשימה מקושרת מפעיך ;הטנא = מקצך דאמאם.ום ;פסא" = תצק מפסא פתססמת = מפסא ; מקע עאטום זע : צאמאם.ום אק מפסא : זאפא ; פא תג ;תדע מפסא : צססת ; (תדק מפסא : צפתדע תהט) 507 151 מתטספססהע 8 [ מצביע על הרשומה האחרונה ברשימה שעדיין לא מויינה + , לת0פאט 1457 ( מצביע על הרשומה האחרונה + ;תק מפסא : מ0סקמת 187 ([ ברשימה שהוחלפה. ָ 27 ; (הזק מפסא דדפתדק הגט) 507 מהססמססתע אזסטם אמוו עתספאש 1457 <> צאמא. "עפתנק ‏ עד 1 אם הרשומה הבאה עדיין לא מויינה + אזסטם ( השוואת ) אמזו | שאשאם,ות. "דאפא. "צפתדע < עאמאמום. "צפהדע ‏ עד [ שדות מפתח. + ] החלפת שתי רשומות - ראה ציור + אזסטם ; דאמא. "דפתדת =: םסה זקתת 157 | צאמא. "0₪. [קפת 1497 =: צאפא. "עפחדע ; צפתדע =; שאמא. "08ב קמ 157 ; 405 1קסת 1457 =: לפתזע [ מצביע לרשומה ָ צאמא. צפתדק =: 205 עמת 157 ([( אחרונה שהוחלפה. + ; פאם ( קריאה רקורסיבית למיון של המשך הרשימה + (עאמא. 18517ע) 5081 [15 + פאם 1 הגענו לסוף הרשימה שיש למיין בשלב זה + מפזם [ במעבר הבא יש למיין עד ָ ₪ 1457 =: עתספאט 157 ך הרשומה האחרונה שהוחלפה. + [ 8020 + ; פאם [ 8026 118% )+ אדסםם ( ערך התחלתי - סוף הרשימה + ;א =: עתספאט 1457 [ הלולאה מתבצעת כל זמן ) 20 5081א0 151 <> צפתנע םעז ] שהמצביע על ראש הרשימה שונה. + אזסמם [ מהמצביע על הרשומה האחרונה שעד אליה יש למיין. + ([ ערך התחלתי* למצביע + =: מסהקטת 1457 ( הרשומה האחרונה שהוחלפה. ) ] קריאה למיון עם מצביע לראש הרשימה + (1951ע) 5081 עאם ( 802% 118% + | ;פאם [ תנאם )+ אז0עם ] הפעלת פרוצדורת המיון כחלק מהתוכנית הראשית + ; (3001) 5081 1151 . פא הסבר : : התוכנית מורכבת מהפרוצד | בח,: הפר וצדורה . 50917 .1.197 מקבל .-מצביע' לרשימה ממוּ , דה | הפר וצדורה פועלת : סוף הרשמה הלו לאה של ה 28 לרשומה האחר ו נה ישיש למ*<* ן: = < > הערך ההתחלת*. לרשומה האחר לרשומה הראשו נה <- קריאה לפרוצדו > הלולאה מסת יכ תיאור סכימטי של תה "המיוון - /, | נצי ג את תחליך ההחל מסומנות ב-2 ו- ב אחר. תמו נת המצ = הערה: * המשתנה פתדקי אשר בפק - להי ות השדה אפמא של הרש אל ראש הרשימה, או השדה אא 1 29 מצב התחלת: : ץאטא. "צפתדק =: מס וטמת 157 מס,זקטת 1.497 ביצוע: 1אתא. "208 1סחת 157 =: לאמא. "דפתדק 05 זסטת 157 עפתנע ביצוע: 1פתדע =: שאמא. ‏ מסג,נפטת 1587 מס ספת 197 - דפהדע צאפא. "דפתדק מס קת 57 ביצוע: עאמא. "צפתדע =: מ0סבתסטת 1497 קת 197 0017 מס, זקתת 1457 21 ּ א תדה := אספאט 1457 = דאמא- 7 עפחדע,: ומת צפתנע ספא 1491 ₪ קת 1497 צפחנע עתספאט 1457 סג קת 157 202 | ומהפר וצדורה 1.197 8081 - 1 . / 0% +2 23 תוכניות (ראה תרגיל תכנות 1 בפרק 16) ; (עעפנע0 01495 , תשקאד) 1.87 570 אבתססהע 00 1 אורך מכסימלי של שם ) ;0 = זתסאם1 מאגא ממצך ; 011 פס [מתסאםז טאגא. .1] צגתתה סמאסק = מפצך מאוא ;6 = אתגא ; 11.5 תשק צאמפטעפ" = תצק 515 ] רשומת פרט* סטודנט + מתסססת = 14185מכ צאמפטדס [ שם ָ שפצ מאגא : ממאגא ( עבודות) ;071 עס [1..10] צגתתג :| 0155תמאם 1 ציון במבחן בינ'ים + , דסטד פדא ([ ציון במבחן סופי ‏ + , חפמ גאדת [ ציון ממוצע ָָ ; אתא : ככ ] מצביע לרשומה הבאה + הדע 875 : שאמא ; פא ; 5.זד עס צאמפטנם 0 מדק = מתדע פצפ הג [ קוב רשומות של פרטי סטודנט + 9 : 5 | פד ] מצביע לראש רשימת הסטודנטים + ;תדע 878 : היק ;תס : פאגאאסס ; מקציד מאגא : מאגא פזפ ; אתא : מע ] מ0התמטה הפונקציה 157 עס פא מחזירה ערך 7808 כאשר ‏ + / המצביע תק 2191 הוא ‏ 1א, כלומר סוף הרשימה. ,א0014ם : (אעק פס : תק 1157) פד עס פא אסזנסאטע אזסטפ מא = הדק 1197 =: 2187 08 פאם [ 1186 0% 6מ6 ) ;פאם 258 / הפונקציה שודק אסהע 1.187 1082 יוצרת רשימה מקושרת ( מהרשומות הנמצאות בקובף 01/55, ומחזירה מצביע לראש הרשימה. (תדק 52 : (מעדק פצפ : 0455 תהט) מעדע אסתק עפ 1082 אסננסאטק הפונקציה ₪/דע פגמת קוראת רשומה אחת מקובף 0185958 + 1 לתוך רשימה מקושרת, ומחזירה מצביע לאותה רשומה. ;תדק 515 : שדק פגמת אסצעסאטק תגצ (תדק 510 : הלק קאמ אזסםם [ אם סוף הקוב - + או (01495) עסם עד ( סוף הרשימה. ָ תא =: מתדע פגתת [ אחרת - לא סוף הקובצ + | אזסטם 1 הקצאת מקום בזיכרון לרשומה חדשה. + 4 ; (חעק קאמך) אטא / קריאת רשומה מקובף 01455 אל + ;( תחדק סאמץך ,01295) פגמת ] רשומה בזיכרון, שעליה מצביע "תחדק שאתד. 7+ . [ שרשור השדה עאמא + ד פגמת =: עאמא. "חדק קאד [ ע": קריאה רקורסיבית לפונקציה ₪ת1ע פגמת. + ] החזרת ערך המצביע לרשומה החדשה + הדק פאמך =: המצע פגמת עאא [ 116 2086 )+ ;פאם ( 1116 0₪ע+ 1186 1086 + אדסעם ; (01499) [שפסת ( החזרת המצביע לרשומה + מוצע פגמת =: מודע אסתע עפד 10 ( הראשונה ברשימה. ְָ / 6 מססם+ 1180 1086 + ;פאם הפרוצדורה מעדצע א1 1151 ₪ש54 כותבת לקובף 01355 את הרשומות, )+ ( שנמצאות ברשימה המקושרת ש-18ק 1,151 מצביע עליה. נתדת עס : הצק 57ד1) מענע אד 1197 5408 מהטספפססחל ; (פזנע 592 : 014585 תגט אזסטת : (01499) מדדתותת [ לולאה - כל זמן שלא | + 0 (תדק 1182) 1187 פס פאם עסא ממזצט ך מגיעים לסוף הרשימה. + אזססם / כתיבת רשומה ש-חצק 1181 מצביע + ; ("תעק 1181 ,01458) מצדתק [ עליה לקובף 00495. ָָ / הזזת המצביע לרשומה הבאה ברשימה+ צאמא. "הדע 1197 =: הצק לפדן ; פא (0195) 01058 ( 116 ת1 118% 8806 ) ;פאם 25 הפרוצדורה מאגא פגמת קוראת מחרוזת של תווים ָ ך לתוך מערך מאגא. סוף המחרוזת מסומן ע"י נקודה. ; (מפצך מאגא : מאגא תגט) אהא פגמת מהטסטססהע 7 תג ; תמ0מעא1 : אעסאט אזססם =: :א דמסמת ;1 + תאו =: אתסאטן ( [אשאם.1] פועגא) פופת [ הנקודה מסמנת את סוף המחרוזת + ;יי = [ַעסאמ] טאאא ת1עאט 0 זתסאםז מאגא => אמסא מדדת [ מילוי רווחים עד סוף המערך + אזספם ל' ' =% [זנאם1] מאגא 1 + נתסאם =: זוסאס פאם ( ששאת 2686 + ;סאת הפונקציה 5 פגמת קוראת את נתונ* הסטודנט ָ ( לתוך רשומה חדשה בזיכרון ומחזירה את המצביע לרשומה זו. ; תק 75ס : 8מדהדמת כגמת אסזצסאטע הגש ; דע 875 : תעק קאמך ; תתסמנאד : 1סא אנסמם ; (הדק קאמד) אטא חדשה + 0 787ק קאמך גרד אזספם ; (מאגא) מאוא פאמת 6 =: מסהתמ/4 0 10 10 1 =: אתאת1 תסע אזספם ; ([0111א1₪] מ15סתמאם) פגמת אמעד ‏ 'א' = [התאת1] מפדקתת)ם ‏ עך 1 + מסגתסטג =: מסהתתטה [ המדק קאפ מצביע לרשומה חדשה בזיכרון + ] מכאן ההתייחסות היא לשדות של הרשומה ה [ קריאת שם הסטודנט לשדה טאאא + ] קריאת הציונים של 10 תרגילים + ; פא ( קריאת ציוני הבחינות + ; (תפטן גאזעת | דפתד פזא) אזפגמת [ חישוב הממוצע. ו 7 =: מסהתחטה (עסמד זהאזעת * 0.5 + דפמד פזא * 0.3 + מסגתמעט * 2) פאטסת ; פא [ החזרת המצביע לרשומה + תק שאחד =: 8ודגדטס סופת [ 60%8118 686ע ) ;פאם 206 הפרוצדורה 4108עמת זאזתתק מדפיסה את | + [ הנתונים של רשומת הסטודנט (עאמפטפ). ; (1411/5שכ דאמפטס : עאמפט51 תגט) 6תדהדטס צאדתק מהססטססתע - אנסמם 00 *אטפטזפ הצח אזמזזת (11: 0₪התת/4 ,91:12ת1 גאדת 8 פד 0 , מוהא) 7 ( 0068118 6מ1עס ) ;פאת הפרוצדורה עאזתע מדפיסה את נתוני ָ [ הסטודנטים ברשימה ש-1191 מצביע עליה. ; (תדק 515 : 1517) צאדתק מתספפססתק אזסטם ; אזטדזת ,4: 'מפ1סתמאם' ,15:'מאגא צאמפטצפ') אותדדתט : (10:'ע0התסט4' ,12:'פתד עהאנת' ,12:'עפמץ פזא'י 0 (152) 152 תס פאם עסא מתזאח אזספם ( הדפסת הרשומה ש-1.157 מצביע עליה + ; ( 7 7) 5 פאדתק [ הזזת המצביע לרשומה הבאה + אמא "פד =: צפדן ; פאם א זז [ 6תנעס )+ ;;פאם הפרוצדורה ₪51 עַא81ת סורקת רשימה מקושרת, [ ש-1/151 מצביע עליה, ומדפיסה את שמות הסטודנטים [ שממוצע ציוניהם גבוה או שווה ל-1₪081 מסהתפטג. ;דע 572 : 1157) 57 עאצתק מהטפמססתק ; (אתהא : 0מ/1₪ מסהתסטה אזסטם ; א דדש ; (20: '0₪ תת טאאא זאמפטנפ') אפמדנתט 0 (1151) 1151 עס פאם דסא ממדנט אזסמם 0 עפדע תנש אפחדך 10000 מסהתס/ =< מסבגתתטה ‏ סך : (0₪:8תסט4 ,מאבא) אמדדתט צאפא. "פד =: צפדן ; פא אזינזתט ( 0086 6ת1עס )+ ;פאע 27 הפרוצדורה פא00ע מחזירה מצביע לרשומה אם + שדה השס בה שווה ל-מאגא. היא מחזירה ,נא אם אין רשומה ברשימה המקושרת ש-1.157 [ מצביע עליה, אשר מקיימת את התנאי לעיל. ;שפצ | מאגא : מאגא תגט) פאטסע אסצצסאטע ; תק 575 : (מדק | פד : תפדן אזסםם [ אם לא סוף הרשימה + אמא (1182) 152 08 פאם עסא ‏ אד ( השדה ₪א84א ברשומה קטן מ-אאגא + אממד מאגא > מאגא. עצפנ עד ( קריאה רקורסיבית + (שאמא. 119177 ,מאגא) פאטסע =: פאטסע ([ לחיפוש בהמשך הרשימה.+ מפט אמח מאגא > מאגא. ידפז קד [ הרשומה נמצאה + 52 =: פאטסץ ( מאגא < מאגא. "197 + מפ ([ מאגא לא נמצא כי הרשימה ממויינת + ענא =: פאטסע מפזם עזא =: פאטססק ([ 6םוס? + ;פא פרוצדורה ,]טע מוחקת מרשימה ממו*ינת, + ש-1.191 מצביע עליה, את הרשומה ( שהשדה ₪א48א שלה שווה ל-טאגא 525. מקציץ מאגא ; (18ק 815 : מאהא 575 תגט) מעם,מת מתססמססתע : 7 תג אזסטם אמח (1157) 1157 עס פאם עסא ‏ אך אפח מאהא 575 > מאגא. דפד קד (צאמא. 1.1577 , מאגא 575) מדם טכ 8 ( הרשומה נמצאה ) אפ מאגא 572 = שאגא. 11877 התד אנסמם *=: תצק ; אסא 1577 =: 157 (ת1ק) 150058 פא ו ('.סשאטסע עסא מאגא עאמפטד5 - ותסתתת') אומדזתקט ככ ('.סאטסע עסא מאגא עאמפט1פ - !תסתתם') אעמצזתט [ 461606 ) ;פאם 28 הפרוצדורה צ5%א1 מכניסה רשומה חדשה + למקום המתאים ברשימה ממויינת. 510 שא מצביע על הרשומה החדשה. [ 1151 מצביע על ראש הרשימה. ;תק 529 : 572 אמא) צתספאד מתטספססתק ; (תדק 518 : 1187 תהט אזספם אפאד (1187) 97ד| 08 פאם עסא שך אמחד מאגא. "515 שפא > מאגא. "דפדן עד (צאפא. 11577 , 579 אמא) צתתפאד ₪ אפ מאהא. 5227 אסא = מאגא. "דפד עד ('1191 א1 צסגמת/וןה צאמפטדפ - ותסתתת') אהמדדתט ( ברשימה נמצא שם זהה + לבו אזספם =: תאמא. ₪7 אמא פדפ אפא =: 1157 [ סוף הרשימה + מפזם [ הוספה בסוף הרשימה + אנסאם אמא =: עפדן שא =: עאמא. 11977 פאם [ 6ע6פםת1 + ;פסאם [ תנאם ) אז0מם ; ('055.1' ,00855) א910פה ([ טעינת הרשימה מהקובא לזיכרון) ; (01.455) פזדע אסחע 1157 1082 =: לפדן דהמקטת [ קריאת ההוראה + ; (פאאא0ס) פהמת שס כאגאאסס מפבס ( הדפסת כל הרשימה + : (1191) עאזתק : יקי [ הדפסת רשומת סטודנט ) אזסטם : 'ך' [ קריאת שם סטודנט + ; (שאגא 52) טאגא פגמת ; א1ם1זתט [חיפוש של השם ברשימה) ; (1.157 ,מאגא 512) פאטסת =: תדק [ אם נמצאה הרשומה )+ אמא (הדק) 1152 חס פאם עסא סד ( - הדפסת פרטי הסטודנט. ) ("הדע) 4115דמכ צאצחק ( הסטודנט המבוקש לא נמצא ברשימה ) 7 מפם ('.עאטסק דסא מאגא לאמפטדפ - !תסתתת') אותצנתט ; פאם ] ביטול רשומת סטודנט )+ אנסשם : יכ' ( קרא שם סטודנט + : (פאגא 575) מאגא כגמת ; אפטצזתט ] מחיקת הסטודנט מהרשימה + (1.151 ,מאגא כ57) מדם/ וטס ; פא ] הוספת רשומת סטודנט + ; (1151 ונת עגמת) צתתפא1 : 'צ' [ חדשה לרשימה. ָ / 209 ך הדפסת שם וציון של הסטודנטים שממוצע ציוניהם + אזסםםת : 'כ' [ גדול או שווה ל-₪/0] מסאתפט4. ; (.81/₪,1 מסַתםע42) אזסגמת (,מע,] מסהתתע4 ,1157) עסמם לאזתק פאם [ 0886 + פאם ] הלולאה מתבצעת עד שנקראת הוראת "נקודה" ) ;'.' = פאגאאסס ענצאט [ שמירת הרשימה בקובף 01895. + (010495 ,1157) מתדע אך לפד 54078 . פא . וו ובפרוצדורות שלהלו, סדו | ברשומת הסטודנט 411.5זטק. צאמפט1ם. = הפרוצדורה צתמפאד מצביע ראש הרשימה לרשומה חדשה פד פיפ אמא 200 פדפ אסא =: לפך1 "תיאור סכ*מטיישל. הוספת הרשומה": מצביע לראש הרשימה או שדה 1אמא של רשומה קודמת. דפ אחא 21 א. עאטא. 7 ו מקבל. את ערכו; < של 8 ומצביע לרשומת:: ב עדכו ן ערכו של 0 למצביע. על | רשומה. "מ / מצב:ע לראש הרשימה או שדה ?אמא של רשומה קודמת. :=‏ דאטא הפרוצדורה 8 מטרה : מחיקה של רשומה מרשימה ממוייגת לפ | שדה. השם הסבר :+ גניהח מקרה פרטי בו צריךף למחוק את הרשומה מראש הרשימה: .את המצביע לראש הרשימה וכותבת בו את ערך השדה צַאטא של הרשומה שנמחקה ו דד צאטא 1 צאמא : 202 מקבלים את המצביע לראש הרשימה ומשתמשים בו כדי להתקדס. ברשלמה -ע "5700 קריאות רקורסיביות לפורוצדורה ₪78 טע, בכל פעם הקריאֶה תִיעשה' עם מצביע לרשומה הבאה, עד ששדה השס ברשומה הנוכחית *ה:ה שווה. לשם, ברשומה ישיש למחוק. בשלב זה מגיעים למצב שתואר. בדוגמה*לעיל; : = שים לב: המשתנה 1.151 מועבר ע"* תג/, ולכן. כאשר מעדכנים אותו' בקר רקורסיבית מעדכנים גם את השדה אמא של הרשומה הקודמת+5 ה כאשר מגיעים לרשומה ששדה השם שלה צריך להיות לפי סדר המלו 1 זשם שמחפשים - הרשומה שמחפשים לא נמצאת ברשימה. ולכן, מדפיסים הודעת שג 'יאה;: "הירגע, באתי רק לקחת מסוף ישן". אסוז וא 6 23 תופנית 2 (ראה תרגיל תכנות 2 בפרק 16) ; (2עקדט0 ,צשפאד) א ד ת ד 4 א אוהססתע א [ מספר שורות מכסימלי + 7 = 5128 אגא מפצך ;פט1וט" = מטתגט אמא [ רשומה של ערך השונה מאפס במטריצה + פתססמת = מטעגט [ מספר הטור + , אאט.001 ( ערך ָ ; תמסמעא1 : 1 [ מצביע לערך הבא באותה שורה + מטתגט אמא : זאמא ; פא [ רשומת מטריצה ָ פתססמת = אצתדגא ( מספר השורות במטריצה ‏ + , 005 [ מספר העמודות במטריצה + אג..1 : 05 ( מערך + 74008 אמא 0 [5128 אגא. .1] צגתתה : חסת דתגדפ [ מצביעים לתחילת השורות.+ ; פאם תג ;אזתדא : א [ קריאת נתונים למטריצה + ; (אצתךהא : א תגט) אדתדהא כגמת מהססמססהע הג ;0 פאמא : קאתך מטזא אזסטם 0פ א תעש אזסטם [ קריאת מידות המטריצה. ָ ; (0010%5 , 005) א ;זפהטת ( לולאה על שורות המטריצה )+ 0 3008 70 1 =: 1 תסע אזסספם ([ מצביע על קריאת ערך ראשון בשורֶה + ;סד =: עפתדק ( לולאה על עמודות המטריצה )| 20 0000/88 70 1 =: 7 תסע אזסטם ( קריאת ערך + ; (04108) כגמת אמ 0 <> משתגט עך [ הערך שנקרא שונה מאפס + אזסטם אמח תעפתדק אד אזסטם [ ערך ראשון בשורה. ְָ =: עפתדק ( מצביע לתחילת השורה.+ ; ([1] אסת 5248) שטפא [ד] אסת 87381 =: קמע פאם ( נקרא ערך והוא אינו הראשון בשורה + מסם אזסםם [ מצביע לרשומה הבאה ) ; (תאמא. "פואמי) שמא צאמא. "קאמפך =: קאמך ; פאם 208 [ הכנסת הערך לרשומה.) > שגט, "קאפ [ הכנסת מספר הטור. ‏ + 1 =: אא000. קאתך [ 6ט1פט 19 + פאת [1 עס+ + ; פא אמח" עפתנע עך אם לאחר הקריאה משתנה ע185ע עדיין מטשתך + ( - לא קראנו אף לא ערך אחד השונה מאפס. ( בשורה זו אין ערכים השונים מאפס + עדא =: [1] אסת זגפ מפם ( ציון של סוף רשימת הערכים + 2 [ השונים מאפס בשורה 1. ָָ ;א =: צאמא. קאפ [ שורה חדשה + אזפוטת [ 1 עס? + פא [ ₪ םסצש + פאם [ א1ע86ם 2680 + ; פאם הדפסת המטריצה א. הפרמטר 8028 קובע אם יודפסו כל איברי ‏ + [ המטריצה (כולל אפסים), או ש*ודפסו רק הערכים השונים מאפס. ;אדא : א תגט) אזתדא צאדתע מהספמססתק ; (ת4חס : מפסא הא י*אטא : קאמך ;תפסטעא : 7 ,1 אזסטם 0 א דט אזססם [ לולאה על מספר השורות + 0 3008 70 1 =:1 תסק אזססם [ מצביע לתחילת השורה + ] את 611 =: קאמ 1 =: 41 [ לולאה עד סוף רשימת + 0 תתא <> קאמד מנחט [ הערכים בשורה זו. + אזסמת [ אם )+ 20 ('ם' = מפסא) סאג (אא001. "קאמך > 1) ממדטט ( 'ם' = מפסא + אזספם ([ מדפיסים איברים עד האיבר + : (0:5) מעצתט [ הבא השונה מאפס. ָ 1+ = ך [ יציאה מהלולאה אם הגענו לאיבר + ; פא [ השונה מאפס או ש-'ג'=מפסא. - + 1 + 7 =: 47 ( הדפסת איבר השונה מאפס. ָָ ; (1:5גט, "קאתיך) מקצתט ( מעבר לאיבר הבא השונה מאפס.) צאפא, "קאד =: קאמיך [ ס6₪> 116תש + ; פא 0 ('פ' = מפסא) פא (פאאע001 => 7) שמזוחו ( אם 'ם' = 8028 אז הדפס אפסים עד סוף השורה ) אזסטם ; (0:5) מצד 1 = ד = ;פא [ שורה חדשה + אמזתחט ([ 1 עס+ + פאע ( ם ב16ש + ;פאק 205 אופדזתט ( א1ע₪86 6מצעם + ; פא ] הפונקציה מחזירה את סכום ריבועי האיברים של אלכסון המטריצה + ; תמסטצאד : (אזתדגא : א תגט) 500485 א0סזנסאטע | סט דאמא : קאמך 10 ; תמסמפעאז : 504 ( הפונקציה מחזירה את המספר הקטן מבין 4 או 8 )+ ,4) אדא אסזעסאטע ; ת0₪מעזא1 : (ת0פעאז : 8 ( ם₪1 ) אזנסמם אאחך 8 > 2 עב 4 =: אזא 5 8 =: אזא [ תנם ) ; פא ( 5008298 + אדסםת 0 =: אעספ 0 א זא אזסעם ] לולאה מ-1 עד + 0 (5א00100 ()ָ אתא -70 1 =: 1 הסע ] המינימום שבין מספר העמודות למספר השורות. + אזסמם [ מצביע לאיבר הראשון + ;[ד] אס 7481 =: קאתך ( ברשימה, בשורה .1‏ + 0 (1 > אאש01ס. "קאמד) פא (מדא <> פאמל) םדנט ; דאסא. "קאמ =: קאתך התקדמות ברשימת הערכים בשורה 1 עד למציאת איבר הנמצא ‏ + על האלכסון (טור = עמודה), או עד לאיבר הבא אחריו. אם ] הרשימה בשורה זו ריקה לא תתבצע הלולאה כי: עעא = קאמץ. [ אם נמצא האיבר שעל האלכסון + אעז 1 = אאט01ס. "קאמל ‏ עד [ הוספה לסכום הריבועים )| (עגט. קאע1) 50 + 50% =: אש5 פאם [ ₪ םת%דש + ; פא אפ =: 00285 [ 8ע5008 + ; פא [ ם₪81 )+ אזס0םם [ קריאת המטריצה. ) ; (8) אזתדהא פגמת [ הדפסת המטריצה ללא אפסים. ‏ + ;('ג' ,א) אזותאא זאזתת [ הדפסת המטריצה, כולל אפסים.+ ;]('פ' ,א) אזהזאא זאזהתק ('סכום הריבועים של איברי האלכסון: ' ,(א)500485) א ידדוש . פא 206 08 04-08-06 08-98 8 0-8 0-0 5 6-6 1 | 0 00 0-0 רשומה מסוג אזתדהו <ם 05 מספר שורות מצביע ערך מספר טור 05 לערך הבא גאט אאטשעסס מספר עמודות רשומה מסוג 1 ו מספר שורה 2 (מערך של מצביעים) 3 4 207 ; (עטפצטס , תשפא1) (ראה תרגיל תכנות 3 בפרק 16) אסאצ. 01 פתפצאד0ק 4הססהע מפצך הק" = אסאצעסק סתסספת = תזגק ( מקדם + , 0708 [ חזקה ) ;סנאד :| התטסק [ מצביע לאיבר הבא + אסאצעסק : צאטא ; פאם הגץ 7% ;אצת : 6 ; אסאצסק : אסאעסק פגמת אס1ץסאטע :| ; אסאצסק : תדק אזסטם ( הקצאת מקום לרשומה חדשה + ; (הדק) טפא ] קריאת נתונים (מקדם, חזקה) + [ סוף קלט + ( שחרור רשומה ) [ קריאה רקורסיבית לשאר הקלט + [ החזרת ערך המצביע לרשומה ָ ; (08אצ201 : ( אם הרשימה ריקה הדפס אפס (0) + ( איבר ראשון. ָ לולאה עד סוף הרשימה + משלב זה - ההתייחסות היא לרשומה + 20 המקדם של:לי + המקדם חיוב* + ([ אם אין זה איבר ראשון + [ - הדפס '+'. ָ ] ] ב ([ ש- ק:אמץ מצביע עליה. / ] 208 0 תצק זצדט ; (תתשסק ,40108ע) א זפאמת אעו ‏ 0 > 40108ת. תדק עד אזסטם ; (18ע) 152088 א =: הדע עאם מפזט ;אסאצ1סק פגמת =: צאתא. "הדע תק >: אסאצעסק פגמת [ מסתצ1סק 2086 + ; פא <אמיך) אסאצעסק צאדתק מהטספססהע תגץ צפתנעת אזססם אמח מזא = קאחד ‏ אב (0) א מזזתח ₪ אזסטם ;ו =: עפתנזקע 0 תא <> קאמל מעזחה אזסטת "ספאמ וד אזסמם אמח 0 > 60108גע שך1 ('- ') מתזתח ₪ אמעץ עפתנע עסא ‏ קד ;](' + ') שצדתח =: שפתדק ; א : ( אם המקדם שונה מ: 1- או 1 ) אתמץך 1 <> (40108ע) 5םג ‏ סד [ - הדפס אותו. + ; ((40108ת) 8425) מצדתט .] אם החזקה שונה מאפס + אמח 0 <> מתחסעק עך [ - הדפס 'א'. + ;('א') מענתח ([ אם החזקה שונה מ-0 או 1) אמץ ([1 ,0] אד תתשסק) עסא פד [ - הדפס אותה.+ (1:תמחסק ,'**') מדדתט [‏ סשסס תס1ש + | ;פאם ( עבור לרשומה הבאה + צאמא, "קאד =: קאמ [ סשסס 116ת + ; פאם אזטזזתט [ 19 + פאם ( מסתץ1סק סתצעק + ; פאם פרוצדורה לחיבור מקדמים של 2 איברים בפולינום, אשר 1תדַק ו-2תדַק + [ מצביעים עליהם. התוצאה תהיה במקדם של הרשומה ש-2181 מצביע עליה. ,1ת7ע) 0108ע פכג מתססטססתק ; (אסאצ01ק :- 2תדע אזסמם 00ת. "2דק + 0ד40ת. "1תדע =: ת0עסגע. "1חדק ( 1806002 866 + ; פא ([ מחיקת רשומה (איבר), ש-218 מצביע עליה, מהרשימה + ; (א0אצ01ע : תצק תגט) תדגהק מדש מס מהטספססתק תג ;עס : סאת אזסעם [ שמירה זמנית של המצביע. ָ תדק =: קאמך ( עדכון המצביע לרשומה הבאה ברשימה. | + ; צאטא יחק =: תדק ( שחרור שטח בזיכרון של הרשומה שנמחקה. ) (שאתץ) 8 ( ע1פק 461606 + ; פא ([ חיבור שתי רשימות לרשימה אחת חדשה + ,+ 580) פאסאצסק 0 מתטספססתע ;0% :20 סתפ " ; (08אצ01ק :| לעפמכ תגש הא ;סק : קאמך אזסטת אטע (ענא <> 2 580) 08 (1א <> 1 0ת5) אד אזססם [ אחת הרשימות לפחות אינה ריקה + (17פמפ) שמא ;1 =: קאתך [ כל זמן שהמצביע אל הרשימה אינו + דמלת ] מצביע לסופה - מבצעים את הלולאה.) 20 10א <> 1 580 מתדצט / העתקת רשומה מרשימת המקור לרשימת התוצאה +, אזסטם 50 =: "קאתך 209 ( אם לא סוף הרשימה + אפאד בא <> עאמא. קשמד פד אזסטם. ([ הקצאת מקום בזיכרון לרשומה חדשה.) ; (צאמא. "קאסד) אסא ( קידום המצביע ברשימת התוצאה. )| עאמא. "קאד =: קאמך ; פא [ קידום המצביע ברשימת המקור )+ צאמא."1 580 =: 1 סתפ [ 116תש + ; פאם 4 אמח א <> 2 580 אך [ רשימה.2 אינה ריקה + אזססם ( 1 580 יצביע על תחילת הרשימה השניה + ;2 580 =: 1 580 ₪ 7 =: 2 580 [2 580 מקבל את הערך זא כדי שמעבר זה לא יתבצע שנית + ( הקצאת מקום בזיכרון לרשומה חדשה.+ ; (צאפא. "קאפ1) קפא ( קידום המצביע של הרשימה החדשה. ‏ + עאמא. "קאמ =: קאמך פאם -7 בשלב זה מצביע 1 580 על רשימה מספר 2. כלומר - הרשימה. + הראשו נה הועתקה כולה לרשימת התוצאה. ואז 10א=:2 580. 0 בפעם השניה שיתבצע הקטע התחום על יד: להמקמת, גם 1₪א=:1 580, והלולאה תפסק לאחר ששתי הרשימות הועתקו, [ בזו אחר זו, לרשימת התוצאה. נא > 1 580 מזעאט [ 1 עסם 19 + פאם [ שתי הרשימות ריקות + ₪ ענא =: עפמת [ פשסתץ1סק 606תמ00 + ; פא [ מיון רשימה (לפי דוגמא 1) + ; (08אצ01ע : לפתדע תגט0) 5087 1152 מהססטססהע הגע , דהספאט 1.457 ;סע : מס קמת 157 ; (אסאצ01ק : עפתדע תגט) 502 מתססטססתע אנספם אחצ (עתספאט 1451 <> שאפא. "לפתדע) ‏ א1. ו אזססם אמזן תתשסק, "שאמא. "עפתדת < תמאסק. "עפתדק ‏ עך אדספם ;עאמא. עפתדק =: ₪ 1.57 ; צאטא. 07,[עמת 1457 =: דאמא. "דפתדע ; דפתדת =: דשאמא. ‏ מס זקמת 1457 ;40 ]קת 157 = צפתדת צאמא. "עפהדת = גסמ 157 ; פאם (צאמא. "זפתדק) 5087 (... 80ע21) 19 + פאם 5% ₪ 157 =: לה0פאטש 1457 ( ססעס8 + ; פאם 200 ( 805% 118% + אד0סת ;א =: ד1תספאש 157 10 1תספאט 151 <> עפתצקע תודחחס אזסמם ד =: 08 [קעת 1457 (1891ק) 9081 פא [ 802% 118% + ; פאם [ פרוצדורה לחיבור של חזקות שוות + ;0 : (אסאצנסק : ע) פתמחסק מאג5 ספה אסנעסאטת תג ; אסאצעסק : תדק שפד אזסטם אפא (ע1א <> ע) שך אזסטם 0 (תמאסק. "אמא. 7 = תפאסק. "פ) פאה (עדא <> עאמא."ע) ממדטא ( אם החזקות שוות + אזסטם [ חבר מקדמים. + ; (1אטא. "עפ ,2) הסדסגע פסה ([ מחק את הרשומה השניה מבין + (צאמא. "ע) תצק מש טק ] אילו שחיברת את מקדמיהם. ) ; פא אפ 00 > 0108גת.יקע סך [ מקדם שווה אפס. ְָ אזסטת ( שמירת ערך המצביע, + = =: הצק שפנכ [ הערך החדש של המצביע + ; (צאמא. 7ש) פתמשסק מא58 פפת =: ק [( יתקבל ע": קריאה רקורסיבית לפונקציה. + ] שחרור רשומה קודמת עם מקדם 0 + (פעק 15כ) 5058דס פאם | (צאמא, "ע) פתמשסק 5405 פפג =: עאשא. "ק [39 + ;פאס [ מצביע לתחילת הרשימה + פע =: פתמטסק מא54 פפג [ פעסשסק 88₪6 886 + ; פא הפונקציה מקבלת שני מצביעים לשתי רשימות המייצגות פולינומים, + / ומחזירה מצביע לרשימה חדשה המכילה את תוצאות החיבור שלהם. , ) כאסאצסת פכג אסזצסאטץ ;0 : (אסאצנסע : 6 הג ;0 : עספתת אזספם [ חיבור שתי רשימות + ; (1ספעת ו ,ת) פאסאע0ק עסמאאסס [ מיון רשימת התוצאה ) ; (501.1מת) 07 151 ) החזרת מצביע לרשימה + (דטפסת) 5תמטסק 54% פפה =: סאסאצנסק פפג ] לאחר צמצום של חזקות שוות. + [ פשסתץ1סק 806 + ; פאם 21 / הפונקציה מקבלת שני מצביעים לשתי רשימות המייצגות פולינומים, ( ומחזירה מצביע אל רשימה חדשה המכילה את המכפלה שלהם. ,ם) 5אצ סק עו זקדדזטא 108עסאטע ; 08אע01ק : (אסאצ01ע :6 הג , שאמ , תק ; אסאצ0סק : ץ ,ספת אזסטם ך אם אחת הרשימות ריקה + אפ (מזא = 6) 08 (ענא = ע) עד 1 התוצאה היא רשימה ריקה + , מא =: צספסת ' ₪ אזספם 1 מצביע לראש רשימת התוצאה + ; (ע:זטפמת) אמא ;1טפסת =: תצק 0 םתא <> ע ממזחט ([ לולאה על כל איבר* הרשימה ש-2 מצביע אליהם + אזסטם .0 =: קאמך 0 תתא <> קאמחל מתדתט ( לולאה על כל איברי הרשימה ש-6 מצביע עליהם + אזסטם (הכפלת מקדמים) ; 4070 . "שאחדי * 40108ת. "ם =: 40108ת. "אק 1 חיבור חזקות ) ;תתאסק. "קאמך + פתאסק."ק =: המטסק. הדק [ שירשור לאיבר הבא ברשימת התוצאה + ; (שאמא. "הדע) שפא [ קידום מצביע ברשימת התוצאה + ;צאמא, "תק =: תצק [ קידום מצביע 6 + דאסא. "שאמ =: פאמך ; פאם נאמא."ק =: ע [ ם 116םתש + ; פא ] ציון סוף רשימת התוצאה + עדא =: צאמא. "תדק ([ 6186 + ; פאם ] מיון רשימת התוצאה + ; (ע/1טפמת) 5087 1157 ] צמצום חזקות + (/1טסמת) פתמטסק 53% פפג =: 088אע01ק ע.1קד1זטא [ שוות ברשימת התוצאה. + [ קידום מצביע פ + ] פמסתץ1סס ע16101טם + ; פאם ( ם81ם )+ אז0טת ] קריאת פולינום ראשון + ; אסאצ1סק פוגמת =: ק ([ קריאת פולינום שני | ) ;01 המת =: 0 ; א,זטדזתא ; (40: 'הסכום הוא: ') אומדזת ; ((0 ,םת) 5סאצסס פםג) אסאצתסק צאזתק ; (40: 'המכפלה היא: ') אזמדזתן ) הדפסת מכפלת הפולינומים )+ ((0 ,ת) פאסאצז0ק צקדיוטון) אסאצסק צאזתע . פאם [ הדפסת סכום הפולינומים ) 202 : שלב ל שלח :: א; הקצאת מקוס לרשומה החדשה . ב קריאת נתונים לתוך שדות הרשומה. 0 ג . אס שדח המקדס ברשומה הוא 0 (אפס), כלומר סוף הקלט, משחררים את;. המקום שהוקצה 1 יכו ומחזירים ל א לשדה עאפא של הרשומה החקודמת, > : אחרת, השדה אא של הרשומת הנוכחית *קבל את 'ערך המצביע המוחזר מקר יאה רקורסיבית של אסאצ0ק פגמת. עבור שארית הקלט. > : ד. הערך המוחזר ע"י הפונקציה הוא המצביע להשומה הראשו נה שנלראה. - נציג את ו הזה בתרשים 1 2 נתונים הערכים: 3 ל צגים את הפולינום: 233 ך-->- אסות סק אמות =: 2 > 8 ו = מ 5% דאטא [-- )אסא זסק פומ =: (ופסם) 2182058 מא ומתקבל : 2% וצרָורת 2418 | שזש.וטק מקבלת מצביע לרשומח מסוג :18 מוחקת. הרשומה. 1 הזו ומעדכנת את המצביע.: לרשומה' הבאה ::‏ נתאר: זאת בתר | המצב הראשר ג 275 -- 0 נקצית 0 בר ץר 0 אמדת: השדה. 1אמא של . הרשומת, מקבל. את" המצביע. החוזף ימה אה אם המקדם 0 (אפס): אם סוף הרש*מח" - - מחזירים תא ו : אחרת :. כל זמן שיש לפחות 2 רשומות: "ושדה 1 החזקה שלהן שווה ; = מחברים. מקדם של הרשומה השניח'י "למקדס של הרשומה ה אשר :- מוחקים את הרשומה -השניה מהרשימה : = - מוחקים את הרשומת 5 = מַחזירים את יהמצביצ, שמתקבל' מהקר* אה :הרק ורס יבית .לפו נקצ , >פרמטר שהוא המצב*ע: יעל הרשומה הבאה %לפו נקציה. 206 (את תוצאות החיבור / ראה בעמוד הבא) קריאה ראשונה (צאמא. "תק =) 2 0 = ה0זסגת. ".פע ולכן 1 קריאה שניה: ; (דאמא. "כ ק) 5המא0ק ₪ווהפ ספא =: עאפא. "בק (צאמא. "כ =) כ דא =->; (דאמא. "ב המסק פואה5 ספה =: תאמא "בק 7 3 פּ (צאפא. "ב =) ו א <ל== : (צאמא. ן2) פמווסק מאהפ ספה =: וק 1 ==> (צאמא. "וק =)כק 207 בסוף התהל*ך' מקבלים+ שא = ו לק==5 בת לל=ב= בת - גת 7 הפו נקציה: פאסאצסק צמפדד זט מבצעת 555 של בפר וצדורח למ*ו ןי התוצאות והצגת .0 דוגמה סכימטית. לפעולת הפו נקציה. 28 תוצאה ו | || | 0 ' א ]ה | 0 . | 3 |5| ַ | ו = 0 סופית תתקבל לאחר המיון וצמצום החזקות השוות: צעטססת 29 "תוכנית 8 (ראה תרגיל תכנות 4 בפרק 16) ; (עשקצטס , 2314) מאסהקם. ופד אהססהע 00 [ מספר חדרים (טלפונים) מכסימלי + 1 = ₪008 אגא מפצך ;הס שס [1..18] צהתתה כסטאסגק > מאגא אספתמק ;'0'..'9' ע0 [1..10] צהתתהה כטאסגק = הממאטא מך ,א0פתמק" = אספתמק צאטא [ רשומת משתמש ְָ עתססמת = אספתתק / שס משתמש ְָ ;מאהא אספתמק : מאגא [ מצביע למשתמש הבא ָ אספתטק עאמא : זאטא ; פאם [ רשומת טלפון ָ עתססמת = התמאטא [] מספר טלפון ְָ ; תממאטא מע : 7 [ מצביע למשתמש בראש הרשימה ‏ + אספתמק לאמא : המפס ; פא ; תממאטא עס [008 אהא. .1] צהתתה = פתממוטא [ מערך של מספרי טלפון ומצביעים לרשימות המשתמשים + הג ; פתממאטא : לפת ל ([ קובצ הנתונים המכיל שמות ומספרי טלפון + ; אמ : הדפ ;המסטזא1 : 1 ,אצס6אמן הפרוצדורה קוראת מקובף הקלט את רשימת השמות ומספר* הטלפון. + היא מחזירה מערך ממויין של מספר* טלפון ומצביעים לרשימה של ] שמות המשתמשים הממויינת בסדר אלפביתי הפוך, מ-'ת' ועד 'א'. ; תמא : 1157 תהט) הס סגמת מהספמססהע ; (תמ00עא1 : 1451 הגע תגט ;א0פתמק צאפא : - תצק מאהא אספתפק : וגא ק ,תתמאטא על : מע תע ;פפסעזאת :7 ,1 הפרוצדורה מוסיפה שם של משתמש חדש ) ([ בראש רשימה, אשר 218 מצביע עליה. [ מצביע ָ ; אספתמק עאטא : הזש תגט) מאגא כעפג מהססמססתק [ שם חדש ָ ; (פאהא אספתסק : מאגא ע הג ; אספתמק צאפא : שאמך אזסטם ; (שאפד) טא : דאמא. "קסד מאבא. "קסיד קאפ =: תדק [ סשת 866 ) | ;פאם ; פיזק ;טאאא ק 200 הפונקציה פאטסץ הממאטא עורכת חיפוש בינרי של מספר הטלפון המבוקש + ברשימת הטלפונים. אם הוא נמצא - היא מחזירה את מיקומו במשתנה פצא ומקבלת ערך 71308. אם המספר לא נמצא - הפונקציה מקבלת ערך 188גת, ך והמשתנה מא מצביע על המקום שבו המספר צריך להיות. ך מספר הטלפון המבוקש | ) ;המסאטא םד :| אטא) פאטסע הממאטא אסזצסאטע [ מספר הרשומות ָָ ;תמסטצאת : צפג1 [ במערך מספר* הטלפונים+ ;א4ם01ס : ( התסטדצא : פנא תג האג ; תמ0מעאץ : עפתנק אזסטפם 0 =: עפתדק דהמלטת דכ (1852 + צפתדק) =: פזא אמח ד [פנא] עפדע > אטא קד 1 - פזא =: 1451 פיז 1+ פצא =: עפתדק ; (1/451 < 1פתדע) 05 (1'. [כצא] 1151 = אטא) מדעאט תד. [פדא] 2 = אטא =: פאטסת הממאטא ( 6תטס? מסמשטת ) ;פאת [ 6808 2086 + אדסמם 1 =: 157 [ פתיחת קוב הנתונים + ; ('41הכ' ,בעהכ) א25916 ; (419כ) עשפסת אפא (ג41כ) עסם עסא עד 0 [1] 151 צתדט אזסטם ] קריאת ראשונה של מספר טלפון + ;(טאגא 5 ,עד , גצהכ) א;זפהמת [ ושם משתמש. ְָ א =: המפטס [ הוספת השם לרשימה + (פאגא ת ,המפט) מאגא פפג ; פא ( לולאה עד סוף הקובצ + 0 (געגכ) ע0ם עסא מוזצט אזסםם ] קריאה של מספר טלפון ושם + ; (פאאא כ ,7 ע ,הזהפ) אזסגחת [ אם המספר נמצא + אטע (1 ,7 ,ך ע) פאטסע המטאטא עד ברשימת הטלפונים יש להוסיף את שם המשתמש לרשימת ָ המשתמשים של אותו מספר טלפון (מכיוון שהרשימה הנטרקת 1 ממויינת בסדר הפוך, נקבל גם את הרשימה הזו באותו טדר מיון). (פאאא פ ,תתפט.ן1] 51עע) מאגא פסה [ אם המספר לא נמצא - זהו מספר טלפון חדש + מפט אזספם יש לשב את מספר הטלפון החדש במקומו ברשימת הטלפונים. ָ הפונקציה פאטסץ תאמאטא מחזירה את האינדקס של המערך שבו מופסק החיפוש. מספר הטלפון החדש צריך להיות לפנ: או אחר: מספר הטלפון שאת מקומו הסידורי מ*יצג פזא. ( שים לב ש-12א חוזר במשתנה 1. [ מציאת המיקום המדויק + אמא -1[.7] 1182 < מך ק ‏ קך 1 +1 =: 1 21 [ הזזה - פינוי מקום ָָ 0 1 ס0עאחסע 2457 =: 2 תסע [ למספר הטלפון החדש. ) 1] פע =: [1 + 1] 1151 0 [1] 15 דדח אנספת [ שיבוצ המספר למקומו ‏ + כ =: מך ;]זא =: המפס [ הוספת השם לרש*מה ָָ (מאגא 2 ,התפטס) מאגא פסה ; פא [ נוסף מספר לרשימת הטלפונים + 1 + 1451 =: 1457 פאם ( 802 6סת 116תש + ; פא (2419) 01055 [ 6868 686ע + ;סאם .פרוצדורה זו מדפיסה את מספרי הטלפון ובצידם את שמות המשתמשים. + ( המשתנה 1.481 מייצג את מספר הטלפונים שברשימה. ; 5תממאא : 1157 תהט) הדגם עאצתק מהטספפססתע ; (תמ0מעא1 : 1457 | ; תמסטעאז : 1 פרוצדורה זו מקבלת מצביע לראש רשימה של משתמשים (במספר טלפון + מסוים) ומדפיסה את הרשימה מהסוף עד להתחלה (שים לב לרקורסיה). השמות מודפסים לפי סדר אלפביתי, כי סדר המיון בו נבנתה רשימת השמות היה סדר יורד, כלומר מ-'ת' ועד 'א'. [ כתוצאה - בשחרור הרקורסיה, השמות מודפסים בסדר עולה. ; (אספתמק עאטא : תדק) 157 עאדתק מהטסמססתע אנספם אטח מא <> שאמא.יתחדק שד ; (,אמא. "תדק) 1.187 עאזתק (18:מאא. "הדע) מדזתח [ 115% 6ת1עם ) ; פאם ( 6868 6תדעס + אזס0טם ; ( 'שמות משתמשים מספר טלפון ') אומזתש (' ---ההההההחהההההההההקקקהההההההההההה-7777--------') א[תנדחע 0 1458 70 1 =: 1 תסק 0 [1] עפצ נתדט אזסמם [ הדפסת מספר טלפון + ; (71:10) מצנתט ( הדפסת רשימת המשתמש*ם באותו טלפון + ; (תפפט) 157 תאזהץ אטזזתט סא [ 68%8 6תבעם + ;פאם 202 ([ ם₪81 )+ אדסעם ; (018א1 ,7 ע) ג1הכ פגמת (1₪8סאן ,פד עע) באס | דאזתע ( ת1פם + . פא - חרשימה: של המשתמשים.. רשימות המטתמשים, בכל מספה טלפו ן::ה*/ בסדר. אלפב ית ל | חליב לחר ו החיסכון היתידי כ 23 אם מופיע מספר טלפון, חייב להיות לפחות שם אחד של משתמש ברשימה המקושרת לאותו מספר. 220022 9 ו שים לב! הרשימה מקושרת בסדר אלפבית* *ורד. > 0. 28 מקרת ו וט 7 מוסיפים שם משתמש ומספר. סלפ 'נתונים: " מספר. טלפרן: =222222% 7% יש 0 - 20% לאהר החוספה: קב 2200022 220022 ר] ך- 9 הערך של 18451 גדל באחד. 17 205 | וג 1 . . . . . . . . . . . . . . . - | ]| גא 17 206 [תוכנית69 (ראה תרגיל תכנות 6 בפרק 16) ; (צטפנטס , עשקא1) פתמץעאדסק 570% אההססתק פאס 1. >= עשפאד שס פאם מפעיי ; תתמאטא" = הממאטא צאחא - פתססמת = התמאטא ; תמסמעאד : א תתמאטא צאמא : דצאמא ; פא מא ; תממאטא עאמא : א0בעפ ; תמדא : אסא ; (תתמאטא אמא : א5220% תהט) ממטא מאגא מהספמססתק אזסטם ענא =: 740% ( 11טת 8%6ם + ; פא [ איפוס המחסנית + ( הכנסת הנתון אשא לראש המחסנית + תממאטא אמא : 5108 תגט) הפטק מתססמססתק ; (המ0פעא1 :| אטא ;| ; תממותוא צאטא : הנק אזסמם / ו מקום בזיכרון + ; (2ק) ופא [ שדה א ברשומה יקבל את הערך של אטא + ;א =: א. "אק ] טי עאטא של הרשומה החדשה יצביע על + 0% =: עאמא. "מע [] הרשומה הנמצאת בראש המחסנית. ָ [ עדכון המצביע לראש המחסנית. ְָ הדק =: 5740% ( עכשיו הרשומה החדשה היא הראשונה + ( תפטם + ; פאם [ הפונקציה מהזירה ערך 1808 כאשר המחסנית א9140 ריקה + 00 : ( תתמאטא אמא : א5120) אסגע5 תס פאם אסזעסאטק אזסטםת [ זא מסמן את סוף המחסנית + 2א = א510 =: 510% שס פאם [ 85808 +0 6ת6 + --;פאם 207 ( פונקציה זו מחזירה את הערך שבראש המחסנית א5140 + ; תתסמעאד : (תתמאטא צאמא : 51408 תגט) קסע אסזעסאטע תג ; תממאטא לאטא : קאטך אזסטם [ מצביע לראש המחסנית + ;0% =:- קאמך [ עדכון מצביע ראש המחסנית שיצביע לאיבר הבא) ;אמא 5140%7 =: 51408 ([ הערך בראש המחסנית + ;א."קאמץ =: | סק ] שיחרור הרשומה שהיתה קודם בראש המחסנית + ( פאמ1) 2152058 ( פסם + ; פא ([ תנהם )+ אדסעם ; (5740%) מתטא מאגאא ; (אטא) אתפגמת ( קריאה עד סימן סוף קלט + 0 תטשקאד א0 פא <> אסא מדצא א1ספפם ( הכנסת איבר למחסנית + ; (אא ,51408) הפטק (אטא) א;זפהמת ; פא ] לולאה עד סוף המחסנית + 0 (8א0ג51) 0% א0 פאם עסא מתזח ([ הדפסת איברי המהסנית ‏ + ( (51408) 205) אעמדנתט . פאם מזא = 51408 2008 ב הכנסת, ו לראש המהס נית, ‏ אל השדה ו של 7 החדש אמא דיק ונסבל תתל תא = 51408 עוסיף עתה את הצר 1 למרטרית: 0 א. ביצוע הפקודה (חצץ) א. בסיומה' המצביע 2 יצב : בזכרון. הכנסת הערך. 1 לשדה. א 0 8 אדק צאפא. "תק זא .ג. עדכון המצביע 140%ס כך, ישיצב*ע לראש המחטנ ית > כלומחה. 0 מקבל את ערכו של. > ,= ר נקבל := 209 באותח צורה לאחר הוספת הא*בר הבא בקלט, - נסבל: 5 תהליך ההוצאח של. אי בר מהמרס נ ית :: (5708)' קסע 1. שמירת. המצביעי למחס נ ית :ב-שאטד %ועדכו ן" המצביע > . לראש המחס נית 200 "תוכנית 7 (ראה תרגיל 7 בפרק 16) ; (1טפט0 ,214) 545 אהמססתק 001 :'' = 6א1ה57 אס פדא מפעיך תפדס הזוס" = המדסהתזוס צאחא פתסספת = תהמצסהתגס ;0 : 0% התה עאטא : שאטא ; פאם הג ; תת [אמא : 57408 ;תס : 08 ;א 001 : 008 )נאמד : גדגס ; (ה4015האהס [צאטא : 51408 תגל) טא מאגא מהססטססתעק אזסטם א =: א7420ס [ 11טת 8%6ם + ; פא ; תת צאמא : 51708 תבט) הפסק מתטספססתק ; (048 : 0 פוט ; תפד0ת עאמא : חדק אזסטם ; (מ1פ) שאא 0% =: עאמא. "חק ;תדק =: ו 0 =: 08. אפ [] תפטס + ; פא ;]א : ( הזתה צאמא : א510) א0ג51 תס פאם אסנצסאטת אזטת א = 81408 =: 8108 אס פאם ( 3080% 09 6ם6 + ; תא ;תוס : (תמדסהתהס לאתא : 570% תהט) פסע אסזעסאשץ תגט ; תמיתס צאטא : הדק אזסמם := 0%]‏ הצק 08 =: | פסק ; דאמא. 57087 =: אסהדם (18ע) 150058 [ ססס + ; פא 201 [ תנצ8שם )+ א017מם ;,שסתך =: ₪000 [ פתיחת קובצ הנתונים + ; ('14אכ' ,74הכ) א45510 ; (2418) עמפסת [ איפוס המחסנית ָָ ; (5108) טא מאהא אמא (418כ) עסם עסא ‏ עב [ קריאת התו הראשו ן ְָ ; (08 ,418כ) פגמת 0 (2414) 0 עסא פאה (סאנתד5 אס פדא <> 08) מתזזו ( לולאה לקריאת תווים עד התו '2', המוגדר ב-0א5181 אס פזא + אנזסטם [ ומציין את אמצע רשימת התווים. + [ הכנסה של תו למחסנית + ; (08 ,5140%) אפסק [ קריאת של תו נוסף. ָָ (0₪ ,514) כגמת ; פא 0 ((414כ) שסם הס (א5140) 510% אס פאט) עסא ממנצט אזסטם ( קריאת של תו נוסף + ; (08₪ ,14הכ) פגמת אע (['-' ,'+'] אז 08) עסא פאה ((א5140) פ0ק <> א0) שד 8 =: 004 השוואת התו האחרון שנקרא, עם תמונת הראי של המחסנית (א510%).+ ([ תמונת הרא* נבנית ע"י הורקה של המחסנית. ; פא ; (818כ) שסם פאג (א5140) א5140 חס פאם פאג מהטסם =: הטסש ( מע - אם המחרוזת מקיימת את התנאים + (.20081) אומצנתט הוצאה (א5140) פס קריאה והשוואה ר--ת | 4 = 400-000 4034002030 צר ד ד + (51408) פסק הכנסה למחסנית בשלב זה צריך לה*ות: (808ע5) זופטע א. סוף המחסנית לאחר תהליך ההורקה. ב. סוף הקלט. 202 [תוכנית 8 (ראה תרגיל תכנות 8 בפרק 16) [ הגדרת סוגי משתנים + מפציך ;תס = טקצץ שאטאם,זם ; סמ זאמאם וע" = זאטאםזט 1אטא סתססטת = סשת עאמאםום ;שפצ דאמאם1ם : לאסאם זט עאמאזם עאמא : צאטא ; פא הפרוצדורות וטא מאגא, צפטק ָ והפונקציות צ₪1 ו-פ0ק [ הוסברו בתוכניות קודמות בפרק זה. ; (תאטאם.זם אמא : 57408 תגט) תטא מאגא מתספסטססהק אזסםם שא =: 51208 ( 11ות 8%6 + ; פאם ; דאמא זע צאפא : א51740 תהט) הפטק מהטסתססתק ; (מפצן לאטאמום : 0 תג ; דאטאםוע עאטא : תדק אזספם ; (חז'ק) אמא : צאמא. "חיק : ו : דאמוםזם. "אסגדס (' תפטס + ; פאם ;00 : ( לאמאמוע צאמא : א51720%) צדקאם אסצעסאטת אזסטם שא = א51740 =: עדקאת [ עַססמס + ; פא מפצך דאטאום : (לאמאמ ות עאמא : 57.0% הבט) סע אסזעסאטת הג ; דאפואם. זע עאמא : קאמך אזססם ;0% =: קאמך ; דאטואת1ם. 970087 =: | פסק ; אמא "10% =: 70% ( שאתי') 2190098 [ ססס + ;פאם 233 [ הפרוצדורה המבוקשת + ( מחסנית מקור ‏ + ; דאוא זט דאטא 8 6>ת5 תהט) בעה.זה0זן מהטספססהע ... ( נתון במחסנית ) | נ;מקצץך עאמאחום אטעגא הג ([ מספר בנתון ָ ; (תמ0טעא1 : תג/ם תגק5זא התה ; צאמאט.זת עאפא : 570% דסמ ;תתסטעאן : 1 אזסטם [ איפוס מחסנית המטרה + ; (51408 1פמפ) מתטא טאאא [ העברת האיברים ממחסנית + 0 (8א5120 0ת5) צצקום עסא ממדוט ך המקור למחסנית המטרה. + ;((א5140 56) פסם ,51208 עפמפ) מפטס 1=: ך 0 (57208 עפמם) צדשאם צסא פתדחט ( העברה ממחסנית המטרה למחסנית המקור + אזסטם [ תוך כדי ספירת איברים. + )1 + 1 =: 1 [ מציאת האיבר המבוקש | + אמח תגטם תגפפנא = 1 אד אזססם [ האיבר המבוקש נמצא ָָ ; (51408 7סמם) פסק =: אשצגא [ החזרתו למחסנית המקור + (אטצגא ,57408 50) אפטס פאם טפזם ([ החזרת שאר האיברים + ( (51008 1פמת) קסע ,א120פ 580) מפטק ( למחסנית המקור. ָ ; פא [ מספר האיבר גדול 0 אמח תגשע תגפפזא > 1 שך1 [ מממספר האיברים במחסנית. + (' !5128 510% תמטס 15 הגשם הגק15א') אומנזתט מפזם (אטעגא) אתמדצנתט ([ 1818תספת + ; פאם הסבר: המחס נ *ת צר*כה להישאר .ללא : האיברים במחסנית לא ידוע, 2 ולחזור לכיוון האיבר העליון תוכן המחסנית למחסנית עזר באופן, שהא* בר.: ו שלב לראש מחסנית. המטרה. לאחר פעולה. ז 33 במחס נ ית המטרה ;:: : כדי כך נספו ה 0 : כאשר' מספרו הסידורי של" הא , זאת על ידג קבלת סוף המחס ג ת לפני = שמו נו האיבר 2 ראש המחסנית האיבר האחרו ן שהוכנס למחסנית )3( )2( )1( תרשים סכימטי של תהליך יצירת מחסנית המטרה. האיבר הראשו ן זצך 11 1 . פ|%|פ|:|5 (3) שהוכנס למחסנית מחסנ ית מטרה מהסנית מקור סוף המחסנית פתרון גוס אפשר לפתור את הבעיה גם בדרך רקורסיבית. הרעיון הוא לבצע "צלילה" לקרקעית המחסנית ולספור ך "ציפח" למעלה, גם כאן, אין משנים את מחסנית המקור: ‏ ; [אטאםזם אמא : 8% סתם תגט) בק הסה ם מתסספססתק ;שצך צאטאםום : אטצגא הגע ; (תט0טעא1 : תגעם הבספזא הא פפסטעאז : 1 ; (דאטאטום דאמא : תדע) מטדע מהספמססתק אזסעם ( אם לא סוף המחסנית - ָָ אמתד (תדק) צעשאם עסא עד [ קריאה רקורסיבית לפרוצ' מטזם + ; (פאמא, "הדפ) מטדכ [ ספירת האיברים מסוף המחסנית ‏ + 1 + ך =: ך אמח תגעם תגפפזא = 1 אך [ האיבר המבוקש + צאמאםם. "הצק =: אטנגא ( 6106 + ; פאם 255 ( 1828תסאת ס + אזסטם 0- =: 1 ; (51408 580) מטזכ בשלב זה, 1 מכיל את מספר + אפעז [1..1] אד הגעם תגפפנא עב 1 [ האיברים במהסנית. / האיבר בתחום המחסנית + (אטעגא) אנטדזתט מפזט (' 1 570% תהמטס 15 תגעם תגקפנא') אמצזתט [ 18+8הסהת םס + ; פאם נתאר את מהלך הפרוצדורה 11108824 2, כאשר 3 = תג3ע₪ הגקפזת (89808 6ע5) מע/דע | 500 0% (‏ טאסת) מטדפ 4 1 ( + 3 ו - ט>אסת) מטדם 2( 1 := +1 . 3 = תגטם תגספזא = ולכן: 8 =: אטשזגא ו %אסם) מטדע רז .. וו ב = ו פ + - וו - (,)אסת) מטזכ 206 (ראה תרגיל תכנות 9 בפרק 16) ; (עעטפצטס ,2474) 505 אההססחק 00 )'ג' = 5 עס פצא ;'פ' = ₪ עס פזא מפציך תד תס" = תהתד0התגצס אמא פתססמת = תמדסהתהס ;0 : :9 הפסת0 אמא : דאפא ; פא תג ,6 408 ; תס תוס עאמא : א אסגדפ ;0 : ₪1 ; א4מ001 : הס 1אתד : יו ; (ת015ת4ה0 אמא : 5108 תהט) ,ננטא מאגא מתטסספססתע אזססם תא =: 70% [ 11טת ₪8%6 + ; פאם ; 04015 צאטא ; (0148 .... 8 תגט) הפטסק מתססמססהע 0 | תפס תס עאמא : תדק אנססם ; (ח1ק) אטא =: שאמא. "חק ;תדק *: 3 0 =: 01. א510 [ תפטם + ;פאת ; א3001.₪3 : ( תםך0ת4חס לאמא : 57408) 570% אס פאם א10עשאטץק אזסטם א = אסהדפ =: 57408 08 פאם ( 8680% 02 6ם8 + ;פאק ,תהחס : (המצסהתהחס אמא : 57008 תגט) קסע אס1תסאטע ,0% =: קאתך .0 =: | קסע ;דאפא. "510% =: א0ג51 ; (שונמ') 2152058 [ ססם + ;פאם 207 [ םת81ם ) אזסמם ;תד =: תהעסם [ פתיחת קובף נתונים + ; ('14גפ' ,414כ) א45510 ; (5418) תמפסטת ( איפוס מחסנית + ; (5 5140%) תתטא מאהא ; (₪ 51408) מזטא מאגא אפו (2412) אסם עסא עך ; (08 ,ג47כ) פגמת 0 (ג41כ) ע0ם עסא פאה (5 א0 פזא <> א0) מסדחט [ קריאת תווים לתוך 5 510% ו-₪ א5140 + אזסטם [ עד התו 'ג' המוגדר ע"י 5 א0 פזא. ‏ + ; (08 ,5 א5140%) אפסק ; (08 ,₪ א08ג51) הפטק (08 ,ג282) פגמת ; פאם 0 ((ג41כ) ₪07 08 (5 א5140) 510% עס פאם) עסא תדמח ( המשך קריאת תווים והכנסתם ל-₪ א5140 תוך כדי + אנזסטפם השוואתם לתמונת הראי של מחסנית 5 א8140%. ָ ( תמונת הראי נבנית ע"* הורקת מחסנית 5 א0ג51. ; (08 ,0 א51408) אפסק ; (08 ,818כ) פגמת אטע (['-' ,'+'] א1 08) עסא פאג ((5 א5140) פסק <> 08) עך פע =: ב00ע ;פאם 0 (412ס) 0ם 2סא פאג (ח עס פצא <> א0ס) ממדחט [ המשך קריאת תווים עד התו '8' (₪ עס פתא), + אזססם ( והכנסתם למחסנית ₪ א5140%. ְָ ; (08 ,₪ א0הד5) פטק (אס ,צאפ) פגמת ; פא 0 מגטסם פאג ((ג41כ) ע0ם 08 (₪ א5120) 57408 עס פאם) עסא םדו קריאת התווים לאחר אמצע המחרוזת תוך כד:י ָ אזסטם השו ואתם לתמונת הראי. תמונת הרא* היא הפעם של [ מחסנית ₪ א510. היא נבנית ע"* הורקת המחסנית. ; (אס ,ג1אפ) פגמת אד (['*' ,'/'] אד א08) סא פאה ((₪ א5120) קפסת <> א0) עך ₪ =: 0040 ; פא ; (418כ) 0ע פאה (₪ א5140) א0ג51 עס פאם פאג 0040 =: עגססע (.0081ם) אתמדזתט . פא 2008 ₪ 0 = א 8 10% > 5 +-- 277 - + - + * / * / /ם / / 7 / 7+ 7+ 7 2ב - +ר- + השוואה ל-(₪)פסק (ש) פסק | = 0 )5( השוואה הכנסה ל-( 200)8‏ ל-5 הכנסה ל-₪ 29 (ראה תרגיל תכנות 19 בפרק 16) ; (צטקנטס , גפ) מטמטס תמצטקא0ס אההססהת 007 = פאדד אטת מפציך ;שת 7108 = תלת 308 [ רשומת תוכנית ָ פתססטת = סמת 308 [ מספר תוכנית ָ תממאטא 308 - [ זמן שירות ָ , זי 08זעתמ5 [ זמן מופע )| ;תת6מתאך : מאזד [ מצביע לעבודה הבאה בתור ) תחדק 108 : צאמא ; פאם [ רשומת תור ָ פתססטת = מטמטס [ | מצביע לאיבר הראשון ָ , דפתזעת [ מצביע לאיבר אחרון ָָ חדק 208 : 1251 ; פא | ( קובצ נתונים + ;דאמ : הדח [ עדיפות ָ 2 : ע77א10תק ( מערך של שני תורים ָ ;008 ע0 [1..2] צגתתה : 0 מאצץ טפס ; תמסמעאך : 2 .9 [ התוכנית שכרגע מורצת + ; חק 08 : 8 אטת [ תוכנית שמגיעה לתור ‏ ) ;שת 008 : 8 פא ) משתנה המורה של-108 שמא נקראה תוכנית + ; א0מ2000 : מתסא שזמן המופע שלה גדול מ-21%8 90ס, / [ על כן היא נמצאת בהמתנה. [ עדיפות + 1 : צץצדת0סזתק אטא ; תמסמעאך : (8מ0מעאך1 :. 5 ,4) אזא אסזעסאטע אזסטם אחחד 5 > ענ 4 =: אזא ₪ 8 =: אזא [ תנם + ; פא [ יצירת תור ריק + ] המצביע על האיבר האחרון שווה + ([ למצביע על האיבר הראשו[. 1500 ; (00₪08 : 0 תגט) טא מאהא מהטספמססתע אפ 0פ 0 הזש אזסמם ; (52ת1ק) שמא עצפתזת =: 1457 פאם ( 11טם 8%6ם )+ ; פא הפונקציה צעשוע מחזירה אש1 כאשר התור ריק. ָ ([ כלומר המצביעים לאיבר הראשון ולאיבר האחרון - שווים. ;א 001 : (פסמטס : 6 תגהט) צדקאם אסזעסאטת אסטת 7 = עפתדע.0 =: צדקם ( צַ6קם6 + ; פא [ פרוצדורה זו מוסיפה לסוף התור 6 את רשומת התוכנית 108 + :+ ; (סטת 308 : 6 תגט) מטמטם 10 ספה מהטפפססתע 108 אזסמם 0 6 :עדט אנספם =: 177 ; (פאמא. 14917) אסא ץאמא. 1977 =: 157 פא ( 6טסגו 60 866 + ; פא [ פרוצדורה זו מבטלת את רשומת התוכנית שנמצאת בראש תור 6 )+ ; (מעמטם : 6 תגט) משמטם אסתע מעסאמת מתטפמססתק ;אק 108 : קאפך אזספם אמא (0) צצקום עסא עד 0 6 העט אזסטם ;1 =: קאמך ; צאתא. "צפתנק =: צפחדק (קואפ') 50058דכ פאם [ סטסגו0 ₪סע] 6טסםסע + ; פאם ([ פונקציה זו מחזירה את המצביע לרשומת התוכנית שבראש תור 6 + ;תק 708 : (מטסעטם : 6 תהט) עצאסתע אסננסאטתע ( איפוס שני התורים + ( פתיחת קוב% ָ ' ([ קריאת נתוני התוכנית הראשונה ועדיפות + אסשת צפתת.ה =: צאסתקע [ 6תסע] + ; פא ([ ם1הם + אזסעם ; ([1] 6) א האגא ; ([2] 6) ]טא מאגא ; ('ג1גפ' ,₪14כ) א45510 ; (24189) לשפעת אטח (ג81כ) 8סם עסא ‏ עד 0 108 אפא תנחט ; (צצזה0דתק אסא ,מא1ד , מאדד מסדט3מ5 ,תממאטא 208 ,ג1גכ) אזפגמת 101 1 זמן הגעה של התוכנית הראשונה + מאדד. 08 טמא =: מאדל טפס 1 מסתד =: מתסא 5 טפס ,'עד דקה מספר עבודה ') אמצדתש ; ('זמן התחלת הרצה של תוכנית ראשונה: ' זהמקטת 0 (מאדע סקס => מאדד. 108 טא) פאה (5474) עסם עסא טתזחט ( זמן הגעה של תוכנית חדשה קטן או שווה לזמן הנוכחי + אזססם =: מתסא [ הוספה של + ; (108 טא , ציננ0סדהק אטא] 6) מטמטס 10 ספה ] תוכנית חדשה לתור, לפי עדיפות. + 0 105 שעא 1 [ קריאה של תוכנית נוספת ועדיפות. + אזפגמת ( ציזנתסזתק אפא , פאז , מאזד 108עתתס , תממאטא 308 414ת) אפגיז מתסא פאג (מאנל טפס => מאז. 108 אמא) עד 1 ישנה תוכנית שממתינה להכנס לתור + אזסטת 1 איו רשומות שנקראו ומחכות לזמן מופע מתאים ָ 1 =: מתסא [ התוכנית + (108 אפא , [צצ1ת0דתק אמא] 6) מטמטם סע ספה האחרו נה שנקראה מצטרפת לתור לפי סדר העדיפות שלה. + ; פא העדיפות לביצוע ניתנת לתור מספר 2 + 2 =: צ10817הק מאזץ 020 =: 7 ) ן [ זמן פס לפנ* הרצת התוכנ*ת + 4 [ לולאה המתבצעת + 0 (מא71 טפס = 1) פאג (1 =; עצע1ת10תק) מתזחע כל זמן שהעדיפות גדולה מ-0 | 1 ] ] ועדיין לא רצה כל תוכנית שהיא. התור אינו ריק + אפחד ([צענתסדתק] 60) עעיאם עסא תד אזסמם התוכנית להרצה ָ ; ([ צי'1ת10תק] 60) עאסתת =: 108 אטת נמצאת בראש התור. + 0 108 אטת זתדע אפפ 0 (מאזץ מסזַטְתת5 , מאז אטת) אנא 10 1 =: 1 אסע זמן הרצת התוכנ'ת *היה הזמן המינימלי בין זמן השירות ) ( לבין הזמן המכס*מלי להרצה, כפי שנקבע מראש. ; (1:10 + מאז1ץ טפס , 7: תתמאטא 108) אזא זז ) הדפסת זמן הרצה עכשווי ומספר התוכנית שבהרצה + ; (חאד 5980108 ,מאזע אטת) אדא + מאנד טפס =: מאדד טפס [ קידום זמן 020 + - מז מ0דטתמ5 =: מא 5105 ; (מאצץך 5880108 ,מאדד אטת) אנא עדכון זמן השירות של התוכנית, + ( שהוא משך הזמן הנותר לסיומה. ] עדיין לא הסתיים + אמט 0 < מאנד מסדת 50‏ עך ( זמן השירות. ָ [ הוספת + ; ("108 אטת ,[צדדתס1תק] 6) מטטטם 10 פפא ) התוכנית לסוף התור. + [ מס[ תטע ב10ש + ; פאם ([צי'1ת2810] 0) משמטם אסע מטסאמת הסרת התוכנית מראש התור. אפשריים שני מצבים: + - התוכנית הסתי*מה. ] - התוכנית הועברה לסוף התור עם יתרת זמן השירות שלה. 1302 < ב',<> בוחרים. עבודה. מראש אם אין . עבודה הממתינה לביצוּ < וחוזרִים אל כ לאחר: ההרצה נעדכן את. 1 פא ( התור ריק. ָָ 8 [ העדיפות ניתנת לתור 1.)+ - צ17ת10תק =: צד-ת10תק ( אם לא הורצה תוכנית | + אמח מאנץ 00 = 7 אך אזססם ; (71088:10 0ת0 , 'סא1עדגט') אתפצנתט [ ה-020 ממתין יחידת זמן אחת ) 1 + מאדל ספס =: מאדץ טפס פאם [ הלולאה מתבצעת כל עוד: ָ מנעתאט [ - קריאת הקלט לא הסתי ימה ְָ פאג (810כ) ₪08 ( - ישנם תוכניות להרצה בתור 1 + פאה ([1] 6) צדשום ( - ישנם תוכניות להרצה בתור 2 + פאה ([2] 6) צדשואם [ - ישנה תוכנית הממתינה בגלל זמן המופע שלה + פהסא דסא ומכניסים אותן: | לביצוע ומריצים אותח למש ל לבו זמן הש רוּ בקלט, מקדמים את מאדץ. 090. ב חתוכנית ה החרצה היה ג 3 תיאור של מבני הנתונים: רשומות מטוג סמ 108 308 מספר עבודה רשומה מסוג 00008 תוכנית/12 (ראה תרגיל 12 בפרק רשומה בתור שם מצביע לאיבר הבא מצביע לאיבר הקודם רשומת מצביעים ָ מצביע לראש התור + מצביע לסוף התור + ו / / / ו ו ] [ קובצ פקודות )+ ( יצירה ואיפוס של התור + ([ המצביע לסוף התור שווה למצביע לראש התור + ( הפונקציה מחזירה ערך 1808 כאשר [] הכנסת איבר לראש התור ) ;מ ; (שאגא )6 ; (צטפשס , פפא4א00) מטמטס מכ אהתססתע אקציך תגאס חס [1..15] צגתתג פמאסהק = מאגא ; דאמוט/ות 70 = תדע 6 פתססתת = דאחם.זת 0 ;הא : שאמוסום , אמא תדק 6 : מת0תטם ; פא עתססמת = מטמטסטת , סאמ אדק 6 : ע1גך ; פאם תה ; זאמ : 5פאגא 00 כ : [פ(ין , 0081 ;תס : 00092 אגא : מאהא ופא ; (פטמ00מכ : 6 8ג7) א אגא מתסספססהק אזסספם 90 6 תח אזסטפם ; (פהמא) חפא עגפת =: 410ד פאם ( 11טת ₪8%6 + ; פאם התור ריק + ;001 : (מטמטססע : 0) צדקאם אסנעסאטק אזסאם 0( 6 :דט בג = עגמה =: צדקאם [ 6206 )| ;פאם : 6 תגט) עאסתת צתמפא1 מתטפעססתת : מאהא אמא הגע אזספם 0( 6 :דט אזסמם ; אגא שמא =: דאפאםום. "פגפ ; (1אמא. "פגמת) אמא ; פגמת =: מתסקםם. "עאמא. "פאמת צאמא. "פגחת =: פגחא פאם [ 6מ0ע+ סעפפת1 + ; פאם 155 ( הכנסת איבר לסוף התור + : 0 הגט) 040% שתמפא1 מהטססמססתע ; (פאגא : מאגא אמא תגט אזסטם 0 6 געט אזססם [ יציאה מראש התור + [ יציאה מסוף התור + [ הדפסת התור ) 1506 ; (שתסעטם. 14117) אמא ;1 =: צאמא. מתסקםם. "דד מתסעתם. "דד =: 10אד מאגא שפא =: שאפאםום. "מצד פאם [ 080% 6ע6פת1 + ; פא ; (פטפטסמע : 0 תבט) צאסתע מטסועמת מהטססמססתפ אזססם (0) צ₪ש ‏ עסא עד 90( 6 דט אנססם מתסתמם. "קגמת =: סגחת (2אמא. "פהמא) 90098דכ סאם [ %תסע?) 6ט0ש60ע + ;פאם אמא ; (מטמטסמע : 0 תגץ) אסגם מטסאחה מהססמססחק אזסטפ אמח (6) צצקאם עסא ‏ אד 0( 6 אתא אזסטם ; צאפא, 14117 =: מדגך (מת0עםם. "411.7') 509₪דכ פא [ א280 260006 + ;פאם ; (מטםטסעע : 6 תגט) מכ עאדתק מהספמססתק אזסמם ; (30: 'השמות בתור הם:') אהמדצנחח 0 6 געט אזסמם ;כמ =: קאתך 0 תג <> פאפץך ממדצט אזסטם ;תת "קאד =: שאמך (1אמאם. וס . "קאמיך) א זמדדתט ( 116תש )+ כפאם [ בסנצ> + פאםת [ 600 סת1עם ) ; פאם [ תנהם + אדכ0מם [ איפוס התור + ; (0מפ) ‏ נתטא טאאא ; ( '41כ. 5פא4א00' , פסא4אא00) א5510ג ; (5פא00%8%4) זמפטת 0 (פסאגאאסס) עס עסא מצתט אזסטם [ קריאת הנתון הראשון + ; (00%1 , פפא4אא00) כפגמת עס 0081 04250 [ קריאת הנתון השני והשם + אזססם : 'מ' ; (מאהא אמא ,0082 , פפאגא0ס) אנסגטת [ 6886 בתוך 0886 + עס 0082 0458 ; (שאגא אטא 6ס) עאסוע עתתפא1 : 'ר' [ הכנסה לראש התור + (שאגא שמא , ₪6ס) 8 עתמפאז : 'ס' [ הכנסה לסוף התור + [ 0₪2ס 0896 + פאם ; פאם אזסטם : ':י' [ קריאת הנתון השני + ; (0082 , 5פא4אא00) א זפגמת שס 0082 מפב0 [ הוצאה מראש התור )+ ; (6פ) 1אסתע מטסאמה : 'ר' [ הוצאה מסוף התור + (0מכ) אס מטסאמת : 'ס' פאם ; פאם אזסםם : 'ה' [ מעבר לשורה הבאה בקלט ז[ ; (5סא34א00) א;זסגמת ( הדפסת התור ָָ (6פ) 6מפ צאזאק פאם [ ₪1סס 6886 + פאם [ 116ת₪ )+ ; פא (5פא00%04) 01058 . עאם 1507 הרשומה ש-86884 מצביע עליה, תמיד ריקה. 6% %תסעק %ת 1 %תסמס [ 6אסא סאסא 06 6 תור ריק: 1508 <תוכנית:%13 (ראה תרגיל תכנות 13 בפרק 16) ; פממתד סע מפצץך ( דוגמא לסוג טיפוס + יאד = מפצך דאטום ומ [ מצביע לצומת בעצ ‏ + ;סא = הלק מפסא [ רשומת צומת בע ָ עפססעת > מפסא [ האיבר ְָ ; שפצ דאמאטום : צאשאט, זט [ מצביע לבן שמאלי + , 011 פס ] מצביע לבן ימני + תצק מפסא : 0315 תחסנת ; פא [ עצ בינרי מיוצג ע"י מצביע לצומת, + תדק מפסא = ממתך אזם [ שהוא שורש העצ. + תה ממתץך ;תד אזם : קאתך [ יצירת עצ בינרי ריק + ; (פמתך אזפ : ממתך תגט) ,טא מאבא מהספמססתק אזסטם ענא =: שסתך ( 11טת ₪8%6 + ; פאם [ פונקציה זו מחזירה 1808 כאשר האלמנט א מופיע בעא ממתך + ; שפצ לאמאם,זם : א) תממאטא אסנצסאטע ; א 00 : (טמתך א81 : ממתך אנט אפחד מא = ממתך קך 8 =: הממאטא [ העצ לא ריק + מפזם אמ א = עאמתאום. "ממתדך ‏ תד ( א נמצא בצומת הנוכחי + מסתך =: הממאסא ₪ ( אם האיבר הנוכחי גדול מ-א + אמח א < עאמאםום. ממתך קד [ יש לבדוק אם א נמצא בתת-העף השמאלי. + (ם0011 דשמ1. מעתך ,א) הממאתא =: התמאסא ( א גדול מהאיבר הנוכחי + וכ [ ויש לבדוק אם א נמצא בתת-העץ הימני. + (פ0₪11 עדת "ממתד ,א) תממוס התממאמון [ עססמסם + ; פאם 109 [ פרוצדורה להכנסת איבר א לעצ ממתך + ; מקצי צאטאם.זם : א) תמפא1 מתססטססתע ; (מפתץ אזם : ממתד 48 אזסטם אפטך דא > ממתך ע1 [ כאשר העצ ריק. 4 אזספם [ הוספה בצומת הנוכחי + ; (ממתד') שטא 20 ממתד מדנט אזסעם ;א =: דאמאם,ום ;דא =: 03100 דעס ענא =: פאס זהסזת [ העצ אינו ריק + אם א קטן מהאלמנט בצומת הנוכחי - הכנס את א בתת-העא השמאלי, + אחרת: אם א גדול מהאלמנט בצומת הנוכחית - הכנס את א בתת-הע% הימני, אחרת: איבר % כבר נמצא בעא ואין צורך להוסיפו. / אין איברים כפולים. אוד א < שאמאתום. ממתד עך (ס,1זא0 דקש 1. "ממתך ,א) זהמפאך מפזם אפט א > עאמאתתם. ממתך עך (ם,זדאס ץחסדת. "ממתהדך ,א) זהמפאך ( המסקנה במקום זה היא ש-% נמצא בע ...6156 + ( %ע6פת1 + ; פאם פונקציה זו מחזירה את הערך של האלמנט הקטן ָ ( ביותר בעצ ממת1 ומוחקת את הצומת בה הוא נמצא. ;מפעיך דאמאמם : (ממתד אזם : ממתד תגט) אזא םטע א0סזצסאטת אזסטם אמח דא = פ1זתס שקמ ממתך עך ] הצומת השמאלי ביותר בעצ הינו האיבר הקטן ביותר + אזססם ; 'אמאם,זם. מפתד =: אדא מדם ומכ ;תד =: קאטך 01 0₪1דת. "מפתך =: ממתך ( קאמי) 2152055 פאס מפזם תהליך רקורסיבי+ (פ0₪11 תת 1. "ממחך) אזא מעט,זטס =: אדא מים. וטס ] של חיפוש האיבר הקטן (השמאלי) ביותר. + / ] סאד הוא משתנה עזר גלובלי + [ תנהם 861666 + ; פאם 20 ( פרוצדורה זו מוחקת את האלמנט א מהעף מחתך + ;שפצ צאטאמם : א) מעם.זטס מהססמססתע (עטתך א1ם : טםתך תגט אזסםם ([ כאשר העץ לא ריק + אפת זא <> ממתך עך ([ אם א קטן מהאיבר הנוכחי + אמח עאמאמום. מסתך > א עך [ התקדם שמאלה בע בתהליך ‏ + (פ 0311 7ם .1‏ פפתך ,א) מץש,זטס [ רקורסיבי. )+ 5 ([ אם % גדול מהאיבר הנוכחי + אפחץ [אמאות. ממתך < א קד [ התקדם לימין העצ בתהליך )+ (0811/2 [א0ת. "ממתך ,א) מדש טע [ רקורסיבי. + [ האיבר א נמצא בצומת הנוכחי + ₪ ] איבר א הוא עלה + פאג (זא = פ זז 1 ממתד) ש1 אפח (ע1א = כדטס צמסדת. מסתך) [ ללא בן *מני ובן שמאלי + אזסמם [ מחק מהעף את הצומת שמכילה את א + ; (פמתץ) 155058 א =: מסתך איבר א אינו נמצא בעלה, יש לו בן אחד לפחות + ₪ אמאך ם1א > כ0310 לתשת. ממתך אך לאיבר א אין בן שמאלי, אבל יש לו בן ימני + אזסמפם קישור האיבר שהצביע על א עם האיבר )+ ;ממתך =: קאמך ש-% מצביע עליו. ) ; 0118 ד10ת. ממתדך =: מסתך (שאטיד) 2152055 פאת ₪ אמא א = כעא0 שהסנת. מסתד קך ([ לאיבר א אין בן ימני + אזסטפ ;פמתך =: סאסך קישור האיבר שהצביע ) ;08102 תשסע. משתץך = על א עם האיבר ש-א מצביע על:ו. ְָ (פאמי') 2152055 הר [ לאיבר א יש בן *מני ובן שמאלי ָָ ₪ מכניסים במקום א את האיבר הקטן ‏ + [ ביותר מתת-העף הימני. הסדר נשמר. (פ,011 01דת. "ממתך) אדא מצםומת =: עאמאםום. ממתך [ 661606 + ; פאם [ הדפסת איברי העצ לפי סדר + ; (שפתך א1ם : ממתך) המפתסאד מהמספססהע אזוימם אמח ם1א <> שמתך שאך [ אם לא מגיעים לסוף העצ: + אזספם ( הדפסת תת-הע השמאלי + ; (פ1ד0 11 למפתדך) תספתסאד ( הדפסת הצומת הנוכחי ‏ + ; (4:דאחאת.זם. ‏ ממתדך) מדזתט ([ הדפסת תת-העף הימני ‏ + (מ.0411 10₪7ת. ‏ ממתך) ממפתסאך פאם ( ע66עסת1 ) ; פאם 21 נתון העאצ הבא: מחיקת עלה,. למשל "079.17 מחיקת: צומת שיש ל בן אחד, : 'תת-העץ השמאלי. יראה כך: למשל. 20, :תת-הע השמאל: ‏ יראח כךג 2 מחיקת צומת שיש לו/2 בני האיבר הקטן ביותר בתת: לצומת במקו "42 תת-העצ הימנ*. *ראה כך. |33 (ראה תרגיל תכנות 1% בפרק 16) ; (עשפעטס ,מעדע הדהפ) ממתד דאמ אההססהע ו'פא60 ;5 = תגוס אג מפצך ; תגזזס עס [תהס אהא .1] צהתתא סמאסאק = סהסא ;פפסא" = תצק מפסא פפססטת = מפסא ; פס : דאמאם. וט ; ת05מצאד : המעאט00 רשומת א*בר בע האיבר | ] ָָ [ מונה מופעים ָָ / ָ 1 ָ מצביע לבן שמאל: , .01111 שמ מצביע לבן *מני אק מפסא : זז [הסדת ; פאם ; הזיק מפסא = ממחך אזפּ האוצ ; ממתך אדם : קאמץ ,ממתך אש : מעצע דהפ ;₪02 : כת₪0 פגתת ] פרוצדורה זו קוראת מלה אחת מהתמליל למערך ₪08 פגטה + ; (עתס₪ : ספתסש פגמת מגט) פס אמא פגמת מהטספססהע : | ; פתסטעאך : 1 ;תס : 01 אזספם 1 =: 1 ; (0₪ ,מתדת ה1הס) פאמת 0 (מדק צגפ) שסם עסא פאה (['2'..'ג'] א א0) עסא מדחט / דילוג על תווים שאינם אותיות ) ; (08 ,מתדע ב1'גפ) פגמת 0 (פתנק 414פ) עס עסא פאג (['2'..'ג'] אז 08) מתצזצח [ קריאת אותיות למערך עד סוף הקוב>, או עד תו שאינו אות )+ אדבעם ;4 =: [1] סתסט פגמת + 1 >=: 1 (0₪ ,תפצק 18גכ) פגמת ;פא 0 תגתס אבא => 1 םשדחח ( מילוי רווחים עד סוף המערך + - אזספם ;' ' =: [1] סתסט פגמת 11 =: 1 פא ( 6עסש %6א6ת 2686 + ;פאם ] יצירת עץ ריק + ; (ממתץ אזפ : ממתץך תהט) םשא ₪485 מתטסמססתע אזסטם א =: שמתך [ 11טת 8%6ם + ; פאם 38 [ הכנסת איבר א לע ממתך + ;0 : א) 1תמפאז מהטספספססהע ; (מפתך א81 : ממתץ תג אזססם אמט תזא = מחתתך אך1 [ המלה אינה מופיעה בעצ + אזסמת ; (ממת) אמא 0 ממתך צעדט אזסמם ;]א =: עאמאם.זם ,1 =: המזא000 ;דא =: כם7א0 צאסם נא =: פענת0 ונת פאם פאם מפם [ אם א קטן מהאיבר הנוכחי בעצ + אמח א < צאמאתום. מסתד סד ([ הכנס אותו לצד שמאל. ) (פזנאס 1קם1. "ממתד ,א) צתתפאד ₪ ( אם א גדול מהאיבר הנוכחי בעף) אשמך א > עאמאתום. ממתך אך [ הכנס אותו לצד ימין. + (פ0411 עא0ת. "ממתד ,א) צתמפאד [ האיבר א קיים בעצ. + ככ [ הוסף 1 ) 1 + תמצאט00. "ממתד =: המצאטסס. מסתדך ] למונה המופעים. + (; הדפסת העצ לפ* הסדר + [ ראה הסבר בתוכנית 13 + [ 6ע6פת1 + ;פאם ; (פמתץ א1ם : ממתך) תמתפתסא1 מתטססטססהע אזספם אמא םעא <> מסתך אך אזסטפ ; (פ.011 תעט1. "ממתך) התפתסאד ; (158:8א .000‏ ממתד , 8:דאמאם.זם. מסתד) א תמדדתט [ איתחול העצ + [ פתיחת קובצ התמליל + [ קריאת מילה + [ הכנסת המילה לע ועדכו| מספר ההופעות+ [ הדפסת העצ + (פ0₪11 107 "ממתד) המסתסאד פאם [ ע66עסםת1 + ; פא [ תנ8ם )+ אדסמם ; (ממתד) מתטא מאגא ; ('צאמ' ,תמדק בעהפ) א5510ג ; (118ע 247) זמפטת 0 (מתנקת ב41) עסם עסא מעדצט אזסטם ; (פתס₪ פגמת) פתסט דאפא פגאפת (מפתד , עתסט פגמת) עתספאך ; עאם ; (פת1ע 2418) 01058 (ממת) המפתסאד . פא 15 [ רשומה בעף ָ [] שם לקוח ָ ( תאריך ָ [ חלס ָָ [ מספר פעולה + [ מצביע לבן שמאלי + ] מצביע לבן *מנ' ‏ + ([ רשומת חלק + [ שם הלקוח + [ תאריך ָ [ חלק / ([ מספר חלק + (ראה תרגיל תכנות 15 בפרק 16) ; (עקעטס מזדע 74) ממתיד דחגק אההססהע אס = צתגק אגא מפצץ ;מפסא" = הק מפסא ;תס עס [1..10] צהתתג פםאסגק = מפצד מאאא פתפסססת = מפסא מאגא ; שקציך טאאא מדאכ ;תס : תהק ; תמסמעאך הממעטא , פ.0311 תנעט הזע מפסא : 03115 תאסזת ; פאם ;דע מפסא = ממתך אזם פתססמת = ספת דתגע , מאגא ;מפצץך טאאא : מזגכ ;0 : תפ תתסטעאז : תממאטא ; עאם תג ;תד אזם : מעתך ;דאמ : מתצע גדא ,ספת צתגק עס [עתגק אגא..1] צגתתג : פדתהק ;פאז : 1851 ;ספת דתגק : להסקמת פרוצדורה לקריאה של נתוני החלקים למערך פ5זַתהק, + ( משתנה 1.481 מחזיר את מספר הרשומות שנקראו . ; (תמסמנא1 : 1457 תגט) פעתק כגמת מהטססמססהע אזסטם ; ('צאמע' ,מתדת ב7הכ) א45510 ; (11₪ע 474) תשפסת =: 157 0 (מענע 2478) עסם עסא מד אזסטם + 1467 =: 167 0 [2457] 6צתגק 4תזח (מתמאטא ,מדגכ ,דתגק ,מאגא ,מתנע גצגפ) אזפגמת 216 ; פאו (מ/זנק 2873) 08 ( פסעפק 2086 + ; פאם ; (שמתך אזפ : ממתד תהט) טא טאגא מתססמססתע אזסםם =: שסתך [ 1[טת ₪8%6 + ; פאם פרוצדורה זו בונה את העצ ש-1888 הוא השורש שלו + [ ואיבריו נמצאים במערך בין מקום 1851ק לבין מקום 1451. ;ממתך אדם : ממתך תגט) ממתד כ נדטם מהסספססתק , צפתזע ; (089מעא1 : 1457 תג ; תמסמצאז : פזא אזסטם אמח 1457 => עפתנע עך אזססם ( האיבר האמצעי )+ ;2 טכ (1851 + 1פתד1קע) =: פזא ; (פמתץ) אמא 0 ממסתך צתענט ([ הוספת האיבר האמצעי לשורש + אזסמם ; מאהא. [פדא] פצתגק =: מאגא ; תת [פדא] פצתגק =: דצתגק ; תממאטא. [פ2] 15ת4ק =: המפאטא ;מפ. [פדא] פצתגק =: מצהכ ] בניית תת-העצ + ;(1 - סצא ‏ עפתדע ,03100 תשמת) ממתדך פתנטם [ השמאלי מחצי המערך התחתון. + [ בניית תת-העצ + (1451 ,1 + סדא ,פעצה0 עהסדת) ממתד פענטם ( הימני מחצי המערך העליון. + פאט [ 8%ע1? 19 + פא מס [ עלה + ענא =: ממתך [ 66ע6 116טם + ; פא פרוצדורה זו סורקת את כל העצ לפי סדר מספר הפעולה ולפי 0008 ְָ [ ומדפיסה את הרשומות שמתאימות לשדות מאגא ו -1ת4ע שברשומת תססחת. [פעתך אזם : ממתץ) המפתסא1 מהטספמססתע ;הת : 008 ; (סטת עתגק : צתסקמפת אזססם א עדא <> ממחך שך 0פע | ממתך זתדט אנסתם ; (דת0פפת ,0028 ,פמדחס עעם1) המפתסאד הס ( (מאא. 1תספעת = מאגא) פאג ('א' = 0058)) קד אס ((דתגק. ץתסקעת = עתהע) פאג ('ק' = מפס00)) אפ ('2' = 0058) | (פ:תתמאטא ,13:מדגכ ,3:עתגת ,10:מאגא) אותדדתע דו"ח לפי שם: 'א' = 0028 | + לפי חלק 'ע' = 000₪ ך כל הפעולות '4' = 0008 (1הסעמת ,0058 ,0 10) המסתסאד ( בנשא + | פאם [ ע66עסםת1+ + ; פא 27 ( םנהש + אצמת ( איתחול העצ + ; (מפתץ) וטא טאאא ) קריאת החלקים למערך + ; (1457) פדתות סגפת ; (1951 ,1 , ממת) מחתיד פעצטם ; ('פעולה תאריך | חלק לקוח ‏ ') א מדזתע ' בטתםםההההחהההה----------------') 001721 ; (תתססטת יהי , ממת) המפתסאד ; (75: 'חלק 4 מופיע בפעולות הבאות:') אמדזתע ;'4' =: דתק. דתסקטת ; (1ה0סמת , יק , ממתץך) המפתסאך ; (75: 'הפעולות ללקוח בשם רחמים הם:') אמצזתט ₪7 רחמים' =: מאגא. דתסקמת (עתסקטת ,'א' ממתץך) התפאסא 18 תיאור. התהל יך: המערך הנתון: 6 1161טס (2,7,8ע6) 6 1168טס 86 116טפ (3,3. עס) (1,1, 1) 6 116טס 3 = 2 ונפ 3+31) 1 = 2 טפ 1+1%) (5,5.-61) (8,8, בע%)80ע 118טס 109 נספח א' - תרשימי מבנה ( 0188108 אה6>תע5 ) 61+162ת160 =-*ד---ר----- ע6שססת1 66תש1פתט 1662 62ש60ת1 86ת18פתט 200 ופט ע6שססתד+ 1 66 1פתט 1פתט 1062 ' 66006 ע8000ע8ת0 עתה 80185006 08286002 א 2ע₪6ס6ת1 66ת1₪פתט 44 6ש1פתט 608% 1₪066פתט ע6שס6ת1 66ב18פתט 1 66 תש1פתט 4 005586 8 ע88606ע8ת6 801198066 8 06 221 6 016ם81 000 6 1₪016פ 6 721616 6% 4 ?+16816 % 222 %עפס סת8דעפט 06 6 טי ת65810עקאס ת0265510אס 280002 ת65910עקאס 3 32 6מנפ ת2659810קאס 6 גפ 205510 ת2698510קא6 818016 תא % 600תםהעפק . %ת8%85000 6ת0שת88818 / 1 6ךת12ו0066עש - %ת38%68%0200 6תטסקמסס 7 38% ₪060 ו יתנ 2ע₪0ס6ת1 06 4 ת0ס661תט? %מ5%8%600 6ת0₪0ש8551 15 1 5מ006606ע 4 1206ו680עש , , מ69910עקאס 3866 שתטסקטסס ----- :606 ) 508 ח1שסט! 19 8% 6060 -] ת269910קאס מדרדר). 506 08886 9 מ265510סאס ו 7-7]7]"7--7----- --- 6ת6 0% 00% / 5580 116גש 1566 ת268810א 2 + : %ע0ק60ת1 60תש1פתט %ת0 55850 6מתטסקשסס 9 07 סש 5 00 ו טפט / | - ת1% 2 6601828010 8% 5 6 500% 60686 50806 00ס? תטנש 5086006 ₪050 858006 127 18 %עפס ת0ס660182801 1 0050826 8 1 18016עפט 8 ל 1 ספססעס 0 1 6בםג00600מק ₪ 1 מס1ס6תטץ / 1 18081 ע6ש6סת1 66תק1פתט 0% 1 6 11 6ממט 1 ת8610ע600182 ס6ענגו66ססעק 6תשעס? ₪ 4 תס601תט+ 6עהשטעס+ ת4061828%10 מפעקסעק | 0 21616 ו == 129 נספח ב' - שפת פסקל 6 +סת <6דטס תוכן עניינים: מלים שמורות 83 680266 הגדרות בלוק (גוש) 93 סשסמתסתסקנס0 8106% קבועים מוגדרים מראש 8 66ת66611עק איפיונים מוגדרים מראש 38 66ת6621עק הצהרות לאיפיונים המוגדרים ב-6סע7 98 5ת1610ת2621 6סעץ אופרטורים אריתמטיים ובוליאניים 89 361861081 6ת8 6%6169מעת1%ע42 יחסים בין ביטויים 9% 361861081 פעולות בין קבוצות 939 965 טבלאות אמת לאופרטורים בוליאניים 6סת ,עסא ,ע0 ,6ת8 :ע0ס? 78016 גסגועץך משפטי בקרה 839 0002011 פונקציות אריתמטיות 8ת610סתטע 6616שת421%6 פונקציות להסבה ולפעולות סקלרים רפט ע50818 6ת8 תס1ַפעסטת00 פרוצדורות ופונקציות לטיפול במחרוזות תווים 108רפסות 86 2200060208 שת8-18611ת1ע96 פרוצדורות ופונקציות של קלט/פלט פמהעשסעססט5 1/0 7116 6ת8 260106 [התעססאם פ/פ להקצאה ולניהול של הזיכרון ; מ18%610ק1תה) 6ת8 ת411068610 עעסמסא 30 פרוצדורות ופונקציות לטיפול במסך ובלוח המקשים פמהעשסעססט5 8600826 6ת8 01860 פקודות לטיפול במסך לפי קוד 51א4 1עסמסס 716460 59 לשליטה במערכת ההפעלה פמעשסעקטט5 005201 מפספע5 פונקציות ופרוצדורות של טורבו-5סקל למחשב 0פ-א15 פמףעשַסתקטו5 500₪ע5 0ק-א18 5 הפועלות ללא כרטיס גרפ: 5 הפועלות עם כרט*ס גרפ: פקודות ל"צב" במחשב 60ע-א18% 8 16סטגו' 0ק-אפך משתנים בשרות המערכת 98 1.6611 מסספַצ5 מצביעים לכתובות של פרוצדורות קלט/פלט (טורבו-פסקל בלבד) 89 4002055 060602 מעסטצעע 1/0 מערכים סטנדרטיים 898 עפעע4 סעסק 6ת8 עעסמסא הגדרות מראש לאמצעי קלט/פלט 898 226006018206 2116 6א76 סימנים מיוחדים: 8 [506018 הוראות למהדר טורבו-פסקל 8 קק 00001160 83081ק2-ססתטך 11 %% 6 6₪ע-608 שת1ע86-צת סעט-116? נ] סשת סִ סִּ פ/פ (רווח) + + + "פל דב" כקידומת, שמשמעותה: משתנה מכל איפיון שהוא. משתנה מאיפ*יון "בית" (ש6טצֶס). בטורבו-פסקל בלבד. משתנה או ביטו* לוגי/בוליאני (ת1608ססס). משתנה משתנה משת נה משתנה מסוג "תו" (עת0). מסוג "קובצ" (9116). מאיפיון "ממשי" (2681). מסוג "שלם" (ע6ש6סת1). משתנה מסוג "מצביע" (ע66ת1סק). משתנה מאיפיון "סקלר" (ע80818). איפיון סקלר, דהיינו איפיון שמוגדר ע"* המתכנת. משתנה מאיפיון "מחרוזת" (שַת1ע8%). בטורבו - האיפיון של מחרוזת מוגדרת מראש. משתנה של קובף תמליל (6א6ס). כתובת בזיכרון המחשב. אוגר של מערכת ההפעלה. מחרוזת מכל אורך שהוא. איפיון של קובצ. פרמטר הרשום בתוך הסוגריים הינו אופציונלי (רצוני, לא הכרח?). משתנה מאיפיון "ממשי" או איפיון "שלם". פרוצדורה (6עט666סע). פונקציה (ם6610םט?). קיצור לפרוצדורה או פונקציה. ה-9/5 פועלת בפסקל סטנדרטי ובגירסת טורבו-פסקל. ה-9/5 מתא*מה לגירסת טורבו-פסקל בלבד. יִ ה-5/9 פועלת בפסקל סטנדרט* ואינה בטורבו-פסקל. כאשר המשתנים מהאיפיונים השונים משמשים פרמטר ל-9/9, הם יכולים גם להיות ביטויים (פרט למקרה שהפרמטר מועבר כ-פ8ץ). 42 מלים שמורות 8 3080266 6 + לקביעת כתובת של משתנה בזיכרון. | צהעעם ת1שסס 06 0% ט6 0 60 תס 0-6 | 1 א 16 4 ס? עס? ת6610תט? ₪0%0 אופרטור בוליאני ואריתמטי. בטורבו - מתאים גם למשתנים מאיפיון שלם או בית. הצהרה על מערך (ווקטור). סימון תחילתו של גוש פקודות (בלוק) אשר תוחמים אותו במלה 4. מעתה נסמן גוש של פקודות במונח: פקודה מורכבת. פקודה לשליטה במבנה הזרימה של פקודות בהתאם למספר אפשרויות, אשר תוחמ*ם אותן במלה 4ם6. היא משמשת גם להצהרה על רשומה בעלת אורך משתנה. מילים נוספות בשימוש: +0 ,6188. הצהרה על קבועים בתחילת תכנית או 5/5. פעולת חילוק במספרים שלמים. גם התוצאה היא מספר שלם. לשימוש בסוף השורה של הצהרה על לולאת 116תא, ובשילוב עם עס? ו-ת1%ש. בהצהרה של לולאת ע0ס+: מונה הלולאה פוחת כל פעם ב-1. בפקודת תנאי(1%): המלה מקדימה את הפקודה המורכבת שמתבצעת כאשר התנאי אינו מתקיים. בשילוב גם עם 68868. סימון סיום של פקודה מורכבת (ם681ס), של פקודת 6886 ושל הצהרת 60026ע2. + הצהרה על הכללה של תת-תכנית חיצונית בשפת מכונה, בגוף תכנית הפסקל. הצהרה על איפיון של קובא. הצהרה שתוכן 5/5 יופיע בשלב מאוחר *ותר של התכנית. כותרת ה-5/5 מופיעה בסמוך להצהרה זו. פקודת בקרה: לולאה מבוקרת בהתאם למונה הלולאה (60 ,60 , %0תש60). הצהרה על פונקציה. סיעוף ממקום אחד בתכנית למקום אחר בתכנית (בו ישנה תו*ת). 6ת1[תד1 + שילוב של שגרות בשפת מכונה בתכנית פסקל. 3 12 םד 11 | 1דת %סת צֶ18עסטס +1 עס 8 6גוססע מהעשסעק | 1-6 16 11 עתפ שת1ע8% תסת 6סצס 60 33 % + + פקודת תנאי לשליטה על מבנה הזרימה של הפקודות. בשימוש עם המלים תפתס ו-6186. אופרטור לקבוצות, למשל "האם פרט/ים מוכלים בקבוצה?". הצהרה בתחילת תכנית (או 9/5) על שלמים (בטורבו גם מחרוזות) שישמשו כתויות בתכנית עבור פקודת ה-₪060. אופרטור בין מספרים שלמים, לקבלת שארית החילוק. קבוע שערכו שווה לקבוצה ריקה, או מצביע שאין לו ערך. אופרטור בוליאני. בטורבו-פסקל גם אופרטור על ביטויים מאיפיון שלם או בית. בטורבו-פסקל - להצהרה על כך שכמה 5/5 ישתמשו באותו שטח זיכרון לחילופין, למקרה שא* אפשר לכלול את כולן בזיכרון מפאת חוסר מקום. לשימוש בפקודת 0886, בהצהרה על מערך, קוב וקבוצה. אופרטור בוליאנ*. בטורבו-פסקל - גם אופרטור אריתמטי בין ביטויים שאיפיונם שלם או בית. הצהרה על מערכים דחוסים. זהו גם שם של פרוצדורה שדוחסת מערך. בטרובו-פסקל מתבצעת דחיסה אוטומטית בכל מקום שניתן, ולכן השימוש ב-080%66 מיותר (אך אין זו שגיאה). הצהרה על פרוצדורה (תת-תכנית - שגרה). הצהרה על תחילת התכנית. הצהרה זו אינה הכרחית בטורבו-פסקל. הצהרה על איפיון רשומות. בסיום הצהרה יש לרשום 6םת6. שליטה לוגית. לולאה שמתבצעת עד אשר תנאי מסוים מתקיים (11>תט). הצהרה על איפיון של קבוצה. אופרטור על ביטויים מאיפיון בית (ש6סעס) או שלם (ע660סםת1). אופרטור על ביטויים או משתנים מאיפיון בית או שלם. הצהרה על איפיון של מחרוזת דינמית. שימוש בפקודת התנאי +31 (בסיום הגדרת תנאי) ומעבר למצב מטתד. הצהרה בתחילת תכנית או 5/5, להגדרת איפיונים חדשים. לשימוש בלולאת עס?, כאשר המונה גדל ב-1 בכל מעבר בלולאה. 1ט לסימון סיומה של לולאת ה-00686ע2. עפש הצהרה על משתנים בתחילת תכנית או 5/5. 6 ממשפטי הבקרה בתכנית. לולאה שמתבצעת כל עוד תנאי מסוים מתקיים. ת1%ש הצהרה על פנייה לשדות ברשומה. בשימוש עם 680. עסא + אופרטור בוליאני. בטורבו גם אריתמטי בין משתנים שאיפיונם בית או שלם. "למה תמיד מציגים אותנו כ-6וח8ז הווח וכמיקרו-מחשב?" 5 5 . 5 0 5 5 6 5 מהנשסמק 1 0% 6צס ינפט 6 ת10ססתט? 6תס-ת981ס הגדרות בלוק (גוש) 898 סתסתסקט 00 9106% הצהרה על תחילת התכנית. הצהרה זו אינה הכרחית בטורבו-פסקל. הצהרה על שימוש בקבועים שלמים כתויות בתכנ*ת או ב-9/5. בטורבו-פסקל התויות יכולות להיות גם מחרוזות. הצהרה על קבועים בתכנית או ב-5/5. הצהרה על איפיונים חדשים בתחילת תכנית או 5/5. הצהרה על משתנים בתחילת תכנית או 5/5. הצהרה על תחילת פרוצדורה (תת-תכנית). הצהרה על תחילת פונקציה (תת-תכנית שמחזירה ערך). הגדרה של גוש פקודות (מלים אלו תוחמות את תחילת גוש.הפקודות וסיומו). קבועים מוגדריס מראש 8 06ת66601פע תאזאגא | השלם הגדול ביותר שקיים במחשב. בטורבו-פסקל ערך הקבוע הוא 7 (16 סיביות). ענא קבוע שמסמן קבוצה ריקה, או מצביע ללא ערך. :קת + קבוע ממשי שערכו שווה ל-ח, דהיינו 3.1415926536. 8 מסת' | קבועים שמשמשים כערכים לביטויים בוליאנ:ים. מפוגע מספרים | ק*ימים קבועים שלמים (בטורבו - גם איפיון "בית"), וקבוע'ים ממשיים בייצוג של בסיס עשרוני ובסיס 16. תוויס קיימים קבועים שהם תווים בודדים (שאיפיונם מפת6) וקבועים שהם מחרוזות (שאיפיונם מערך של תווים). ניתן לייצג תווים שאינם סטנדרטיים, כלומר - א*ינם קיימים על לוח המקשים. 16 108 ססם 6 0 60ש66תך 1 [ם]קתצע56 1% [תת]%א76% 9 צפעעםה ?02 0836 ?ס 7116 0% 0-6 860 2? + + + איפיונים מוגדרים מראש 98 606ת6601פק איפיון בוליאני. משתנה מאיפיון זה יכול לקבל את הערכים פ6טתיך או 281986 בלבד. ניתן גם להציב בו ביטו*ים בוליאניים כמו בפקודת ה-12. איפיון של מספר שלם ללא סימן, בתחום 0 עד 255 (בית אחד בן 8 סיביות). איפיון של תווים, אשר מיוצגים בד"כ בשיטת 45011. קיימים עד 6 תווים שונים. ערכים שלמים. בטורבו פסקל טווח הערכים הוא: 32768- עד 7+ (2 בתים, שהם 16 סיביות). מספרים ממשיים. איפיון למחרוזת דינמית, שאורכה משתנה. םת הוא מספר התווים המכסימלי במחרוזת. איפיון לקובצ תמליל חיצוני שמכיל תווים בלבד. איפיון לקובצ תמליל, שבו מגדירים את גודל המאגר (62?פט) שיהיה לקובצ. גודלו יהיה תת כפולות של 128 בתים. הצהרות לאיפיונים המוגדרים ב-6כץ1 8 פםת1010ת2621 6סעך איפיון של מערך. הגדרה של קטע של רשומה בעלת אורך משתנה. איפיון של קובצ. הצהרה על מערכים דחוסים. זהו גם שם של פרוצדורה שדוחסת מערך. בטרובו-פסקל מתבצעת דחיסה אוטומטית בכל מקום שניתן, ולכן השימוש ב-606א086% מיותר (אך אין זו שגיאה). איפיון של רשומה. מלים אלו תוחמות את תחילת איפיון השדות ברשומה ואת סופם. איפיון של קבוצה. 17 %סת %ם 64 51 עס עסא :ו אופרטורים אריתמטיים ובוליאניים 83 3618010081 6ת8 60165מת10סה מינוס אונארי (שפועל על נפעל יחיד). משנה את סימנו של ביטו: או משתנה בעל איפיון שלם או ממשי. אופרטור בוליאני. הופך את ערך הנפעל מ-6טע6 ל-8186? ולהיפך. + אופרטור על משתנים שלמים ומסוג בית. גורס להפיכת סיבית 1 ל-0 ולהיפך. פעולת כפל על איפיונים מסוג ממשי ושלם. פעולת חילוק שהתוצאה שלה היא מספר ממשי. פעולת חילוק בין שלמים. תוצאת הפעולה הינה תמיד מספר שלם. אופרטור בין שלמים. התוצאה היא שלם שהוא שארית החלוקה ביניהם. אופרטור בוליאני. אם ערך שני הביטויים הוא 6טעט - תוצאת הפעולה היא 6גועף; אחרת - תוצאת הפעולה היא 8186?. + אופרטור בין משתנים מאיפיון בית או שלם. פעולת ה-6ת8 בודקת אם יש התאמה בין כל שתי סיביות בשני המשתנים. רק אם בשניהם תהיינה סיביות 1 במקומות המקבילים - התוצאה תהיה 1 במקום המתאים במשתנה התוצאה. + הזזה שמאלה של הסיביות במשתנה מאיפיון בית או שלם. המשמעות - כפל בחזקות של 2. + הזזה ימינה של הסיביות במשתנה מאיפיון בית או שלם, המשמעות - חלוקה בחזקות של 2. פעולת חיבור. אופרטור זה פועל בין מספריס שלמים, ממשיים ומסוג בית. פעולת חיסור. אופרטור זה פועל בין מספרים שלמים, ממשיים ומסוג בית. אופרטור בוליאני. אם הערך של אחד מהביטויים הינו 6טת6 - אז: תוצאת הפעולה ה:א 6טשעס. + אופרטור בין ביטויים מאיפיון בית או שלם. הפעולה מתבצעת בהתאמה בין כל שת: סיביות בשני האופרנדים; אם אחד מהם שווה ל-1, הסיבית המתאימה בתוצאה תהיה גם כן 1; אחרת היא תהיה 0. + אופרטור בוליאני. אם הערך של שני האופרנדים שונה, האחד מהם פטע% - התוצאה תהיה פשע6> (1), ואם ערכם שווה - התוצאה תהיה 98188 (0). 5002 10202 102 2 02 2 2 1002 = תד יחסים בין ביטויים 5 81ת618610ת יחס של שיוויון: האם יש שיוויון? האם שני הביטוים שונים זה מזה? האם הערך של 811ט קטן מהערך של 7812 האם הערך של 11ט קטן או שווה לערך של 7812 האם הערך של 811ט גדול מהערך של 812ט? האם הערך של 11א8ט גדול או שווה לערך של 812ט? פעולות בין קבוצות 89 5666 חיתוך בין קבוצות. איחוד בין קבוצות. חיסור בין קבוצות. יחס: ספטעט - אם קיים שיויון בין קבוצות. יחס: 6טע6 - אם קיים שוני בין קבוצות. יחס: שטע6 - אם הקבוצה הראשונה מוכלת בשניה. *יחס: שנועס - אם הקבוצה השניה מוכלת בראשונה. יחס: אם הקבוצה הראשונה מוכלת בקבוצה השניה (מצב =>), אך .במקרה זה 58661 אינו חייב להיות קבוצה, ויכול להיות גם איבר בודד. 19 טבלאות אמת לאופרטורים בוליאניים 0% |,עסא ,עס ,6ת8 :2020 18016 בסטעך טבלת אמת עבור האופרטור 8ת24 טבלת אמתיעבור האופרטור 02 טבלת אמת עבור האופרטור פסא טבלת אמת עבור האופרטור 6סא סע 6 106 סע 30 4מס-ת1שסס 6886 86 %1% +0 ₪000 6 -תסט-?1 1שטט-0008%ע 0 62-60 דש משפטי בקרה 8 [00ע000 תיחום של גוש פקודות, או פקודה מורכבת. בהתאם לערך של המשתנה ב-6886 יתבצע אחד מגושי הפקודות שמוגדרים (סיעוף רב-נתיבי). ה-61868 הוא אופציונלי ומופיע אחרון מבין האפשרויות של ה-6856, לפנ* הפקודה המורכבת שתבוצע אם משתנה ה-608586 לא היה שווה לאף אחד מן הערכים שצויינו. ה-6186 לא קיים בכל הניבים של הפסקל. לעתים מופיעה במקומו המלה 186שע6ת06. חזרה אל התכנית הקוראת מתוך לולאות 116גש, 0008%6ע2, ו-ע0ס?. לולאה מבוקרת בראשה בעזרת מונה. ניתן להוסיף בכל פעם למונה הלולאה 1 או 1-. קפיצה למקום בתכנית בו נמצאת התו*ית שבפקודת ה-8000. ביצוע פקודה מורכבת במקרה שהתנאי של ה-+1 מתקיים. ע": שימוש ב-6156 אפשר לבצע פקודה או גוש פקודות נוסף במקרה שהתנאי אינו מתקיים (סיעוף דו-נתיבי). לולאה שמתבצעת עד אשר תנאי מסוים מתק*ים. גוף הלולאה יתבצע לפחות פעם אחת, כי הבקרה נמצאת בסופה. לולאה שמבוקרת בראשה ומתבצעת כל עוד תנאי מסוים מתק'ים. אם התנאי אינו מתקיים כבר בתחילה, גוף הלולאה לא יבוצע אף לא פעם אחת. הצהרה לפקודה מורכבת שבה מופיע שם רשומה. היא מאפשרת לפנות לשדות של רשומה מבל* לציין את שמה. הפרמטר 1622 | חפרמטר.:::ס?: (ק?6ת208)1 (פ+%ת1)ת42618 (ק+%ת008)1 (ק+%ת1)קאם (ק+%ת1)ספפע (ק+%ת6)1ת1 (ק+%ת1)1 םוסתהת (61ת1 ) צססתפת (ס+)6מוסת (ס%2ת1)ם1פ (ס+%ת502)1 (ס+%ת5026)1 (סץ ) סתגועי מכון ן: למספר שלם' או | מכוון למספר ממש" ן פונקציות אריתמטיות 8 רשמטת 6010מת10ע2 הפ' מחזירה ערך מוחלט של הפרמטר. הזוית מחושבת לפ: הפרמטר, שהוא הטנגנס שלה. קוסינוס הזוית. העלאה של 6 בחזקה של הפרמטר. חלק השבר של המספר (החלק שמימין לנקודה העשרונית) המיוצג ע"* הפרמטר. החלק השלם של המספר המ*וצג ע"* הפרמטר. הפונקציה מחזירה ערך ממשי (זהו ההבדל מהפונקציה 6תטעץך). לוגריתם טבע* של הפרמטר. מספר אקראי, אשר שווה או גדול מ-0 וקטן מ-1. מספר אקראי, אשר שווה או גדול מ-0 וקטן מהפרמטר של הפונקציה (מספר שלם בלבד). מחזיר מספר שלם, שהוא עיגול של מספר ממשי. סינוס הזוית. העלאה בריבוע של הפרמטר. שורש ריבועי של המספר. קיצוצ חלק השבר של המספר הממשי. הפונקציה מחזירה ערך שלם. 2 (%1מ1)עת0 (61ת086)1 (2ע026)80818 (ע6תק)026 (ע66)30818עק (ע50160)80818 כע508182-6 (61ת1) סעס 508185 (ע80818) פונקציות להסבה ולפעולות סקלרים פונמצי ות 2 ד חס 6108סתטת 508182 6 ת10פעפטתס6 66108תת 08180 6-ה הפ' מחזירה תו לפי קוד ה-45011 שלו, על פי הערך של הפרמטר . פונקציה בוליאנית, אשר מחזירה סטש כאשר המספר הוא אי-זוגי. הפ' מחזירה את מספרו הסידור: של הסקלר מאותו איפיו(. + במערכת 80-%/07 בלבד: הפ' מחזירה ערך שלם שהוא הכתובת שמכיל המצביע. הפ' מחזירה ערך הקודם לפרמטר בהתאם לאיפיונו. הפ' מחזירה ערך העוקב לפרמטר בהתאם לא*פיונו. + הפ' מחזירה ערך באיפיון של שם הפונקציה. הערך המוחזר יהיה הערך שמספרו הסידור* באיפיון הוא %61ם1. מתקי*ם: 1 ((61ת1)פעס 020)508188 + הפ' מחזירה ערך באיפיון של שם הפונקציה. הערך המוחזר יהיה הערך שמספרו הסידורי באיפיון כע6 50818%5, זהה למספרו הסידורי של "80818 באיפיון שלו (האיפיון של סעט 568182 שונה מהאיפיון של ע80818). מתקיים: ( (ש026)56818) פע6 ש56818- (ע80818)פעט 508182 פרוצדורות ופונקציות לטיפול במחרוזות תווים פרוצדורות וכונק+ ו -------- הבהאה ו 66108תטת 6ת8 05עט060ס2ק שת 61ת18]-שת1ע56 6 + תע צירוף של מחרוזות. ([...8623, ]8622, 8021) ניתן לחבר מחרוזות גם בעזרת האופרטור +. (62ת%61,1ת5%21,1)ע000 + 2 העתקת של 62ם1 תווים מהמחרוזת 5021, החל ממקום 1ס6ת1. (61מ8%22,1, 8021)%ע86ת1 + החדרה של מחרוזת 861 לתוך מחרוזת 2ע5%62, החל ממקום 61ת1. (80)8%21ת10 + ₪ הפ' מחזירה את אורכה של המחרוזת. (2ת208)8021,585 + ע מיקומה של תת-מחרוזת 8621 בתוך מחרוזת 8022. (1עם020886)0 + ע הפיכת תו מאות קטנה לאות גדולה (0801%681 165560). (1ע%1,80ם1)ע95 + פ הסבה של מספר (שלם או ממשי) למחרוזת תווים. (%2ת1, 61ת1, 8621) 81 + תם הסבה של מחרוזת 5621 למספר 1טת1. %52מ1 הינו דגל שמציין את הצלחתה או א* הצלחתה של פעולה זו. הערה + בפסקל' סט נדרט" ; ₪ כוללת פ/פ לטיפול במתרוזות הפעולות בין המחרוזות, אשה אם יא. הצבת ערך למחרוזת. 3 ב. השוואה בין מחרוזות. ( ג. קלט ופלט של מחרוזות. 38 פרוצדורות ופונקציות של קלט/פלט פמהעשסתססט5 1/0 6 6תם 2601606 81תת66אע (0א%)6ת6סק4 + 2 פתיחת קוב תמליל להוספה. (1ע211,8%)מ18818 + 2 *יחוס שם קובף שעל הדיסק למשתנה בתכנית בעל איפיון של קוב. 6 + כ קריאה מקובף חסר-איפיון אל משתנה. ([. .%2ח1, ]%1ת1, צֶתה8, 211 ) פרוצדורה זו נועדה לקלט מהיר בדרך פשוטה. 86 + כתיבת ממשתנה לקובף הסר-איפיון. מ*ועדת ([. .%2ח1, ]%1ת1, צֶה, 211 ) לפלט מהיר בדרך פשוטה. (1תת6)ת81ת0 + תת טעינה לזיכרון והרצת קובףצ אזס.* של הטורבו-פסקל, שעבר הידור (קומפילציה). כאשר התוכנית גדולה מ-א64% (מגבלת הטורבו ) ניתן לפצל אותה למספר תוכניות ולהעביר את הביצוע מתוכנית לתוכנית. (01086)111 | 2 סגירת קובא חיצוני. טוב גם עבור קובף תמליל. (211)+סם | 9 מחזירה ערך 71508 במצב של סוף קובף, ו-0485ע - אם לא. הפונקציה פועלת גם על קובצ תמליל. (6א%)ת1סם | ע מחזירה ערך 1808 בקריאה של סוף שורה בקובצ תמליל, אחרת - 46₪ק. (₪28986)2+11 + 2 מחיקת קובף מקטלוג מערכת ההפעלה. (60₪66)211א₪ + 2 טעינה והרצה של תכנית שעברה הידור. (116008)211ע + 9 מחזירה את מיקומו של מצביע הקוב (ביחס לתחילתו). (11?)תפט1ע + ע כתיבת המאגר של הקוב לדיסק. ([עַת8, ]11+)065 - 2 העברת רשומה מהקובף לזיכרון. פרוצדורה זו א*נה פועלת בטורבו-פסקל. (27116008)111ת10 + ע כמו הפונק' 110208ק, עבור קוב שגדול מ-32%0. (871169126)211ת10 + ע כמו הפונק' 1169126ע, עבור קוב שגדול מ-32%0. (ס?, 560%)211שתס.1 + 2 הצבת מצביע הקוב בקובצ שגדול מ-32%0. 15 ([עַםה, ]6)?11טק - ק 68 ([. .2עָת8, ]1עת8[, 211] ) ת681ת ת681סת ([..2ע862, ]8521[,%א6]) (ע8%, 11 ) סםה8תסת (3096%)211 (11+)66 1עשסת (ם,11+)א9860% (טא%)ת586%601 (6א%)560%60% (211 ) 6866תטופץ 6ט ([. .2עתף, ]11עַת8ך, 211 ] ) ת1 דסש ת₪21%61 ([. .2עתף, ]11עַת18, אש ] ) 16 110 +וה-9/5 פועלת' גם. על קבצי. תמליל העברה מהזיכרון לקובצ. פרוצדורה זו אינה פועלת בטורבו-פסקל. קלט מקובא שעל הדיסק. הפרוצדורה 3686 פועלת בפסקל סטנדרטי על קוב תמליל בלבד, ובטורבו - על כל קובא שהוא. מעבר לשורת הקלט הבאה. קלט שורה של קוב תמליל ודילוג להתחלת שורת הקלט הבאה. שינוי שם של קוב שעל הדיסק. פתיחת קובא לקריאה. הפונ' פועלת גם על קבצי תמליל. יצירה ופתיחה של קוב חדש על הדיסק לכתיבה. מיועדת גם לקבצי תמליל. הצבת מצביע הקוב במקום ם ביחס לתחילת הקובא. הצבה של מצביע הקוב בסוף השורה. הצבה של מצביע הקוב בסוף הקוב. השמטה של חלק הקוב, מהמקום בו (מצא המצביע ועד סוף הקוב. כתיבה בקבצים. הפרוצדורה 106פש פועלת בפסקל סטנדרט: על קובאצ תמליל בלבד. ובטורבו - כל כל קוב שהוא. מעבר לשורת הפלט הבאה. פלט לשורה ומעבר לשורה חדשה בקבצי תמליל (רק למשתנים בעלי איפיון סטנדרטי (ראה בפקודת 166ע02). 9 ועלת רק על קובף. רגיל. 5 להקצאה ולניהול של הזיכרון תמ18610טק1תפא 6 211008010 עעסמסא (עַת4665)8 + 2 את הכתובת בזיכרון של כל משתנה או של מצביע (ע6תק)2180086 (61ת1, עמק ) פסאסספק (%1ת1, עסתק ) 0606 (ע6תק)אעפא 1פטראפו 1 פטס (ע%תק)שסא ( עפעעה ) 80%ק (%1ם1)ע%ק (%2ת%1,1ת1)עטק (עסתק)3610896 שפ8ת110נע (%2ת1, %1ת1, ₪100סם) (%1תמ1)נ על אופרנד הפונקציה. שיחרור מקום בזיכרון שהוקצה ל-עטתס ע": הפרוצדורה שסא. ב שיחרור שטח זיכרון שהוקצה בעזרת הפרוצדורה 0 הקצאת שטח זיכרון לפי כמות בתים מבוקשת. שמירה של המצביע שבתחילת השטח החפשי בזיכרון, אשר מיועד להקצאה. מחזירה את הגודל של שטח הזיכרון הרצוף הפנו: הגדול ביותר, מבין השטחים המיועדים להקצאה דינמית. מחזירה את גודל שטח הזיכרון שפנו: להקצאה דינמית. הקצאת שטח זיכרון למצביע, לפי גודל האיפיון שעליו הוא מצביע. דחיסת המערך כדי שיתפוס פחות שטח זיכרון. הפרוצדורה אינה קימת בטורבו-פסקל. מחזירה ערך של מצביע, במערכת 02/8-80 בלבד. מחזירה ערך של מצביע, כלומר כתובת בזיכרון. 1 הוא הסגמנט בזיכרון ו-%2ם1 הוא ההיסט מתחילת הסגמנט. שיחרור של שטח הזיכרון החל מהכתובת ש- מ6תקש מצביע עליה. ערך זה נקבע לרוב ע":י הפרוצדורה אתםו. הצבה של 161 תווים מסוג 1עת6, החל ממקום 6₪100ם בזיכרון. הפונקציה מחזירה את הערך של הבית הגבוה במשתנה (בטורבו-פסקל משתנה מאיפיון שלם תופס בזיכרון 2 בתים, אשר השמאל* שבהם הוא בש1א=גבוה והימנ: הוא שס1=נמוך). 37 (%1מ1,0)1 6שסא , 1002שסם, 0₪1001ם) (61ת1 (צַת0?98)8 (צַת8 )508 0868 ₪ 86 (צת8 )?51260 (%1ת1) ק5₪8 מחזירה את ערכו של הבית הנמוך במשתנה. ראה גם הערה בפונק' צת. העתקה של קטע בזיכרון של %1ם1 בתים ממקום אחד למקום אחר בזיכרו[. מחזירה את כתובת ההיסט של המשתנה עת8 מתחילת הסגמנט (הדף). הכתובת עַמ8 יכולה להיות של משתנה, 59/95 או איפיון. מחזירה את מספר הסגמנט (הדף) שבו נמצא המשתנה צתה. מחזירה את הסגמנט בו נמצאת התכנית. מחזירה את הסגמנט בו נמצאים הנתונים. מחזירה את הסגמנט בו נמצאת המחסנית. מחזירה את גודל שטח הזיכרון שתופס משתנה או איפיון. החלפה בין הבית הגבוה והנמוך שבמשתנה זה. משתנה מאיפיון שלם תופס בטורבו-פסקל 2'בתים בלבד. 208 פרוצדורות ופונקציות לטיפול במסך ובלוח המקשים פפהפפסקסטפ 00826ע6א 0ת8 718660 1 + 5 ניקוי עד סוף השורה, בה נמצא הסמן (עספעטס). עספת[) + 2 ניקוי המסך כולו והעברת הסמן למצב פמסם. 0-6 + ק שת+ע8% 686%ע 81ת₪01ע66 6ת6פ 1% + 2 שםת1ע86 ת1%181128%10ת1 1ה8ת66221> 8ם6פ 86 + מחיקת השורה שבה נמצא הסמן וצמצום רווח השורות (השורות "עולות") ' 006% + 2 הצבת הסמן בטור 61ם1 (החל משמאל), ובשורה %2ם1 (%2ת1, %1ת1) (מלמעלה). הפינה השמאלית העליונה של המסך נחשבת כנקודה (1,1). 0 + 5 הגברה של עצמת חהארה במסך (חד-צבע) עבור הפלט הבא. 6 + פע הכנסת שורה ריקה במסך, במקום בו נמצא הסמן. כל השורות שמתחתיו "יורדות". 6 + הפונקציה מחזירה ערך 0 אם פעולת הקלט/פלט האחרו נה הצליחה, ומספר אחר - אם נכשלה, במקרה של שגיאה, הפונקציה מחזירה את מספר השגיאה שקרתה. יש להשתמש בפונקציה בשילוב עם ההוראה למהדר [-%1) (ראה גם בסעיף הוראות למהדר). 6 + הפונקציה מחזירה סטעטס אם הקישו על מקש" כלשהו , אחרת - מחזירה 28156?. 0 + החלשה של עצמת ההארה במסך, עבור הפלט הבא. 0טפסא + ע הגברה של עצמת ההארה של הפלט הבא (כמו 1660/ג118). 86 - קש פרוצדורה לדילוג לתחילת העמוד הבא במדפסת, או ניקו: המסך. פרוצדורה זו אינה מוגדרת בטורבו-פסקל. 9 פקודות לטיפול במסך לפי קוד 1פא2 1 0 71860 (6 ,ם ,']' ,(27)עת0) ('8]' ,(27)עת0) ('ט]' ,(27)עת0) ('217]' ,(27)עם0) ('א]' ,(27)עם0) ]' ,(27)עת0) ('ע' 1:ץ ,';' ,1:א ('ם0]' , (27)עם0) ('ם1]' ,(27)עם0) ('8₪]' ,(27)עם0) ('ם5]' ,(27)עם0) ('םך]' ,(27)עם0) ('8₪]' ,(27)שת0) הזזת הסמן ממקומו. שמירת מיקום הסמן. החזרת הסמן למיקום, אשר נשמר ע"* הפקודה הקודמת. ניקוי המסך כולו והעברת הסמן למצב 6מסא. ניקוי עד סוף השורה, בה נמצא הסמן. הצבת הסמן בשורה א (מלמעלה), ובטור ע (משמאל). הפינה העליונה של המסך נחשבת כנקודה (1,1). חזרה למצב כתיבה של "לבן על גבי שחור". ביטול כל הפעולות הבאות. הגברה של עצמת ההארה של הפלט הבא. מתיחת קו מתחת לפלט הבא (במסך חד-צבע בלבד). היבהוב של הפלט הבא. היפוך בין צבע התו לצבע הרקע של הפלט הבא. הפלט הבא לא יראה. 150 5 לשליטה במערכת ההפעלה 8מהששסעקסטס 6201ת00 מסספצפ ([%2ת1, ]%1ת8805)1 2 80-א/07: קריאה לשגרה מספר 61ם1 של ה-6408ם, ואפשרות לשימוש בפרמטר נוסף 62ם1. ([%2ם1, ]61ת2608)1 ץע 02/8-80: קריאה לשגרה מספר 61ת1 של ה-8608, ואפשרות לשימוש בפרמטר נוסף 62םת1. זוה: פונקציה, אשר מחזירה ערך באוגר 4. ([%2ת1, ]%1ם260501)1 ץע 02/4-80: קריאה לשגרה מספר 61ת1 של ה-8058, ואפשרות לשימוש בפרמטר נוסף 62ת1. הפונקציה מחזירה את התוצאה בזוג האוגרים 10. (68ע-2808)609 2 86-א/02: קריאה לשגרה של ה-8608, לפי הערכים שנמצאים הפרמטר ש6ע-8405 (ראה הערה). ([...62ת1, ]%1ת2105)1 2 80-א/02: קריאה לשגרה מספר 61ם1 של ה-108, ואפשרות לשימוש בפרמטרים נוספים. ([...%2ם1 ]%1ת8108)1 ע 80-א02/8: קריאה לשגרה מספר 61ם1 של ה-8108, ואפשרות לשימוש בפרמטרים נוספים. זוה פונקציה, אשר מחזירה ערך באוגר 4. ([...62ת1, ]%1ת21088,)1 ע 02/8-80: קריאה לשגרה מספר 61ת1 של ה-108, ואפשרות לשימוש בפרמטרים נוספים. הפונקציה מחזירה את התוצאה בזוג האוגרים ,18. (15)8%21כ2ם0 ע 05כ-%5 (החל מגירסה 3): שינו: הספריה שפועלת בדיסק או בדיסקט הנוכחי, לספריה בשם 8021 באותו דיסק או דיסקט. (1ע61,8%ת06%215)1 2 פרוצדורה שמחזירה לפרמטר 161 את מספר הכונן שאיתו עובדים, ולפרמטר 8621 את שם הספריה שפועלים בה באותו כונן. (6₪ע-%2)608מ1 2 במערכות של 16 סיביות (0ק-18% למשל): יצירת %סטעעססת+ לפ: הערכים שמכיל הפרמטר (ראה הערה). . 1 (8%621) מ1פאא (6₪ע-608) 08ספא (%1ת6)1ע10עפמט0 (8621) ם28%ש0 6מגוס0מע8ק (61ת1)ע5%מעהק (61ת1) 2618 1% 6 ססתאת (12)5%21סמת 5 (החל מגירסה 3): יצירת תת-ספריה חדשה (עע905-6126060) בשם 8021. קריאה למערכת ההפעלה 5-205 בהתאם לפרמטר (ראה הערה מטה). במערכות של 16 סיביות: הכרזה שקבצ* ה-ע6218ט00 של פרוצדורות ופונקציות נמצאים בכונן מספר 1 5 (החל מגירטה 3): הכרזה שקבצי ה-ע18עסט0 של פרוצדורות ופונקציות נמצאים בכונן הנוכחי, בספריה בשם 8021. הפונקציה מחזירה את מספר הפרמטרים במאגר של שורת הפקודה, שמוחזקת במערכת ההפעלה. הפונקציה מחזירה מחרוזת, שהיא ערך הפרמטר שמיקומו %1ת1, במאגר של שורת הפקודה של מערכת ההפעלה. השעיית הביצוע של התכנית למשך זמן של 161 אלפיות שנייה. הפסקת ביצוע התכנית. בשימוש החל מגירסה 3: בכל פעם שמורצת התכנית, המספרים האקראיים שמייצרת פונקצית ה-שסתפתּ יהיו שונים, אחרת - פונקציה זו תיצור מספרים זהים בכל הרצה. 5 (החל מגירסה 3): ביטול הספריה שבדיסק או בדיסקט הנוכחי ששמה 1ע852. הספריה תימחק רק אם היא ריקה מקבצים. 122 פונקציות ופרוצדורות של טורבו-פסקל למחשב 6ק-אםד טס ש6ס5צ5 0ס-אמ1 5 הפועלות ללא כרטיס גרפ: (61מ1)ע2618 2 השהייה, דהיינו הפסקת ביצוע במחשב למשך זמן מוגבל. %61ת1 - מספר אלפיות השניה של ההשה*ייה. אמטספסא 2 הפסקה של השמעת צליל. (%61ת6)1תגוס5 השמעת צליל לפי תדירות (לפי סקלה של הרצ). הצליל ישמע עד שתופעל הפרוצדורה 6תטספסא. (%1ת1) 6תו0ע0080%8א16 2 קביעת צבע הרקע במסך של תמליל. (61ת600102)1א16 2 קביעת צבע הצגת התווים במסך תמליל. 6 2 העברת המסך למצב של כתיבת תמליל, תוך שימוש במסך הנוכחי. (61ת60866)1א16' 2 העברת המסך למצב של תמליל, תוך שימוש במסך מסוים. 6%עסחא <ע מחזירה את מספר הטור שבו נמצא הסמן. צסשעסתט יע מחזירה את מספר השורה שבה נמצא הסמן. שס6ת₪1 2 הגדרת חהלון על המסך לפי הקואורדינטות של (%8ת63,1ת%62,1ת61,1ת1) | הפינה השמאלית העליונה (62ם%61,1ת1) והפינה הימנית התהתונה (61מ03,1ם1) של החלון. 5 לעבודה בכרטיס גרפ: 6 עפ שרטוט קשת החל מנקודה (62ת61,1ת1), בזוית 63ת1 ,%3ת%53,1ת%52,1ת1,1סת1) מעלות, ברדיוס 6%םת1 ובצבע 65ם1. (%5תמ+ 6 פ שרטוט של מעגל שמרכזו בנקודה (%52ת%51,1ם1), (%68ת1, %63ת%52,1ת1, 61ת1) רדיוסו 63ם1 וצבעו 64ם1. 6 5 הגדרה של טבלת הסבה לצבעים %61ם1 עד 64ם1. (%8ת%3,1ת62,1ת1, %1ת1) שפעם 2 שרטוט קו ישר בין הנקודות (%2ם%51,1ת1) (68ת%3,1ת%2,1ת61,1ת1) "9 ו-(4סת63,1ת1). 3 (%1ת1)מ11156260ק 6 (64ת03,1ת%52,1ת01,1ת1) תע11108660ע (680ת63,1ת62,1ת%61,1ת1) (65ת1 עס06620%001 (62ת1, 61ת1) 6 3, 2ת1, 1>ת1, עֶת8 ) (68ת1 (61ת1) 6מנגוס0 08000868 0-6 שס6ת1שתסםי) (68ת%63,1ת%52,1ת61,1מ1) 68 (61מ1186500102)1 (%1ם816566)1ק (ע6תק)תע8606ק (%3ת%2,1מ51,1םת10%5)1ק2 (62ת1, %1ת1, עת16)8קסגוק 35% ניקוי המסך ע"י צביעתו בצבע %61ם1. צביעת השטח מסביב לנקודה (%62ת51,1ת1) בצבע 3. גבולות שטח הצורה מותווים בצבע 6%ם1. צביעת מלבן שמוגדר בין הנקודות (%2ם61,1םת1) ו-(60ת53,1מ1) בצבע 65ם1. מספר הצבע של הנקודה (62ם51,1ת1). החסנת הגרפיקה שבתחום שבין הנקודה השמאלית-עליונה (62ת%1,1ת1) לבין הנקודה הימנית-תחתונה (04ם%53,1ם1) אל המאגר המוגדר ע":* עֶת8. בחירת צבע הרקע במסך הגרפ'. הפעלת מסך גרפי בהפרדה של 200א320 נקודות. הצבעים שיוצגו על המסך תלויים בפרוצדורה 686... הגדרת חלון במסך גרפי לפי נקודה שמאלית-עליונה (%2ם%51,1ת1) ו-נקודה ימנית-תחתונה (01םת63,1ת1). הגדרת הפרדה (רזולוציה) של 200א640 נקודות (בד"כ מתאים רק למסך חד-צבע). כמו הפונקציה ₪1868. כאן ניתן בנוסף, לבחור את הצבע בו יתבצע השרטוט במסך. הגדרה בהפרדה של 200א320 נקודות, ובחירת צירוף הצבעים שבו תתבצע התצוגה. הגדרת התבנית (םע8668ק) שבה ישתמש המחשב בפונקציה םע111286066ק7. עסתס הוא מערך של 7 בתים, אשר בו נתונים לגבי סוג התבנית. קביעת הצבע (63ם1) של הנקודה (%62ת61,1ת1). הצגה של גרפיקה, שנשמרה קודם לכן במשתנה עתפ ע"י הפרוצדורה 060716, ימינה ומתחת לנקודה (%2ת%1,1םת1) שעל המסך. פקודות ל"צב" במחשב 60ק-18% 98 16ססטץ 0ק-אפד (לביצוע פקודות אילו דרוש כרטיס גרפי) (61ת280%)1 2 הזזת ה"צב" אחורה, 61םמ1 צעדים. 010200 (%1ם6)1ע8שעסק שת681 16 ס6מס קפעוסא משסכתסק סשמסק (61ת1)קת560168061 (6%1ת1)ע0ס001מ56%26 66 פט שסת5 (%1ת626)1.]תקנוך (%1ת2%)1 1תתתגויד ש60ת6161מטטך (68ת%3,1ת%2,1ת%61,1ת1) -626 610 מו ספפשט ק ניקוי החלון במסך בו פועל ה"צב", ומיקומו בנקודה 0,0. הזזת ה"צב" קדימה ב-%1ת1 צעדים. החזרה של כיוון תנועת ה"צב" במעלות. הפיכת ה"צב" לבלתי -נראה. מיקום ה"צב" במרכז החלון בו הוא פועל (נקודה 0,0). מונע מה"צב" להופיע בצידו השני של החלון, כאשר הוא זז מחוץ לגבולות החלון בצידו האחד. גורמת לכך שכל תזוזה של ה"צב" תשורטט על המסך. גורמת לכך שה"צב" *זוז מבלי לשרטט. קביעת כיוון ה"צב" במעלות (0 מעלות=למעלה, 180 מעלות=למטה). קביעת הצבע שבו הצב משרטט. להצגת ה"צב" (ההיפך מהפרוצדורה 26186ט11601). סיבוב ה"צב" ב-61ת1 מעלות שמאלה (נגד כיוון השעון). סיבוב ה"צב" ב-%1ת1 מעלות ימ*נה (עס כיוון השעון). הגדרת החלון בו פועל ה"צב", כאשר: מרכז החלון היא הנקודה (%62ת%61,1ם1), רוחבו 63ם1, וגובהו 6%ם1. קבלת ערך 126 אם ה"צב" נמצא בחלון הנוכח:י שלו. ה"צב" יראה מצידו השני של החלון, כאשר הוא יוצא מגבולות החלון בצידו האחד. 355 עססא 2 קורדינטת ה-א שבה נמצא ה"צב". עססצ 2 קורדינטת ה-צ שבה נמצא ה"צב". משתנים בשרות המערכת 9 6/6 מ6ספע5 ת06/טת כמות התווים המכסימלית שאפשר לקלוט בפרוצדורת ה-6ַ6ַ3. 80% מצביע לראש המאגר שמשמש להקצאה דינמית של שטחי זיכרון. ע6קעטססת מצביע לראש המחסנית שמשמשת לרקורסיה של פונקציות ופרוצדורות. 55802 מצביע לראש המחסנית שמשמשת להקצאת שטחים למשתנים מקומיים בזמן קריאה לפונקציות ופרוצדורות. מצביעים לכתובות של פרוצדורות קלט/פלט 89 2062098985 60000 ע6טבעע 1/0 (טורבו-5סקל בלבד) ש לשים 6 לכך, שאין אלו 5 שקוראים לכל 1/9 אחרת % לבירור נוסף כיצד מוגדר כַל- <תמליל סטנדרטי ים." שם המצב:ע מצביע על )קת זאט מצביע לפרוצדורה אט4 לקלט. 62ק6ו0א מצביע לפרוצדורה אטג לפלט. >קת1ת 0 מצביע לפרוצדורה ת0ס6 לקלט. 0000 מצביע לפרוצדורה ם0ס0 לפלט. 005262 מצביע לפונקציה המחזירה את מצב ת00. תס 0 מצביע לפרוצדורה 186 לפלט. 03520002 מצביע לפרוצדורה 052 לקלט. 850002 מצביע לפרוצדורה ע05 לפלט. 106 [ ]מסא [ ]ששסא [ ]%עסק [ ]ט6עסק אטג + תס6 + 6טסחך + 4 + % 06% מע + עפץ + מערכים סטנדרטיים 58 ץהעפה 6עסק 6ת8 עעסססא מערך של איברים מאיפיון בית (6סעכ), למיפוי של כל הזיכרון. במעבדים 8086 ו-8088, האינדקס הראשון של המערך הוא מספר הסגמנט (הדף) בזיכרון, והאינדקס השני הוא ההיסט של הבית מתחילת הסגמנט. במעבד 2-80 האינדקס הוא מספר שלם יחיד. מערך של מלים (002068) בנות 16 סיביות, למיפו: של כל הזיכרון. מערך זה קיים רק במהשבים של 16 סיביות. האינדקסים של המערך הם כמו של המערך מס (לא קיים במעבד 2-80). מערך של איברים מאיפיון בית, למיפוי של הכניסות והיציאות (לקלט ופלט) של המחשב. למערך יש אינדקס אחד שערכו *כול להיות בטווח מ-0 ועד 65535 (תיאורטית ניתן לחבר למחשב 65536 יחידות קלט/פלט). כל איבר פועל ככניסה/יציאה טורית. במעבד 2-80 אי נדקס המערך הוא מאיפיון ססְצַס וכן גם איברי המערך. מערך שאיבריו הן מלים (00268) בנות 16 סיביות. מערך זה פועל במחשבים של 16 סיביות בלבד. תפקידו ואופן פעולתו דומים לאלו של המערך פעסץ (לא קיים המעבד 2-80). הגדרות מראש לאמצעי* קלט/פלט 898 2266001806 116ע 6א6ך פלט ליציאה הטורית של המחשב. בד"כ יכול לשמש למודם או למדפסת בעלת תקשורת טורית. פלט למסך המחשב. אמצעי הקלט, שהוא ברירת המחדל של המערכת, בד"כ - המקלדת. מקלדת - אמצעי קלט בלבד. המדפסת - אמצעי פלט בלבד. אמצע* הפלט, שהוא ברירת המחדל של המערכת, בד"כ - המסך. פלט למסוף של המערכת. בד"כ יש זהות ל-ם00. אמצע* לא מוגדר במערכת. המתכנת יכול להגדירו ע": פעולת ם12551₪. 57 + 4 .. [] או (..) () או (* *) 108 סימנים מיוחדים 8ץ 60181ס5 מקדים מספר שלם בתחום 0-255, כדי לציין תו לפי קוד 45011,או תו מי*וחד. מציין שאחריו מופיע קבוע בבסיס 16. תג יחיד מציין תחילתה וסופה של רשימת קבועים מסוג מחרוזת, או תו. הסוגריים תוחמים רשימת פרמטרים של 5/5. הסוגריים משנים את סדר הביצוע של פעולות בביטויים מאיפיונים שונים. בטורבו-פסקל משמש גם בהגדרת קבוע מאופיין ( 08ת5%8ת00 66סעט). הפסיק מפריד בין פרמטרים בהגדרה וקריאה לפ/5, ובין משתנים בחלקים ש78, סַסעֶ7 ו-18061 של התוכנית. הנקודה מסמנת סוף תכנית. היא משמשת גם בתוך קבועים ממשיים (כד: לציין את חלק השבר), ולרישום שדות של רשומה. שתי נקודות מצ*ינות תת-תחום של איפיון מסוים. הנקודותיים מפרידות בחלק ה-6פצ6 בין שם האיפיון החדש והגדרתו. בהצהרת 8/, וברשימת פרמטרים של 5/5 - בין משתנים והאיפיון שלהם. סימון משולב זה משמש בפקודת הצבה/השמה. סימן להפרדה בין פקודות ולהפרדה בין הצהרות הגדרות וכותרות. סימן של יחס בין ביטויים במשפט בוליאני. הוא מפריד ב*|ן הקבוע וערכו בהגדרה של קבועים (56ת00). סימון לתת-תחום שנמצא בתוך קבוצה. מגדיר ומציין איפיון מסוג מצביע, ומקדים את האותיות והתווים ], , [, 7, - כדי לציין תו בקרה. תוחמים של הערות בגוף התוכנית. )54+[ )58+( +50+[ (+55+ [םע9+ [ם%0) )51+[ [9116 81) [+א58) +506[ [םש9) )58-( )50+[ )50-[ הוראות למהדר טורבו-פסקל 858 60001100 88681ע-ססעגוךף עבור מערכת 05/84-80: +, איסור לבצע רקורסיות; -, היתר לבצע רקורסיות. אם -, הקלט/פלט מתייחס לאמצעי המוגדר :18%; +, אמצעי הקלט/פלט הוא :א00. אם +, מאפשר קבלת הפרעה (ספטפעסם1) של 1-8ע00 או 1-0ע06 בזמן הרצה; -, אינו מאפשר זאת. אם +, מאפשר מאגר (ע6+טם) של קלט/פלט; -, אינו מאפשר. םמ הוא מספר הקבצים שניתן לפתוח בו-זמנית. אם 0=ת אזי אמצעי הקלט הסטנדרטי יהיה א600 או אפך לפי ההוראה [+8+; אחרת, יש אפשרות לקבוע את אמצעי הקלט ואת גודל המאגר. הוראה זו קיימת במערכת הפעלה 05כ5-2א בלבד. אם +, הטיפול בשגיאות קלפ/פלט יהיה ע"י המערכת; אחרת, הטיפול בשגיאות קלט/פלט יהיה ע"י המתכנת, אשר יזהה אותן בעזרת הפונקציה 102658%41%6. קוב מקור של 5/9 שהוכן בנפרד, יהיה כלול בתכנית. אם +, נעשית בדיקה אם יש במחסנית מספיק שטח למשתנים המקומיים של ה5פ/פ; אם -, לא נעשית בדיקה כזו והמשמעות היא - ביטול הבדיקה של גלישה במהסנית. מציין שקבצי 014 (של פונקציות ופרוצדורות) נמצאות על תקליטו ן בכונן שהוא ברירת המחדל; אחרת, נחליף את התו 6 באחד התווים בתחום 8..2, שיציין את שם הכונן שבו הם (מצאים. הוראה זו מגדירה את הפלט הסטנדרטי, בדומה להוראה (ת50) אשר מגדירה את הקלט הסטנדרטי. אם +, תתבצע בזמן הרצה בדיקה אם אינדקס של מערך אינו מחו לטווח ההגדרה של המערך; אם -, בדיקה כזו לא תתבצע (עלולות להיות שגיאות תכנות). אם +, תתבצע בדיקה בעת השוואה בין מחרוזות, אם אורכן שווה; אם -, תבוטל הבדיקה. אם +, אין אפשרות לקלוט פסקים 68ק0ע66ת1 מסוג 6601-0. הדבר מגביר את מהירות הרצת התכנית; אם -, יש לפעול לפי ההוראה [+50+. 59 200 [ם%) ציון של רמת הקינון המכסימלית של הפרוצדורה 0111. ם יכול לקבל ערכים מ-1 עד 9. ברירת המחדל היא 2. [+א%)+ אם +, בעיבוד מערכים תתבצע אופטימיזציה כדי לשפר את הביצועים. אם -, מתבצעת אופטימיזציה כדי להקטין את גודל התוכנית. הערך הרשום ליד ההוראה הו לומדים מחשבים -- בסיומו של יוט-עיון בוליאנים, משתנים וביטויים בסיסי מספרים הסתעפויות הצהרת תוית חיפוש בינרי לי נאר? לולאות מקוננות מבנה 08896 מבני נתונים דינמיים מחסנ ית הוספת איבר הוצאת איבר הפיכת סדר האיברים ספירת איברים מחרוזת 2 0 ,180108עאט ,ב168ססם 3 8/12,13 ,1 סס 06081 , 1 סס 2601₪81 8 שַת1תס6תהעם 5 ת6601828610 1.8061 7 סי 10/2,3 6‏ ,17/2 - צעפת31 150 - עפסת11 3 09 7 ₪ פא 2 13/7 12/8 4 6 17 6 8%20600 6868 16מהפחצע 0% 179 תפטוש 9 17/67 פס 8( 6+ 178 6מטסס - 1 10/8,5,6,7 17/1 6 שת1ע6ס 21 מיון 7 0% בועות 8 8/8 7/1.5.6,7 5 7 - 16ססגום ע"י מיזוג 73 - 6שעס ע"י שיבו> 8 7/1,2 2 7 - ת%510ע50ת1 קבצים 117 - 16נע קובץ אינדקס-סדרת: 12.8 - 2116 5181ת506000-א66ת1 רשימה מקושרת 3 מיון/17 - 118% 11₪%66 16 נספח/ 1 6 א גוס ה נספח/1 850% מיזוג 7 שת1שע סו מערכים חד-מימדיים (וקטור) 8 7800008 - קבצים 17 8 - מספר אקרא:י 2-8 פעססעטת מסשתפת מערך 5 צפעס דו-מימד: 1 8/4 7/1 6/6 5/7 - 81ת510ת61₪6-סש חד-מימד: - 7860002 מספרים 7 9/2 8/8,10,15 7/5 פפפטת 02 - תווים 17/4 13/4,7 11/7 8/8,9,11 7/5 8 0595 - רשומות 5 16 11/6 10/1,2,3,2 8 059 - רשומות מקושרות 16 898 11606 0% - מצביעים 110.00 8 +0 - רב-מימד: 6 - 81ת510ת6ם1%101טא תורים 1.2 8 059 - מצביע 17 עססת1סק במערך 11.10 8 0 צהעעב עיבוד קבצי תמליל 33| ש₪ת0881ססעק 6א6ך עץ בינר: 5, 17/13 6 עתפתנת בנייה ממערך 155 הוספת איבר 11,58 6 - חיפוש איבר 13 ת0ע808 %6ת610₪0 - מחיקת איבר 13 6 -- סריקה 11/5 שת1ת808 - פונקציה ת6610תטק בוליאנית 8 18/11,185 - ת800168 המחזירה מצביע 13 כפרמטר לפונקציה אחרת 05.6 - ע666שהעהק 660281ס6סעק רקורסיבית 3 166 - 360008106 פרוצדורה 6 מק מקוננת 3 11/7 - 68560 רקורסיבית 5 מיון/17 16 - 360025108 קבוצה 18 6% פעולות בין קבוצות ם610עסקס - 12 קובצ 11 6 אב 12/3 - 886062 אי נדקס-סדרת: 18 - 500005181 06א66ת1 גישה ישירה 18 - 8000688 212606 מיון 117 6 - מיזוג 117 6 - סדרת: 1 16 12/8 - %181ת50000 תמליל 175 13| - 76%65 תנועות 12% - 8ת80010פ8תפעי רקורסיה 155 ב810ע60ת פונקציה 3 166 ם6610תט+ 6ט1פעטססת פרוצדורה ‏ 17/1,3,8,13,18,15 מיון/17 16 6 6ט1פעטססת רשומה 6 13/3 12/2 11/1,2,6,7 10 | 15 באורך משתנה 2 12 - 6%ת18ע78 רשומות 8 במערך 5 166 11/6 10/1,2,3,1 - 0% צפעע מקושרות - %66ת13 יישום במערך 16 - 11406 09% צהפעעב רשימה מקושרת 8 16/11 6% 66את1.1 בנייה לפי סדר המיון 1/1 עס6עס ם1+ - 114טם בנייה מקובף 11 6 מספ? - 116ט דו-קשירה 12 - 1אטם חיבור שתי רשימות 13 - 0שס 806ת08066ת00 יישום במערך 16 - 0% עְ8עע1 כתיבה לקוב% 1 16/1 6 סס - 106ע₪ מיון 3 מיון/17 - 09 שת1סעספ ממויינת - 502066 הוספת איבר 05 16/1 ₪ם61 החלפת איברים 3 מיון/17 8שפפת סא חיפוש איבר 1 16/1 שת 568 מחיקת איבר 1 16/1 שת61661 סריקה 171 שת1תמהספ שליטה במסוף 2 9 1 00 1ת1שתסך תור 80 13/3 6וסנו במערך 170,2 8 09 עאעע כפול 112 - 626066 16מטסע תמליל 6% עיבוד קבצי תמליל 33| שַת1פפסססעס - קבצי תמליל 15 9890 133 8 - ---כ-- --ֶ--|------- --------- 3 מערך 5 שעג מצביעים 1110 8 09 - תורים 1.,|12 898 059 ה רב-מימדי 66 - [8ת810מ1%161₪0טא דו-מימדי 1 %/8 7/1 6/6 5/7 - 81ת61₪0₪810-סש חד-מימד: - 160602 7/5 8/8,9,11 11/7 13/8,7 17/8 תווים‎ 16 רשומות מקושרות 8 0595 - 8 06את11 02 7 מספרים 7 9/1 8/8,10,15 7/5 פעסטטת +0 - רשומות 5 16 11/6 10/1,2,3,2 8 09 - עצ בינר: 115 6 עפהת1ם בנייה ממערך 15 מחיקת איבר 13 6 - חיפוש איבר 13 ת0ע808 610206 - הוספת איבר, 158 1% - סר*קה 5 17 שת1תאסה - בוליאנים, משתנים וביטויים 2 8 , 180168עאט , ת300108 הסתעפויות מבנה 0886 בסיסי מספרים מבני נתונים דינמיים קובצ גישה ישירה מ*יזוג מ*ון אינדקס-סדרת* אב סדרת: תמליל תנועות פונקציה המחזירה מצביע בוליאנית כפרמטר לפו נקציה אחרת רקורסיבית הצהרת תוית 2% 8 שת1תסתאים 566 4 12/8 13/7 2 3 8/12,11 1 00 2601₪81 17 862006 6868 16מהחצע 11 6 18 - 800088 21060% 1177 6 - 177 % - 18 - %6181ת806006 60א866ת1 12% - 88662 1 16 12/8 - 000106181 5 - 13 - 7686 12 - 8ת880%610ת8פך ת0ס6%1תגות 13 8 18/11,18 - מ8001068 6 - 600סמע8ק 81עט60ססעק 3 166 - 8106עסס3 8 מ6601828%010 1.8061 רשימה מקושרת יישום במערך בנייה מקוב בנייה לפי סדר המיון חיבור שתי רשימות דו-קשירה ממויינת הוספת איבר מחיקת איבר החלפת איברים סריקה חיפוש איבר מיון כתיבה לקוב% לולאות מקוננות מיזוג קבצים מערכים חד-מימדיים (וקטור) בסיסי מספרים מצביע במערך פרוצדורה מקוננת רקורסיבית תור במערך כפול מספר אקרא? רשומה באורך משתנה רשומות במערך מקושרות יישום במערך רקורסיה פונקציה פרוצדורה 13,183,15, 7 16/11 % 66את1/1 16 - 00 שפעע1 11 6 מספ? - 116ש 11 עס6עס ם1 - 116ש8 183 - 660 8086ת0006850 112 - 1פט - 902606 5% 16/11 018 1 16/1 ₪ת61661 3 מיון/17 פא 1/1 שת 1 16/1 ₪ 3 מיון/1 - +0 שת01ע50 1 16/1 68 00 - 106ע₪ 3 ו וטו - | 7 שת1שיס 1177 8 - 060%00% - 3 8/12,11 1 0 06081 177 עססת1סק 10 שנס 0% צפעיה 6 3 11/7 - 68066 5 מיון/17 16 - 3600128106 0 13/3 106 1.12 8 05 צפעעה 1.12 - 6666 16סטספ 2% פעסטטטת מס6תפת 16 3 12/2 7 10 6 5 .5,6,8. .17/1 2 12 - %ת08018 : 8 - 10/1,2,3,8 11/6 16 5‏ - 05 שמעטה - %66ת11 16 3 16 8 מיון/17 16 - 806ת11 02 צפעעב 155 ת2810ססת ת6610תט+ 5106ענוס6 6 6028148 55 חיפוש בינר: לי נאר: קבוצה פעולות בין קבוצות מיון בועות קבצים 1686 קובצ אי נדקס-סדרת* ע"* שיבוא רשימה מקושרת ע"י מיזוג 011165006 מחסנ ית הפיכת סדר האיברים הוצאת איבר הוספת איבר ספירת איברים מחרוזת שליטה במסוף תמליל עיבוד קבצי תמליל קבצי תמליל עיבוד קבצי תמליל 16 108 17/2,% 10/2,3 6 150 7 5 7/8.5.6.7 8 11/7 8 7/1,2 2 7 3 מיון/17 7 מסיהסטס - עַ2ע8ת21 -‏ 2ת08ת1.1 14 5% מסנט8עסקס - %ספ - 16ססטם - 0116 נספח/ 7 110805026 - %116 6181ת800₪6-א66ת1 - ת02%610פת1 - 118% %68ת11 7 - ₪6ע6 נספח/1 160% 0% 8-8( 6פסטת1 17.9 ססם 17679 תפטום 18 סמטסס - 11| 7 17/1 -6 שמנעסס 2 9 1 מס 81מ₪1ע6ך 6% 13 ש₪ם6581ססעס - - 8 13 17/8,9,10 5 13 ₪ת66881סעק 766 רשימות ספר התשובות לפסקל מציג בפני הקורא מיגוון של תוכניות פסקל העוסקות במספר רב של נושאיס למתחיליס ומתקדמים. אלו הן תשובות לשאלות תזרה ותרגילי תכנות שבספר פסקל -- שפה לתכנות מבני מאת פרופי אבא אנגלברג. התוכניות שבספר מלוות בהסבריס מפורטיס למשתנים ולמבני הקבצים והרשימות למיניהן. תרשימיס סכימטיים מתאריס את מהלך התוכניות, את הפרוצדורות והפונקציות ותפקידן, ואת מבנה הקבצים והרשימות. הסבר מקיף ניתן לתוכניות העוסקות במבני נתונים זיינמיים ותוכניות מיון. פרק נוסף מתאר את הגדרות מהדר פסקל השטנדרטי, עס דגש על מהדר 3.0 85681 -סטזט. הספר מיועד לכל הלומדיס פסקל לפי הדרישות של תוכנית הלימודיס החדשה של משרד החינוך והתרבות עבור מגמות ענייא בבתי הספר העל-יסודיים ובמכללות להנדסאים. הוא מותאס גם למיגוון הנושאיס הנלמדים במרכז ענייא במכון לפריון העבודה והייצור, המכון להכשרה טכנולוגית (מהייט) ולתוכניות הלימודים באוניברסיטאות ובמכללות למחשביסם. הספר מיועד לתלמיד בכתה, ללוּמד בעצמו, ולכל מי שכבר מתכנת פסקל ומעוניין להעמיק את ידיעותיו. על המחבר: אמיר קפלן נולד ב-1961, בישראל, למד מתמטיקה ומחשבים באוניברסיטת תל-אביב, חבר סגל בפקולטה למתשבים בטכניון. עסק בחברת סייטקס בנושאי יישוס ופיתות.