PracticU

תרגיל 20

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

תרגיל 20
תרגיל 20 מחשב את העצרת (factorial) של מספר, ומדפיס את כל החישוב כך שאפשר לראות את הכפל. העצרת של מספר היא מכפלה של כל המספרים מ-1 עד המספר עצמו: עצרת של 10 היא 10 כפול 9 כפול 8 וכן הלאה עד 1.
החישוב
1. לולאה יורדת: המשתנה num מתחיל ב-10 ויורד ב-1 עד 1.
2. מכפלה מצטברת: בכל סיבוב התוצאה מוכפלת במספר הנוכחי.
3. הצגת הדרך: לצד התוצאה מוצגים המספרים שהוכפלו, כדי לראות את החישוב שלב אחר שלב.
4. עצרת לכל מספר: הלולאה החיצונית עוברת על כל מספר מ-10 ומטה, והפנימית מחשבת את העצרת שלו.
הדפסה
1. כוכבית בין מספרים: אחרי כל מספר מוסיפים כוכבית, חוץ מהמספר האחרון שבשורה.
2. שורה לכל עצרת: כל עצרת מודפסת בשורה נפרדת. לפני החישוב מנקים את המסך.
שימו לב
1. האיבר האחרון: בלי תנאי מיוחד הכוכבית הייתה מופיעה גם בסוף השורה, ולכן מבדילים את האיבר האחרון לפי מספר הסיבוב.
2. טווח ההדפסה: בסוף ההרצאה ההדפסה מתחילה במספר 2, כפי שביקש התרגיל.
השיעור הבא בקורס: תרגילים 21-22

פרקי ההרצאה: תרגיל 20

  1. 00:00

    מבוא לתרגיל 20: עצרת (factorial)

  2. 01:04

    לולאה יורדת לחישוב העצרת

  3. 02:01

    לולאה פנימית שמכפילה את המספרים

  4. 03:35

    הדפסת החישוב על המסך

  5. 04:33

    הדפסה עם סימני כפל וצבירה

  6. 05:11

    שגיאה בהשמה ל-innerHTML

תמלול ההרצאה: תרגיל 20

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

  1. 00:02

    אנחנו ממשיכים עם התרגילים שלנו, ואנחנו בתרגיל של עצרת, לעשות עצרת. זה אומר 10 עצרת, 9 עצרת. מה זה 10 עצרת מ-10 עד 1?

  2. 00:15

    זה אומר 10 כפול 9, כפול 8, כפול 7, כפול 6. זאת אומרת, 10 עצרת זה 10 כפול כל מה שלפניו. 9 כפול כל מה שלפניו. אז זה מה שאנחנו רוצים לעשות, תרגיל 10 עצרת.

  3. 00:30

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

  4. 01:04

    נתחיל בלולאה ראשית שסופרת מ-10 אחורה וזה בעצם המספר שאנחנו רוצים לעשות אותו בעצרת אז for, אנחנו עושים לולת for ומגדירים ש-num זה יהיה מספר שרץ מ-10 אחורה.

  5. 01:26

    אנחנו רוצים 10 עצרת, 9 עצרת, 8 עצרת. אז הוא רץ מ-10 עד שה-num גדול שווה ל-1. כל עוד ה-num גדול שווה ל-1, לא קטן שווה, גדול שווה. כל עוד ה-num גדול שווה ל-1, אנחנו עושים num מינוס מינוס, מורידים לו 1.

  6. 01:44

    מתחילים מ-10, כל עוד ה-num גדול שווה ל-1, מתחילים לעשות. זאת אומרת ה-NAM זה המספר שאנחנו עכשיו רוצים, זה המספר שאנחנו רוצים בעצם לבדוק את העצרת שלו.

  7. 02:01

    עכשיו, אנחנו מתחילים לצבור את המכפלה שלו בתוך משתנה זמני שנקרא רס, והרס הזה זה יהיה בעצם המכפלה של NAM כפול NAM מינוס 1 כפול NAM מינוס 2.

  8. 02:13

    אנחנו צריכים שמשהו ירוץ לנו מ-NAM מינוס 1 עד 1. זאת אומרת, אנחנו מתחילים מ-10 ל-9 ל-8 ל-7. אז הלולאה הפנימית הזאת תרוץ לי עבור כל מספר על כל הרצף מה-NAM הזה עד למספר 1.

  9. 02:34

    אתם מבינים מה זה 10 עצרת? כן, 10 כפול 9 כפול 8, אז אנחנו עושים עבור 10 משהו שירוץ 10, 9, 8, 7, 6, ויעשה I מינוס מינוס. שימו לב, הלולאה פה זו לולאה יורדת, מתחילה מאיזשהו מספר, נניח ממספר NAM מינוס 1, ויורדת למטה.

  10. 02:53

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

  11. 03:13

    אז אנחנו מסיימים את כל הלולאי עם זה שיש לנו בעצם תוצאה סופית במספר רס שלנו. יפה מאוד. אז עבור כל מספר נ"מ, נניח יהיה נ"מ בהתחלה 10, אחרי זה יהיה 9, אחרי זה יהיה 8, אחרי כל מספר, נניח עכשיו הוא 8, אנחנו מתחילים לרוץ בפנים ולהכפיל 8 כפול 7, פול שש חמש ארבע שלוש שתיים אחד זה עבור מספר שמונה אחרי זה מספר שבע עוד פעם שש חמש ארבע

  12. 03:42

    שלוש שתיים אחד בואו נעשה הדפסה בעצם נעשה את זה לא עם jquery נעשה את זה עם javascript רגיל ניקח את ה-id של rs בתחילת השורה זאת אומרת אנחנו בתחילה של השורה נדפיס שאיזה מספר אנחנו עושים לו עצרת זאת אומרת ניקח לדוגמה מספר 10 נדפיס לו 10 סימן קריאה שווה זה אומר את העצרת עכשיו אנחנו נעשה עוד פעם הדפסה הפעם אנחנו נדפיס בשורה,

  13. 04:12

    אנחנו בלולה הפנימית, את ה-i, שזה יהיה 9, 8, 7, את כל ה-i'ים, ובסוף השורה, אחרי שסיימנו את זה, אנחנו רוצים להדפיס שווה ואת התוצאה שיצא לנו, את האוסף של המכפלות.

  14. 04:31

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

  15. 04:54

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

  16. 05:19

    אי אפשר ככה ליישם את זה invalid left hand צד שמאל לא תקין נכון הוא לא תקין כי אני מנסה להכניס לאובייקט ואני צריך להכניס למאפיין ספציפי של האובייקט למאפיין inner html הוא לא מבין שאני מתכוון לטקסט יכול להיות שאני מתכוון ל-color שלו או ל-Position שלו עכשיו זה הכל הצליח אין לי שום שגיאות אבל גם התוצאה למסך לא בדיוק מה שציפיתי

  17. 05:45

    כי הוא כתב לי רק את השורה האחרונה הוא כתב

לקורס המלא: קורס ג'אווה סקריפט מעשי

ההרצאה הקודמת: תרגיל 19

ההרצאה הבאה: תרגילים 21-22

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס TypeScript
  • קורס ריאקט - React
  • קורס NodeJS