ŘÍDÍCÍ STRUKTURY - PODMÍNKY

Podobné dokumenty
Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

PSK3-9. Základy skriptování. Hlavička

PROGRAMOVÁNÍ V SHELLU

Sekvenční a podmíněné provádění

C2110 Operační systém UNIX a základy programování

Skripty - úvod. Linux - skripty 2

Algoritmizace a programování

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

BASH. Kouzla s příkazovou řádkou. Petr Koloros

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Základy PERLu snadno a rychle

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Řídicí struktury. alg3 1

6 Příkazy řízení toku

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Proměnné a parametry. predn_08.odt :00:38 1

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Funkce, podmíněný příkaz if-else, příkaz cyklu for

6. Příkazy a řídící struktury v Javě

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Basic256 - úvod do programování Příklady. ing. petr polách

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Part 1

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

PHP tutoriál (základy PHP snadno a rychle)

MAXScript výukový kurz

Střední odborná škola a Střední odborné učiliště, Hořovice

Programovací jazyk Pascal

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Úvod do Operačních Systémů

Úvod do programování

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

LEKCE 6. Operátory. V této lekci najdete:

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

ANOTACE vytvořených/inovovaných materiálů

Překladač a jeho struktura

Programování v jazyce JavaScript

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

AUTOMATIZACE ÚKONŮ SPRÁVY OPERAČNÍCH SYSTÉMŮ II. Ing. Petr Klimša

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

Střední odborná škola a Střední odborné učiliště, Hořovice

Nastroje na zpracovani textu:

Sada 1 - PHP. 05. Větvení

Inovace bakalářského studijního oboru Aplikovaná chemie

Algoritmizace prostorových úloh

Úvod do programování - Java. Cvičení č.4

Algoritmy a datové struktury

Kurz LSL skriptování. Shiny Iceberg 2009

Činnost: 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V.

Úvod do Operačních Systémů

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do databázových systémů

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 23, 2016

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Algoritmizace a programování

Implementace LL(1) překladů

A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

Konečný automat. Jan Kybic.

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Uplatnění metod na zvolený jazyk

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Jazyk C# a platforma.net

Násobení pomocí sčítání


VISUAL BASIC. Přehled témat

10 Algoritmizace Příklad 2 Word 2007/ VBA

Základy algoritmizace a programování

MAPLOVSKY PROGRAMOVACI JAZYK

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1

Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D.

Počítačová simulace logistických procesů I. 11. přednáška Programování v SimTalk. ŠAVŠ, Fábry

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr)

2. lekce Algoritmus, cyklus Miroslav Jílek

PHP. Čtvrtek 8. září. Čtvrtek 15. září. Anonymní test znalostí

KIV/ZIS cvičení 5. Tomáš Potužák

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Podmíněný příkaz

Programování v jazyce C pro chemiky (C2160) 5. Čtení dat ze souboru

1. Téma 03 - Rozhodování

Micro:bit lekce 3. - Konstrukci If Then a If Then Else najdete v kategorii Logic - Podmínky od If (např. porovnání < >= atd.) najdete taktéž v Logic

Transkript:

ŘÍDÍCÍ STRUKTURY - PODMÍNKY Pokusíme se rozvětvit sktipt v Bashi

ŘÍDÍCÍ STRUKTURY - PODMÍNKY V této lekci budeme probírat podmínkové, tj., které nám pomohou rozvětvit skript a provádět určité pouze při splnění určité podmínky. Patří sem: if.then for.in while until case select

if.then syntaxe: if podmínka fi then Vývojový diagram if podmínka False True then fi

Zadání příkladu Napište skript, který z příkazové řádky načte dvě slova a porovná, zda jsou či nejsou stejná Pozn.: V příkladu použijeme příkaz test, který testuje splnění či nesplnění podmínky a read, který načítá obsah proměnné z promptu. Pozn.: Uvozovky kolem $slovo1 jsou důležité pro případ, že by zadané slovo obsahovalo mezeru či zvláštní znak. Všimněte si, že se nedovíme nic v případě, že slova nesou stejná. Naštěstí má podmínka if then variantu if.then.else

if.then.else syntaxe: if podmínka then else fi Vývojový diagram

