Stránka 1 z 1
Algoritmy
Napsal: ned 16. bře 2008, 19:31
od Šimec
Dostal jsem za úkol vytvořit algoritmus.
Jmenuje se to Přední týmy tabulky a zadání je zde
Kolik bodů má první tým tabulky? Kolik týmů má tento počet bodů? Jaký je průměrný počet bodů týmů
v tabulce? (Rada: Nejprve zjistěte počet týmů v tabulce, součet bodů všech týmů, nejvyšší počet bodů a počet
týmů s nejvyšším počtem bodů pomocí jednoho cyklu.)
Vstup: Řada bodových zisků jednotlivých týmů ukončená záporným číslem
Výstup: Počet bodů prvního týmu tabulky, počet týmů s nejvyšším počtem bodů, průměrný počet bodů týmů
v tabulce
Byl bych velmi rád, kdyby mi to někdo vytvořil. Díky všem.
Napsal: ned 16. bře 2008, 21:45
od OndraSter
Myslim, ze tady nikdo nebude psat cely ukoly (natoz, jestli je mas jako ukol). Mj. si vubec nenapsal jazyk

Napsal: ned 16. bře 2008, 21:46
od myom
todle jde udelat i v excelu...
Napsal: pon 17. bře 2008, 06:40
od Šimec
V jazyce nevím jakém, tak daleko ještě nejsme. Učitel říkal, že je algoritmy jsou obecně základ programování. Až každý udělá ten úkol, tak potom dem brát JavaScript a po něm Delphi. Trochu vím jak to udělat, ale potřeboval bych pomoci.
Napsal: pon 17. bře 2008, 14:14
od OndraSter
Šimec píše:V jazyce nevím jakém, tak daleko ještě nejsme.
To je myslim docela dulezity
co treba pro nacitani pouzit neco takovyhleho, kdyz chces algoritmus a nevis v jakym jazyce? (Dal se mi to nechce psat, jen jako ukazku jak by 'zdrojak' mohl vypadat

)
cislo Vstup;
pole Tymy;
int Aktualni;
var Vyskoc = false;
delej {
Aktualni = nactiCislo ();
if ( abs ( Aktualni ) != Aktualni ) Vyskoc = true;
else Tymy [] = Aktualni
} cyklus ( Vyskoc == false );

