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

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

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

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

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

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

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

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

Slide 1

Microsoft Word - c_SimA_MoedB2005.doc

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

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

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

PowerPoint Presentation

Microsoft Word B

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

Slide 1

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

Slide 1

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

Slide 1

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

תרגול 1

Slide 1

PowerPoint Presentation

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

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

Slide 1

Tutorial 11

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

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

PRESENTATION NAME

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

PowerPoint Presentation

Slide 1

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

שקופית 1

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

Slide 1

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

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

ex1-bash

Microsoft Word - pitaron222Java_2007.doc

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

Microsoft PowerPoint - rec1.ppt

Microsoft Word - c_SimA_MoedA2006.doc

PowerPoint Presentation

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

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

Programming

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

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

Microsoft PowerPoint - rec3.ppt

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

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

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

דוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמט

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

234114

Microsoft PowerPoint - YL-05.ppt

PowerPoint Presentation

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

שעור 6

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

PowerPoint Presentation

PowerPoint Presentation

Microsoft Word - דוגמאות ב

Slide 1

HTML - Hipper Text Makeup Language

Slide 1

פתרון מבחן במיקרו בקרים תשעו

Microsoft Word - review-sol-Prog123.doc

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

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

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

Slide 1

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

תרגול 1

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

Microsoft PowerPoint - lec2.ppt

<4D F736F F D20F4F2E5ECE5FA20EEE5EEF6E0E5FA20312E646F63>

Microsoft Word - Ass1Bgu2019b_java docx

תכנות בשפת פייתון ברק גונן

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

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

Slide 1

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

מקביליות

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

פייתון

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

úåëðä 1 - çæøä

תרגול 1

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

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

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

תמליל:

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9. הדפסה ראשונה: מתבצעת לולאה שרצה מאפס עד אורך המחרוזת. אם התו הנבדק הוא ספרה אי זוגית ערכו של ו, אינדקס הלולאה, מועלה ב 1 02468 הדפסה שנייה: מתבצעת לולאה שמדפיסה את הספרות בסדר יורד. 9876543210 הדפסה שלישית: ולכן מודפסות רק הספרות הזוגיות. מתבצעת לולאה שרצה מאפס עד מחצית גודלה של המחרוזת, כאשר אינדקס הלולאה גדל בארבע בכל סיבוב לולאה. שני ה- case הראשונים לא כוללים,break ולכן בעבור המקרה שבו התו הוא '0', יתבצע גם.case '2' וגם case '1' כאשר נבדק התו '4' - יודפס הפלט שמופיע ב.default aa0end שאלה מספר 2 char *encode_str(char *str, char num) int i, count; char temp = num; char *pstr = strdup(str); for (i = 0 ; i <strlen(str); i++) if (str[i]!= ' ' &&!((str[i] >= 'a' && str[i] <= 'z') (str[i] >= 'A' && str[i] <= 'Z'))) return NULL; for (i = 0, count=0; i <strlen(str); i++) //return to new cycle if (count == 8) temp = num; count = 0; //check if it is an alpha char עמוד 1

'a')); - 'A')); pstr[i]); pstr[i]); if(str[i]!=' ') //check if it is 0 or 1 switch (temp & 0x001) case 0: count++; if (pstr[i] >= 'a' && pstr[i] <= 'z') if (pstr[i] - 3 < 'a') pstr[i] = 'z' -(2- (pstr[i]- pstr[i] = pstr[i] - 3; if (pstr[i] - 3 < 'A') pstr[i] = 'Z' - (2 - (pstr[i] pstr[i] = pstr[i] - 3; temp = temp >> 1; break; case 1: count++; if (pstr[i] >= 'a' && pstr[i] <= 'z') if (pstr[i] + 3 > 'z') pstr[i] = 'a' + 2 - ('z' - pstr[i] = pstr[i] + 3; if (pstr[i] + 3 > 'Z') pstr[i] = 'A' + 3 - ('Z' - pstr[i] = pstr[i] + 3; temp = temp >> 1; return pstr; int main() char str[] = "Hello I am Fine"; char *str1; char num = 0x3a; str1 = encode_str(str, num); עמוד 2

