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

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

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

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

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

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

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

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

Tutorial 11

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

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

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

Microsoft Word - c_SimA_MoedB2005.doc

Slide 1

Slide 1

Microsoft Word B

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

Slide 1

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

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

Microsoft PowerPoint - rec1.ppt

Microsoft Word - c_SimA_MoedA2006.doc

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

Slide 1

Slide 1

תרגול 1

234114

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

PowerPoint Presentation

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

Slide 1

PRESENTATION NAME

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

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

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

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

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

Slide 1

Slide 1

PowerPoint Presentation

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

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

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

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

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

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

שקופית 1

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

PowerPoint Presentation

Slide 1

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

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

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

Microsoft Word - דוגמאות ב

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

Slide 1

PowerPoint Presentation

PowerPoint Presentation

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

ex1-bash

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

Slide 1

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

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - rec3.ppt

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

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

Homework Dry 3

מקביליות

תרגול 1

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

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

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

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

Microsoft Word - pitaron222Java_2007.doc

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

תכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה

PowerPoint Presentation

Data Structure Assignment no.3 תאריך הגשה: p.m. 11/09/16, 23:59 את העבודה יש להגיש בזוגות במערכת ההגשות.submission system על העבודה להיות מוגשות כקובץ

Microsoft PowerPoint - YL-05.ppt

PowerPoint Presentation

HTML - Hipper Text Makeup Language

שעור 6

Programming

úåëðä 1 - çæøä

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

מועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מו

PowerPoint Presentation

פרק ג': עיצובים

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

מבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2

Microsoft Word - review-sol-Prog123.doc

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

מס' סידורי: ת.ז.: עמוד 1 מתוך 20 בחינה בתוכנה 1 סמסטר ב', מועד א',תשס"ט 5/7/2009 וולף, ליאור ליאור שפירא, נעמה מאיר, מתי שמרת הוראות )נא לקרוא!( משך ה

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

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

תמליל:

עמוד 1 מתוך 11 תשע"א מועד ב סמסטר א' 14.2.2011 תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי המחשב יש לענות על כל 5 השאלות. בכל השאלות במבחן יש לכתוב פונקציות יעילות ככל האפשר גם בזמן וגם בזיכרון. שימרו על כללי תכנות מודולארי. הגדירו קבועים היכן שצריך וכתבו פונקציות עזר. יש לשחרר את כל שטחי הזיכרון שהוקצו דינאמית כאשר אין בהם צורך יותר. אין צורך לבדוק הצלחה של הקצאות דינאמיות. בכל השאלות במבחן ניתן להניח שהקלט תקין. אלא אם נאמר אחרת, ניתן להשתמש )מבלי לממש( בכל הפונקציות הנתונות בעמוד 2 של מבחן זה. אין צורך לתעד את הפונקציות. יש לכתוב ת"ז ומספר מחברת בראש כל עמוד. עמוד ללא ת"ז בראשו לא ייבדק. יש לענות על כל שאלה במקום שמיועד לה בגוף השאלון. המחברות הן טיוטה בלבד ולא תיבדקנה. שימו לב כי הבחינה כוללת 55 עמודים, כולל עמוד זה. בהצלחה!

עמוד 2 מתוך 11 רשימת פונקציות ספריה מותרות לשימוש: ספריה String.h String.h String.h String.h stdlib.h stdlib.h math.h math.h math.h iostream iostream iostream iostream פונקציה int strlen(char str[]) void strcpy(char dest[], char src[]) void strcat(char dest[], char src[]) int strcmp(char s1[], char s2[]) int max(int a, int b) int min(int a, int b) double pow(double base, double exp) double sqrt(double x) double fabs(double x) Cout Cin char cin.get(char& outch) void cin.getline(char outstr[], int max, char delimiter)

