Základy algoritmizace 3/13 příkaz cyklus, proměnná typu pole

Slides:



Advertisements
Podobné prezentace
Programování funkcí v Excelu (pole)
Advertisements

Typy cyklů Do...Loop For...Next For Each...Next.
Příkazy cyklů. Co je to cyklus Jako cyklus označujeme opakované vykonávání určitého bloku příkazů Jako cyklus označujeme opakované vykonávání určitého.
Význam diferenciálních rovnic převzato od Doc. Rapanta.
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Zdeňka Soprová, Bc. Dostupné z Metodického portálu ; ISSN Provozuje.
Výukový materiál zpracovaný v rámci projektu EU peníze školám Registrační číslo projektu:CZ.1.07/1.4.00/ Šablona:III/2 Inovace a zkvalitnění výuky.
Řetězce v jazyce C ● řetězec je posloupnost znaků ● řetězcové konstanty se v C vkládají mezi uvozovky, např. "Ahoj Hugo!" ● v paměti je řetězec uložen.
Úvod do programování 2. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015.
Mnohočleny Sčítání, odčítání Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Kamila Kočová. Dostupné z Metodického portálu
Název projektu: ZŠ Háj ve Slezsku – Modernizujeme školu
ZÁKLADNÍ ŠKOLA, JIČÍN, HUSOVA 170 Číslo projektu
Výukový materiál zpracován v rámci projektu
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Čtyřúhelník - obdélník
Algoritmizace a programování
Vzdělávání pro konkurenceschopnost
Rozhodování 1.
Číslo projektu CZ.1.07/1.5.00/ Číslo materiálu
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
Algoritmizace a programování
Název školy Základní škola Jičín, Husova 170 Číslo projektu
SIMULAČNÍ MODELY.
Soustavy rovnic Řešení soustav lineárních a kvadratických rovnic s více neznámými 5. ( řešené úlohy)
Lexikální atomy jazyka C
Příkazy IF a SELECT CASE
Výukový materiál zpracován v rámci projektu
Vliv změn ve Studijním a zkušebním řádu na registrace a zápis studentů
Jak brouček sekal souček
ZÁKLADNÍ ŠKOLA, JIČÍN, HUSOVA 170 Číslo projektu
Číslo projektu CZ.1.07/1.5.00/ Číslo materiálu
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
NÁZEV ŠKOLY: Základní škola a Mateřská škola Nedvědice, okr
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
MATEMATIKA Druhá písemná práce a její analýza.
Programování (14PRG) 1. cvičení.
Regulátory integrační
CYKLUS S PODMÍNKOU NA KONCI (s výstupní podmínkou)
Obchodní akademie a Střední odborná škola, gen. F. Fajtla, Louny, p.o.
Výukový materiál zpracován v rámci projektu
Rovnice základní pojmy.
Střední hodnoty Udávají střed celé skupiny údajů, kolem kterého všechny hodnoty kolísají (analogie těžiště). Aritmetický průměr - vznikne součtem hodnot.
Rovnice s absolutními hodnotami
MU002 Informatika II Základy algoritmizace 2/13
MU002 Informatika II Základy algoritmizace 1/13
zpracovaný v rámci projektu
MU002 – Informační technologie Základy algoritmizace 4/13
4. Algoritmy a programovanie v jazyku Pascal Cykly a riadenie
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Algoritmizace a datové struktury (14ASD)
Algebraické výrazy: lomené výrazy
Primitivní funkce Přednáška č.3.
* Násobení celých čísel Matematika – 7. ročník *
Algoritmizace a datové struktury (14ASD)
Obchodní akademie, Střední odborná škola a Jazyková škola s právem státní jazykové zkoušky, Hradec Králové Autor: Mgr. Lenka Marková Název materiálu:
Lomené výrazy (2) Podmínky řešitelnost
Přednáška 10 Uložené procedury.
Číslo projektu: CZ.1.07/1.4.00/ Název DUM: Čtyřúhelník - obdélník
Lineární funkce a její vlastnosti
Matematika – 7.ročník Mnohočleny VY_32_INOVACE_
Rovnovážná poloha páky – opakování
Průměr
Číslo projektu CZ.1.07/1.5.00/ Číslo materiálu
Algoritmizace a datové struktury (14ASD)
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
MU002 Informatika II Základy algoritmizace 1/13
Slovní úlohy o společné práci − 3
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Dělení racionálních čísel
Autor: Mgr. Michal Přikryl
Transkript prezentace:

