Základy algoritmizace a programování



Podobné dokumenty
Základy algoritmizace a programování

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

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

Úvod do programování. Lekce 1

Algoritmizace a programování

Lekce 01 Úvod do algoritmizace

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

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

Operátory. Základy programování 1 Tomáš Kühr

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

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

Racionální čísla, operátory, výrazy, knihovní funkce

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

Algoritmy a algoritmizace

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

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

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

Racionální čísla, operátory, výrazy, knihovní funkce

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Výukový materiál zpracován v rámci projektu EU peníze školám

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

Učební plán 4. letého studia předmětu matematiky. Učební plán 6. letého studia předmětu matematiky

Matematická indukce, sumy a produkty, matematická logika

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Algoritmizace prostorových úloh

Algoritmizace a programování

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I

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

Algoritmizace. 1. Úvod. Algoritmus

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

Sada 1 - Základy programování

Algoritmizace prostorových úloh

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

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

Funkce, intuitivní chápání složitosti

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

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

MATURITNÍ TÉMATA Z MATEMATIKY

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

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

ZŠ ÚnO, Bratří Čapků 1332

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

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

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

Základy algoritmizace

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

Algoritmizace a programování

Základy algoritmizace a programování

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

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

ALGORITMIZACE A PROGRAMOVÁNÍ

1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7

I. ZÁVĚREČNÁ ZPRÁVA PROJEKTU

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

Úvod do programování. Lekce 3

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Zápis programu v jazyce C#

Poslední nenulová číslice faktoriálu

Základy algoritmizace a programování. 1. a 8.října 2018

GEODETICKÉ VÝPOČTY I.

Matematika I (KMI/PMATE)

Algoritmizace. Cíle předmětu

Anotace: Digitální učební materiály slouží k zopakování a k testování získaných znalostí a dovedností.

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

M - Výroková logika VARIACE

Disjunktivní a konjunktivní lní tvar formule. 2.přednáška

Rozklad na součin vytýkáním

Autoevaluační karta. Škola: Obchodní akademie Pelhřimov, Jirsíkova 875. obchodní akademie. ekonomika, účetnictví, daně. Školní rok: Jméno:

Objektově orientované programování

TEMATICKÝ PLÁN. září říjen

Základy jazyka C. Základy programování 1 Tomáš Kühr

Algoritmizace prostorových úloh

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

Programovací jazyk Pascal

Algoritmy a datové struktury

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

CHARAKTERISTIKA. VZDĚLÁVACÍ OBLAST VYUČOVACÍ PŘEDMĚT ZODPOVÍDÁ VOLITELNÉ PŘEDMĚTY Seminář z matematiky Mgr. Dana Rauchová

Martin Hejtmánek hejtmmar

Maturitní témata profilová část

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

MATEMATIKA 5. TŘÍDA. C) Tabulky, grafy, diagramy 1 - Tabulky, doplnění řady čísel podle závislosti 2 - Grafy, jízní řády 3 - Magické čtverce

Základy jazyka C. Úvod do programování 1 Tomáš Kühr

Matematika - 6. ročník Vzdělávací obsah

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

2 Datové typy v jazyce C

12. Booleova algebra, logická funkce určitá a neurčitá, realizace logických funkcí, binární kódy pro algebraické operace.

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

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

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

0. ÚVOD - matematické symboly, značení,

Matematika pro informatiky KMA/MATA

NPRG030 Programování I, 2018/19 1 / :25:37

Booleovská algebra. Pravdivostní tabulka. Karnaughova mapa. Booleovské n-krychle. Základní zákony. Unární a binární funkce. Podmínky.

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

Matematika. Vlastnosti početních operací s přirozenými čísly. Sčítání a odčítání dvojciferných čísel do 1 000, zpaměti i písemně.

Testování prvočíselnosti

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

Bakalářská matematika I

Matematika (KMI/PMATE)

Transkript:

Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 21. září 2009

Obsah Úvodní informace 1 Úvodní informace 2 3 4

Organizace předmětu Přednášky 1. 5. Základní konstrukce C 6. 8. Numerické algoritmy 9. 12. Některé konstrukce MATLABu Cvičení Navazují na přednášky.

