Závěrečná zkouška z informatiky 2011

Podobné dokumenty
Programovací jazyk Pascal

Přijímací zkouška z informatiky Dz

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Úvod do programování

NPRG030 Programování I, 2018/19 1 / :25:37

Sada 1 - Základy programování

NPRG030 Programování I, 2010/11

Kombinatorika, výpočty

NPRG030 Programování I, 2017/18 1 / :22:16

NPRG030 Programování I, 2016/17 1 / :58:13

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

ČÍSELNÉ SOUSTAVY PŘEVODY

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Základní jednotky používané ve výpočetní technice

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A

Klasický podprogram, který nazýváme procedura. Jedná se v podstatě o příkaz. 1

ALGORITMIZACE A PROGRAMOVÁNÍ

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Sada 1 - Základy programování

kombinatorika září, 2015 Kombinatorika Opakovací kurz 2015 Radka Hájková

Poslední nenulová číslice faktoriálu

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Už známe datové typy pro representaci celých čísel i typy pro representaci

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

Sada 1 - Základy programování

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

Algoritmizace a programování

VY_32_INOVACE_08_2_04_PR

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

Přijímací zkouška na navazující magisterské studium 2015

MATA Př 3. Číselné soustavy. Desítková soustava (dekadická) základ 10, číslice 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Přijímací zkouška na navazující magisterské studium 2017

1.5.2 Číselné soustavy II

Číselné soustavy a převody mezi nimi

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1

Pokud není uvedeno jinak, uvedený materiál je z vlastních zdrojů autora

Výukový materiál zpracovaný v rámci projektu Výuka moderně Registrační číslo projektu: CZ.1.07/1.5.00/

Binární soubory (datové, typované)

Řešení úloh z TSP MU SADY S 1

Převod Bin do BCD pomocí Hornerova schématu

Číslo materiálu. Datum tvorby Srpen 2012

Binární logika Osnova kurzu

PODPROGRAMY PROCEDURY A FUNKCE

Kombinatorika. Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na

Časová a prostorová složitost algoritmů

Digitální učební materiál

Digitální učební materiál

NPRG030 Programování I RNDr.Tomáš Holan, Ph.D. 4.patro, č

Algoritmizace. 1. Úvod. Algoritmus

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

1.5.1 Číselné soustavy

ELEKTROTECHNIKA A INFORMATIKA

Kódováni dat. Kódy používané pro strojové operace

Sada 1 - Základy programování

Úvod do informatiky. Miroslav Kolařík

Anotace. Ordinalni typy - typ char, funkce ord, chr, succ, prev, inc, dec,

Digitální učební materiál

Při určování počtu výběrů skupin daných vlastností velmi často používáme vztahy, ve kterých figuruje číslo zvané faktoriál.

Variace, permutace, kombinace, faktoriál, kombinační čísla 1. Vypočítejte:

. Určete hodnotu neznámé x tak, aby

Způsoby realizace této funkce:

ČÍSELNÉ SOUSTAVY. Číselnou soustavu, která pro reprezentaci čísel využívá pouze dvou číslic, nazýváme soustavou dvojkovou nebo binární.

a) 7! 5! b) 12! b) 6! 2! d) 3! Kombinatorika

2. Test 07/08 zimní semestr

Basic256 - úvod do programování Příklady. ing. petr polách

KOMBINAČNÍ LOGICKÉ OBVODY

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.

Digitální učební materiál

Dynamické datové typy a struktury

KOMBINATORIKA (4.ročník I.pololetí DE, 2.ročník I.pololetí NS)

Monochromatické zobrazování

Martin Hejtmánek hejtmmar

Digitální učební materiál

Fz =a z + a z +...+a z +a z =

Program a životní cyklus programu

Číselné soustavy - Teorie

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

1. Základní pojmy a číselné soustavy

Anotace. Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), Martin Pergel,

(Úlohy z MO kategorie P, 32. část)

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Digitální učební materiál

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Analytická geometrie ( lekce)

Digitální učební materiál

Lineární algebra. Matice, operace s maticemi

Základní datové struktury III: Stromy, haldy

Přírodovědecká fakulta Aplikovaná informatika

Pravděpodobnost v genetické analýze a předpovědi

Úvod do programování. Úvod do programování. ing. Miroslav Jílek 2009, SJOP Poděbrady

Transkript:

Závěrečná zkouška z informatiky 2011 1) Číslo A je v dvojkové soustavě a má hodnotu 1101011. Číslo B je v šestnáctkové soustavě a má hodnotu FF3. Vypočítejte : A * B a výsledek napište v desítkové soustavě. Napište celý postup řešení! 10 bodů ----------------------------------------------------------------------------------------------------------- 2) Následující kód je napsán v Pascalu : Program HaHaHa; Var A,B: integer; C: Array [1..100] of integer; Begin Readln (A); B:=1; If A Mod 2 = 0 then Begin While (A>0) do begin C[B]:=A Mod 3; A:=A Div 3; B:=B+1; end; For A:=B-1 Downto 1 Write (C[A]); End; End. a) Nakreslete vývojový diagram tohoto programu! 15 bodů b) Co dělá tento program? 8 bodů ----------------------------------------------------------------------------------------------------------- 3) Následující vývojový diagram: Start A=0 B A = A+ B Mod 10 + - B>0 B = B Div 10 A End a) Napište kód v Pascalu nebo Visual Basicu! 15 bodů b) Co dělá tento program (Algoritmus)? 7 bodů

