Didaktický projekt, informatika - jednorozmerné pole

Riešenie didaktického testu

[verzia v rtf formáte]

Ú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.

Zadania úloh didaktického testu:

1.

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

2.

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?

  1. for i := 1 to 10 do write(a[i],' ');
    výsledok: 3 4 5 6 7 8 9 10 11 12 - 1b
  2. writeln(a[a[3]]);
    výsledok: 7, resp. podľa výsledku v a) - 1b
  3. 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

3.

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ý:

  1. načíta namerané údaje v poradí, ako sme ich namerali,
  2. vypíše vzdialenosť od prameňa (v km) a namerané hodnoty dusičnanov v poradí od prameňa,
  3. vypíše tie kilometre rieky, na ktorých hodnota dusičnanov prekročila hodnotu 50 mg/l,
  4. vypíše tie kilometre, na ktorých došlo k zvýšeniu hodnoty dusičnanov vzhľadom na hodnotu nameranú na predchádzajúcom kilometri (v smere od prameňa).
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.

Javová analýza:

  1. za každé označenie a správne zdôvodnenie 1b - spolu 3b,
    1. za správne uvedenie výsledku 1b,
    2. za správne uvedenie výsledku 1b,
    3. za správne uvedenie výsledku t.j. a[1], a[10] 1b - spolu 2b,
    • definícia typu a deklarácia premennej 2b,
    • načítanie prvkov 1b,
    • výpis indexov, prvkov v opačnom poradí 3b,
    • výpis správnych hodnôt 1b,
    • výpis správnych hodnôt a použitý index nie mimo rozsah poľa 2b,

Celkom: 16b

Návrh prevodu bodového skóre na klasifikačnú známku:

  • 16b-15b - výborný
  • 14b-13b - chválitebný
  • 12b-11b - dobrý
  • 10b-9b - dostatočný
  • 8b a menej - nedostatočný
Oddelenie didaktiky informatiky a podporných technológií, Ústav informatiky, Prírodovedecká fakulta, Univerzita P. J. Šafárika v Košiciach