קורס JS בני ברק – שיעור 6 – מחרוזות ומערכים

סיכום שיעור

התחלנו במחרוזות

ראינו כמה דוגמאות מתוך 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

מערכים – פתרונות

http://gamani.info/prog/JS/lesson6/lesson6-array-sol.zip

אשרה גרינבלט

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