גרסא 1.0

מפגש 6 - תירגול - מחרוזות ומשאיות

מטרת התרגיל

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

    **       **       **       **   
*******  *******  *******  *******  
*******  *******  *******  *******  
 0   0    0   0    0   0    0   0   


    **       **       **       **   
  *******  *******  *******  *******
  *******  *******  *******  *******
   0   0    0   0    0   0    0   0 
כדי שהתרגיל יהיה מעניין, נכתוב את התוכנית כך שבהינף יד נוכל לשנות את כמות המשאיות ואת רוחבן.

שלבי העבודה

הערה חשובה: אנא כיתבו את התוכנית על-פי ההנחיות. גם אם נראה לכם שאפשר לקצר בשלב הראשון - אל תקצרו. אחרת, ביצוע השלבים הבאים יהיה קשה או אפילו בלתי אפשרי.
  1. כיתבו תוכנית המציירת על המסך משאית אחת ברוחב 10 תווים:

           **
    **********
    **********
     0      0 
    
    כיצד? ראשית, נגדיר משתנה בשם "truck_width" הקובע את רוחב המשאית (truck - משאית, width - רוחב).

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

    לבסוף, נדפיס את המשאית על-ידי הדפסת המחרוזות שייצרנו.

    שימו לב: בעת בניית שורות המשאית יש להתחשב ברוחבה. בידקו שתוכניתכם פועלת גם אם משנים את רוחב המשאית ל-7, 12 או 15.

  2. בשלב זה נוסיף משאית הפוכה מתחת למשאית שלנו:

           **
    **********
    **********
     0      0
    
     **
    **********
    **********
     0      0
    
    כדי ליצור את המשאית ההפוכה, צריך להפוך את המחרוזות של המשאית הראשונה. כלומר, נבנה שלוש מחרוזות הפוכות מתוך המחרוזות של המשאית. אז נוכל להדפיס שורה רווח (print ""), ואחריה להדפיס את המשאית ההפוכה.

  3. בשלב האחרון, ניצור מספר משאיות בשורה, כדי לבנות את הציור המלא.

    ראשית, נוסיף בראש התוכנית משתנה בשם num_trucks, הקובע את מספר המשאיות (num הוא קיצור של number - מספר).

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

    את המחרוזות החדשות הללו יש להדפיס במקום את המחרוזות של המשאית הבודדת.

    שימו לב: אם נשרשר את המחרוזות בצמוד זו לזו - נקבל משאיות צמודות:

        **     **     ** 
    *********************
    *********************
     0   0  0   0  0   0 
    
    לפיכך, יש לשרשר רווחים למחרוזות המקוריות - ואז לבצע את ההכפלה.

    שימו לב נוסף: בידקו שתוכניתכם פועלת גם אם משנים את מספר המשאיות ל-2, 3 או 4. בידקו שילובים שונים של רוחב המשאית ומספר המשאיות.