בכיתה
יום ב', 1.9.25
* היכרות קצרה עם התלמידים.
* מבוא קצר למגמה.
* התקנה ויצירת פרויקט חדש באמצעות סביבת העבודה (Visual Studio).
* שימוש בפקודה Console.WriteLine עבור הדפסת טקסטים.
יום ג', 2.9.25
* הפעולה ReadLine לקליטה והחזרת מחרוזת שהמשתמש הקליד למסך.
* שרשור באמצעות האופרטור ' + '.
* שמירת ערך במשתנה מחרוזתי (משתנה מטיפוס string).
יום ו', 5.9.25
* שימוש בפעולה int.Parse (הפעולה Parse מבצעת המרה של מחרוזת לטיפוס כלשהו, במקרה זה ל- int).
* שימוש בשומרי מקום {0}, {1}...
* מתי נשמור ביטוי חישובי בתוך סוגריים (אם הוא מופיע כשרשור אחרי מחרוזת).
* חוקים במתן שמות משתנים.
* לאחר שם פעולה יש תמיד פתיחת סוגריים (טקסט המופיע לפני פתיחת סוגריים הינו שם של פעולה).
פעולה - קטע קוד (תוכנית קטנה) הניתן לזימון מתוך שורה בתוכנית שלנו, מטרת הפעולה לבצע דבר מה.
פעולות נכתבות על-ידי מתכנתים. גם אנו נכתוב פעולות.
פעולה - קטע קוד (תוכנית קטנה) הניתן לזימון מתוך שורה בתוכנית שלנו, מטרת הפעולה לבצע דבר מה.
פעולות נכתבות על-ידי מתכנתים. גם אנו נכתוב פעולות.
* תרגיל סיכום בנושא 'קלט/פלט' (סעיף 80 בדף 'קישורים' בבלוג).
* ביצוע חישובים באמצעות אופרטורי קיצור:
;int a = 0 --> שורה זו מגדירה משתנה חדש מטיפוס שלם בשם a, ומאתחלת את ערכו להיות 0.
* ביצוע חישובים באמצעות אופרטורי קיצור:
;int a = 0 --> שורה זו מגדירה משתנה חדש מטיפוס שלם בשם a, ומאתחלת את ערכו להיות 0.
;++a --> שורה זו מוסיפה 1 לערכו של a, ומבצעת השמה של התוצאה (1) ל- a.
;4=+a --> שורה זו מוסיפה 4 לערכו של a ומבצעת השמה של התוצאה (5) ל- a.
;--a --> שורה זו מחסירה 1 מערכו של a, ומבצעת השמה של התוצאה (4) ל- a.
;2=-a --> שורה זו מחסירה 2 מערכו של a, ומבצעת השמה של התוצאה (2) ל- a.
;8=*a --> שורה זו מכפילה את הערך הנוכחי של a ב- 8, ומשימה את התוצאה (16) ל- a.
;4=/a --> שורה זו מחלקת את הערך הנוכחי של a ב- 4, ומשימה את התוצאה (4) ל- a.
* אופרטורים חשבונאיים:
+ חיבור
- חיסור
* כפל
/ חילוק
ברירת-המחדל תואמת את חוקי המתמטיקה: כפל (' * ') וחילוק (' / ') לפני חיבור (' + ') וחיסור (' - ').
ניתן להשתמש בסוגריים פנימיים ( ) לצורך שליטה בסדר ביצוע הפעולות.
אתחול ערך המונה. תפקיד המונה לספור את כמות האיטרציות שעל הלולאה לבצע.
משתנה מטיפוס שלם (int) משמש למטרה זו, ובאופן מסורתי נהוג לתת לו את השם 'i' (קיצור של המלה 'index').
-> שלב II - 'תנאי'
טרום ביצוע איטרציה של בלוק-הלולאה, מתבצעת בדיקה האם התנאי מתקיים.
אם התנאי מתקיים, הלולאה תמשיך לביצוע ההוראות שבגוף-הלולאה.
כאשר התנאי לא מתקיים, הלולאה מסתיימת באופן מיידי.
-> שלב ןןן - 'גוף הלולאה'
מתבצעות כל ההוראות שבבלוק-הלולאה (וזאת כאמור אך ורק אם תנאי-הלולאה התקיים).'
-> שלב IV - 'קידום'
בסיום כל איטרציה של גוף-הלולאה, ערך המונה מתעדכן, ומתבצעת חזרה מעגלית לשלב II (התנאי) וחוזר חלילה.
;4=+a --> שורה זו מוסיפה 4 לערכו של a ומבצעת השמה של התוצאה (5) ל- a.
;--a --> שורה זו מחסירה 1 מערכו של a, ומבצעת השמה של התוצאה (4) ל- a.
;2=-a --> שורה זו מחסירה 2 מערכו של a, ומבצעת השמה של התוצאה (2) ל- a.
;8=*a --> שורה זו מכפילה את הערך הנוכחי של a ב- 8, ומשימה את התוצאה (16) ל- a.
;4=/a --> שורה זו מחלקת את הערך הנוכחי של a ב- 4, ומשימה את התוצאה (4) ל- a.
* אופרטורים חשבונאיים:
+ חיבור
- חיסור
* כפל
/ חילוק
ברירת-המחדל תואמת את חוקי המתמטיקה: כפל (' * ') וחילוק (' / ') לפני חיבור (' + ') וחיסור (' - ').
ניתן להשתמש בסוגריים פנימיים ( ) לצורך שליטה בסדר ביצוע הפעולות.
ימים ב'-ג', 8-9.9.25
* מדוע וכיצד כותבים אלגוריתם מילולי במטרה לעזור לנו בטרם נפתור תרגיל תכנותי.
דוגמה לכתיבת אלגוריתם בשיטה גרפית חופשית (באמצעות תיבות להמחשת קלט, עיבוד, פלט).
דוגמה לכתיבת אלגוריתם בשיטה גרפית חופשית (באמצעות תיבות להמחשת קלט, עיבוד, פלט).
* מהו קומפיילר (מהדר).
* מהי מחלקה.
* מהי פעולה (פעולה הקיימת במערכת לעומת פעולה שנכתבת על ידי התלמיד).
* כיווץ תיקיה ו/או קובצ/ים באמצעות winrar.
נשאר ללמוד: כיצד נוודא שניתן לשלוח במייל את הקובץ המכווץ מבלי לקבל הודעת שגיאה 'חשש לוירוסים'.
נשאר ללמוד: כיצד נוודא שניתן לשלוח במייל את הקובץ המכווץ מבלי לקבל הודעת שגיאה 'חשש לוירוסים'.
* ביצוע שורת תיעוד באמצעות //. ביצוע תיעוד בסוף שורה בה ביצענו הצהרה על משתנה.
תיעוד של רצף שורות תוך שימוש בפתיח */ וסיום ב- /*.
ימים ב'-ג', 15-16.9.25
* הנדסת קוד: פלט בשיטת שומרי-מקום "אקספרס".
השוואה בין 3 שיטות הצגת הפלט - הדגמת קוד המשתמש בשרשור, שומרי-מקום, שומרי-מקום "אקספרס" כאן.
השוואה בין 3 שיטות הצגת הפלט - הדגמת קוד המשתמש בשרשור, שומרי-מקום, שומרי-מקום "אקספרס" כאן.
* הנדסת קוד: escape-code ראשון: שימוש ב- n\ לצורך ציון "ירידת שורה".
* החלפת ערכים בין שני משתנים תוך שימוש במשתנה עזר.
* חילוץ ספרת האחדות num % 10.
* חילוץ ספרת העשרות num / 10 % 10.
* חילוץ ספרת המאות num / 10 / 10 % 10 או num / 100 % 10.
* ביטוי בוליאני: מבצע השוואה לוגית שתוצאתה היא true או false ('אמת' או 'שקר' / 0 או 1).
* הפקודה if וכתיבת ביטוי בוליאני בתוך הסוגריים העגולים שלאחר המלה if.
* יש לתחום את הפקודות המשוייכות ל- if ו/או ל- else בבלוק של סוגריים מסולסלים.
* מדוע לא כותבים את התו נקודה-פסיק ';' בסיום השורה של הפקודה if?
* הפקודה else.
* אופרטורים לוגיים בינאריים (שמימינם ומשמאלם קיים ערך/משתנה/פסוק-לוגי), משמשים בעת כתיבת פסוק-לוגי:
< גדול מ-
=< גדול או שווה ל-
> קטן מ-
=> קטן או שווה ל-
== שווה ל-
=! האם שונה מ-
* הזחה: נזיז ימינה את שורת/שורות הקוד השייכות לשורת הכותרת שמעליהן.
* האופרטור && הנכתב בין שני פסוקים לוגיים מסמל 'וגם' (על שני הפסוקים להחזיר true בכדי שהקוד ייכנס לבלוק ה- if).
* האופרטור || הנכתב בין שני פסוקים לוגיים, מסמל 'או' (על פסוק אחד לפחות להחזיר true בכדי שהקוד ייכנס לבלוק ה- if).
* תרגול כיתה: תחילת ביצוע תרגילים 1-12 בנושא תנאי-פשוט ותנאי-מורכב (סעיף 105 בדף 'קישורים').
יום ה', 18.9.25 (זום)
* else-if
יום ו', 19.9.25
* הטיפוס bool (בוליאני). ניתן להשים בו true או false בלבד.
* תנאי מקונן (Nested if). התנאי המקונן ייבדק אך ורק אם התקיים התנאי בו הוא מוכל.
* האופרטור האונרי '!'.
* ההבדל בין אופרטור בינארי לאופרטור אונרי.
* קדימויות (סדרי עדיפויות) באופרטורים לוגיים.
* דוגמת מבדק ש.ב בנושא תנאי-מורכב ('&&', '||', '!'), האם התנאים שקולים?
דוגמאות קודים אותם הדגמנו החודש בכיתה
א. החלפת ערך בין שני משתנים כאן.
א. החלפת ערך בין שני משתנים כאן.
ב. חלוקת שלמים לעומת חלוקה-מתמטית-מדויקת כאן.
ג. תנאי מקונן (טמפרטורה ונסיעה לים) כאן.
ד. שימוש ב- else if (מדרגות ציונים) כאן.
ה. דוגמאות לשימוש בתנאים מורכבים כאן.
ו. חילוץ ספרת אחדות/עשרות/מאות מתוך מספר שלם כאן.
יום ה', 25.9.25
* הלולאה for
הלולאה הראשונה שנלמד היא הלולאה for שזה התחביר שלה:
3 4 2 1
{ statements } ( initializer ; test-expression ; updater ) for
{ בלוק/גוף-הלולאה } ( קידום ; תנאי ; אתחול ) for
-> שלב I - 'אתחול'
אתחול ערך המונה. תפקיד המונה לספור את כמות האיטרציות שעל הלולאה לבצע.
משתנה מטיפוס שלם (int) משמש למטרה זו, ובאופן מסורתי נהוג לתת לו את השם 'i' (קיצור של המלה 'index').
-> שלב II - 'תנאי'
טרום ביצוע איטרציה של בלוק-הלולאה, מתבצעת בדיקה האם התנאי מתקיים.
אם התנאי מתקיים, הלולאה תמשיך לביצוע ההוראות שבגוף-הלולאה.
כאשר התנאי לא מתקיים, הלולאה מסתיימת באופן מיידי.
-> שלב ןןן - 'גוף הלולאה'
מתבצעות כל ההוראות שבבלוק-הלולאה (וזאת כאמור אך ורק אם תנאי-הלולאה התקיים).'
-> שלב IV - 'קידום'
בסיום כל איטרציה של גוף-הלולאה, ערך המונה מתעדכן, ומתבצעת חזרה מעגלית לשלב II (התנאי) וחוזר חלילה.
דוגמאות:
א. קוד להדפסת "Hello World" עשר פעמים בשורות נפרדות:
for ( int i = 0 ; i < 10 ; i++ )
}
; Console.WriteLine("Hello World")
{
ב. קוד להדפסת כל המספרים מ- 10 ועד 20 בשורות נפרדות:
for ( int i = 10 ; i <= 20 ; i++ )
}
; Console.WriteLine( i )
{
ג. קוד להדפסת מספרים בין 2-20 בקפיצות של 2 ובשורות נפרדות:
for ( int i = 2 ; i <= 20 ; i = i + 2 )
}
; Console.WriteLine( i )
{
ד. קוד להדפסת המספרים מ- 100 ועד 0 בסדר יורד בקפיצות של 5:
for ( int i = 100 ; i <= 0 ; i = i - 5 )
}
; Console.WriteLine( i )
{
יום ה', 25.9.25
* הלולאה for - עבודה עם משתנה האינדקס
הדגמת צורך:
- הדפסת רצף המספרים מ- 1 עד 10 (כלומר: בסדר עולה).
- הדפסת רצף המספרים מ- 100 עד 1 (כלומר: בסדר יורד).
- חישוב סכום המספרים מ- 1 עד 10.
- חישוב מכפלת המספרים שבין 1 ל- n.
דוגמאות קוד עבור לולאת for עם שימוש בערך האינדקס כאן הפלט כאן.
- הדפסת רצף המספרים מ- 1 עד 10 (כלומר: בסדר עולה).
- הדפסת רצף המספרים מ- 100 עד 1 (כלומר: בסדר יורד).
- חישוב סכום המספרים מ- 1 עד 10.
- חישוב מכפלת המספרים שבין 1 ל- n.
דוגמאות קוד עבור לולאת for עם שימוש בערך האינדקס כאן הפלט כאן.
* הלולאה for - חילוץ ספרות ממספר שלם
הדגמת צורך:
- מציאת הספרה השמאלית של המספר.
- חישוב סכום ספרות המספר.
- האם המספר מורכב מספרות זוגיות בלבד.
- מציאת ספרת המאות.
- מציאת הספרה השמאלית של המספר.
- חישוב סכום ספרות המספר.
- האם המספר מורכב מספרות זוגיות בלבד.
- מציאת ספרת המאות.
* הלולאה for - לולאה מקוננת ליצירת מלבנים
הדגמת צורך:
- יצירת מלבן כוכביות בו 4 שורות ו- 10 עמודות.
- קליטה מהמשתמש של כמות שורות ועמודות ויצירת מלבן כוכביות בהתאם.
- יצירת מלבן כוכביות, קליטה מהמשתמש של שורה ועמודה, צביעת הכוכבית שבמיקום זה.
- יצירת מלבן כוכביות בו 4 שורות ו- 10 עמודות.
- קליטה מהמשתמש של כמות שורות ועמודות ויצירת מלבן כוכביות בהתאם.
- יצירת מלבן כוכביות, קליטה מהמשתמש של שורה ועמודה, צביעת הכוכבית שבמיקום זה.
* הלולאה for - לולאה מקוננת ליצירת משולשים
לבית
ליום ו', 5.9.25
* התקינו Visual Studio במחשב עליו תתרגלו בבית ובאמצעותו תכינו את שיעורי הבית.
* הביאו Disk On Key לכל שיעור.
ליום ב', 8.9.25
* ודאו כי אתם מבינים את השימוש באופרטורי-הקיצור שלהלן לצורך ביצוע שינויים בערכו של משתנה:
++
--
=+
=-
=*
=/
את תרגילים 1-3 שלהלן יש לשמור על גבי ה- Disk on key, אותו יש להביא לכל השיעורים:
* תרגיל1 - שטח משולש
כתבו קטע קוד הקולט מהמשתמש אורך בסיס של משולש שווה שוקיים ואת גובה המשולש.
הפלט הנדרש: שטח המשולש.
הערה: אם אינכם זוכרים את נוסחת החישוב של שטח משולש, בדקו בויקידפיה.
* תרגיל2 - שטח ריבוע
כתבו קטע קוד הקולט מהמשתמש מספר שלם המהווה אורך צלע של ריבוע.
הפלט הנדרש: היקף ושטח הריבוע.
* תרגיל3 - סיור לחברת היי-טק
כתבו קטע קוד הקולט מספר תלמידים בקבוצת הנדסת-תוכנה הלומדים בשכבת י' בבית הספר חוף-השרון.
יש לקלוט את עלות הסיור עבור תלמיד אחד.
הפלט הנדרש: העלות הכוללת של הסיור, העלות הכוללת של הסיור בתוספת מע"מ.
לדוגמה: אם נקלט שיש בקבוצה 10 תלמידים, ועלות הסיור לתלמיד הינה 1,000 ש"ח,
על הפלט עבור העלות הכוללת של הסיור להיות 10,000 ש"ח (1,000 * 10).
ועבור העלות הכוללת בסופת מע"מ להיות 11,800 ש"ח (1.18 * 10,000).
הערה1: אסור שקטע הקוד יכלול ערכים ספציפיים עבור כמות התלמידים ועלות הסיור לתלמיד, כיוון
שעל ערכים אלה להיקלט מהמשתמש בעת ריצת התוכנית.
המתכנת לא קובע בעצמו מה יהיו הערכים הללו.
הערה2: שיעור המע"מ בישראל נכון להיום הוא 18%.
ניתן לשמור לשמור את הערך 0.18 במשתנה מטיפוס double ששמו יכול להיות maam (מע"מ),
אך ניתן גם להשתמש בערך 0.18 או 1.18 באופן ישיר בתוך נוסחת החישוב
שתוצאתה מושמת לתוך משתנה לשמירת מחיר הסיור כולל מע"מ.
++
--
=+
=-
=*
=/
את תרגילים 1-3 שלהלן יש לשמור על גבי ה- Disk on key, אותו יש להביא לכל השיעורים:
* תרגיל1 - שטח משולש
כתבו קטע קוד הקולט מהמשתמש אורך בסיס של משולש שווה שוקיים ואת גובה המשולש.
הפלט הנדרש: שטח המשולש.
הערה: אם אינכם זוכרים את נוסחת החישוב של שטח משולש, בדקו בויקידפיה.
* תרגיל2 - שטח ריבוע
כתבו קטע קוד הקולט מהמשתמש מספר שלם המהווה אורך צלע של ריבוע.
הפלט הנדרש: היקף ושטח הריבוע.
* תרגיל3 - סיור לחברת היי-טק
כתבו קטע קוד הקולט מספר תלמידים בקבוצת הנדסת-תוכנה הלומדים בשכבת י' בבית הספר חוף-השרון.
יש לקלוט את עלות הסיור עבור תלמיד אחד.
הפלט הנדרש: העלות הכוללת של הסיור, העלות הכוללת של הסיור בתוספת מע"מ.
לדוגמה: אם נקלט שיש בקבוצה 10 תלמידים, ועלות הסיור לתלמיד הינה 1,000 ש"ח,
על הפלט עבור העלות הכוללת של הסיור להיות 10,000 ש"ח (1,000 * 10).
ועבור העלות הכוללת בסופת מע"מ להיות 11,800 ש"ח (1.18 * 10,000).
הערה1: אסור שקטע הקוד יכלול ערכים ספציפיים עבור כמות התלמידים ועלות הסיור לתלמיד, כיוון
שעל ערכים אלה להיקלט מהמשתמש בעת ריצת התוכנית.
המתכנת לא קובע בעצמו מה יהיו הערכים הללו.
הערה2: שיעור המע"מ בישראל נכון להיום הוא 18%.
ניתן לשמור לשמור את הערך 0.18 במשתנה מטיפוס double ששמו יכול להיות maam (מע"מ),
אך ניתן גם להשתמש בערך 0.18 או 1.18 באופן ישיר בתוך נוסחת החישוב
שתוצאתה מושמת לתוך משתנה לשמירת מחיר הסיור כולל מע"מ.
ליום ב', 15.9.25
כתבו אלגוריתמים + מימושם בשפת #C במחשב בהתאם לשאלות הבאות:
1) קלט: 3 מספרים שלמים. פלט: ממוצעם של 3 המספרים.
2) קלט: כמות שעות עבודה של פועל. תעריף שעתי של פועל. אחוז המס. פלט: סה"כ שכר הפועל לאחר ניכוי המס.
3) קלט: סכום בדולרים. פלט: הסכום בשקלים. (הניחו כי שער הדולר הוא 3.5 שקלים לדולר).
4) קלט: סכום בשקלים. פלט: הסכום בדולרים. (הניחו כי שער הדולר הוא 3.5 שקלים לדולר).
5) קלט: מספר שלם ראשון , מספר שלם שני. יש להחליף בין ערכי שני המשתנים.
פלט: הדפיסו את המספר הראשון ובשורה מתחתיו את המספר השני.
לדוגמה, אם נקלט למשתנה השומר את המספר הראשון הערך 10, ועבור המשתנה השומר את המספר השני הערך 20,
הרי שלאחר החלפת הערכים בין שני המשתנים בהם שמורים מספרים אלה,
המשתנה הראשון ישמור את הערך השני שנקלט, והמשתנה השני ישמור את הערך הראשון שנקלט.
לכן, במקרה של הדוגמה הנ"ל יודפס בשורה הראשונה 20 ובשניה 10.
רמז: השתמשו במשתנה שלישי לצורך החלפת הערכים בין שני המשתנים.
לדוגמה, אם נקלט למשתנה השומר את המספר הראשון הערך 10, ועבור המשתנה השומר את המספר השני הערך 20,
הרי שלאחר החלפת הערכים בין שני המשתנים בהם שמורים מספרים אלה,
המשתנה הראשון ישמור את הערך השני שנקלט, והמשתנה השני ישמור את הערך הראשון שנקלט.
לכן, במקרה של הדוגמה הנ"ל יודפס בשורה הראשונה 20 ובשניה 10.
רמז: השתמשו במשתנה שלישי לצורך החלפת הערכים בין שני המשתנים.
6) קלט: שני מספרים תלת-ספרתיים. פלט: סיסמה המורכבת מרצף של שני המספרים שנקלטו.
לדוגמה: אם המספר הראשון שנקלט הוא 123 והמספר השני שנקלט הוא 987, יודפס 123987.
לדוגמה: אם המספר הראשון שנקלט הוא 123 והמספר השני שנקלט הוא 987, יודפס 123987.
7) בצעו כל התרגילים בדף "היכרות ותרגול" בנושאים Div & Mod (חלוקת שלמים ושארית שלמים) כאן.
ליום ו', 19.9.25
1) בצעו את שאלות 7-12 בדף "תרגילים ראשונים בנושא Div/Mod" כאן.
2) כתבו קטע קוד הקולט מהמשתמש שני מספרים שלמים למשתנים num1, num2.
הקוד ידפיס את ערכי שני המשתנים.
הקוד יבצע החלפת ערכים בין שני המשתנים num1, num2 ללא שימוש במשתנה עזר.
הקוד ידפיס את ערכי שני המשתנים.
הקוד ידפיס את ערכי שני המשתנים.
הקוד יבצע החלפת ערכים בין שני המשתנים num1, num2 ללא שימוש במשתנה עזר.
הקוד ידפיס את ערכי שני המשתנים.
3) צפו ב- 3 הסרטונים הקצרים בנושאים 'התחלת התכנות' ו- 'משתנים' הנמצאים בדף 'קישורים' סעיפים 85, 87, 89.
במידת הצורך, הכינו את שאלותיכם תוך ציון הדקה והשנייה לגביהם אתם שואלים.
במידת הצורך, הכינו את שאלותיכם תוך ציון הדקה והשנייה לגביהם אתם שואלים.
4) סיימו תרגילים 1-12 המופעים בדף 'קישורים' סעיף 105.
את תרגילי הרשות שלהלן יש להשלים עד השיעור של יום ה', 25.9.25:
5) רשות: תרגיל בנושא 'תנאי מקונן' (רמז: במקום else רושמים else if. נסביר זאת בזום ביום ה'),
ראו בדף 'קישורים' סעיף 110.
ראו בדף 'קישורים' סעיף 110.
6) רשות: תרגיל בנושא תנאי-מורכב 'או', "שיחה עם המורה", ראו בדף 'קישורים' סעיף 120.
7) רשות: תרגיל 'כדורסל2' בנושא תנאי מורכב "מועד להתקבל כשחקן כדורסל', ראו דף 'קישורים' סעיף 160.
ליום ה', 25.9.25
1) בצעו את תרגילי הרשות 5-7 שניתנו כש.ב ליום ו' 19.9.25.
2) כתבו קטע קוד הקולט 3 אורכי צלעות. במידה וניתן ליצור משולש משלושת הצלעות הללו,
יודפס "A triangle can be formed.", אחרת - "Unable to create a triangle".
יודפס "A triangle can be formed.", אחרת - "Unable to create a triangle".
3) כתבו קטע קוד הקולט 3 אורכי צלעות של משולש. במידה ומדובר במשולש שווה-שוקיים,
יודפס "Isosceles triangle", אחרת - "not an Isosceles triangle".
הערה: הניחו כי נקלטו 3 אורכי צלעות מהם ניתן ליצור משולש.
יודפס "Isosceles triangle", אחרת - "not an Isosceles triangle".
הערה: הניחו כי נקלטו 3 אורכי צלעות מהם ניתן ליצור משולש.
4) כתבו קטע קוד הקולט 3 אורכי צלעות של משולש. במידה ומדובר במשולש שווה-צלעות,
יודפס "Equilateral triangle", אחרת - "not an Equilateral triangle".
הערה: הניחו כי נקלטו 3 אורכי צלעות מהם ניתן ליצור משולש.
יודפס "Equilateral triangle", אחרת - "not an Equilateral triangle".
הערה: הניחו כי נקלטו 3 אורכי צלעות מהם ניתן ליצור משולש.
5) כתבו קטע קוד הקולט שלושה מספרים שלמים. התוכנית תדפיס את שלושת המספרים מהגדול לקטן.
6) תרגיל המסעדה: הערה: יש להקלפיד על שימוש בשמות משתנים ברורים ובעלי משמעות.
כתבו תוכנית הקולטת את הכמויות הבאות: סועדים ('חברי-השולחן'), מנות-ראשונות, מנות-עיקריות, קינוחים, בקבוקי-שתיה.
שמרו במשתנים ייעודיים את מחירון המסעדה עבור מנה-ראשונה, מנה-עיקרית, מנת-קינוח, בקבוק-שתיה.
חשבו והדפיסו את המחיר המלא (טרום הנחות) שעל חברי-השולחן לשלם בתום הארוחה שהזמינו.
הנחות: בתקופת חגי תשרי, המסעדה מעניקה הנחה קבועה בשיעור של 10% על כל התפריט.
שולחן בו כמות הקינוחים שהוזמנה שווה או גדולה מכמות חברי-השולחן, יזכו בבונוס: עוד 10% הנחה על כלל הארוחה,
אלא אם כמות הקינוחים שהוזמנה שווה או גדולה מפעמיים כמות חברי-השולחן, הבונוס יעמוד על 20% הנחה על כלל הארוחה.
חשבו והדפיסו את אחוז ההנחה הכולל עבור חברי-השולחן שהגיעו לחגוג את ראש השנה.
חשבו והדפיסו את המחיר הסופי (לאחר הנחה) שעל חברי-שולחן זה לשלם.
כתבו תוכנית הקולטת את הכמויות הבאות: סועדים ('חברי-השולחן'), מנות-ראשונות, מנות-עיקריות, קינוחים, בקבוקי-שתיה.
שמרו במשתנים ייעודיים את מחירון המסעדה עבור מנה-ראשונה, מנה-עיקרית, מנת-קינוח, בקבוק-שתיה.
חשבו והדפיסו את המחיר המלא (טרום הנחות) שעל חברי-השולחן לשלם בתום הארוחה שהזמינו.
הנחות: בתקופת חגי תשרי, המסעדה מעניקה הנחה קבועה בשיעור של 10% על כל התפריט.
שולחן בו כמות הקינוחים שהוזמנה שווה או גדולה מכמות חברי-השולחן, יזכו בבונוס: עוד 10% הנחה על כלל הארוחה,
אלא אם כמות הקינוחים שהוזמנה שווה או גדולה מפעמיים כמות חברי-השולחן, הבונוס יעמוד על 20% הנחה על כלל הארוחה.
חשבו והדפיסו את אחוז ההנחה הכולל עבור חברי-השולחן שהגיעו לחגוג את ראש השנה.
חשבו והדפיסו את המחיר הסופי (לאחר הנחה) שעל חברי-שולחן זה לשלם.
7) תרגיל לפתרון באמצעות תנאי מקונן: כתבו קטע קוד הקולט מספר שלם ומדפיס האם הוא חיובי, שלילי או אפס.
8) תרגיל הים לפתרון באמצעות תנאי מקונן ומשתנה בוליאני כאן.
9) כתבו קטע קוד הקולט מספר שלם דו-ספרתי ל- num, מחליף בין ספרותיו, ומדפיס את num.
לדוגמה: אם נקלט המספר 37, ערכו של num ישתנה ל- 73, ויודפס 73.
לדוגמה: אם נקלט המספר 37, ערכו של num ישתנה ל- 73, ויודפס 73.
10) כתבו קטע קוד הקולט שלושה מספרים שלמים. אם המספר השני גדול מממוצע שלושת המספרים, יודפס המספר השני.
אם המספר הראשון קטן מההפרש בערך-מוחלט בין המספר השלישי והשני, יודפס המספר הראשון.
אם המספר השלישי שווה לסכום שני המספרים הראשונים, יודפס מחצית ערכו של המספר השלישי.
אם המספר הראשון קטן מההפרש בערך-מוחלט בין המספר השלישי והשני, יודפס המספר הראשון.
אם המספר השלישי שווה לסכום שני המספרים הראשונים, יודפס מחצית ערכו של המספר השלישי.
11) כתבו קטע קוד הקולט מספר שלם ומדפיס את המספר השלם הזוגי הקרוב ביותר וגדול ממנו.
לדוגמה, אם נקלט 27, יודפס 28. אם נקלט 34, יודפס 36.
לדוגמה, אם נקלט 27, יודפס 28. אם נקלט 34, יודפס 36.
12) כבית ספר מתכנן טיול שכבתי. לטיול יש להזמין אוטובוסים. ידוע כי בכל אוטובוס ניתן להסיע לכל היותר 50 תלמידים.
כתבו קטע קוד הקולט מספר תלמידים שנרשמו לטיול, ומדפיס את כמות האוטובוסים שיש להזמין.
יש לטפל גם במקרה שבו כמות התלמידים אינה מתחלקת ב- 50 ללא שארית.
כתבו קטע קוד הקולט מספר תלמידים שנרשמו לטיול, ומדפיס את כמות האוטובוסים שיש להזמין.
יש לטפל גם במקרה שבו כמות התלמידים אינה מתחלקת ב- 50 ללא שארית.
13) לעובד במתקן בטחוני מסוים יש קוד סודי המורכב מ- 4 ספרות. ספרת האחדות מהווה ספרת ביקורת.
ספרת הביקורת היא ספרת השארית המתקבלת מסכום שאר הספרות מחולק ב- 5.
כתבו קטע קוד הקולט מספר שלם 4 ספרתי (גדול או שווה ל- 1000) המהווה את קוד העובד,
בודק ומדפיס הודעה האם הקוד תקין. חישבו: כמה קודים תקינים ייתכנו בין 1000 ל- 1100?
ספרת הביקורת היא ספרת השארית המתקבלת מסכום שאר הספרות מחולק ב- 5.
כתבו קטע קוד הקולט מספר שלם 4 ספרתי (גדול או שווה ל- 1000) המהווה את קוד העובד,
בודק ומדפיס הודעה האם הקוד תקין. חישבו: כמה קודים תקינים ייתכנו בין 1000 ל- 1100?
14) כתבו קטע קוד הקולט סיסמה מהמשתמש ומשווה אותה לסיסמה שמורה במשתנה.
אם הסיסמאות תואמות, יודפס ".Password match. Access granted".
אחרת - ".Password do not match! Access denied". הצעת פתרון כאן.
אם הסיסמאות תואמות, יודפס ".Password match. Access granted".
אחרת - ".Password do not match! Access denied". הצעת פתרון כאן.
15) שלושה מספרים יכולים להיות שלשה פיתגורית אם סכום ריבועי שניים מהמספרים שווה לריבוע המספר השלישי.
כתבו קטע קוד המקבל כקלט שלושה מספרים ומציג כפלט הודעה מתאימה אם הם מהווים שלשה פיתגורית או לא.
דוגמה: 5 ,4 ,3 מהווים שלשה פיתגורית כיוון ששלוש בריבוע ועוד ארבע בריבוע שווה ל- חמש בריבוע.
הצעת פתרון כאן. חישבו: האם הצעת הפתרון מספיקה כתשובה?
כתבו קטע קוד המקבל כקלט שלושה מספרים ומציג כפלט הודעה מתאימה אם הם מהווים שלשה פיתגורית או לא.
דוגמה: 5 ,4 ,3 מהווים שלשה פיתגורית כיוון ששלוש בריבוע ועוד ארבע בריבוע שווה ל- חמש בריבוע.
הצעת פתרון כאן. חישבו: האם הצעת הפתרון מספיקה כתשובה?
ליום ב', 25.9.25
1) הכינו את כל שאלותיכם לגבי ש.ב שניתנו ליום ה', 25.9.2025. ודאו כי אתם יכולים לענות כל שאלה בעצמכם (על דף)
במקסימום 5 דקות. מדוע? כך תדעו שאתם מספיק מיומנים, כולל לקראת מבדקי הש.ב. בהתחלה,
גם אם לוקח לכם שעתיים לענות על שאלה - זה בסדר.
כפי שאמרנו, רשמו את כל הדברים שלמדתם בדרך לפתרון השאלה, כדי שלהבא לא תתעקבו על דברים אלו.
במקסימום 5 דקות. מדוע? כך תדעו שאתם מספיק מיומנים, כולל לקראת מבדקי הש.ב. בהתחלה,
גם אם לוקח לכם שעתיים לענות על שאלה - זה בסדר.
כפי שאמרנו, רשמו את כל הדברים שלמדתם בדרך לפתרון השאלה, כדי שלהבא לא תתעקבו על דברים אלו.
2) שאלות בסיסיות בנושא לולאת for
* ביצוע חוזר של "אותו הדבר", שימוש חוזר בערכו המתעדכן של אינדקס הלולאה (i)
* ביצוע חוזר של "אותו הדבר", שימוש חוזר בערכו המתעדכן של אינדקס הלולאה (i)
א) כתבו קטע קוד המדפיס את שמכם הפרטי 30 פעמים.
ב) כתבו קטע קוד המדפיס את רצף המספרים 1-30.
ג) כתבו קטע קוד המדפיס את רצף המספרים 1-30 בצעדים של 2. כלומר יודפס 1, אח"כ 3, אח"כ 5 וכו'.
ד) כתבו קטע קוד המדפיס את רצף המספרים 1-30 בסדר יורד. כלומר יודפס 30, אח"כ 29, אח"כ 28 וכו'.
ה) כתבו קטע קוד המדפיס את רצף המספרים 1-30 בסדר יורד בצעדים של 3. כלומר יודפס 30, אח"כ 27, אח"כ 24 וכו'.
ב) כתבו קטע קוד המדפיס את רצף המספרים 1-30.
ג) כתבו קטע קוד המדפיס את רצף המספרים 1-30 בצעדים של 2. כלומר יודפס 1, אח"כ 3, אח"כ 5 וכו'.
ד) כתבו קטע קוד המדפיס את רצף המספרים 1-30 בסדר יורד. כלומר יודפס 30, אח"כ 29, אח"כ 28 וכו'.
ה) כתבו קטע קוד המדפיס את רצף המספרים 1-30 בסדר יורד בצעדים של 3. כלומר יודפס 30, אח"כ 27, אח"כ 24 וכו'.
* תרגילים בסיסיים בלולאת for (חלוקת-שלמים, שארית-שלמים)
ו) כתבו קטע קוד המדפיס את כל המספרים הזוגיים אשר מתחלקים ב- 3 ללא שארית בטווח המספרים 1-100.
יודפס 6, אח"כ 12, אח"כ 18 וכו'.
יודפס 6, אח"כ 12, אח"כ 18 וכו'.
ז) כתבו קטע קוד המדפיס את כל המספרים בטווח 1-100 המתחלקים ללא שארית ב- 2 וב- 3,
או את כל המספרים בטווח זה המתחלקים ללא שארית ב- 5.
או את כל המספרים בטווח זה המתחלקים ללא שארית ב- 5.
לשיעור הראשון שלאחר חופשת סוכות
> שימו לב, יתכן וחלק מהשאלות שלהלן יהוו עבורכם אתגר. אם אנכם מצליחים לפתור שאלה מסוימת,
השאירו אותה ליום המחרת ונסו שוב. הצטיידו בסבלנות, לא חובה לדעת לפתור מיד כל שאלה,
אבל כאשר אתם פותרים שאלה, רשמו לעצמכם מה היתה "הפואנטה" באותה שאלה,
ואיך עליהם לנהוג בפעמים הבאות כשתתקלו בשאלה דומה.
השאירו אותה ליום המחרת ונסו שוב. הצטיידו בסבלנות, לא חובה לדעת לפתור מיד כל שאלה,
אבל כאשר אתם פותרים שאלה, רשמו לעצמכם מה היתה "הפואנטה" באותה שאלה,
ואיך עליהם לנהוג בפעמים הבאות כשתתקלו בשאלה דומה.
> בכל השאלות שלהלן, הניחו כי הקלט מהמשתמש תקין.
לדוגמה: אם התוכנית ביקשה מהמשתמש שיקליד מספר תלת-ספרתי, הניחו שהמשתמש הקליד מספר תלת-ספרתי,
ולא שום דבר אחר כמו מספר שאינו תלת-ספרתי, טקסט כלשהו וכו'.
> עבודה נעימה!
לדוגמה: אם התוכנית ביקשה מהמשתמש שיקליד מספר תלת-ספרתי, הניחו שהמשתמש הקליד מספר תלת-ספרתי,
ולא שום דבר אחר כמו מספר שאינו תלת-ספרתי, טקסט כלשהו וכו'.
> עבודה נעימה!
1) קראו את סיכום השיעור שהיה ב- 25.9.25, כולל את כל דוגמאות הלולאה for.
ודאו כי הנכם מבינים את כל אחד מהקודים המודגמים.
סמנו לעצמכם 5 לולאות שאינכם בטוחים שתצליחו לכתוב בעצמכם ונסו לכתוב קוד המבצע בדיוק מה שבוצע הקוד ההדגמה.
עשו זאת עד שתצליחו בכך מבלי שתצטרכו להסתכל בקוד הדוגמה.
ודאו כי הנכם מבינים את כל אחד מהקודים המודגמים.
סמנו לעצמכם 5 לולאות שאינכם בטוחים שתצליחו לכתוב בעצמכם ונסו לכתוב קוד המבצע בדיוק מה שבוצע הקוד ההדגמה.
עשו זאת עד שתצליחו בכך מבלי שתצטרכו להסתכל בקוד הדוגמה.
2) כתבו קטע קוד המדפיס את כל המספרים המתחלקים ב- 3 ללא שארית בטווח 1-100.
3) כתבו קטע קוד המדפיס את סכום המספרים בטווח 1-70, שאחת לפחות מספרותיהם היא 5.
על הקוד להדפיס 735 (סכום המספרים 5, 15, 25, 35, 45, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 65).
4) כתבו קטע קוד הקולט מהמשתמש מספר שלם, מחשב ומדפיס את ערך העצרת שלו.
לדוגמה: אם נקלט המספר 4, יודפס 24 (24=4*3*2*1).
הערה: העצרת של המספר 0 היא 1.
על הקוד להדפיס 735 (סכום המספרים 5, 15, 25, 35, 45, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 65).
4) כתבו קטע קוד הקולט מהמשתמש מספר שלם, מחשב ומדפיס את ערך העצרת שלו.
לדוגמה: אם נקלט המספר 4, יודפס 24 (24=4*3*2*1).
הערה: העצרת של המספר 0 היא 1.
5) כתבו קטע קוד הקולט מספר ומדפיס הודעה האם הוא מספר ראשוני (prime) או לא.
מספר ראשוני הוא מספר המתחלק בעצמו וב- 1 בלבד. המספר 1 אינו נחשב ראשוני.
דוגמאות למספרים ראשוניים: 2, 3, 5, 7, 19, 23.
6) כתבו קטע קוד הקולט את הציונים של 9 תלמידי מגממת הנדסת-תוכנה. פלט הקוד: ממוצעם של 9 הציונים.
מספר ראשוני הוא מספר המתחלק בעצמו וב- 1 בלבד. המספר 1 אינו נחשב ראשוני.
דוגמאות למספרים ראשוניים: 2, 3, 5, 7, 19, 23.
6) כתבו קטע קוד הקולט את הציונים של 9 תלמידי מגממת הנדסת-תוכנה. פלט הקוד: ממוצעם של 9 הציונים.
7) בכיתה מסוימת 9 תלמידים. על כל תלמיד להגיש עד סוף המחצית כמות מסוימת של תוכניות שהוא כתב והריץ.
כתבו קטע קוד הקולט את כמות התוכניות שכל תלמיד הגיש עד סוף המחצית. הפלט יהיה:
* כמות התלמידים אשר מילאו את חובתם במלואה.
* כמות התלמידים אשר מילאו את חובתם באופן חלקי.
* כמות התלמידים שלא הגישו אף עבודה.
כתבו קטע קוד הקולט את כמות התוכניות שכל תלמיד הגיש עד סוף המחצית. הפלט יהיה:
* כמות התלמידים אשר מילאו את חובתם במלואה.
* כמות התלמידים אשר מילאו את חובתם באופן חלקי.
* כמות התלמידים שלא הגישו אף עבודה.
8) כתבו קטע קוד הקולט 5 זוגות של מספרים. כלומר: סה"כ 10 מספרים (כל רצף של 2 קלטים מהווה זוג).
הפלט יהיה כמות זוגות המספרים בהם כל אחד משני המספרים הוא חיובי ואי-זוגי.
לדוגמה, אם נקלטו המספרים הבאים (משמאל לימין):
13 ,5 ,4 ,3 ,21 ,29 ,7- ,9 ,101 ,5- <--
יודפס 2. שני הזוגות היחידים העומדים בקריטריון: (21 ,29) ו- (13 ,5).
9) כתבו קטע קוד הקולט ציונים של 9 תלמידים. הפלט יהיה: כמות התלמידים שציונם נע בין 90-100 (כולל), או בין 60-70 (כולל).
הפלט יהיה כמות זוגות המספרים בהם כל אחד משני המספרים הוא חיובי ואי-זוגי.
לדוגמה, אם נקלטו המספרים הבאים (משמאל לימין):
13 ,5 ,4 ,3 ,21 ,29 ,7- ,9 ,101 ,5- <--
יודפס 2. שני הזוגות היחידים העומדים בקריטריון: (21 ,29) ו- (13 ,5).
9) כתבו קטע קוד הקולט ציונים של 9 תלמידים. הפלט יהיה: כמות התלמידים שציונם נע בין 90-100 (כולל), או בין 60-70 (כולל).
10) כתבו קטע קוד הקולט ציונים של 9 תלמידים. הפלט יהיה: כמות התלמידים שציונם נע בין 90-100 (כולל),
אובין 60-100 (כולל) שציונם הוא מספר זוגי המתחלק ב- 3 ללא שארית.
הערה: אין למנות פעמיים תלמיד שציונו עונה על יותר מקריטריון אחד.או
11) כתבו קטע קוד הקולט מספר שלם ומדפיס את מחלקיו (כולל את 1 ואת המספר עצמו).
לדוגמה, אם נקלט המספר 12, יודפס: 12 ,6 ,4 ,3 ,2 ,1 <--
12) מספר נקרא 'מושלם' אם הוא שווה לסכום המחלקים שלו (לא כולל המספר עצמו).
לדוגמה, המספר 28 הוא מספר 'מושלם' כיוון ש: 14 + 7 + 4 + 2 + 1 = 28.
כתבו קטע קוד הקולט מהמשתמש מספר שלם ומדפיס "true" אם המספר 'מושלם', אחרת - "false".
לדוגמה, אם נקלט המספר 12, יודפס: 12 ,6 ,4 ,3 ,2 ,1 <--
12) מספר נקרא 'מושלם' אם הוא שווה לסכום המחלקים שלו (לא כולל המספר עצמו).
לדוגמה, המספר 28 הוא מספר 'מושלם' כיוון ש: 14 + 7 + 4 + 2 + 1 = 28.
כתבו קטע קוד הקולט מהמשתמש מספר שלם ומדפיס "true" אם המספר 'מושלם', אחרת - "false".
13) כתבו קטע קוד הקולט מהמשתמש מספרים שלמים, עד לקליטת המספר 99-. הפלט: סכום המספרים שנקלטו (ללא 99-).
14) כתבו קטע קוד המדפיס את כל המספרים הראשוניים שבטווח 1-1000.
15) כתבו קטע קוד הקולט מספר שלם ומדפיס את ספרותיו בסדר הפוך.
לדוגמה: אם נקלט המספר 1234, יודפס 4321 <--, אם נקלט המספר 100, יודפס 001 <--
15) כתבו קטע קוד הקולט מספר שלם ומדפיס את ספרותיו בסדר הפוך.
לדוגמה: אם נקלט המספר 1234, יודפס 4321 <--, אם נקלט המספר 100, יודפס 001 <--
16) כתבו קטע קוד הקולט מספר שלם, יוצר מספר חדש בעל סדר ספרות הפוך, מדפיס את המספר החדש ואת מכפלת ערכו ב- 2.
לדוגמה: אם נקלט המספר 123, המספר החדש יהיה 321, יודפס 321 ו- 642 (2 * 321).
17) כתבו קטע קוד המדפיס את כל המספרים בטווח 1-6000 אשר מתחלקים ב- 5 ללא שארית,
וגם עומדים בכל אחד מהקריטריונים הבאים:
א. ספרת האחדות שונה מ- 0.
ב. ספרת העשרות שונה מ- 5.
ג. ספרת המאות שונה מ- 0.
ד. ספרת האלפים שונה מ- 5.
דוגמות למספרים שיודפסו: 2595 ,185 ,125 ,105 <--
דוגמאות למספרים שלא יודפסו: 7475 ,2155 ,20 ,10 ,5 <--
לדוגמה: אם נקלט המספר 123, המספר החדש יהיה 321, יודפס 321 ו- 642 (2 * 321).
17) כתבו קטע קוד המדפיס את כל המספרים בטווח 1-6000 אשר מתחלקים ב- 5 ללא שארית,
וגם עומדים בכל אחד מהקריטריונים הבאים:
א. ספרת האחדות שונה מ- 0.
ב. ספרת העשרות שונה מ- 5.
ג. ספרת המאות שונה מ- 0.
ד. ספרת האלפים שונה מ- 5.
דוגמות למספרים שיודפסו: 2595 ,185 ,125 ,105 <--
דוגמאות למספרים שלא יודפסו: 7475 ,2155 ,20 ,10 ,5 <--
.................... שאלות הרשות שלהלן יינתנו כש.ב בהמשך. בשלב זה אין חובה לענות עליהן ....................
18) (רשות) כתבו קטע קוד הקולט מהמשתמש 15 מספרים ומדפיס את המספר הגדול ביותר שנקלט.
18) (רשות) כתבו קטע קוד הקולט מהמשתמש 15 מספרים ומדפיס את המספר הגדול ביותר שנקלט.
19) (רשות) כתבו קטע קוד הקולט מהמשתמש 15 מספרים ומדפיס את המספר הקטן ביותר שנקלט.
20) (רשות) כתבו תוכנית הקולטת זמני ריצה של 8 משתתפים. הזמן יקלט כמספר שניות למשתנה מטיפוס ממשי. מספרי הרצים: 1-8.
על התוכנית לחשב ולהדפיס:
א. זמן הריצה של הזוכה במקום הראשון ואת מספרו.
ב. זמן הריצה של הזוכה במקום השני ואת מספרו.
ג. זמן הריצה של הרץ שהגיע למקום האחרון ואת מספרו.
ד. זמן הריצה הממוצע של 8 המשתתפים.
על התוכנית לחשב ולהדפיס:
א. זמן הריצה של הזוכה במקום הראשון ואת מספרו.
ב. זמן הריצה של הזוכה במקום השני ואת מספרו.
ג. זמן הריצה של הרץ שהגיע למקום האחרון ואת מספרו.
ד. זמן הריצה הממוצע של 8 המשתתפים.
21) (רשות) כתבו קטע קוד הקולט כמות שורות במשולש ומדפיס משולם שבסיסו למטה וקודקודו נמצא בצד שמאל למעלה.
לדוגמה: אם נקלט הערך 5, יודפס:
*
* *
* * *
* * * *
* * * * *
22) (רשות) כתבו קטע קוד הקולט כמות שורות במשולש ומדפיס משולש שבסיסו למטה וקודקודו מתחיל בצד ימין למעלה.
לדוגמה: אם נקלט הערך 5, יודפס:
*
* *
לדוגמה: אם נקלט הערך 5, יודפס:
*
* *
* * *
* * * *
* * * * *
23) (רשות) כתבו קטע קוד הקולט כמות שורות במשולש ומדפיס משולם שבסיסו למעלה וקודקודו נמצא בצד שמאל למטה.
לדוגמה: אם נקלט הערך 5, יודפס:
לדוגמה: אם נקלט הערך 5, יודפס:
* * * * *
* * * *
* * *
* *
*
24) (רשות) כתבו קטע קוד הקולט כמות שורות במשולש ומדפיס משולש שבסיסו למעלה וקודקודו מתחיל בצד ימין למטה.
לדוגמה: אם נקלט הערך 5, יודפס:
* * * * * לדוגמה: אם נקלט הערך 5, יודפס:
* * * *
* * *
* *
*
25) (רשות) כתבו תוכנית הקולטת 33 מספרים תלת-ספרתיים ומבצעת את הדברים הבאים:
א. מוצאת ומדפיסה את הספרה הקטנה ביותר בכל אחד מ- 33 המספרים שנקלטו.
הערה: יתכן והספרה הקטנה ביותר תופיע במספר יותר מפעם אחת.
למשל: בכל אחד מהמספרים התלת-ספרתיים 232 ו- 222, הספרה הקטנה ביותר היא 2.
הערה: יתכן והספרה הקטנה ביותר תופיע במספר יותר מפעם אחת.
למשל: בכל אחד מהמספרים התלת-ספרתיים 232 ו- 222, הספרה הקטנה ביותר היא 2.
ב. מסכמת את סכום 33 הספרות הקטנות ביותר ומדפיסה אותו.
ג. אם הסכום שחושב בסעיף הקוד גדול מ- 200, יודפס "Big", אחרת - "Small".
ג. אם הסכום שחושב בסעיף הקוד גדול מ- 200, יודפס "Big", אחרת - "Small".
--- בהצלחה ---
בשיעורים הבאים
(נושאים שכבר למדנו כתובים בירוק)
* טיפים
קיצורי דרך
- SH+DEL מחיקת שורה
- KC^ קביעה כהערה (comment)
- KU^ הסרת הערה (uncomment)
- HOME / END מעבר מהיר לתחילת/סוף שורה
- <--^ / -->^ מעבר מהיר לתחילת המלה הבאה/הקודמת
כללי
- באיזו שפה נכתבה #C ועל ידי מי?
- מהי שיטת הנקודה, הפעלה יזומה של ה- intellisense.
- שומרי מקום בשיטת $.
- White-Spaces.
Escape-codes
- n\ ירידת שורה
פרויקט
- באיזה אופן או מסגרת נשמר פרויקט מסוג Console App?
- כיצד יוצרים פרויקט חדש? (דרך התפריט File או באמצעות מקשי קיצור).
- מה מכילה תיקיית הפרויקט?
- כיצד נאתר את מיקום תיקיית הפרויקט (המיקום בו היא נשמרה)?
פתרון
- מהו Solution? יצירת Solution, הוספת פרויקט חדש ל- Solution, הוספת פרויקט קיים ל- Solution.
- פתיחת פרויקט או Solution דרך התיקייה בה הם שמורים.
* קישור להורדת קובץ
- לאחר קליק על הקישור, קובצים מסוג מסמך, תמונה, וידאו וכו' יוצגו באופן אוטומטי (בזכות ה- viewer של הדפדפן).
- אם הדפדפן לא מצליח לפתוח ולהציג את תוכן הקובץ, יהיה עלינו להורידו למחשב בעצמנו:
לחיצה על החץ הפונה כלפי מטה או לחיצה על הקישור/הכפתור 'הורד'.
- אם הדפדפן לא מצליח לפתוח ולהציג את תוכן הקובץ, יהיה עלינו להורידו למחשב בעצמנו:
לחיצה על החץ הפונה כלפי מטה או לחיצה על הקישור/הכפתור 'הורד'.
הקובץ יורד לתיקיית 'הורדות' (Downloads), ומשם נפתח אותו בעצמנו.
אם זה קובץ מכווץ (zip / *.rar.*) --> קליק-ימני על שם הקובץ --> 'Extract to 'FolderName -->
תיתווסף תיקיה ששמה כשם הקובץ המכווץ, המכילה את כל הקבצים והתיקיות שהכיל הקובץ המכווץ.
אם זה קובץ מכווץ (zip / *.rar.*) --> קליק-ימני על שם הקובץ --> 'Extract to 'FolderName -->
תיתווסף תיקיה ששמה כשם הקובץ המכווץ, המכילה את כל הקבצים והתיקיות שהכיל הקובץ המכווץ.
* לולאות
- לולאת for לביצוע 'אותו הדבר' מספר פעמים.
- שימוש באינדקס הלולאה.
- חילוץ ספרות.
- יצירת מלבנים ומשולשים.
- האם פלינדרום?
- מציאת מקסימום/מינימום/סגנו של מקס'.
- טבלת-מעקב על קוד לולאה.
* ביטוי בוליאני, משתנה בוליאני, הפקודה if
- קליטת 3 מספרים שלמים, האם סדרה חשבונית?.
- תוכנת מחשבון (קליטת 2 מספרים ואופרטור).
- פלינדרום למספר שלם תלת-ספרתי.
- שימוש באופרטור האונרי '!' עבור 'ללא'.
- ההבדל בין אופרטור אונרי לאופרטור בינארי.
- קדימויות (סדר עדיפויות) של אופרטורים לוגיים.
- דגל.
- 'else if'.
- תנאי מקונן - Nested-If (if בתוך if).
- הטיפוס bool.
- כתיבת תנאי פשוט (מכיל פסוק-לוגי אחד).
- else.
- תחימת בלוק הפקודות של ה- if ושל ה- else בסוגריים מסולסלים.
- תנאי מורכב (מכיל לפחות שני פסוקים לוגיים אשר ביניהם האופרטור && עבור 'וגם', או האופרטור || עבור ,'או').
* טיפוסי נתונים נוספים
- הטיפוס char (טיפוס תווי).
* תהליך עבודת המחשב
- קלט, זיכרון, עיבוד, פלט.
* אלגוריתם
א. אלגוריתם יכול להיות מילולי או גרפי. לדוגמה, נכתבו אלגוריתם לפתרון התרגיל הבא:
"כתבו קטע קוד הקולט 2 מספרים שלמים ומדפיס את הממוצע שלהם".
"כתבו קטע קוד הקולט 2 מספרים שלמים ומדפיס את הממוצע שלהם".
ב. 3 חלקי האלגוריתם
חלוקה בסיסית ראשונית של אלגוריתם מסוג השאלות שראינו עד כה, הוא ל- 3 חלקים: קלט, עיבוד, פלט.
נציין באלגוריתם גם את שמות המשתנים. מדוע? ההליך החשיבתי של המתכנת מתבצע בעת כתיבת האלגוריתם.
המימוש של האלגוריתם בשפת תכנות הוא בסך הכל תרגום של תוכנית משפה אחת (אלגוריתם) לשפה אחרת (#C),
בתחילת הדרך בתכנות, גם כתיבה תחבירית נכונה של הקוד התכנותי מהווה אתגר במידת מה,
אך אתגר זה הוא קצר טווח ברמה של שבועות בודדים.
חלוקה בסיסית ראשונית של אלגוריתם מסוג השאלות שראינו עד כה, הוא ל- 3 חלקים: קלט, עיבוד, פלט.
נציין באלגוריתם גם את שמות המשתנים. מדוע? ההליך החשיבתי של המתכנת מתבצע בעת כתיבת האלגוריתם.
המימוש של האלגוריתם בשפת תכנות הוא בסך הכל תרגום של תוכנית משפה אחת (אלגוריתם) לשפה אחרת (#C),
בתחילת הדרך בתכנות, גם כתיבה תחבירית נכונה של הקוד התכנותי מהווה אתגר במידת מה,
אך אתגר זה הוא קצר טווח ברמה של שבועות בודדים.
ג. מדוע נרצה להציג פלט "ידידותי למשתמש" כמו ;("Console.WriteLine("Enter your age
לפני כתיבת שורת קלט כדוגמת ;(()int studentAge = int.Parse(Console.ReadLine ?
תשובה: הפעולה ReadLine עוצרת את ריצת התוכנית על מנת שהמשתמש יקליד ערך כלשהו וילחץ על Enter,
מה שמורה לפעולה להחזיר את הערך שהמשתמש הקליד לתוך המשתנה studentAge,
ובכך לסיים את עצירת התוכנית ולהמשיך בביצועה החל מהשורה העוקבת והלאה.
לפני כתיבת שורת קלט כדוגמת ;(()int studentAge = int.Parse(Console.ReadLine ?
תשובה: הפעולה ReadLine עוצרת את ריצת התוכנית על מנת שהמשתמש יקליד ערך כלשהו וילחץ על Enter,
מה שמורה לפעולה להחזיר את הערך שהמשתמש הקליד לתוך המשתנה studentAge,
ובכך לסיים את עצירת התוכנית ולהמשיך בביצועה החל מהשורה העוקבת והלאה.
ד. אלגוריתם מהווה נקודת מוצא לכתיבת הקוד. הקוד הוא מימוש האלגוריתם.
ה. להלן 3 דוגמאות לשאלות בהן נתרגל כתיבת אלגוריתם ומימושו כקוד #C.
מה עליכם לעשות?
עבור כל אחת מהשאלות 1-3, יש לבצע שני דברים:
* כתיבת אלגוריתם בו באים לידי ביטוי שלושת חלקיו המרכזיים
חלק ראשון: הקלט (בהתאם לדרישות השאלה, לדוגמה: קלוט 2 מספרים שלמים למשתנים בשם num1, num2).
חלק שני: ביצוע פעולות חישוב נדרשות (למשל: חישוב הממוצע), שמירת התוצאות במשתנה ייעודי.
לדוגמה: average = (num1 + num2) / 2.
ה. להלן 3 דוגמאות לשאלות בהן נתרגל כתיבת אלגוריתם ומימושו כקוד #C.
מה עליכם לעשות?
עבור כל אחת מהשאלות 1-3, יש לבצע שני דברים:
* כתיבת אלגוריתם בו באים לידי ביטוי שלושת חלקיו המרכזיים
חלק ראשון: הקלט (בהתאם לדרישות השאלה, לדוגמה: קלוט 2 מספרים שלמים למשתנים בשם num1, num2).
חלק שני: ביצוע פעולות חישוב נדרשות (למשל: חישוב הממוצע), שמירת התוצאות במשתנה ייעודי.
לדוגמה: average = (num1 + num2) / 2.
חלק שלישי: הצגת הפלט כנדרש (באמצעות Console.WriteLine).
* מימוש האלגוריתם שכתבתם בשפת #C.
צרו את אלגוריתמים הבאים וממשו אותם בשפת #C (מצ"ב וידאו 'הצעת פתרון' עבור כל תרגיל):
שאלה1: קליטת שנה נוכחית ושנת לידה של אדם, הדפסת גיל האדם. פתרון כאן.
שאלה2: קליטת גובה ואורך צלע במשולש שווה צלעות והדפסת היקפו ושטחו. פתרון כאן.
* מימוש האלגוריתם שכתבתם בשפת #C.
צרו את אלגוריתמים הבאים וממשו אותם בשפת #C (מצ"ב וידאו 'הצעת פתרון' עבור כל תרגיל):
שאלה1: קליטת שנה נוכחית ושנת לידה של אדם, הדפסת גיל האדם. פתרון כאן.
שאלה2: קליטת גובה ואורך צלע במשולש שווה צלעות והדפסת היקפו ושטחו. פתרון כאן.
שאלה3: במשפחה 2 בנים ו- 2 בנות. בן הזקונים צעיר ב- 10 שנים מהבן הבכור.
הבת הצעירה גדולה מבן הזקונים ב- 3 שנים. הבת הראשונה גדולה בשנתיים מהבת הצעירה.
קלט: גיל הבן הבכור (לפחות 11). פלט: גילאי שאר האחים.
ראו הצעת פתרון כאן.
* משתנים
- (הרחבה): הצהרה על משתנה עם / בלי השמת ערך לתוכו.
- מדוע הצהרה על משתנה ללא אתחול/השמת ערך לתוכו, מהווה פתח לשגיאות?
- שינוי ערך של משתנה על-ידי המתכנת או על-ידי המשתמש, כיצד?
- הצהרה (ואתחול) של מספר משתנים בשורה אחת.
- משתנה מטיפוס double ומשתנה מטיפוס float.
- משתנה מטיפוס int לעומת משתנה מטיפוס long או מטיפוס byte.
- שינוי ערך של משתנה על-ידי המתכנת או על-ידי המשתמש, כיצד?
- הצהרה (ואתחול) של מספר משתנים בשורה אחת.
- משתנה מטיפוס double ומשתנה מטיפוס float.
- משתנה מטיפוס int לעומת משתנה מטיפוס long או מטיפוס byte.
* מחלקות
- מהי מחלקה מסוג 'מחלקת-שירות' (הגדרה קצרה).
- דוגמה ראשונה: המחלקה Program ('המחלקה הראשית').
* הפעולה Main
- מהי פעולה (הגדרה קצרה)?
- דוגמה ראשונה: המחלקה Program ('המחלקה הראשית').
* הפעולה Main
- מהי פעולה (הגדרה קצרה)?
- מטרת הפעולה Main ('הפעולה הראשית').
* פעולות
- מהו הדבר העיקרי המנחה אותנו בבחירת שם לפעולה שאנו כותבים?
- קונבנציה: שם של פעולה מתחיל באות אנגלית גדולה.
- מהו 'בלוק הפעולה'?
- כאשר לאחר מלת-קוד מופיע התו של פתיחת סוגריים עגולים ' ) ', סימן שמלת-קוד זו היא שם של פעולה.
למשל, בשורת הקוד שלהלן ;()Console.WriteLine, מלת-הקוד WriteLine היא שם של פעולה.
- הערה: בהמשך השנה נלמד כיצד להשתמש בפעולות הקיימות בשפה (מתוך ספריות הפעולות הקיימות בשפה),
וכיצד לכתוב פעולות בעצמנו ולהשתמש בהן.
וכיצד לכתוב פעולות בעצמנו ולהשתמש בהן.
* כיווץ (compression)
- מתי נרצה לכוון קובץ / תיקייה?
- התקנה ושימוש בגרסה החינמית של האפליקציה WinRar
לצורך כיווץ, שמירה ושליחה על פרויקט במייל.
לצורך כיווץ, שמירה ושליחה על פרויקט במייל.
* הערות (comments)
- הפיכת שורה להערה
- הוספת הערה בסוף שורת קוד.
- הוספת הערה בשורה עצמאית עבורה.
- הפיכת שורת קוד להערה.
- ביטול מצב הערה.
- הערה המתפרשת על פני מספר שורות.
* חלוקה ושארית (div & mod)
- חלוקת-שלמים ב- #C.
- חלוקת שלמים עם תוצאה מדויקת ב- #C.
- שארית-שלמים ב- #C.
- אם מספר הוא זוגי - סימן שהוא מתחלק ב- 2 ללא שארית.
- חילוץ ספרת האחדות - num % 10.
- חילוץ ספרת העשרות - num / 10 % 10.