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

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

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

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

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

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

Microsoft Word - c_SimA_MoedB2005.doc

Microsoft Word B

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

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

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

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

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

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

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

PowerPoint Presentation

Slide 1

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

234114

PRESENTATION NAME

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

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

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

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

Tutorial 11

Microsoft Word - c_SimA_MoedA2006.doc

Slide 1

הטכניון מכון טכנולוגי לישראל אלגוריתמים 1 )443432( סמסטר חורף הפקולטה למדעי המחשב תרגול 9 מסלולים קלים ביותר תרגיל APSP - 1 עד כה דנו באלגור

PowerPoint Presentation

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

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

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

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

תרגול 1

Slide 1

Microsoft PowerPoint - rec1.ppt

Programming

Slide 1

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

תכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח

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

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

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

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

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

Slide 1

תיק משימטיקה מגרף הנגזרת לגרף הפונקציה להנגשה פרטנית נא לפנות: כל הזכויות שמורות

Slide 1

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

Microsoft Word - דוגמאות ב

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

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

שעור 6

Microsoft Word - ExamA_Final_Solution.docx

PowerPoint Presentation

Slide 1

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

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

תרגול מס' 1

<4D F736F F D20EEF9E5E5E0E5FA20E3E9F4F8F0F6E9E0ECE9E5FA2E646F63>

PowerPoint Presentation

2019 שאלות מומלצות לתרגול מס' דיפרנציאביליות של פונקציה סקלרית )המשך(. כלל השרשרת. S = ( x, y, z) z = x + 3y על המשטח מצאו נקודה בה מישור משיק

מס' ת"ז מס' מחברת מבחן בקורס מבוא מורחב למדעי המחשב CS1001.py ביה"ס למדעי המחשב, אונ' תל אביב סמסטר א' , מועד ב, 23/3/2018 מרצים: דניאל דויטש,

תרגול מס' 7 – חזרה על MST ואלגוריתם Dijkstra

Microsoft PowerPoint - rec3.ppt

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

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

Microsoft PowerPoint - lec2.ppt

אוניברסיטת תל אביב - בית הספר למדעי המחשב מבוא מורחב למדעי המחשב, אביב 2019 תרגיל בית מספר - 2 להגשה עד 02/04/2019 בשעה 23:55 קיראו בעיון את הנחיות הע

PowerPoint Presentation

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

Slide 1

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

Slide 1

מבוא לאנליזה נומרית na191 Assignment 2 solution - Finding Roots of Nonlinear Equations y cos(x) שאלה 1 היכן נחתכים הגרפים של? y x 3 1 ושל ממש פתרונות

Microsoft Word - pitaron222Java_2007.doc

מטלת מנחה (ממ"ן) 11 הקורס: חשבון אינפיניטסימלי II חומר הלימוד למטלה: יחידות 2,1 4 מספר השאלות: 7 משקל המטלה: נקודות סמסטר: ב 2007 מו

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

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

Microsoft Word - עבודת פסח לכיתה י 5 יחל.doc

ex1-bash

<4D F736F F D20F4FAF8E5EF20EEE5F2E320E020F1EEF1E8F820E120FAF9F2E3>

שיעור 1

מקביליות

מקביליות

תוכן העניינים: פרק צמצומים ומימושים של פונקציות בוליאניות... 2 צמצומים של פונקציות באמצעות מפת קרנו:...2 שאלות:... 2 תשובות סופיות:... 4 צמצום

לנץ קרן מרצה: תכנותמונחהעצמים) ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחי

Slide 1

Slide 1

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

PowerPoint Presentation

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

בס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנ

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

Slide 1

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

תמליל:

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', 6.2.2012 הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה מהכיתה במהלך הבחינה אסורה. 3. אין להשתמש בכל חומר עזר. 4. ודאו כי בטופס שבידיכם 10 עמודים. עליכם לכתוב את התשובות על הטופס ולהגיש את כל הטופס ואת הטופס בלבד. 5. קראו היטב כל שאלה וודאו שאתם מבינים אותה לפני שתתחילו לענות עליה. אם יש שאלות, פנו למרצה או למתרגלים. 6. כתבו בכתב יד ברור וקריא. ניתן לכתוב בעיפרון. 7. ניתן לכתוב הערות בעברית, גם בגוף פונקציות C. 8. אם לא נכתב אחרת, כאשר אתם מתבקשים להגדיר פונקציה, עליכם להגדיר פונקציה אחת בדיוק. אין להגדיר או להשתמש בפונקציות נוספות. 9. אם לא נכתב אחרת, מותר להשתמש בפונקציות וקבועים שנלמדו בכיתה מתוך הספריות stdio ו- stdlib בלבד.לא ניתן להשתמש בפונקציות שלא נלמדו בכיתה. 10. אם מוגדרות דרישות סיבוכיות, על הפתרון שלכם לעמוד בהן. פתרון שלא יעמוד בדרישות הסיבוכיות לא יזכה בנקודות כלל. בהצלחה! שאלה 1 2 3 ציון /30 /30 /40 סה"כ 1

שאלה (30%) 1 double Mystery1(double x, int n) int i; double temp=1.; for(i=1;i<=n;i++) temp *= Mystery2(x,i); temp *= temp; for(i=0;i<n;i++) temp /= Mystery2(x,n); return temp; נתונה הגדרה של שתי פונקציות: double Mystery2(double x, int n) if(n==0) return 1; else return x*mystery2(x,n-1); א. (10%) הסבירו בקצרה ובדייקנות מה מחשבת Mystery1(x,n) כפונקציה של x ו- n. הניחו ש- n אינו שלילי. שימו לב שטעות בסעיף זה תשרה טעות נגררת בשאר הבעיה: עליכם לדייק כאן! התכנית מחשבת ומחזירה את x n ב. (5%) מהי הסיבוכיות (הכוללת) של,Mystery1 כפונקציה של n? O(n 2 ) 2

ג. (15%) הגדירו פונקציה שקולה ל- Mystery1 שהסיבוכיות שלה (n.o(log לא ניתן להשתמש בפונקציות חיצוניות ולא ניתן להגדיר יותר מפונקציה אחת בבעיה זו. אם אינכם מוצאים פתרון, הגדירו פונקציה בסיבוכיות,O(n) עבור 5 נקודות. double f(double x, int n) double temp; if(n==0) return 1; temp = f(x,n/2); if(n%2 == 0) return temp*temp; return x*temp*temp; 3

שאלה (30%) 2 נתונה ההגדרה הבאה של צמתים בעץ בינארי: typedef struct tnode *Tnodep; typedef struct tnode int contents; /* contents of the node */ Tnodep left, right; /* left and right children */ Tnode; הגדירו פונקציה שחתימתה: int same (Tnodep root1, Tnodep root2); הפונקציה מקבלת שני מצביעים לעצים בינאריים, ומחזירה 1 אם העצים זהים, 0 אחרת. שני עצים הם זהים אם המבנה שלהם זהה, ואם תוכן הצמתים באותו מקום במבנה זהה אף הוא. למשל, העצים הבאים אינם זהים, אבל תתי העצים של שניהם, שהשורש שלהם הוא 2, זהים: 7 7 / \ / \ 3 2 3 2 / / \ / / \ 5 1 3 9 1 3 6 6 הבהרות: בעץ בינארי לכל צומת לכל היותר שני בנים (אך אולי פחות). 1. אסור לפונקציה להרוס את מבני העצים שהיא מקבלת כקלט. 2. לא ניתן להשתמש בפונקציה במשתנים חיצוניים או סטטיים. 3. לא ניתן להגדיר יותר מפונקציה אחת. 4. 4

int same(tnodep r1, Tnodep r2) if (r1==null && r2==null) return 1; else if (r1==null && r2!=null) return 0; else if (r1!=null && r2==null) return 0; else return (r1->contents==r2->contents && same(r1->left,r2->left) && same(r1->right,r2->right)); 5

שאלה (40%) 3 מערך בגודל n של שלמים הוא דליל אם לכל היותר SIZE מהתאים בו מכילים ערכים שאינם 0. בשאלה זו הניחו ש- SIZE הוא קבוע, למשל 100. כרגיל, נניח ש- n גדול, ובפרט גדול בהרבה מ- SIZE. בשאלה זו עליכם למצוא ייצוג חסכוני בזיכרון עבור מערך דליל. 1 0 2 0 3 0 4 0 0 0 5 0 0 0 0 1 2 3 4 0 0 0 0 0 0 0 0 1 0 0 0 לדוגמה, אם SIZE=5 אזי המערכים הבאים דלילים: 1 n 1.(5%) הגדירו פונקציה המקבלת מערך של שלמים a דליל, 0 אחרת. ואת גודלו ומחזירה אם המערך int is_sparse(int a[], int n) int i,count=0; for (i=0; i<n; i++) if (a[i]) count++; return (count<=size); 6

2. (10%) הציעו מבנה נתונים חסכוני במקום כדי לאחסן בו את האברים של מערך דליל. הפיתרון צריך לאפשר המרה של מערך דליל למבנה שהצעתם ובחזרה בסיבוכיות.O(n) כמו כן, הזיכרון הנדרש כדי לאחסן מערך דליל בגודל n צריך להיות ליניארי ב- SIZE, ולא תלוי ב-.n תארו במילים את המבנה המוצע: רשומה ובה שני שדות: השדה storage הוא מערך בגודל SIZE של זוגות, שכל אחד מהם מורכב משני שלמים: index המציין אינדקס של תא במערך המקורי שבו מספר שאינו אפס; ו- value השומר את ערך האבר באותו האינדקס. השדה השני ברשומה,,size מכיל את גודלו של המערך המקורי. הגדירו טיפוס נתונים בשם SparseArray המממש את הפתרון המוצע: typedef struct int size; struct int index; int value; storage[size]; SparseArray; 7

3. (10%) הגדירו פונקציה הממירה מערך דליל למבנה הנתונים שהצעתם. הפונקציה מקבלת מערך דליל a ואת אורכו n וכן מצביע s למבנה מטיפוס,SparseArray ומחזירה מספר שלם, שהוא גודל המבנה s. כמובן, על הפונקציה לייצג את המערך a במבנה s. int array_to_sparse (int a[], int n, SparseArray *s); 4. (10%) הגדירו פונקציה הממירה את מבנה הנתונים שהצעתם למערך רגיל. הפונקציה מקבלת מצביע s למבנה שהצעתם, ומספר שלם המציין את גודל המבנה. כמו כן היא מקבלת כתובת של מערך שבו יש לאחסן את נתוני המבנה. היא מחזירה מספר שלם המציין את גודל המערך. int sparse_to_array (SparseArray *s, int k, int a[]); על כל אחת משתי הפונקציות לעבוד בסיבוכיות.O(n) כמו כן, אם a הוא מערך בגודל n אזי ביצוע שתי ההוראות הבאות: k = array_to_sparse(a,n,&s); n = sparse_to_array(&s,k,a); לא ישנה כלל את התוכן של a ואת הערך של n. 8

int array_to_sparse (int a[], int n, SparseArray *s) int i,j=0; for (i=0; i<n; i++) while (i<n && 0==a[i]) i++; if (i<n) (s->storage)[j].index = i; (s->storage)[j].value = a[i]; j++; s->size = n; return j; 9

int sparse_to_array (SparseArray *s, int len, int a[]) int i,j=0; for (i=0; i < len; i++) while (j<(s->storage)[i].index) a[j]=0; j++; a[j]=(s->storage)[i].value; j++; while (j<s->size) a[j]=0; j++; return j; 10