Klasifikovaný zápočet Podmínky udělení zápočtu: hodnocení E : První test hodnocení D,C : + Druhý test hodnocení B,A : + Semestrální práce

Klasifikovaný zápočet Podmínky udělení zápočtu: hodnocení E : První test hodnocení D,C : + Druhý test hodnocení B,A : + Semestrální práce

Klasifikovaný zápočet Podmínky udělení zápočtu: hodnocení E : První test hodnocení D,C : + Druhý test hodnocení B,A : + Semestrální práce

Doporučená literatura web: http://marian.fsik.cvut.cz/ zapg Resumé přednášek, informace k předmětu, aktuální informace... Herout, P.:Učebnice jazyka C Kernighan, B.W., Ritchie, D.M. Programovací jazyk C

Cíle předmětu být schopen číst a psát jednoduché programy v C rozumět základním konstrukcím jayzka C a umět je použít být schopen použít MATLAB pro řešení jednoduchých úloh

Algoritmus Úvodní informace Tvoříme-li program, musíme nejprve sami znát podrobný postup neboli algoritmus řešení úlohy. Algoritmus chápeme jako přesný popis výpočtového procesu, který vede od měnitelných výchozích údajů k požadovanému výsledku. Algoritmus má formu posloupnosti jednoduchých pravidel - elementárních kroků (operací). Kroky algoritmu musí být tak podrobné, aby byly srozumitelné tomu, kdo má podle algoritmu postupovat.

Algoritmizace a programování Program pro počítač musí splňovat všechny znaky algoritmu. K zápisu programu se používá programovací jazyk. Přípravu programu obvykle dělíme na dvě etapy: Algoritmizace V průběhu analýzy úlohy nebo po jejím ukončení sestavíme algoritmus řešení, který můžeme znázornit např. graficky, např. ve formě vývojového diagramu. Programování Podle zápisu algoritmu sestavíme program v programovacím jazyku.

Algoritmizace Při algoritmizaci pro počítač členíme postup řešení úlohy na tak podrobné kroky (operace), aby šly jednoduše vyjádřit programovacím jazykem. Při řešení numerických úloh jde o operace: výpočet hodnoty aritmetického výrazu, kde se smí vyskytovat operace sčítání, odčítání, násobení, dělení a výpočty hodnot elementárních funkcí (sin x, log x, x n, a x ) srovnání dvou hodnot podle velikosti, tj. rozhodnutí o pravdivosti relací rovno, nerovno, větší, menší určení pravdivostní hodnoty logického výrazu, k jehož sestavení bylo užito logických spojek konjunkce, disjunkce, negace přiřazení hodnoty proměnné

Proměnné a konstanty Konstanty: hodnoty, které se v průběhu výpočtu nemění. Např. čísla... 1, 1.2, 2.718281828 nebo pojmenované konstanty (π) Proměnné:pamět ová místa, označená jménem proměnné (identifikátorem) jednoduché: kam se vejde jedna hodnota. v: složené: kam se vejde několik hodnot. p:

Příklad algoritmizace Úloha: Určit, zda přirozené číslo N je prvočíslo. Vstupní data: číslo N. Výstupní data (výsledek): ANO nebo NE. Musíme vědět, že přirozené číslo je prvočíslo když má právě 2 dělitele: jedničku a samo sebe. Také víme, že číslo a je dělitelné číslem b, když zbytek po dělení je nula.

Analyzujeme úlohu 1. přečteme N 2. zjistíme zbytek po po dělení čísla N číslem 2 3. když je zbytek 0, máme výsledek: NE, končíme v opačném případě pokračujeme 4. zjistíme zbytek po po dělení čísla N číslem 3 5. když je zbytek 0, máme výsledek: NE, končíme v opačném případě pokračujeme... zjistíme zbytek po dělení čísla N číslem K když je zbytek 0, máme výsledek: NE, končíme v opačném případě pokračujeme... jak dlouho?

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Algoritmus (není dokonalý! PROČ?) 1. Přečteme N. Přejdeme ke kroku 2. 2. Když N je rovno 2 přejdeme ke kroku 8, v opačném případě přejdeme ke kroku 3. 3. Když zbytek po dělení čísla N číslem 2 je 0 v opačném případě přejdeme ke kroku 4. 4. Proměnné K přiřadíme 3. Přejdeme ke kroku 5. 5. Když zbytek po dělení čísla N číslem K je 0 v opačném případě přejdeme ke kroku 6. 6. Hodnotu K zvětšíme o 2. Přejdeme ke kroku 7. 7. Když je pravdivé : K K < N přejdeme ke kroku 5, v opačném případě přejdeme ke kroku 8. 8. Tiskneme ANO. Přejdeme ke kroku 10. 9. Tiskneme NE. Přejdeme ke kroku 10. 10. KONEC

