צריך עזרה בפתרון בעיה...

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

האמת, די פשוט...

תעשה לולאה שתנאי היציאה ממנה הוא שמשתנה דגל מסויים יעבור לערך TRUE. אני אישית לא כותבת פסקל אבל אני אכתוב בפסבדו קוד בתקווה שתבין, אם הפסבדו לא ברור תודיע לי אני יכולה לייש ם את זה ב C, JAVA, JAVASCRIPT, VB, ASP ועוד כמה שפות - אחת מהן אתה ודאי מכיר :) =0INT COUNTER// המונה שלנו REACHED5=FALSE// REACHED5 יהפוך ל TRUE כאשר נגיע ל5 במונה כי אז נדע שהתחלנו לספור אחורה STRING DIR// יכיל מחרוזת המהווה את כיוון הספירה UP כאשר עולים ו DOWN כאשר יורידם, הוא יכול להיות גם משתנה מספרי (INT) שמכיל 0 או 1 בהתאמה FOR I=0 TO 8 STEP 1// כניסה ללולאה FOR שסופרת עד ש I = 8 ומעלה את I ב 1 כל סיבוב IF COUNTER=5 THEN// אם המונה הגיע ל 5 הכיוון הוא ירידה במונה DIR="DOWN" REACHED5=TRUE// הגענו ל 5 ולכן המשתנה שווה ל TRUE ELSE DIR="UP"// אם לא הגענו עוד ל 5 אנחנו ממשיכים להעלות את ערך המונה END IF IF DIR="UP" THEN COUNTER=COUNTER+1//מעלים את ערך המונה ELSE IF DIR="DOWN" COUNTER=COUNTER-1//מורידים את ערך המונה END IF PRINT COUNTER//מדפיסים את המונה END LOOP// סוף הלולאה בהצלחה

תשובה

int i=1 while i>0 { if i<6 i=i+1 else i=i-1 }
עבור לעמוד
בחזרה לפורום
כרגע בפורום זה: אין משתמשים רשומים
עבור לפורום:
תיכנות
בחר
בחר