ABA


"עזרה בפיתרון תרגיל מבגרות בפסקל של שנה שעברה"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #5738 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 5738
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   18:28   23.04.03   
אל הפורום  
  עזרה בפיתרון תרגיל מבגרות בפסקל של שנה שעברה  
 
   ניסיתי ולא הולך.... הסתבכתי עם לולאה בתוך לולאה ו-IF בתוך IF. בעע

התרגיל:

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

ג. 1. תת התוכנית החזירה 0. נסח במילים מה ידוע על המספר NUM במקרה זה.
2. תת התוכנית החזירה 20. נסח במילים מה ידוע על המספר NUM במקרה זה.

ד. נתון שהמערך A ממוין בסדר עולה, ותת התכנית שכתבת בסעיף א החזירה 20. הוסף הוראה לתת התוכנית, כך שלא תתבצע סריקה של המערך עבור מקרה זה.(תת התוכנית תהיה יעילה יותר).

הערה: אין צורך להעתיק את תת התוכנית שכתבת בסעיף א' אלא לציין היכן תשלב בתת התוכנית את ההוראה שהוספת.

עזרו לי, לפחות בסעיף א'.

תודה רבה מראש


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  תגובה nesher  23.04.03 19:22 1
     יש לך את התרגיל פה ! דני15  23.04.03 19:37 2
         אתה גאון nesher  23.04.03 21:44 7
             זה משנה איפה בדיוק השאלה הזו הופיעה אם העתקתי דני15  23.04.03 21:48 8
  תשובה א: TheTom 23.04.03 21:27 3
     תודה רבה אבל דני15  23.04.03 21:32 5
         קודם כל אחי TheTom 23.04.03 21:36 6
             למה אתה מתכוון הזחות ?? ו דני15  23.04.03 21:50 10
                 הזחות זה TheTom 23.04.03 21:54 13
  זו התוכנית שכתבתי דני15  23.04.03 21:28 4
  TheTom כתבתי את התוכנית שלך וזה כותב לי אותה דני15  23.04.03 21:49 9
     כי כנלא הגדרת את martype TheTom 23.04.03 21:51 11
         התוכנית שלי? או שלך? כי שלי למעלה.. דני15  23.04.03 21:53 12
             שלי...תסתכל בפרוצדורה TheTom 23.04.03 21:55 14
             הפורום נהיה צבוע. אוליי שכחת איפשהו לסגור קוד דני15  23.04.03 21:55 15
                 חחח נעשה :) TheTom 23.04.03 21:56 16
                     אז מה לא טוב בתוכנית שלי ? :( דני15  23.04.03 21:58 17
                         אחי...רשמת שם פעמים var... TheTom 23.04.03 22:00 18
                             VAR בתוכנית הראשית ו-VAR בפונקציה ! דני15  23.04.03 22:01 19
                                 נכון טעות שלי...ומצאתי עוד טעות.. TheTom 23.04.03 22:04 21
  :) דני15  23.04.03 22:02 20
     אחי.. דני15  23.04.03 22:06 22
         הפרוצדורת TheTom 23.04.03 22:10 23
             נוו תעזור לי עם התוכנית שלי :( דני15  23.04.03 22:13 24
  טוב יאללה תוכנית מלאה: TheTom 23.04.03 22:32 25
     אחי. דני15  23.04.03 22:44 26

       
nesher 

   19:22   23.04.03   
אל הפורום  
  1. תגובה  
בתגובה להודעה מספר 0
 
   עשיתי שנה שעברה את הבגרות בפסקל
ולא זכורה לי השאלה הזאת
אולי תגיד איזה בגרות בדיוק ואיזה תרגיל זה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   19:37   23.04.03   
אל הפורום  
  2. יש לך את התרגיל פה !  
בתגובה להודעה מספר 1
 
   זה של 2001 שאלה 9.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
nesher 

   21:44   23.04.03   
אל הפורום  
  7. אתה גאון  
בתגובה להודעה מספר 2
 
   >זה של 2001 שאלה 9.

אמרת שזה של שנה שעברה

אבל שנה שעברה זה 2002 !!
לפחות אל תנסה לעשות ממני אידיוט
קיבלתי ציון גבוה בסופי


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   21:48   23.04.03   
אל הפורום  
  8. זה משנה איפה בדיוק השאלה הזו הופיעה אם העתקתי  
בתגובה להודעה מספר 7
 
   אותה לפה ?
אז טעיתי!
רגוע רגוע..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   21:27   23.04.03   
אל הפורום  
  3. תשובה א:  
בתגובה להודעה מספר 0
 
   עבר עריכה לאחרונה בתאריך 23.04.03 בשעה 21:32
 

procedure (a: martype, num: integer)
var
i,j,count1, count2: integer;
begin
count1:=0;
count2:=0;
for i:= 1 to 20 do
if num= a(i) then
for j:= 1 to num do
if a(j)< num then
count1:= count1+1;
else
for j:= 1 to 20 do
if a(j)< num then
count2:= count2+1;
end;


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   21:32   23.04.03   
אל הפורום  
  5. תודה רבה אבל  
בתגובה להודעה מספר 3
 
   עשיתי מלא ניסיונות אז אם אפשר אני צריך תוכנית שלמה כדי שאני אוכל להריץ אותה ולבדוק שהיא עושה בדיוק את הנדרש. שאני יוכל להבין בדיןק.

תודה רבה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   21:36   23.04.03   
אל הפורום  
  6. קודם כל אחי  
בתגובה להודעה מספר 5
 
   תעשה הזחות!!! יורידו על זה בבגרות..זה לא צחוק..
עכשיו אני יכול לעשות את התוכנית המלאה...זה ממש לא בעיה מפה..
עדיין אם אתה מתעקש אני יעשה..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   21:50   23.04.03   
אל הפורום  
  10. למה אתה מתכוון הזחות ?? ו  
בתגובה להודעה מספר 6
 
   אם התוכנית שלי טובה ויש טעות אז רק תתקן. אם בכלל הכול בעעע אז תכתוב לי ת'תוכנית המלאה
תודה מראש


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   21:54   23.04.03   
אל הפורום  
  13. הזחות זה  
בתגובה להודעה מספר 10
 
   עבר עריכה לאחרונה בתאריך 23.04.03 בשעה 21:56
 
שהדברים הולכים בצורה אלגוריתמית..למשל זאת הזחה:

for i:= 1 to 10 do
if something= a(i) then
blablabla
else
blablabla

ולא:

for i:= 1 to 10 do
if something=a(i) then
blablabla
else
blablabla

מקווה שהבנת


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   21:28   23.04.03   
אל הפורום  
  4. זו התוכנית שכתבתי  
בתגובה להודעה מספר 0
 
   עבר עריכה לאחרונה בתאריך 23.04.03 בשעה 21:33
 

program nothing;
uses wincrt;
type
maarah=array{1..20} of integer;
function test(a:maarah;num:integer):integer;
var i,j,d,before:integer;
begin
d:=0;
for i:=1 to 20 do
begin
if num=a{i} then
begin
before:=before+1;
for j:=1 to before do
if a{j}<num then
d:=d+1;
end
else
for j:=1 to 20 do
if num=a{j}
then d:=d+1;
end;
test:=d;
end;
var z:array{1..20} of integer;
s,mispar:integer;

begin
for s:=1 to 20 do
readln(z{s});
for s:=1 to 10 do
begin
readln(mispar);
writeln(test(z,mispar));
end;

end.

זה כותב שגיאה על השורה writeln(test(z,mispar)); type mismatch
אם יש לי עוד שגיאות אז תגידו בבקשה. כי אני לא בטוח אם עשיתי טוב.

תודה רבה מראש


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   21:49   23.04.03   
אל הפורום  
  9. TheTom כתבתי את התוכנית שלך וזה כותב לי אותה  
בתגובה להודעה מספר 0
 
   שגיאה. בסוף בזימון הפרוצדורה
type mismatch

תודה מראש


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   21:51   23.04.03   
אל הפורום  
  11. כי כנלא הגדרת את martype  
בתגובה להודעה מספר 9
 
   כמו שאני הגדרתי אותו..תשים את התוכנית פה..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   21:53   23.04.03   
אל הפורום  
  12. התוכנית שלי? או שלך? כי שלי למעלה..  
בתגובה להודעה מספר 11
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   21:55   23.04.03   
אל הפורום  
  14. שלי...תסתכל בפרוצדורה  
בתגובה להודעה מספר 12
 
   יש לי a קטן ומשתנה : martype...שצריך להגדיר אותו כ:
martype:= array(1..10) of integer


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   21:55   23.04.03   
אל הפורום  
  15. הפורום נהיה צבוע. אוליי שכחת איפשהו לסגור קוד  
בתגובה להודעה מספר 12
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   21:56   23.04.03   
אל הפורום  
  16. חחח נעשה :)  
