Dr. Dror Tobi

Introduction to CPP

נושאי השיעור :

  • שפת תכנות עילית
  • עקרונות שפת C
  • משתנים
  • אופרטורים

מצגת שעור ראשון

שאלה 1

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

לדוגמא הפלט עבור  5 ו 3 יהיה:

5 * 3 = 15
5 / 3 = 1
5 + 3 = 8
5 – 3 = 2
5 % 3 = 2

שאלה 2

כתבו תוכנית המבקשת מהמשתמש את מקדמי המשוואה הריבועית aX2 + bX +c . התוכנית תקרא מספרים אלו  ותדפיס את שורשי המשוואה.

שאלה 3

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

שאלה 4

פשטו את הביטוי הבא:

( !(a<b) && !(a>b))

שאלה 5

כתבו תוכנית הקוראת זווית במעלות. התוכנית תדפיס את סינוס  (sine)   וקוסינוס (cosine) הזוית.

 

נושאי השיעור :

  • משפט התנאי if
  • לולאת while
  • לולאת for
  • לולאת do-while
  • פקודות continue ו break

מצגת שעור שני

שאלה 1

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

שאלה 2

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

שאלה 3

כתבו תוכנית המדפיסה את לוח הכפל  (ראה תמונה למטה)  תוך שימוש שני לולאות while מקוננות.

שאלה 4

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

שאלה 5

כתבו תוכנית המקבלת מספר n מטיפוס int המציירת  מסגרת בגודל זה על ידי שימוש בתו x .

למשל עבור n=6 התוכנית תדפיס את הפלט הבא:

xxxxxx
x    x
x    x
x    x
x    x
xxxxxx

נושאי השיעור :

  • מבנה פונקציות
  • העברת ערך לפונקציה
  • העברת רפרנס לפונקציה

מצגת שיעור שלישי

שאלה 1

כתבו פונקציה המקבלת מספר טבעי (גדול מ 0) הפונקציה תחזיר את הערך true אם המספר ראשוני, אחרת הפונקציה תחזיר את הערך false .

שאלה 2

כתבו פונקציה המקבלת מספר שלם הפונקציה תחזיר את הערך true אם המספר מתחלק ב 3 וגם ב 7 ללא שארית, אחרת הפונקציה תחזיר את הערך false .

שאלה 3

כתבו פונקציה המקבלת שני מספרים ו y . על הפונקציה להחזיר את הערך x .

שאלה 4

כתבו פונקציה המקבלת מספר חיובי כלשהוא. הפונקציה תחזיר את סכום כל המספרים החיוביים הקטנים או שווים ל n  .

נושאי השיעור :

  • מערכים חד ודו-ממדיים
  • מיון וחיפוש במערכים

מצגת שעור רביעי

שאלה 1

כתבו תוכנית בה מוגדר המערך:

 int a[] = {2, 4, 6, 8, -3, 8, 0};

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

שאלה 2

כתבו תוכנית היוצרת את מערך הדו מימדי הבא:

000010000
000020000
000030000
000040000
987654321
000060000
000070000
000080000
000090000

שאלה 3

כתבו תוכנית בה מוגדת המערך הבא:

 int a[] = {2, 4, 6, 8, -3, 8, 2, 7, 2, 4};

על התוכנית למצוא את האיבר המופיע בתדירות הגבוהה ביותר במערך (במקרה שלנו 2).

שאלה 4

כתבו תוכנית בה מוגדרים המערכים הבאים:

int a[] = {2, 4, 6, 8, -3, 8, 2, 7, 2, 4};

int b[] = {1, 4, 6, 8, -3, 9, -14, 7, 0, 3};

על התוכנית לעבור על במערך ולהודיע האם יש במערך איברים המופיעים יותר מפעם אחת (למשל המערך a) או האם כל אברי המערך מופיעים פעם אחת בלבד (למשל המערך  b).

שאלה 5

כתבו תוכנית בה מוגדר המערך הדו מימדי הבא:

int a[][] = { {66, 93, 63, 23},
               {54, 66, 85, 93},
               {64, 55, 85, 68},
               {57, 79, 84, 17},
               {74, 73, 57, 84},
               {61, 59, 67, 54},
               {70, 88, 85, 83} };

 

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

שאלה 6

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

שאלה 7

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

2,  3, 5, 4, 2

התוכנית תצייר את ההיסטוגרמה הבאה:

    X
    X X
  X X X
X X X X X
X X X X X

שאלה 8

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

200010200
030526000
004030931
082040705
987654321
100060000
020070005
040987900
365090054

שאלה 9

כתבו פונקציה המקבלת שתי מערכים מטיפוס integer  . על הפונקציה להחזיר את הערך true אם יש לפחות איבר אחד זהה בין שני המערכים.

שאלה 10

כתבו פונקציה המקבלת שתי מערכים מטיפוס integer  המערך והמערך b . על הפונקציה להחזיר את הערך true אם כל אברי המערך נמצאים ב אחרת הפונקציה תחזיר את הערך false.

שאלה 11

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

לדוגמא המערך a:

int [] a = {2, 4, 6, 8, -3, 8, 2, 7, 2, 4};

יהפוך ל.

           {4, 2, 7, 2, 8, -3, 8, 6, 4, 2}

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

נושאי השיעור :

  • מצביעים
  • שורת הפקודה
  • מצביעים ומערכים
  • הקצאת זיכרון דינאמית

מצגת שעור חמישי

שאלה 1

הגדירו מערך מטיפוס int בין חמש תאים. קראו מהמשתמש 5 מספרים לתוך מערך. הגדירו שני מצביעים מתאימים בשם pMax ו pMin . הצביעו בעזרת המצביעים על המספר הגדול ביותר והקטן ביותר במערך. הדפיסו למסך את האיבר הגדול ביותר, הקטן ביותר, וכן את ההפרש ביניהם תוך שימוש במצביעים בלבד.

שאלה 2

קראו מחרוזת לתוך מערך מטיפוס char. הפכו את המחרוזת תוך שימוש המצביעים בלבד.

שאלה 3

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

שאלה 4

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

נושא השיעור:

  • קלט ופלט סטנדרטי

  • קריאה וכתיבה לקבצים

מצגת שיעור שישי

שאלה 1

כתבו תוכנית הקוראת את הקובץ המספרים exe5_1.txt ומדפיסה למסך את סכומם.

שאלה 2

כתבו תוכנית הקוראת את הקובץ המספרים exe5_1.txt ומדפיסה למסך את המספר המופיע בתדירות הגבוהה ביותר.

שאלה 3

כתבו תוכנית הקוראת את הקובץ salary.txt ומדפיסה את סכום המשכורות.

שאלה 4

כתבו פונקציה המקבלת מערך מטיפוס double ואת גודלו הפונקציה תדפיס את אברי המערך לקובץ בשם numbers.txt .