Stránka 1 z 1
Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 11:49
od Tomina
Zdravím,
zítra mě čeká zkouška z programování v Pascalu a povím Vám, v dosti věcech prostě absolutně netuším. Chtěl bych se zeptat, zda by mi někdo neporadil, jak začít řešit tento úkol. Sedím nad tím už dobrý dvě hodiny a stále na to nemohu přijít
máme posloupnost 100 čísel zakočených nulou. Program má vypsat nejprve sudá a pak lichá čísla a zjistit kolik je sudých a kolik je lichých číselPotřeboval bych jaksi "nakoupnout". Zkoušel jsem plnit plnit pole:array [1..100] of integer. Dále jsem už nevěděl co dál..jaké cykly na co použít..mě z toho opravdu hrábne..
Moc děkuji...
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 13:35
od jiribori
Já osobně bych to asi dělal tak, že budu načítat prvek po prvku v cyklu. Každý prvek otestuju funkcí MOD. Když výsledek modu bude 1, tak je to liché číslo a když výsledek bude 0, tak to je sudé číslo + u každé větve proměnnou na počítání počtu sudých a lichých čísel. A teď k tomu zobrazení nejprve sudých a potom lichých - nevim jestli by to fungovalo, ale udělal bych to dvouma cyklama v prvním porovnávat právě pokud MOD je roven 0, tak vypsat jinak nic a druhý cyklus přesně obráceně - pokud MOD je roven 1 tak vypsat.
Nevim jestli by to fungovalo, ale to je můj prvotní nápad. Snad ti to pomůže.
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 15:18
od CZechBoY
Já bych dal ty výsledky do pole a pak bych spočítal kolik čísel je v tom poli :-)
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 17:08
od Tomina
ano, to mě taky napadlo, jenže tím to všechno končí..pokud by mi někdo poradit jak na zdroják, budu mu moc vděčný :-)
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 19:56
od Teedok
mohl bych ti poradit v C# :)...Pascal ještě neprobíráme...
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 19:58
od CZechBoY
Zkusim přečíst za pár minut knížku o Pascalu
No ve VB bych věděl to pole, ale zas nevim jak to sudý lichý, jedině přes vlastnoručně napsanou fci :(
Mrknu do tý knížky, snad něco najdu...
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 20:27
od Teedok
no tak když je to dělitelný 2 tk je to sudý a když ne tak lichý...nebo když je to dělitelný dvěma bezezbitku(neboli zbytek je ,0 ) tak je to sudý...
Dal bych podmínku (jetli je to děl. 2) a do toho cyklus s tim polem, který to celý pole projde a takhle to uloží do jiný proměný(typu pole).
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 20:57
od CZechBoY
Už tu někdo psal že je na to fce MOD nebo tak nějak, myslel jsem jako že ve VB nevim jestli je nějaká taková fce, jinak je tam možnost dělení bez zbytku, ale to je asi k ničemu.
Už jdu na tu knížku, ale asi to nestihnu dnes...
Tak možná zítra :-)
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 21:17
od Teedok
tak můžeš si to vzít tak, že když budeš dělit 2 se zbztkem 0, je to sudý a když se zbytkem 5 tak je to lichý. Př: 10/2 = 5,0; 20/2 = 10,0; 33/2 = 16,5; 71/2 = 35,5;
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 23:15
od Tomina
Přátelé, tak jsem poprosil kámoše a za 10 minut to měl hotové, některé lidi prostě obdivuji, zdroják vypadá následovně:
[syntax]program pole_S_N_hledani;
{$APPTYPE CONSOLE}
uses
SysUtils;
const max=25;
var
pole:array[1..max] of smallint;
pole_S:array[1..max] of smallint;
pole_L:array[1..max] of smallint;
i,j,k,Sou_L,Sou_S:smallint;
begin
randomize;
for i:=1 to max-1 do pole[i]:=random(99)+1;
pole[max]:=0;
for i:=1 to max do write(pole[i]:3);
for i:=1 to max do
if pole[i] mod 2<>0 then
begin
inc(Sou_L);
inc(j);
pole_L[j]:=pole[i];
end
else begin
inc(Sou_S);
inc(k);
pole_S[k]:=pole[i];
end;
writeln;
writeln;
writeln('pole sude');
write('pocet sudych cislic = ',Sou_S);
writeln;
writeln;
for i:=1 to max do write(pole_S[i]:3);
writeln;
writeln;
writeln;
writeln('pole liche');
write('pocet lichych cislic = ',Sou_L);
writeln;
for i:=1 to max do write(pole_L[i]:3);
readln;
end.[/syntax]
Moc děkuji za ochotu, nezdá se to, ale převést myšlenky do zdrojáku je opravdu makačka a byť se to zdálo jednoduché, není to žádná procházka růžovým sadem.. :-/
Re: Pascal: jak vyřešit tento úkol ?
Napsal: 12 led 2010 23:37
od Teedok
převést myšlenky je fak těžký, hlavně když to učitel chce s kritérii - budete používat jen tohle a támhleto - jenom cykly atd., teď dělám v C# obměnu hry kostky a ještě nemám ani kostru :)
Re: Pascal: jak vyřešit tento úkol ? Vyřešeno
Napsal: 13 led 2010 09:32
od CZechBoY
Jo převést myšlenky do jazyka kterej neumim je fakt těžký

no nic dej fajfku, je to přes to pole jak jsem říkal
