בשחמה יעדמלו תונכתל יללכ...
Transcript of בשחמה יעדמלו תונכתל יללכ...
![Page 2: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/2.jpg)
מנהלות. 1
[email protected], אמיר רובינשטיין:מרצה
. מייד לאחר השיעור-לשאלות קצרות : שעות קבלה
.ניתן לתאם במייל שעות אחרות
דין שמואל: מתרגל
.שאלות במבחן יתבססו גם על התרגולים. התרגולים הם חלק חשוב ביותר בקורס
ודוגמאות נוספות, חידוד של נקודות בעייתיות, כוללים העמקה בנושאים שהועברו בהרצאה
/http://cs4cyber.wikidot.com:אתר הקורס
.הודעות, תרגילים, באתר יפורסמו חומרי הקורס
(חובה)תרגילי בית 20%, בחינה סופית80%: הרכב הציון
: המבחן
דו צדדייםA4דפי 2: חומר עזר•
.ובמידה רבה על תרגילי הבית, התרגולים, השאלות במבחן יתבססו על חומר ההרצאות•
יישום או שילוב של כמה , חלק ידרוש הבנה מעמיקה יותר. רוב השאלות במבחן יהיו דומות לשאלות מתרגילי הבית•.נושאים ביחד
2
![Page 3: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/3.jpg)
(low level)ושפת מכונה ( high level)שפות תכנות
?באיזו שפה מדברים עם מחשב
יש )"שפה בינארית רק " מבין( "'וכו, מכונת הכביסה, מחשב הרכב, סמארטפון, לפטופ, שולחני)המחשב •"(.אין מתח" / "מתח
.מחשבתוכניותופרקטית בלתי אפשרי לכתוב כך , קשה ומסורבל•
(.programming languages)שפות תכנותלשם כך פותחו •
.בקלות רבה יותר( תוכניות)ניתן לכתוב פקודות , הדומות מעט לאנגלית, בשפות אלו
*.כ כקובץ טקסט"התוכנית שנכתבת נשמרת בד•
?מה היתרון בזה
, C ,JAVA ,C++ ,PASCALלמשל
Python ,C# ,ועוד
3.'וכו, Cעבור שפת Python ,cעבור שפת pyלמשל . כ עם סיומת שמעידה על השפה בה היא נכתבה"בד*
![Page 4: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/4.jpg)
?Pythonלמה דווקא •
יחסית קלה ללימוד•
מעט ידע בשפה מאפשר לעשות יחסית הרבה•
חינמית•
הופכת מאוד פופולרית לאחרונה•
גרסאות•3-ו2: שתי גרסאות פעילותPythonל•
.המתפתחות במקבילשפות שונות אולם אלו שתי , השפות כמעט זהות•
3.6, וספציפית בגרסה האחרונה, 3גרסה בפייתוןאנחנו נשתמש •
Binary language
Assembler language
C
C++/C#/Java
Python
Pythonשפת התכנות
.Pythonהתכנות אותה נלמד בקורס נקראת שפת
4
![Page 5: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/5.jpg)
IDLE
•Interpreter-המתרגמת תכניות משפת , תכנית מחשב מיוחדתPythonלשפת מכונה.
. IDLE(Integrated Development and Learning Environment)אנו נשתמש ב•
.לכתיבה נוחה של קוד( editor)ועורך interpreterכוללת , סביבת עבודה פשוטה המתאימה למתחילים•
:מצבי עבודה2•.לכתוב תכניות במצב זהלא מומלץ . IDLEמופיע ישירות כשפותחים את -מצב אינטראקטיבי•
.מאפשר שמירה של קטעי קוד לשימוש חוזר-עורך תכניות•
5
![Page 6: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/6.jpg)
IDLE-interpreterInteractive mode
prompt
.לא מאפשר שמירה של תכנית•
"תשובות\שאלות"-אינטראקטיבי•
מוכן לקלט מהמשתמש-">>>"סימן •
6
![Page 7: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/7.jpg)
IDLE-editor
(py.בפרט סיומת )פייתוןעורך קבצי טקסט בשפת •
מאפשר לכתוב תכניות ולשמור להרצות חוזרות•
.לכתיבת הקוד בקורסהסביבה המומלצת •
.לפני שמריצים אותולהשמרקובץ חייב * •
INTERPRETERתוצאות התכנית נטענות ל, פייתוןתוכניתכשמריצים •
.מה שמאפשר סקירה נוחה של התכנית
7
![Page 8: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/8.jpg)
IDLE-editor
:חשוב•
אשר יגרמו לשגיאה בפייתוןייתכן שנעתיק תווים אשר אינם חוקיים -(interpreter)כאשר מעתיקים שורת קוד מהחלון האינטראקטיבי•.בקוד שלנו
".>>>"-promtהעתק ה: נפוץ במיוחד•
.editorמומלץ לערוך את הקוד בחלון ה•
8
![Page 9: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/9.jpg)
• Print is a built-in python function.
• Python has a collection of reserved words and functions. Will usually be displayed in different color.
• What if we want to use “hello world” again and again?
Programming 101
9
![Page 10: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/10.jpg)
.מאפשרים לאחסן מידע בצורה נגישה•
אולם אנו יכולים לקרוא לו , המחשבבזכרוןערך המשתנה נשמר בכתובת •.לפי שם
.כל מידע שנשתמש בו ישמר בתוך משתנה, לרוב•
• Assignment statement: Variable_name = value
• Python supports multiple assignment
variables-משתנים
10
![Page 11: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/11.jpg)
• Name must start with a letter or ‘_’.
• Name must contain only letters, numbers or ‘_’
• Variables name are case sensitive!
• Good practice: give variable appropriate name, i.e. ‘age’, ‘name’ etc.
rules-variables
11
![Page 12: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/12.jpg)
• String: str• Text encapsulated by ‘ ’ or “ “.
• String text comprised of set of characters
• why there is a difference between “ “ and ‘ ‘?
strings-variables
12
![Page 13: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/13.jpg)
• What will it mean to add(+) to string? To multiply(*)?
• What will it mean to divide/subtract strings?
• Python allows addition and multiplication of strings!
• So how do we do mathematical calculations?
Mathematical operations: strings
13
![Page 14: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/14.jpg)
• Numerical:• Integer numbers- int
• A whole number. Can be positive, negative or zero.
integers-variables
14
![Page 15: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/15.jpg)
• Numerical:• Floating point numbers- float
• Numbers containing decimal points.
floats-variables
15
![Page 16: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/16.jpg)
• Addition: +
• Subtraction: -
• Multiplication: *
• Exponentiation: **
• Division: /• Result is a floating point number
• Quotient division: //
• Remainder (modulus operator): %• How will you check whether a number is even or odd?
Mathematical operations: ints/floats
16
![Page 17: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/17.jpg)
• Numerical:• Integer numbers- int
• Floating numbers- float
• String: str• Text encapsulated by ‘ ’ or “ “.
types-variables
17
![Page 18: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/18.jpg)
• You can easily reassign value to a variable
• What will happen if we will reassign a to a string?
• Python is a dynamically typed language!
reassignment-variables
18
![Page 19: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/19.jpg)
• What will be the result of:
continue-variables
19
![Page 20: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/20.jpg)
• What will be the result of:
continue-variables
20
![Page 21: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/21.jpg)
• Boolean variable: bool
• Data type with only two possible values: True or False
Boolean type
21
![Page 22: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/22.jpg)
• Boolean operators:• < less than
• > greater than
• == equal
• != not equal
• >= greater or equal
• <= less or equal
*notice the difference between ‘=‘ and ‘==‘
Boolean comparisons
22
![Page 23: בשחמה יעדמלו תונכתל יללכ אובמcs4cyber.wdfiles.com/local--files/recitations/rec1.pdf · 2017-10-22 · •Name must start with a letter or ‘_’. •Name](https://reader033.fdocuments.us/reader033/viewer/2022050313/5f75382d26041d52ea470db7/html5/thumbnails/23.jpg)
.שפות תכנות כלליות•
פייתוןהכרות עם •
IDLEאופן השימוש ב•
:בפייתוןמשתנים ••Integer
•Float
•String
•boolean
סיכוםמה עברנו היום
23