gvp-local

Sbírka příkladů z Visual Basicu

  1. Proměnné, deklarace, přiřazení
  2. Výstup dat na obrazovku a vstup z klávesnice
  3. Standardní a uživatelské funkce
  4. Procedury
  5. Příkaz If
  6. Cyklus For
  7. Cyklus Do – Loop
  8. Zápis do textového souboru
  9. Čtení textového souboru
  10. Práce s řetězci
  11. Příkaz Select Case
  12. Jednorozměrná pole
  13. Uživatelem definované typy
  14. Common Dialog
  15. Menu
  16. Grafika
  17. Rekurze
  18. Timer a funkce pro spolupráci s operačním systémem

Proměnné, deklarace, přiřazení

  1. Deklarujte proměnnou N typu Integer.
  2. Deklarujte proměnné X a Y, obě typu Single.
  3. Deklarujte proměnnou Jméno typu String.
  4. Deklarujte proměnné I,J,K typu Integer a proměnnou Cislo typu Double.
  5. Deklarujte proměnou Prvocislo logického typu Boolean.
  6. Deklarujte proměnou Odpoved typu Variant.
  7. Do proměnné N přiřaďte hodnotu 12.
  8. Do proměnné X přiřaďte výsledek výrazu 2*(36/5).
  9. Do proměnné Y přiřaďte hodnotu X na třetí.
  10. Do proměnné Jméno přiřaďte hodnotu ”Pavel”.
  11. Do proměnné Prvocislo přiřaďte hodnotu True.
  12. Hodnotu proměnné Y zvětšete o 1.
  13. Hodnotu proměnné I zmenšete o 15.
  14. Hodnotu proměnné J zvětšete na dvojnásobek.
  15. Do proměnné K přiřaďte součet hodnot I a J.
  16. Do proměnné X přiřaďte hodnotu Y.
  17. Do proměnné Y přiřaďte hodnotu X zvětšenou o 5.
  18. Proměnnou Cislo zvětšete o hodnotu proměnné X.
  19. Napište část programu, která mezi sebou vymění hodnoty proměnných X a Y.

Výstup dat na obrazovku a vstup z klávesnice

  1. Jaký je rozdíl mezí příkazy
    Print ”Ahoj ”
    Print ”Ahoj ”;
    Print ”Ahoj ”,
  2. Jaký je rozdíl mezi přiřazeními
    Text1 = Zpráva
    Text1.text = Zpráva
    Text1 = Text1 & Zpráva
  3. Na formulář umístěte ovládací prvek tlačítko. Při stisku tlačítka vytiskněte na formuláři text ”AHOJ ”. Program vytvořte tak, že při opakovaném stisku budou jednotlivá ”AHOJ ” umístěna a) pod sebou, b) vedle sebe.
  4. Na formulář umístěte tři tlačítka. Deklarujte proměnnou Cislo. Stiskem jednoho tlačítka zvětšujte číslo o jedna, druhým tlačítkem je o jedna zmenšujte. Při stisku třetího tlačítka vytiskněte na formulář hodnotu proměnné číslo ve formě: “Číslo = 5”, kde místo číslice 5 bude aktuální hodnota této proměnné.
  5. Úlohy 3 a 4 řešte tak, že místo přímého tisku na formulář použijete ovládací prvek label nebo textbox.
  6. Na formulář umístěte jedno tlačítko a label. Při stisku tlačítka zobrazte v labelu zprávu “Tlačítko bylo stisknuto 1 krát.”, kde číslo bude odpovídat aktuálnímu počtu stisknutí tlačítka. Úlohu řešte pomocí a) globální proměnné, b) lokální proměnné deklarované jako Static.
  7. Na formulář umístěte jedno tlačítko a textbox. Při stisku tlačítka zapište do textboxu náhodné číslo. Pro generování náhodných čísel použijte funkci Rnd.
  8. Na formulář umístěte dva textboxy a jedno tlačítko. Při stisku tlačítka a) opište hodnotu z prvního textboxu do druhého, b) do druhého napište hodnotu z prvního zvětšenou o 10, c) do druhého zapište dvojnásobek hodnoty prvního textboxu. (Vyzkoušejte si použití funkce Val pro převod řetězce na číselnou hodnotu a seznamte se s dalšími funkcemi pro převod jednoho typu údaje na druhý: Str, Hex, CInt ...)
  9. Seznamte se s příkazem Goto a způsoby ošetřování běhových chyb.
  10. Napište program pro převod rychlosti zadané v m/s na rychlost v km/h. Program bude mít dva textboxy a dvě tlačítka pro určení “směru” převodu.
  11. Napište program, který bude dělit dvě celá čísla (zadaná v textboxech) a to jak desetině, tak celočíselně. Například při dělení čísel 13 a 5 napíše: “Výsledek je 2.6 tj. 2 celé a 3 zbudou.”
  12. Napište program, který vypočítává počet sekund ze zadaných hodin, minut a sekund. Například 1 hodina 5 minut a 2 sekundy je celkem 3912 sekund.
  13. Upravte program 2.11. tak, aby převáděl i opačným směrem.