Základy algoritmizace 3/13 příkaz cyklus, proměnná typu pole CU01 Informatika II MU002 Informatika II Základy algoritmizace 3/13 příkaz cyklus, proměnná typu pole

Exponenciální funkce 𝑒 𝑥 CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Exponenciální funkce 𝑒 𝑥 Funkci vyjádříme pomocí nekonečné řady 𝑒 𝑥 =1+𝑥+ 𝑥 2 2! + 𝑥 3 3! + …+ 𝑥 𝑖 𝑖! + …= 𝑖=0 ∞ 𝑎 𝑖 Pro sousední členy platí 𝑎 𝑖+1 = 𝑎 𝑖 𝑥 𝑖+1 Algoritmus: Počítáme nové členy z předcházejících členů a sečítáme je. 𝑎 0 =1, 𝑎 1 = 𝑎 0 𝑥 1 = 𝑥, 𝑎 2 = 𝑎 1 𝑥 2 = 𝑥 2 2 ,… Výpočet ukončíme, jakmile velikost dalšího vypočteného členu klesne pod zadanou přesnost eps. 𝑎 𝑖+1 <𝑒𝑝𝑠

PŘÍKLAD: Exponenciální funkce 𝑒 𝑥 CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu PŘÍKLAD: Exponenciální funkce 𝑒 𝑥 ' -- deklarace proměnných Dim rada As Double, x As Double, eps As Double, a As Double Dim i As Integer ' -- vstup dat x = InputBox("Zadejte x pro výpočet exponenciální funkce") eps = InputBox("Zadejte přesnost výpočtu (malé číslo)") ' -- inicializace proměnných a = 1 rada = a i = 0 ' -- vlastní výpočet jednotlivých členů a = a * x / (i + 1) rada = rada + a i = i + 1 If a < eps then Exit Function … ' -- výstup výsledku MsgBox ("Vypočtená hodnota funkce exp(" & x & "): " & rada)

Opakování instrukcí – příkaz cyklu CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Opakování instrukcí – příkaz cyklu Hlavní funkce opakované provádění bloku příkazů adresování prvků polí a kolekcí Počet opakování limituje podmínka nebo hodnota řídící proměnné cyklu. Diskretizace v čase <tmin; tmax> ti+1 = ti + dt Výpočet rychlosti v(ti+1) v čase ti+1 Diskretizace v prostoru <0; L> (L délka nosníku) xi+1 = xi + dx Výpočet posouvající síly T(xi) a momentu M(xi)

PŘÍKLAD: Výpočet posouvající síly CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu PŘÍKLAD: Výpočet posouvající síly ' -- deklarace proměnných Dim Raz As Single, Rbz As Single, q as Single Dim x As Single, L As Single ' -- vstup dat q = InputBox("Zadejte velikost zatížení") dx = InputBox("Zadejte změnu dx") ' –- výpočet reakcí Raz = q * L / 2 Rbz = Raz ' –- posouvající síla v x=0 x = 0 Vx = Raz ' – q * x ' –- posun x o dx x = x + dx If x > L then Exit Function Vx = Raz – q * x … ' -- výstup výsledku

