Zápis programu v jazyce C#



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

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

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Algoritmizace a programování

Struktura programu, proměnné, konstanty, výrazy v jazycích C a C#

Jazyk C# a platforma.net

Osnova přednášky. Programové prostředky řízení Úvod do C# II. Přístup ke členům. Členy (Members)

PŘETĚŽOVÁNÍ OPERÁTORŮ

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

URČITÝM ZPŮSOBEM PODOBNÉ

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

IUJCE 07/08 Přednáška č. 1

PREPROCESOR POKRAČOVÁNÍ

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

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

NPRG031 Programování II 1 / :47:55

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

Programovací jazyk Pascal

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

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

Úvod do programovacích jazyků (Java)

NPRG031 Programování II --- 2/2 Z, Zk

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

IAJCE Přednáška č. 7. řízení semaforu na křižovatce = přepínání červená/oranžová/zelená

Úvod do programování. Lekce 1

NMIN201 Objektově orientované programování 2016/17 1 / :03:29

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

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

Výrazy, operace, příkazy

ADT/ADS = abstraktní datové typy / struktury

Algoritmizace a programování

Programovací jazyk C++ Hodina 1

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

Datové typy strana 29

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

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

Objektově orientované programování

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

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/

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

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

Algoritmizace a programování

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

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

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

Opakování programování

Výrazy, operace, příkazy

7. Datové typy v Javě

IAJCE Přednáška č. 6. logický celek, řešící dílčí část problému Příklad velmi špatného zápisu programu na výpočet obsahu obdélníku

Generické programování

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje

Úvod do programovacích jazyků (Java)

Proměnné a datové typy

Data, výrazy, příkazy

Programování v jazyce JavaScript

Úvod do programování - Java. Cvičení č.4

Prezentace a vysvětlení programového prostředí NXC

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

Desetinná čísla. pro celá čísla jsme používali typ int. pro desetinná čísla používáme typ double

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

Algoritmizace a programování

Mnohotvarost (polymorfizmus)

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

Výčtový typ strana 67

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

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

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

6. Příkazy a řídící struktury v Javě

PROGRAMOVÁNÍ V C++ CVIČENÍ

KTE / ZPE Informační technologie

Ošetřování chyb v programech

Teoretické minimum z PJV

Algoritmizace a programování

První kapitola úvod do problematiky

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

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

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

Základní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí

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

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <->

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová

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

C# konzole Podíl dvou čísel, podmínka IF

Jazyk C# (seminář 6)

Základy programování (IZP)

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr

Seminář Java II p.1/43

Základy algoritmizace a programování

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

Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

Transkript:

Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač v reálných číslech o zápis ZK: tečka plat = 10.1325; o spuštěný program: čárka (na CZ Windows, EN tečka) Rozbor Hello Word metoda = cca totéž co v matematice funkce uhel = 30 ; x = sin(uhel) výstup hodnoty parametr funkce Volání funkce class Program Hlavní metoda OS spouští jako první Parametr metody System.Console.WriteLine("Můj první program!"); jmenný prostor: Základní funkčnost.net (I/O, matematika,...) Třída: základní konzolové I/O Metoda: Tisk na konzoli a odřádkování namespace jmenný prostor class třída 1

upravená varianta kódu výše using System; namespace MujJmennyProstor class Program Console.WriteLine("Můj první program!"); Klíčová slova (keywords) Proměnná = slova se speciální významem pro překladač jazyka nelze využít jinak (např. k pojmenování proměnných) abstract event new struct as explicit null switch base extern object this bool false operator throw break finally out true byte fixed override try case float params typeof catch for private uint char foreach protected ulong checked goto public unchecked class if readonly unsafe const implicit ref ushort continue in return using decimal int sbyte virtual default interface sealed volatile delegate internal short void do is sizeof while double lock stackalloc else long static enum namespace string get partial set value where yield (variable) = pojmenované místo v paměti pro uložení hodnoty (může se během práce programu měnit) 2

proměnné v programu: class Program identifikátor datový typ int a; int vysledek; a = 1; Inicializace proměnné deklarace proměnných vysledek = a; přiřazení Příkaz deklarace = zavedení proměnné inicializace proměnné = uložení (přiřazení) první hodnoty jméno proměnné = identifikátor proměnné v paměti počítače a vysledek Paměť 1 1 5 4 3 2 1 0 Datový typ C# = typový jazyk, každá proměnná musí být určitého datového typu. datový typ specifikuje: o množinu hodnot, jakých může nabývat o množinu operací, které lze z datovým typem provést aritmetické operace, např.: Zatím pouze: čísla: + */ atd texty: nelze násobit relační operace jak porovnávat atd. o int celá čísla 2 10 9 ; 2 10 9 o double reálná čísla 3,4 10 308 ; 3,4 10 308 (v absolutních hodnotách) o string text (řetězec) 3

Inicializace proměnné (variable initilization) hodnota (neinicializované) proměnné dle typu: int 0 double 0.0 string "" vždy předpokládáme: hodnota proměnné není po deklaraci definována; programátor definuje ručně: o příklad: teplota, požadovaná počáteční hodnota 0 double teplota; double teplota = 0.0; sice OK, ale... lepší Deklarace proměnné (variable declaration) syntaxe: DatovýTyp identifikátor<, další identifikátory>; příklady int mujplat; double stavuctu, i; deklarace proměnné mujplat typu int je to příkaz!!! deklaraci s inicializací int i = 0, Datum; double pi = 3.14592; Identifikátor lze kdekoli v programu C# C, Pascal jen na začátku double a, b, c; // nactu a zprac. Koef. //... double D; // vypoctu diskriminant //... double koren1, koren2; // vypoctu koreny atd. (identifier) = jakékoli uživatelsky vytvořené jméno v programu: o jména proměnných, konstant, metod, double a, b, c, D; double D; double koren1, koren2; // nactu a zprac. Koef. // vypoctu diskriminant // vypoctu koreny atd. 4