Standardní a uživatelské funkce

  1. Napište program, který k zadanému číslu vypočítá jeho sinus.
  2. Pomocí okna Debug se seznamte s dalšími standardními matematickými funkcemi. Abs, Int, Fix, Sgn, Sqr, Exp, Log, Sin, Cos, Tan, Atn, Rnd.
  3. Naprogramujte uživatelskou funkci F, která je dána předpisem F(x)=2*x+3.
  4. Naprogramujte funkci Root3, která počítá třetí odmocninu daného reálného čísla.
  5. Naprogramujte funkci AVG (Average – průměr), která má tři parametry a vrací jejich aritmetický průměr.
  6. Naprogramujte funkci HVEZDICKY, která vrací řetězec obsahující pět hvězdiček. Funkce tedy nemá žádné parametry.
  7. Naprogramujte funkci DELKA, která ze zadaných souřadnic dvou bodů v rovině vypočte jejich vzdálenost. Hlavička bude:
    Public Function DELKA (x1 As Single, y1 As Single, x2 As Single, y2 As Single) As Single
  8. Napište funkci RadToDeg, která převede hodnotu úhlu zadaného v radiánech na stupně.
  9. Napište funkci PREVOD, která z hodnoty úhlu zadaného v celých stupních, minutách a vteřinách určí výsledné stupně jako desetinné číslo.
  10. Napište funkci ArcSin, která bude vypočítávat arkus sinus daného čísla.

Procedury

  1. Napište proceduru HVEZDICKY, která na formulář FORM1 vytiskne 30 hvězdiček.
  2. Napište proceduru TROJUHELNIK, která na formuláři FORM1 vytvoří z hvězdiček malý trojúhelník. Například takto:
    ***
    **
    *
  3. Změňte proceduru z úlohy 4.2. tak, že bude mít jeden parametr typu String. Hodnota tohoto parametru se potom bude tisknout v trojúhelníku místo hvězdiček.
  4. Napište proceduru KarToPol, která převede souřadnice bodu zadané v kartézské soustavě do soustavy polární. Hlavička bude: Public Sub KarToPol (x, y, r, f) a jedno z možných použití KarToPo1 1,1,r,f následováno Print r,f pro zjištění výsledku.
  5. Napište proceduru VYPOCET, která ve svém třetím parametru určí součet prvních dvou parametrů a ve čtvrtém součin prvních dvou parametrů. Po provedení VYPOCET 2,5,a,b tedy bude a=7 a b=10.
  6. Napište proceduru PROHOD, která prohodí hodnoty svých parametrů, tj. po provedení kódu:
    a=3: b=10
    PROHOD a,b
    bude a=10 a b=3
  7. Napište proceduru CAS, která bude mít čtyři parametry označené sek,h,m,s. V posledních třech parametrech vrátí počet hodin, minut a sekund, které jsou obsaženy v sekundách zadaných jako první parametr.

