» נושאי לימוד
» נושאי לימוד
יום חמישי 28 במרץ 2024
מבחן 1-שאלות
דף ראשי  פרק 6: מבחנים לדוגמא  מבחן 1-שאלות גרסה להדפסה

                                                                                                                       

 

בחינה לדוגמה - יסודות מדעי המחשב

 

 

 

מדעי המחשב

2 יחידות לימוד

 

הוראות לנבחן

 

א. משך הבחינה: שלוש שעות.

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

            פרק ראשון         -  בפרק זה חמש שאלות,

                                        ועליך לענות על כולן.                 ( 5 ´ 10) -  50 נקודות

            פרק שני -   בפרק זה שלוש שאלות, מביניהן

                                        עליך לענות על שתיים               ( 2 ´ 15 ) - 30  נקודות

פרק שלישי         -   בפרק זה שתי  שאלות, מביניהן

                                        עליך לענות על אחת בלבד          ( 1 ´ 20 ) - 20  נקודות

ג. חומר עזר מותר בשימוש: כל חומר עזר  ( פרט למחשב הניתן לתכנות )

ד. הוראות מיוחדות: אין

 

 

 

 

   בהצלחה !!!

 

פרק ראשון ( 50 נקודות )

ענה על כל השאלות 1 - 5 ( לכל שאלה - 10 נקודות ).

 

שאלה  1

יש לפתח אלגוריתם אשר הקלט שלו הוא מספר שלם חיובי תלת ספרתי, והפלט שלו הוא  'ספרות זהות'  אם כל ספרות המספר זהות ו 'ספרות שונות' אם לא כל הספרות זהות.                               

   לדוגמה:    עבור הקלט 555  הפלט יהיה 'ספרות זהות'

                 עבור הקלט 525  הפלט יהיה 'ספרות שונות'

I.        פרק את המשימה המתוארת בבעיה לתת-משימות.

II.     בחר משתנים והגדר את תפקידו וטיפוסו של כל משתנה.

III.   כתוב אלגוריתם מילולי לפתרון.

 

שאלה  2

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

 

var
   Ch: char;
begin
   read(Ch);
   while Ch <> '.' do
   begin
      if (Ch='A') or (Ch='a') then write('z')
      else write ((pred(Ch));
      read (Ch);
   end;
end;

 

א.  מהו פלט קטע התוכנית עבור הקלט    ZaBzdA   ?

ב.  תן שתי דוגמות קלט שונות שעבור כל אחת מהן יהיה הפלט  zaBzdA   ?

ג.  שנה את קטע התוכנית כך שעבור כל אות קלט תוצג כפלט האות העוקבת בצורה מעגלית.

    (כאשר 'a' עוקבת ל 'z'  ו-  'A' עוקבת ל- 'Z' )

 

שאלה  3

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

 

writln ('הקש מספק טבעי');
readln(N);
Count :=1;
while (N div 10) > 0 do
   Count := Count +1;
writeln (Count, ' מספר הספרות הוא'); 

 

 

א.  הבא דוגמת קלט שעבורה יתקבל הפלט הדרוש.

ב.  הבא דוגמת קלט שעבורה לא יתקבל הפלט הדרוש.

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

 

שאלה  4

חברת דיסקים החליטה לשמור את הנתונים של הדיסקים למוסיקה לריקודים בצורה מסודרת.

הנתונים לכל דיסק הם:

             סוג המוסיקה: (R - רוק, P - פופ, D - דנס, T - טרנס)

             מספר דיסק ( 1..150 )

             שנת הוצאה

             מחיר קטלוגי ( 50-120 )

             עבוד מחודש ( כן/לא )

I.         הגדר טיפוס הנתונים  DiskType   לשמירת נתונים אלה.

II.      נתונה ההצהרה:     Disk : DiskType  var     

  כתוב משפט  if שיוריד את המחיר של Disk  במחצית אם שנת ההוצאה שלו קודמת ל- 1980 ולא נעשה לו עיבוד מחדש.

 

שאלה  5

נתונות ההגדרות הבאות:

;const   N=50

type ArrayType=array[1..N] of integer;

var   A:ArrayType;

         Max,Min:integer;

 

ונתונה כותרת הפרוצדורה:

   procedure MaxMin (________________________________________________);

{   טענת כניסה : הפרוצדורה מקבלת כפרמטר מערך מטיפוס ArrayType    

           {   טענת יציאה : הפרוצדורה מחזירה ב- Max וב- Min את האיבר הגדול ביותר            }

           {                     והאיבר הקטן ביותר במערך בהתאמה.                                         }

                                    

ויש לזמן את הפרוצדורה בצורה הבאה:

  MaxMin (A , Max , Min)

ציין עבור כל אחת מכותרות הפרוצדורה הבאות אם היא מתאימה למילוי המטרה. נמק בקצרה את קביעתך.

 

;( 1procedure MaxMin( B : ArrayType ;  Maxi , Mini : integer

2.procedure MaxMin( B : ArrayType ;  var Maxi : integer;  var  Mini : integer);

3.procedure MaxMin( A :integer ; var  Maxi :integer;  var Mini : integer);

4.procedure MaxMin( var  Maxi : integer;   var  Mini : integer ; B : ArrayType );

5.procedure MaxMin( B: array[1..N] of integer ;  var  Maxi : integer;  var Mini :    integer); 

 

 

פרק שני ( 30 נקודות)

ענה על שתיים מבין השאלות 6 - 8 (לכל שאלה - 15 נקודות).

 

שאלה 6

לפניך פונקציה:

 

funcion Count_k_pairs (K:integer):integer;
{ K טענת כניסה: הפונקציה מקבלת כפרמטר מספר שלם חיובי}
{________________________________________:טענת יציאה}
var
   Num, Count, I: integer;
   A:array[1..10] of integer;
begin
   writeln('הקש 10 מספרים שלמים');
   for I:=1 to 10 do
      readln (A[I]);
   Count:=0;
   for I:=1 to 9 do
      if (A[I] +A[I+1]) =K then
         Count:=Count+1;
      Count_k_pairs:=Count;
end; { Count_k_pairs }

 

  

I.        מה יהיה פלט הפונקציה עבור הערך 15 כפרמטר והקלט : 10  5  8 7  8  4   14   1  3  9 

II.     השלם את טענת היציאה של הפונקציה.

III.   הפונקציה מבצעת את החישוב הדרוש באמצעות מערך. נמק מדוע אין צורך בכך?

IV.  כתוב את הפונקציה, כך שהחישוב יתבצע ללא מערך.

 29-02-04 / 13:05  עודכן ,  17-02-04 / 15:17  נוצר ע"י ליזי פרגו'ן בתאריך 
 פרק 6: מבחנים לדוגמא - הקודםהבא - מבחן 1-שאלות (המשך) 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 3