מבוא למחשב בשפת פייתון

Similar documents
ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

מבוא לתכנות ב- JAVA תרגול 7

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

המבנה הגאומטרי של מידה

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

מבוא למחשב בשפת Matlab

7 קרפ תויגול,תויטמתירא תודוקפ הזזהו

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

בוחן בתכנות בשפת C בצלחה

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

תכניות סטנדרטיות ב UNIX שרשור פקודות באמצעות Pipeline עבודה ב- bash

ASP.Net MVC + Entity Framework Code First.

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

תושירדהו הדובעה תרדגה

תורת הקומפילציה

לאחר מכן נוכל לכתוב תוכניות שכוללות אלגוריתמים

זה. Nir Adar

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

Depth-First Search DFS

Practical Session No. 13 Amortized Analysis, Union/Find

ניסוי בפייתון מכון טכנולוגי לישראל הניסוי מתקיים בבניין פישבך, חדר 573 )במסדרון למאייר(. המאחר ביותר מ- 53 דקות לא יורשה לבצע את הניסוי.

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

Visual C# Express יסודות מדעי המחשב 1 מהדורת עיצוב תשס"ו 2006 כתבה: יעל בילצ'יק (סופרין)

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces

Summing up. Big Question: What next for me on my Israel Journey?

אוניברסיטת בן גוריון בנגב

תרגול 8. Hash Tables

יסודות מבני נתונים. תרגול :9 ערימה - Heap

תכנות בטוח חלק ב ' מאת עידו קנר


מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

Redirection The Input Buffer

יחידה ארגון המחשב ושפת סף: שאלות תרגול

תרגיל בית מספר - 1 להגשה עד 9 בנובמבר בשעה 23:55

משימה מסכמת במדעי המחשב - מודול צד לקוח תשע"ז,2017

תאריך הבחינה: מבוא למדעי המחשב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

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

1.1. הקדמה (דיסק). מדריכי. (מחיצות) Link

P R A Y I N G F O R T H E I M P O S S I B L E

מבוא לשפת C תירגול 1: מבוא מבוא לשפת סי - תירגול 1

פקס בחיבור המכשיר המשולב לפקס יש לעבור על השלבים הבאים: - חבר את כבל הטלפון לחיבור ה- LINE בגב המדפסת ואת צידו השני לשקע הטלפון בקיר.

Information The marks for questions are shown in brackets. The maximum mark for this paper is 40. You must not use a dictionary.

אנגלית (MODULE E) בהצלחה!

שנה"ל תשע"ד,סמסטר א',מועד א שאלון בחינה בקורס: מבוא למדעי המחשב לתעו"נ מספר : בחלק א' 11 שאלות, יש לענות על 11 מתוכן )כל שאלה מזכה ב 7 נקודות(

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

Operating Systems, 142. Practical Session 12 File Systems, part 2

יסודות התכנות ב- VBA לתוכנת Microsoft Excel

Genetic Tests for Partners of CF patients

Name Page 1 of 5. ,דף ד: This week s bechina starts at the bottom of שיר של חול

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

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

TAKE ACTION. Unit1. Part A. Pre-Reading Before page 8. A Match each letter to the two letters that follow it in the alphabetical order.

Patents Basics. Yehuda Binder. (For copies contact:

State Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002

תרגול 11 תור עץ חיפוש בינארי

Information The marks for questions are shown in brackets. The maximum mark for this paper is 50. You must not use a dictionary.

interface Student {tag: Student, name: string; age: number;} const makestudent = ( name: string, age: number ) : Student =>

כיורי גרניט כיורי מטבח עשויים גרניט להתקנה שטוחה, עמידות מלאה בפני שריטות וכתמים, עמידות בחום עד C ניקוי קל ומהיר צבע שאינו דוהה

אוסף תרגילים למעבדה ביוניקס - 4

מדריך למשתמש בשירות. yes MultiRoom

NATIONAL COUNCIL OF YOUNG ISRAEL. Shavuot Nation JEWISH EDITION. Compiled by Gabi Weinberg Teen Program Director

קורס מטלב לפיסיקאים שיעור מס' 10: משתנים מורכבים

בהצלחה! מבוא לתכנות מערכות

מבוא לשפת C מבוא לשפת סי - תירגול 1

מסנן סולארי: הוראות שימוש

פרצות אבטחה נפוצות בהעלאת קבצים בעזרת PHP

שאלון ד' הוראות לנבחן

מבני נתונים תרגיל 4 פתרון

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

הרצאה מספר 10 נושאים לשיעור זה: סיכום הפקודות עד לשיעור זה *** )S-Q( = מקומות בהם ניתן לשלב תתי שאילתות

הנדסה-לאחור: שרשרת העלייה של Windows 7 חלק שני - VBR

סיכומים למבחן בקומפילציה

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

פרק מיון וחיפוש - לשם מה? הגדרה

Chofshi.

מערכים Haim Michael. All Rights Reserved.

Relationships: Everything Else is Commentary

הקדמה בדיקת תמיכה ב- SSL מאת עידו קנר

שאלון ו' הוראות לנבחן

הקיטסיגול הרבחה יעדמל בלושמה גוחה

Hebrew Adjectives. Hebrew Adjectives fall into 3 categories: Attributive Predicative Substantive

(MODULE E) ב ה צ ל ח ה!

Global Day of Jewish Learning

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

A R E Y O U R E A L L Y A W A K E?

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

מושגים בסיסיים תלמידים והורים יקרים,

B E N D, S T R A I G H T E N, B A L A N C E

Transcription:

234221 מבוא למחשב בשפת פייתון 3 מבני בקרה ולולאות פרופ' ראובן בר-יהודה דין לייטרסדורף הפקולטה למדעי המחשב הטכניון מכון טכנולוגי לישראל נערך ע"י יעל ארז 1

פקודות והזחות 2

פקודה פשוטה >>> 3+2 5 >>> x = 5 שורה אחת של קוד אנו מכירים שני סוגים ביטויי: חישוב או קריאה לפעולה פקודת השמה: משייכת ערך למשתנה נכיר בהמשך סוגי פקודות נוספים ביטוי בדרך כלל מציג ערך על המסך כאשר מריצים קוד במפרש הפקודות )interpreter( 3

פקודה מורכבת לרוב פורשת מספר שורות בנויה מ ה header ומאוסף פקודות מוזחות )indented( header פקודות מוזחות נלמד כעת על מספר קובע אם הפקודות המוזחות בעזרת רווחים או טאבים header -ים שונים יתבצעו header: statement1 statement2 statement3 4

פקודות תנאי 5

פקודת if expression True Statements False משערכת ביטוי (expression) ומבצעת את הפקודות המוזחות )statements( אם ערך הביטוי הינו True...some code... if expression: statements...more code... מבנה הפקודה בקוד: x = int(input("please enter x: ")) if x < 0: x = -x print("the absolute value of x is: " + str(x)) 6

פקודת if-else True expression st1 st2 False משערכת ביטוי ובהתאם לערכו מבצעת רצף אחד מבין שני רצפים של פקודות מוזחות...some code... if expression: statements1 else: statements2...more code... temp = int(input("please enter temperature: ")) if temp < 20: print("wear your coat!") else: print("go to the beach!") מבנה הפקודה בקוד: 7

קינון פקודות if ניתן לבצע פקודת if בתוך פקודת if אחרת! הפקודות אשר משויכות ל if הפנימי צריכות להיות מוזחות שוב temp = int(input("please enter temperature: ")) if temp < 20: if coat_is_dry: print("wear your coat!") else: print("dry your coat first!") 8

קינון פקודות if נתבונן בדוגמה של קינון פקודות if grade = int(input("please enter grade: ")) if grade >= 90: print("a") else: if grade >= 80: print("b") else: if grade >= 70: print("c") else: 9

דוגמא שנה מעוברת כתבו תוכנית המקבלת שנה מהמשתמש, ובודקת האם זו שנה מעוברת או לא. 10

if-elif קינון פקודות if ופקודת True if grade >= 90: print("a") else: if grade >= 80: print("b") else: if grade >= 70: print("c") else: if grade >= 60: print("d") else: print("f") התנאים במבנה if-elif שקולים נבדקים בזה אחר זה עד אשר תנאי אחד הינו if grade >= 90: print("a") elif grade >= 80: print("b") elif grade >= 70: print("c") elif grade >= 60: print("d") else: print("f") אופציונאלי 11

פקודות לולאה 12

לולאת while expression True Statements True משערכת ביטוי ומבצעת את הפקודות המוזחות לאחר ביצוע הפקודות, חוזרים לשערוך הביטוי כך עד אשר הביטוי משתערך כ אם ערך הביטוי False...some code... while expression: statements...more code... x = 1 while x <= 5: print("hello world") x = x + 1 False 13

לולאת while expression True Statements False n! = 1*2*3 *(n-1)*n num = 1 n = 10 while n >= 1: num *= n n -= 1 print("10! is: " + str(num)) דוגמה: חישוב עצרת 14

לולאת for משמשת למעבר על סדרה של איברים, לדוגמה: רשימות Range מחרוזות נלמד בקרוב 15

קינון לולאות while row = 3 col = 4 while row > 0: col = 4 while col > 0: print(str(row*col),end=' ') col-=1 print('\n') row-=1 ניתן לבצע לולאה בתוך לולאה אחרת! 12 9 6 3 8 6 4 2 4 3 2 1 16

קינון לולאות עם if ניתן לקנן פקודת if בתוך לולאה num = 10 while num>0: if num % 2 == 1: print(num) num-=1 9 7 5 3 1 17

דוגמה: מציאת המספר הקטן ביותר בקלט קלט: סדרה של מספרים מהמשתמש פלט: מספר מינימאלי ברשימה n = int(input("how many numbers are there? ")) min_number = int(input("enter float("inf") a number: ")) n-=1 while n > 0: x = int(input("enter a number: ")) n-=1 if x < min_number: min_number = x print(min_number) הקוד חוזר על עצמו איך נפתור זאת? 18

דגשים על הזחות 19

דגשים על הזחות הזחות בצורה ויזואלית Block 1 Block 2 Block 3 Block 2 - continued Block 1 - continued 20

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

דגשים על הזחות כל הפקודות בחלק הפנימי של אותה פקודה מורכבת חייבות להופיע באותה ההזחה 22

פקודות שינוי בקרה 23

break ניתן להשתמש בפקודה זו אך ורק בתוך לולאה הפקודה עוצרת את ריצת הלולאה מידית וממשיכה את ריצת התוכנית מהקוד העוקב ללולאה דוגמה: סכימת מספרים מהקלט עד קבלת מספר שלילי total = 0 while True: x = int(input("enter a number: ")) if x<0: break total += x print(total) 24

for-else, while-else ניתן להוסיף else לאחר כל לולאה הקוד אשר מוזח תחת הelse ירוץ עם סיום הלולאה, כל עוד הלולאה הסתיימה באופן רגיל )סיום סדרת האיברים בעבור )while אי קיום תנאי הלולאה בעבור,for אם הקוד הסתיים עקב ביצוע,break אזי הקוד תחת הelse לא יורץ 25

