pascal program
pascal program
kto mi pomoze s takymto prikladom?
V Stuchaniciach pri Koryte v ramci celonarodneho boja proti nezamestnanosti zalozili slepaciu farmu. A keby len to, dokonca este aj nejake sliepky kupili. Nuz a ako ano, ako nie, urodilo sa im uz onedlho na nej prvych par vajicok. A pomerne rychlo vyrastli. Vecer nic a rano... "Hla! Vajicka!" zbehla sa hned cela dedina. "Tie su urcite najkrajsie v kraji. Ba co, na svete!" prekrikovali sa. "A urcite aj najlepsie!" "A urcite aj najpevnejsie..." poznamenal sused Zavis, ktory mal zlu naladu, lebo v jeho kravine sa za celych pat rokov ani jedno vajicko neurodilo.
"Ano, ano!" kricali dedincania, no potom sa zarazili. Ze su najkrajsie, to na nich vidiet na prvy pohlad. Ale ako zistia, ci su najpevnejsie? "To je lahke." poucil ich Zavis. "Pevnost vajicka sa meria tak, ze je to najvyssia vyska v centimetroch, z ktorej pad vajicko prezije bez toho, aby sa rozbilo." A tak dedincania zobrali urodu a zacali merat. Len sused Zavis sa oprel o plot a pozoroval so skodoradostnym vyrazom v tvari, ako Gejza zdrapil prve vajicko, pustil ho z vysky N cm a to po kratkom lete dopadlo na zem a rozbilo sa na marne kusky.
Uloha
Napiste program, ktory nacita N - vysku, z ktorej sa uz vajicko urcite rozbije a M - pocet zvysnych vajicok. Potom bude postupne pisat vysky v centimetroch, z ktorych maju dedincania pustit vajicko a z klavesnice zakazdym nacita, ci sa vajicko rozbilo alebo nie. Kedze dedincania su netrpezlivi, treba, aby vas program (v najhorsom pripade) potreboval co najmenej spusteni vajicka. Nezalezi na tom, kolko vajicok pocas hladania kritickej vysky vas program rozbije. Samozrejme, po rozbiti posledneho vajicka uz musi hladanu vysku vediet.
Priklad
N=10 M=2
Spust z vysky 1 cm
> nerozbilo sa
Spust z vysky 3 cm
> nerozbilo sa
Spust z vysky 5 cm
> rozbilo sa
Spust z vysky 4 cm
> nerozbilo sa
Vajicka sa rozbiju pri spusteni z vysky 5 cm a viac.
(Na zistenie bolo treba 4 spustenia.)
Poznamka
Zdovodnite, preco vas program vzdy spravne urci kriticku vysku a skuste spocitat, kolko skokov potrebuje v najhorsom pripade pre dane M a N.
V Stuchaniciach pri Koryte v ramci celonarodneho boja proti nezamestnanosti zalozili slepaciu farmu. A keby len to, dokonca este aj nejake sliepky kupili. Nuz a ako ano, ako nie, urodilo sa im uz onedlho na nej prvych par vajicok. A pomerne rychlo vyrastli. Vecer nic a rano... "Hla! Vajicka!" zbehla sa hned cela dedina. "Tie su urcite najkrajsie v kraji. Ba co, na svete!" prekrikovali sa. "A urcite aj najlepsie!" "A urcite aj najpevnejsie..." poznamenal sused Zavis, ktory mal zlu naladu, lebo v jeho kravine sa za celych pat rokov ani jedno vajicko neurodilo.
"Ano, ano!" kricali dedincania, no potom sa zarazili. Ze su najkrajsie, to na nich vidiet na prvy pohlad. Ale ako zistia, ci su najpevnejsie? "To je lahke." poucil ich Zavis. "Pevnost vajicka sa meria tak, ze je to najvyssia vyska v centimetroch, z ktorej pad vajicko prezije bez toho, aby sa rozbilo." A tak dedincania zobrali urodu a zacali merat. Len sused Zavis sa oprel o plot a pozoroval so skodoradostnym vyrazom v tvari, ako Gejza zdrapil prve vajicko, pustil ho z vysky N cm a to po kratkom lete dopadlo na zem a rozbilo sa na marne kusky.
Uloha
Napiste program, ktory nacita N - vysku, z ktorej sa uz vajicko urcite rozbije a M - pocet zvysnych vajicok. Potom bude postupne pisat vysky v centimetroch, z ktorych maju dedincania pustit vajicko a z klavesnice zakazdym nacita, ci sa vajicko rozbilo alebo nie. Kedze dedincania su netrpezlivi, treba, aby vas program (v najhorsom pripade) potreboval co najmenej spusteni vajicka. Nezalezi na tom, kolko vajicok pocas hladania kritickej vysky vas program rozbije. Samozrejme, po rozbiti posledneho vajicka uz musi hladanu vysku vediet.
Priklad
N=10 M=2
Spust z vysky 1 cm
> nerozbilo sa
Spust z vysky 3 cm
> nerozbilo sa
Spust z vysky 5 cm
> rozbilo sa
Spust z vysky 4 cm
> nerozbilo sa
Vajicka sa rozbiju pri spusteni z vysky 5 cm a viac.
(Na zistenie bolo treba 4 spustenia.)
Poznamka
Zdovodnite, preco vas program vzdy spravne urci kriticku vysku a skuste spocitat, kolko skokov potrebuje v najhorsom pripade pre dane M a N.
Kód: Vybrať všetko
program vajicka;
uses crt;
var vyska,pocet,i,x:integer;
pokus:array[1..100] of integer;
pad:boolean;
begin
clrscr;
randomize;
vyska:=random(10)+1; {nahodna vyska od 1-10}
pocet:=random(10)+1; {nahodny pocet vajec od 1-10}
i:=0;
x:=0;
pad:=FALSE;
repeat
inc(i);
writeln;
writeln('Mame ',pocet,' vajec.');
write('Zadaj vysku z ktorej hadzes: ');
readln(pokus[i]);
if (pokus[i]<vyska) then begin
writeln('Vajce sa nerozbilo.');
end
else begin
writeln('Vajce sa rozbilo.');
dec(pocet);
end;
if ((pokus[i]=vyska-1) or (pokus[i]=vyska)) then inc(x); {vysku zistime len vtedy ak uhadneme hodnotu vysky od ktorej sa uz rozbije a hodnotu x-1}
if (x=2) then pad:=TRUE; {ak najdem tie dve hodnoty pad:=true a cyklus skonci}
until (pocet=0) or (pad); {koniec ak nemame ani jedno vajce alebo ak najdeme vysku}
writeln;
if (pocet<>0) then begin {ak nam ostalo aspon 1 vajce}
writeln('Hladanu vysku sme nasli na ',i,'. pokus!');
writeln('Ostalo nam ',pocet,' vajec.');
end
else begin {ak nam neostalo ziadne vajce}
writeln('Neostalo nam ani jedno vajce, takze vysku sme nezistili!');
end;
readln;
end.-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
juho: omg
kaciva: v tom príklade máš chybu, lebo máš že M=2 (tzn že máme ešte 2 vajíčka) a treba 4 pokusy na zistenie. Čiže dva pokus (ktoré boli potrebné na zistenie) nemôžeme realizovať.
Tým narážam na jeden zádrhel. Treba program ukončiť s tým že viac nemôže skúšať, lebo došli vajcia, alebo dokončiť merania s tým, že sa vypíše že meranie trvalo minimálne dva dni.

kaciva: v tom príklade máš chybu, lebo máš že M=2 (tzn že máme ešte 2 vajíčka) a treba 4 pokusy na zistenie. Čiže dva pokus (ktoré boli potrebné na zistenie) nemôžeme realizovať.
Tým narážam na jeden zádrhel. Treba program ukončiť s tým že viac nemôže skúšať, lebo došli vajcia, alebo dokončiť merania s tým, že sa vypíše že meranie trvalo minimálne dva dni.