Programovací jazyk programovací jazyk Pascal Delphi

Slides:



Advertisements
Similar presentations
Ma.
Advertisements

Naredba If..Then..Else... Procedure TForm1.Button1Click ( SEnder: Tobject ); Var x, y, Max : Integer; Begin x := StrToInt ( Edit1.Text ); y := StrToInt.
Click on each of us to hear our sounds.
MA. ME MI MO MU MÁ MÉ MÍ MÓ MŮ LA LE LI.
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
INTRANSNET Contract No. G7RT-CT
Požiadavky na hardvér a možnosti použitia jednotlivých OS Windows
Example Bullet Point Slide
Fyzika a chemie společně CZ/FMP/17B/0456
Bakalárska práca Webová výuka programovania v C++ pomocou jednotkového testovania Školiteľ: František Gyárfáš Viliam Vakerman.
VOĽNE DOSTUPNÝ REFERENČNÝ MANAŽÉR
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Zmluva o poskytnutí grantu
Prečo šimpanzy nevedia rozprávať?
MuZIKÁL Andrea Ratkošová 2.A.
Zálohovanie a archivácia
Operačné systémy Čo robí operačný systém ?
Obsluha výnimiek.
Java Collections Framework
Domény a DNS.
RIZIKÁ PRI REALIZOVANÍ PROJEKTU
Vývoj a druhy počítačov
Prednáška 5. PACS SYSTÉMY
Úvod do jazyka C Algoritmizácia úloh 4.
DATABÁZOVÉ JAZYKY.
Bezpečnosť JAVA technológií
GUI Swing postupná tvorba aplikácie s dizajnom základné komponenty
Databázový systém pre malý a veľký podnik
Yulia Šurinová "There is always a better way; it should be found."
Makrá v PowerPointe Joshua Lajčiak.
Communicating over the Network
Barbora Ondíková VII.D 2014/2015
Schémy financovania v 7RP
PHP Jemný úvod do PHP Mgr. Ján Guniš, KUI, 2003
1. Úvod do operačného systému UNIX
Človek vo sfére peňazí ročník.
Protokoly HTTP a FTP.
Mgr. Valentína Gunišová
Princípy počítačov 1 LS 2002/2003
Využitie IKT na hodinách anglického jazyka
Výučba cudzích jazykov
Informatika, I. ročník Gymnázium, Park mládeže 5, Košice
Vlastnosti kvantitatívnych dát
Ing. Róbert Chovanculiak, Ph.D. INESS
Šifrovanie Dešifrovanie
Ako manažovať smartfóny z cloudu TechDays East 2014
SPŠ elektrotechnická Košice Stredoškolská odborná činnosť
CSS - Cascading Style Sheets
Dvojrozmerné polia Kód ITMS projektu:
Lokálne príznaky vo farebných obrazoch
22. – OTVORENÝ PRÍSTUP
PRACOVNÉ PROSTREDIE PRI PRÁCI S POČÍTAČMI Z HĽADISKA ERGONÓMIE
Dynamické webové stránky
Vývoj softvéru na NEzelenej lúke
Heuristické optimalizačné procesy
Heuristické optimalizačné procesy
Zásady hygieny pri stolovaní
REACH 2018 Nájdite svojich spoluregistrujúcich a pripravte sa na spoločnú registráciu.
Ing. Anita Sáreníková/ Cvičenia z aplikovanej informatiky
komercia vs. dokonalosť
Polymorfizmus.
4. Užívateľské prostredie UNIXu
Veľkosť trhu agentúrnych zamestnancov
Seminár č. 9 - osnova Metódy sieťového plánovania a riadenia:
Základné tematické okruhy
Ponúkame: poradenstvo technickú podporu - help desk školenia
Interaktívna kniha a e-learningový systém pre deti - Opera nehryzie
D Novinky v DSpace 6 Ivan Masár 6.
Využitie biomasy v environmentálnych biotechnológiách
Redline Unibis™ Úspora až do 50% priestoru v rozvádzačoch
Presentation transcript:

Programovací jazyk programovací jazyk Pascal Delphi udalosťami riadené programovanie

Programovací jazyk algoritmický jazyk – umožňuje zápis postupnosti vykonávania príkazov programovací jazyk – formalizuje algoritmický jazyk do zápisu, ktorý dokáže spracovať prekladač a na základe neho realizovať príkazy prostredníctvom nemysliaceho zariadenia (obvykle počítača) programovanie – analógia algoritmizácie, no navyše so zápisom v príslušnom programovacom jazyku

