Algoritmizace a datové struktury (14ASD)

Slides:



Advertisements
Podobné prezentace
Kuchařka na práci s mnohočleny Matematika pro ZŠ Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je David Salač. Dostupné z Metodického portálu.
Advertisements

Excel – funkce Gymnázium a Jazyková škola s právem státní jazykové zkoušky Svitavy Ditta Kukaňová.
Univerzita třetího věku kurz Znalci Databáze 2.
ZAL – 5. cvičení Martin Tomášek Pole - opakování Základní datový typ. V poli držíme více elementů (jednoho typu) S elementy v poli můžeme manipulovat.
Algoritmizace a programování Cykly – While – příklady 2.
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.
Ú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.
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 6: Proměnné, jejich typy a práce s nimi Bc. Radek Libovický.
Výukový materiál pro 8.ročník
VÝRAZY Matematické zápisy obsahující čísla (konstanty), písmena (proměnné) a početní operace ČÍSELNÉ S PROMĚNNOU √25 2.(4-7.8) 3x+7 4a3- 2a.
Mocniny, odmocniny, úpravy algebraických výrazů
Technické vybavení počítače - Počítač PC
Výukový materiál zpracován v rámci projektu
Algoritmizace a programování
ŠKOLA: Městská střední odborná škola, Klobouky u Brna,
Matematika 3 – Statistika Kapitola 4: Diskrétní náhodná veličina
Celá čísla VY_32_INOVACE_2.14.M.7 Ročník: 7. Vzdělávací oblast:
Výukový materiál zpracován v rámci projektu
Základní logické funkce
Číslo projektu CZ.1.07/1.4.00/ Název sady materiálů
Rozklad mnohočlenu na součin
Data v číslicových počítačích I.
Název projektu: Moderní výuka s využitím ICT
MATEMATIKA Dělitel a násobek přirozeného čísla.
ADT zásobník - příklad Prakticky aplikovatelný příklad využití ADT zásobník je vyhodnocování aritmetických výrazů v Postfixové notaci: Pro zápis aritmetických.
Výukový materiál zpracován v rámci projektu
Inf Tabulkový procesor - formátování
Uložení dat v PC -Binární (dvojkový) systém-
Algoritmizace a programování
Mocniny s přirozeným mocnitelem pravidla pro počítání s nimi
Datové typy v jazyce C Datové typy void skalární aritmetické
C# konzole – Součet dvou čísel
Lexikální atomy jazyka C
Inf Vývojový diagram.
C# konzole – Program pro výpočet výrazu
Výukový materiál zpracován v rámci projektu
ZŠ Týnec nad Labem AUTOR: Martina Dostálová
ZAL – 8. cvičení 2016.
Čí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
Logické funkce a obvody
Stavební fakulta ČVUT, B407
CYKLUS S PODMÍNKOU NA KONCI (s výstupní podmínkou)
Lomené algebraické výrazy
Výukový materiál zpracován v rámci projektu
Rovnice základní pojmy.
Programovatelné automaty (Programmable logic controllers – PLC)
Základy algoritmizace 3/13 příkaz cyklus, proměnná typu pole
MU002 Informatika II Základy algoritmizace 2/13
Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
Algoritmizace a datové struktury (14ASD)
Algebraické výrazy: lomené výrazy
Mocniny s přirozeným mocnitelem
Jednočleny a mnohočleny
Algoritmizace a datové struktury (14ASD)
MS Access Tabulka letní semestr 2013.
Lomené výrazy (2) Podmínky řešitelnost
Datové typy v jazyce C Datové typy void skalární aritmetické
Název projektu: Moderní výuka s využitím ICT
34.1 Obecná pravidla pro mocniny s přirozeným mocnitelem
Lomené algebraické výrazy
Rovnice s neznámou ve jmenovateli
Matematika + opakování a upevňování učiva
Početní výkony s celými čísly: dělení
20 MNOHOČLENY.
VY_32_INOVACE_Pel_I_08 Výrazy lomené – podmínky2
5 DRUHÁ ODMOCNINA.
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Transkript prezentace:

Algoritmizace a datové struktury (14ASD) 6. cvičení

Proměnná „úložiště“ informace (tedy vyhrazené místo v paměti). Proměnná nebo (v beztypových jazycích) její hodnota má typ. Mezi nejčastější typy patří: číslo celé číslo "reálné" číslo - číslo s pohyblivou řádovou čárkou znak řetězec (znaků) pole (pole polí je matice) struktura nebo objekt ukazatel - obvykle může ukazovat na kterýkoliv z ostatních typů nebo na funkci

Celočíselné datové typy - Java Název Rozsah Velikost byte <-128; +127> 1 byte short <-32 768; +32 767> 2 byte int <-2 147 438 648; + 2 147 438 647> 4 byte long <-9,223*1018 ; +9,223*1018> 8 byte

Reálné datové typy - Java Název Rozsah Velikost float 1.4E-45 až 3.4E+38 4 byte double 4.9E-324 až 1.7E+308 8 byte v praxi se při zadávání reálného čísla pro oddělení celé a desetinné části používá tečka, např. 15.3 my však reálná čísla budeme zapisovat dle naších zvyklostí

