
% מחזיר את השארית של החלוקה. שארית 0 פירושה שהמספר מתחלק ב-3 ללא שארית.|| נותן אמת אם אחד התנאים מתקיים. ההגרלה ממשיכה כל עוד המספר מתחלק ב-2 או ב-3.הטקסט המלא של הדקות הראשונות בהרצאה «תרגילים 10-11» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו ממשיכים עם התרגילים שלנו ועכשיו אנחנו עוברים לתרגיל מספר 10 שאומר למצוא מספר שלא מתחלק בשלוש זאת אומרת לעשות מספר שלא מתחלק בשלוש וזה מה שאנחנו עכשיו רוצים לעשות תרגיל למצוא מספר שלא מתחלק בשלוש בואו נתחיל לעשות את זה בצורה ככה הכי אינטואיטיבית למרות שנבין מה לא בסדר בזה
בואו נתחיל מזה שאנחנו נכין איזה כפתור ונגריל מספר אקראי אנחנו מגרילים בעצם מספר אקראי ומעגלים אותו כלפי מטה math.lor בסוגריים מקבל תוצאה של פונקציה אחרת ואנחנו מוסיפים 1 כמו שעשינו בפעמים הקודמות מכפילים ב-10 ומוסיפים 1 בסוף יש לנו מספר בין 1 ל-10
אם המספר הזה מחלקים אותו ב-3 ולוקחים את השארית ואני בודק רק את השארית אם השארית שווה ל-0 זה אומר שהמספר מתחלק ב-3 אם המספר לא מתחלק ב-3 אז השארית הייתה יותר מ-0 זאת אומרת תיקחו 6 תחלקו ב-3 יצא לכם 2 אבל זה לא מעניין שתיים שאלה זה מה השארית והשארית
שלכם זה מה שמעניין והשארית 0 זה אומר שהמספר מתחלק ללא כשמספר מתחלק ב-3 זה אומר שהוא מתחלק ללא שארית בקיצור אני מקווה שאתם מבינים את זה כבר בשלב הזה טוב בואו נמשיך הלאה אנחנו לוקחים מספר אקראי מחלקים אותו ב-3 בודקים אם שארית 0 ואם שארית שווה 0 שומרים אותו בתוצאה סופית
רגע, אבל זה אומר שהוא כן מתחלק בשלוש ואני צריך משהו שלא מתחלק בשלוש. אז אני אחליף את זה ללא מתחלק בשלוש. זאת אומרת שהשארית לא שווה לאפס. אני יכול לעשות שארית גדולה מאפס ואז זה אומר שמספר יתחלק בשלוש והשארית גדולה מאפס זה אומר שהוא לא מתחלק בשלוש.
יפה מאוד, ונוצא את המספר הזה על המסך. ואנחנו שומרים בתוך דיב רס, בדיב רס, את המשתנה רס. יש לנו משתנה רס ואנחנו שומרים אותו בדיב מכניסים את התוכן שלו לתוך משתנה לתוך דיב רס טוב אני רואה שזה יעבוד לנו אבל תהיה לנו בעיה אתם רואים זה כן עובד לנו ואני רואה שיש
לנו מקרים שיש בהם אפס זה אומר שמה זה אומר שהוא התחיל עם האפס הזה ולא שינה אותו תקשיבו הוא מה שהוא עושה הוא מגריל מספר ואם הוא גדול משלוש אם הוא מתחלק בשלוש עם שארית זאת זאת אומרת, יש שירית גדולה מאפס, יש שירית, פשוט לא נכנס לתוך התנאי הזה.
ואם הוא לא נכנס לתוך התנאי הזה, אז הוא לא משנה את הרס, והרס נשאר להיות איזשהו משהו מקורי. הבעיה שלי שהוא לא מגרין מחדש את המספר.
בגלל זה אני צריך לשים פה לולאה, כי זה שאני עושה את זה פעם אחת, את הבדיקה, זה מצוין, אבל מה קורה אחרי שהוא לא מתחלק בשלוש, או שהוא כן מתחלק בשלוש? אחרי שהוא כן מתחלק בשלוש, מה קורה?
כשהוא כן מתחלק בשלוש, שום דבר לא קורה. כי אין לנו פה לולאה. ואני לא יודע כמה פעמים אני אגריל מספר שמתחלק בשלוש.
אני לא יודע. אני לא יודע כמה פעמים אני אגריל את המספר שמתחלק בשלוש. זאת אומרת שהמספר שלי, אם הוא לא מתחלק בשלוש, אז הוא ייכנס לתנאי.
זה מצוין. אבל אם הוא כן מתחלק בשלוש, מה עושים? אין פה שוב הגרלה. לא עושים פה שוב הגרלה. אין פה לולאה שמגרילה שוב שוב ושוב עד שנגיע למספר הנכון.
יש פה משהו חד פעמי. בגלל זה אנחנו מתחילים עכשיו לתקן את הקוד ומה שאנחנו עושים אנחנו עושים לולאה do while שכל פעם בפנים מגרילה את המספר מחדש עד שלא נמצא את המספר המתאים.
תכף אני אסדר פה קצת את הקוד הזה ואתם תבינו אנחנו עושים לולאה do while זה אומר תעשה כל עוד המספר מתחלק באפס תמשיך להגריל תמשיך לעשות הגרלה ורק אם אתה מסיים את כל הלולאה הזאת אם אתה יוצא מהלולאה זה אומר שהמספר בוודאות לא מתחלק בשלוש, כי אם הוא כן היה מתחלק בשלוש, אם הוא היה כן מתחלק בשלוש, אז הוא היה מגריל אותו שוב, שוב ושוב ושוב בלולאה אינסוף פית,
אוקיי? וזה כל הרעיון. הרעיון זה בעצם להסתובב בלולאה כל עוד do while, תעשה כל עוד המספר מתחלק בשלוש ללא שארית.
זאת אומרת, שארית חלוקה לאפס, לשלוש שווה לאפס. אם זה אומר, זה אומר שהמספר מתחלק בשלוש ללא שארית, אנחנו ממשיכים מסתובבים מסתובבים מסתובבים מסתובבים יפה מאוד בואו נראה שזה באמת עובד ואנחנו רואים שזה באמת עובד אתם רואים שאין לנו פה מספר 9 ואין לנו מספר 3 ואין לנו מספר 6 זה באמת עובד בוא נעשה אתם יודעים מה בוא
נעשה console.log console.log נרשום בקונסול בתוך הלולה נציץ מהם המספרים שהוא מגריל console.log זה כלי מאוד נוח שהוא בתוך הקונסול של מנהל של דבאגר הוא הוא לא רושם את מה שקורה, אתם רואים? 10 פעמיים, 9 פעמיים, 8, 6, 8, זאת אומרת הוא כן מגריל מספרים שמתחלקים ב-3, אבל הוא לא רושם אותם על המסך, כי הוא ממשיך
בתוך הלולאה להסתובב והוא לא כותב אותם על המסך. תכף נבצע את זה שורה-שורה כדי שתבינו מה זה Do While, שהוא מסתובב, אתם רואים? הוא הגריל 3 או 6, אבל הוא ממשיך להסתובב בלולאה והוא לא יוצא מזה, ואז על המסך היא לא מופיעה, כי לכתוב על המסך זה אחרי הלולאה.
הנה אתם יכולים לראות שהיה ארבע, הוא כתב ארבע, אחרי זה שלוש הוא לא כתב על המסך. אתה אף פעם לא תראו על המסך מספר שהוא לא חוקי. לדוגמה, הוא הגריל שלוש, הוא דילג על השלוש, עשה עוד פעם הגרלה עד שהוא עשה ארבע.
הבנתם? על המסך הוא אף פעם לא יכתוב לנו מספר שהוא מתחלק בשלוש. אתם יודעים מה אני חושב? שככה שאני מדגים לכם זה לא מספיק ברור.
בואו נעשה את זה בדבאגר. ניכנס ונעשה את זה בדבאגר, כי ככה לא נראה לי שזה יהיה ברור. הרעיון פה שאני בא להראות לכם שהוא מ-10 מדלג מעל 9 ומדפיס ישר 2 כי בזמן שזה היה 9 הוא עשה עוד פעם את הלולה.
טוב, אני מקווה שאתם מבינים את זה. אם לא, תעברו שורה-שורה ותנסו להבין. בואו נעבור למשימה הבאה. המשימה הבאה זה לעשות 15 מספרים אקראיים שלא מתחלקים לא ב-2 ולא ב-3.
15 מספרים אקראיים שלא מתחלקים לא ב-2 ולא ב-3. זו משימה שמאוד דומה למשימה הקודמת, ולכן אנחנו נעתיק את הקוד שלה. הסימן הזה שזה מעל שיפט ליד אנטר זה סימן או זה או זה.
אז אנחנו נסתובב בלולאה כל עוד המספר מתחלק או בשתיים או בשלוש. אם המספר מתחלק בשתיים או בשלוש אנחנו ממשיכים להסתובב בלולאה.
הסימן הזה של או אומר או שאני אחזיר אמת, הביטוי הזה יחזיר אמת, אם מצד שמאל שלי או מצד ימין שלי אמת. זאת אומרת שאם אחד מהם שקר זה עדיין מספיק טוב לו כי הוא יחזיר אמת זה או זה או זה בניגוד ל-end סימן של end צריך שיהיה משני הצדדים נכון כדי שהוא יחזיר נכון אמת אז מה שקורה זה שאם המספר מתחלק ב-2 או מספר מתחלק ב-3 התוצאה הסופית תהיה שאנחנו ממשיכים להסתובב
בלולאה גם ביקשו בשאלה לעשות מ-1 עד 100 אז אנחנו מכפילים ב-100 מוסיפים תנאי או שהוא מתחלק ב-2 או שהוא מתחלק ב-3 ומצוין, זה מגריל לנו מספר שמתחלק ב-100 משתיים, שלא מתחלק לא בשתיים ולא בשלוש, ואת כל זה צריך לעשות 15 פעמים.
אז אנחנו לוקחים ומוסיפים לולה עד 4. למה 4? כי אנחנו יודעים שאנחנו נרוץ בדיוק 15 פעמים. יפה מאוד. ו-15 פעמים נעשה את כל הדבר הזה, אוקיי?
15 פעמים אנחנו עושים את כל הדבר הזה. לסדר שורות זה קונטרול K ו-D. אם אתם רוצים לדעת, קונטרול K ו-D. ואנחנו צוברים לתוך ה-result, לתוך ה-result אנחנו צוברים את התוצאה הזאת.
זאת אומרת, לוקחים מספר רנדומלי 0, מגרילים מספר חדש, מגרילים, מגרילים, מגרילים, עד שלא מגיעים למצב שהוא לא מתחלק לא ב-2 ולא ב-3.
אם הוא מתחלק ב-2 או 3, אנחנו מסתובבים בתוך הלולאה הזאת. מסתובבים, מסתובבים, מסתובבים בתוך הלולאה הזאת,