Napsal: pon 17. bře 2008, 14:27
od Fifi
Že by myslel vývojový diagram či strukturogram?
Napsal: úte 18. bře 2008, 17:02
od Šimec
Mělo by to vypadat asi takhle:
Prumerny plat ve firme,pokud zname predem pocet zaměstnanců
//analýza:zjištěni poctu zaměstancu,v cyklu sečtení všech platů,výpočet průměrného platu,výpis prům.platu//
1.
Začátek
čti(pocet_zam);
soucet_platu = 0;
opakuj počet_zam krát
začátek
čti(plat);
soucet_platu = soucet_platu + plat
konec
prumerny_plat = soucet_platu / počet_zam;
vypiš(prumerny_plat);
Konec
2.
začátek
(pocet_zam) = 0;
soucet_platu = 0;
čti(plat)
pokud plat>0 opakuj
začátek
počet_zam = počet_zam + 1;
soucet_platu = soucet_platu + plat
čti(plat);
konec
prumerny_plat = soucet_platu / počet_zam;
vypiš(prumerny_plat);
konec
3.kvadratická rovnice
//analýza:ax2+bx+c=0
a=0 -> rešíme lin.rci bx+c=0
a<> -> D=b*b-4*a*c;
D>0 2řešení
D=0 1řešení
D<0 nemá řešení
začátek
čti(a,b,c);
jestliže a=0 pak … řeš lin.rci bx+c=0…
jinak
začátek
D=b*b-4*a*c;
jestliže D>0 pak
začátek
X1=(-b+odmocnina(D)/(2*a);
X2=(-b-odmocnina(D)/(2*a);
Vypiš(x1);
Vypiš(x2);
konec
jinak jestliže D=0 pak
začátek
x=-b/(2*a);
vypiš(x)
konec
jinak vypiš(rovnice neam reseni)
konec
konec
Napsal: úte 18. bře 2008, 21:45
od €agle
Dalsi strucna moznost:
1) Nacitat hodnoty do pole, dokud jsou kladne
2) Projit cele pole, najit nejvyssi hodnotu (= tym s nejvyssim skore)
3) Projit cele pole
3.1) Pokud aktualni hodnota rovna se hodnote nejlepsiho, zvysit pocet nejlepsich tymu o 1 (= pocet nejlepsich tymu)
3.2) Pricist aktualni hodnotu do celkoveho souctu
4) Vydelit celkovy soucet poctem clenu (= prumerny pocet bodu)
Napsal: stř 19. bře 2008, 17:57
od Šimec
Může mi někdo vysvětlit proč v té ukázce je viz. tučné, jaký to má účel?
1.
Začátek
čti(pocet_zam);
soucet_platu = 0;
opakuj počet_zam krát
začátek
čti(plat);
soucet_platu = soucet_platu + plat
konec
prumerny_plat = soucet_platu / počet_zam;
vypiš(prumerny_plat);
Konec
Nějak tomu nerozumím. Vůbec mi nebere mozek.
Napsal: stř 19. bře 2008, 18:22
od Trinom
To vynulování se dělá proto, že většina programovacích jazyků tam při spuštění vloží nějaké číslo a pokud s ním chceš pracovat stylem přičtu k němu to a ono, tak by ti vyšel nesmysl.
opakuj... je nějaký cyklus (for), do kterého spadá to, co je pod tím
Kód: Vybrat vše
čti(plat);
soucet_platu = soucet_platu + plat
Napsal: stř 19. bře 2008, 19:44
od Šimec
Aha, už tomu začínám rozumět. Jsem to skoro vůbec nechápal. Díky moc.
//Trinom: NZ
Napsal: čtv 3. dub 2008, 19:07
od Šimec
Potřeboval bych pomoci, nevím jak udělat kolik týmů má stejný počet bodů jako první tým v tabulce.
Zde je zadání i stím co jsem udělal.
Přední týmy tabulky
Kolik bodů má první tým tabulky? Kolik týmů má tento počet bodů? Jaký je průměrný počet bodů týmů
v tabulce? (Rada: Nejprve zjistěte počet týmů v tabulce, součet bodů všech týmů, nejvyšší počet bodů a počet
týmů s nejvyšším počtem bodů pomocí jednoho cyklu.)
Vstup: Řada bodových zisků jednotlivých týmů ukončená záporným číslem
Výstup: Počet bodů prvního týmu tabulky, počet týmů s nejvyšším počtem bodů, průměrný počet bodů týmů
v tabulce
//analýza:zjištění počtu týmů v tabulce, zjištění bodů každého týmu, zjištění nejvyššího počtu bodů a počtu týmů s nejvyšším počtem bodů.//
Proměnné:
body ... počet bodu. za 1 zápas
soucet_bodu ... součet bodu. za celou sezónu
pocet_zapasu ... počet odehraných zápasů v sezóně
max_bodu ... nejvyšší počet bodu za 1 zápas
prumer_bodu ... průměrný počet bodů tymu v tabulce
pocet_tymu…počet týmů v tabulce
pocet_bodu_prvniho_tymu…počet bodů prvního týmů za celou sezónu
pocet_tymu_body…počet týmů se stejným počtem bodů jako první tým v tabulce
začátek
soucet_bodu= 0;
počet_zapasu = 0;
max_bodu=0;
čti(body);
pokud (body >= 0) opakuj
začátek
soucet_bodu = soucet_bodu + body;
pocet_zapasu = pocet_zapasu + 1;
pocet_bodu_prvniho_tymu= pocet_bodu_prvniho_tymu + body
počet_tymu_body
jestliže (body > max_bodu pak max_bodu = body;
čti(body);
konec
prumer_bodu = soucet_bodu / pocet_tymu;
vypiš(prumer_bodu);
vypiš(počet_bodu_prvniho_tymu);
konec
Napsal: čtv 3. dub 2008, 19:10
od Šimec
Jak se tak dívám tak to bude blbě.