Professional Documents
Culture Documents
הנחיות:
.1מותר השימוש בכל חומר עזר כתוב.
.2שימו לב כי בטופס הבחינה 5עמודים (כולל דף זה).
.3משך הבחינה 2.5 :שעות.
.4יש למסור את טופס הבחינה .
ב ה צ ל ח ה !
-1-
שאלה 1
סעיף 1
יש לכתוב תרשים זרימה לתוכנית בקרה של השינויים בטמפרטורה של צנרת מים שמטרתה לוודא
שהשינויים בטמפרטורה הנדגמת אינם עולים על .°2Cהתוכנית מתבצעת בלולאה אינסופית .בכל איטרציה
(מעבר בלולאה) התוכנית דוגמת את הטמפרטורה ( (Tnומחשבת את ההפרש בינה לבין הטמפרטורה
שנדגמה באיטרציה הקודמת ( .)Tn-1אם ההפרש גדול מ ,2-על התוכנית להדפיס את זמן
הדגימה( Tn ,(TIMEnו.Tn-1-
כדי לדגום את הטמפרטורה ניתן להשתמש עם הפקודה GetTemprature
כדי לקבל את זמן הדגימה ניתן להשתמש עם הפקודה .GetTime
סעיף 2
נניח שהנתונים המודפסים בסעיף א' נשמרים גם במערך דו-מימדי בו כל שורה iכוללת שלושה איברים
מטיפוס ,doubleכאשר האיבר הראשון הוא זמן הדגימה( ,(TIMEnהאיבר השני מכיל את הטמפרטורה
Tnוהאיבר השלישי .Tn-1
בשל כמות הנתונים שומרים בכל פעם רק את SIZEהדגימות האחרונות.
כתבו תכנית המגדירה מערך
;]double measures[SIZE][3
הניחו שהמערך מכיל ערכים שנדגמו.
על התוכנית לקלוט מספר מטיפוס doubleלמשתנה ששמו diffולהדפיס את מספר הדגימות שההפרש
ביניהן קטן מהמספר .diff
שאלה 2
סעיף 1
יש לכתוב תכנית הקולטת מספר שלם ,nסדרה של nמספרים ומספר נוסף (.)value
אם המספר valueנמצא בסדרת המספרים התוכנית תדפיס את ההודעה " "The number is in the series
אחרת תדפיס "."The number is not found in the series
ניתן להניח את נכונות הקלט וכן ש n-אינו גדול מ.50-
סעיף 2
שנו את התכנית של סעיף א' כך שתדפיס את מספר הפעמים שהמספר valueמופיע בסדרה.
לדוגמא :עבור ,n=12וסדרת המספרים הבאה:
5 4 2 3 18 18 34 18 1 1 44 23
וvalue=18-
התוכנית תדפיס .3
-2-
3 שאלה
:חשב את הפלט של התוכנית הבאה והסבר בקצרה מה היא עושה
#include <stdio.h>
#define N 7
void main()
{
int s[N] = { 4, 16, 2, 8, 5, 16, 16};
int d[N - 1] = { 2, 1, 3, 2, 5, 1};
int i=0;
int j = 0, count = 0, mu = 1;
while (i < N - 1)
{
for (j = 0; j < des[i]; j++)
{
mu = mu * src[i];
}
printf("count=%d",count);
}
-3-
4 שאלה
?מה מדפיסה התוכנית הבאה
#include <stdio.h>
int main{)(
char str[] = "I like Mike and..... ";
int j = 0;
int i;
printf("\n%s\n",str);
for (i=0;i<16;i=i+3){
printf("%c",str[i]);
str[j++]=str[i];
}
printf("\n%s",str);
}
-4-