syntaxe: o Délka neomezena o Libovolná kombinace písmen (malá i velká case sensitive), číslic a podtržítek _ o První znak vždy písmeno nebo podtržítko case sensitivita odlišné identifikátory: MujPlat MUJPLAT Mujplat Pravidla pro identifikátory proměnných: o (= dohoda mezi programátory, ne syntaxe!!!) o Používat významové identifikátory (vyjadřují účel). složenina slov, první písmeno malé, další velké Př.: označení mého platu p muj_plat mujplat // špatně // lepší, zastaralé // nejlepší o Krátké identifikátory jen v ustálených, naprosto jasných významech, např.: počítadla v cyklech: i j k Pomocné řetězce s znaky c Výpočty v programech součet dvou celých čísel, uložení výsledku class Program int a; int b, vysledek; vysledek = a + b; přiřazení výraz proměnná, operand operátor 5

Přířazení = naplnění proměnné hodnotou (uložení hodnoty do proměnné) Syntaxe: Proměnná = výraz; 1) výpočet výrazu, výsledek = hodnota výrazu 2) hodnota výrazu proměnné Příklad: int x, y; y = 10; // výpočet výrazu, výsledek = 10 x = 10 + y; // x = 20 x = 30 * x 30; // x = 570 logická chyba: int x, y; x = 10 + y; // hodnota y? datové typy a přiřazení double x; int y; levá strana pravá: x = y; y = x; // OK // špatně není to rovnice!!! složené přiřazení o x = x + 4; lze nahradit x += 4; o pro operátory + - * / % << >> & ^ += -= *= /= %= <<= >>= &= ^= = Aritmetické operátory základní pojmy: výraz x + y x operand operand unární operátor operand binární operátor pozn.: ternární operátor na 3 operandy,c#:?: 6 podmíněný operátor

Binární sčítání + odčítání násobení * dělení / dělení modulo % více o dělení: o reálné dělení: alespoň jeden z operandů = reálné číslo (double) o celočíselné dělení: oba operandy = celé číslo (int) o dělení modulo = zbytek po celočíselném dělení o příklad: double d1 = 5, d2 = 2, d3; int c1 = 5, c2 = 2, c3; d3 = d1 / d2; // 2.5 d3 = c1 / d2; // 2.5, datový typ výrazu = double c3 = c1 / c2; // 2 c3 = c1 % c2; // 1 Unární unární + o příklad int i, j = 10 i = -j; // i = 10 Inkrementační operátor ++ int prom = 10, vysl; 1) prom do vysl, 2) prom+1 vysl = prom++; // vysl = 10 vysl = ++prom; // vysl = 11 1) prom+1, 2) prom do vysl o lze použít i samostatně int prom = 10; prom++; // přednostně; = náhrada prom = prom + 1; prom = 11 ++prom; // prom = 12 o Lze použít pouze na proměnné (a+b)++ nelze o ve složitějších výrazech int prom = 10, vysl; vysl = 3*prom++ + 10;// 3*prom+10; prom+1; vysl = 40; prom = 11 vysl = 3*++prom + 10;// prom+1; 3*prom+10; vysl = 46; prom = 12 7

Jednoduchý vstup/výstup (input, output) konzolové I/O: o I: klávesnice o O: textový výstup Základní obsluha přes třídu Console Výstup Console.Write(co) Console.WriteLine(co) vytiskne co tisk čehokoli, co je převeditelné na text vytiskne co a odřádkuje int prom = 10; Console.WriteLine(prom); Console.WriteLine(10 * prom + 3); Console.WriteLine("text"); Formátovaný tisk int p1 = 10; double p2 = -12.345; Console.WriteLine("p1 = 0, p2 = 1", p1, p2); Console.WriteLine("vypocet: 2 + 0 = 1", p1, p2, p1+p2); 8

Vstup Řetězce princip: metoda bez parametrů string text = Console.ReadLine(); vrací text na konzoli až do ENTER příklad: string text; Console.Write("Zadej text: "); text = Console.ReadLine(); Console.WriteLine("Zadal jsi 0", text); čísla princip: 1) načíst řetězec 2) převedení řetězce na číslo příklad celé číslo Console.Write("Zadej číslo: "); string text; text = Console.ReadLine(); int cislo; cislo = Int32.Parse(text); Parametr typu string Převede text na číslo typu int lepší provedení I int cislo; cislo = Int32.Parse(Console.ReadLine()); lepší provedení II deklarace s inicializací z klávesnice int cislo = Int32.Parse(Console.ReadLine()); double x = Double.Parse(Console.ReadLine()); 9

pokud se převod nepodaří vyhození výjimky řešení (později): 1) ošetřit výjimku 2) metoda Int32.TryParse() Příklad kompletního programu Napište program, který sečte dvě čísla a jejich součet vypíše na obrazovku Console.Write("Zadej prvni cislo: "); double cislo1 = Double.Parse(Console.ReadLine()); Console.Write("Zadej druhe cislo: "); double cislo2 = Double.Parse(Console.ReadLine()); // vypocet double soucet = cislo1 + cislo2; Console.WriteLine("Soucet = 0", soucet); Typový jazyk C# = typový jazyk datový typ proměnné nelze změnit Příklady I int i; i = 10; i = 0.325; i = "ahoj"; // OK // nelze // nelze Příklady II string s; s = "10"; s = 10; // OK // nelze 10