בתגובה להודעה מספר 15
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   21:58   23.04.03   
אל הפורום  
  17. אז מה לא טוב בתוכנית שלי ? :(  
בתגובה להודעה מספר 16
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   22:00   23.04.03   
אל הפורום  
  18. אחי...רשמת שם פעמים var...  
בתגובה להודעה מספר 17
 
   בשני חלקים של התוכנית רשמת var...תתקן את זה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   22:01   23.04.03   
אל הפורום  
  19. VAR בתוכנית הראשית ו-VAR בפונקציה !  
בתגובה להודעה מספר 18
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   22:04   23.04.03   
אל הפורום  
  21. נכון טעות שלי...ומצאתי עוד טעות..  
בתגובה להודעה מספר 19
 
   קודם כל לא איפסת את הקאונטרים..שבתוכנית שלך הם d ועוד משהו..
וגם יש לך בעיה גדולה..אף פעם אל תשמש בפונקציה במקרה כזה..כי אתה צריך להחזיר ערך לפונקציה..
זאת אומרת אתה צריך להחזיר מספר ל test ולא עשית את זה..ולכן עושים את זה
בפרוצדורה...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   22:02   23.04.03   
אל הפורום  
  20. :)  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   22:06   23.04.03   
אל הפורום  
  22. אחי..  