Název proměnné v názvu „nesmí“ být mezery (použijte raději podtržítko) nedoporučují se znaky s diakritikou název proměnné by měl mít vypovídací hodnotu, k čemu proměnná slouží u víceslovného názvu proměnné první písmeno každého dalšího slova velké (různé zvyklosti u různých programovacích jazyků) objemKruhu některé programovací jazyky nerozlišují velikost písma promA, Proma, PROMa apod.

Algoritmus výpočtu obvodu kruhu ne ano o = 2 * 3.14 * r ZAČÁTEK KONEC Tisk: Zadej poloměr Čti: r Tisk: Obvod je o Tisk: Chyba, poloměr je záporný

Blbovzdornost algoritmu je nutné kontrolovat vstupní hodnoty, nelze se spoléhat, že uživatel neudělá (i záměrně) chybu Co když uživatel při provádění předchozího algoritmu zadá místo čísla text?

Vysvětlení významu Ze vstupu (např. z klávesnice) se načte hodnota do proměnné pojmenované A. Do proměnné B se uloží výsledek součinu hodnoty proměnné A a čísla 2. Do proměnné C se uloží číslo 5. Pokud je hodnota v proměnné B číslo 10, podmínka platí a na výstup se vypíše: "Zadal jste číslo 5" Do proměnné C se uloží číslo 5+10.

Aritmetické výrazy + sčítání - odčítání * násobení / dělení % mod binární operátory + sčítání - odčítání * násobení / dělení % mod dělení modulo – zbytek po celočíselném dělení 5 % 3 = 2 3 % 5 = 3

Relační operátory = == rovná se > je větší < je menší >= je větší nebo rovno <= je menší nebo rovno <> != nerovná se

Algoritmus výměny hodnot dvou proměnných

Algoritmus výměny hodnot dvou proměnných

Algoritmus výměny hodnot dvou proměnných

Algoritmus výměny hodnot dvou proměnných – bez pomocné proměnné

NA POŘADÍ ZÁLEŽÍ!!!!!

Algoritmus pro vyhodnocení, zda zadané číslo je sude nebo liché

Cyklus s pevným počtem opakováni tělo cyklu se provede 3krát proměnná i bude nabývat postupně hodnot: 1, 2, 3

Cyklus s pevným počtem opakováni tělo cyklu se provede 7krát proměnná i bude nabývat postupně hodnot: 1, 0, -1, -2, -3, -4, -5

Cyklus s pevným počtem opakováni

Násobení dvou celých čísel (A Násobení dvou celých čísel (A*B) bez operace násobení – procesor neumí násobit A*B = A+A+………+A=0+A+A+………+A Bé-krát se přičte A

Nutno myslet „strojově“ stroj neumí provést celou operaci A+A+………+A najednou je nutné postupně přičítat hodnotu proměnné A číslo cyklu 1 2 3 4 5 6 7 ….. B 0+A +A ..…

Násobení dvou celých čísel (A Násobení dvou celých čísel (A*B) bez operace násobení – procesor neumí násobit

Násobení dvou celých čísel (A*B) bez operace násobení chyba: co když bude B=0? Cyklus se provede dvakrát (i=1, i=0) => V=0+A+A chyba: nefunguje pro B<0

Násobení dvou celých čísel (A*B) bez operace násobení, B>0 efektivnější algoritmus o 1 opakování chyba: co když bude B=1? Cyklus se provede dvakrát (i=1, i=0) => V=A+A+A

Násobení dvou celých čísel (A*B) bez operace násobení, B>1 efektivnější algoritmus o 1 opakování optimálnější by však bylo počítat 5*3, než 3*5 = úspora 2 opakování těla cyklu

Násobení dvou celých čísel (A*B) bez operace násobení, B>1, A>1 optimálnější by však bylo počítat 5*3, než 3*5 = úspora 2 opakování těla cyklu vyplatilo by se při 2*3?

Násobení dvou celých čísel (A Násobení dvou celých čísel (A*B) bez operace násobení, (pro libovolné A, B)

Algoritmus, který ověří, že ze zadaných 3 délek stran lze sestrojit trojúhelník. Nekontroluje se zápornost vložených čísel. Je to potřeba?

Booleova algebra I. logický součet OR, logický součin AND, negace NOT

Booleova algebra II. při vyhodnocování složené podmínky má přednost logický součin (AND), pořadí vyhodnocování lze ovlivnit pomocí závorek Vyhodnoťte následující 2 podmínky: P1: (a>1) AND (b>1) OR (c>1) P2: (a>1) AND ((b>1) OR (c>1)) a b c P1 P2 4 2 1 5

Booleova algebra III. Vyhodnoťte následující 2 podmínky: P1: (a>1) AND (b>1) OR (c>1) P2: (a>1) AND ((b>1) OR (c>1))

Booleova algebra IV. – mnemotechnická pomůcka PRAVDA => 1, NEPRAVDA => 0, AND => *, OR => + př.: pravda AND nepravda OR pravda AND pravda = 1 * 0 + 1 * 1 = 1, tedy výsledek je větší než 0 => výsledek podmínky je PRAVDA

Algoritmus, který ověří, že ze zadaných 3 délek stran lze sestrojit trojúhelník. je si však třeba uvědomit, že se vždy vyhodnotí všechny 3 podmínky, což nemusí být časově zanedbatelné.....