szlovák nyelven középszint 0801 ÉRETTSÉGI VIZSGA 2009. május 22. INFORMATIKAI ALAPISMERETEK SZLOVÁK NYELVEN KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
Dôležité informácie Všeobecné poznámky: Keď študent označí okrem správnej odpovede(í) aj nesprávnu, tak z počtu bodov, ktoré je možné udeliť za danú otázku treba odčítať počet nesprávnych odpovedí. Negatívny počet bodov nie je možné udeliť, preto v prípade viacerých chybných odpovedí nie je možné udeliť minimálny počet bodov nižší ako je nula. Napr.: Keď popri dobrej odpovedi študent označí aj jednu chybnú odpoveď, tak je treba mu udeliť 0 bodov. V určitých prípadoch sa môže stať, že kvôli používaniu systému, ktorý sa odlišuje od všeobecného, študent neuvedie očakávanú odpoveď, ale jeho odpoveď a odôvodnenie je prijateľné. V takomto prípade je treba udeliť taký počet bodov, koľko je možné v danej otázke. Napr.: V tabuľkových procesoroch sa v maďarskom nastavení používa na oddeľovanie desatinných miest čiarka a to je očakávaná odpoveď. Ak ale študenti používajú v priebehu svojej práce anglické nastavenie, alebo to napíše študent ako poznámku, tak namiesto čiarky bude správnou odpoveďou bodka podľa nastavenia anglického užívateľského prostredia. Suma bodov za písomné úlohy môže byť iba celé číslo. Pokiaľ počet bodov písomnej skúšky (jej časti) nie je celé číslo, tak je treba vykonať matematické zaokrúhlenie (počet bodov končiacich na päť desatín, alebo vyššie zaokrúhlime smerom nahor, sumy končiace pod piatimi desatinami zaokrúhlime smerom nadol). írásbeli vizsga 0801 2 / 10 2009. május 22.
I. Úlohy majúce charakter testu, ktoré vyžadujú jednoduchú, krátku odpoveď Hardvér 1) b... 1 bod 2) N, N, P, N (každá správna čiastková odpoveď je 1 bod)... 4 body 3) b, d... 2 body 4) b... 1 bod 5) b... 1 bod 6) a, d... 2 body 7) P, N, N, P (každá správna čiastková odpoveď je 1 bod)... 4 body 8) c... 1 bod 9) b... 1 bod 10) N, P, P, P (každá správna čiastková odpoveď je 1 bod)... 4 body Softvér 11) b... 1 bod 12) P, P, P, N (každá správna čiastková odpoveď je 1 bod)... 4 body 13) P,P, P, P (každá správna čiastková odpoveď je 1 bod)... 4 body 14)... 4 body Softvér operačný systém Softvér aplikácia Hardvér periféria Solaris X Trackball X Antivírový program X Pen Drive X Hardvér iné 15) d... 1 bod Textová editácia, tabuľkový procesor 16) d... 1 bod 17) P, N (každá správna čiastková odpoveď je 1 bod)... 2 body 18) d... 1 bod 19) (každá správna čiastková odpoveď je 1 bod) Spolu: 2 body =FKERES(0051;$A$1:$C$5;3)... Mizó... 1 bod =DARAB($A$1:$C$5)... 5... 1 bod Základy informatiky 20) b... 1 bod 21) c... 1 bod 22) d... 1 bod 23) Pretože 8 bitov je 2 8 ks, to znamená, že sa dá uviesť 256 rozličných čísel.... 1 bod 24) (každá správna čiastková odpoveď je 1 bod) Spolu: 2 body a. A=5, B=0, C=15 --------> D=... 3... 1 bod b. A=10, B=1, C=0 --------> D=... 10... 1 bod írásbeli vizsga 0801 3 / 10 2009. május 22.
Poznatky z oblasti sietí, HTML 25) b... 1 bod 26) d... 1 bod 27) a... 1 bod Hodnotenie: Celkový počet bodov, ktorý možno udeliť za tieto úlohy: 50 bodov írásbeli vizsga 0801 4 / 10 2009. május 22.
II. Riešenie úloh z programovania, respektíve narábania s databázami 1. úloha (10 bodov) Zakódujte nižšie uvedený algoritmus použitím jedného z určených programovacích jazykov, ktoré sú vopred zadané v aktuálnom zozname softvéru! Ako riešenie úlohy požadujeme celý, preložiteľný a fungujúci kód, ktorý číta dáta z klávesnice (standard input) a vypisuje ho na obrazovku (standard output). V prípade použitia vizuálneho riešiteľského prostriedku požadujeme aby bol vyhotovený vo forme aplikácie algoritmu konzoly (beží v textovom okne)! Parametre postupu uvedené v úlohe KI( ) píšte na štandardný výstup. Volanie funkcie KI(SOREMELES) má nastaviť kurzor na začiatok nasledujúceho riadku. Účinkom funkcie KI():n má parametre volania KI vypísať na oblasť s veľkosťou n, pokiaľ je výraz kratší ako n, tak zvyšnú časť vyplní medzerami. Konštantné texty zadávame medzi úvodzovky. := je hodnota a = označuje operátora posudzujúceho zhodnosť. Premenné: I, J premenné globálneho typu programu tabuľka násobenia výstup ( tabuľka násobenia: ) výstup (začiatok riadku) cyklus I := od 1 do 10 cyklus J:= od 1 do 10 výstup (I*J):4 Ak J<>10 potom výstup (, ) Koniec podmienky Koniec cyklu výstup (začiatok riadku) Koniec cyklu Koniec programu. a) Správne definovanie premenných...2 body b) Za správne začatie a dokončenie programu...2 body (správny formát a dobrý syntax) c) V prípade správneho vypísania...2 body d) Cykly a ich vtelenie do seba...2 body g) Jadro vnútorného cyklu...2 body Jedno možné riešenie v jazyku C# : using System; using System.Collections.Generic; using System.Text; namespace kf1 class Program írásbeli vizsga 0801 5 / 10 2009. május 22.
static void Main(string[] args) int i, j; Console.Write("tabuľka násobenia"); Console.WriteLine(); for (i = 1; i <= 10; i++) for (j = 1; j <= 10; j++) Console.Write("0,4", i * j); if (j!= 10) Console.Write(","); Console.WriteLine(); Console.ReadKey(); // Vo vytýčenom zadaní // nie je udané toto očakávanie 2. úloha (10 bodov) Napíšte program, ktorý načíta text z klávesnice, potom rovnako z klávesnice načíta reálne číslo! Pokiaľ je načítaný text riadok znakov ci, v tom prípade predpokladá o načítaných číslach, že je to hodnota udaná v centimetroch a výsledok premení na palce (inch) a danú hodnotu vypíše na obrazovku. Pokiaľ je načítaný text riadok znakov ic, v tom prípade predpokladá o načítaných číslach, že je to hodnota udaná v palcoch (inch) a výsledok premení na centimetre a danú hodnotu vypíše na obrazovku. Pokiaľ je načítaný text odlišný od hore uvedeného, program vypíše text Nezrozumiteľný príkaz! na obrazovku a nebude vykonávať konverziu. (Poznámka: 1 palec = 2,54 cm). Ako riešenie úlohy požadujeme celý, preložiteľný a fungujúci kód, ktorý číta dáta z klávesnice (standard input) a vypisuje ho na obrazovku (standard output). V prípade použitia vizuálneho riešiteľského prostriedku požadujeme aby bol vyhotovený vo forme aplikácie algoritmu konzoly (beží v textovom okne)! Má byť zadané: zdrojový kód programu riešiaceho zadanie! a) Správne definovanie premenných...2 body b) Za správne začatie a dokončenie programu...2 body (správny formát a dobrý syntax) c) Správne zadanie dát...2 body d) Zobrazenie správneho výsledku...4 body - Správny prepočet z cm na inch 1 bod - Správny prepočet z inch na cm 1 bod - Správne zobrazenie 2 body Jedno možné riešenie v jazyku C# : írásbeli vizsga 0801 6 / 10 2009. május 22.
using System; using System.Collections.Generic; using System.Text; namespace kf2 class Program // Narábanie s reálnou chybou (try-catch-finally) // nie je súčasťou vytýčeného zadania, // preto riešenia, ktoré ju neobsahujú sa dajú // pouvažovať za plnohodnotné. static void Main(string[] args) try // Definovanie premenných string atvaltasirany; double ertek, atvaltottertek; // Vypísanie informácií Console.WriteLine("----------------------------"); Console.WriteLine("Centimeter <-> Prepočet na inch"); Console.WriteLine("cm -> inch: ci"); Console.WriteLine("inch -> cm: ic"); Console.WriteLine("----------------------------"); Console.WriteLine(""); // Načítanie vstupných dát Console.Write("Uveďte typ premeny" + " (ci vagy ic):"); atvaltasirany = (Console.ReadLine()); Console.Write("\nzadajte hodnotu, ktorá má byť prepočítaná:"); ertek = Double.Parse(Console.ReadLine()); Console.WriteLine(); // vypočítanie a vypísanie výsledku if (atvaltasirany == "ci") atvaltottertek = ertek / 2.54; Console.WriteLine("0 Centimeter je toľko, " + "ako 1 palec", ertek, atvaltottertek); else if (atvaltasirany == "ic") atvaltottertek = ertek * 2.54; Console.WriteLine("0 palec je toľko, " + " ako 1 centimeter.", ertek, atvaltottertek); else Console.WriteLine("Nezrozumiteľný príkaz!"); catch (Exception e) Console.WriteLine("\nHIBA: 0", e.message); finally // Koniec programu, čakanie na stlačenie klávesy Console.WriteLine(); írásbeli vizsga 0801 7 / 10 2009. május 22.
Console.WriteLine("pre ukončenie programu stlačte akúkoľvek " + " klávesu!"); Console.ReadKey(); 3. úloha (15 bodov) Na jednej meteorologickej stanici každý deň na poludnie merajú teplotu vzduchu a to počas jedného týždňa. (Počiatočný deň týždňa má byť pondelok!) Napíšte program, ktorý načíta z klávesnice denne namerané hodnoty teploty a ukladá ich do jedného bloku! Po načítaní má program určiť a napísať na obrazovku, koľkokrát za daný týždeň a v ktorých dňoch boli teploty pod bodom mrazu. (Teploty pod bodom mrazu sú tie, keď je hodnota teploty nižšia ako 0 stupňov.). Popri zadanom vstupe má byť formát zobrazenia nasledujúci: Vstup: 3-2 4 3-4 2 5 Výstup: Počas týždňa bol 2- krát mráz (utorok, piatak). Ako riešenie úlohy požadujeme celý, preložiteľný a fungujúci kód, ktorý číta dáta z klávesnice (standard input) a vypisuje ho na obrazovku (standard output). V prípade použitia vizuálneho riešiteľského prostriedku požadujeme aby bol vyhotovený vo forme aplikácie algoritmu konzoly (beží v textovom okne)! Má byť zadané: zdrojový kód programu riešiaceho zadanie! a) Správne definovanie premenných... 3 body Za chybné riešenie môžete udeliť menej bodov. b) Za správne začatie a dokončenie programu... 1 body (správny formát a dobrý syntax) c) Vyplnenie bloku... 3 body Za chybné riešenie môžete udeliť menej bodov. d) Určenie dní keď boli mrazy... 3 body Za chybné riešenie môžete udeliť menej bodov e) Určenie počtu mrazivých dní... 3 body f) Vypísanie výsledku... 2 body Jedno možné riešenie v jazyku C# : using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 class Program // Narábanie s reálnou chybou (try-catch-finally) írásbeli vizsga 0801 8 / 10 2009. május 22.
// nie je súčasťou vytýčeného zadania, // preto riešenia, ktoré ju neobsahujú sa dajú // pouvažovať za plnohodnotné. static void Main(string[] args) try // Definovanie premenných const int napszam = 7; string[] napnev = "pondelok", "utorok", "streda", "štvrtok" "piatok", "sobota", "nedeľa" ; double[] napihomerseklet = new double[napszam]; int i; int fagyosnapokszama; // Vypísanie informácií Console.WriteLine("----------------------------"); Console.WriteLine("Meteorologická stanica "); Console.WriteLine("Určenie mrazivých dní "); Console.WriteLine("----------------------------\n"); // Načítanie vstupných dát Console.WriteLine("Uveďte na juhu namerané " + "teploty!\n"); for (i = 0; i < napszam; i++) Console.Write(napNev[i] + ": "); napihomerseklet[i] = Double.Parse(Console.ReadLine()); // Vypočítanie a vypísanie výsledku fagyosnapokszama = 0; for (i = 0; i < napszam; i++) if (napihomerseklet[i] < 0) fagyosnapokszama++; Console.Write("\nA 0 krát za týždeň (", fagyosnapokszama); for (i = 0; i < napszam; i++) if (napihomerseklet[i] < 0) Console.Write(napNev[i]+","); if (fagyosnapokszama == 0) Console.Write("\b"); else Console.Write("\b) "); Console.WriteLine("volt fagy.\n"); catch (Exception e) Console.WriteLine("\nHIBA: 0", e.message); finally // Koniec programu, čakanie na stlačenie klávesy Console.WriteLine(); Console.WriteLine("Pre ukončenie programu stlačte akúkoľvek" + "klávesu!"); Console.ReadKey(); írásbeli vizsga 0801 9 / 10 2009. május 22.
4. úloha (15 bodov) Vytvorte databázu s názvom valuta! Vo vnútri databázy vytvorte tabuľku PrepocetHUF podľa dát k uloženiu uvedených nižšie s poľami potrebného typu a vhodného názvu (atribúty) a vyplňte túto tabuľku zadanými dátami! Mena Skr. HUF / valuta valuta / HUF USA Dolár USD 204.5138265772 0.0048896450 Euro EUR 248.4173850392 0.0040254832 Anglická Libra GBP 366.0384049918 0.0027319538 kanadský Dolár CAD 174.7082630606 0.0057238277 austrálsky Dolár AUD 155.8966190739 0.0064145073 japonský Jen JPY 1.8307877442 0.5462129639 Vytvorte vyhľadanie informácie, ktorá udáva, koľko forintov dostaneme za každú menu udanú v tabuľke pri premene 100 jednotiek na forinty celkovo! Poznámka: Pri tých databázových procesoroch, kde nemôžeme vytvoriť databázu, ale iba tabuľku, vytvorme namiesto databázy podknižnicu (súbor), a v nej vytvorme tabuľkový súbor. Potom treba vložiť vytvorenú podknižnicu (súbor) a jej obsah. Pokiaľ sa vytvorenie databázy a jej naplnenie neuskutočňuje z daného rámcového systému, ale je vytváraná niektorým kódom programovacieho jazyka (napríklad SQL), potom je treba zadať aj zdrojový kód použitého jazyka. a) Vytvorenie databázy a tabuľky s poľami vhodného typu a názvu... 6 bodov b) Správne a presné zadanie dát... 4 body c) Správne vyjadrenie vyhľadávania... 5 bodov (Za chybné riešenie môžete udeliť menej bodov.) Jedno možné vyjadrenie vyhľadávania v SQL: SELECT SUM(HUF_VAL*100) AS SzazasOsszeg FROM HUFValto; Vyhodnotenie Celkový počet bodov, ktorý možno udeliť: 50 bodov írásbeli vizsga 0801 10 / 10 2009. május 22.