Úvod do programování. Lekce 1

Podobné dokumenty
Úvod do programování. Lekce 3

Algoritmizace a programování

Jazyk C++, některá rozšíření oproti C

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

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

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

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

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

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

Datové typy pro reálná čísla

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

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

Zápis programu v jazyce C#

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

Základy algoritmizace a programování

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

5 Přehled operátorů, příkazy, přetypování

Formátové specifikace formátovací řetězce

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

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

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

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

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

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

Algoritmizace a programování

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

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

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

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

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

Základy algoritmizace a programování

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

Úvod do programovacích jazyků (Java)

Programování v C++ 1, 1. cvičení

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

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

Programovací jazyk C++ Hodina 1

Programovací jazyk Pascal

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

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

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

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

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

Výrazy, operace, příkazy

Základy C++ I. Jan Hnilica Počítačové modelování 18

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

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

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Jazyk C# a platforma.net

Datové proudy objektový vstup a výstup v C++

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

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

Algoritmizace a programování

Proměnná a její uložení v paměti

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

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

VISUAL BASIC. Práce se soubory

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

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

Lekce 9 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

ALGORITMIZACE A PROGRAMOVÁNÍ

Objektově orientované programování

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

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

Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Prostory jmen. při vkládání několika hlavičkových souborů může vzniknout kolize. logika.h const int x=5; typedef struct {...

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

C++ objektově orientovaná nadstavba programovacího jazyka C

Sada 1 - Základy programování

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

Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory

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

Standardní vstup a výstup

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Vector datový kontejner v C++.

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

NPRG030 Programování I, 2010/11

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

Algoritmizace prostorových úloh

Data, výrazy, příkazy

Programování v jazyce JavaScript

Algoritmizace a programování

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Výrazy, operace, příkazy

Seminář z IVT Proměnné a operátory. Slovanské gymnázium Olomouc 11. září 2014 Tomáš Kühr

NPRG030 Programování I, 2016/17 1 / :58:13

Datové typy strana 29

Jak v Javě příkazy, operace a výrazy. BD6B36PJV 00 Fakulta elektrotechnická České vysoké učení technické

Seznámení s datovými typy a operátory

Algoritmizace a programování

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

Opakování programování

přetížení operátorů (o)

Přetěžování operátorů

X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka

Transkript:

Úvod do programování Lekce 1

Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) - překlad do objektového kódu s relativním adresováním linker - skládání objektových kódů do spustitelného souboru soubory zdrojové (source) *.cpp hlavičkové (header) *.h ASCII kód řídící znaky, např. znak konce řádku pomocné znaky, např. + číslice 0,1,2,... pomocné znaky, např. @ velká písmena A,B,C,... pomocné znaky, např. ] malá písmena a,b,c,... pomocné znaky, např. ~ identifikátory - názvy proměnných, funkcí, atd. rozlišují se malá/velká písmena identifikátory můžou obsahovat podtržítko doporučují se dostatečně dlouhá popisná jména komentáře blok /*... */ do konce řádku //... základní typy proměnných znakový char celočíselný int,long int (long) reálný float,double,long double konstanty znakové 'a' číselné '2' řetězcové "abcd4" speciální '\n' operátory binární +,-,*,/,% (zbytek po dělení),... unární ++ (inkrementace),--,... přiřazovací =,+=,-=,%=,=/,...