עמוד 3 מתוך 11 שאלה )20 5 נקודות(: הניחו כי מוגדר הקבוע הבא: const int MAX_SIZE=100; כתבו את הפונקציה: int sumframe(int mat[][max_size], int matsize, int framesize); = מספר מטריצה ריבועית )מספר שורות את,Mat כקלט הפונקציה מקבלת עמודות( של מספרים שלמים. הפונקציה מקבלת גם את, matsize גודלה הלוגי של ולכן גם כמה עמודות במטריצה שמציין כמה שורות יש במטריצה,Mat framesize את סכום המספרים במסגרת בגודל.)matSize MAX_SIZE( הפונקציה מחשבת ומחזירה בחישוב סכום המספרים במסגרת יש לסכם את המספרים הנמצאים )שלם חיובי(. ב: framesize השורות הראשונות framesize השורות האחרונות framesize העמודות הימניות framesize העמודות השמאליות. שימו לב שיש לסכם בדיוק פעם אחת כל מספר, למשל לסכם רק פעם אחת את המספר המופיע בשורה הראשונה בעמודה הימנית. הניחו ש- framesize < 0.5 * matsize דוגמה: עבור המטריצה Mat הבאה )שעבורה 7= (matsize 3 61 7 5 61 3-2 -1 2-3 -2 65-7 0 61 2-70 15 2 63 1 7 1 5 1 3 2 6 1 32 61-21 3-12 23 2 63 61 3-2 0 0 62 62 23 1-3 -2 6

עמוד 4 מתוך 11 הקריאה sumframe(mat,7,1) תסכם את המספרים שבמשבצות הכהות )כל מספר מסוכם בדיוק פעם אחת( 3 61 7 5 61 3-2 -1 2-3 -2 65-7 0 61 2-70 15 2 63 1 7 1 5 1 3 2 6 1 32 61-21 3-12 23 2 63 61 3-2 0 0 62 62 23 1-3 -2 6 ותחזיר את הסכום: -2+3+14+5+7+16+3+0-1+4+14+1+7+23+4+0+2+1-2-3+4+23+12+12 =147 ואילו sumframe(mat,7,3) הקריאה תסכם את המספרים שבמשבצות הכהות )כל מספר מסוכם בדיוק פעם אחת( 3 61 7 5 61 3-2 -1 2-3 -2 65-7 0 61 2-70 15 2 63 1 7 1 5 4 3 2 6 1 32 61-21 3-12 23 2 63 61 3-2 0 0 62 62 23 1-3 -2 6 ותחזיר את הסכום 221.

עמוד 1 מתוך 11 int sumframe(int Mat[][MAX_SIZE], int matsize, int framesize) int i,j ; int sum ; sum = 0 ; //first framesize lines for (i = 0 ; i < framesize ; i++) for (j = 0 ; j < matsize ; j++) sum += Mat[i][j] ; //middle (matsize 2frameSize) lines for (i = framesize ; i < matsize - framesize ; i++) for (j = 0 ; j < framesize ; j++) sum += Mat[i][j] ; for (j = matsize framesize ; j < masize ; j++) sum += Mat[i][j] ; //last framesize lines for (i = matsize framesize ; i < matsize ; i++) for (j = 0 ; j < matsize ; j++) sum += Mat[i][j] ; return (sum) ;

עמוד 6 מתוך 11 שאלה )22 2 נקודות(: כתבו את הפונקציה bool one2one(int arr[], int size); הפונקציה מקבלת כקלט מערך arr של מספרים שלמים אי-שליליים, הנמצאים בתחום 0,1..,3*size-1 ואת גודלו size )שלם חיובי(. הפונקציה מחזירה true אם ורק אם כל אחד מהמספרים במערך מופיע בו בדיוק פעם אחת )שימו לב שלא ייתכן שכל המספרים בתחום מופיעים במערך(. תחזיר את הערך,true כי כל מספר one2one([13,12,4,5,1,2],6) דוגמאות הקריאה מופיע בדיוק פעם אחת.,false כי 13 מופיע הקריאה one2one([1,13,4,5,13,2],6) תחזיר את הערך פעמיים.

עמוד 7 מתוך 11 bool one2one(int arr[], int size) int i; bool res ; bool *foundarr ; foundarr = new bool[3*size] ; for (i = 0 ; i < 3 * size ; i++) foundarr[i] = false ; res = true ; for (i = 0 ; (i < size) && res ; i++) if (! foundarr[ arr[i] ]) foundarr[ arr[i] ] = true ; else // already found res = false ; delete [] foundarr; return(res) ;

עמוד 8 מתוך 11 שאלה 3 א )52 נקודות(: כתבו מימוש רקורסיבי של הפונקציה: bool notfar(int data[], int size, int dist); הפונקציה מקבלת כקלט מערך data של מספרים שלמים, ואת גודלו size )שלם חיובי( ומספר שלם חיובי.dist הפונקציה מחזירה ערך true אם ורק אם המרחק בין כל שני מספרים סמוכים במערך )כלומר באינדקסים עוקבים( הוא לכל היותר.dist הערה: המרחק בין שני ערכים מוגדר להיות הערך המוחלט של הפרשם. דוגמאות: הקריאה notfar([-2,3,5,1,-4,-3],6,5) תחזיר.true הקריאה notfar([-2,3,5,1,-5,-3],6,5) תחזיר false כי המרחק בין 6 ל- 5 - גדול מדי.

עמוד 9 מתוך 11 bool notfar(int data[], int size, int dist) bool res ; if (size == 1) return( true) ; else res = notfar(data, size -1, dist) ; if (res) return ( (data[size-2] data[size-1] < dist)&& (data[size-1] data[size-2]< dist)); else return (false) ;

עמוד 11 מתוך 11 שאלה 3 ב )53 נקודות(: כתבו מימוש רקורסיבי של הפונקציה int biggestlowpower(int x, int num); x הפונקציה מקבלת המכסימאלית של x שני מספרים שלמים חיוביים ו-,num ומחזירה את החזקה y.num שלם אי-שלילי(, הקטנה או שווה ל- y עבור, x ( דוגמאות הקריאה 256) biggestlowpower(2, תחזיר ( 256 8.)2 הקריאה 200) biggestlowpower(2, תחזיר ( 128 7,)2 ( 8 2 גדול מ- 200.) הקריאה 20) biggestlowpower(12, תחזיר ( 12 1 )12. הקריאה 2) biggestlowpower(12, תחזיר ( 1 0 )12

עמוד 11 מתוך 11 int biggestlowpower(int x, int num) if (x > num) return(1) ; else return ( x* biggestlowpower(x, num/x) )

עמוד 12 מתוך 11 שאלה )15 4 נקודות(: לרשותכם עומדת הפונקציה: int strstr( char s1[], char s2[] ); הפונקציה מקבלת כקלט שתי מחרוזות s1 ו- s2, כאשר s2 אינה ריקה, ומחפשת את המופע הראשון של המחרוזת s2 במחרוזת s1 ומחזירה את מיקומו או 1- אם s1. אינה מופיעה ב- s2 דוגמאות הקריאה strstr("abcabcdedede","abc") תחזיר 0. הקריאה strstr("abcabcdedede","de") תחזיר 1. ef -1 הקריאה strstr("abcabcdedede","ef") תחזיר כי המחרוזת לא מופיעה במחרוזת הראשונה. dd -1 הקריאה strstr("abcabcdedede","dd") תחזיר כי המחרוזת לא מופיעה במחרוזת הראשונה. הערה: אין צורך לממש פונקציה זו!!! כתבו את הפונקציה: int laststrstr(char s1[], char s2[]); תוך שימוש בפונקציה strstr כפונקצית עזר. הפונקציה מקבלת כקלט שתי מחרוזות s1 ו s2, כאשר s2 אינה ריקה, ומחפשת את המופע האחרון של המחרוזת s2 במחרוזת s1 ומחזירה את מיקומו או 1- אם s1. אינה מופיעה ב- s2 דוגמאות הקריאה laststrstr("abcabcdedede","abc") תחזיר 3. הקריאה laststrstr("abcabcdedede","de") תחזיר 60. הקריאה laststrstr("abcabcdedede","ef") תחזיר -1. הקריאה laststrstr("abcabcdedede","dd") תחזיר -1.

עמוד 13 מתוך 11 int laststrstr(char s1[], char s2[]) int place ; int currplace ; place = -1 ; currplace = strstr(s1,s2) ; while(currplace!= -1) place += (currplace +1) ; // Adding one: //in the first time to overcome the //initial value -1, in the other times //to overcome the fact we started from //place+1 currplace = strstr(s1 + place + 1, s2) ; return(place) ;

עמוד 14 מתוך 11 const int MAX_NAME_LEN = 100; const int MAX_NUM_OF_CHILDREN = 20; שאלה )22 5 נקודות(: נתונים הקבועים הבאים: נתונה ההגדרה הבאה לייצוג משפחה: struct family שדה המכיל את שם המשפחה // name[max_name_len]; char שדה המכיל את מספר הילדים// int numchildren; מערך של גילאי הילדים // ages[max_num_of_children]; int ; typedef struct family Family; כתבו את הפונקציה הבאה: int numchildren(family fams[], int size, char ch, int minage); הפונקציה מקבלת כקלט מערך fams של משפחות ואת גודלו size )שלם חיובי(, כמו כן הפונקציה מקבלת כקלט אות,ch ושלם.minAge הפונקציה מחזירה את המספר הכולל של הילדים שגילם לפחות,minAge ושם משפחתם מתחיל באות.ch

עמוד 11 מתוך 11 int numchildren(family fams[], int size, char ch, int minage) int i ; int count ; count = 0 ; for (i = 0 ; i < size ; i++) if (fams[i].name[0] == ch) for (j = 0; j < fams[i].numchildren ; j++) if (fams[i].ages[j] >= minage) count += fams[i].ages[j] ; return(count) ;