for-else, while-else דוגמה בדיקה אם מספר הוא ראשוני: n =int(input( please enter a number )) div = 2 while div < n: if n % div == 0: print(n, 'equals', div, '*', n//div) break div += 1 else: # loop fell through without finding a factor print(n, 'is a prime number') יתבצע אם div >= n בסוף הלולאה 26

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

continue דוגמה: קבלת 100 מספרים כקלט וסכימת כל החיוביים total = 0 i = 0 while i < 100: i += 1 x = int(input("enter a number: ")) if x < 0: continue total += x print(total) 28

continue דוגמה: קבלת 100 מספרים כקלט מה יקרה אם נעביר את וסכימת לסוף הלולאה? כל החיוביים total = 0 i = 0 while i < 100: i += 1 x = int(input("enter a number: ")) if x < 0: continue total += x print(total) i+=1 total = 0 i = 0 while i < 100: x = int(input("enter a number: ")) if x < 0: continue total += x i += 1 print(total) 29

pass פקודה אשר לא מבצעת אף חישוב משתמשים בפקודה זאת כאשר הקוד מחייב פקודה אך איננו רוצים לבצע שום דבר לדוגמה, לא ניתן לרשום לולאה ללא קוד מוזח while True: pass # Busy-wait for keyboard interrupt (Ctrl+C) 30

לולאות אינסופיות לולאה אשר תנאי הריצה שלה תמיד True בכדי לצאת מלולאה כזו צריך לשבור את ריצת, break לדוגמה בעזרת בדרך כלל משתמשים בלולאות כאלה כאשר תנאי העצירה האמיתי מסובך מידי בכדי לרשום בשורת ההגדרה של הלולאה while True: n = input("please enter 'hello':") if n == 'hello': break 31

בעיות דיוק בתנאי הלולאה האם הלולאות הבאות שקולות? x=0 while x!= 2.0: x += 0.2 print(x) 0.2 0.4 0.6000000000000001 0.8 1.0 1.2 1.4 1.5999999999999999 1.7999999999999998 1.9999999999999998 2.1999999999999997 2.4 2.6 2.8000000000000003 3.0000000000000004 (אינסופי)... x=0 while x <= 2.0: x += 0.2 print(x) 0.2 0.4 0.6000000000000001 0.8 1.0 1.2 1.4 1.5999999999999999 1.7999999999999998 1.9999999999999998 2.1999999999999997 32

סיכום משפט תנאי if לולאות while/for תנאי מקונן, לולאה מקוננת break continue pass 33

34 The