» נושאי לימוד
» נושאי לימוד
יום שבת 4 במאי 2024
לולאת FOR-המשך
דף ראשי  פרק 3 :יסודות שפת פסקל  לולאות  לולאת FOR  לולאת FOR-המשך גרסה להדפסה

לולאת  FOR-המשך

 

נניח כי התוכנית קלטה את המספר 6 לתוך N. נעקוב אחרי ביצוע הלולאה הזו על ידי טבלה, טבלת מעקב:

 

X

I

L

 

0

-

1

לפני התחלת הלולאה.

1

1

1-

לאחר ביצוע פעם ראשונה של גוף הלולאה

1-

2

1

לאחר ביצוע פעם שניה של גוף הלולאה

2

3

1-

לאחר ביצוע פעם שלישית של גוף הלולאה

2-

4

1

·         

3

5

1-

·         

3-

6

1

לאחר ביצוע פעם שישית של גוף הלולאה

 

עד כה השתמשנו בלולאת for כאשר המניה הייתה רק כלפי מעלה.

בפסקל אפשרי למנות גם מטה.

 

מבנה הלולאה הוא:

do ערך סופי downto ערך התחלתי =: משתנה הלולאה for

begin

                                    ;הוראה

                                    ;הוראה

                                         ·         

                                         ·         

                                         ·         

                                    ;הוראה

                                                                                ;end

 

 

 

 

 

 

 

 

 

 

 

 

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

 

דוגמא:

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

 

לדוגמא, אם התוכנית קלטה את המספרים 1 ו-2, אז שהאיברים שיש לסכם הם:

                1  +  2  +  3  +  5  +  8  +  13  +  21  +  34  =   87

 

פיתרון:

 

program NAME;

var

   A,B:real;     (* שני המספרים בקלט-ייקלט על ידי תת-תוכנית נפרדת*)

   C:real;       (* המשתנה הבא, סכום של השניים שלפניו *)

   S:real;       (* צובר הטור *)

   I:integer           (*  מונה הלולאה*)

      ·       

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

      ·       

procedure SERIES;

{ תת תוכנית לסכום שמונת האיברים של טור. כל איבר הוא הסכום של השניים שלפניו}

begin

   { הצבת ערכים התחלתיים }

    C:=A+B; (*      חישוב האיבר השליש *)

    S:=A+B+C; { חישוב סכום שלושת האיברים הראשונים}

    for I:=5 downto 1 do

    begin

        A:=B; { החלפת המשתנים }

        B:=C;

        C:=A+B; { חישוב האיבר הבא }

        S:=S+C; { צבירת האיברים }

    end;

end;

      ·       

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

      ·       

 

 

שימו:  הלולאה מתקדמת מ-5 ל-1 ולא מ-8 ל-1, כיוון ששלושת האיברים הראשונים כבר חושבו לפני ביצוע הלולאה.

 11-03-04 / 10:07  עודכן ,  01-09-03 / 15:12  נוצר ע"י כפיר מרגי  בתאריך 
 לולאת FOR - הקודםהבא - לולאת WHILE 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 6