סיכום שיעור
התחלנו במחרוזות
ראינו כמה דוגמאות מתוך w3schools
מחרוזות – הסבר כללי Tutorial
https://www.w3schools.com/js/js_strings.asp
מחרוזות – רשימת מתודות (פונקציות) Reference
https://www.w3schools.com/jsref/jsref_obj_string.asp
פתרנו בכיתה את התרגילים האלו
http://gamani.info/prog/JS/lesson6/lesson6-string-classwork.zip
עברנו למערכים
הנה הדוגמאות שראינו (כולן לדעתי מ w3schools)
http://gamani.info/prog/JS/lesson6/lesson6-array-examples.zip
מערכים – הסבר כללי Tutorial
https://www.w3schools.com/js/js_arrays.asp
מערכים – רשימת מתודות (פונקציות) Reference
https://www.w3schools.com/jsref/jsref_obj_array.asp
פתרנו בכיתה את התרגילים האלו
http://gamani.info/prog/JS/lesson6/lesson6-array-classwork.zip
יש לכן לא מעט שיעורי בית. נחזור על חלקים מהם בתחילת שיעור הבא.
שיעורי בית
מחרוזות
תרגיל 1 – כתבי תוכנית שעובדת על המחרוזת הבאה
avi is a nice boy. avi is 5 years old. avi likes red. his bag is red
התוכנית מוצאת את המיקום של המילה boy
התוכנית מחליפה את המילה bag ב ball
התוכנית מוצאת כמה פעמים האות i מופיעה במחרוזת
תרגיל 2 – ליצור את המשולש הזה באמצעות repeat (הדפיסו לקונסול ב 5 פקודות הדפסה נפרדות)
1
22
333
4444
55555
תרגיל 3 – (תרגיל 102 שלא הספקנו בכיתה)
לכתוב את הפונקציה build
הפונקציה מקבלת מחרוזת שהיא הוראות ליצירת מחרוזת חדשה
אתגר 1
ליצור משולש כזה:
1
121
12321
1234321
התוכנית תקבל מהגולש מספר בין 1 ל 10 ותכין משולש כזה
שלב א – המשולש יודפס לקונסול
שלב ב – רשות – המשולש יודפס למסך
יש לכתוב פונקציה שמקבלת מספר בודד ומכינה שורה בודדת כנגד אותו מספר
הפונקציה תכין את המחרוזת באמצעות לולאה אחת בלבד
עבור כל מספר היא תכניס אותו עצמו למחרוזת ולאחר מכך תעבור על כל המספרים שמתחתיו ותכניס כל אחד מהם פעם בתחילת המחרוזת ופעם בסוף המחרוזת
יש להשתמש בפונקציה concat
שימו לב כי הפונקציה concat מקבלת שתי מחרוזות ומחזירה אחת חדשה (הגדירו משתני ביניים למחרוזות אלו)
אתגר 2 – אטומיישן
כתבו את הפונקציה automaton
הפונקציה מקבלת מחרוזת שבנויה מאיקסים ונקודות ועליה להחזיר מחרוזת אחרת (שבנויה מאיקסים ונקודות) לפי החוקיות הבאה:
עבור כל תו במחרוזת שהתקבלה יש לבדוק גם את התא שלפניו וגם את התא שאחריו
במידה ושלושת התוים האלו כולם X או כולם נקודה אזי אותו תו במחרוזת החדשה יהיה נקודה
רק במידה ושלושת התוים במחרוזת שהתקבלה אינם זהים בניהם (חלקם איקסים וחלקם נקודות), אותו תו במחרוזת החדשה יהיה X
המלצה: בתחילת הפונקציה הגדירו 3 משתנים שהם מספרי האיברים המשמעותיים עבור האיבר אותו אתן בודקות
כאשר ברצונכן לבדוק מה עליכן לשים באיבר השני (במיקום 1) עליכן לבדוק את האיבר במיקום 0 (זה האיבר הקודם), את האיבר השני (במיקום 1, הוא האיבר הנוכחי) ואת האיבר שאחריו (מיקום 2 – הוא האיבר הבא)
כאשר ברצונכן לבדוק מה עליכן לשים באיבר הראשון (במיקום 0) עליכן לבדוק את האיבר במיקום האחרון (זה האיבר הקודם), את האיבר הראשון (במיקום 0, הוא האיבר הנוכחי) ואת האיבר שאחריו (מיקום 1 – הוא האיבר הבא)
מערכים
תרגיל 1
בהנתן המערכים הבאים
;["let one = ["avi", "gidi", "eyal
;[let two = [6, 5, 7
כתוב תוכנית שמדפיסה לקונסול 3 שרות
Avi is 6 years old
Gidi is 5 years old
Eyal is 7 years old
תרגיל 2
בהנתן המערך
;[[let one = [["avi", 6], ["gidi",5], ["eyal",7
כתוב תוכנית שמדפיסה לקונסול 3 שרות
Avi is 6 years old
Gidi is 5 years old
Eyal is 7 years old
תרגיל 3
שכללו את הלולאה כך שתשתמש בלולאת for of
( for (let [name, age] of one
אתגרים
111 –
בדומה לתרגיל 110 שעשינו בכיתה
כתבו תוכנית שמקבלת מערך של מספרים
עליה לעבור על איברי המערך ולכל איבר להדפיס לקונסול כוכביות בהתאם למספר כאשר אילו האיבר הוא בעל הערך הגבוה ביותר מכל האיברים היא תדפיס שורה של סימני = במקום שורה של כוכביות
נסו לגלות באמצעות ידידנו גוגל, כיצד ניתן למצוא את האיבר הכי גדול במערך בקלות. רמז? משהו שקשור לאובייקט Math שיצא לנו להשתמש בו כבר קצת
112 –
כתבו תוכנית שמקבלת מערך של מערכים
בכל מערך ישנם שני איברים: שם חודש ומספר
התוכנית צריכה להדפיס לקונסול שורה אחת כנגד של מערך (כנגד כל זוג ערכים) באופן הבא
ינואר | ======
מאי | ============
אפריל | ===
שמנה לב שסימני ה | נמצאים זה תחת זה ללא קשר לכמות התוים בשם החודש
עליכן למקם אותו תמיד אחרי 15 תוים מתחילת השורה
120- כתבו תוכנית שבהתבסס על המערך הבא
;[["let res = [[90,"A"],[80,"B"],[70,"C"],[60,"D"],[0,"F
מקבלת ציון ומחזירה הערכה באותיות
121 – כתבו תוכנית ובה פונקציה שמקבלת מחרוזת הוראות וציון ומחזירה הערכה באותיות
מחרוזות ההוראות הן
let JAPAN = "AA:90,A:80,B:70,C:60,F:0";
let THAILAND = "A:80,B+:75,B:70,C+:65,C:60,D+:55,D:50,F:0";
let ICELAND = "A:94,B+:82,B:65,C+:50,C:35,D:1,O:0";
let IRELAND = "A:85,B:70,C:55,D:40,E:25,F:1,NG:0";
let US_4 = "A:92,B:83,C:74,D:65,F:0";
let US_12 = "A+:97,A:93,A-:90,B+:87,B:83,B-:80,C+:77,C:73,C-:70,D+:67,D:63,D-:60,F:0";
עליכן להשתמש בפונקציה split על מנת להפוך את מחרוזת ההוראות למערך
שיעורי בית להורדה
מחרוזות
http://gamani.info/prog/JS/lesson6/lesson6-string-ex.zip
פתרונות מחרוזות
http://gamani.info/prog/JS/lesson6/lesson6-string-sol.zip
מערכים
http://gamani.info/prog/JS/lesson6/lesson6-array-ex.zip
מערכים – פתרונות