ABA


"עזרה בכתיבת תוכנית פסקל עם לולאה"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11480 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11480
PhoeNiX 
חבר מתאריך 1.8.02
10919 הודעות
   17:44   06.12.04   
אל הפורום  
  עזרה בכתיבת תוכנית פסקל עם לולאה  
 
   ערכתי לאחרונה בתאריך 06.12.04 בשעה 18:17 בברכה, PhoeNiX
 
שלום לכולם,

להלן התרגיל:
כתוב תוכנית אשר תמצא ותדפיס את המספר הדו ספרתי הראשון שסכום ספרותיו הוא 7 וספרות העשרות שלו גדולה ב-3 מספרות האחדות.

נתנה לי האפשרות לכתוב את התוכנית או עם For, או עם While או עם Repeat.



Program Targil;
i,ah,as:integer;
begin
for I:=10 to 99 do
begin
ah:=i mod 10;
as:=i div 10;
if (ah+as=7) and (as-ah>3) then
writeln(i);
end;
end.

אשמח לקבל תיקון חבר'ה


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  תשנה את הלולאה ללואת While... Ken 06.12.04 18:41 1
     מזה NOT FOUND? לא למדתי PhoeNiX  06.12.04 18:54 2
         קבל פתרון שעשיתי עם Repeat! PhoeNiX  06.12.04 18:59 3
  קבל פיתרון ''אלגנטי'' יותר: Dudenland 07.12.04 01:10 4
  מחממ hbk3 08.12.04 21:20 5

       
Ken

   18:41   06.12.04   
אל הפורום  
  1. תשנה את הלולאה ללואת While...  
בתגובה להודעה מספר 0
 
   אתה צריך למצוא את המספר הראשון, ולא את כל המספרים.

לדוגמא אתה יכול להגדיר משתנה בוליאני
Found:Boolean

התנאי שלך יהיה

While (I<=99) AND Not Found Do

אל תשכח רק לאפס את המשתנים בהתחלה
Found:=False
I:=10

ולקדם את I כל פעם שהלולאה מתבצעת..
בהצלחה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
PhoeNiX 
חבר מתאריך 1.8.02
10919 הודעות
   18:54   06.12.04   
אל הפורום  
  2. מזה NOT FOUND? לא למדתי  
בתגובה להודעה מספר 1
 
   ובמקרה, בלולאת For יוצא מספר אחד כפלט, והוא 52


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
PhoeNiX 
חבר מתאריך 1.8.02
10919 הודעות
   18:59   06.12.04   
אל הפורום  
  3. קבל פתרון שעשיתי עם Repeat!  
בתגובה להודעה מספר 2
 
  


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

   01:10   07.12.04   
אל הפורום  
  4. קבל פיתרון ''אלגנטי'' יותר:  
בתגובה להודעה מספר 0
 
   המספר num שספרותיו הן a (אחדות) ו-b (עשרות) ואשר מקיים כי:
a + b = 7
b = a + 3
הוא מספר בודד (שתי משוואות בשני נעלמים ממעלה ראשונה, ינפיקו פיתרון אחד עבור כל משתנה).

a = 7 - b -> b = (7 - b) + 3 -> 2b = 10 -> b = 5 -> a = 2

ולכן, num = 52


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

   21:20   08.12.04   
אל הפורום  
  5. מחממ  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 08.12.04 בשעה 21:22 בברכה, hbk3
 
אם עושים ב-Repeat Until שזה יותר יפה, צריך לעשות גם עם מונה לולאה
כי לא ביקשו לקלוט את המספר! לכן:


Program Targil;
var
i,ah,as:integer;
Begin
i:=10;
Repeat
ah:=i mod 10;
as:=i div 10;
inc(i);
Until
(ah+as=7) and (as-ah=3);

writeln('The number is : ',i);
End.


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

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

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



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