בתגובה להודעה מספר 20
 
   יש לי רק D והוא מאופס.
ואחרי שעשיתי את כל הפעולות הצבתי את D בשם הפונקציה וזה הערך המוחזר.
ועדיין לא כל כך הפנמתי את הפרוצדורות אז אני פוחד להשתמש בזה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   22:10   23.04.03   
אל הפורום  
  23. הפרוצדורת  
בתגובה להודעה מספר 22
 
   הן בהרבה יותר קלות מהפונקציות..הפרוצדורה היא תכנית משל עצמה..היא תת תכנית בתוך התוכנית ואתה לא חייב להחזיר לה ערך..
אבל אם אתה לא יודע אז אל תתעסק עם זה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   22:13   23.04.03   
אל הפורום  
  24. נוו תעזור לי עם התוכנית שלי :(  
בתגובה להודעה מספר 23
 
   עבר עריכה לאחרונה בתאריך 23.04.03 בשעה 22:14
 
בחייאת אחי תכתוב לי תוכנית שלמה או שתתקן את שלי.
אני מודאג בקשר לבגרות שלי בסוף השנה.. אנחנו גם ככה לא מספיקים ת'חומר.
ואני חייב לתרגל מלא
ניסיתי מלא פעמים לפתור ת'תרגיל הזה.
אבל לא יוצא לי :(

בחייאת תעזור לי

תודה מראש


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

   22:32   23.04.03   
אל הפורום  
  25. טוב יאללה תוכנית מלאה:  
בתגובה להודעה מספר 0
 
   עבר עריכה לאחרונה בתאריך 23.04.03 בשעה 22:32
 

program Dani15;
type
martype= array(1..20) of integer;
martype2= array(1..10) of integer;
var
numa: martype2;
mar: martype;
i: integer;
function test(A: martype, num: integer): integer;
var
i,j,count: integer;
begin
count:=0;
for i:= 1 to 20 do
if num= a(i) then
for j:= 1 to num do
if a(j)< num then
count:= count+1;
else
for j:= 1 to 20 do
if a(j)< num then
count:= count+1;
test:= count;
end;

begin{tohnet}
for i:= 1 to 20 do
readln(mar(i));
for i:= 1 to 10 do
readln(numa(i));
for i:=1 to 20 do
writeln(test(mar(i), numa(i)));
end.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   22:44   23.04.03   
אל הפורום  
  26. אחי.  
בתגובה להודעה מספר 25
 
   כמה דברים.
תודה רבה על זמנך
התוכנית לא עובדת ויש שגיאות מפה עד להודעה חדשה. בדקת בקומפיילר?
שוב פעם לא סגרת קוד והפורום צבוע

תודה מראש


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net