Description
נושאים: תביתכ תינכות תפשב C.
השגה רוחיאב: ניתן להגיש רוחיאב של םוי( בהורדת 10 תודוקנ – ןויצ ילמיסקמ 90) ,יומיים( בהורדת 20 תודוקנ – ןויצ ילמיסקמ 80) או שלושה ימים( בהורדת 30 תודוקנ – ןויצ ילמיסקמ 70) .לאחר מכן לא תתאפשר ההגשה
(דבלמ לםירוחיא םיקדצומ יפל ןונקת הטיסרבינואה.)
תויחנה תויללכ
תולאש עגונב ליגרתל שי םסרפל ןפואב ירוביצ םורופב ידועייה הלטמל אצמנה לדומב.
תושקב הכראהל תוביסמ תוקדצומ( יאולימם ,לידה ,אשפוז וכ׳ו) יש לשלוח למייל tom.ben-dor@biu.ac.il ףוריצב: םש אלמ ,םש שמתשמ תכרעמב השגהה ,רפסמ תדועת תוהז מסמוםיכ ייטנוולרם יפל ךרוצה.
יש דיפקהל דואמ לע תוארוה בוציע טלקה טלפהו ,קוידב לע יפ תואמגודה תופרוצמה .ןיא ףיסוהל וא טימשהל םיחוור וא םיוות םירחא ,ןיאו ףילחהל תויתוא תולודג תונטקב וא ךפיהל .רסוח הדפקה לע םיטרפ ולא לולע רורגל הדרוה תיתועמשמ רתויב ןויצב ליגרתה דע ידכ 0. ואר םכמצע םתרהזוה!
ומיש בל םתאש םיבקוע קיודמב ירחא תויחנהה ךמסמב ה-Style Guide םסרופמה רתאב סרוקה.
םכילע בותכל דוק לע יפ תוארוה ליגרתה אדוולו םתלביקש 100 הקידבב תיטמוטואה שארהונית ,ןכו ליגרתהש לפמקתמ ץרו לע יתרש הקלחמה( planet) אלל תואיגש אללו תורהזא.
ליגרת אלש דמוע םיטרדנטסב םייסיסבה וללה רורגי ,לשב החרטה אוהש רציימ ךילהתב הקידבה ולשתדרוה תודוקנ תיתועמשמ ןויצב ולש.
םריכזהל הדובעה איה תישיא” .הדובע תפתושמ “הניד הקתעהכ .תוקתעה תוקדבנ לע ידי תכרעמ השגהה תיטמוטואה ,ליגרתו קתעוהש רורגי ןיב ראשה ןויצ 0 העיגפו ינויצב לוגרתה םייפוסה לכל םימרוגה םיפתושההקתעהב .םתא םילוכי ןודל תושיגב ןורתפל ליגרתה ןפואב יטרואית ,ךא ןיא ףתשל דוק םושב הרוצ.
חותיפב דוקה ןתינ שמתשהל לכב תביבס הדובע ,רקיעה אוה ועדתש ךיא תחקל תא יצבק דוקה ךותמהביבסה וזה ,קודבל םתוא לע יתרש הטיסרבינואה ,שיגהלו םתוא תועצמאב תכרעמ השגהה.
חותיפב דוקה ןיא הלרזעי םילכב יחנומ תדימל הנוכמ לכמ גוס (ChatGPT,Copilot ׳וכו), לע לכ עטק דוק בתכיהל לע ידי שיגמה/ה דבלב ןפואבו יאמצע.
תמגוד הצרה לש ליגרתה תאצמנ ףוסב ךמסמה .
טירפת
תליחתב תינכותה ספדוי ךסמל טירפתה אבה:
Choose an option:
.0 Exit
.1 Hourglass
.2 Reverse bits
.3 Reverse digits
.4 Convert to Decimal
.5 Base64 to Decimal
.6 Swap bits
רחאל ןכמ ,לע יפ תריחב שמתשמה ,עצבתת המישמה תשקובמה.
םויסב עוציב המישמ ,שי סיפדהל שדחמ תא טירפתה לועפלו לע יפ תריחב שמתשמה.
הדימב שמתשמהו שיקמ 0 ,יש לסיים את התוכנית .
הדימב שמתשמהו שיקמ היצפוא הניאש העיפומ טירפתב ,שי סיפדהל Invalid option סיפדהלו שדחמ תא טירפתה.
ניתן חינהל שהמשתמש סינכי תו דדוב( לוכי להיות לכ תו) רחאלו ןכמ ץחלי Enter.
ומיש בל: רחאל תספדה טירפתה שי תדרל הרוש .
תואמגוד הצרה ליגרתל םע טלק טלפו םיפוצמ םיעיפומ ףוסב ךמסמה ןכו םינכדועמ תכרעמב תשגה םיליגרתה.
1 רויצ ןועש לוח
רחב המישמב 1 – אוה שקבתי סינכהל ינש םירטמרפ ןפואב אבה:
Enter size:
5 Enter flag:
1
םודאב – טלק המגודל שמתשמהמ (לוכי להיות לכ מספר 𝑖𝑛𝑡).
רחאל שמתשמהש סינכה תא ינש הםירטמרפ שקבתהש ,ספדומ ןועש לוח םע יריגרג לוח ,םאתהב םירטמרפל .
ןלהל הלבט לש 4 תוצרה תונוש לש רויצ ןועש לוחה( לכ ןועש לוח אוה הספדה הנוש העצבתהש תובקעב השקב לש שמתשמה:)
ףתושמה יתשל תוצרהה הרושב הנוילעה אוה רטמרפהש 𝑠𝑖𝑧𝑒 (לדוג ןועשה) אוה 5.
ףתושמה יתשל תוצרהה הרושב הנותחתה אוה רטמרפהש 𝑠𝑖𝑧𝑒 (לדוג ןועשה) אוה 6.
ףתושמה יתשל תוצרהה רוטב ילאמשה אוה רטמרפהש 𝑓𝑙𝑎𝑔 אוה 1 – עמשמ יריגרג לוחה ןועשב דוע אל ולפנ ןכלו םה קלחב ןוילעה לש ןועשה .
ףתושמה יתשל תוצרהה רוטב ינמיה אוה רטמרפהש 𝑓𝑙𝑎𝑔 אוה 0 – עמשמ יריגרג לוחה ןועשב ולפנ ןכלו םה קלחב ןותחתה לש ןועשה.
רמולכ ,םא שמתשמה סינכה:
Enter size:
5 Enter flag:
1
יודפס שעון החול משמאל למעלה בטבלה.
תודוקנ תובושח:
§ 5 ו-6 ןה קר תואמגוד – שמתשמה לוכי סינכהל לכ רפסמ הצריש ספדויו ןועש םיאתמ.
§ כ״הסב תוספדומ 2 +𝑠𝑖𝑧𝑒 תורוש: הלחתהב ףוסבו הרוש לש 𝑠𝑖𝑧𝑒 םיפקמ ,ןהיניב ןועש לוחה.
§ דצמ ןימי ןועשל אל םיספדומ םיחוור – ותה ןורחאה לכב הרוש אוה / וא וא –
§ םא 𝑠𝑖𝑧𝑒 יא יגוז ,המגודל 5 – הרושב תיעצמאה (רפסמ 3 הרקמב לש 5) לש ןועש לוחה ספדומ X עצמאב ןועשה.
§ םא 𝑠𝑖𝑧𝑒 יגוז ,לדוגמה 6 – בתורוש תויעצמאה( רפסמ 3 ו-4 הרקמב לש 6) ספדומ:
/
/
§ חטבומ שמתשמהש סינכי םירפסמ םימלש םירטמרפכ – אל חטבומ םהש ויהי םימיאתמ שיו קודבל תאז (רחאל תלבק ינש םירפסמה).
םא םירפסמה אל םידמוע תושירדב תואבה ,שי סיפדהל Invalid Parameters רוזחלו טירפתל ישארה ילב סיפדהל תא ןועש לוחה:
o שי קודבל ש-𝑠𝑖𝑧𝑒 אוה תוחפל 3.
o שי קודבל ש-𝑓𝑙𝑎𝑔 אוה 0 וא 1.
2 ךופיה םיטיב
רחב המישמב 2 – אוה שקבתי סינכהל רפסמ 𝑖𝑛𝑡 והשלכ:
Enter a number:
123456789
םודאב – טלק המגודל שמתשמהמ( לוכי תויהל לכ רפסמ 𝑖𝑛𝑡.)
םכילע סיפדהל תא רפסמה ינורשעה לבקתמה לע ידי ךופיה לש רדס םיטיבה םיגציימה תא רפסמה םתלביקש .
ריכזנ יכ לוגרתב וניאר הנתשמש גוסמ 𝑖𝑛𝑡 גצוימ תועצמאב 4 םיתב ,וא 32 םיטיב.
המגודל ,רפסמה ל״נה 123456789 אוה השעמל:
00000111010110111100110100010101
םאו ךופהנ תא רדס םיטיבה לבקנ:
10101000101100111101101011100000לוקשה רפסמל 1464608032− תטישב םילשמה ל-2 םע 4 םיתב.
טלפה היהי הרוצב האבה:
Enter a number:
123456789
The reversed number is -1464608032
ניתן חינהל שהמספר שהוזן לע ידי המשתמש וניה מספר 𝑖𝑛𝑡 ןיקת.
המישמב וז רתומ שמתשהל ךא קרו תולועפב bitwise – ןיא שמתשהל לפכב ,קוליח ,רוסיח ,חיבור ,
ולודומ .לצורכי מונה ללולאה מותר להשתמש ב ++ םעפ תחא דבלב.
המישמ 3 – ךופיה תורפס
רחאל שמתשמהש רחב המישמב 3 – אוה שקבתי סינכהל רפסמ 𝑖𝑛𝑡 והשלכ:
Enter a number:
123456789
םודאב – טלק המגודל שמתשמהמ( לוכי תויהל לכ רפסמ 𝑖𝑛𝑡.)
םכילע סיפדהל תא רפסמה לבקתמה לע ידי ךופיה לש רדס התורפס רפסמב .
טלפה היהי הרוצב האבה:
Enter a number:
123456789
The reversed number is 987654321
ניתן חינהל שהמספר שהוזן לע ידי המשתמש וניה מספר 𝑖𝑛𝑡 ןיקת יבויחו ,ולא לכ תוחנהה תורתומה.
ובשח לע ירקמ הצק .
4 הרמה סיסבמ והשלכ𝟐−𝟗 סיסבל צדילמי
רחב המישמב 4 – אוה שקבתי סינכהל ינש םירטמרפ ןפואב אבה:
Enter base:
2 Enter a number:
1010110101
םודאב – טלק המגודל שמתשמהמ.
שי סיפדהל הבושתכ תא גוציי $#”!𝑛𝑢𝑚𝑏𝑒𝑟 סיסבב 10.
המגודל:
Enter a base:
2 Enter a number:
1010110101
The converted number is 693
תודוקנ תובושח:
§ רשאכ שמתשמה שקבתמ סינכהל רפסמ ,אוה דילקי טסקט ךרואב אל עודי( יפוסניא לאיצנטופב ולש)
– שמתשמה דילקי ףצר םיוות והשלכ ויסבוומ דילקי Enter. הז אל בייח תויהל רפסמ חטבו אל 𝑖𝑛𝑡.
§ םירפסמה םיסנכומש םה unsigned (הרקמב רבודמו סיסבב יראניב.)
§ חטבומ הבושתהש היהת חווטב לש הנתשמ גוסמ 𝑖𝑛𝑡.
§ חטבומ שמתשמהש סינכי סיסב אוהש רפסמ םלש – אל חטבומ סיסבהש היהי חווטב הךמתנ 9 − 2 ללוכ ,שי קודבל תאז .במידה ומוכנס בסיס לא םיאתמ שי סיפדהל( דימ רחאל תלבק סיסבה אלו שקבל תא רפסמה) Invalid Base םע תדירי הרוש ורוזחל טירפתל ישארה.
§ רחאל תלבק רפסמה ,שי קודבל םאה אוה רפסמ יקוח יפל סיסבה ןותנה .המגודל רובע סיסב 2 םירפסמ םייקוח םה םירפסמ םיליכמה קר םיספא תודחאו .םא שי ות אל יקוח שי סיפדהל:
Invalid character %c in base %d
רשאכ ותה אלה יקוח סיסבהו סנכוהש םוקמב םיזוחאה ,רוזחלו טירפתל ישארה.
המישמ 5 – הרמה סיסבמ 64 סיסבל ילמיצד
המודב המישמל 4 ,במשימה וז המשתמש יתבקש להכניס מספר בבסיס 64 ויקבל את המספר בבסיס ינורשע:
Enter a number in base 64:
1+2/3
The converted number is 905670647
םג ןאכ שי סיפדהל תעדוה האיגש הרקמב וב רפסמה סנכוהש וניא רפסמ יקוח סיסבב 64.
םכריכזהל ,סיסבב 64 םירפסמ םייקוח םיליכמ תא םיוותה /,+ ,𝑎 − 𝑧, 𝐴 − 𝑍 ,1 − 0 דבלב.
Enter a number in base 64:
Number!
Invalid character ! in base 64
ןוויכמ םירפסמש סיסבב 64 םה תיתועמשמ םיכורא רתוי סיסבב 10 ,אל ןתינ חינהל האצותהש סנכית ךותב הנתשמ 𝑖𝑛𝑡, םוקמב חיננ האצותהש סנכית הנתשמב 𝑙𝑜𝑛𝑔 (לופכ לדוגמ 𝑖𝑛𝑡.)
המישמ 6 – התפלח םיטיב
רחאל שמתשמהש רחב המישמב 6 – אוה שקבתי סינכהל רפסמ 𝑖𝑛𝑡 והשלכ ינשו םיסקדניא
Enter a number:
34 Enter indexes:
5 4
םכילע סיפדהל תא רפסמה לבקתמה לע ידי תפלחה טיבה הישימח מןימי טיבב הישיש מןימי (תולתכ טלקב). ומיש בל הריפסהש הליחתמ ךכ טיבהש הינמי רתויב אוה סקדניא 0.
הרקמב הז:
34%& = 100010’
רחאל הפלחהה לבקנ:
010010’ = 18%&
ןכל טלפה הפוצמה אוה:
Enter a number:
34 Enter indexes:
5 4
The result is 18
תודוקנ תובושח:
§ רדס תסנכה םיסקדניאה אל הנשמ.
§ רפסמה סנכוהש חטבומ תויהל רפסמ םלש יבויחו לדוגב 𝑖𝑛𝑡 .לכן ,יצגו אותו בתור
?מה היתרונות של ייצוג זה. 𝑢𝑛𝑠𝑖𝑔𝑒𝑑 𝑖𝑛𝑡
§ שי קודבל םאה םיסקדניאה םייקוח .םיסקדניא םייקוח םה םיסקדניא אל םיילילש םגו חווטב ןיקתה לש רפסמ 𝑖𝑛𝑡 ,כפי שנלמד .במידה ואחד האינדקסים לא חוקיים יש להדפיס:
Invalid indexes
המישמב וז רתומ שמתשהל ךא קרו תולועפב bitwise – ןיא שמתשהל לפכב ,קוליח ,רוסיח ,
רוביח ,ולודומ ללכב.
תוארוה השגה
שי לשיגה תא תינכותה םתבתכש ץבוקב דדוב םשב ex_2.c הצובקל רפסמ 14.
תמגוד הצרה רומאכ ,המגוד וז איה תיקלח ,עליכם לחשוב על כלל מקרי הקצה האפשריים בתוכנית קודבלו םתוא.
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
7
Invalid option
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
1
Enter size:
5
Enter flag:
0
—–
/
/
X
/.
/…
—–
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
1
Enter size:
5
Enter flag:
1
—–
…/
./
X
/
/
—–
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
1
Enter size:
6
Enter flag:
0
——
/
/
/
/
/..
/….
——
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
1
Enter size:
6
Enter flag:
1
——
…./
../
/
/
/
/
——
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
2
Enter a number:
123456789
The reversed number is -1464608032
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
3
Enter a number:
1234
The reversed number is 4321
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
4
Enter base:
2
Enter a number:
111
The converted number is 7
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
4
Enter base:
3
Enter a number:
1234
Invalid character 3 in base 3
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
5
Enter a number:
1+2/3
The converted number is 905670647
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits
6
Enter a number:
34
Enter indexes:
4 5
The result is 18
Choose an option:
0. Exit
1. Hourglass
2. Reverse bits
3. Reverse digits
4. Convert to Decimal
5. Base64 to Decimal
6. Swap bits 0
Reviews
There are no reviews yet.