Malé opakování

Vím, že sedmička není zrovna populární číslo pro všeliké rekapitulace, ale mě se hodí. Tedy, dosud známe následující:

Write("Text");                      { Výpis textu na obrazovku }
WriteLn("Text");                    { Výpis textu na obrazovku, přechod na nový řádek }
Write( prom );                      { Výpis hodnoty na obrazovku }
WriteLn( prom );                    { Výpis hodnoty na obrazovku, nový řádek }
Readln( prom );                     { Zadání proměnné uživatelem }
Readln;                             { Čeká na [Enter] }
If podmínka then příkaz;            { Když je splněna podmínka, tak dělej.. }
If podmínka then příkaz             { Když je splněna podmínka, tak dělej.. }
            else příkaz1;           {..jinak dělej příkaz }
Case prom of
 Hodn1: Příkaz1;
 Hodn2: Příkaz2;
 Hodn3: Příkaz3;
 ...
end;

For prom:=min to max do příkaz;     { Cyklus od min do max }
For prom:=max downto min do příkaz; { Cyklus od max do min }

Repeat                              { Opakuj.. }
 ...
Until podmínka;                     {..dokud není splněna podmínka }

ClrScr;                             { Smazat obrazovku }
TextColor( barva );                 { Barva písma }
TextBackground( barva );            { Barva „papíru” }
Sound( frekvence );                 { Spusť zvuk }
NoSound;                            { Zastav zvuk }
Delay( milisecond );                { Čekej }
GotoXY( X, Y );                     { Jdi na pozici X, Y }
znak:= ReadKey;                     { Načti znak }
podm:= KeyPressed;                  { Test, zda byla stisknuta klávesa }
Val(S:String; var Num, Pom );       { Převod textu na číslo }
Str( Num; var S: String );          { Převod čísla na text }
Příklad, tentokráte pro samostatnou práci:

Napsat program, který bude „sněžit" na obrazovce — bude kreslit vločky shora dolů.

Program vygeneruje pole (Array) vloček (pro každý sloupec na obrazovce) a pole poloh vloček (na kterém řádku se vločka nachází). Postupně všechny vločky nakreslí na obrazovku mezeru a pak zvýší řádek o náhodné číslo mezi jedničkou a trojkou). Pak znovu vykreslí vločky (hvězdičky). To bude opakovat stále, dokud nebude stisknuta klávesa. Pokud vločka „zapadne” pod obrazovku (řádek 25), objeví se znovu nahoře.

Varianta +:
Vykreslení vločky procedurou: zhasnout vločku (mezera), zvětšit Y, nakreslit vločku.

Varianta ++:
Při dopadu na řádek číslo 25 zůstane vločka nesmazaná.

Varianta +++:
Použití záznamu (record) pro polohu vločky. Pro pokročilé.

Doporučení:
Nejdřív si rozmysli, co a jak má program dělat. Pak teprve packej.