Příkaz If

  1. Napište část programu, která určí, zda hodnota proměnné X je kladná či nikoli a vytiskne o tom zprávu.
  2. Napište část programu, která vytiskne zprávu, zda hodnota proměnné X je kladná, záporná nebo nulová.
  3. Seznamte se s použitím funkce MsgBox a úlohy 5.1 a 5.2. řešte i s použitím této funkce.
  4. Napište funkci MAXIMUM2 se dvěma parametry, která bude vracet hodnotu většího parametru.
  5. Napište funkci MAXIMUM3, která bude vracet maximální hodnotu ze tří parametrů.
  6. Napište logickou funkci JeSude, která bude vracet TRUE, jestliže její parametr je sudé číslo.
  7. Napište logickou funkci JeCele, která bude vracet TRUE, jestliže její parametr je celé číslo.
  8. Napište logickou funkci LF1, která bude vracet TRUE, jestliže její parametr bude kladné číslo menší než 10.
  9. Napište logickou funkci LF2, která bude vracet TRUE, jestliže její parametr bude dělitelný třemi nebo čtyřmi.
  10. Naprogramujte funkci G(x), která je rovna 0 pro x<0 a je rovna sin(x) pro x>=0.
  11. Napište proceduru USPORADEJ se dvěma parametry X a Y, která prohodí hodnotu parametrů za předpokladu, že X<Y. V opačném případě neudělá nic. Po provedení procedury bude tedy vždy X>=Y.
  12. Napište program, který po zadání stran A,B a úhlu ALFA rovnoběžníku určí typ rovnoběžníku.
  13. Napište program, který v oboru reálních čísel řeší rovnici ax2+bx+c=0 a to i v případě, že některá z čísel a,b,c jsou rovna nule.

Cyklus For

  1. Napište část programu, která vytiskne 20 hvězdiček pomocí příkazu For.
  2. Napište část programu, která vytiskne N hvězdiček pomocí příkazu For.
  3. Napište část programu, která vypisuje přirozená čísla od 1 do 20.
  4. Napište část programu, která vypisuje přirozená čísla od A do B, kde A a B jsou proměnné.
  5. Napište část programu, která vypíše 10 násobků čísla 3. Tj. čísla 3,6,9,12,15,18,21,24,27,30
  6. Napište část programu, která vypíše 10 násobků čísla N, kde N je proměnná.
  7. Napište část programu, která vytiskne obdélník z hvězdiček skládající se z 5 řádek po 20 hvězdičkách.
  8. Napište proceduru HVEZDICKY, která na FORM1 vytiskne obdélník hvězdiček s R řádky a S sloupci, kde R a S jsou parametry procedury HVEZDICKY.
  9. Napište proceduru NASOBILKA, která vytiskne na FORM1 malou násobilku.
  10. Napište funkci SOUCET, která sečte čísla od 1 do N, kde N je parametr této funkce.
  11. Napište funkci FAKTORIAL, která bude násobit čísla 1*2*3*...*N, kde N je parametr funkce.
  12. Napište proceduru P1, která vytiskne N členů posloupnosti 2, 5, 8, 11, 14, ...
  13. Napište proceduru P2, která vytiskne N členů posloupnosti 1, 3, 27, 81, ...
  14. Napište proceduru P3, která vytiskne N členů posloupnosti 5, -10, 15, -20, 25, ...
  15. Napište funkci RADA1, která bude sčítat N členů řady 1+1/2+1/4+1/8+1/16+...
  16. Napište funkci RADA2, která bude sčítat N členů řady 1-1/2+1/3-1/4+1/5-1/6+1/7-...
  17. Napište funkci PI, která bude sčítat 50 členů řady (1/2+1/3)/1-(1/2^3+1/3^3)/3+(1/2^5+1/3^5)/5-... a nakonec vrátí čtyřnásobek tohoto součtu.
  18. Napište program pro určení N-tého členu posloupnosti 1,1,2,3,5,8,13,21,34,...
  19. Napište proceduru CISLA, která vytiskne všechna dvojciferná čísla neobsahující nulu a za každým číslem vytiskne též číslo s opačným pořadím cifer. Začátek tedy bude vypadat takto: 11, 11, 12, 21, 13, 31, 14, 41, 15, ...
  20. Napište program, který vyřeší následující úlohu. Najděte všechna čtyřciferná čísla, která mají tuto vlastnost: Když odečítáme od myšleného čtyřciferného čísla jeho zrcadlový obraz dostaneme číslo 7362.
  21. Napište logickou funkci PRVOCISLO, která určí, zda zadané číslo N je prvočíslo tak, že se jej pokusí bezezbytku vydělit všemi čísly od 2 do sqr(N).
  22. Napište funkci DELITEL, která určí největšího dělitele zadaného čísla. Pokud je zadané číslo prvočíslo vrátí hodnotu 1.
  23. Napište program, který vyřeší následující úlohu. Při dělení jistého přirozeného čísla čísly 19 a 99 vyjdou jako zbytky dvě prvočísla. Součet obou neúplných podílů se rovná 1999. Určete dělené číslo.
  24. Napište program pro řešení následující úlohy. Určete všechna čtyřciferná čísla A, která mají pro každé K = 2, 3, 4, 5, 6, 7, 8, 9 tuto vlastnost: Vepíšeme-li cifru K mezi prostřední cifry čísla A dostaneme pěticiferné číslo, které je násobkem čísla K.

