Nazwisko i imię
[4 p] Podać „pascalową” postać nastepującego wyrażenia:
[4 p] Dla tablicy zadeklarowanej jako:
var wa : array [ 1 .. 10 ] of integer ;
wypisz jakie wartości przyjmują elementy tablicy wa po wykonaniu instrukcji:
m := 11;
repeat
m := m - 1 ;
wa [m] := m + m * m
until m = 1;
|
|
|
|
|
|
|
|
|
|
[10 p] Przy założeniu następujących deklaracji:
type wektory = array [ 1 .. 10, 1 .. 10 ] of real ;
osoba = record
nazwisko : string [15] ;
ocena : 2 .. 5 ;
end;
var i : integer ;
liczba : real ;
alfa : char ;
pozytywne : boolean ;
student : osoba ;
tab : wektory ;
spis : set of 1 .. 20 ;
beta : file of osoba ;
procedure wykaz (y:osoba);
begin
writeln(y.nazwisko);
writeln(y. ocena)
end;
opisz wszystkie błędy w następujących instrukcjach lub zaproponuj zbliżoną, poprawną ich postać:
a) liczba := 3sin(5) ;
b) if alfa=`a' then tab[13,1] := 10;
c) assign ( `a:dane.bin' );
d) wektory[1, 3] := 200 ;
e) student.ocena := student.ocena / 2 ;
f) read (beta, student.nazwisko) ;
g) wykaz (alfa) ;
h) repeat i = i + 3 until i =100 ;
i) if [2] in spis then pozytywne:=false;
j) i := i + 12.3 ;
[5 p] Zbadaj jak zmieniają się wartości zmiennych a, b, c w trakcie wykonywania poniższego programu, wypełnij tabelkę dla każdej zmiany i określ ostateczne wartości wydrukowane na ekranie:
program p3;
var a, b, c :integer;
begin
a := 2 ;
b := 1 ;
c := 0;
while a> 0 do begin
c := c + b ;
if c > 3 then a :=a -1 ;
b := b + 1 ;
end;
writeln (a:10 , b:10 , c:10)
end.
Krok |
a |
b |
c |
1 |
2 |
1 |
0 |
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
Wartości drukowane |
|
|
|
[7 p] Napisać tekst programu, w którym zdefiniowana jest własna funkcja obliczająca i wyprowadzająca średnią arytmetyczną trzech liczb rzeczywistych. Program główny wczytuje 3 wartości, wykorzystuje funkcję do wyprowadzania obliczonej średniej na ekran.
C
1 |
2 |
3 |
4 |
5 |
|