Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Úvod do programování Malá kouzla s příkazovým řádkem

Podobné prezentace


Prezentace na téma: "Úvod do programování Malá kouzla s příkazovým řádkem"— Transkript prezentace:

1 Úvod do programování Malá kouzla s příkazovým řádkem
Jednoduché dávkové soubory Jitka Kalná, 2009

2 Spuštění příkazového řádku
Start – Spustit – zadat příkaz cmd

3 Důležité pojmy Absolutní cesta Relativní cesta Pracovní adresář
Wildcards (tzv. zástupné znaky) ? *

4 Základní příkazy příkaz /? – výpis nápovědy k zadanému příkazu dir cd
např. date /? dir cd : (dvojtečka) date, time date /t, time /t cls echo

5 Základní příkazy příkaz /? – výpis nápovědy k zadanému příkazu
např. date /? dir – vypíše obsah pracovního adresáře cd – změna aktuálního adresáře např. cd .., cd moje, cd ..\testy : (dvojtečka) – změna disku např. H:, C: date, time – vypíše systémový datum nebo čas (a umožní ho změnit, pokud má uživatel práva) date /t, time /t – pouze výpis data nebo času bez možnosti změny cls – vymazání obrazovky echo – výpis zprávy na obrazovku

6 Dávka (dávkový soubor)
Obyčejný textový soubor, který obsahuje na jednotlivých řádcích příkazy tak, jako by je postupně zadával uživatel Je provedený celý najednou Přípona: bat Možnost vytvoření v editoru v Příkazovém řádku: Spuštění editoru: příkaz edit

7 Dávka dnes.bat – zadání Vytvoření dávky, která vymaže obrazovku (cls), vypíše nápis „Dnes je“ (echo) a napíše aktuální datum a čas bez možnosti změny (date /t, time /t) Nejprve vyzkoušet napsat jednotlivé příkazy bez použití dávky Vytvořit v editoru dávku Uložit dávku pod názvem dnes.bat Pokusit se dávku spustit (do příkazového řádku napsat dnes.bat)

8 Dávka dnes.bat – první pokus
davka.bat po spuštění výpis jednotlivých příkazů, které se provádějí  řešení: použití off – zrušení výpisu na obrazovku na začátku a ve chvíli, kdy potřebujeme výstup na obrazovku použijeme příkaz echo

9 Dávka dnes.bat – druhý pokus

10 Příkaz goto – přechod na návěstí
Při zpracování příkazů přechází Příkazový řádek vždy na následující řádek. Někdy může být výhodné označit některá místa pomocí návěstí a na tato místa potom přecházet Návěstí je libovolná max. osmiznaková kombinace, před kterou je dvojtečka např. :navesti

11 Příkaz goto – příklad pozn.: příkaz REM slouží ke psaní komentářů – vhodné svoje programy komentovat, aby se tvůrce ve svém díle vyznal i za čas

12 Práce s proměnnými Proměnné často obsahují číslo, hodí se aritmetické operace. Výpočet proběhne při použití příkazu set /a Syntaxe: set /a “x=a+b” Proměnná x se naplní součtem a+b (za předpokladu, že někde výše v dávce byly proměnné a, b definovány) Výpis proměnné na monitor Syntaxe: echo %x% Aritmetické operace: +, -, *, / (celočíselné dělení), % (zbytek po dělení)

13 Vstup uživatele do dávky
Hodnoty proměnných lze zadávat i z klávesnice v průběhu dávky. Příkaz: set /p promenna=vyzva Uživatel bude vyzván k zadání proměnné zobrazením textu vyzva Např.: set /p x=Zadej cislo:

14 Dávka scitani1.bat Dávka sečte dvě čísla, která uživatel zadá z klávesnice, výsledek zobrazí.

15 Dávka scitani1.bat

16 Příkaz if – podmíněné zpracování příkazu a Příkaz else – rozšíření příkazu if
větvení programu na základě splnění (nesplnění) nějaké podmínky příkaz uvedený za else bude vykonán pouze za předpokladu, že podmínka nebyla splněna Příklad: if %q%==a (echo ahoj) else (echo nazdar) – zde se v podmínce porovnávají dva řetězce (pomocí ==)

17 Příkaz else POZOR: příkaz else MUSÍ být uveden na stejném řádku jako je podmínka pro if vyřešeno pomocí závorky Porovnání dvou číselných proměnných. Pokud se rovnají, provede se příkaz za if, v opačném případě se provede příkaz za else.

18 Dávka scitani2.bat Využijte dávku scitani1.bat
Po sečtení čísel se zobrazí dotaz, zda uživatel chce skončit (a/n) a – dávka se spustí od začátku – nové zadání n – dávka bude ukončena Nápověda: použijte další proměnnou, kterou pomocí if otestujete. Pokud bude naplněna hodnotou a, pak pomocí goto a návěstí návrat zpět na začátek. Při naplnění jinou hodnotou, dávka skončí.

19 Dávka scitani2.bat – výstup

20 Dávka scitani2.bat – zdrojový kód

