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?
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;
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