Cyklus Do – Loop

  1. Pomocí funkce InputBox načítejte čísla, dokud uživatel nezadá nulu. Zadaná čísla tiskněte na FORMl.
  2. Pomocí funkce InputBox načítejte čísla, dokud uživatel nezadá nulu. Potom vytiskněte součet zadaných čísel.
  3. Pomocí standardní funkce InputBox vyzvěte uživatele, aby zadal číslo mezi 1 a 10 a načítejte tak dlouho, dokud uživatel tento pokyn nesplní. (Tj. načítání ihned opakujeme pokud je číslo například větší než deset.)
  4. Do dvou sloupců vypisujte tabulku funkce x^2 pro x jdoucí od 0 do 10 s krokem 0.5.
  5. Naprogramujte proceduru, která do dvou sloupců vypisujte tabulku funkce sqr(x) pro x jdoucí od A do B s krokem K (hodnoty A, B, K jsou parametry této procedury).
  6. Sčítejte řadu čísel 1+1/2+1/4+1/8+1/16+..., dokud členy řady nebudou menší než 1E-6.
  7. Napište funkci, která sčítá řadu 1+1/3+1/9+1/27..., dokud členy řady nebudou menší než zadané EPSILON, které je parametrem této funkce.
  8. Pomocí funkce InputBox načítejte celá čísla, dokud uživatele nezadá číslo záporné. Potom vytiskněte kolik čísel bylo lichých a kolik sudých.
  9. Pomocí funkce InputBox načítejte čísla, dokud uživatele nezadá číslo záporné. Potom vytiskněte největší ze zadaných čísel.
  10. Napište funkci NSD, která určuje největšího společného dělitele dvou čísel pomocí Euklidova algoritmu. Euklidův algoritmus: od většího čísla odečítejte menší a menší nechávejte beze změny. To opakujte tak dlouho, dokud nedostanete stejná čísla.
  11. Jaký je rozdíl mezi řádky
    Public Function NSD( X As Integer, Y As Integer)
    Public Function NSD( ByVal X As Integer, ByVal Y As Integer)

Zápis do textového souboru

  1. Napište program, který otevřete textový soubor “text1.txt” pro zápis a zapíše do něj větu “Toto je můj textový soubor.”.
  2. Napište program, který otevřete textový soubor “text2.txt” pro zápis a zapíše do něj přirozená čísla od 1 do 50.
  3. Programem vytvořte soubor “nasobil.txt” a zapište do něj malou násobilku (viz úloha 6.9.)
  4. Programem vytvořte soubor “cisla.txt” a zapište do něj 200 náhodných celých čísel v rozsahu –10 až 50.
  5. Na formulář umístěte textbox a tlačítko. Po stisku tlačítka zapište obsah textboxu do souboru “data.txt”. Vyzkoušejte si zde rozdíl mezi otevřením souboru For Output a For Append.
  6. Upravte program 8.5. tak aby se text v textboxu uložil ve formátu HTML souboru. Soubor nazvěte “text.htm”.
  7. Upravte program 8.5 tak aby se velikost textboxu měnila podle velikosti formu tak, že neustále bude zabírat celý form s výjimkou místa pro tlačítko. Pomůcka: Form_Resize, Height, Width, Left, Top, ScaleHeight, ScaleWidth.