Zadání příkladu Rozšiřte předchozí skript o výstup pro případ, že se slova neshodují. Pozn.: Příkaz test lze nahradit hranatými závorkami. Závorky musí být odděleny od testované podmínky mezerou.

Vnořená podmínka if.then.elif syntaxe: if podmínka fi then elif podmínka else then Vývojový diagram True if podmínka False then True elif podmínka False then else fi

Zadání příkladu Napište skript, který porovná shodu tří slov zadaných z příkazové řádky. Pozn.: Pro příkaz test či hranaté závorky budeme potřebovat logický operátor AND, syntaxi příkazu test si přečteme v man test. Zjistíme, že AND se zapisuje jako a. Pozor, kolem logických operátorů musí být mezery, to platí i pro rovnost =.

Domácí úkol Napište skript, který po zadání jména a hesla (2 x pro ověření správnosti) přidá uživatele do systému Řešení:

for in jednoduchý cyklus syntaxe: for index-seznamu in seznam-argumentů do done Vývojový diagram

Zadání příkladu Napište skript, který ze seznamu argumentů načte pět jmen a vypíše je v příkazové řádce. Pozn.: Příkaz sleep už známe z minulých lekcí.

Varianty příkazu for Při této variantě budeme zadávat argumenty z příkazové řádky. Příklad spuštění skriptu s cyklem for s argumenty:./skript.sh arg1 arg2 arg3 syntaxe: for index-seznamu do done Obdoba předchozího příkladu:

Domácí úkol Napište skript, který ze seznamu jmen vytvoří v systému odpovídající uživatele. Řešení:

while další cyklus Dokud je splněna podmínka, tj. dokud test-příkaz vrací hodnou True, budou se vykonávat v sekci do syntaxe: while test-příkaz do done Vývojový diagram

Zadání příkladu Napište skript, který pomocí cyklu while, vypíše čísla od 0 do 9. Pozn.: Pro vypracování příkladu budeme potřebovat možnost pracovat s aritmetickými operátory. V lekci, která bude následovat po ukončení lekcí o řídících strukturách si aritmetiku v Bashi probereme pořádně. teď se omezíme jen na následující: Aritmetický výraz má v Bashi dvě možnosti zápisu. $((výraz)) nebo $[výraz]. Celý takovýto zápis se vyčíslí a má stejný efekt, jako bychom napsali přímo výsledek výrazu. Zápis $((2+1)) je tedy ekvivalentní zápisu 3. Zápis ((cislo +=1)) zvýší hodnotu proměnné o 1.

until další cyklus Dokud není splněna podmínka, tj. dokud test-příkaz vrací hodnou False, budou se vykonávat v sekci do syntaxe: until test-příkaz do done Vývojový diagram

Zadání příkladu Napište skript, pomocí kterého bude váš spolužák hádat křestní jméno někoho ze skupiny. Skript na závěr vypíše: Uhodl jsi na x-tý pokus!

A ještě jedna rada na závěr Cyklus while lze s výhodou využít i při načítání obsahu textového souboru po řádcích. syntaxe: while read proměnná do done < jmeno_souboru Následující skript načítá řádky souboru soubor.txt a vypisuje je do příkazového řádku.

Domácí úkol Napište skript, který načte jména uživatelů ze souboru a vytvoří pro ně účty, jako heslo použijte jmeno007, např. uživatel karel bude mít heslo karel007. Řešení:

case řídící struktura case je rozhodovací struktura s více možnostmi syntaxe: case test-řetězec in možnost-1) -1 ;; možnost-2) -2 ;; možnost-3) -3 ;; esac

case Vývojový diagram

Zadání příkladu Napište skript, který vyhodnotí zda jste zapsali A, B nebo C.

select řídící struktura umožňuje výběr obsahu proměnné ze zobrazené nabídky a poté vykonání příkazů s touto proměnnou syntaxe: select proměnná [in arg ] do done Příklad Následující příklad ukazuje, jak lze příkaz select využít. PS3 je systémová výzva, kterou používá struktura select pro vypsání zprávy uživateli. Vestavěný příkaz break lze použít i v jiných řídících strukturách. Ukončuje běh dané struktury.