היום נלמד נושאים מעניינים שיעזרו לנו
בהמשך הדרך, לא רק בתכנות, אפילו במתמטיקה!
בשיעור הקודם למדנו על תנאים ואופרטורים
לבסוף, ראינו איך אפשר לשלב כמה תנאים בו בזמן ולהגיב כששניהם נכונים "וגם" או כאשר רק אחד מהם נכון "או".
תנאים:
רכיב שבו משתמשים בכל פעם שרוצים לבדוק "אם" תנאי כלשהו מתרחש, לדוגמה, אם הדמות "נגעה בסמן העכבר" או אם "מקש רווח נלחץ".
אופרטורים:
אפשר לבדוק תנאים הקשורים למספרים. לדוגמה, בשיעור שעבר בדקנו אם הסכום המופיע על הקוביות גדול מ-7. אפשר גם לבדוק תנאים אחרים כמו: אם הערך קטן או שווה למספר מסוים.
אחרי שקצת התחממנו, הנושא הראשון של היום: פעולות מתמטיות!
גם אם לא שמנו לב, החיים שלנו מלאים בפעולות חשבון. אנחנו מבצעים פעולות חשבון כשאנחנו משחקים כדורסל בחצר, כאשר אנחנו קונים משהו במכולת או כשאנחנו מנסים לגלות בעוד כמה זמן נלך הביתה.
הפעולות המתמטיות יכולות להשתלב בכל מיני דרכים בתכנות שלנו. נכיר את הפקודות מקרוב.
סקראץ' מאפשר לבצע חישובים בעזרת פעולות חשבון שאתם מכירים כמו חיסור, חיבור, כפל וחילוק ועוד כמה פעולות פחות מוכרות, לדוגמה:
לעגל מספרים
למצוא את המספר השלם הקרוב ביותר למספר לא-שלם. לדוגמה, עיגול של 4.76 ייתן - 5, עיגול של 4.16 ייתן - 4.
מודולו (שארית החלוקה)
למצוא כמה מספרים נשארו אחרי שחילקתי. לדוגמה, מודולו של 4.76 ייתן 0.76, מודולו של 20/3 = תשובה 2.
ערך מוחלט
למצוא את המרחק של מספר מסוים מהאפס, בלי לשים לב אם הוא חיובי או שלילי. לדוגמה, ערך מוחלט של 4- הוא 4.
חזקות
להכפיל מספר בעצמו כמה פעמים.
לדוגמה, 4 בחזקת 3 שווה 4x4x4
את הפעולות המתמטיות שניתן לבצע בסקראץ' תמצאו בתפריט .
"מפעילים"
הפקודות האלה נותנות לנו ערך מספרי שהוא התוצאה של החישוב שעשינו. לדוגמה, הערך שנקבל מהפקודה שבתמונה הוא 6.
מזהים משהו?
ברור, את זה למדתם בכיתה א'!
שימו לב:
שימו לב לצורה של הפקודה: אליפסה מסמלת ערך מספרי.
היא יכולה להתחבר לפקודות אחרות שבהן צריך למלא מספר.
עברו על התפריטים השונים ומצאו פקודות שונות שבהן ניתן להכניס ערך מספרי (צורת אליפסה).
הדבר הבא שנלמד עליו היום הוא מספר אקראי.
מה זה מספר אקראי?
מספר אקראי הוא מספר "מוגרל".
כאשר מטילים קוביית משחק, לא יודעים מראש איזה מספר יתקבל - כך עובדת הפקודה "מספר אקראי", איננו יכולים לדעת מראש מה תהיה התוצאה.
מספר אקראי
היכן אפשר למצוא את הפקודה ?
היא נמצאת בתפריט "מפעילים", ממש מתחת לפעולות מתמטיות שראינו קודם.
הפקודה מייצגת ערך של מספר כלשהו. אנחנו יכולים לדעת את זה מכיוון שהצורה שלה היא אליפסה.
"מספר אקראי"
אנחנו יכולים לקבוע את טווח המספרים שביניהם יהיה המספר האקראי שלנו. לדוגמה:
כך המספר שנקבל יכול להיות 11 או 12 או 13 או 14.
שחקן הכדורגל שלכם כבר מנוסה, אבל כמו שחקני כדורגל רבים, לא בכל פעם הוא מצליח להבקיע שער.
אתם יכולים לקבוע כמה מוצלח השחקן שלכם.
בתרגיל הבא - קבעו שהשחקן יבקיע בערך אחת ל- 5 פעמים. הצלחתם? עכשיו שפרו את ביצועי השחקן.
מה תצטרכו להשלים בשורת התנאי כדי שהשחקן יבקיע בכל פעם? כנסו לסביבת הלמידה לפרוייקט
תלמיד אחד השלים בדרך זו:
אם בחר מספר אקראי בין 1 ל-5 = 1
תלמיד אחר השלים בדרך זו:
אם בחר מספר אקראי בין 1 ל -5 = 4
שאלת אתגר:
האם שתי התכניות ייתנו את אותה התוצאה?
בעיטה בכדור- תרגיל- בתרגיל הבא - קבעו שהשחקן יבקיע בערך אחת ל- 5 פעמים.
תרגיל בעיטה בכדור שלב א
פתרון בעיטה בכדור שלב א
נחזור למשחק הכדורגל שלנו.
בפעם שעברה הכדור נע לכל מיני כיוונים, כמה מהם לא הגיוניים (אחורה לדוגמה).
עכשיו אנחנו יכולים לדאוג לכך שהוא ינוע תמיד לכיוון הגיוני (לעבר השער, גם אם לא ייכנס לתוכו)...
נוסף על כך, עליכם לגרום לכך שבכל פעם תשתנה עוצמת ה"בעיטה".
מה הדבר שאנו יכולים לשלוט בו בפקודה "גלוש אל", חוץ מהמיקום?
רמז:
זכרו: המיקום של הכדור מוגדר על ידי X ו-Y. אנחנו יודעים לאיזה כיוון אנחנו רוצים שהכדור ינוע. נבחר שמיקום ציר ה-X יהיה מספר קבוע, כך שהכדור ינוע תמיד לכיוון השער. מיקום ציר ה-Y יהיה מספר אקראי בטווח כלשהו.
בתרגיל הצענו בלוקים שבהם תוכלו להיעזר.
החידוש האחרון שנראה השיעור הוא שרשור מחרוזות.
מה?! באיזו שפה דיברת עכשיו???
המילה שרשור מגיע מהמילה שרשרת. הכוונה היא לחבר בין חלקים שונים וליצור רצף אחד שלם. כמו שרשרת המורכבת מחרוזים שונים.
בתחום התכנות, המילה מחרוזת פירושה רצף של אותיות ותווים (אפשר גם מספרים) שיוצרים מילה או משפט. המחרוזת מורכבת רק מתווים, כלומר, גם אם נכתוב שם מספר לא נוכל לבצע בו חישוב.
פקודות נמצאות גם הן בתפריט מפעילים.
נכון, זה די פשוט לחבר מילים. אבל ישנם כאן עוד כמה חוקים שחשוב לדעת.
"שרשור מחרוזות"
מהפקודה : נקבל מילה אחת שמחברת את החלקים. לדוגמה, מהתמונה יצא לנו "תפוחבננה".
עבודה בשרשור מחרוזות - החוקים
1
"חבר"
כדי שיהיה רווח בין המילים עלינו להוסיף את הרווח בסוף המילה הראשונה או בתחילת המילה האחרונה.
2
הפקודה : נקבל אות אחת מהמילה או מהמשפט לפי המקום שנבחר, לדוגמה, מהפקודה בתמונה נקבל את האות "ו".
עבודה בשרשור מחרוזות - החוקים
3
"אות"
הפקודה : נקבל את מספר האותיות שיש במחרוזת. לדוגמה, מהפקודה בתמונה נקבל 4.
4
"האורך של"
עבודה בשרשור מחרוזות - החוקים
הפקודה : בודקת אם המחרוזת מכילה את האות או לא. הפקודה נמצאת בתוך משושה, כלומר, הערך שנקבל ממנה יהיה אמת או שקר, ומתאים להשתמש בה כתנאי פשוט או כתנאי של לולאה. לדוגמה, מהפקודה בתמונה נקבל "אמת".
5
הפקודה יודעת לבדוק אם יש יותר מאות אחת בתוך המחרוזת. גם כאן התשובה לתנאי תהיה "אמת".
6
"מכיל"
"מכיל"
אז למה כל זה שימושי?
הכירו את ניל, החייזר שלנו!
ניל מטייל בחלל. כדי לא להשתעמם, בכל פעם הוא רוצה להיות במקום אחר. עליכם לגרום לו לטייל באקראי בחלל.
מדי פעם ניל מגיע לחור השחור שממנו יצא. בכל פעם שניל מגיע לחור השחור, אמרו לו היכן הוא נמצא על ציר ה- X.
עליכם להשלים את הקוד בשתי הדמויות, באחת לגרור מהלשונית ובאחרת לחבר את הפקודות למקומות הנכונים.
ניל החייזר
תרגיל דרגת קושי קלה:
תרגיל ניל החייזר והחור השחור
פתרון ניל החייזר והחור השחור
אז למה כל זה שימושי?
חזרו לתרגיל הכדורגל. לאחר "החמצה" של שער
(מה זה אומר בנוגע למיקום של הכדור בציר ה- Y?),הוסיפו מחרוזת שאומרת כמה רחוקים היינו מהשער בציר ה - Y.
לשם החישוב השתמשו בבלוק שנמצא ב"תנועה" ומאפשר להשתמש בערך המספרי של המיקום בציר Y.
תרגיל דרגת קושי בינונית:
שימו לב:
תצטרכו להוסיף עוד תנאי, מכיוון שהחישוב שתערכו משתנה אם הכדור עבר מעל השער או מתחת לשער.
"מיקום בציר Y"
רוצים לעלות עוד דרגת קושי?
הגדירו תנאי נוסף, שקובע שהכדור ינוע רק אם הרגל של השחקן נוגעת בו.
חשבו - איזה תנאי מתקיים כאשר הרגל של השחקן נוגעת הכדור?
באיזו לבנה השתמשתם?
"חיישן"
לבנה זו נקראת
על חיישנים והשימוש בהם נלמד בשיעור הבא!
פתרון אתגר
אז מה היה לנו?
היום למדנו על שלושה דברים חשובים וחזקים שיש בסקראץ' ובעולם התכנות בכלל:
ראינו שאנחנו יכולים להשתמש בתכניות שלנו בפעולות מתמטיות בסיסיות. דרך החישובים האלה אנחנו יכולים לספור ארנבים, למדוד מרחקים ואפילו לקבוע לדמות כמה זמן היא תרקוד.
פעולות מתמטיות
מספר אקראי
שרשור מחרוזות
מספר שונה בכל ריצה של התכנית, כאשר אנחנו יכולים לבחור את הטווח של המספרים שביניהם יהיה המספר השונה.
דרך פקודות המחרוזות אנחנו יכולים לחבר בין מילים למספרים שביצענו בהם חישובים, למצוא אותיות בתוך המחרוזת, למצוא את האורך של המחרוזת או לוודא אם אות כלשהי נמצאת במחרוזת או לא.