Pracovní ukázka vstupního testu DSA 1.

Podobné dokumenty
a) Slovní úlohy o směsích b) Slovní úlohy o pohybu c) Slovní úlohy o společné práci

Délky v metrech HARRY POTTER A KÁMEN MUDRCŮ

Každý jednotlivý záznam datového souboru (tzn. řádek) musí být ukončen koncovým znakem záznamu CR + LF.

Zvyšování kvality výuky technických oborů

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.

( ) ( ) ( ) 2 ( ) Rovnice s neznámou pod odmocninou II. Předpoklady: 2715

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4

2.7.2 Mocninné funkce se záporným celým mocnitelem

Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

ŘÍZENÍ FYZIKÁLNÍHO PROCESU POČÍTAČEM

MATEMATIKA PŘIJÍMACÍ ZKOUŠKA K 8LETÉMU STUDIU NA SŠ ROK 2013


Svobodná chebská škola, základní škola a gymnázium s.r.o. Zlomky sčítání a odčítání. Dušan Astaloš. samostatná práce, případně skupinová práce

1. Téma 12 - Textové soubory a výjimky

IAJCE Přednáška č. 9. int[] pole = new int[pocet] int max = pole[0]; int id; for(int i =1; i< pole.length; i++) { // nikoli 0 if (Pole[i] > max) {

Spojová implementace lineárních datových struktur

( ) Kreslení grafů funkcí metodou dělení definičního oboru I. Předpoklady: 2401, 2208

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

Programování v C++, 2. cvičení

Řešení. ŘEŠENÍ 10 Domácí diskotéka

Svobodná chebská škola, základní škola a gymnázium s.r.o.

( ) Neúplné kvadratické rovnice. Předpoklady:

Správa paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016

Algoritmy I, složitost

Nerovnice s absolutní hodnotou

Úvod do programování - Java. Cvičení č.4

(a) = (a) = 0. x (a) > 0 a 2 ( pak funkce má v bodě a ostré lokální maximum, resp. ostré lokální minimum. Pokud je. x 2 (a) 2 y (a) f.

{ } Kombinace II. Předpoklady: =. Vypiš všechny dvoučlenné kombinace sestavené z těchto pěti prvků. Urči počet kombinací pomocí vzorce.

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Abstraktní datové typy

5 Rekurze a zásobník. Rekurzivní volání metody

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek

Konstruktory a destruktory

Mělká a hluboká kopie

Př. 3: Dláždíme čtverec 12 x 12. a) dlaždice 2 x 3 12 je dělitelné 2 i 3 čtverec 12 x 12 můžeme vydláždit dlaždicemi 2 x 3.

7. DIFERENCIÁLNÍ POČET FUNKCÍ DVOU PROMĚNNÝCH Definiční oblasti Úlohy k samostatnému řešení... 83

Abstraktní datové typy FRONTA

CERTIFIKOVANÉ TESTOVÁNÍ (CT) Výběrové šetření výsledků žáků 2014

int t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ;

Programování 4. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Algoritmizace a programování

Rozvrhování zaměstnanců

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

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

Android OpenGL. Animace a ovládání pomocí dotykové obrazovky

DSA, První krok: máme dokázat, že pro left = right vrátí volání f(array, elem, left, right)

PŘIJÍMACÍ ZKOUŠKY I.termín

2.7.1 Mocninné funkce s přirozeným mocnitelem

Domácí úkol DU01_2p MAT 4AE, 4AC, 4AI

Napájecí soustava automobilu. 2) Odsimulujte a diskutujte stavy které mohou v napájecí soustavě vzniknout.

Zákonitosti, vztahy a práce s daty

65. ročník matematické olympiády Řešení úloh klauzurní části školního kola kategorie B

Vstup a přihlášení do systému. Dokumentace k programu. Zápis hodnocení studentů 1. možnost zápis po jednotlivých studentech

Řada CD3000S. Stručný přehled. Technické parametry. Tyristorové spínací jednotky

když n < 100, n N, pak r(n) = n,

Šablona pro zadávání otázek pro přijímací řízení pro akademický rok 2008/2009

