Stránka 1 z 1

Programování a vývoj aplikací

Napsal: 29 dub 2015 16:34
od setlas77
Ahojte, mám takový problém zítra píšu důležitý test z PVA(Porgramování a vývoj aplikací) vůbec mi tenhle předmět nebaví a proto se chci zeptat jestli by mě mohl dneska někdo doučit a nebo vysvětlit pár pojmu a základu z C a C++..Nerozumím vubec cyklum for, while, switch co to je a jak se využívaj, někdo kdo semnou nad tím stráví aspon chvilku ho odměním

Re: Programování a vývoj aplikací

Napsal: 29 dub 2015 16:54
od faraon
No to sis vzpomněl teda brzy, tohle chce pár dní a nebo si k tomu na osm hodin, s někým kdo to umí, sednout a pumpovat v kuse!

Cykly jsou k tomu aby se nějaká činnost opakovala víckrát, v Céčku je for a while skoro totéž, cyklus s podmínkou na začátku. Další možnost je cyklus s podmínkou na konci, ten se dělá příkazem do. Příkaz switch slouží pro vícenásobné větvení, tam kde se nehodí if a else. V cyklech se používají ještě break a continue, ve switchi break, a pro návrat hodnoty z funkce return.
Tohle je v kostce základ strukturovaného programování, pro většinu běžných algoritmů už není nic víc potřeba. Také jsou to všechny příkazy které jazyk C zná (ještě teda goto, ale to je až pro pokročilé).

Re: Programování a vývoj aplikací

Napsal: 29 dub 2015 17:01
od CZechBoY
Dej mi litr a na 8 hodin se s tebou můžu bavit ;-)

Re: Programování a vývoj aplikací

Napsal: 29 dub 2015 17:01
od Rutherther
Tenhle příspěvek jsem psal ještě, když tady faraonův nebyl, myslím ale, že alespoň příklady se ti budou hodit.

No.. Asi ti to nebudu vysvětlovat někde mimo, vysvětlím ti to tady, alespoň to, co je podle mne důležité, v C a C++ se zase tolik neorientuji, ale ostatní jazyky mají tyto cykly stejně, pokud vím.
For: jednoduše, dokud platí něco, bude se dít něco a při každém se spustí ještě něco navíc.
Příklad: máš array s 5 hodnotami, třeba jména žáků a chceš je vypsat všechny, to můžeš udělat např. Pomocí for:

Kód: Vybrat vše

string[] zaci = new string[] {"Adam", "Josef", "Zuzana", "Tomas", "Dominik"} //snad se to takto definuje i v c a c++
for(int i = 0 ; i < zaci.length; i++) //jak už jsem říkal, dokud bude i menší než velikost seznamu, bude se provádět to, co napíšu pod rohle, zároveň se pokaždé i přičte a díky tomu budeš mít i vždy jiné.
{ println(zaci[i]); //i bude od 0 do 4, opět nevím, jestli je správný zápis, ale snad to pochopíš.
}

Teď while, je podobné for, akorát tam můžeš dát jen jednu hodnotu, dokud něco platí, bude se dít něco

Kód: Vybrat vše

while(true) //bude se to dít pořád
{
printf("Ahoj"); //bude se pořad opakovaně vypisovat, true bude pořád true
}
while(false) //false se nikdy nebude rovnat true, proto se to nikdy neprovede
{
printf("Tohle se stejne neprovede");
}
//A pak samozřejmě když něco kontroluješ..
int i = 10
while(i > 0){
printf("."); //tohle by se opakovalo pořád dokola, protože se s i nic nestane, pro tohle se pak hodí for a nebo můžeš přidat i++; přímo sem do while
}


Ještě dodám k while a for, můžeš zde použít break; a continue; break, když to chceš zastavit, např. Bys hledal v listu určitý string, našel bys ho, uložil někam mimo cyklus a mohl bys dát break, aby se to pořád neprovádělo. A continue tě hodí na začátek cyklu, to jde využít třeba kdybys měl nějakou chybku a věděl, že bude jen třeba 1 z 10.

Switch:
Napadá mě třeba, že ti uživatel napíše do vstupu ahoj, ty to zjistíš a vykonáš něco, vlastně je to if, až na to, že v lepším zápisu, funguje to na všechny hodnoty.

Kód: Vybrat vše

String pozdrav = "Ahoj";
switch(pozdrav) //devinování, že chceš pracovat s pozdravem
{
case "Ahoj": //pokud se rovná Ahoj
printf("Ahoj")
break; //aby vědělo, že se má ukončit a už nic nedělat
case "Čau": //pokud se rovná Čau
printf("Ahoj");
break;
default: //co když to není ani jeden?
printf("neznamy pozdrav");
break;
}

No jo, ale mít třeba 20 pozdravů a na každý odpovídat Ahoj, takhle by to bylo dlouhé, proto je zde i:

Kód: Vybrat vše

switch(pozdrav){
case "Čau":
case "Ahoj": //pokud se pozdrav rovná jednomu z nich, provede se to pod nimi.
case "Čus":
printf("Ahoj);
break;
case "Na shledanou:
printf("Na shledanou.");
break;
default:
printf("toto program nerozezna");
break;
}



Snad jsi to pochopil lépe, případně se ještě ozvi, za případné překliky se omlouvám, nekontroloval jsem to a psal na iPadu.

Re: Programování a vývoj aplikací

Napsal: 29 dub 2015 17:09
od setlas77
Děkuju moc podívám se na to a kdyžtak se ozvu :)