Post on 26-Jul-2020
מבוא כללי לתכנות ולמדעי המחשב
1' תרגול מס
דין שמואלdshmuel110@gmail.com
1
מנהלות. 1
amirr@tau.ac.il, אמיר רובינשטיין:מרצה
. מייד לאחר השיעור-לשאלות קצרות : שעות קבלה
.ניתן לתאם במייל שעות אחרות
דין שמואל: מתרגל
.שאלות במבחן יתבססו גם על התרגולים. התרגולים הם חלק חשוב ביותר בקורס
ודוגמאות נוספות, חידוד של נקודות בעייתיות, כוללים העמקה בנושאים שהועברו בהרצאה
/http://cs4cyber.wikidot.com:אתר הקורס
.הודעות, תרגילים, באתר יפורסמו חומרי הקורס
(חובה)תרגילי בית 20%, בחינה סופית80%: הרכב הציון
: המבחן
דו צדדייםA4דפי 2: חומר עזר•
.ובמידה רבה על תרגילי הבית, התרגולים, השאלות במבחן יתבססו על חומר ההרצאות•
יישום או שילוב של כמה , חלק ידרוש הבנה מעמיקה יותר. רוב השאלות במבחן יהיו דומות לשאלות מתרגילי הבית•.נושאים ביחד
2
(low level)ושפת מכונה ( high level)שפות תכנות
?באיזו שפה מדברים עם מחשב
יש )"שפה בינארית רק " מבין( "'וכו, מכונת הכביסה, מחשב הרכב, סמארטפון, לפטופ, שולחני)המחשב •"(.אין מתח" / "מתח
.מחשבתוכניותופרקטית בלתי אפשרי לכתוב כך , קשה ומסורבל•
(.programming languages)שפות תכנותלשם כך פותחו •
.בקלות רבה יותר( תוכניות)ניתן לכתוב פקודות , הדומות מעט לאנגלית, בשפות אלו
*.כ כקובץ טקסט"התוכנית שנכתבת נשמרת בד•
?מה היתרון בזה
, C ,JAVA ,C++ ,PASCALלמשל
Python ,C# ,ועוד
3.'וכו, Cעבור שפת Python ,cעבור שפת pyלמשל . כ עם סיומת שמעידה על השפה בה היא נכתבה"בד*
?Pythonלמה דווקא •
יחסית קלה ללימוד•
מעט ידע בשפה מאפשר לעשות יחסית הרבה•
חינמית•
הופכת מאוד פופולרית לאחרונה•
גרסאות•3-ו2: שתי גרסאות פעילותPythonל•
.המתפתחות במקבילשפות שונות אולם אלו שתי , השפות כמעט זהות•
3.6, וספציפית בגרסה האחרונה, 3גרסה בפייתוןאנחנו נשתמש •
Binary language
Assembler language
C
C++/C#/Java
Python
Pythonשפת התכנות
.Pythonהתכנות אותה נלמד בקורס נקראת שפת
4
IDLE
•Interpreter-המתרגמת תכניות משפת , תכנית מחשב מיוחדתPythonלשפת מכונה.
. IDLE(Integrated Development and Learning Environment)אנו נשתמש ב•
.לכתיבה נוחה של קוד( editor)ועורך interpreterכוללת , סביבת עבודה פשוטה המתאימה למתחילים•
:מצבי עבודה2•.לכתוב תכניות במצב זהלא מומלץ . IDLEמופיע ישירות כשפותחים את -מצב אינטראקטיבי•
.מאפשר שמירה של קטעי קוד לשימוש חוזר-עורך תכניות•
5
IDLE-interpreterInteractive mode
prompt
.לא מאפשר שמירה של תכנית•
"תשובות\שאלות"-אינטראקטיבי•
מוכן לקלט מהמשתמש-">>>"סימן •
6
IDLE-editor
(py.בפרט סיומת )פייתוןעורך קבצי טקסט בשפת •
מאפשר לכתוב תכניות ולשמור להרצות חוזרות•
.לכתיבת הקוד בקורסהסביבה המומלצת •
.לפני שמריצים אותולהשמרקובץ חייב * •
INTERPRETERתוצאות התכנית נטענות ל, פייתוןתוכניתכשמריצים •
.מה שמאפשר סקירה נוחה של התכנית
7
IDLE-editor
:חשוב•
אשר יגרמו לשגיאה בפייתוןייתכן שנעתיק תווים אשר אינם חוקיים -(interpreter)כאשר מעתיקים שורת קוד מהחלון האינטראקטיבי•.בקוד שלנו
".>>>"-promtהעתק ה: נפוץ במיוחד•
.editorמומלץ לערוך את הקוד בחלון ה•
8
• 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
.מאפשרים לאחסן מידע בצורה נגישה•
אולם אנו יכולים לקרוא לו , המחשבבזכרוןערך המשתנה נשמר בכתובת •.לפי שם
.כל מידע שנשתמש בו ישמר בתוך משתנה, לרוב•
• Assignment statement: Variable_name = value
• Python supports multiple assignment
variables-משתנים
10
• 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
• String: str• Text encapsulated by ‘ ’ or “ “.
• String text comprised of set of characters
• why there is a difference between “ “ and ‘ ‘?
strings-variables
12
• 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
• Numerical:• Integer numbers- int
• A whole number. Can be positive, negative or zero.
integers-variables
14
• Numerical:• Floating point numbers- float
• Numbers containing decimal points.
floats-variables
15
• 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
• Numerical:• Integer numbers- int
• Floating numbers- float
• String: str• Text encapsulated by ‘ ’ or “ “.
types-variables
17
• 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
• What will be the result of:
continue-variables
19
• What will be the result of:
continue-variables
20
• Boolean variable: bool
• Data type with only two possible values: True or False
Boolean type
21
• Boolean operators:• < less than
• > greater than
• == equal
• != not equal
• >= greater or equal
• <= less or equal
*notice the difference between ‘=‘ and ‘==‘
Boolean comparisons
22
.שפות תכנות כלליות•
פייתוןהכרות עם •
IDLEאופן השימוש ב•
:בפייתוןמשתנים ••Integer
•Float
•String
•boolean
סיכוםמה עברנו היום
23