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

Podobné dokumenty
Skriptování co se do minula nevešlo, práce s řetězci a řešení rovnic

Základy algoritmizace a programování

Stručný návod k programu Octave

MATLAB základy. Roman Stanec PEF MZLU

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

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

Numerická integrace a derivace

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í

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

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

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

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

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

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 +

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

E+034 = ; = e E+034

3.T Technické výpočty v Octave/Matlabu zpracování a zobrazení dat

1. Vsechny promenne jsou matice. Skalar je a(1,1). Vektor je bud' radkovy a(1,5) nebo sloupcovy

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

Programovani v Maplu Procedura

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

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

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

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

Vyšetření průběhu funkce zadané předpisem

Lineární a polynomická regrese, interpolace, hledání v tabulce

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

2 Datové typy v jazyce C

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

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

Lekce 04 Řídící struktury

MATLAB, v , Release 13

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

Předzpracování dat. Cvičení 2: Import a příprava dat v Matlabu MI-PDD, 09/2011. Pavel Kordík MI-POA

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);

- jak udělat konstantu long int: L long velka = 78L;

2. lekce Algoritmus, cyklus Miroslav Jílek

Předmluva 9 Obsah knihy 9 Typografické konvence 10 Informace o autorovi 10 Poděkování 10

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

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

VISUAL BASIC. Přehled témat

Úvod do Matlabu. Vít Vondrák Katedra aplikované matematiky FEI, VŠB-TU Ostrava

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

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

Indexové výrazy >> A(1,:) >> A=[1,2;3,4] >> a=a(:) >> a(3)= 8 A = a = ans = 1 2. >> a a = >> A(2,1) >> A(:,1) ans = ans = >> a(3) ans =

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

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

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

Podmíněné vykonávání

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

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

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

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

Řídicí struktury. alg3 1

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

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

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

Úvod do programování. Lekce 3

MODAM Popis okna. 2 Jana Bělohlávková, Katedra matematiky a deskriptivní geometrie, VŠB - TU Ostrava

Programování v jazyku LOGO - úvod

1. Téma 03 - Rozhodování

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

PROGRAMOVÁNÍ V SHELLU

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

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

Funkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr

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

Algoritmy a datové struktury

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

EPI, s.r.o. INT. Zadání: Zpracujte dokumentaci, kde popíšete jednotlivé algoritmy javascriptu s popisem proměnných a zobrazením obrazovky výpočtu.

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

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Programovací jazyk Pascal

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

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

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

ALGORITMIZACE A PROGRAMOVÁNÍ


Základy algoritmizace a programování

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

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

Zápis programu v jazyce C#

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

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

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

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

MATLAB. Popis prostředí MATLABu (pracovní plocha) MATLAB je integrovaným prostředím, s jehož pomocí lze provádět zejména:

Základy algoritmizace a programování


Programování v Pythonu

DUM 06 téma: Tvorba makra pomocí VBA

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

Je n O(n 2 )? Je n 2 O(n)? Je 3n 5 +2n Θ(n 5 )? Je n 1000 O(2 n )? Je 2 n O(n 2000 )? Cvičení s kartami aneb jak rychle roste exponenciála.

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

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.

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

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

Transkript:

co byste měli umět po dnešní lekci: napsat skript a spustit jej napsat externí funkci a zpracovat její návratovou hodnotu/y využívat cykly a podmínky používat formátovaný výstup používat help skript posloupnost příkazů zapsaných v externím souboru s koncovkou m

zkusme takovýhle skript: % reseni kvadraticke rovnice a=2;b=-1;c=4; %diskriminant D=b^2-4*a*c; % reseni x1=(-b+sqrt(d))/2/a; x2=(-b-sqrt(d))/2/a; % vypis reseni x1 x2 uložme skript do souboru skript1.m skript spustíme v matlabu/octave tím, že napíšeme jeho název pozor na cestu k souboru

vylepšení: koeficienty budeme zadávat až při běhu skriptu % reseni kvadraticke rovnice a=input('zadej a: '); b=input('zadej b: '); c=input('zadej c: '); %diskriminant D=b^2-4*a*c; % reseni x1=(-b+sqrt(d))/2/a; x2=(-b-sqrt(d))/2/a; % vypis reseni disp(x1); disp(x2); funkce proměnná=input('řetězec'); funkce disp(proměnná);

