סדנת תכנות ב C/C++

מסמכים קשורים
שאלהIgal : מערכים דו מימדיים רקורסיה:

PowerPoint Presentation

Microsoft Word B

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

הגשה תוך שבוע בשעת התרגול

Microsoft Word - c_SimA_MoedB2005.doc

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

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

שקופית 1

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

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

Slide 1

PRESENTATION NAME

מבוא למדעי המחשב

Microsoft PowerPoint - rec1.ppt

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

שאלהIgal : מערכים דו מימדיים רקורסיה:

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

Slide 1

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

שאלהIgal : מערכים דו מימדיים רקורסיה:

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

Tutorial 11

Slide 1

מבוא למדעי המחשב - חובלים

Slide 1

מבוא למדעי המחשב - חובלים

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

מבוא למדעי המחשב

Slide 1

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

מהוא לתכנות ב- JAVA מעבדה 3

PowerPoint Presentation

הגשה תוך שבוע בשעת התרגול

PowerPoint Presentation

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

מצגת של PowerPoint

תרגול 1

Slide 1

234114

Microsoft PowerPoint - lec2.ppt

Slide 1

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

PowerPoint Presentation

PowerPoint Presentation

Homework Dry 3

תכנות מונחה עצמים א' – תש"ע

Microsoft Word - c_SimA_MoedA2006.doc

Microsoft PowerPoint - rec3.ppt

Slide 1

תרגול מס' 1

Slide 1

מבוא למדעי המחשב

Slide 1

1 תבניות טקסט מהי תבנית טקסט? שימוש ב- Characters Meta שימוש ב- Expression Grouping שימוש ב- Quantifiers תת תבניות הפונקציה preg_match הפונקציה preg_m

Slide 1

úåëðä 1 - çæøä

PowerPoint Presentation

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

Microsoft Word - דוגמאות ב

Slide 1

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

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

מבוא למדעי המחשב

תוכן העניינים

תוכן העניינים

PowerPoint Presentation

מבוא למדעי המחשב

שיעור 1

Slide 1

PowerPoint Presentation

תרגול 3 - מערכים

מבוא למדעי המחשב

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

Slide 1

תרגול מס' 7: תרגילים מתקדמים ברקורסיה

תכנון אלגוריתמים עבודת בית 4: תכנון אלגוריתמים תאריך הגשה: 02: , בצהריים,תא מספר 66 בקומת כניסה של בניין 003 מתרגל אחראי: אורי 0

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

תרגיל בית מספר 1#

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

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

תרגיל 9 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. תהי L השפה בעלת סימן פונקצייה דו מקומי G, סימן פונקציה חד מקומי T, סימן יחס תלת מקומי.c, d וקבועים L

ex1-bash

שאלה 2. תכנות ב - CShell

תרגול 1

מערכות הפעלה

מתכונת עיצוב 3013

Programming

Microsoft Word - pitaron222Java_2007.doc

PowerPoint Presentation

Slide 1

תמליל:

פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: 15.2.2017 משך הבחינה: שעתיים שם המרצה: ד"ר אופיר פלא חומר עזר: פתוח שימוש במחשבון: לא הוראות כלליות: הניסוח הוא בלשון זכר מטעמי נוחות ומתייחס לכולם/ן! אין בחירה במבחן. יש לענות על כל השאלות. ניתן להסתמך על כל סעיף במבחן גם אם לא פתרתם אותו על מנת לפתור סעיף אחר במבחן. ניתן לרשום לא יודע/ת על סעיף ולזכות ב 20% מהנקודות המוקנות לסעיף הספציפי. במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן לסעיף יהיה 0 מבלי שהתשובה תיקרא. אם לא רשום דבר בסעיף או שזה כלל לא נמצא ההנחה היא שנרשם לא יודע/ת עבור אותו סעיף. יורדו נקודות על פתרון נכון שאינו אופטימלי בהתייחס לנלמד בקורס. לכל אורך הבחינה הניחו כי: sizeof (char) = 1 sizeof (int) = 4 sizeof (double) = 8 sizeof (void *) = 8 sizeof (size_t) = 8

שאלה (15 1 נק ) סטודנט למד כי ניתן לייעל גישה לאיברי מערך דו-מימדי, על ידי גישה חד מימדית. לצורך כך הוא כתב את הפונקציה ותכנית הבדיקה הבאה. #include <stdio.h> #define COLS 5 #define ROWS 3 int GetNthItem (int arr[rows][cols], size_t n) return *((int*)(arr+n)); int main () int arr[rows][cols] = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; printf ("%d\n", GetNthItem(arr,2)); return 0; א. [10 נק'] מה יהיה הפלט של ריצת התכנית, נמקו. ב. [5 נק'] תקנו את הפונקציה GetNthElement כך שהיא תעבוד היטב תחזיר את האיבר ה- n מתחילת המערך בזיכרון, כאילו המערך היה חד מימדי. כלומר, ה- output של התוכנית צריך להיות 3. (אין לשנות את הפרוטוטייפ של הפונקציה). שאלה (15 2 נק ) מתכנת כתב מקרו בכדי ליעל את פעולת ההחלפה של מחרוזות אחת בשנייה. לצורך בדיקת הרעיון שלו הוא עשה שימוש במקרו בתכנית הבדיקה הבאה: #include <stdio.h> #define STR_SWAP(a,b) char* t=a; a=b; b=t; int main () char str1 [] = "B"; char str2 [] = "A";

