Úlohy do didaktického testu boli vybrané tak, aby reprezentatívne pokrývali učivo danej témy. Vďaka použitým formuláciám úloh sme mohli týmto testom overiť vyššie poznávacie procesy žiakov (analyzovanie, hodnotenie, tvorenie).
Navrhujeme písomnú podobu didaktického testu s časom riešenia 90 minút.
Ktoré z uvedených definícií typu pole sú nesprávne a prečo?:
type pole = array [10...20] of real;chyba, pri definícii typu interval sa uvádzajú len dve bodky - 1b
type pole = array ['0'.. 9] of char;chyba, pri definícii typu interval musia byť krajné hodnoty rovnakého typu - 1b
type pole = array [1.0..2.0] of real;chyba, pri definícii typu interval musia byť krajné hodnoty ordinálneho typu - 1b
Definovali sme typ pole, deklarovali premenné a, i, pom a priradili prvkom poľa hodnoty:
type pole = array [1 .. 10] of integer; var a : pole; i, pom : integer; begin for i := 1 to 10 do a[i] := i + 2;
Čo bude výsledkom behu programu, ak program vykoná nasledovné príkazy?
for i := 1 to 10 do write(a[i],' ');výsledok: 3 4 5 6 7 8 9 10 11 12 - 1b
writeln(a[a[3]]);výsledok: 7, resp. podľa výsledku v a) - 1b
i := 1 to 9 do begin pom := a[i]; a[i] := a[i+1]; a[i+1] := pom; end; write(a[1],' ',a[10]);výsledok: 4 3, resp. podľa výsledku v a) - 2b
Na úseku rieky (od 10. km až po prameň) sme merali úroveň jej znečistenia dusičnanmi. Na každom celom kilometri sme odmerali množstvo dusičnanov vo vode. Vytvorte program, ktorý:
Program znecistenie_rieky; uses crt; const dlzka = 10; type pole = array[0 .. dlzka] of real; 1b var dusicnany : pole; 1b i : integer; begin clrscr; writeln('Zadaj namerane hodnoty dusicnanov'); for i := dlzka downto 0 do begin 1b write(i,'. kilometer: '); readln(dusicnany[i]); end; writeln; writeln('Namerane hodnoty:'); for i := 0 to dlzka do writeln(i,'. kilometer: ',dusicnany[i]:3:0); writeln; 1b 1b 1b write('Hodnota dusicnanov prekrocila uroven 50 mg/l na kilometroch: '); for i := 0 to dlzka do if dusicnany[i] > 50 then write(i,'., '); 1b writeln; write('Zvysenie hodnot dusicnanov bolo zaznamenane na kilometroch: '); for i := 1 to dlzka do if dusicnany[i] > dusicnany[i-1] then write(i,'., '); writeln; 1b 1b end.
Celkom: 16b