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

Podobné dokumenty
Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na

while cyklus s podmínkou na začátku cyklus bez udání počtu opakování while podmínka příkazy; příkazy; příkazy; end; % další pokračování programu

Základy algoritmizace a programování

KTE / PPEL Počítačová podpora v elektrotechnice

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

Příklad elektrický obvod se stejnosměrným zdrojem napětí

Příklady k prvnímu testu - Matlab

KTE / PPEL Počítačová podpora v elektrotechnice

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

Pokračování příkladu: funkce s2cos pro výpočet y = sin 2 (x) cos(x) function y = s2cos(x) y = (sin(x).^ 2).* cos(x);

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

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

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

Algoritmy a datové struktury

Řídicí struktury. alg3 1

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

PPEL_3_cviceni_MATLAB.txt. % zadat 6 hodnot mezi cisly 2 a 8 % linspace (pocatek, konec, pocet bodu)

E+034 = ; = e E+034

6 Příkazy řízení toku

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

Stručný návod k programu Octave

MATLAB základy. Roman Stanec PEF MZLU

X37SGS Signály a systémy

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

Skriptování aneb funkce a procedury, cykly a vstupy a výstupy

Algoritmizace a programování

- transpozice (odlišuje se od překlopení pro komplexní čísla) - překlopení matice pole podle hlavní diagonály, např.: A.' ans =

Univerzitní licence MATLABu. Pište mail na: se žádostí o nejnovější licenci MATLABu.

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

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

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

Úvodem... 9 Kapitola 1 Karetních

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

P íklady k prvnímu testu - Scilab

Analýza spolehlivosti tlakové nádoby metodou Monte Carlo

% vyhledání prvku s max. velikostí v jednotlivých sloupcích matice X

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

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

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

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

Operační systémy. Cvičení 4: Programování v C pod Unixem

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ů

Pointery II. Jan Hnilica Počítačové modelování 17

Algoritmizace a programování

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

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.

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

Lekce 04 Řídící struktury

KTE / PPEL Počítačová podpora v elektrotechnice

Doňar B., Zaplatílek K.: MATLAB - tvorba uživatelských aplikací, BEN - technická literatura, Praha, (ISBN:

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

Algoritmus pro generování normálních magických čtverců

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Základy algoritmizace a programování

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

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Úvod do programování. Lekce 3

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

Vstupní požadavky, doporučení a metodické pokyny

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

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

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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

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

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

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

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

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

II. Úlohy na vložené cykly a podprogramy

Úvod do programovacích jazyků (Java)

Střední průmyslová škola v Teplicích Předmět: Kontrola a měření ve strojírenství

Zápis programu v jazyce C#

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

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


PPEL_4_cviceni_MATLAB.txt. % 4. cvičení z předmětu PPEL - MATLAB. % Lenka Šroubová, ZČU, FEL, KTE %

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Princip funkce počítače

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

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

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

Základy algoritmizace a programování

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

Tabulkový procesor. Základní rysy

Algoritmus pro hledání nejkratší cesty orientovaným grafem

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

DSA, První krok: máme dokázat, že pro left = right vrátí volání f(array, elem, left, right)

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Popis souboru pro generování reportů *.report

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

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

Algoritmizace. 1. Úvod. Algoritmus

8.3 Programování v PovRAY (proměnné, cykly)

int t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ;

Paměť počítače. alg2 1

Transkript:

Řídící příkazy: if podmíněný příkaz switch přepínač for while cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

if logický_výraz příkaz; příkaz; příkaz; Podmínka (logický_výraz) je výraz, jehož výsledkem je pravda 1 nebo nepravda 0, příkaz je proveden, je-li logický_výraz pravdivý. nebo plný tvar: if logický_výraz příkazy_je_li_podmínka_pravdivá; else příkazy_není_li_podmínka_pravdivá; Středníky nejsou povinné.

nebo zcela obecně: if výraz_1 příkazy_1_1; Příkazy 1_1 a 1_2 proběhnou, příkazy_1_2; je-li pravdivý výraz_1. elseif výraz_2 příkazy_2_1; Příkazy 2_1 až 2_3 proběhnou, příkazy_2_2; je-li pravdivý výraz_2. příkazy_2_3; elseif výraz_3 Příkaz 3_1 proběhne, příkazy_3_1; je-li pravdivý výraz_3. else příkazy_4_1; V jiném případě se uskuteční příkazy_4_2; příkazy 4_1 a 4_2. Pozor: else nebo elseif se vztahuje vždy k nejbližšímu if nad ním (samozřejmě pokud se před ním nevyskytne ).

Příklad: Funkce pro porovnaní čísla s určitou mezí vstupní parametry: číslo a mez testu, se kterou se bude číslo porovnávat function porovnani(cislo, meztestu) if (cislo < meztestu) % relační operátor je menší disp('cislo je mensi nez zadana mez') elseif (cislo == meztestu) % rovná se ve smyslu porovnání disp('cislo je rovno zadane mezi') else disp('cislo je vetsi nez zadana mez') % konec podmíněného příkazu if % konec funkce Volání funkce: porovnani(3, 2) cislo je vetsi nez zadana mez nebo porovnani(5, 5) cislo je rovno zadane mezi

Řídící příkazy: if podmíněný příkaz switch přepínač for while cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování) Viz také: Animace 5 http://home.zcu.cz/~pkropik/ppel/slozky/!_zaklady_matlabu