printf ("%s %s\n", str1, str2); STR_SWAP (str1,str2); printf ("%s %s\n", str1, str2); return 0; void STR_SWAP (char a[], char b[]) char *t=a; a=b; b=t; א. [5 נק'] להפתעתו, התקבלה שגיאת קומפילציה, הסבירו מדוע. ב. [10 נק'] בכדי להתגבר על הבעיה הוא החליף את המקרו בפונקציה הבאה: מה יהיה הפלט של קימפול והרצת התכנית (במידה והקימפול נכשל, אין צורך לפרט מהו פלט הריצה, ובמידה והקימפול מצליח יש לפרט במדוייק מהו הפלט של ריצת התכנית). הסבר. שאלה (20 3 נק ) בהנחה ש sizeof שלstruct שווה לסכום מרכיביו, ובהתייחס לקטע הקוד הבא: 1. #include <stdlib.h> 2. struct B 3. 4. int *_arr; 5. ; 6. struct A 7. 8. struct B *_pb; 9. ; 10. 11. 12. int main() 13. 14. struct A a; 15. struct B *pb = (struct B*)malloc(sizeof (struct B)); 16. 17. int arr[5] = 1,2,3,4,5; 18. pb->_arr = arr; 19. a._pb = pb; 20. 21. 22. struct A *pa = (struct A*)malloc(sizeof (struct A)); 23. *pa = a; 24.

א. [16 נק'] 25. 26. //<free code> 27. 28. return 0; 29. הטבלה הבאה מכילה כתובות. עליכם לציין לכל כתובת את המיקום שלה בזיכרון (בהתייחס לשמם ולשלב הריצה כאשר התוכנית סיימה לבצע את מספר השורה שבסוגריים): מחסנית, גלובלי, ערימה דינמית, איזור הקוד, לא מוגדר. לדוגמא הכתובת a& לאחר שורה 14 היא כתובת במחסנית. הניחו שכל ההקצאות הדינמיות מצליחות. מיקום כתובת a._pb (14) &pb (15) pb (15) &(pb->_arr[3]) (15) &(pb->_arr[3]) (18) arr+3 (18) &pa (23) pa->_pb (23) ב. [4 נק'] הוסיפו קוד לשחרור כל הזכרון בתכנית. שאלה (50 4 נק ) א. (30 נק ) בשאלה זו יש לממש את הפונקציה swap_slow_sort אשר חתימתה ותיעודה זהים לפונקציה qsort מהספרייה הסטנדרטית שלמדנו בכיתה. השוני הוא במימוש. בשאלה זו אתם מתבקשים לממש מיון אשר מחליף רנדומית כל פעם זוג איברים במערך עד שהמערך הופך לממויין. חתימת הפונקציה: void swap_slow_sort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); תיעוד הפונקציה:

The swap_slow_sort() function sorts an array with nmemb elements of size size. The base argument points to the start of the array. The contents of the array are sorted in ascending order according to a comparison function pointed to by compar, which is called with two arguments that point to the objects being compared. The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second. If two members compare as equal, their order in the sorted array is undefined. הנחיות נוספות: /// Swaps two blocks of memory. /// We assume the blocks don't overlap. /// /// \param p1,p2 - the blocks to swap. /// \param size - the size of the blocks. void memswap_ptr(void* p1, void* p2, size_t size); return 1 + (rand() % 10); מותר להשתמש בפונקציה memswap_ptr שראיתם בשיעור: השורה הבאה מגרילה מספר בין 1 ל 10 (כולל): הקפידו על כל כללי התכנות הנכונים שלמדתם בשיעור, כולל כתיבת פונקציות עזר וכו! אין צורך להכליל את הקבצים הדרושים לשימוש בפונקציות הספרייה הסטנדרטית. ב. (20 נק ) כתבו Google test לקוד שכתבתם בסעיף א. שימו לב, אין צורך לכתוב את ההכללות אלא אך ורק את ה.TEST macros כמו כן מספיק לבדוק את הקוד עם מערך של ints כאשר INT_MIN הוא הערך הקטן ביותר ש int יכול לקבל ו INT_MAX הוא הערך הגדול ביותר ש int יכול לקבל. יש לכתוב קוד מלא אך אם יש חזרה על קוד אפשר לסמן שורות ולכתוב שהן חוזרות. בהצלחה!