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

פעולות בעזרת מערכים חד-מימדיים

 

אם כבר אפשר להשתמש במשתנה המאחסן את מספר התא,אפשר גם כך:

 

program NAME;
var
     A:array [1..15] of integer;
     I:integer;  (*משנה הלולאה והערך שמציבים לתאי המערך*)
begin
      for I:=1 to 12 do A[I]:=I+2;
end.

 

 

 

 

 

 

 

 

 להורדת הדוגמא לחץ כאן

 

ולאחר ביצוע התוכנית:

 

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

 

דוגמא:

כתוב תוכנית הקולטת למערך  בין 10 תאים מספרים כלשהם ומחשבת ומדפיסה את כל המספרים הגדולים מהממוצע

 

פיתרון:

 

 

 להורדת הדוגמא לחץ כאן

 

דוגמא:

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

 

כלומר, אם הקלט למערך יהיה:

 

16

15

14

13

12

11

10

9

8

7

3

1

5

6

4-

8

10

7

1-

2-

 

אז ההדפסה תהיה:

                                          3

                                          5

                                          1-

 

פיתרון:

 

program NUMBERS;
{תוכנית הדפסת המספרים האי זוגיים במקומות הזוגיים}
var
   N:ARRAY[7..16] of integer;
   I:integer;

 

(********* התוכנית הראשית********)
begin
   {קלט הנתונים למערך}
   for I:=7 to 16 do
   begin
      write('Enter number [' ,I, ']:' );
      readln(N[I]);
   end;
   {בדיקה ופלט}
   {הצבת ערך התחלתי למונה הלולאה}
   I:=16; (*מהסוף להתחלה*)
   {הלולאה}
   while I>7 do
   begin
      if  (N[I] mod 2)=1 then writeln(N[I]);
      I:=I-2;  (*מונה הלולאה קטן*)
   end;
end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 להורדת הדוגמא לחץ כאן

 

דוגמת ריצה:

 

 

בכל התכניות עד כה נשמר בקפדנות העיקרון   שאסור לחרוג מגודל המערך.

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

 

בהוראת הפלט ניתן לבצע חישובים כדוגמת ההוראות הבאות:

write(X+2Y); - תחילה יחושב הביטוי ולאחריו תודפס התוצאה.

writeln(A+B*ord('A')); - התוצאה אינה נשמרת בתא כלשהו.

write(X div Y); - התוצאה של החישוב נמחקת לאחר התוצאה.

 

 22-03-04 / 12:51  עודכן ,  01-09-03 / 22:28  נוצר ע"י ליזי פרגו'ן  בתאריך 
 מערכים חד מימדיים - הקודםהבא - מערכים דו-ממדיים 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 12