מבוא לתכנות ולמדעי המחשב בשפת C/תרגיל 1: הבדלים בין גרסאות בדף

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
שורה 1: שורה 1:
<center>
[[מבוא לתכנות ולמדעי המחשב|לדף הקורס]]
</center>

== שאלה 1 ==
== שאלה 1 ==
כיתבו תוכנית מחשב בקובץ בשם q1.c שמדפיסה את הפרטים האישיים שלכם (שם מלא ומספר תעודת זהות). פורמט ההדפסה יהיה כזה:
כיתבו תוכנית מחשב בקובץ בשם q1.c שמדפיסה את הפרטים האישיים שלכם (שם מלא ומספר תעודת זהות). פורמט ההדפסה יהיה כזה:
שורה 94: שורה 98:


[http://orimosenzon.com/dan/index.php?title=%D7%9E%D7%91%D7%95%D7%90_%D7%9C%D7%AA%D7%9B%D7%A0%D7%95%D7%AA/%D7%AA%D7%A8%D7%92%D7%99%D7%9C_1&printable=yes גרסת הדפסה של התרגיל]
[http://orimosenzon.com/dan/index.php?title=%D7%9E%D7%91%D7%95%D7%90_%D7%9C%D7%AA%D7%9B%D7%A0%D7%95%D7%AA/%D7%AA%D7%A8%D7%92%D7%99%D7%9C_1&printable=yes גרסת הדפסה של התרגיל]

<center>
[[מבוא לתכנות ולמדעי המחשב|לדף הקורס]]
</center>

גרסה מ־14:40, 30 באוקטובר 2011

לדף הקורס

שאלה 1

כיתבו תוכנית מחשב בקובץ בשם q1.c שמדפיסה את הפרטים האישיים שלכם (שם מלא ומספר תעודת זהות). פורמט ההדפסה יהיה כזה:

/*
Ori Mosenzon
ID:01212121-4
*/

(כאשר השם ומספר הזהות הם שלכם)

התוכנית הזאת יכולה לשמש אתכם בכדי להכניס את הפרטים האישיים שלכם לתוך קבצי מקור ב C. אם קובץ ההרצה של התוכנית הזאת נקרא q1 תוכלו להשתמש בו כך:

./q1 >> check.c

(שימו לב לכתוב << (שירשור בסוף הקובץ) ולא רק < שיגרום לדריסת קובץ הקוד שלכם)

ההדפסה כוללת סימנים של הערה בכדי שהקוד check.c ימשיך להיות קוד C חוקי גם אחרי התוספת.

שאלה 2

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

כבררת מחדל, לקובץ שמורידים מהרשת אין הרשאות ריצה (לכן הוא לא מופיע כירוק כשאתם רואים אותו ב ls מהטרמינל). בכדי להפוך אותו לקובץ ריצה, יש לכתוב את הפקודה הבאה:

chmod +x q2_ori

שימו לב איך מתנהג קובץ הרצה זה כאשר נותנים לו מספר תרגיל שאיננו חיובי. גם התוכנית שלכם אמורה להתנהג כך.

קובץ קוד המקור של תוכנית זו יהיה q2.c

שאלה 3

בשאלה זו תתבקשו לשפר את התוכנית שכתבנו בשעור 3 למציאת שורשים של משוואה ריבועית. עליכם לדאוג שהתוכנית תעבוד נכון גם כאשר הערך של a הוא 0. בלינק זה תמצאו קובץ הרצה שמתנהג בדיוק כפי שהתוכנית שלכם אמורה להתנהג. נסו להריץ אותו עם הערכים הבאים ולראות מה קורה:

  • <m>a=0, b=0, c=0</m>
  • <m>a=0, b=0, c=1</m>
  • <m>a=0, b=2, c=-4</m>
  • <m>a=2, b=-8, c=8</m>
  • <m>a=3, b=-15, c=18</m>

התוכנית שלכם אמורה להגיב באופן זהה בכל המקרים.

קובץ קוד המקור של תוכנית זו יהיה q3.c

בונוס (10 נק')

זו שאלת רשות. פתרון מלא עשוי להוסיף לכם עוד 10 נקודות מעל הציון הרגיל.

כתבו תוכנית דומה לזו שבשאלה 3 הפותרת משוואות ממעלה שלישית. התוכנית תקבל מהמשתמש ארבעה מספרים a,b,c,d ותתן פתרון. ניתן להשוות אותו לפתרון שניתן בוולפרם אלפה.

קובץ קוד המקור של הבונוס יקרה qb.c

הגשה

הוספת הפרטים האישיים שלכם לקבצי הקוד

הריצו את q1 (קובץ ההרצה של q1.c) כך שיוסיף את הפרטים האישיים שלכם לכל אחד מקבצי הקוד שלכם:

./q1 >> q1.c
./q1 >> q2.c
./q1 >> q3.c
./q1 >> qb.c (אם קיים)

יצירת קובץ ארכיון

הפקודה הבאה תיצור לכם קובץ מכווץ בשם ex1.tgz המכיל את כל קבצי הקוד שלכם:

tar czvf ex1.tgz q1.c q2.c q3.c

(אם כתבתם גם את qb.c, הוסיפו גם אותו)

בדיקת קובץ הארכיון

פיתחו תקייה ריקה, העתיקו אליה את קובץ הארכיון שיצרתם ובידקו את תכולתו:

mkdir tmp
cp ex1.tgz tmp/
cd tmp
tar xzvf ex1.tgz
more q*
cd ..
rm -r tmp

הפקודה הרביעית היא פקודה לחילוץ קבצים מקובץ ארכיון. הפקודה החמישית תדפיס לכם את תכולת כל הקבצים המתחילים באות q.

אפשר להוסיף לבדיקה זו גם קומפילציה והרצה של כל הקבצים.

העלאת קובץ הארכיון

העלו את הקובץ ex1.tgz שבדקתם לתקייה המתאימה ב moodle. פרטים בהמשך.






גרסת הדפסה של התרגיל

לדף הקורס