2.1 Pokyny k otevřeným úlohám. 2.2 Pokyny k uzavřeným úlohám TESTOVÝ SEŠIT NEOTVÍREJTE, POČKEJTE NA POKYN!

Předmět: Ročník: Vytvořil: Datum: MATEMATIKA DRUHÝ VĚRA JÜTTNEROVÁ Název zpracovaného celku:

16. února 2015, Brno Připravil: David Procházka

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Průvodce instalací programu DesignCAD 3D Max v25 US (CZ) Full/Upgrade

QUICK INSTALLATION GUIDE

1.1.1 Kvadratické rovnice (dosazení do vzorce) I

PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK

Pokročilé haldy. prof. Ing. Pavel Tvrdík CSc. Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010

= musíme dát pozor na: jmenovatel 2a, zda je a = 0 výraz pod odmocninou, zda je > 0, < 0, = 0 (pak je jediný kořen)

Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Druhá mocnina. Druhá odmocnina Druhá odmocnina. Předpoklady: V této hodině jsou kalkulačky zakázány.

Střední škola obchodu, řemesel a služeb Žamberk. Výukový materiál zpracovaný v rámci projektu EU Peníze SŠ

9.2.5 Sčítání pravděpodobností I

Zvyšování kvality výuky technických oborů

Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat.

Více o konstruktorech a destruktorech

VŠFS B_Prg Programování: Sbírka příkladů na cvičení RNDr. Jan Lánský, Ph.D.

Datové struktury. alg12 1

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Přepočet přes jednotku - podruhé II

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Pole a kolekce. v C#, Javě a C++

Výsledky testování školy. Druhá celoplošná generální zkouška ověřování výsledků žáků na úrovni 5. a 9. ročníků základní školy. Školní rok 2012/2013

Úlohy 22. ročníku Mezinárodní fyzikální olympiády - Havana, Cuba

AVG Instalace DataCenter na databázi Firebird

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

PODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2

Spojové struktury. Spojová struktura (linked structure):

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

Algoritmizace řazení Bubble Sort

První přihlášení a první kroky po přihlášení do Registru zdravotnických prostředků pro již ohlášenou osobu

20. Projekt Domácí mediotéka

El.náboj,napětí,proud,odpor.notebook. October 23, 2012

Dopravní úloha. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Žádost o zápis uzavření manželství

Úvod do programovacích jazyků (Java)

Toto je ukázková (zkrácená) verze montážního návodu. Heslo k odemknutí plné verze návodu obdržíte při doručení zboží.

Přístupový systém VX800N. Vid

DUM téma: KALK Výrobek sestavy

Popis a funkce klávesnice Gama originální anglický manuál je nedílnou součástí tohoto českého překladu

1 Typografie. 1.1 Rozpal verzálek. Typografie je organizace písma v ploše.

Transkript:

Pracovní ukázka vstupního testu DSA 1. Celkem můžete získat 6 bodů, k úspěšnému vyřešení testu je nutno získat alespoň 4 body. V úloze 1. získáte 1 bod za každou správně určenou hodnotu. V úlohách 2. a 3. získáte 1 bod za každý správně doplněný řádek kódu. Napište, jakou hodnotu vrátí volání funkce rek(10,4) a rek(3,7). int rek(int x, int y) { if (x < y) return rek(x,y-1)+1; return y; rek(10, 4) = rek(3, 7) = Je dán neprázdný jednosměrný spojový seznam celých čísel, na jehož první prvek ukazuje ukazatel next na další prvek. Dále je dáno jednorozměrné pole pole celých čísel. Následující kód představuje tělo funkce, která testuje, zda je obsah pole i seznamu identický (t.j. seznam i pole obsahuje tytéž hodnoty ve stejném pořadí). if ((ukprvek == null) (ukprvek.hodnota!= pole[i])) return (ukprvek == null) ; // konec tela funkce

3. Přesun dat Jsou dány dva obousměrné neprázdné spojové seznamy celých čísel. Prvek každého seznamu je typu Prvek, obsahuje celočíselnou složku hodnota, ukazatel next na na další prvek a ukazatel prev na předchozí prvek. Na poslední prvek prvního seznamu ukazuje ukazatel (reference) konec1, na první prvek druhého seznamu ukazuje ukazatel hlava2 (žádný ukazatel ukazující na konec druhého seznamu není definován). Následující kód připojí na konec prvního seznamu celý druhý seznam a nastaví ukazatel konec1 na poslední prvek prodlouženého prvního seznamu a ukazatel hlava2 nastaví na hodnotu null. hlava2.prev = konec1; konec1 = konec1.next; hlava2 = null; ---------------------------------------------------------------------------------------------------------------- Řešení rek(10,4) = 4, rek(3, 7) = rek(3, 6) + 1 = rek(3, 5) + 1 +1 = rek(3, 4) + 1 + 1 + 1 = rek(3, 3) + 1 + 1 + 1 + 1 = = 3 + 1 + 1 + 1 + 1 = 7. for (int i = 0; i<pole.length; i++) { if ((ukprvek == null) (ukprvek.hodnota!= pole[i])) return (ukprvek == null) ; // konec tela funkce 3. Přesun dat konec1.next = hlava2; hlava2.prev = konec1; while (konec1.next!= null) konec1 = konec1.next; hlava2 = null;

Pracovní ukázka vstupního testu DSA 2. Celkem můžete získat 6 bodů, k úspěšnému vyřešení testu je nutno získat alespoň 4 body. V úloze 1. získáte 1 bod za každou správně určenou hodnotu. V úlohách 2. a 3. získáte 1 bod za každý správně doplněný řádek kódu. Napište, jakou hodnotu vrátí volání funkce rek(10,4) a rek(4,1). int rek(int x, int y) { if (x < y) return 0; return rek(x-y,y)+1; rek(10, 4) = rek(4, 1) = Je dán neprázdný jednosměrný spojový seznam celých čísel, na jehož první prvek ukazuje ukazatel next na na další prvek. Dále je dáno jednorozměrne pole pole celých čísel. Následující kód představuje tělo funkce, která testuje, zda každý prvek seznamu je menší než nejmenší prvek pole. int min = pole[0]; for (int i = 1; i < pole.length; i++) min = pole[i]; if (ukprvek.hodnota) >= min) return true; // konec tela funkce

3. Přesun dat Je dán obousměrný neprázdný spojový seznam celých čísel, na jehoź první prvek ukazuje ukazatel next na na další prvek a ukazatel prev na předchozí prvek. Seznam je seřazen v neklesajícím pořadí, tj. každý jeho prvek je větší nebo roven svému předchůdci. Následující kód vymaže ze seznamu každý duplikát, tedy každý prvek, jehož hodnota je rovna hodnotě jeho předchůdce. Poznámka: Funkce destroy uvolní paměť alokovanou prvkem seznamu (v Javě by nebyla zapotřebí). Prvek ukprvek = head; Prvek ukdalsi; while (ukprvek.next!= null ) if (ukprvek.hodnota == ukprvek.next.hodnota) { ukprvek.next = ukdalsi.next; if (ukdalsi.next!= null) destroy(ukdalsi); else

Řešení rek(10,4) = rek(6, 4) + 1 = rek (2, 4) + 1 + 1 = 0 + 1 + 1 = 2, rek(4, 1) = rek(3, 1) + 1 = rek(2, 1) + 1 +1 = rek(1, 1) + 1 + 1 + 1 = rek(0, 1) + 1 + 1 + 1 + 1 = = 0 + 1 + 1 + 1 + 1 = 4. int min = pole[0]; for (int i = 1; i < pole.length; i++) if (pole[i] < min) min = pole[i]; while (ukprvek!= null) if (ukprvek.hodnota) >= min) return true; // konec tela funkce 3. Přesun dat Prvek ukprvek = head; Prvek ukdalsi; while (ukprvek.next!= null ) if (ukprvek.hodnota == ukprvek.next.hodnota) { ukdalsi = ukprvek.next; ukprvek.next = ukdalsi.next; if (ukdalsi.next!= null) ukdalsi.next.prev = ukprvek; destroy(ukdalsi); else