Vývoj programovacích jazykov 40-te roky 20. storočia - programovanie v strojovom jazyku počítača 50-te roky 20. storočia - programovanie v jazyku symbolických adries 1956 - programovací jazyk fortran (FORmula TRANslation) 1958 - programovací jazyk algol (ALGOrithmic Language) 1961 - programovací jazyk basic (Beginners All-Purpose Symbolic Instruction Code) okolo 1970 - programovací jazyk pascal (systematické, štruktúrované programovanie) okolo 1980 - programovací jazyk C (+ prechod k objektovo orientovanému programovaniu) 90-te roky 20. storočia - vývoj komplexnejších verzií jazykov s cieľom využitia nových možností predovšetkým osobných počítačov (grafika, zvuk, multimédiá) - programovanie riadené udalosťami (Visual Basic) súčasnosť – programovacie jazyky nezávislé na platforme (Java, skriptovacie jazyky – PHP, ASP programovacie jazyky pre tvorbu aplikácií), .NET platforma

Kompilátor a interpreter programovanie pozostáva z: napísania zdrojového kódu vykonania zadaných príkazov: počítač môže pristupovať k vykonávaniu kódu dvoma spôsobmi: zdrojový kód preloží do strojových inštrukcií (exe súbor) – prekladaču hovoríme kompilátor, procesu prekladania kompilácia, chyby v kóde musia byť odstránené pred spustením C, Pascal zdrojový kód sa vykonáva „za behu“ programu, procesoru ho prekladá interpreter príkaz po príkaze skupina základných syntaktických chýb je odhalená na začiatku, časť až počas behu programu Basic, Java

Programovací jazyk Pascal jazyk vhodný na výučbu autor: Niklaus Wirth (nar. 1934) profesor informatiky na zurišskej univerzite, vedúci návrhár pri tvorbe jazykov Algol W, Pascal, Modula, Modula-2, Oberon prvá verzia 1971 úprava 1974 ISO norma 1981 najväčší rozmach – verzia od fy Borland momentálne sa používa na SŠ jazyk Object Pascal = základ pre Delphi (tiež Borland)

Tvar programu v pascale všeobecný tvar: Program meno; deklarácie a definície objektov; Begin {začiatok hlavného programu} vlastný program - algoritmus prepísaný do programovacieho jazyka End. {koniec hlavného programu} príkazy sú oddelené bodkočiarkou

Základné algoritmické konštrukcie sekvencia: begin prikaz1; prikaz2; ... prikazn; end; vetvenie: if podmienka then p1 else p2 if podmienka then begin p11; p12; p1m end else begin p21; p22; p2n;

Základné algoritmické konštrukcie II. neúplné vetvenie: if podmienka then p1 alebo if podmienka then begin p11; p12; ... p1m end;

Základné algoritmické konštrukcie III. cyklus: s pevným počtom opakovaní od menšieho k väčšiemu for i:=zac to kon do prikaz; for i:=zac to kon do begin prikaz1; ... prikazn; end; s pevným počtom opakovaní od väčšieho k menšiemu for i:=kon downto zac do begin

Základné algoritmické konštrukcie IV. cyklus: s podmienkou na začiatku while podmienka do prikaz; while podmienka do begin prikaz1; prikaz2; ... prikazn; end;

Základné algoritmické konštrukcie V. cyklus: s podmienkou na konci repeat prikaz; until podmienka; // pokiaľ nebude splnená podmienka prikaz1; prikaz2; ... prikazn;

Problém prepis inštrukcií je známy, zatiaľ však chýbajú prostriedky umožňujúce vstup a výstup údajov v pascale používame príkazy read (readln) a write (writeln) nebudeme však pracovať s pascalom v čistej forme, ale budeme sa orientovať do prostredia Delphi kde je všetko na prvý pohľad úplne inak

Udalosťami riadené programovanie Delphi = RAD (Rapid Application Development – rýchly vývoj aplikácií) program pozostáva z komponentov elementárne prvky, ktorých spájaním sa vytvára aplikácia majú svoje vlastnosti (farba, zobrazovaný text, poloha) dokážu reagovať na udalosti (kliknutie myši, stlačenia tlačidla) beh aplikácie je riadený udalosťami neprogramujeme postupnosť operácií od spustenia programu po jeho ukončenie (o to sa stará systém), ale každú udalosť zvlášť – napr. to, čo sa má odohrať po kliknutí na tlačidlo, pri posune myšou ponad komponent a pod.