relační <,>,<=,>=,== (rovnost),!=(nerovnost),... logické && (logický součin), (logický součet),! (negace),... Vstup a výstup - standardní zařízení objekty zajišťující standardní vstup/výstup jsou definovány v hlavičkovém souboru iostream a jsou součástí standardní knihovny C++ a prostoru jmen (namespace) std formátovaný vstup a výstup objekty cin a cout definují vstupní a výstupní proud (stream) přetížený (overloaded) operátor - volá různé funkce podle typu a počtu operandů pro formátovaný vstup/výstup jsou přetíženy operátory bitových posuvů << >> manipulátory - objekty modifikující proud endl - pošle znak konce řádku '\n' a zavolá flush flush - zapíše obsah výstupního bufferu příklad: program přečte jeden znak za vstupu a opíše ho na výstup // kazdy program obsahuje funkci "main" // definice jedne promenne typu char // precte znak a ulozi ho do promenne "a" cout << a << endl; // opise znak z promenne "a" na vystup poznámky: každý příkaz končí středníkem samotný středník je přázdný příkaz (nedělá nic) složené závorky vytvářejí z posloupnosti příkazů jeden složený příkaz funkce "main" je volána jako první, může ale volat další funkce příklad: program přečte malé písmeno z klávesnice a konvertuje ho na velké písmeno int posun; posun = 'Z'-'z'; // vypocet "vzdalenosti" mezi velkym a malym // pismenem v ASCII kodu a += posun; // konverze na velke pismeno cout << a << endl;

poznámky: program využívá fakt, že rozdíl mezi ASCII kódem malého a velkého písmene je pro všechna písmena stejný aritmetické operace aplikované na znaky se provádějí s ASCII kódy (t.j. dochází k automatické konverzi mezi typy char a int. místo a+=posun lze také použít a=a+posun příklad: program přečte délky odvěsen a vytiskne délku přepony na pět desetinných míst. #include<cmath> double a,b,c; cout << "Zadej delku strany a: "; // opise retezec // ulozi prectene cislo do promenne "a" cout << "Zadej delku strany b: "; cin >> b; c = sqrt(a*a+b*b); //vypocet delky prepony cout << "Delka prepony je " << c << " metru." << endl; poznámka: matematické funkce, např. výše použitá druhá odmocnina sqrt(), jsou popsány v hlavičkovém souboru cmath příklad: program přečte znak a vypíše odpovídající ASCII kód int d; cout << "Zadej znak: "; d = a; // konverze cout << "Znak '" << a << "' ma ASCII kod " << d << "." << endl; stejný výsledek jinak: cout << "Zadej znak: "; cout << "ASCII kod: " << (int) a << endl; // pretypovani

příklad konverze double na int: program vytiskne zvlášť celou a desetinnou část reálného čísla double x,desetinna; int cela; cout << "Zadej cislo: "; cin >> x; cela = x; // implicitni konverze desetinna = x - cela; cout << "Cela cast: " << cela << endl; cout << "Desetinna cast: " << desetinna << endl; příklad: ověřit přesnost typů float a double, vypsat 1/3 s přesností na 20 desetinnych míst #include<iomanip> float x; double y,z; x = 1./3.; y = 1./3.; // stejna konstanta ale jiny typ z = 1/3; // pozor na celociselne deleni cout << fixed << setprecision(20); cout << "float:" << setw(30) << x << endl; cout << "double:" << setw(25) << y << endl; cout << "double:" << z << endl; poznámky: číselné konstanty neceločíselných typů je nutno psát s desetinnou tečkou výraz 1/3 představuje celočíselné dělení, předá se celá část výsledku dělení t.j. nula zbytek po dělení lze získat operátorem %, např. int zbytek; zbytek=7%4; v proměnné zbytek bude 3 - často se používá pro ověření dělitelnosti apod. další užitečné manipulátory jsou definovány v iomanip, jako např. výše použité nastavení celkové šířky setw() a počtu desetinných míst setprecision() neformátovaný vstup a výstup int cin.get() přečte jeden znak ze standardního vstupu vrací int t.j. pracuje i s hodnotami mimo rozsah ASCII cout.put(int) zapíše jeden znak na standardní výstup

příklad: opíše první tři zadané znaky cout << "Zadej 'a bc'" << endl; cout << a; cout << a; cout << a; cout << endl; cout << "Znovu zadej 'a bc'" << endl; cin.get(); // odstrani predchozi ENTER a = cin.get(); cout.put(a); a = cin.get(); cout.put(a); a = cin.get(); cout.put(a); cout.put('\n'); poznámky: operátor >> ignoruje bílé znaky, např. tabulátor, mezera tj. po zadání 'ab c' je nejprve vypsáno 'abc' pak 'a b', zkuste také tabulátor místo mezery cin.get() čte speciální znaky, včetně např. '\n'