Čtení textového souboru

  1. Napište program, který bude číst čísla ze souboru “cisla.txt” (viz úloha 8.4.) vypíše je do textboxu.
  2. Napište program, který bude číst čísla ze souboru “cisla.txt” a určí největší číslo.
  3. Napište program, který bude číst čísla ze souboru “cisla.txt” a určí, kolikrát je v uvedeném souboru číslo nula.
  4. Napište program, který v textboxu zobrazí obsah textového souboru (“data.txt” nebo “text1.txt”). Soubor přečtěte celý najednou.
  5. Upravte program 9.4. tak, aby se soubor četl po řádcích a vypište i počet přečtených řádek.
  6. Upravte program 9.4. tak, aby se soubor četl po jednotlivých znacích a vypište počet přečtených znaků.
  7. Otevřete první textový soubor pro čtení a druhý pro zápis a zkopírujte obsah prvního souboru do druhého a) beze změny, b) malá písmena převedete na velká (funkce UCase)

Práce s řetězci

  1. Seznamte se se standardními funkcemi pro práci s řetězci Len, Left, Right, Mid, LCase, UCase.
  2. Napište funkci PROLOZ, která vrátí řetězec proloženě (mezi znaky je mezera).
  3. Napište funkci OBRAT, která otočí pořadí znaků v řetězci. Z “Ahoj” bude “johA” apod.
  4. Napište funkci PrvVel, která změní velká a malá písmena tak, že první písmeno bude velké a ostatní malá.
  5. Seznamte se s uložením znaků pomocí ASCII tabulky a s funkcemi Asc, Chr, Hex.
  6. Napište program, který vytiskne všechny znaky ASCII tabulky s kódy od 32 do 255.
  7. Napište funkci AscS, která převede řetězec znaků na řetězc obsahující ASCII kódy původních znaků oddělených mezerami.
  8. Seznamte se s použitím funkcí StrComp, InStr, LSet, RSet a Format.
  9. Vypište pod sebe do sloupečku čísla od 5 do 15 s krokem 0.5 zarovnaná podle řádů.
  10. Napište funkci MESTO, která předpokládá, že ve svém parametru Bydliste obdrží řetězec s adresou vyplněný způsobem “Město, Ulice číslo” (tedy např. “Praha 1, Vodičkova 6”) a z tohoto řetězce vrátí pouze město (v našem příkladu tedy údaj “Praha1”).

Příkaz Select Case

  1. Napište funkci RAD, který k danému číslu typu Integer vrátí textový řetězec s označením odpovídajícího řádu. Tedy “jednotky, desítky, stovky, tisíce, desetitisíce”.
  2. Napište funkci ASCIITYP, která vrátí textový řetězec vypovídající o typu znaku, který je jejím parametrem tímto způsobem:
    0-31 řídící kód
    32-47 symbol
    48-57 číslice
    58-64 symbol
    65-90 velké písmeno
    91-96 symbol
    97-122 malé písmeno
    123-127 symbol
    127-255 2. polovina
  3. Napište funkci BEZHACKU, která v zadaném řetězci zruší všechny písmena s háčky a nahradí je odpovídajícími písmeny bez háčků. Tedy ě-e, š-s, č-c, ř-r, ž-z, ť-t, ď-d, ň-n (pro jednoduchost stačí jen pro malá písmena).