aplikácia pozostáva z formulárov, na ktoré sa umiestňujú komponenty Program v Delphi aplikácia pozostáva z formulárov, na ktoré sa umiestňujú komponenty základná stavebná jednotka = formulár fyzicky pozostáva z dvoch súborov pas – zdrojový kód písaný programátorom (unit) dfm – popis vlastností komponentov umiestnených na formulári systém formulárov je riadený špeciálnym súborom označovaným ako Project obsahujúcim: zoznam formulárov štartovací kód aplikácie koncovka dpr

Prostredie Delphi

Delphi project zobrazenie prostredníctvom Project – View source

Formulár v Delphi po spustení Delphi zobrazený automaticky spolu s kódom (prepínanie cez F12) v prípade zatvorenia výber zo zoznamu

bez napísania jediného riadku kódu máme k dispozícii aplikáciu Aplikácia v Delphi bez napísania jediného riadku kódu máme k dispozícii aplikáciu spúšťanie F9 (Run-Run) výsledok je nám k ničomu => úprava aplikácie na svoj obraz vlastnosti formulára prostredníctvom Object inspectora Caption Color NIČ MOC

k dispozícii na paneli komponentov Komponenty k dispozícii na paneli komponentov pre začiatok zaujímavý Button vloženie do formulára dvojklikom alebo klikom na komponent a na jeho miesto uloženia umožňuje naprogramovať činnosť, ktorá sa má odohrať po kliknutí naň dvojklik automaticky vytvorí v kóde miesto pre zadanie kódu = udalostná procedúra

Udalosť onClick pre Button názov udalosti špecifikuje o akú udalosť ide

Prvý program vložením príkazu Close sa postaráme o to, aby tlačidlo formulár po kliknutí uzavrelo.

Zmena farby formulára Napíšte program, ktorý prostredníctvom tlačidiel bude meniť farbu formulára na modrú, zelenú a červenú. tlačidlá vkladajte vždy znova – nekopírujte ich kopírovaním sa skopíruje aj odkaz na udalosť, ktorá sa má pri kliknutí odohrať prepíšte vlastnosť Caption tlačidla pre každé tlačidlo „naprogramujte“ zmenu vlastnosti formulára, napr.: Form1.Color := clBlue Form1 hovorí, že ide o formulár Color, že budeme meniť farbu – vlastnosť je od objektu (komponentu) oddelená bodkou := - príkaz priradenia, „Nastav!“ clRed – konštanta definovaná v systéme pre farby, predpona cl popisuje., že ide o farbu, Red definuje samotnú farbu.

Uloženie aplikácie program v Delphi pozostáva z viacerých súborov vhodné pre každú aplikáciu vytvoriť osobitný adresár: dpr – Delphi project - súbor projektu – jeho názov je zároveň názvom aplikácie i programu. Nesmie obsahovať medzery a diakritiku. pas – zdrojový kód unitu napísaný používateľom, pre každý formulár osobitný, dfm – zloženie (vzhľad a zoznam komponentov) formulára pridružené k zdrojovému kódu s rovnakým názvom (vytvára sa automaticky pri ukladaní zdrojového kódu). označená ikona uloží všetky neuložené súbory

Vstup a výstup vstup sa najčastejšie realizuje prostredníctvom komponentu Edit, do ktorého možno vkladať jeden riadok textu zapísaný text je uložený vo vlastnosti Text výstup môže byť realizovaný napr. pomocou komponentu Label. zobrazovaný text je vo vlastnosti Caption

Prvá „skutočná“ aplikácia Napíšte aplikáciu, ktorá vás na základe mena zadaného do Editu pozdraví prostredníctvom Labelu. riešenie možno vykonať napr. po kliknutí na tlačidlo vzhľad: texty sú v labeloch label pre pozdrav má nastavený väčší font prostredníctvom vlastnosti Font obsah Editu je vymazaný tak, že v jeho vlastnosti Text je vymazaný pôvodný text – Edit1