Testování algoritmu Zvolíme si číslo N =... a budeme postupovat podle uvedeného algoritmu. Jaká N jsou vhodná? Najdeme nedokonalosti?

algoritmus myšlenka editor překladač linker OS gramatika funkce

algoritmus myšlenka editor překladač linker OS gramatika funkce

algoritmus myšlenka editor překladač linker OS gramatika funkce

algoritmus myšlenka editor překladač linker OS gramatika funkce

algoritmus myšlenka editor překladač linker OS gramatika funkce

algoritmus myšlenka editor překladač linker OS gramatika funkce

algoritmus myšlenka editor překladač linker OS gramatika funkce

algoritmus myšlenka editor překladač linker OS gramatika funkce

Úvodní informace Zápis programu: prostý textový soubor (ASCII) mezery, tabulátory,... překladač ignoruje mezery a tabulátory slouží ke zvýšení čitelnosti nešetřit mezerami! příkazy se ukončují středníkem IDENTIFIKÁTORY (jména) : pouze aa..zz, _, číslice 0..9 nesmí začínat číslicí rozlišují se velká a malá písmena!!! (id, Id, ID jsou 3 různé identifikátory) všechna klíčová slova a názvy funkcí ze standardní knihovny jsou malými písmeny

Nejjednodušší program main() {} o trochu větší: int main() { return 0 ;}

Program, který umí psát #include<stdio.h> main() { printf("hello world!"); }

Proměnné a zápis výrazů Proměnné musíme deklarovat: int a, b; float c; Aritmetické výrazy: sčítání + odčítání - násobení dělení / zbytek po dělení % umocňování... NENÍ! ZLKY! POZOR: celočíselné nebo reálné POZOR: pouze pro celočíselné a/b*c nebo a/(b*c)! a=5*3-12%4; b = 1/3*3; c=1/3*3;

Přiřazení Úvodní informace PRĚNNÁ = VÝRAZ ; int a, b, c; a = 5; b = 2; c = 3; a = a + b ; b = a - b ; a = a - b ; c = c + 1; a = c ; a = b ; c = a ; b = c ; c = a ;

Program, který umí také číst # include<stdio.h> main() { int a; float x; printf("zadejte celé číslo!"); scanf("%d",&a); printf("zadejte reálné číslo!"); scanf("%f",&x); printf("zadali jste %d a %f", a, f); printf("zadejte 1 celé a 1 reálné číslo!"); scanf("%d%f",&a,&x); printf("zadali jste %d a %5.3f", a, f); }

Použtí matematických funkcí ve výrazech MATEMATICKÁ KNIHOVNA: #include<math.h> mocnina: odmocnina: goniometrické: inverzní: logaritmy: pow(co, na_ kolikátou); sqrt(x); sin(x); cos(x); tan(x); asin(x); acos(x); atan(x); log(x); log10(x);

Prográmek pro výpočet obsahů a obvodů # include<stdio.h> # include<math.h> main() { float a,b,o_c,s, o; printf("zadejte stranu ctverce"); scanf("%f",&a); o_c = 4 a; S=pow(a,2); printf("ctverec:o=%5.3f, S=%6.4f",o_c,S); printf("zadejte strany obdelnika"); scanf("%f%f",&a,&b); o = (a+b) 2 ; printf("obdelnik o=%6.4f,s=%5.3f" o,a b); }

Dále... Úvodní informace Na příští přednášce: Logické výrazy Větvení (příkazy if - else, switch) Cykly