Jednorozměrná pole

  1. Deklarujte pole A prvků typu Integer pro indexy od 1 do 50
  2. Deklarujte pole B prvků typu Variant pro indexy od –5 do 5. Kolik má toto pole prvků?
  3. Máme deklaraci Dim C(10) As Double. Kolik má toto pole prvků, je-li nastaveno Option Base 0 a kolik prvků má v případě, že je nastaveno Option Base 1?
  4. Deklarujte pole P prvků typu Integer pro indexy od 1 do N, kde N nejdříve deklarujete jako konstantu s hodnotou 20.
  5. Napište proceduru, která naplní všechny prvky pole A hodnotou –100.
  6. Napište proceduru, která naplní všechny prvky pole A hodnotou indexu, takže A( i ) = i.
  7. Napište proceduru VytiskniA, která vytiskne obsah pole A (jednotlivé prvky) do textboxu.
  8. Napište proceduru VytiskniP, která vytiskne obsah pole P (jednotlivé prvky) do textboxu.
  9. Napište proceduru, která naplní všechny prvky pole P náhodnými čísly s rozsahem 1-100.
  10. Napište proceduru, která naplní všechny prvky pole P tak, že P(i)=i*(10-i).
  11. Napište proceduru, která naplní všechny prvky pole P hodnotami, která zadá uživatel pomocí InputBoxu z klávesnice.
  12. Napište proceduru UlozP, která vytiskne obsah pole P (jednotlivé prvky) do souboru “PoleP.txt”.
  13. Napište proceduru CtiP, která naplní prvky pole P podle obsahu souboru “PoleP.txt”.
  14. Napište proceduru, která zvětší všechny prvky pole P o jedna.
  15. Napište proceduru, která zdvojnásobí všechny prvky pole P.
  16. Napište logickou funkci OBSAHUJE, která vrátí TRUE, pokud pole P obsahuje prvek, který je parametrem funkce OBSAHUJE.
  17. Napište funkci KOLIKRAT, která vrátí počet výskytů svého parametru v poli P.
  18. Napište funkci SOUCET, která vrátí součet prvků v poli P.
  19. Napište funkci PRUMER, která vrátí aritmetický průměr prvků v poli P.
  20. Napište funkci MAXIMUM1, která vrátí největší prvek z pole P.
  21. Napište proceduru MAXIMUM2, která ve svých parametrech vrátí největší prvek z pole P a jeho index.
  22. Úlohy 12.8 – 12.21 řešte znovu nikoli pro pole P ale pro libovolné pole, které bude zadáno jako další parametr funkce či procedury. (Bude potřebovat funkce Ubound a Lbound).
  23. Napište program, který určí četnost jednotlivých znaků v souboru “Data.txt”.
  24. Napište program, který vygeneruje všechna prvočísla menší než zadané číslo N metodou Eratostenova síta.
  25. Seznamte se s možností deklarovat pole bez udání dimenze a s možností měnit dimenzi za běhu programu. Příkazy Erase, Redim, Prezerve.
  26. Načítejte opakovaně čísla zadávaná uživatelem pomocí InputBoxu do pole do té doby, než uživatel zadá nulu. Pak čísla vytiskněte. Podle potřeby měňte velikost pole a po vytištění čísel pole uvolněte.

Uživatelem definované typy

  1. Definujte uživatelský typ Tzlomek skládající se ze dvou částí typu Integer a to části C (čitatel) a J (jmenovatel)
  2. Napište funkci StrToZlomek, která převede řetězec typu číslo lomeno číslem na typ Tzlomek.
  3. Napište funkci ZlomekToStr, která bude inverzí k funkci StrToZlomek.
  4. Napište funkci Zkrať s jedním parametrem typu Tzlomek a s výsledkem typu Tzlomek, která zkrátí zlomek do základního tvaru. Použijte funkci NSD z úlohy ?.?.
  5. Napište funkci Součin se dvěma parametry typu Tzlomek, která vrátí výsledek typu Tzlomek jež je součinem parametrů.
  6. Napište funkci Součet se dvěma parametry typu Tzlomek, která vrátí výsledek typu Tzlomek jež je součtem parametrů.
  7. Definujte uživatelský typ SkolniTrida skládající se ze tří částí. Označení typu String, D (počet dívek) typu Integer a H (počet hochů) typu Integer.
  8. Napište Funkci Zapiš, která bude mít tři parametry a vrátí hodnotu typu SkolniTrida vyplněnou podle obsahu parametrů. Použití X=Zapiš(”4.A”,16,14).
  9. Napište proceduru Tisk s jedním parametrem typu SkolniTrida, která vytiskne řetězec ”Třída ABC má X dívek a Y chlapců.”, kde ABC, X a Y budou nahrazeny odpovídajícími údaji.
  10. Napište funkci celkem, která vrátí počet žáků ve školní třídě, která je jejím parametrem.
  11. Deklarujte pole T s prvky typu SkolniTrida a počtu prvků odpovídající počtu tříd u vás ve škole.
  12. Napište programový kód, který vypočte počet dívek a chlapců ve vaší škole za předpokladu, že pole T z úlohy 13.11. je vyplněno údaji.