udalosť pre kliknutie na tlačidlo Kód pre pozdrav udalosť pre kliknutie na tlačidlo procedure TForm1.Button1Click(Sender: TObject); begin Label2.Caption:='Ahoj '+Edit1.Text; end; treba nastaviť text pre správny Label meno z Editu1 sa pridá k textu „Ahoj“ text, ktorý sa má zobraziť rovnako ako v kóde sa uvádza v apostrofoch text pridávame operáciou „+“

v zložitejších úlohách potreba používania premenných Údajové typy v zložitejších úlohách potreba používania premenných každá premenná musí byť deklarovaná – uvedené jej meno a typ typ premennej obsahujúcej text používa kľúčové slovo string deklarácia prebieha za hlavičkou udalostnej procedúry pred kľúčovým slovom begin.

Príklad Pomocou premennej vytvorte program, ktorý z dvoch editov prečíta meno a priezvisko a pozdraví rovnako ako v predošlom príklade.

udalosť pre kliknutie na tlačidlo: Deklarácia a kód udalosť pre kliknutie na tlačidlo: procedure TForm1.Button1Click(Sender: TObject); var celemeno:string; begin celemeno:='Ahoj '+Edit1.Text+' '+Edit2.Text; Label3.Caption:=celemeno; end;

Vypočítajte obsah a obvod obdĺžnika. Objemy a obsahy Vypočítajte obsah a obvod obdĺžnika. na matematické operácie s premennou typu string nevystačíme pre celočíselné operácie sa využíva premenná typu integer (-2147483648..2147483647) v starších verziách (-32768..32767) umožňuje pracovať len s celými číslami obsah Editu je typu string => potreba konverzie z textu na číslo: StrToInt opačne – z čísla na text (kvôli výpisom): IntToStr

Kód procedure TForm1.Button1Click(Sender: TObject); var a,b,obvod,obsah:integer; begin a:=StrToInt(Edit1.text); b:=StrToInt(Edit2.text); obvod:=2*(a+b); obsah:=a*b; Label3.Caption:=StrToInt(obvod); Label4.Caption:=StrToInt(obsah); end;

Jednoduchá kalkulačka Vytvorte aplikáciu, ktorá dokáže realizovať základné matematické operácie (súčet, súčin, rozdiel) s dvoma celými číslami. riešenie je analógiou s predchádzajúcim, na každú operáciu možno použiť osobitné tlačidlo

Delenie nulou - podmienka Pridajte do aplikácie delenie – ošetrite výpočet pre delenie nulou procedure TForm1.Button1Click(Sender: TObject); var a,b,vysledok:integer; begin a:=StrToInt(Edit1.text); b:=StrToInt(Edit2.text); if b=0 then begin ShowMessage('Nulou nedelime!') // okno so správou end else begin vysledok:=a div b; Label3.Caption:=StrToInt(vysledok); end;

Typ real program dokáže realizovať len celočíselné delenie v prípade použitia znaku „/“ sa program odmietne skompilovať na prácu s desatinnými číslami je potrebné zaviesť typ real procedure TForm1.Button1Click(Sender: TObject); var a,b:integer; vysledok:real; begin a:=StrToInt(Edit1.text); b:=StrToInt(Edit2.text); if b=0 then begin ShowMessage('Nulou nedelime!') end else begin vysledok:=a/b; Label3.Caption:=FloatToStr(vysledok); end;

Podmienka - absolútna hodnota čísla Zistite absolútnu hodnotu reálneho čísla pomocou podmienky. procedure TForm1.Button1Click(Sender: TObject); var a,abs:integer; begin a:=StrToInt(Edit1.text); if a>0 then abs:=a else abs:=-a; Label3.Caption:=IntToStr(abs); end;

Faktoriál – cyklus so známym počtom opakovaní Zistite faktoriál pre zadané číslo. procedure TForm1.Button1Click(Sender: TObject); var n,i,fakt:integer; begin n:=StrToInt(Edit1.text); fakt:=1; for i:=1 to n do fakt:=fakt*i; Label3.Caption:=IntToStr(fakt); end;

Cyklus while Nájdite najväčší spoločný deliteľ dvoch čísel pomocou euklidovho algoritmu. procedure TForm1.Button1Click(Sender: TObject); var a,b,fakt:integer; begin a:=StrToInt(Edit1.text); b:=StrToInt(Edit2.text); while a<>b do begin if a>b then a:=a-b else b:=b-a; end; ShowMessage(InttoStr(a));