→ חזרה לעמוד הקודם
// תרגול

תרגול קלט-פלט 1

יסודות · 899371הוראות קלט-פלט

חלק א · מציירים באמצעות פקודות פלט

בכל שאלה כתבו תוכנית המציגה בדיוק את הפלט המבוקש. הקפידו על מספר הכוכביות, הרווחים וירידות השורה. השתמשו ב־Console.Write וב־Console.WriteLine, ללא לולאות. את הקוד כתבו במחברת או בסביבת העבודה.

1 · מדרגות

*
**
***
****
*****

כמה שורות יש בפלט?
כמה כוכביות יש בשורה האחרונה?

2 · מלבן מלא

******
******
******
******

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

3 · מסגרת חלולה

*******
*     *
*     *
*******

שימו לב: בשתי השורות האמצעיות יש חמישה רווחים בין הכוכביות.

4 · משולש מיושר לימין

    *
   **
  ***
 ****
*****

לפני הכוכבית הראשונה יש ארבעה רווחים בשורה הראשונה, שלושה בשנייה, שניים בשלישית ואחד ברביעית.

5 · פירמידה

    *
   ***
  *****
 *******
*********

א. כתבו תוכנית המציגה את הפירמידה.
ב. כמה כוכביות מתווספות בכל שורה?
ג. כמה רווחים מופיעים בתחילת כל שורה?

6 · האות X

*   *
 * *
  *
 * *
*   *

הקפידו גם על הרווחים בתחילת השורות וגם על הרווחים בין הכוכביות.

7 · ציור חופשי

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

8 · אותו פלט בדרך אחרת

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

איזו פקודה מאפשרת להמשיך להציג תוכן באותה שורה?

חלק ב · קלט ופלט

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

שימו לב למעברי השורה: כאשר ההקלדה צריכה להופיע ליד הבקשה, השתמשו ב־Write. כאשר היא צריכה להופיע בשורה הבאה, השתמשו ב־WriteLine.

9 · היכרות ראשונה

כתבו תוכנית המציגה את ההודעה Enter your name: ומשאירה את הסמן באותה שורה. המתינו להקלדת שם וללחיצה על Enter. לאחר מכן הציגו בשורה חדשה את ההודעה Welcome!

אין צורך להציג את השם שנקלט.

10 · קליטה בשורה נפרדת

הציגו את ההודעה What is your favorite subject? לאחריה המשתמש יקליד תשובה בשורה חדשה. בסיום הקליטה הציגו את ההודעה Thank you for your answer! בשורה חדשה.

באיזו פקודת פלט תשתמשו להצגת השאלה?

11 · שאלון קצר

כתבו תוכנית השואלת שלוש שאלות בזו אחר זו: שם, עיר ומקצוע אהוב. לפני כל קליטה הציגו בקשה מתאימה באנגלית. בכל פעם המתינו לתשובה וללחיצה על Enter לפני הצגת השאלה הבאה. לאחר התשובה השלישית הציגו Questionnaire completed!

כמה פעמים תופיע בתוכנית הפקודה Console.ReadLine()?

12 · כרטיס פתיחה למשחק

הציגו את הכרטיס הבא, תוך הקפדה על מעברי השורה:

************************
WELCOME TO THE GAME
************************
Enter a player name:

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

Player ready!
Good luck!

13 · אישור הזמנה

הציגו את הכותרת ORDER FORM. בקשו מהמשתמש להקליד שם מוצר, והמתינו לקליטה. לאחר מכן בקשו להקליד כמות, והמתינו שוב לקליטה. אין לבצע חישוב ואין להציג את הפרטים שנקלטו.

לאחר שתי הקליטות הציגו כרטיס אישור קבוע, בדיוק כך:

========================
ORDER RECEIVED
Thank you!
========================

14 · ממשיכים בלחיצה על Enter

הציגו ציור כוכביות מתוך חלק א. מתחתיו הציגו Press Enter to continue. השתמשו ב־Console.ReadLine() כדי להמתין ללחיצה על Enter. לאחר מכן הציגו ציור אחר ואת ההודעה The end.

במשימה זו אין חובה להקליד טקסט: לחיצה על Enter בלבד מסיימת את הקליטה.

15 · שאלון בעיצוב אישי

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

תכננו את סדר ההודעות והקליטות לפני כתיבת התוכנית.

בודקים את התוכניות

  • האם מוצגת בקשה ברורה לפני כל קליטה?
  • האם התוכנית ממתינה לתשובה לפני הצגת השאלה הבאה?
  • האם ההקלדה מתבצעת בשורה המבוקשת?
  • האם כל שורה בכרטיס מופיעה בנפרד?
  • האם השתמשתם בפקודות קלט ופלט בלבד, ללא משתנים?
הורדת הקובץ המקוריPDF · תרגול קלט-פלט 1