Professional Documents
Culture Documents
הנחיות:
יש להגיש את שיעורי הבית דרך מערכת ה .EDU-שימו לב למועד האחרון להגשה.
יש להגיש קובץ ZIP/RARהמכיל את הקבצים הרלוונטיים (קבצי קוד או .)wordשם קובץ ההגשה חייב
להכיל את שמכם המלא! לדוגמא.HW3_Daniel.rar :
יש לוודא שכל הקבצים מתקמפלים ללא שגיאות ( )errorוללא אזהרות (.)warning
יש להוסיף הערות בקוד במקומות המתאימים (באנגלית).
זכרו את הקונבנציות :היכן נגדיר את הקבועים? מתי נשתמש ב const -ומתי בdefine? No magic-
!!!!Numbers
ידידותיות למשתמש :כל פעם כשרוצים לקרוא קלט מהמשתמש ,יש להציג למשתמש הנחיות ברורות
איזה קלט עליו להכניס.
בכל פעם כשמדפיסים ערך למסך ,יש להציג הסבר לגבי משמעותו (למשל ,לא להדפיס Aאלא להדפיס
.)The first letter is A
תרגול:
תוכן המשתנה הראשון כתו ולידו הדפיסו כתו את תוכן המשתנה הראשון .1 + א.
הערך המספרי של המשתנה הראשון. ב.
סכום ערכי הASCII -של שלושת המשתנים. ג.
סכום ערכי הASCII -של המשתנה הראשון והשלישי. ד.
הסימן המיוצג על ידי ערך ה ASCII -שהדפסתם בסעיף הקודם. ה.
)2כתבו תוכנה הממירה מיילים לקילומטרים .התוכנית תקלוט מהמשתמש מרחק במיילים ( מספר עשרוני) ותדפיס
למסך את המרחק בקילומטרים .בדקו את יחס ההמרה ,וכמובן הגדירו אותו כקבוע בקוד ( constאו
.)?defineבכל המספרים העשרוניים ,יש להציג רק 3ספרות מימין לנקודה.
כדי לבדוק האם התכנית שלכם תקינה ,לחצו כאן
הדפיסו למסך את השאלה " ."?y/n: Do you want to be a Magshimaלאחר מכן קלטו מהמשתמש תו )3
המציין את התשובה שלו ( .)y/nהדפיסו את תשובת המשתמש .במקרה זה ניתן להניח שהמשתמש יזין רק y
או .n
יש להשתמש בפונקציות getchar, putcharבקליטת התשובה ובפלט שלה.
קלטו שלושה מספרים שלמים בפקודה אחת .חשבו את הממוצע שלהם והציגו הודעה מתאימה למשתמש. )4
שיעורי בית:
)5כתבו תכנית המגדירה שני משתנים מסוג תו .אחד מהם יכיל את האות Aוהאחר את האות . Zיש להדפיס את
שני התווים האלו ,ואת כמות האותיות בשפה האנגלית ,המחושבת בעזרת חיסור שני התווים
כתבו תכנית אשר קולטת מספר שלם המציין מספר מעלות צלזיוס ,ומדפיסה למסך את ההמרה של הקלט )6
למעלות פרנהייט (בצירוף הודעה מתאימה) .יש לחפש באינטרנט מהי הנוסחה המתאימה.
כדי לבדוק האם התכנית שלכם תקינה ,לחצו כאן.
)7בשאלה זו נלמד על משתנים מסוג .unsignedמשתנה מסוג intיכול לקבל ערכים חיוביים או שליליים ,אך
משתנה מסוג unsigned intיכול לקבל רק ערכים חיוביים (או אפס) .זה נראה כך:
למדנו בכיתה על טווח הערכים של משתנה מסוג ).int (-2,147,483,648 < int < +2,147,483,647
הסיקו – מהו טווח הערכים של משתנה מסוג ?unsigned intניתן להיעזר בגוגל ,למרות שאין צורך.
הסבירו מדוע זהו הטווח (התייחסו בתשובתכם לטווח של .)int
חישוב נפח כדור :כתבו תכנית אשר קולטת מהמשתמש רדיוס של כדור (מספר עשרוני ,ביחידות של ס"מ) )9
ומחשבת את נפח הכדור .הדפיסו למסך 2שורות :הרדיוס שנקלט ונפח הכדור .כל שורה יש להדפיס עם
הסבר משמעותה .ניתן להניח שהערךשל פאי הוא .3.14
למידע על חישוב נפח כדור ובדיקת התכנית שלכם חפשו באינטרנט.
.מהו הפלט של התכנית הבאה? הסבירו מדוע זהו הפלט )10
int main(void)
{
int i = 65537;
unsigned short s = (unsigned short)i;
float f = (float)i;
char c = (char)i;
#include <stdio.h>
int main(void)
{
int myAge = AGE;
printf("Hello Magshimim!\n");
printf("My name is Daniel and I am %d years old!\n", myAge);
return 0;
}
: ולכן החליט לעדכן את התכנית שלו באופן הבא, דניאל גדל בשנה,במהלך השנה
#include <stdio.h>
int main(void)
{
int myAge = AGE + 1;
printf("Hello Magshimim!\n");
printf("My name is Daniel and I am %d years old!\n", myAge);
return 0;
}
:אך כאשר המדריך הריץ את התכנית הוא קיבל על הצג את הפלט הבא
C:\MinGW\bin>hello.exe
Hello Magshimim!
My name is Daniel and I am 15 years old!
. למרות השינוי15 ולמה הוא נשאר בן,הסבירו לדניאל במה הוא שגה
בונוס:
התבוננו בפלט של השורה הבאה .השתמשו בקובץ הדגמה ,classExample5Casting.cושימו את )12
השורה הזאת במקומות שונים ,וראו כיצד הפלט משתנה!!
;)printf("%f\n", 5 / 2
הסבירו מדוע זה קורה ,ומה ניתן לעשות כדי לקבל את הפלט הרצוי? הציעו לפחות 2דרכים שונות לתיקון.
בהצלחה!