Computer Programming Fall 2013 תרגול

Slides:



Advertisements
Similar presentations
ממיבחניםC שאלות ++.
Advertisements

תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
מבוא למדעי המחשב לתעשייה וניהול
בתרגול הקודם הורשה: –ניתן להרחיב רק מחלקה אחת –כל מה שלא private – עובר בהורשה –המילה השמורה super –יצירת היררכיה –Object היא שורש ההיררכיה –דריסה אופרטור.
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
מבוא כללי למדעי המחשב תרגול 1. כתיבת התוכנה כתיבת התוכנית עצמה נעשית ע " י כתיבת קובץ טקסט רגיל אשר תוכנו מקיים את כללי שפת C כתיבת התוכנית עצמה נעשית.
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות : המשתמש יבחר קובץ שעליו הוא רוצה לבצע את האנליזה, וילחץ עליו עם כפתור ימני בעכבר. יפתח תפריט ובו.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
11 Introduction to Programming in C תרגול
A. Frank File Organization Indexed-Sequential File Introduction Thanks to Tamar Barnes.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
מבוא למדעי המחשב תרגול 4 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תרגול חזרה. מבנה האובייקט תאר את מבנה האובייקט כולל מבנה טבלאות הפונקציות הוירטואליות עבור התכנית הבאה struct A { int x; virtual void a() {}; }; struct.
חלון הפקודות מיועד לבצע פעולה אחת בכל פעם. כיצד אפשר לבצע רשימת פקודות או אפליקציות מורכבות ?
1 מבוא למדעי המחשב מבנה של תכנית. 2 מבנה של תכנית – חלוקה לקבצים  תכנית בשפת C הינה אוסף של הגדרות של:  משתנים (חיצוניים)  פונקציות  ניתן לפרוש תכנית.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות:  המשתמש בוחר קובץ שעליו הוא רוצה לבצע את האנליזה, ולוחץ עליו עם כפתור ימני בעכבר.  נפתח תפריט.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מנפה שגיאות - DEBUGGER מבוא למדעי המחשב (234114) רועי מלמד
תכנות תרגול 6 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
Multi-Cycle MIPS דוגמאות. דוגמה 1 נתון קטע הקוד הבא: begin:addi $v0, $zero, -1 loop:add $a0, $a0, $a0 addi$v0,$v0,1 bne $a0, $zero, loop הניחו כי בתחילת.
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
נוצר ע " י ד " ר ארקדי שטיינבוק Visual Basic for Application VBA כדוגמה VBA ב - WORD.
1 מבוא למדעי המחשב ארגומנטים לתוכנית בזמן ריצה קבצים הקדם מעבד Preprocessor טיפוסים סדורים Enumerated Types Typedef.
מבוא למדעי המחשב תרגול מספר 1.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
מבוא למדעי המחשב שפת c
מה היום ? - - חזרה מהירה. - קריאה וכתיבה לקבצים. - בניית תוכנית כתיבה low-level - בניית ערוץ גלובלי והדגמה מול חומרה - low-level DAQ, פולימורפיזם וטריגר.
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
Text to speech In Mobile Phones איתי לוי. הקדמה שימוש בהודעות טקסט על המכשירים הסלולארים היא דרך תקשורת מאוד פופולארית בימינו אשר משתמשים בה למטרות רבות,
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
Sscanf example #include int main () { char sentence []="Rudolph is 12 years old"; char str [20]; int i; sscanf (sentence,"%s %*s %d",str,&i); printf ("%s.
תכנות תרגול 1 שבוע : צור קשר מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. דואר אלקטרוני :
תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות הדס צור ואסף זריצקי.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Contents Building Web Services כתב אקת'ם חאג' יחיא BuildingWeb Services Building Web Services
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
תוכנה 1 תרגול 2: מערכים, לולאות והתמודדות עם שגיאות.
Combo Box שלושה סוגים של Combo Box: Style 0 (default) - drop-down combo box המשתמש יכול להוסיף אפשרויות לרשימה או ללחוץ על החץ לבחירה מרשימת האפשרויות.
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
PPL Lecture 3 Slides by Yaron Gonen,
Computer Programming Fall 2014 תרגול 2
מ- JAVA ל- C קרן כליף.
Computer Programming Fall 2012 תרגול
היכרות עם Java אליהו חלסצ'י תכנות מתקדם תרגול מספר 1
מבוא ל Maven אליהו חלסצ'י תכנות מתקדם תרגול מספר 3
תרגול 1: סביבת העבודה ומבוא ל-Java
תזכורת על מה דיברנו שיעור שעבר? בנינו אתר אינטרנט עם כותרות
קורס תכנות שיעור ראשון: מבוא.
Shell Scripts בסביבת UNIX
תוכנה 1 תרגול 13 – סיכום.
תכנות מכוון עצמים ו- C++ יחידה 02 העמסת פונקציות, ערכי ברירת מחדל, enum, קימפול מותנה קרן כליף.
תוכנה 1 תרגול 13 – סיכום.
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Introduction to Programming in C
Computer Programming Fall 2015 תרגול 2
Engineering Programming A
Presentation transcript:

Computer Programming Fall 2013 תרגול 1 22.10.2012 Introduction to C - Fall 2010 - Amir Menczel

אתר הקורס http://www.cs.bgu.ac.il/~prog131 באתר הקורס מופיעים: הודעות חשובות מצוות הקורס יתפרסמו תחת announcements עבודות יתפרסמו תחת assignments מבחנים משנים קודמות יפורסמו תחת previous exams ציונים לעבודות יפורסמו תחת grades שאלות על העבודות ניתן לשאול תחת forum

עבודות במהלך הקורס יהיו 6 עבודות (בערך כל 10 ימים תהיה הגשת עבודה). העבודות תוגשנה ביחידים. בקשות לדחיית העבודה (עקב מילואים, או מחלה) יש להגיש להפנות למרצי הקורס בלבד!

סביבת פיתוח - כללי במהלך הקורס נשתמש בסביבת העבודה Visual Studio 2010 המותקנת במעבדות. נתמקד רק בסביבת הפיתוח Visual C++ 2010. מרכיבים בסיסיים: עורך (Editor) משמש להכנת קבצי מקור של תכניות C . מהדר (Compiler) מתרגם את קבצי המקור שאתם כותבים בשפת C לשפת המכונה. כתוצאה מההידור נוצר קובץ .obj

