Správy k priebehu a výsledkom vyučovania v odbore IST
Vypracoval: RNDr. Miloš Vojtek
Predmet: PRO (Programovanie)
Ročník: II
Dátum: 7.2.2011
1. Charakteristika predmetu
Predmet umožňuje žiakom dosiahnuť potrebné vedomosti pri algoritmizácii riešenia
problémov v programovacom jazyku C++. Cieľom je naučiť žiakov základné pojmy,
postupy a prostriedky programovania, sprístupniť základné pojmy a techniky
používané pri vytváraní programov. Žiaci sa zoznámia sa so syntaxou jazyka C++ a
základnými programátorskými technikami, naučia sa používať vstavané dátové typy a
vytvárať vlastné, navrhovať a implementovať funkcie, využívať rekurziu, pracovať s
poľom a implementovať elementárne štatistické operácie, efektívne a hlavne bezpečne
používať ukazovatele, pracovať s reťazcami, štruktúrami a využívať knižnice.
2. Špecifikácia predmetu voči predmetu v bežnej triede
Predmet sa pod názvom „programovanie“ v iných odboroch nevyučuje.
Programovanie v jazyku C++ sa v iných odboroch vyučuje v rámci predmetov INF
(informatika) a VYT (Výpočtová technika).
V porovnaní s vyučovaním programovania v bežnej triede sa žiaci odboru IST
zoznamujú aj s pokročilejšími technikami, ako napríklad preťažovanie funkcií,
dynamická alokácia zložených údajových typov, využívanie objektových vlastností
jazyka a pod. Riešia sa tiež náročnejšie algoritmické úlohy. Na rozdiel od iných
odborov pracujeme v najmodernejšom vývojovom prostredí Microsoft Visual C++.
3. Vzťah predmetu ku ostatným predmetom v triede
Predmet „programovanie“ je zaradený medzi odborné predmety. Programovanie
v sebe zahŕňa problematiku algoritmizácie a tiež vyučovanie konkrétneho
programovacieho jazyka C++. Algoritmizácia rozvíja predovšetkým logické myslenie
a preto má blízko k matematike – na hodinách programujeme množstvo problémov
z matematiky: riešenie kvadratickej rovnice, skalárny súčin vektorov, prienik
intervalov a množstvo ďalších konkrétnych matematických úloh. Tiež sú zaradené
úlohy aj z oblasti fyziky a elektrotechniky.
Samotné vyučovanie jazyka C++ má blízko k ostatným odborným predmetom,
predovšetkým k predmetu „operačné systémy“ (keďže aplikácie vyvíjame na
konkrétnej systémovej platforme), ďalej k predmetu „softvérové aplikácie“ (sami
vyvíjame množstvo aplikácii a žiaci tak majú možnosť vidieť a vedieť, čo znamená
vytvorenie a spustenie danej aplikácie). Programovanie má tiež blízko k predmetu
„databázové aplikácie“ - pracujeme aj so zloženými údajovými štruktúrami, ako je
pole štruktúr, kde vlastne jednotlivé prvky poľa sú záznamami v tabuľkách databáz.
1
Ako vidno predmet „programovanie“ je dôležitý, pretože zabezpečuje prepojenie
medzi inými predmetmi a umožňuje tak rozvíjať medzipredmetové vzťahy.
4. Dosiahnuté výsledky s priloženou ukážkou testu
Počas 1. polroku bol každý žiak preskúšaný celkovo 5 krát: 3 krát z vytvorenia
programu na počítači, 2 krát písomne.
V prílohe k tomuto dokumentu je uvedená ukážka písomky č. 2 a zadania úloh,
riešených na počítači (žiak si mal možnosť vybrať len jedno zo zadaní). V oboch
prípadoch sú uvedené aj hodnotenia.
Žiaci dosiahli nasledovné výsledky:
Písomka č.2 – max. počet bodov 16, priemerný počet bodov na žiaka 8,62
Úlohy 3 – max. počet bodov 25, priemerný počet bodov na žiaka 16,06
5. Odporúčania k tvorcom ŠVP
Programovanie by bolo vhodné zaradiť už do prvého ročníka a vyučovať ho vo
všetkých ročníkoch, najmä preto, aby sme mohli zapájať žiakov do rôznych
programátorských súťaží. Prípadne ponechať súčasný stav a v treťom ročníku zaradiť
vyučovanie základov objektového programovania v C++ a základov STL (Standard
template library) v počte 2hod. cvičení na žiaka.
Z mojich prieskumov počas 1. polroku vyplýva, že viac než 90% žiakov má záujem
o uvedenú problematiku, preto som sa rozhodol viesť budúci školský rok krúžok, kde
by sa OOP a STL preberalo.
V každom prípade je potrebné ponechať vo vyučovaní jazyk C++ a prípadne jeho
vyučovanie rozšíriť. Nenahrádzať ho jazykom C, len preto, lebo na vysokých školách
sa učí jazyk C. Jazyk C++ je moderný programovací jazyk s podporou OOP a STL.
Naučí žiakov používať moderné programátorské postupy (čo C v žiadnom prípade
neumožňuje, keďže ide o procedurálny jazyk!), v súčasnosti stále v najrozšírenejšom
programovacom jazyku na svete.
Jazyk C je vhodné (tak ako je aj zaradený podľa ŠVP) vyučovať v 3. ročníku na
programovanie mikrokontrolérov.
Vyučovanie Javy vo 4. ročníku je úplne v poriadku. Aj tu však vidieť potrebu
vyučovania jazyka C++, lebo oba jazyky sú podobné (učiť jazyk C a potom prejsť na
Javu je nezmysel!).
6. Sledované obdobie
1. polrok 2. ročníka
2
Príloha – ukážka písomného zadania a úloh riešených na PC
Písomka č. 2
1. Uveďte, ako bude vyzerať výpis po vykonaní nasledovného príkazu:
cout << 512 << endl << 18.4;
1b
2. Uveďte, ako bude vyzerať výpis po vykonaní nasledovného príkazu:
cout << “Double je \n udajovy typ“;
1b
3. Uveďte, ako bude vyzerať výpis po vykonaní nasledovných príkazov:
char znak=‘B‘;
znak++;
cout << 0x2E << ‘\n’ << int(znak);
2b
4. Uveďte koľko premenných je deklarovaných nasledovným príkazom a koľko
z nich je aj inicializovaných:
float pocet=7.0,vek,cenaSpolu=12.6,priemer,sucet=12.1;
1b
5. Uveďte, kde je v nasledovnej časti kódu chyba a vysvetlite:
const int Return = 22;
Return = 105;
1b
6. Uveďte, čo bude v premenných cislo1, cislo2 a cislo3 po zbehnutí nasledovnej
časti kódu:
int cislo1=23,cislo2=37,cislo3;
cislo3=cislo2-cislo2/cislo;
1b
7. Uveďte, čo bude v premenných cislo1, cislo2 a cislo3 po zbehnutí nasledovnej
časti kódu:
int cislo1=3,cislo2=4,cislo3=10;
cislo3 = pow(cislo1,cislo2) - cislo3;
2b
8. Uveďte, čo bude v premenných a, b a c po zbehnutí nasledovnej časti kódu:
int a=3,b=10,c;
c = ++a – b- -;
2b
9. Uveďte, čo sa vypíše po vykonaní nasledovných príkazov:
string text(“Programovanie v jazyku C++“);
cout << text.length()/2;
1b
10. Uveďte príkaz, ktorým z klávesnice načítate do premennej veta reťazec, vrátane
medzier!
1b
11. Nech premenná hodnota (typ int) je na adrese 0x22ff78 a obsahuje hodnotu 55.
Uveď, čo sa vypíše príkazmi cout, po vykonaní nasledovných príkazov:
int *ptHodnota=&hodnota;
*ptHodnota=*ptHodnota*10;
cout << &hodnota << endl;
cout << *ptHodnota << endl;
cout << ptHodnota-1 << endl;
3b
Hodnotenie
100% - 90% 16b - 14b
89% - 70% 13b - 11b
69% - 50% 10b - 8b
49% - 30% 7b - 5b
29% - 0% 4b - 0b
1
2
3
4
5
3
Úlohy 3a
Priklad_1.
Vytvorte program, ktorý každý znak prvej polovice ľubovoľného reťazca zadaného
z klávesnice, nahradí ľubovoľným znakom zadaným z klávesnice. V prípade reťazca
s nepárnym počtom znakov, bude nahradený aj „stredný“ znak reťazca.
25b
Priklad_2.
Vytvorte program, ktorý po zadaní dvoch celých čísel, vypočíta tretiu odmocninu ich
súčtu a tú potom vypíše na taký počet desatinných miest, aký bude zadaný z klávesnice.
20b
Priklad_3.
Vytvorte program, ktorý vypočíta priemernú veľkosť piatich reťazcov, zadaných
z klávesnice. Priemer nech je zobrazený na dve desatinné miesta.
16b
Priklad_4.
Vytvorte program na výpočet sínusu uhla zadaného z klávesnice. Uhol je zadaný
v stupňoch
10b
Priklad_5.
Vytvorte program, ktorý po zadaní ľubovoľného čísla, vypíše jeho druhú odmocninu.
Odmocnina nech je vypísaná na 4 desatinné miesta
5b
Hodnotenie
100% - 90%
89% - 70%
69% - 50%
49% - 30%
29% - 0%
25b - 23b
22b - 18b
17b - 13b
12b - 8b
7b - 0b
1
2
3
4
5
Upozornenie: Vo všetkých programoch komentujte vstupy a výstupy.
Môžete riešiť iba jeden príklad!
4
Download

Programovanie