Common Dialog

  1. Naučte se používat CommonDialog pro výběr souboru pro otevření a uložení.
  2. Na Form1 umístěte TextBox a nad něj tlačítko Otevři a Ulož. Po stisku tlačítka Otevři se objeví CommonDialog ShowOpen a následně se vybraný soubor načte do texboxu. Po stisku tlačítka Ulož se objeví CommonDialog ShowSave a obsah textboxu se uloží do vybraného souboru.
  3. Doplňte úlohu 14.2 o tlačítko Font a Barva a dialogy ShowFont a ShowColor.
  4. Vytvořte jednoduchý prohlížeč obrázků pomocí ImageBoxu a tlačítka s dialogem ShowOpen.

Menu

  1. Naučte se používat Menu Editor.
  2. Vytvořte jednoduchý textový editor s klasickým menu.
    Soubor – nový, otevřít..., uložit, uložit jako..., (tisk), konec
    Úpravy – vyjmi, kopíruj, vlož, označ vše, (kopíruj do... , vlož z ...)
    Formát – font, barva.
  3. Menu Formát z úlohy 15.2. doplňte o položku Velikost na kterou napojíte pole menu s velikostmi písma.
  4. Menu Formát z úlohy 15.2. proveďte také jako PopupMenu.

Grafika

  1. Seznamte se se základními grafickými metodami PSet, Line, Circle, se systémem souřadnic ScaleMode ScaleHeight... a s dalšími vlastnostmi typu AutoReDraw, DrawStyle, DrawWidth aj.
  2. Napište proceduru, která na formulář nakreslí obdélník s úhlopříčkami (kamkoli a v libovolné velikosti).
  3. Napište proceduru s parametry Kam As Object, X, Y, S, V, která na objekt Kam nakreslí obdélník s úhlopříčkami o šířce S a výšce V tak, že levý horní roh obdélníku bude na pozici X,Y.
  4. Napište proceduru NOTA s parametry Kam As Object, X, Y, S, V, která na objekt Kam nakreslí notu (elipsu s nožičkou) o šířce S a výšce V tak, že levý horní roh noty bude na pozici X,Y.
  5. Na formulář umístěte PictureBox a nastavte jeho vlastnosti tak, aby jeho souřadnice byly v obou osách od –10 do 10. Při startu programu vykreslete do PictureBoxu osy x a y s vyznačením jednotek.
  6. S využitím úkolu 16.5. napište program, který bude vykreslovat graf funkce daný předpisem y=ax2+bx+c, kde čísla a,b,c budou zadávána pomocí textboxů.
  7. Doplňte program 16.6. o menu, které umožní mazat graf a volit barvu a tloušťku grafu.

Rekurze

  1. Naprogramujte pomocí rekurze funkci faktoriál.
  2. Posloupnost je dána předpisem a1=1 a an=4*an-1 - 2. Napište funkci pro určení n-tého členu s použitím rekurze i bez ní.
  3. Naprogramujte pomocí rekurze úlohu o Hanoiských věžích.

Timer a funkce pro spolupráci s operačním systémem

  1. Pomocí ovládacího prvku Timer naprogramujte blikající text.
  2. Pomocí ovládacího prvku Timer naprogramujte pohybující se obrázek.
  3. Pomocí ovládacího prvku Timer a funkci Now, Date, a Time naprogramujte digitální budík.
  4. Pomocí funkce Dir napište program pro výpis adresářové struktury.
  5. Pomocí funkcí Dir a Shell naprogramujte test nové pošty se spouštěním programu PMAIL.