Preskočiť menu

Aligátor, Fórum, Pripojsa.sk, Servis, Speedmeter, Webhosting, Weblogy.sk
banner HP

Číta nás cez 130 tisíc ľudí | Autori | O Inet.sk | OZ IPV | Referáty | Reklama | RSS

Programujeme v Delphi: Podmienky a matematické funkcie

25. 6. 2003, Programovanie, Lukáš Kuzmiak, 0 komentárov

Takže všetko sa podarilo a my sa opäť stretávame. Dnes si ukážeme použitie podmienok a základy matematických funkcií. Najskôr si ukážeme logické hodnoty. Je to veľmi jednoduché, ideme na to.

Logické hodnoty - Najčastejšie slúži na vetvenie výpočtu: cyklus s podmienkou na začiatku alebo na konci (while) alebo pre podmienený príkaz (if). Vždy je buď pravdivý alebo nepravdivý, má jednu z dvoch logických hodnôt true alebo false. Logickú hodnotu vrátia napr. relácie: <, <=, =, <>, >=, >. Logické operátory: not, or, and. POZOR !!! Každý výraz sa vyhodnocuje zľava doprava !!! Ešte detail: výrazy, v ktorých je nejaký logický operátor sa musia zapisovať v zátvorkách napr. f>=2 and f<=100 má byť zapísané (f>=2) and (f<=100).

WHILE - cyklus s podmienkou na začiatku

Všeobecný zápis cyklu je:
while podmienka do príkaz
Cyklus otestuje podmienku a ak je pravdivá (true), tak sa vykoná príkaz a celý sa opakuje dokiaľ je podmienka pravdivá. Keď sa stane nepravdivou (false) opakovanie cyklu sa zastaví. Treba si však dať pozor na nekonečné cykly.

FOR - nepotrebný ??!!

To "nepotrebný" je tam preto, lebo for sa vlastne dá nahradiť aj cyklom while. Ako ? Takto:
for i := 1 to 10 do Form1.Left := Form1.Left + i;
sa dá nahradiť:
i := 1;
while i <= 10 do begin
Form1.Left := Form1.Left + i;
i := i + 1;
end;


Čo vlastne vykonávajú tieto dva príkazy ??? Oba budú Formulár posúvať doprava najskôr o 1 bod potom o 2 ..... a takto ďalej až do 10. Takže celkovo sa formulár posunie o 1+2+3+4+5+6+7+8+9+10 = 55 bodov. Myslím, že zatiaľ sú podmienky celkom jasné. Teraz ešte jedna jednoduchá podmienka a síce if.

IF - jednoduchá, ale dôležitá podmienka

Tento typ podmienky má viacero variantov budeme sa s nimi zoznamovať postupne od najmenej až po viac náročné. Prvý typ:
if podmienka then príkaz;
napr. if b=0 then Label1.Caption := 'Béčko je nula';
Ale čo urobíme ak potrebujeme niečko na spôsob: ak sa x = 5 vtedy y := 12 ale ak nie vtedy y = 14. V takomto prípade použijeme "rozšírenú" podmienku if. Tá má takúto syntax:
if podmienka then príkaz
else príkaz
.
Takže v našom probléme by bol zápis takýto:
if x=5 then y:=12
else y:=14;

Ešte naša obľúbená poznámočka: Pri zložitejšom zápise sa na konci riadku s if NEPÍŠE bodkočiarka, viz. všeobecný zápis. Ako ste si možno všimli pri nahradení príkazu for príkazom while, ak chceme vykonať viac príkazov ako jeden použijeme slovíčka begin a end medzi ne napíšeme nami zvolenú sériu príkazov. Ak používame len jeden príkaz, slovíčka begin a end môžeme vynechať, ale ak príkaz napíšeme medzi begin a end nič sa nestane, ibaže to bude zbytočne zložité. Príklad: viz. FOR

Matematické funkcie

Tieto úkony sú v prostredí Delphi veľmi jednoduché. Používajú sa operátory +, - a *, no miesto / (delenie) sa používa špeciálne slovíčko div. Ako vždy jednoduchý príklad:
procedure TForm1.Button1Click(Sender: TObject);
var
x,y,vysledok:integer;

begin
x := 20;
y := 5;
vysledok := x div y;
Label1.Caption := 'Výsledok je: ' + IntToStr(vysledok);
end;
Možno Vás trochu zmiatol výraz IntToStr(vysledok) je tam lebo vlasnosť Caption komponenty Label musí byť typu string je to niečo ako konvertor typu integer do typu string. Niekto sa možno pýta: "A prečo nemôžme premennú vysledok deklarovať priamo typu string ???". Nemôžeme to urobiť lebo matematické funkcie môžeme robiť len s číselnými premennými a to sú napr. integer, float, double ... proste len číselné premenné. Takýchto "konvertorov" je veľmi veľké množstvo budeme si ich predstavovať podľa potreby. To by bolo z dnešnej časti všetko, no ešte jeden návrh: Zaviedol by som niečo ako Domáce úlohy ja by som Vám dal úlohu a vy by ste ju vypracovali (samozrejme v Delphi) a poslali mailom späť, vaše názory na tento nápad očakávam v diskusii. Alebo píšte na delphi@inet.sk. Dnes slovníček vynecháme, pretože si nemáme čo vysvetliť, ak by Vám ale niečo nebolo jasné napíšte mi.

Keď nezomriem od tepla opäť sa stretneme o týždeň. Do programovania !!

-LuKaSh_88-

Podobné články na Inet.sk

Diskusia k článku

Dátum Meno Predmet
Prejsť na diskusiu | Pridať komentár
Diskusia momentálne neobsahuje žiadne komentáre

Vyhľadávanie

Platená reklama

Textová reklama

notebook.pda.sk
E-shop zameraný na predaj mobilných zariadení. Hlavnou ponukou sú notebooky značky Apple, DELL a príslušenstvo.

EuroPhoto : Bratislava Photo | Vienna Photo | Prague Photo | London Photo | Paris Photo
Croatia | Bratislava Property
PROMA nábytok: najväčšia výroba: kuchynské linky, kuchyne a kuchynský nábytok. Pracovné dosky, úchytky, grafický 3D dizajn.

MSkozmetika: internetový predaj parfémov, kozmetiky a bižutérie. Mega parfuméria na webe. Značková a luxusná kozmetika.

Newsletter


Inet.sk – Internetový denník, ISSN 1336-1899
Copyright 2002 – 2010 Inet.sk, s. r. o., Všetky práva vyhradené, Neprešlo jazykovou úpravou

Partneri:
123velkoformatovatlac.sk Aaavizitky.sk Bilancia skrývky BiznisHosting.sk CinemaView.sk Digitálne fotoaparáty Digitlac.sk Fotografie Grafika.sk HrajSa.sk Katalog Pozri.sk Kusi.sk Manga.sk Notebooky HP Predaj PC komponenty Reality Aaainfo.sk Reklama.sk Sladká kytica StiahniTo.sk Surf.sk Toshiba PC akcia Úvery Aaainfo.sk Zájazdy