Softwarová laboratoř 1,2 - Zápočtové úkoly

Zimní semestr (část 1)


Úkol č. 1: Výpočet NSD a NSN dvou celých čísel
Vytvořte program, který spočítá a vypíše na výstup největšího společného dělitele a nejmenší společný násobek dvou celých čísel (typu Integer) zadaných uživatelem na vstupu.

Úkol č. 2: N-tá mocnina čtvercové matice
Vytvořte program, který spočítá a vypíše na výstup N-tou mocninu čtvercové matice celých čísel, tj. součin matice se sebou samou, který má N činitelů, kde N je libovolné celé číslo. Uživatel zadá na vstupu nejdříve rozměr matice, potom její prvky po řádcích a nakonec mocninu N, všechno celá čísla (typu Integer).

Úkol č. 3: Zjištění čísla, na které uživatel myslí
Vytvořte program, který se bude pomocí (pokud možno co nejmenšího počtu) otázek, vypisovaných na výstup, snažit zjistit celé číslo (typu Integer), na které uživatel myslí, a to pak vypíše na výstup. Možné odpovědi na otázky jsou pouze ano, yes, ne/no zadané uživatelem na vstupu pomocí znaků a, y, n.

Letní semestr (část 2)


Úkol č. 1: Kontrola správnosti uzávorkování podřetězců v textu
Vytvořte funkci CheckParens(ByVal text As String) As Boolean, která vrátí hodnotu True, pokud budou v libovolně dlouhém řetězci (libovolných) znaků zadaném v parametru text správným způsobem (parita, nekřížení se) použity závorky (), [], {} a <>. Jinak funkce vrátí hodnotu False.
Odevzdávejte pouze zdrojový kód funkce CheckParens, popř. jiných pomocných funkcí či procedur z ní volaných!

Úkol č. 2: Ověření korektnosti řešení hry Sudoku
Vytvořte funkci VerifySudoku(ByVal table(,) As Integer) As Boolean, která vrátí hodnotu True, pokud bude tabulka (dvojrozměrné pole) čísel zadaná v parametru table obsahovat korektní řešení hry Sudoku. Korektní řešení je takové, kde v každém řádku, každém sloupci a každém čtverci tabulky se objeví každé z čísel 1 až 9 právě jednou. Čtverec tabulky je její pod-tabulka o rozměru 3x3 obsahující políčka s indexy (3i + j, 3k + l) pro některé i, k od 0 do 2 a všechna j, l od 0 do 2, souřadnice indexů jsou počítány od 0. Více o hře Sudoku. Funkce vrátí hodnotu False, pokud tabulka nebude obsahovat korektní řešení, nebude mít rozměr 9x9 nebo nebude obsahovat jen čísla 1 až 9.
Odevzdávejte pouze zdrojový kód funkce VerifySudoku, popř. jiných pomocných funkcí či procedur z ní volaných!

Úkol č. 3: Násobení (velkých) čísel v řetězcovém vyjádření
Vytvořte funkci Multiply(ByVal x As String, ByVal y As String) As String, která vrátí řetězcové vyjádření čísla rovného součinu čísel zadaných v řetězcovém vyjádření v parametrech x a y. Čísla (jejich řetězcová vyjádření) mohou být libovolně velká (dlouhé) přirozená čísla (řetězce znaků číslic). Funkce vrátí prázdný řetězec, pokud některý z parametrů nebude řetězec znaků číslic nebo bude prázdný řetězec.
Odevzdávejte pouze zdrojový kód funkce Multiply, popř. jiných pomocných funkcí či procedur z ní volaných!


http://phoenix.inf.upol.cz/~outrata/, outrata@phoenix.inf.upol.cz
Jan Outrata, generováno: 7.1.2013