Do While <podmínka> <příkazy> Loop CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Příkaz cyklu Do While <podmínka> <příkazy> Loop Nemůžeme dopředu určit počet opakování. Podmínka = výraz, jehož výsledkem je logická hodnota. T < tmax i * dx < L Příkazy cyklu musí ovlivňovat podmínku cyklu Příkazy cyklu se opakují, dokud platí podmínka (má hodnotu True/Pravda). Cyklus nemusí proběhnout ani jednou. Příkaz Exit Do slouží pro předčasné ukončení bloku příkazů předává řízení na první příkaz za cyklem (za klíčovým slovem Loop).

PŘÍKLAD: Exponenciální funkce 𝑒 𝑥 CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu PŘÍKLAD: Exponenciální funkce 𝑒 𝑥 ' -- deklarace proměnných Dim rada As Double, x As Double, eps As Double, a As Double Dim i As Integer ' -- vstup dat x = InputBox("Zadejte argument exponenciální funkce") eps = InputBox("Zadejte přesnost výpočtu (malé číslo)") ' -- inicializace cyklu a = 1 rada = a i = 0 ' -- vlastní cyklus přidávající další členy Do While (a > eps) a = a * x / (i + 1) rada = rada + a i = i + 1 Loop ' -- výstup výsledku MsgBox ("Vypočtená hodnota funkce exp(" & x & "): " & rada)

PŘÍKLAD: Výpočet hodnot funkce sin(x) CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu PŘÍKLAD: Výpočet hodnot funkce sin(x) ' -- deklarace proměnných Dim a As Single, b As Single, dx As Single, x As Single ' -- vstup dat a = InputBox("Zadejte dolní mez intervalu <a;b> a:") b = InputBox("Zadejte horní mez intervalu <a;b> b:") dx = InputBox("Zadejte dx:") ' -- inicializace cyklu x = a ' -- vlastní cyklus Do While (x < b) y = Math.Sin(x) MsgBox("Hodnota funkce sin(" & x & ") = " & y) x = x + dx Loop MsgBox("Hodnota funkce sin(" & Math.Sin(a) & ") = " & y)

PŘÍKLAD: Výpočet faktoriálu CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu PŘÍKLAD: Výpočet faktoriálu ' -- deklarace proměnných Dim cislo As Integer, a As Integer Dim f As Long ' -- vstup dat cislo = InputBox("Zadejte celé číslo:") ' -- inicializace cyklu a = 0 f = 1 ' -- vlastní výpočet a = a + 1 f = f * a if (a > cislo) then Exit Function …

PŘÍKLAD: Výpočet faktoriálu CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu PŘÍKLAD: Výpočet faktoriálu ' -- deklarace proměnných Dim cislo As Integer, a As Integer Dim f As Long ' -- vstup dat cislo = InputBox("Zadejte celé číslo:") ' -- inicializace cyklu a = 1 f = 1 ' -- vlastní cyklus Do While (a < cislo) a = a + 1 f = f * a Loop MsgBox("Faktorál čísla " & cislo & " je hodnota " & f)

For <proměnná> = start To konec [Step krok] <příkazy> CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Příkaz cyklu For <proměnná> = start To konec [Step krok] <příkazy> Next <proměnná> <proměnná> - řídící proměnná cyklu (celočíselný typ) start – počáteční hodnot řpc konec – koncová hodnota řpc krok – přírůstek řpc Známe nebo dokážeme určit počet opakování. Příkazy cyklu se opakují, dokud řídící proměnná cyklu nedosáhne koncové hodnoty. Řídící proměnná se zvyšuje o 1 pokud není nastaven parametr Step Příkaz Exit For slouží pro předčasné ukončení smyčky předává řízení na první příkaz za cyklem (za klíčovým slovem Next).

CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Diskretizace osy x ' -- deklarace proměnných Dim delka As Single, dx As Single, x As Single Dim T As Single, M As Single Dim n As Integer ' -- vstup dat delka = InputBox("Zadejte délku nosníku – delka:") dx = InputBox("Zadejte dx:") ' -- inicializace cyklu n = Int(delka / dx) x = 0 ' -- vlastní cyklus přidávající další členy For i = 1 To n T = … M = … x = x + dx Next i