for cyklus s udaným (pevně daným) počtem opakování (víme kolikrát má proběhnout) for cykl = start:krok:konec příkazy; příkazy; % a další pokračování programu příkazy v těle cyklu jsou opakovány tolikrát, kolik prvků obsahuje vektor [start:krok:konec] řídící proměnná cyklu cykl se postupně mění podle nastaveného kroku od startu až po konec, lze jí využívat v příkazech Pozn.: vyhýbejte proměnným i a j pro řídící proměnnou cyklu (v MATLABu vyhrazeno pro imaginární jednotky)

Lze použít: for cykl = start:konec % automaticky krok 1 příkazy; Pozn.: zpětný chod záporný krok (-1, -5 atd.) je běžný, samozřejmě v tomto případě musí být start větší než konec for cykl = :-2:3 disp(cykl) 8 6 4 Chybně napsaný cyklus se neprovede ani jednou: for cykl = :2:3 příkazy; Nevypíše se vůbec nic.

Pozn.: pozor cykly jsou pomalejší než zabudované funkce, resp. než funkce nad celými vektory. Příklad: Vytvoření 5-ti prvkového vektoru n-tou odmocninou z čísla 00 000, kde n je index prvku (pořadové číslo) ve vektoru: x 1 6 2 6 3 6 4 6 5 6 for n=1:5 % krok 1 není uveden x(n)=1e6^(1/n);% naplnění n-tého prvku vektoru % n-tou odmocninou z čísla 0) % konec cyklu format short g disp(x) % výpis vektoru x 1e+006 00 0 31.623 15.849

Pokračování příkladu: x 1 6 2 6 3 6 4 6 5 6 for n=1:5 x(n)=1e6^(1/n); Cyklus lze nahradit výpočtem pomocí vektorů (efektivnější - výpočet probíhá pomocí operací prvek po prvku) => cykly používat jen v nutných případech n = 1:5; % vektor od 1 do 5 x = 1e6.^(1./n) % do vektoru x přiřadí první až % pátou odmocninou z čísla 6 disp(x) % výpis vektoru x 1e+006 00 0 31.623 15.849

Příklad: Součet prvků ve vektoru s miliony prvky pomocí sum() a pomocí cyklu for. Využijeme funkce: rand (m,n) matice m řádky a n sloupci obsahující pseudonáhodné hodnoty z otevřeného intervalu (0,1) Pomocí rand(1,000000)vytvoříme vektor s 1 řádkem a 000000 sloupci. length počet prvků ve vektoru, např. a = [1,7,5,6,9] length(a) ans = 5 tic spuštění stopek a ukládání aktuálního času toc zastavení stopek, změření a výpis času tic a toc funkce pracující společně měří uplynulý čas

Pokračování příkladu vytvoření funkce: function testsumace vektor = rand(1,000000); tic % spuštění stopek prvni = sum(vektor); toc % zastavení stopek a výpis času disp('pomoci sum: '); disp(prvni); tic % spuštění stopek druhy = 0; % druhy je 0, behem cyklu se zvetsi for cykl=1:length(vektor) druhy = druhy + vektor(cykl); ; % konec cyklu toc % zastavení stopek a výpis času disp('pomoci cyklu for: '); disp(druhy); % konec cyklu

Pokračování příkladu : Volání funkce: testsumace Výsledky: Elapsed time is 0.018375 seconds. Pomoci sum: 5e+006 Elapsed time is 0.93 seconds. Pomoci cyklu for: 5e+006

Pokračování příkladu : Volání funkce: testsumace Výsledky: Spotřebovaný čas pomocí sum Elapsed time is 0.018375 seconds. Pomoci sum: 5e+006 Elapsed time is 0.93 seconds. Pomoci cyklu for: 5e+006

Pokračování příkladu : Volání funkce: testsumace Výsledky: Spotřebovaný čas pomocí sum Elapsed time is 0.018375 seconds. Pomoci sum: Spotřebovaný čas 5e+006 pomocí for Elapsed time is 0.93 seconds. Pomoci cyklu for: 5e+006