Oblastní kolo soutěže v programování (1998)

Zadání úloh oblastního kola
Soutěže dětí a mládeže v programování 1998

Kategorie vyšší programovací jazyky mládež

Úloha 1 (Koef.: 1)

Napište program počítající počet dnů mezi dvěma zadanými datumy - tedy kolik dnů uplyne od poledne prvního dne do poledne druhého dne. Datumy budou zadány ve formátu den.mesic.rok, měsíc bude zadán číselně, rok čtyřciferně. Omezte se na datumy od 1.1.1950 do 31.12.2049 Např. mezi 1.1.98 a 3.1.98 je rozdíl 2 dny.  

Úloha 2 (Koef.: 2,5)

Jakou křivku opíše bod na stěně kutálejícího se kotouče ? Po vodorovné ose se valí kotouč o poloměru 25. Pohyb začne u levého okraje obrazovky (okna) - střed kotouče se dotýká okraje. Bod pevně umístěný na kotouči leží na počátku pohybu na svislici procházející středem kotouče, pod jeho středem ve vzdálenosti x (načtěte, 0<=x<=100). Vykreslete křivku,kterou opíše tento bod při pohybu kotouče směrem doprava. Vykreslování doplňte animací kotouče, během animace zobrazujte také spojnici středu kotouče a zkoumaného bodu.  

Úloha 3 (Koef.: 1,5)

Napište program, který pro zadané přirozené číslo n (n=1..2 000 000 000) zjistí, kolik nul bude na konci čísla n!, zapsaného v desítkové soustavě. Pro funkci faktorial platí: n!=1*2*3* ... *(n-1)*n  

Úloha 4 (Koef.: 2,5)

Vypracujte program pro zomm černobílého výkresu uloženého v souboru tvaru BMP. Při změně velikosti je nutno zachovávat sílu čar.  

Úloha 5 (Koef.: 3)

Vytvořte program zjišťující, zda se v adresářové struktuře vyskytují dva stejné soubory. Stejné ne podle názvu, ale stejné svým obsahem. Parametrem programu bude cesta (respektive adresář), jehož podadresáře mají být prozkoumány. Mějme například takovýto adresářový strom:  
délka 
data --|  - cecko  - prg1.c  1245 
\ prg2.c  2304 
- pascal  - prg1.c  14567 
\ prg2.bak  2304 
Parametrem bude adresář data. Program tedy prohledá celý tento adresář včetně všech jeho podadresářů a vypíše: 

Shoda1: data\cecko\prg2.c data\pascal\prg2.bak 

Soubory prg1.c program nevypíše, protože se shodují názvem (to nás nezajímá), ale soubory prg2.c a prg2.bak se shodují nejen délkou, ale předpokládejme i obsahem. Proto je program vypíše. Umožněte rozvněž zápis výsledků do souboru. (např. jako poslední nepovinný parametr příkazové řádky).