4) Následující kód je v Pascalu: Program HiHiHi; Var A, B, C, N: Integer; Begin Readln (N); C:=0; For A := 1 to N Do Begin C := C + 2; For B := A to N Do C := C + 1; End; Write (C); End. a) Vstupní hodnota N = 20. Jaká bude výstupní hodnota C? 15 bodů b) Pro kterou nejnižší vstupní hodnotu N bude výstupní hodnota C > 1000? 10 bodů ----------------------------------------------------------------------------------------------------------- 5) Ve skupině je 9 studentů: 4 dívky a 5 chlapců. V počítačové učebně je deset počítačů. U každého počítače může pracovat nejvýše jeden student. a) Kolika různými způsoby si studenti mohou sednout k počítačům tak, aby u sousedních počítačů nepracovaly dvě dívky? (Předpokládáme, že všechny dívky pracují!) 15 bodů b) Předpokládejme, že změna uspořádání (změna pozice studentů) trvá 15 sekund. Jak dlouho bude studentům trvat, než vyzkouší všechna možná různá uspořádání zasednutí k počítačům za podmínek uvedených v otázce a)? 5 bodů

Řešení zkoušky: Příklad 1 A má v binárním kódu hodnotu 1101011. Převedeme jej do decimálního kódu: 1 * 2^6 + 1 * 2^5 + 0 * 2^4 + 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0 = 64 + 32 + 0 + 8 + 0 + 2 + 1 = 107 Číslo B má v hexadecimálním kódu hodnotu FF3. Převedeme jej do decimálního kódu: 15 * 16^2 + 15 * 16^1 + 3 * 16^0 = 15 * 256 + 15 * 16 + 3 * 1 = 3840 + 240 + 3 = 4083 A * B = 107 * 4083 = 436881 ==================================================================== Příklad 2 Start A B = 1 - + A Mod 2 = 0 B = B+1 A = A Div 3 - + A > 0 C[B] = A Mod 3 For A = B-1 Down to 1 Write (C[B]) End

Není důležité, aby byl vývojový diagram přesně stejný. Důležité je, aby v něm byly obsaženy správné symboly se správnými operacemi a aby byla zachována sekvence operací! Symbol cyklu For není úplně přesný v reálu nemá svislé čáry (toto schéma je vytvořené v Open Office a tam není symbol obsažen! Algoritmus převede číslo A do trojkové soustavy. ==================================================================== Příklad 3 Program HaHiHa; Var A,B : Integer; Begin A:=0; Readln (B); While B>0 do Begin A:=A + B Mod 10; B:=B Div 10; end; Writeln (A); end. Program vytiskne součet číslic čísla B! ==================================================================== Příklad 4 Program vypočte sumu čísel od 1 do N ve vnitřním cyklu a přičte k ní n-krát číslo 2 ve vnějším cyklu : C=N. 2 N N 1 =N. 2 N 1 = N 2 2 2. N 5 a) Pro N=20 bude : C= 20 /2. (20 +5) = 10. 25 = 250 b) pro C>1000 bude první N, pro které toto bude pravda: 1000 < (N+5). N/2 2000 < N 2 + 5N 0 < N 2 + 5N 2000 z této nerovnice je první číslo N, které vyhovuje podmínce, rovno 43. Příklad 5 Zde se jedná o vyhledání všech variací umístění studentů ve třídě. Víme, že studentů je o jednoho méně než počítačů. To znamená, že u jednoho počítače nebude sedět žádný student. Také víme, že nemohou na sousedních počítačích pracovat dvě studentky. To znamená, že mezi dvěma studentkami bude pracovat chlapec, nebo počítač bude neobsazen nebude u něho pracovat nikdo!

Podívejme se systematicky jak budou sedět dívky: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 35 Máme tedy 35 různých možností, kde budou pracovat dívky tak, aby u žádných sousedních počítačů nebyly dvě dívky.

Samozřejmě stačilo si napsat čtveřice počítačů, spočítat jejich počet a nedělat celou tabulku: 1,3,5,7 1,3,5,8 1,3,5,9 atd. Toto můžeme také řešit jako kombinační číslo 7 nad 4 = 7! / 4!*3! = 35 (z prvního až čtvrtého řádku tabulky je patrné, že dívky mohou být na pozicích PC1, PC3, PC5, PC7, PC8, PC9, PC10 tedy čtveřice na sedmi pozicích) Nyní si musíme uvědomit, že dívky mohou sedět v pořadí: ABCD ABDC ACBD ACDB...... DCAB DCBA Jedná se o permutace a tak budeme mít 4! permutací pozice čtyř dívek na čtyřech pozicích (u čtyřech počítačů) = 4.3.2 = 24 Nyní vynásobíme 35 možností posazení dívek a 24 permutací každé čtveřice dívek : 35 * 24 = 840 možností, jak u počítačů můžou sedět 4 dívky tak, aby nepracovaly dvě dívky u sousedních počítačů. Nyní ještě musíme vyřešit pozice, kde budou sedět chlapci. Víme, že máme 5 chlapců u 6 zbylých počítačů. Jeden počítač tedy zůstane bez studenta. Protože bude jen jeden počítač bez studenta můžeme říci, že se zde jedná o permutace 6 = 6! = 720 možností. Nyní už zbývá jen vynásobit možnosti dívek a chlapců: 840 * 720 = 604800 možností rozmístění studentů v učebně s deseti počítači tak, aby dvě dívky nepracovaly na sousedních počítačích. Ještě vypočítáme čas, který potřebují studenti aby vyzkoušeli všechny možnosti. Víme že na změnu mají 15 sekund: 604800 * 15 = 9072000 sekund = 151 200 minut = 2520 hodin = 105 dní Studenti tedy potřebují přesně 105 dní na to, aby vyzkoušeli všechny možné pozice rozmístění u počítačů! (Bez jediné sekundy na jídlo, spánek, odpočinek, nebo na studium informatiky :-)))