vylepšení výstupu funkce printf/fprintf fprintf( řetězec s formátem výstupu, proměnné); fprintf( pi=%f\n,pi); fprintf( pi=%.2f\n,pi); fprintf( pi=%.5f\n,pi); fprintf( pi=%e\n,pi); fprintf("pi=%d\n",pi); pi=3.141593 pi=3.14 pi=3.14159 pi=3.141593e+00 pi=3

nejvhodnější je psaní funkcí a procedur jako skriptů pravidla: jméno skriptu a funkce se MUSÍ shodovat ve skriptu může být více funkcí, ale přístupná zvenčí jen JEDNA funkce (ta první) pište komentáře!!!!!!!!! pište strukturovaně (zejména cykly, viz dále) obecný tvar funkce: function vystup=jmeno_funkce(vstupni parametry) tělo funkce vystup=... function [x1,x2]=kvadrrce(a,b,c) % funkce resi kvadratickou rovnici % [x1,x2]=kvadrrce(a,b,c), % kde a,b,c jsou parametry kv.rce % D=b^2-4*a*c; % diskriminant % reseni x1=(-b+sqrt(d))/2/a; x2=(-b-sqrt(d))/2/a; zkuste napsat help KvadrRce

podmínky a cykly if podmínka if podmínka else IF if podmínka elseif podmínka else function [x1,x2]=kvadrrce1(a,b,c) % funkce resi kvadratickou rovnici % [x1,x2]=kvadrrce(a,b,c), % kde a,b,c jsou parametry kv.rce % D=b^2-4*a*c; % diskriminant % reseni if (a~=0) x1=(-b+sqrt(d))/2/a; x2=(-b-sqrt(d))/2/a; else printf( Rovnice neni kvadraticka!!\n ); x1=c/b;x2=0.0;

podmínky a cykly FOR příklady: for index=start:krok:konec for ii=1:1:10 disp(ii); for ii=1:2.5:10 disp(ii); prealokace paměti x=0:0.01:5.0; y=zeros(size(x)); for ind=1:length(x) if (x(ind)>1) y(ind)=1./x(ind); for ii=10:-0.5:1 disp(ii); vektory vs for-cykly

podmínky a cykly WHILE while podmínka while podmínka if podmínka, break, ; function out=whiledemo() x=8; while (x>0) x=x-3; disp(x); while (1) if (x<0), break, x=x-5; while (1) x=x-5; if (x<0), break,

podmínky a cykly switch proměnná case hodnota1; case hodnota2; case hodnota3; otherwise SWITCH function switchdemo(cislo) if (cislo~=0) p=cislo/abs(cislo); else p=0; switch p case 1; fprintf('cislo je kladne\n'); case -1; fprintf('cislo je zaporne\n'); otherwise fprintf('cislo je nula\n');

načtení a ukládání dat bromid.dat 10 3.4 20 2.6 30 1.6 40 1.3 50 1.0 60 0.5 a=load('bromid.dat'); size(a); % vykresleni dat plot(a(:,1),a(:,2)); plot(a(:,1),a(:,2),'o'); plot(a(:,1),a(:,2),'bo'); t=0:0.01:pi; y=cos(t); vystup=[t' y']; save -ascii 'cosinus.dat' vystup save 'cosinus.dat' vystup -ASCII yy=load('cosinus.dat'); plot(yy(:,1),yy(:,2)); načtení dat: proměnná = load(soubor); octave matlab

funkce jejíž vstupním parametrem je také funkce funkce vystup = feval(funkce,proměnné) y=feval('cos',pi/6); function y=funkce(f,x) y=feval(f,x); function y=test(x) y=sin(x).*exp(-x.^2); test(0.33); ans = 0.29061 Funkce('test',0.33); ans = 0.29061 inline funkce = funkce, které nechceme/nepotřebujeme mít ve skriptu fx=inline('cos(x)*sin(x)'); y=fx(pi/6);

příklady na cvičení: 1. upravte program na řešení kvadratické rovnice tak, aby byl ošetřen vůči chybnému zadání vstupních parametrů 2. napište funkci, která počítá faktoriál celého čísla 3. napište funkci (funkce), která počítá číslo π Archimedovou metodou (plochy n-úhelníků opsaných jednotkové kružnici)