Domácí úlohy pro letní semestr

Povinné pro zápočet je odevzdání alespoň poloviny z nich (tj 4) v písemné nebo elektronické podobě. Pokud není výslovně uvedeno jinak, stačí najít jakékoli řešení dané úlohy a v programu není třeba testovat správnost vstupu ani dělat složité výstupy.

DU 1: Batoh a valouny zlata

Máte batoh s maximální nosností M a N valounů zlata s hmotnostmi X1, X2, ..., XN. Vyberte množinu valounů, která co nejvíce naplní batoh, ale nepřesáhne jeho nosnost. VSTUP: čísla M, N, X1, X2, ..., XN; VÝSTUP: hodnoty Xi, které řeší tuto úlohu.

DU 2: Vybarvení ohraničené oblasti

Je dána matice 0 a 1. Vybarvěte dvojkami oblast ohraničenou jedničkami, přičemž barva se rozlévá ze zadané pozice matice na sousední políčka obsahující nulu, ale ne diagonálně, jen pořádcích či sloupcích. VSTUP: ze souboru (např. matice.txt), první řádek obsahuje rozměry matice a pak následují řádky nul a jedniček, z klávesnice se navíc zadá pozice odkud se má vybarvovat; VÝSTUP: Vybarvená matice (např. pro výše uvedený vstup a vybarvování od pozice 5,5).

DU 3: Mysli si zvíře

Čtení zvířat ze souboru. Viz zde.

DU 4: Setřídění spojového seznamu

Polynom je reprezentován pomocí lineárního spojového seznamu. Prvky seznamu obsahují stupeň a koeficient pro jednotlivé členy polynomu. Napište proceduru, která lineární spojový seznam obsahující polynom setřídí podle stupně jednotlivých členů. Přitom smíte pouze přepojovat prvky seznamu a ne vytvářet seznam nový ani vyměňovat obsah. 

DU 5: Derivace polynomu.

Polynom je reprezentován jako v předchozí úloze. Napište proceduru, která najde polynom daný jeho derivací. 

DU 6: Třídění haldou.

Na cvičení jsme si ukázali jak naprogramovat uložení prvku do haldy a vybrání prvku z haldy. Napište program pro třídění pole celých čísel s použitím haldy.

DU 7: Hledání kořene funkce půlením intervalu

Napište funkci, která najde kořen reálné funkce reálné proměnné (zadané jako procedurální parametr) metodou půlení intervalu na zadaném počátečním intervalu <A,B>. Přitom předpokládejte, že funkce má v bodech A a B opačné znamínko. Metoda půlení intervalu funguje tak, že vypočtete funkční hodnotu uprostřed intervalu a interval zúžíte na tu půlku, kde funkce mění znaménko. To opakujete dokud není dosaženo předem zadané přesnosti EPS. Vstup: Funkce F, čísla A,B, EPS, Výstup: Číslo X (kořen funkce). 
 


Zpět, Domů