ALGORITMIZACE A DATOV STRUKTURY 14 ASD 2 cvien

  • Slides: 18
Download presentation
ALGORITMIZACE A DATOVÉ STRUKTURY (14 ASD) 2. cvičení

ALGORITMIZACE A DATOVÉ STRUKTURY (14 ASD) 2. cvičení

Algoritmus pro výpočet kořenu lineární rovnice Lineární rovnice ve tvaru: ax + b =

Algoritmus pro výpočet kořenu lineární rovnice Lineární rovnice ve tvaru: ax + b = c

Algoritmus ze vstupu načte 3 čísla a určí, které číslo je největší, a to

Algoritmus ze vstupu načte 3 čísla a určí, které číslo je největší, a to vypíše. • pozn. pokud jsou zadána 3 stejná čísla, je jedno, hodnota které proměnné se vypíše

Algoritmus, který ověří, že ze zadaných 3 délek stran lze sestrojit trojúhelník.

Algoritmus, který ověří, že ze zadaných 3 délek stran lze sestrojit trojúhelník.

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

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í

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: • P 1: (a>1) AND (b>1) OR (c>1) a b c P 1 P 2 • P 2: (a>1) AND ((b>1) OR (c>1)) 4 4 2 1 0 0 2 4 0 5 0 0 0

Booleova algebra IV. – mnemotechnická pomůcka • PRAVDA => 1, NEPRAVDA => 0, AND

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

Booleova algebra V. • De Morganovy zákony: NOT( x AND y ) = NOT

Booleova algebra V. • De Morganovy zákony: NOT( x AND y ) = NOT x OR NOT y NOT ( x OR y ) = NOT x AND NOT y

Booleova algebra v PS Diagramu AND => && • A and B => A

Booleova algebra v PS Diagramu AND => && • A and B => A && B OR => || • A or B => A || B NOT => ! • NOT (A and B) => !(A && B)

Vytvořte algoritmus, který vypíše ciferný součet zadaného celého čísla • např. pro číslo 5426

Vytvořte algoritmus, který vypíše ciferný součet zadaného celého čísla • např. pro číslo 5426 bude výsledek 17 (5+4+2+6) • můžete použít pouze základní aritmetické operace +, -, *, /, % a funkci abs() pro výpočet absolutní hodnoty =

Absolutní hodnota v PS Diagramu • Math. abs()

Absolutní hodnota v PS Diagramu • Math. abs()

Vytvořte algoritmus, který vypíše posloupnost hodnot od 1 až do zadaného čísla

Vytvořte algoritmus, který vypíše posloupnost hodnot od 1 až do zadaného čísla

Vytvořte algoritmus, který vypočítá n-tou mocninu čísla X (Xn) • můžete použít pouze základní

Vytvořte algoritmus, který vypočítá n-tou mocninu čísla X (Xn) • můžete použít pouze základní aritmetické operace +, -, *, /, % a funkci abs() pro výpočet absolutní hodnoty Xn = X*X*X*…. . *X (n-krát násobení X pro n>0) Xn = 1(pro n=0)

Vytvořte algoritmus, který bude počítat faktoriál ze zadaného celého čísla R >= 0 R!=R*(R-1)!

Vytvořte algoritmus, který bude počítat faktoriál ze zadaného celého čísla R >= 0 R!=R*(R-1)! R!=R*(R-1)*…. *2*1 R!=1*2*…. *(R-1)*R 0!=1 Na vstupu ošetřete, zda uživatel zadal nezáporné R. Pokud zadal záporné R, znovu čtěte R tak dlouho, dokud není zadáno číslo správně, tedy >=0.

Vytvořte algoritmus, který bude ze vstupu načítat čísla <> 0 (0 znamená konec načítání)

Vytvořte algoritmus, který bude ze vstupu načítat čísla <> 0 (0 znamená konec načítání) a spočítá z nich harmonický průměr vzorec pro harmonický průměr

Násobení dvou celých čísel (A*B; A>0; B>0) bez operace násobení a dělení – procesor

Násobení dvou celých čísel (A*B; A>0; B>0) bez operace násobení a dělení – procesor neumí násobit a dělit 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é

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 . . … +A

NÁSOBENÍ DVOU CELÝCH ČÍSEL (A*B) BEZ OPERACE * A /, (PRO LIBOVOLNÁ CELÁ ČÍSLA)

NÁSOBENÍ DVOU CELÝCH ČÍSEL (A*B) BEZ OPERACE * A /, (PRO LIBOVOLNÁ CELÁ ČÍSLA) Samostatná práce mimo cvičení