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