» נושאי לימוד
» נושאי לימוד
יום ראשון 22 בדצמבר 2024
בלוקים פנימיים בלולאת if
דף ראשי  פרק 3 :יסודות שפת פסקל  משפטי תנאי וברירה  בלוקים פנימיים בלולאת if גרסה להדפסה

בלוקים פנימיים בלולאת if

 

 

תרגיל:

 

כתוב תוכנית, הקולטת שלושה מספרים לתאים A,B,C  ודואגת לסדרם מהקטן לגדול. כלומר, בתא A יהיה המספר הקטן ובתא C יהיה המספר הגדול.

 

פתרון:

 

 

 

בפסקל נרשום החלפה זו:

(*E מקבל את הערך של  E:=B;       (* B

(* B מקבל את הערך של B:=A;       (* A

(* A מקבל את הערך של   A:=E;     (* E

 

 

 

 

 

נרשום את תת-התוכנית המסדרת את המספרים. נניח כי המספרים בקלט הם A,B,C ומשתנה העזר הוא E.

 

   ·          

   ·         קטע הבא לפני תת תוכנית זו

   ·          

procedure LITTLE_BIG;

   { תת-תוכנית לסידור שלושה מספרים מהקטן לגדול }

begin

   if A>B then

   begin

      E:=B;     (* B מקבל את הערך של E *)

      B:=A;     (* A מקבל את הערך של B *)

     A:=E;     (* E מקבל את הערך של A *)                            

   end;

   if B>C then

   begin

     E:=C;

     C:=B;

     B:=E;

   end;

   if A>B then

   bagin

     E:=B;

     B:=A;

     A:=E;

   end;

end;   (*  סיום תת התוכנית *)

  •   קטע הבא אחרי תת התוכנית הזו

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 להורדת הפרוצדורה לחץ כאן

 

בתת-תוכנית זו, בסיום הבלוק הראשון, במשתנה A, יהיה הקטן מבין A ו-B, (כי אם A גדול מ-B אנו מבצעים החלפת ערכים). בהמשך, הקטן מבין C ן-B הוצב ב-B (שוב, ביצענו את אותה בדיקה, אם B גדול מ-C אז נבצע החלפת ערכים ואז הערך של C שהיה קטן יותר יוצב ב-B).לבסוף, שוב תת-התוכנית חזרה על פעולת הבלוק הראשון המציב את הקטן מבין A ו-B (שהשתנו בינתיים) ל-A.

 

נעקוב אחרי שלבי התוכנית צעד אחר צעד בעזרת טבלה.

 

 

רצוי,כמובן, לעקוב שוב אחרי טבלה זו עם מספרים אחרים. אבל, לא לשכוח להקפיד עלביצוע נכון ומדויק של ההוראות אחת אחרי השניה ולבצע את הבלוקים רק אם התנאי ב-if מתקיים.

 

הטבלה הזו, שהדגימה את מהלך התוכנית, נקראת טבלת מעקב.

 

השימוש בבלוקים פנימיים אפשרי גם בהמשך ה-else. כלומר, אם התנאי אחרי ה-if מתקיים יש לבצע סדרת פקודות א' ואם לא, אזי יש לבצע סדרת פקודות ב'.

כלומר הפסקל מאפשר את המבנה הבא:

then תנאי if

begin

          ;הוראה      

·         

·         

·         

;הוראה      

end else

begin

          ;הוראה     

·         

·         

·         

;הוראה     

;end

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

אחרי ה-end של הבלוק העליון לא מופיעים נקודה-פסיק (כיוון שלא הסתיימה הוראת if) התו נקודה-פסיק מקומו בסיום הבלוק התחתון (אחרי ה-else).

אפשר להשתמש בהוראת if   then  else  בכל שילוב אפשרי של בלוקים פנימיים.

 

כל הוראה יכולה לבוא לאחר ה-then או else בהוראת if ובכלל זה הוראת if.

 

 23-03-04 / 23:27  עודכן ,  31-08-03 / 22:09  נוצר ע"י ליזי פרגו'ן  בתאריך 
 תנאי - הקודםהבא - בלוקים פנימיים בלולאת if-המשך 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 6