איך ניתן לצאת מלולאת FOR בפסקל...

כאגאי

New member
לא יודע פסקל, אבל....

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

neko

New member
לא זוכר אם אפשר בפסקל,

אבל אם כן, אתה יכול לבדוק בנוסף לערך גם משתנה בוליאני שנקרא "IsLooping" או משהו כזה, ולשנות אותו לFalse כשבא לך להפסיק את הלולאה. בשפות מתקדמות יותר יש גם Break וContinue, אולי גם בפסקל יש משהו דומה?
 

NU man

New member
הבנתי שאתה מתעסק בפסקל אז...

אתה יודע איך אני שם צלילים לתוכנית ? חוץ מהצליל "ביפ" ? ואיפה אני יכול למצוא מידע על פסקל (רצוי בעברית) ? תודה מראש.
 

galh

New member
תסתכל ב- SWAG

אומנם הפרוייקט הזה נסגר ב- 1997, אבל ללמוד איך עושים היום גרפיקה או צלילים בפסקל זה לחזור בזמן בכל מקרה.
SWAG זה אוסף של טיפים שנאספו במהלך מספר שנים מקבוצת דיון בשם FidoNet (קדם לאינטרנט לציבור ע"י שימוש ב- BBS-ים).
 

Flash_os

New member
מה זה צליל "ביפ" בשבילך?

האם זה הצליל "ביפ" שהתכונת?
USES CRT; BEGIN Sound(300); Delay(2000); Nosound END.​
או סידרה של ביפים?
USES CRT; VAR hz: Integer; BEGIN hz:=60; while hz<800 do begin Sound(hz); Delay(1000); hz:=hz+40 end; Nosound END.​
 

NU man

New member
שאלות בפסקל

כן הביפ הזה, ואמרו לי שאפשר הרבה סוגים של צלילים, לא באיכות משהו, אבל שונים... ועוד כמה שאלות בפסקל : 1. איך אני עושה צורות גרפיות ? 2. איך אני יכול לעשות מצב, שאני יכול למשל לשנות שמות של קבצים או להעתיק קבצים כמו בדוס ? 3. כשאני עושה random, הוא נותן לי כל פעם את אותו הסדר של הקבצים, פעם ראשונה 7 פעשם שניה 3 וככה הלאה, אני רוצה שבכל פעם שאני יפעיל את התוכנית יצא לי מספר אחר. 4. איך אני יכול לכתוב לקובץ ולקורא מקובץ ? כמו לדוגמא לעשות "תוצאות גבוהות" למשחק ? 5. איפה אני יכול למצוא חומרים נוספים על פסקל ? תודה מראש למי שיעזור, שניר.
 

asihiz

New member
יציאה מלולאה...

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

Mapisto

New member
ממש לא נכון

VB מאפשרת רק עם Exit Loop אם אתה צריך תנאי עצירה אז עדיף לשים while ומונה.
 

asihiz

New member
תגובה

אין לי מושג איך זה ב-VB אך היתרון (אחד מהם)של לולאת for זה הנוחות לבצע משימה תוך עשיית רוב ההגדרות,כולל תנאי העצירה,בתוך הסוגריים.השאלה נשאלה על שפת פסקל,שכמעט זהה(חוץ מתנאי עצירה הפוך לוגית ועוד כמה הבדלים) בלולאת ה-FOR לשפת C,JAVA וכו.
 

אלדד28

New member
לא, לא, זה לא ככה בפסקל.

בפסקל לולאת FOR היא מה שהיא צריכה להיות, שלא כמו בשפת C שמאפשרת ללולאת FOR להיות בכלל לולאת WHILE (שזה עקום לגמרי). למשל,
for (;true;)
זו דוגמה ללולאה אינסופית, במקום להשתמש ב-WHILE... לעומת זאת, בפסקל FOR היא בדיוק לולאה מ - N עד M, בלי סטיות. אם אתה רוצה WHILE, תעשה WHILE. או REPEAT..UNTIL. אבל FOR מאפשרת לך אך ורק לרוץ מ-N ל-M, ואין לך יכולת להוסיף עוד תנאי לוגי או משהו בסגנון.
 

asihiz

New member
אלדד,צודק בהחלט אבל...

דיברנו על תנאי העצירה והמבנה הכללי לא על שאר ההבדלים.
 

אלדד28

New member
נראה לי שאני מפספס אותך, יקירי.

תנאי עצירה? FOR בפסקל? בלולאת FOR בפסקל אין תנאי עצירה. הלולאה נראית ככה: for i := 1 to n do begin end; OR: for i := n downto 1 do begin end; איזה תנאי עצירה?
 

asihiz

New member
לא הבנת אותי!!!

כאשר אתה כותב:for i:= 1 to 10 ,אז תנאי העצירה הוא i=10. לזה התכוונתי ולכן אין שום צורך להשתמש ב-GOTO כדי לצאת מהלולאה. כל הרעיון של לולאת for(כפי שאתה בטוח יודע)זה להגדיר ביצוע של "משהו" מספר "כלשהוא" של פעמים.
 

אלדד28

New member
נדמה לי שפספסת את הנקודה

לפעמים אתה רוצה לצאת באמצע הלולאה. חיפשת מ-1 עד 100, מצאת ב - 54 ואתה רוצה לצאת. בפסקל אי אפשר לעשות את זה עם FOR ובלי GOTO. נדמה לי שזו הייתה כוונתו של זה שפתח את השרשור.
 

cganir

New member
מה לגבי שינוי ערכו של i בתוך הלולאה

לערך בו הלולאה אמורה להסתיים ? ברגע שמצאת, הפוך את i למספר האחרון אליו הוא אמור להגיע, ואז הלולאה תצא בלי בעיות.
 

galh

New member
אלדד, תשאר עם ++C. ../images/Emo13.gif

בפסקל יש את Exit ו- Next שמאפשרים לך "לשבור" ריצה של לולאות for, while ו- repeat. אני מקווה שאני עושה פדיחות לעצמי, כי אני לא עובד עם פסקל כבר די הרבה שנים.
 

אלדד28

New member
אמממממממ

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

galh

New member
סטנדרט? מה זה סטנדרט?

סטנדרט היחיד שאני מכיר בפסקל זה בורלנד, כלומר טורבו-פסקל ו/או דלפי.
אבל גם שם לא מצאתי איזכור... אני צריך לאתר את הסורסים שלי בפסקל ולראות אם השתמשתי בזה אי פעם. אני חושב שאני אאמץ את ההמלצה שלי ואשאר עם ++C.
 
למעלה