21 Dávka hadani.bat vygeneruje náhodné číslo od 0 do 9
uživatel náhodně jedno číslo hádá program vypíše, zda uživatel uhádl a vygenerované číslo vypíše proměnná %random% – obsahuje náhodné číslo z intervalu 0 až 32767 set /a s1= %random% – proměnná s1 bude naplněna náhodně vygenerovaným číslem set /p s2=Zadej cislo – proměnná s2 bude naplněna z klávesnice echo %s2% – výpis proměnné s2 if %s1% EQU %s2% – jestliže se rovná (čísla)

22 Dávka hadani.bat – výstup

23 Dávka hadani.bat – zdrojový kód

24 Dávka hadani2.bat – výstup
Rozdíl proti hadani.bat: Dotaz na ukončení programu

25 Dávka hadani2.bat – zdrojový kód
Poznámka: Porovnání proměnných s číslem a řetězcem.

26 for – příkaz cyklu syntaxe:
for /L %%j in (začátek,krok,konec) do příkaz proměnná j se postupně bude plnit od čísla začátek po kroku do čísla konec parametr /L může být i malé písmeno (pozor na záměnu) Poznámka 1: ve své základní podobě slouží příkaz for k práci s množinou souborů Poznámka 2: pokud příkaz for použijeme uvnitř dávky je nutné řídící proměnnou VŽDY uvozovat dvěma procenty

27 Dávka for.bat – zdrojový kód

28 Dávka for.bat – výstup

29 Dávka prumer.bat – výstup
Dávka pro výpočet aritmetického průměru zadaného počtu celých čísel

30 Dávka prumer.bat Použití triku:
aritmetika Příkazového řádku je celočíselná, ve výpočtu je použit trik: součet je před dělením vynásoben stem a je tedy 100x větší, tzn., že poslední dvě cifry jsou setinami výsledku Výpis výsledku: %prum:~0,-2% zobrazí výsledek bez posledních dvou cifer následuje desetinná čárka %prum:~-2% zobrazí poslední dvě cifry (setiny)

31 Dávka prumer.bat – zdrojový kód

32 Dávka scitani3.bat – výstup
Uživatel sčítá příklady, na konci dávky se zobrazí počet správně a špatně spočítaných příkladů.

33 Dávka scitani3.bat – zdrojový kód

34 for /f – zpracování a analýza souboru
příkaz for /f lze použít ke zpracování textového souboru, tento soubor je vstup cyklu v každém kroku cyklu bude zpracován jeden řádek souboru, který je rozdělen na sloupce (oddělovač sloupců lze nadefinovat, např. ,;) proměnné nadefinované v příkazu for je předán text prvního sloupce, další proměnné v abecedě je předán další sloupec, atd. prázdné řádky jsou ignorovány

35 for /f – zpracování a analýza souboru
za parametrem /f může být uvedeno následující: eol=x – za konec řádku je považován i znak x (cokoliv za x bude ignorováno, např. i celý řádek) skip=n – vynechá prvních n řádků souboru delims=x – za x může být dosazen oddělovač sloupců, např. delims=; tokens=a,b,c – čísla sloupců, které mají být zpracovány

36 for /f – zpracování a analýza souboru
příklad: for /f “eol=# delims=, tokens=1,4,5” %%A in (soubor.txt) do konec řádku je # – cokoliv za tímto znakem je ignorováno oddělovačem je čárka (,) zpracován bude sloupec 1, 4, 5 obsah prvního sloupce se uloží do proměnné %%A, obsah čtvrtého sloupce do proměnné %%B, atd. podle abecedy

37 Dávka soubor1.bat – vstupní soubor
Soubor data.txt, který slouží jako vstup do cyklu Oddělovačem je středník ;

38 Dávka soubor1.bat – výstup
Zpracovává se 1. a 3. sloupec, ty se i vypisují Zároveň se do proměnné počítá i celkový plat

39 Dávka soubor1.bat – zdrojový kód
červená šipka: výpis prázdného řádku do proměnné plat se počítá celkový plat # konec řádku – vše za # se ignoruje zpracovává se 1. a 3. sloupec

40 Dávka soubor2.bat – výstup
Upravte předchozí soubor tak, aby se vypisovalo i město Ve vstupním souboru nadefinujte jako oddělovač čárku ,

41 Dávka soubor2.bat – vstupní soubor
Soubor data2.txt, který slouží jako vstup do cyklu Oddělovačem je ,

42 Dávka soubor2.bat – zdrojový kód

43 Systémové proměnné systprom.bat – výstup

44 Systémové proměnné systprom.bat – zdrojový kód
Klávesová zkratka pro podtržítko: L Alt + 95

45 Soubor docasne.bat Napište dávkový soubor, který najde všechny dočasné soubory na disku C: (mají příponu .tmp nebo ve svém názvu mají podřetězec tmp nebo temp a nebo jsou v adresáři tmp nebo temp), seznam uloží do souboru docasne.txt.

46 Soubor docasne.bat – zdrojový kód
Po spuštění souboru je třeba mít chvilku trpělivost – výsledek není hned 


Stáhnout ppt "Úvod do programování Malá kouzla s příkazovým řádkem"

Podobné prezentace


Reklamy Google