Przykładowe zadania
1. Podać definicję zmiennej tab reprezentującej tablicę o rozmiarze N złożonej z elementów typu real, gdzie N jest stałą w programie. Zainicjować zmienną tablicową danymi na etapie definicji dla N=5. Przyjąć wartości 1.0, 2.0, 3.0, 4.0, 5.0.
2. Wczytać trzy liczby całkowite a, b, c typu integer z klawiatury. Obliczyć średnią arytmetyczną liczb ze wzoru s = (a+b+c)/3 i wyprowadzić wynik na ekran.
3. Podać wartości, które zostaną wyprowadzone na ekran przez następujący program:
Var i, j, k: integer;
begin
k:=4; i:=1;
repeat dec(k,2);
for j:=1 to i do begin
k:=i+j; writeln(k:3);
end;
i:=i+1;
until i>3;
end.
4. Wczytać n z klawiatury. Opracować funkcję, która oblicza sumę kolejnych wyrazów szeregu
S(n) = 1/2 + 2/3 + 3/4 + 4/5 + ... + k/(k+1) +...+ (n-1)/n.
Np. dla n=3 jest S(3)=1/2 + 2/3.
Wykorzystać nagłówek: function S(n: integer): real;
5. Dana jest tablica kwadratowa var tab: ttab, gdzie type ttab = array[1..n,1..n] of integer, natomiast n jest stałą w programie.
a) Opracować procedurę, która inicjuje tablicę losowymi zerami i jedynkami.
Nagłówek: procedure Init(var t: ttab; n: integer);
b) Opracować procedurę, która wyprowadza zawartość macierzy wierszami na ekran.
Nagłówek: Procedure Pisz(var t: ttab; n:integer);
c) Opracować funkcję, która wyznacza sumę elementów należących do „prawej”
przekątnej macierzy. Np. dla n=4 są to pola zaznaczone X. Przyjąć nagłówek: function Sum(var t: ttab; n: integer): real;
O O O X O O X O O X O O X O O O
6. Dana jest tablica rekordów var tab: ttab, gdzie
Type PP = Record a,b: Real;
nr: Word;
End;
ttab = array[1..n] of PP;
a) Opracować procedurę, która inicjuje n elementów tablicy w taki sposób, że zmienne a, b są losowymi liczbami rzeczywistymi takimi, że a[1.5, 9.2), b[2.3, 5.1), nr = i (i=1,...,n).
Przyjąć nagłówek: procedure InitR(var t: ttab; n: integer);
b) Opracować funkcję, która wyznacza liczbę rekordów dla których suma a + b > W, gdzie W jest parametrem funkcji. Przyjąć nagłówek funkcji:
Function Ile(var t: ttab; n: integer; W: integer): integer;