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 Jednoduché dávkové soubory Jitka Kalná, 2009.

Podobné prezentace


Prezentace na téma: "Úvod do programování Malá kouzla s příkazovým řádkem Jednoduché dávkové soubory Jitka Kalná, 2009."— 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 ◦ 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.batpo 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ž  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 Oddělovačem je,  Soubor data2.txt, který slouží jako vstup do cyklu

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 Jednoduché dávkové soubory Jitka Kalná, 2009."

Podobné prezentace


Reklamy Google