סביבת פיתוח – כללי (המשך) קישור (Linker) מחבר את תכנית המקור (או כמה קבצי מקור) עם פונקציות מהספריות הסטנדרטיות לקובץ אחד שמהווה תכנית לביצוע (זהו קובץ ההרצה בעל סיומת exe שנוצר כתוצאה מהקישור(. בנייה (build) תהליך ביצוע הידור ולאחריו קישור. מנפה (Debugger) כלי עזר לגילוי מיקומן של טעויות לוגיות בתכנית.

סביבת פיתוח - הורדה במעבדות המחשבים ברחבי האוניברסיטה מותקנת התוכנה ניתן להוריד גרסא חינמית לזמן מוגבל, Visual C++ 2010 Express לעבודה מהבית. קישור: http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express ביצוע רישום (בחינם) מאפשר שימוש בתוכנה מעבר ל-30 יום) נמצא תחת : help->register product

סביבת הפיתוח – הורדה

סביבת פיתוח – תוכנית ראשונה הפעלת הסביבה Start  All Programs  Microsoft Visual Studio 2010  Microsoft Visual Studio 2010  Visual C++ Development Settings בפעם הראשונה שסביבת הפיתוח מופעלת ישנה המתנה קצרה: ניצור פרויקט חדש - הפרויקט הוא למעשה אוסף של קבצים ותיקיות שבאמצעותן מאפשרת לנו VS2010 להריץ תוכניות C . File New  Project

סביבת פיתוח – תוכנית ראשונה (המשך) 1 2 3 4 5 6 Engineering Programming – Fall 2012 – Amihai Savir & Amir Menczel

סביבת פיתוח – תוכנית ראשונה (המשך)

סביבת פיתוח – תוכנית ראשונה (המשך) הוספת קובץ חדש לפרוייקט Project  Add New Item

סביבת פיתוח – תוכנית ראשונה (המשך) 1 2 3 4 5 6 שימו לב לסיומת

סביבת פיתוח – תוכנית ראשונה (המשך) העתיקו את השורות הבאות לחלון העריכה #include <stdio.h> void main(){ printf("Welcome to C Programming!\n"); } שמירת הקובץ לפרויקט תתבצע על ידי: 1. לחיצה עם המקש השמאלי של העכבר על שם הקובץ 2. File Save tir1_1.c

סביבת פיתוח – תוכנית ראשונה (המשך) פעולת הידור (קומפילציה) מתבצעת ע"י Ctrl+F7 או: פעולת קישור מתבצעת ע"י F7 או: BuildBuild Solution

סביבת פיתוח – תוכנית ראשונה (המשך) הרצת תוכנית מתבצעת ע"י: Ctrl + F5

שינוי המהדר

שינוי המהדר (המשך)

סביבת פיתוח – Redirection שנו את הקוד שכתבתם לקוד הבא: #include <stdio.h> void main(){ int num; printf("Hello! Please enter an integer number:\n"); scanf("%d", &num); printf("The number was %d.\n", num); } הריצו את התוכנית החדשה, הכניסו קלטים שונים ושימו לב לפלטים המתקבלים.

סביבת פיתוח – Redirection נשנה את הגדרות הפרויקט כך שהתוכנית תכתוב לקובץ טקסט output.txtבמקום למסך. לחצו: Project  Properties Configuration Properties  Debugging 1 2 3

סביבת פיתוח – Redirection נריץ את התוכנית והפעם נשים לב כי בתיקיית הפרוייקט נוצר קובץ טקסט חדש output.txt המכיל את הפלטים של התוכנית שהרצנו.

סביבת פיתוח – Redirection נשנה את הגדרות הפרויקט כך שהתוכנית תקבל את הקלטים ישירות מקובץ טקסט input.txt. לחצו: Project  Properties Configuration Properties  Debugging 1 2 3

סביבת פיתוח – Redirection טרם הרצת התוכנית, ניצור בתיקיית הפרוייקט קובץ טקסט חדש בשם input.txt ונרשום בו מספר שלם כרצוננו. נריץ את התוכנית ונקבל ישירות את כל הפלטים בהתאם לקלט שרשמנו בקובץ input.txt.

סביבת פיתוח – Redirection שימו לב כי ניתן לשלב בין הפקודות וכך התוכנית תעבוד אך ורק עם קובץ הקלט וקובץ הפלט. 2 1 3

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

שגיאות קומפילציה סגרו את הפרוייקט הנוכחי, File  Close Solution סגרו את הפרוייקט הנוכחי, צרו פרוייקט חדש והקלידו את הקוד הבא: /* Program that calculates the average of x and y #include <stdio.h> void main() { int sum=0; x=4; y=10; sum=sum+x sum=sum+y; printf("The average of x and y is %d\n", sum/2);

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

שגיאות לוגיות ומנפה השגיאות אם בזמן הביצוע יתקבלו תוצאות שאינן נכונות (כלומר התוכנית רצה אך היא לא מבצעת את מה שרצינו שתבצע) מומלץ להשתמש ב-Debugger . ראשית בצע את כל הפעולות הנדרשות להכנה והרצה של התכנית. ניתן לקרוא לפרויקט בשם .area עלינו להקליד את התוכנית הבאה: #include <stdio.h> #define PI 3.14159 double calculate_area(double radius); void main(){ double area, radius; radius=10; area=calculate_area(radius); printf(“The area of a circle of radius 10 is %f”, radius); }   /*calculates the area of the circle of radius „radius‟ */ double calculate_area(double radius){ return PI*radius; .1 תקן את השגיאה שמצאת בעזרת העורך. .2 הרץ שוב את התכנית וודא שהתיקון שעשית אכן פתר את הבעיה. 3. בתוכנית ישנן שתי בעיות. תקן גם את הבעיה השנייה.

המשך בפעולות הנדרשות לשם הרצת התוכנית המשך בפעולות הנדרשות לשם הרצת התוכנית. הרץ את התוכנית וודא שהתוכנית מחשבת נכון את שטח המעגל (). המנפה עוזר למצוא את מיקום הטעויות הלוגיות בתכנית המקור ע"י: יכולת ההתמקדות על קטע מסוים, בדיקת הערכים הנבחרים, יכולת להפסיק באופן זמני את הרצת התכנית כדי לבדוק ו/או לשנות ערכים מסוימים. הפעולות הבסיסיות שיש לבצע ע"מ לנפות שגיאות: F9 - יצירת נקודת עצירה בשורה "חשודה". F5 - ריצה עד לנקודה החשודה הבאה, התכנית תיעצר או בנקודת עצירה או בהמתנה לקלט. F10 - מרגע שעצרנו בנקודת עצירה, מעבר שורה שורה. F11 - כמו F10 רק עם כניסה לתוך פונקציות. SHIFT + F5 - יציאה מה DEBUGGER.

בתוכנית שלנו ישנן שגיאות לוגיות, אנחנו נשתמש ב- Debugger על מנת למצוא ולתקן אותן באופן הבא: קבע נקודת העצירה ( F9 ) בשורה שמתחילה ב void main בתחילת השורה יופיע סמל בצבע אדום. הרץ את התכנית ( F5 ). לאחר עצירת התכנית בנקודה הקבועה מופיע על המסך חץ צהוב )בתוך העיגול האדום ( המצביע על הפקודה הבאה אשר תתבצע. בחלק התחתון של המסך מופיעה טבלת המשתנים .בטבלה זו ניתן לבחון את הערכים הנוכחיים של המשתנים השונים בתוכנית )שימו לב שלפעמים לא כולם מופיעים - בהמשך הקורס נלמד מדוע(. בצע את התכנית צעד-צעד ע"י לחצת F10 . במהלך ההרצה הסתכל בטבלת המשתנים. ערכים שהשתנו בצעד האחרון - נצבעים בצבע אדום. לאחר כל לחיצה על F10 החץ הצהוב מתקדם בשורה אחת. אם החץ הצהוב מצביע על השורה המתחילה ב area הקישו F11 )במקום (F10 ע"מ להיכנס לתוך הפונקציות בשל לראות את החישוב שמתבצע. אם מצאת שגיאה צא מה- Debugger ע"י Shift + F5 . בזמן תהליך ה - debug ניתן להצביע על משתנה כלשהוא )עם העכבר( ולראות את תוכנו ובנוסף ניתן להתערב ולשנות ערכים של משתנים באמצע ההרצה.