PASCAL TEST : RECORD

 

 

 

1.                   Pascal’da record nedir?

 

a)       Matrise benzer bir veri tipidir

b)       Aynı tipten verilerden oluşan bir veri tipidir

c)       Farklı tipten verilerden oluşabilen bir veri tipidir

d)       Hiçbirisi

 

 

Aşağıdaki bildirim, bundan sonraki sorularda kullanılacaktır?

 

Type

    QuizList = ARRAY[1..10] OF Integer;

    TestList = ARRAY[1..4] OF Integer;

    STUDENTRECORD = RECORD

                      Name        :  String[20];

                      Quiz         :  QuizList;

                      Test          :  TestList;

                      QuizA        :  Integer;

                      TestA        :  Real;

                      LetterGrade        :  'A'..'F' ;

                    END;

Var

  Student    :  StudentRecord;

 

 

 

2.                   Yukarıdaki bildirime göre, aşağıdakilerden hangisi doğrudur?

 

a)       Bu bildirim ile öğrencinin ençok 10 quiz’i ve 4 test’i değerlendirilebilir

b)       Bu bildirim ile öğrencinin enaz 10 quiz’i ve 4 test’i değerlendirilebilir

c)       Bu bildirim ile, her seferde, ile öğrencinin ancak 1 quiz’i ve 1 test’i değerlendirilebilir

d)       Hiçbirisi

 

 

3.                   Yukarıdaki bildirime göre, Student değişkeninin Quiz bileşeninin 9 uncu öğesini okuyan deyim aşağıdakilerden hangisidir?

 

a)     ReadLn(QuizList[9] );

b)     ReadLn(StudentRecord.Quiz[9])

c)     ReadLn(Student.Quiz[9])

d)       ReadLn(Quiz[9])

 

 

4.                   Yukarıdaki bildirime göre, Student değişkeninin Test bileşeninin 2 inci öğesini okuyan deyim aşağıdakilerden hangisidir?

 

a)       With Test do ReadLn(TestList[2] );

b)       With StudentRecord do ReadLn(StudentRecord.Test[2])

c)       With Student do ReadLn(Student.Test[2])

d)       With Test do ReadLn(Test[2])

 

 

 

5.                   Yukarıdaki bildirime göre, aşağıdaki procedure ne yapar?

 

PROCEDURE bbbbbb;

Var

  j : Integer;

Begin

  With Student DO

       Begin

            FOR J:=1 to 10 DO Read(Quiz[j]);

            FOR j:=1 to 4 DO  Read(Test[j]);

        End;

   Readln;

End;

 

a)     10 Quiz ile 4 Test sonucunu okur ve Student.Ad’a yazar.  

b)     10 Quiz ile 4 Test sonucunu okur ve StudentRecord.Quiz ’e yazar.  

c)     10 Quiz ile 4 Test sonucunu okur ve Student.Quiz ’e yazar.  

d)       Hiçbirisi

 

 

 

6.                   Yukarıdaki bildirime göre, aşağıdaki procedure ne yapar?

 

PROCEDURE cccccc;

Var

  J, sum : Integer;

Begin

  Sum := 0;

  With Student DO FOR J:=1 to 10 DO sum := sum + Quiz[j];

  QuizA := sum / 10.0

End;

 

a)     10 Quiz ortalamasını Student.Ad’a yazar.  

b)     10 Quiz ortalamasını StudentRecord.QuizA ’ya yazar.  

c)     10 Quiz ortalamasını Student.QuizA ’ya yazar.  

d)       Hiçbirisi

 

 

 

7.                   Yukarıdaki bildirime göre, aşağıdaki procedure ne yapar?

 

PROCEDURE dddddd;

Var

  J, sum : Integer;

Begin

  Sum := 0;

  With Student DO FOR J:=1 to 4 DO sum := sum + Test[j];

  TestA := sum / 4.0

End;

 

a)     4 Quiz ortalamasını Student.Ad’a yazar.  

b)     4 Quiz ortalamasını StudentRecord.TestA ’ya yazar.  

c)     4 Quiz ortalamasını Student.TestA ’ya yazar.  

d)       Hiçbirisi

 

 

8.                   Yukarıdaki bildirime ve aşağıdaki procedure’e göre, Quiz sonuçları {55, 25, 60, 70, 30, 20, 80, 90, 40, 100} ve Test sonuçları {65, 75, 35, 85} olan bir öğrencinin karne notu (LetterGrade) ne olur?

 

PROCEDURE eeeeee;

Var

  J, avg : Integer;

Begin

  avg := 0; avg := (0.4*Student.QuizA + 0.6*Student.TestA);

  If avg >= 90 then LetterGrade := ’A’

   Else If avg >= 80 then LetterGrade := ’B’

   Else If avg >= 70 then LetterGrade := ‘C’

Else If avg >= 60 then LetterGrade := ’D’

Else LetterGrade := ’F’

End;

 

a)     A  

b)     B

c)     C  

d)       D

e)       F