Příkaz cyklu – vnoření příkazů cyklu CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Příkaz cyklu – vnoření příkazů cyklu For <proměnná> = start To konec [Step krok] <příkazy> Next <proměnná>

Loop While <podmínka> Nemůžeme dopředu určit počet opakování. CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Příkaz cyklu Do <příkazy> Loop While <podmínka> Nemůžeme dopředu určit počet opakování. Podmínka = výraz, jehož výsledkem je logická hodnota. T < tmax i * dx < L Příkazy cyklu se opakují, dokud platí podmínka (má hodnotu True/Pravda). Cyklus proběhne vždy alespoň jednou. Příkaz Exit Do slouží pro předčasné ukončení smyčky předává řízení na první příkaz za cyklem (za klíčovým slovem Loop).

CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Diskretizace osy x ' -- deklarace proměnných Dim delka As Single, dx As Single, x As Single Dim T As Single, M As Single ' -- vstup dat delka = InputBox("Zadejte délku nosníku – delka:") dx = InputBox("Zadejte dx:") ' -- inicializace cyklu x = 0 ' -- vlastní cyklus Do T = … M = … x = x + dx Loop While (x <= delka)

PŘÍKLAD: Výpočet faktoriálu CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu PŘÍKLAD: Výpočet faktoriálu ' -- deklarace proměnných Dim cislo As Integer, a as integer Dim f As Long ' -- vstup dat cislo = InputBox("Zadejte celé číslo:") ' -- inicializace cyklu a = 0 f = 1 ' -- vlastní cyklus Do a = a + 1 f = f * a Loop While (a < cislo) MsgBox("Faktorál čísla " & cislo & " je hodnota " & f)

Do Until <podmínka> <příkazy> Loop CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Příkaz cyklu Do Until <podmínka> <příkazy> Loop Nemůžeme dopředu určit počet opakování. Podmínka = výraz, jehož výsledkem je logická hodnota. T < tmax i * dx < L Příkazy cyklu se opakují, dokud NEplatí podmínka (má hodnotu False/Nepravda). Cyklus nemusí proběhnout ani jednou. Příkaz Exit Do slouží pro předčasné ukončení smyčky předává řízení na první příkaz za cyklem (za klíčovým slovem Loop).

PŘÍKLAD: Diskretizace osy x CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu PŘÍKLAD: Diskretizace osy x ' -- deklarace proměnných Dim delka As Single, dx As Single, x As Single Dim T As Single, M As Single ' -- vstup dat delka = InputBox("Zadejte délku nosníku – delka:") dx = InputBox("Zadejte dx:") ' -- inicializace cyklu x = 0 ' -- vlastní cyklus Do Until (x > delka) T = … M = … x = x + dx Loop

Loop Until <podmínka> Nemůžeme dopředu určit počet opakování. CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu Příkaz cyklu Do <příkazy> Loop Until <podmínka> Nemůžeme dopředu určit počet opakování. Podmínka = výraz, jehož výsledkem je logická hodnota. T < tmax i * dx < L Příkazy cyklu se opakují, dokud NEplatí podmínka (má hodnotu False/Nepravda). Cyklus proběhne vždy alespoň jednou. Příkaz Exit Do slouží pro předčasné ukončení smyčky předává řízení na první příkaz za cyklem (za klíčovým slovem Loop).

PŘÍKLAD: Diskretizace osy x CU01 Informatika II MU002 Informatika II Základy algoritmizace – příkaz cyklu PŘÍKLAD: Diskretizace osy x ' -- deklarace proměnných Dim delka As Single, dx As Single, x As Single Dim T As Single, M As Single ' -- vstup dat delka = InputBox("Zadejte délku nosníku – delka:") dx = InputBox("Zadejte dx:") ' -- inicializace cyklu x = 0 ' -- vlastní cyklus Do T = … M = … x = x + dx Loop Until (x > delka)

CU01 Informatika II Děkuji za pozornost.