Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

PPA1 – 5.cvičení Pavel Bžoch.

Podobné prezentace


Prezentace na téma: "PPA1 – 5.cvičení Pavel Bžoch."— Transkript prezentace:

1 PPA1 – 5.cvičení Pavel Bžoch

2 Zápočtový test Píše se 1.11. od 14:50
Na courseware a na dveřích UU409 je rozdělení (podle prvního písmene příjmení) Test bude do cca 16:00 – počítejte s tím! V testu budou okruhy do 5. přednášky včetně a do 6. cvičení včetně Vše od začátku semestru až do polí (včetně)

3 Odevzdání příkladů Od minulého cvičení je na courseware zadání domácích úloh Pokud příklad úspěšně odevzdáte na validátor do 14 dnů od konání cvičení, máte 1 bod za každý příklad. Za pozdější odevzdání máte 0,5 bodu. Všechny příklady jsou kontrolovány na shodnost! Při 1. výskytu shodného příkladu dostáváte automaticky 0,5 bodu ze všech příkladů -> musíte odevzdat všechny příklady. Zároveň musíte přepracovat shodné příklady. Při případném jakémkoli dalším výskytu shodnosti ztrácíte možnost získat zápočet. Stane se jak „zdroji“ příkladů, tak „opisovači“ či „opisovačům“ Viz courseware – Problémy a řešení

4 Opakování – náhodný generátor
Náhodné generování čísel Random rd = new Random(); int a = rd.nextInt(N); Do proměnné a uloží náhodné číslo z intervalu <0, N) Pokud chceme generovat z jiného intervalu např. <1, N>, pak musíme generování upravit: int a = rd.nextInt(N) +1;

5 Opakování – řízení toku programu
Příkaz if , else if, else if (podmínka){ //příkazy se provedou, když je podmínka splněna } else if (podmínka2){ //příkazy se provedou, když není splněna podmínka, ale je splněna podmínka2 else{ //příkazy se provedou, když není splněna ani jedna z podmínek Bloky else if a else jsou nepovinné!

6 Opakování – řízení toku programu
V podmínkách lze použít následující operátory porovnání (a i b jsou celočíselné proměnné): == test na shodu [(a == b) testuje, zda jsou hodnoty v proměnných stejné] != test na neshodu [(a != b) testuje, zda jsou hodnoty v proměnných rozdílné] > a >= test na větší hodnotu, popř. větší a shodnou [(a >= b) testuje, zda je hodnota v proměnné a větší nebo rovna hodnotě v proměnné b] < a <= test na větší menší popř. menší a shodnou [(a <= b) testuje, zda je hodnota v proměnné a menší nebo rovna hodnotě v proměnné b]

7 Opakování – řízení toku programu
Pro spojení podmínek lze využít logické spojky && logické A [(a > 5 && a < 10) test, zda hodnota v proměnné a je větší než 5 a současně menší než 10] || logické nebo [(a < 5 || a > 10) test, zda hodnota v proměnné a je menší než 5 nebo větší než 10] ! negace výroku [!(a < 5 || a > 10) test, zda hodnota v proměnné a větší nebo rovna 5 a zároveň menší nebo rovna 10. Alternativně lze zapsat takto (a >= 5 && a <= 10)]

8 Cyklus while Cyklus probíhá dokud je podmínka splněná
Podmínka se testuje na začátku obrátky  cyklus nemusí proběhnout ani jednou Struktura cyklu: while (podmínka) { příkazy; }

9 Cyklus do-while Cyklus probíhá dokud je podmínka splněná
Podmínka se testuje na konci obrátky  cyklus proběhne alespoň jednou Struktura cyklu: do { příkazy; } while (podmínka);

10 Cyklus for Cyklus probíhá daný počet obrátek na základě hodnoty řídící proměnné (i) Řídící proměnná se testuje na začátku obrátky  cyklus nemusí proběhnout ani jednou Struktura cyklu: for (iniciace; podmínka; příkaz obrátky) iniciace – příkaz, který se provede jednou před cyklováním podmínka – podmínka, kdy cyklus běží příkaz obrátky – příkaz, který se provede na konci každé obrátky (před testem podmínky)

11 Cyklus for Např: for (int i=0; i < hranice; i++) { příkazy; }
Cykluje dokud v i je hodnota menší než hodnota v proměnné hranice

12 Statické metody, parametry I
Dosud pouze programy s jednou metodou – main() Každá třída může obsahovat deklarace více metod Metody se můžou volat v jiných metodách třídy nebo i v metodách jiné třídy Podobně jako jsme volali metody třídy Math Metody jsou dostupné v celé třídě bez ohledu na pořadí jejich deklarace

13 Statické metody, parametry II
Deklarace statických metod začíná klíčovým slovem static Může mu předcházet modifikátor určující viditelnost metody z jiných tříd Tím se zatím nebudeme zabývat Hlavička metody vypadá následovně: static typNavratoveHodnoty nazevMetody(typ1 param1, …) Pak následuje tělo metody uzavřené v { }

14 Statické metody, parametry III
Metoda nemusí mít žádný parametr, může jich mít více (oddělené čárkou) Při deklaraci uvádíme jména parametrů, se kterými pak pracujeme v těle metody (tzv. formální parametry) – včetně typů parametrů Když metodu voláme, dosazujeme tam proměnné nebo konstanty – skutečné parametry – bez typů parametrů Pokud voláme statickou metodu jiné třídy, musí jí předcházet název třídy a tečka (.)

15 Statické metody, parametry IV
Metoda může vracet návratovou hodnotu Např. Math.sin(x) vrátí sinus proměnné x (desetinné číslo) Typ návratové hodnoty musí být uveden před názvem metody v její deklaraci Pokud metoda nic nevrací, uvádí se void Metoda vrací hodnotu uvedenou za slovíčkem return v těle metody Pokud metoda nic nevrací, return; se dá použít pro ukončení metody

16 Statické metody, parametry V
Příklad metody, která vrací hodnotu static int secti(int a, int b){ int c = a + b; return c; } Příklad metody, která nic nevrací static void odradkuj() { System.out.println();

17 Statická proměnná třídy
Proměnná/konstanta dostupná v celé třídě Všechny metody ji mohou využívat, mohou s ní pracovat Je dostupná i v případě, že je definovaná až po metodě, ve které ji využíváme Pokud není přiřazena hodnota, má automaticky hodnotu 0, nebo 0.0, nebo null v závislosti na jejím typu Příklad v StatALokProm.pdf (1. příklad)

18 Lokální proměnná metody
Příklad v StatALokProm.pdf (2. příklad) Proměnná/konstanta dostupná pouze v metodě, kde je deklarována Je dostupná až od místa v kódu, kde je deklarována, před deklarací ji nelze využívat Pokud není přiřazena hodnota, nemá žádnou implicitní hodnotu – může v ní být cokoliv (v závislosti na typu) Volání lokální proměnné do níž nebyla přiřazena hodnota skončí chybou překladu


Stáhnout ppt "PPA1 – 5.cvičení Pavel Bžoch."

Podobné prezentace


Reklamy Google