printf("%s", str1); return 0; בדוגמה לעיל הפלט יהיה: Ehior L xj Clkh פתרון נוסף )באדיבות מני מאורט סינגלובסקי( char *encode_str(char*str, char num) char *encodedstr,*ptr ; int len=0, i, shift, index; char capitalletter[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; char smallletters[] = "abcdefghijklmnopqrstuvwxyz"; char ch; ptr = str; while (*ptr) if (!((*ptr >= 'a' && *ptr <= 'z') *ptr == ' ' (*ptr >= 'A' && *ptr <= 'Z'))) return NULL; ptr++; len++; encodedstr = (char*)malloc((len+1)*sizeof(char)); ptr = encodedstr; i = 0; while (*str) shift = (num & (1 << i))? 3 : -3; ch = (*str >= 'a')? 'a' : 'A'; index = (*str - ch + shift + 26) % 26 ; if (*str == ' ') *ptr++ = *str; i--; if (*str >= 'a') *ptr++ = smallletters[index]; *ptr++ = capitalletter[index]; i = ++i % 8; str++; *ptr = '\0'; return encodedstr; עמוד 3

שאלה מספר 3 א. פונקציה רקורסיבית שמקבלת מספר ומחזירה את סכום ספרותיו. אם הוא שלילי יוחזר אפס. int sum_digits(int num) if (num <= 0) return 0; return num % 10 + sum_digits(num / 10); ב. פונקציה רקורסיבית שמקבלת מצביע למערך של מספרים שלמים מסוג int ושלם שמציין את גודל המערך שהתקבל. הפונקציה מוצאת את מיקום האיבר שסכום הספרות שלו הוא הגדול ביותר. היא מדפיסה את הסכום ומחזירה את מיקומו. )באדיבות מני מאורט סינגלובסקי( int find_max_sum_digits(int *arr, int size, int full_size) int static max_sum_digits = 0; int static max_sum_digits_index = 0; int sum; if (!size) printf(" %d", max_sum_digits); max_sum_digits = 0; sum = max_sum_digits_index; max_sum_digits_index = 0; return sum; sum = sum_digits(arr[size - 1]); if (sum > max_sum_digits) max_sum_digits = sum; max_sum_digits_index = size - 1; return find_max_sum_digits(arr, size - 1, full_size); /* Typedef struct name Node */ typedef struct Node int key; struct Node *next; Node; שאלה מספר 4 /* Initialize the List with input number.*/ Node *Add(Node *head, int number) Node *tail = head; עמוד 4

Node *new_item = (Node*)malloc(sizeof(Node)); new_item->key = number; new_item->next = NULL; if (tail == NULL) return new_item; while (tail->next!= NULL) tail->next = new_item; return head; /* Move max number the head list and min number to the end of the list.*/ Node *Move_min_max(Node *head) Node *tail = head; Node *pmax = head; Node *pmin = head; Node *temp = NULL; // check if the list is not NULL if (tail) while (tail!= NULL) if (pmax->key < tail->key) pmax = tail; if (pmin->key > tail->key) pmin = tail; // check if there is only one node if (pmax!= pmin) //Move max number if (pmax!= head) tail = head; while (tail!= pmax) temp = tail; temp->next = tail->next; pmax->next = head; head = pmax; //Move min number if(pmin->next) tail = head; עמוד 5

while (tail!= pmin) temp = tail; temp->next = tail->next; while (tail ->next) tail->next = pmin; pmin->next = NULL; return head; /* Display List on screen */ void Print_List(Node *head) Node *p; for (p = head; p!= NULL; p = p->next) printf(" %d ->", p->key); if (p == NULL) printf("end Of list!!!\n"); return; int main() int input ; Node *head1 = NULL; סעיף א:// printf("enter number to create new node(less than 0 to exit):\n"); scanf("%d", &input); while (input >=0) head1 = Add(head1, input); עמוד 6

printf("enter number to create new node(less than 0 to exit):\n"); scanf("%d", &input); Print_List(head1); printf("after replace:\n"); סעיף ב:// head1=move_min_max(head1); Print_List(head1); return 0; שאלה מספר 5 א. התוכנית תדפיס את התוצאות הבאות : 5 9 5 7 5 5 5 3 5 1 ב. התוכנית מגדירה שני מערכים בגודל,SIZE מסוג.struct DATA כל אחד מאיברי המערך כולל ערך ומצביע לאיבר מסוג.struct DATA vec1 0 1 2 3 4 vec2 5 4 שרטוט המערכים: 3 2 1 שאלה מספר 6 א. התוכנית תדפיס Yes!!!: ב. התוכנית צוברת בעבור כל שורה ממערך mat את סכומה ומציבה אותו בשורה המקבילה במערך res בעמודה 0, ובעמודה 1 מציבה סכום עמודה מקבילה ממערך.mat התוכנית בודקת אם סכומי השורות זהים וכן אם סכומי העמודות זהים. אם התנאים מתקיימים מודפס,Yes!!! אחרת, מודפס.No!!! עמוד 7

שאלה מספר 7 א. התוכנית תדפיס את התוצאה הבאה: the number is OK ב. שתי דוגמאות של מספרים: 120 24, ג. התכונה אותה יש לקיים היא: ערך המספר שנשלח הוא ערך המתקבל ממכפלת הערכים החל מ 2 ואילך, בצורה רציפה. לדוגמה: במקרה של הערך 6, הוא מורכב ממכפלת הערכים 2 ו.3 שאלה מספר 8 א. בעבור הערך a=0x1a84 יודפס: is: 6 res1 ב. בעבור הערך a=0xf0e0 יודפס: is: 2 res1 ג. התוכנית מוצאת את הכמות המקסימלית של ביטים רציפים בערך שמכיל המשתנה a, המקיימים את החוקיות הבאה: ערכי ביטים סמוכים הם הפוכים. לדוגמה: בעבור הערך a=0x1a84-0001101010000100 בתחילה יש שני ביטים רציפים, אח"כ נמצאים שישה ביטים רציפים ולבסוף שני ביטים רציפים. ולכן הרצף המקסימלי הוא 6. בעבור הערך a=0xf0e0 1111000011100000 נמצאים שני ביטים רציפים ואח"כ שני ביטים רציפים. ולכן הרצף המקסימלי הוא 2. עמוד 8