דילוג לתוכן
UAVProg
שפהhe
בלוקים

בלוקים

עיון בבלוקים

חיפוש מהיר של בלוק, פעולתו והקוד שהוא מייצר.

בלוקי פקודה מתחברים לערימה ומבוצעים לפי הסדר. בלוקי ערך מעוגלים נכנסים לשקע של בלוק אחר. טבלאות אלה מסכמות את הקטגוריות; דוגמאות מפורטות נמצאות במדריכים המקושרים.

APEX GD240

בלוקפעולהקוד
הפעלת טיסהמאפשר טיסהdrone.active_fly()
המראהעולה לגובה היעדdrone.takeoff()
נחיתהיורד ונוחתdrone.land()
טיסהמתחיל תנועה בכיוון ובמהירות שנבחרוdrone.fly('forward', 1)
טיסה עם עצירהעוצר תנועה אופקיתdrone.fly_stop()
סיבובמתחיל סיבובdrone.rotate('right', 1)
סיבוב עם עצירהעוצר סיבוב בלבדdrone.rotate_stop()
מצערתפקודה אנכית לפי ערך 0–6 במתאםdrone.set_throttle(3)
מצב ללא כיוון חזיתהודעה בלבד במתאם הסימולטורdrone.set_headless(True)
עצירת חירוםחיתוך מנועיםdrone.emergency_stop()
צילום תמונההודעה בלבד בסימולטורdrone.take_photo()
התחלת הקלטההודעה בלבד בסימולטורdrone.start_recording()
עצירת הקלטההודעה בלבד בסימולטורdrone.stop_recording()
רמת הסוללהערך הסוללה ברגע הקריאהdrone.get_battery()

כמה שורות הן אפשרויות באותו בלוק. פרטים, יחידות והבדלי סימולטור/חומרה בבלוקי הרחפן.

תזמון ולולאות

בלוקקוד טיפוסי
המתנה עם מספרtime.sleep(2)
המתנה עם שקע ערךtime.sleep(duration)
חזרה מספר פעמיםfor count in range(4):
חזרה כל עודwhile test:
חזרה עד ש־while not test:
ספירה עם משתנהfor i in range(1, 11):
לכל פריט ברשימהfor item in values:
יציאה מלולאהbreak
מעבר לחזרה הבאהcontinue

ראו לולאות ותזמון.

לוגיקה

בלוקקוד טיפוסי
אם, עם הסתעפויות דרך גלגל השינייםif test:
השוואה: שווה, שונה, קטן, גדול או שווהa == b, a < b
וגם / אוa and b, a or b
לאnot a
אמת / שקרTrue, False
ללא ערךNone
בחירת ערך לפי תנאיb if a else c

מתמטיקה

בלוקפעולה או קוד
מספר123
חשבוןa + b, a - b, a * b, a / b, a ** b
פעולה יחידניתשורש, ערך מוחלט, שלילה, לוגריתמים וחזקות
טריגונומטריהבמעלות; המרה בקוד לפי הצורך
קבועπ, e וקבועים נוספים
תכונת מספרזוגי, אי־זוגי, ראשוני, שלם, חיובי, שלילי או מתחלק
עיגולרגיל, כלפי מעלה או מטה
חישוב ברשימהסכום, מינימום, מקסימום, ממוצע, חציון, שכיח, סטיית תקן או פריט אקראי
שאריתa % b
הגבלה לטווחmin(max(a, low), high)
מספר שלם אקראיrandom.randint(a, b)
שבר אקראיrandom.random()
זווית atan2זווית במעלות לפי שני רכיבים

ראו לוגיקה ומתמטיקה. חילוק באפס הוא שגיאה, לא תוצאה מספרית.

טקסט

בלוקפעולה או קוד
טקסט'שלום'
הדפסהprint(value)
יצירת טקסט מחלקיםחיבור ערכים; גלגל השיניים מוסיף שקעים
הוספת טקסט למשתנההוספה לסוף הטקסט
אורך / ריקlen(text), not len(text)
חיפוש הופעהמקום בטקסט, בספירת הבלוקים
קבלת תולפי מקום, ראשון, אחרון או אקראי
תת־מחרוזתקטע בין מקומות
שינוי אותיותגדולות, קטנות או צורת כותרת
הסרת רווחיםצד אחד או שני הצדדים
ספירת הופעותtext.count(part)
החלפהtext.replace(old, new)
היפוךtext[::-1]

רשימות

בלוקפעולה או קוד
יצירת רשימה[a, b, c]; גלגל השיניים מוסיף שקעים
פריט חוזר[value] * n
אורך / ריקהlen(values), not len(values)
חיפוש פריטמקום ההופעה לפי ספירת הבלוקים
קבלת פריטלפי מקום, ראשון, אחרון או אקראי, עם אפשרות להסרה
שינוי פריטהחלפה, הכנסה או הוספה
תת־רשימהקטע מהרשימה
המרה בין טקסט לרשימהפיצול או חיבור לפי מפריד
מיוןמספרי או אלפביתי, עולה או יורד
היפוךlist(reversed(values))

מקום 1 בבלוקים הוא אינדקס 0 בפייתון. ראו רשימות וטקסט.

משתנים ופונקציות

בלוקקוד טיפוסי
קביעת משתנהduration = 2
קריאת משתנהduration
שינוי משתנההוספה לערך, עם בדיקת סוג בקוד שנוצר
הגדרת פונקציהdef fly_segment():
קריאה לפונקציהfly_segment()
פונקציה שמחזירה ערךבלוק ערך לשקע

משתנים ופונקציות נוצרים בידי המשתמש. בהגדרת פונקציה ניתן להוסיף קלט דרך גלגל השיניים. ראו משתנים ופונקציות.

ציוד סימולטור

פעולהקוד טיפוסי
המראה לגובה והמתנהsim.takeoff(0.5)
ניווט לצפון, מזרח וגובה והמתנהsim.goto(1, 2, 0.5)
נחיתה והמתנהsim.land()
קריאת שדה מחיישןsim.read(device, field)
בדיקת מוכנות חיישןsim.sensor_ready(device)
המתנה למוכנותsim.wait_sensor(device)
פעולת ווsim.hook('lower')
מטען מחוברsim.cargo_attached()
תאורה מותקנתsim.light(device, True, 1)

הקטגוריות תלויות בציוד המחובר. device ו־field נבחרים מהסשן; הם אינם מזהים שצריך להעתיק מהטבלה. הקואורדינטות במטרים, הגובה חיובי למעלה, והניווט אינו עוקף מכשולים. ראו מעבר לבלוקי הבסיס.

במבט אחד

תנועה

סיבוב

כן

לא

הפעלת טיסה

המראה

תנועה או סיבוב?

טיסה · כיוון · מהירות

סיבוב · שמאלה או ימינה · מהירות

המתנה · שניות

אותו בלוק, במהירות עצירה

פעולה נוספת?

נחיתה