PracticU

הגרלת מספרים אקראיים - Arc4Random

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode › הגרלת מספרים אקראיים - Arc4Random
מילון מושגים:
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.

הגרלת מספרים אקראיים - Arc4Random
ב-Swift אפשר להגריל מספר בעזרת הפעולה arc4random. השיעור מראה איך להגביל את המספר לטווח מסוים ואיך לארוז את ההגרלה בפונקציה שימושית.
איך מגרילים מספר
1. הגרלה בסיסית: הפעולה arc4random מחזירה מספר רנדומלי. לפי התיעוד של אפל, המספר תמיד חיובי.
2. הרצה חוזרת: בלולאה אפשר להגריל כמה פעמים ולראות את התוצאות. כשאין שימוש במשתנה של הלולאה, כותבים במקומו קו תחתון.
3. הגבלה לטווח: שארית החלוקה (%) במספר נותנת תוצאה בין 0 למספר פחות אחד. למשל, שארית החלוקה של 101 ב-100 היא 1.
4. כולל הקצה: כדי לכלול גם את הערך המקסימלי, משתמשים במספר המקסימלי ועוד אחד כמודול.
5. המרה למספר שלם: כשצריך מספר שלם רגיל, ממירים את התוצאה ל-Int.
פונקציה כללית
פונקציה בשם getRandom מקבלת מספר מקסימלי ומחזירה מספר רנדומלי בטווח, כולל הקצה. בזכות זה אפשר להשתמש בה בכל מקום בתוכנית.
בסיום תדעו להגריל מספר בטווח שנקבע.
השיעור הבא בקורס: ביטויי Switch Case

פרקי ההרצאה: הגרלת מספרים אקראיים - Arc4Random

  1. 00:00

    הגרלת מספר אקראי עם arc4random

  2. 00:54

    הרצה חוזרת של הגרלה בלולאה

  3. 01:30

    תחום המספר האקראי בעזרת שארית החלוקה

  4. 02:24

    טווח המספרים: עד 100 כולל או לא

  5. 03:17

    המרת התוצאה למספר שלם רגיל

  6. 03:55

    כתיבת פונקציית get random עם מקסימום

  7. 04:30

    שימוש בפונקציית ההגרלה החדשה

תמלול ההרצאה: הגרלת מספרים אקראיים - Arc4Random

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

  1. 00:02

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

  2. 00:24

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

  3. 00:55

    את זה 10 פעמים בלולא עד 4 כפי שאתם רואים כאן אז מה אני עושה 10 פעמים מגריל מספר אנדומלי ומדפיס אותו בסדר בוא נראה הקומפיילר פה מתלונן שאנחנו לא צריכים להגדיר את i בסדר רגע קודם כל הנה מספרים רנדומליים הקומפיילר פה מתלונן שאנחנו לא צריכים להגדיר את i בוא נרשום במקום i נרשום סימן של

  4. 01:24

    underscore כלומר לא אכפת לי מ-i אני רק רוצה לעשות את הקוד הזה 10 פעמים בסדר עכשיו הוגרלו עבורי פה 10 מספרים רנדומליים אבל הם מספרים די גדולים איך אני יכול לתחום את המספר הרנדומלי להיות בין 0 ל-100 כדי לתחום את המספר הנדומה ללהיות בין 0 ל-100 אני משתמש פה בטריק שאתם חייבים להכיר אותו ועכשיו אני מראה לכם של אופרטור השארית.

  5. 01:53

    שארית חלוקה של מספר ב-100 תמיד תהיה בין 0 ל-100. למשל אם אני לוקח את המספר 101 ומוצא את שארית החלוקה ב-100, שארית תהיה 1. 102 שארית החלוקה ב-100 תהיה 2 וכן הלאה.

  6. 02:07

    אתם מוזמנים לעצור את הסרטון, להריץ פה סדרה של מספרים שאתם מכירים ולמצוא את שארית החלוקה שלהם כדי ללמוד יותר על שארית החלוקה. בסדר? כלומר, 101, 102, מזמין אתכם ללמוד קצת יותר על האופרטור הזה, חשוב להכיר.

  7. 02:25

    הוא מוצא לי פשוט את השארית של החלוקה. עכשיו, אחרי שהשתמשנו פה בטריק, אני מצפה לקבל מספרים רנדומליים בין 0 ל-100, לא כולל 100, אוקיי? הדבר הזה, אני כבר אומר לכם, נותן לי מספרים בין 0 ל-99, שזה נהדר.

  8. 02:42

    אם אני רוצה עד 100 כולל, אני אשים פה עד 101 עכשיו אני מקבל מספרים רנדומליים בין 0 ל-100 בוא נריץ בוא נראה בין המספרים שהוגרלו אני יכול לראות כל מיני מספרים כולל 0 ואפילו כולל את 100 בסדר אז ככה בעצם אנחנו יכולים להגריל מספר בסוויפט וגם להגביל אותו להיות בין 0 ל-בדיוק בדיוק 100 עכשיו

  9. 03:15

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

  10. 03:36

    כדי להמיר את המספר השלם והחיובי לפשוט מספר שלם, פשוט נמיר אותו ל-int, כמו שאתם כבר יודעים לעשות. נעטוף את זה במספר שלם והנה אינט דבר אחרון אנחנו רוצים לעשות אנקפסולציה של כל הדבר הזה למתודה שימושית עבורנו אז אנחנו יכולים להגדיר לנו פונקציה גלובלית שתקרא get random שהיא תקבל מספר מקסימלי ומה

  11. 04:04

    שהפעולה הזאת תרצה להחזיר לנו זה מספר שלם שהוא רנדומלי get random כדי לעשות את זה אנחנו פשוט נגריל מספר בין 0 במקום 101 נגריל מספר עד max+1 שזה יצא בדיוק עד ה-101 ולא עד ה-100 ואז נוכל להחזיר את המספר שלנו בסדר זה בדיוק מה שאנחנו רוצים לעשות בוא נראה איך הדבר הזה

  12. 04:28

    עובד במקום הקוד שרשמתי כאן אני אשים אותו רגע בהערה אני עכשיו במקום להשתמש בארק פור רנדום שקצת מעצבנת עם המספר שלם וגם הרצון הזה לעשות את המודול ואת החלוקה אנחנו עכשיו יכולים ישר להגריל מספר על ידי get random לתת לה נניח מספר רנדומלי בין 0 ל-100 והיא תגריל ישר בין

  13. 04:52

    0 ל-101 למה כי אמרתי לה max 100 והיא הלכה אמרה עד 101 אני אעשה את השארית חלוקה מצוין אז המתודה הזאת תוכל לעזור לנו בהמשך להגריל מספרים רנדומליים

לקורס המלא: קורס פיתוח אפליקציות לאייפון

ההרצאה הקודמת: טיפוסי מנייה - מסוג Enums וגם raw values

ההרצאה הבאה: ביטויי Switch Case

הרצאות קשורות מקורסים אחרים

  • ייצוג מספרים במחשב
  • מספרים שלמים ועשרוניים ב-SQL

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

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון