Stránka 1 z 1
Program v pascalu
Napsal: 20 kvě 2012 20:04
od Psenda15
Zdravím, potřeboval bych pomoct. Dostali jsme za úkol udělat program v pascalu a zadání je:
Vstup: 20 čísel
Výstup: Počet Sudých
Počet Lichých
Počet Nul
Má to být pomocí tzv. "pole" a vůbec nevím co s tím? Poradí mi někdo?
Re: Program v pascalu
Napsal: 20 kvě 2012 20:11
od domitea
Do pole načteš všech 20 hodnot a ty potom pomocí cyklu budeš určovat jestli jsou sudá, lichá (přes modulo) a jestli to není nula. Výsledky podmínek budeš ukládat do proměnných a pak jen vypíšeš.
Re: Program v pascalu
Napsal: 20 kvě 2012 22:01
od faraon
Asi takhle:
Kód: Vybrat vše
var sude,liche,nula: integer;
cisla: array[1..20] of integer;
Pak stačí jedna smyčka
for pro načtení čísel do pole, a druhá která ho projde a pomocí
if..then..else vyhodnotí do které skupiny (sudé, liché, nula) každé číslo patří, a podle toho ji inkrementuje. Na závěr vypíšeš výsledky.
Všechno co je potřeba vědět je
tady a
tady.
Re: Program v pascalu
Napsal: 21 kvě 2012 20:32
od Psenda15
mám to v poli...už zadávám čísla...ale nevím jak tam zapsat ty sudá a lichá...prosím poraďte.
Re: Program v pascalu
Napsal: 21 kvě 2012 20:37
od faraon
Možná by bylo jednodušší nejdřív testovat tu nulu, a teprve potom sudá/lichá.
Pro inspiraci:
Kód: Vybrat vše
if (cislo mod 2 = 1) then
writeln('cislo je liche')
else
writeln('cislo je sude');
Re: Program v pascalu
Napsal: 22 kvě 2012 21:03
od Psenda15
no a tu nulu jak??
--- Doplnění předchozího příspěvku (22 Kvě 2012 21:06) ---
a to co jsi napsal...jsem zkusil a to mi jen na konci zadávání vyspalo...cislo je sude.
Re: Program v pascalu
Napsal: 23 kvě 2012 18:33
od faraon
Tu nulu úplně stejně:
Kód: Vybrat vše
if (cislo = 0) then
writeln('cislo je nula')
else
ostatní možnosti...
Musíš prověřit každé číslo v poli, stejným postupem jako jsi je načítal. Takže smyčka
for a místo proměnné
cislo příslušná položka pole, jinak se ti otestuje jen to naposledy vložené. S
poli doufám pracovat umíš.
Samozřejmě předpokládám že místo výpisu hlášení si doplníš požadovanou činnost, osobně bych použil proceduru
inc()...
Re: Program v pascalu
Napsal: 23 kvě 2012 18:59
od Psenda15
právě že moc ne...teprve v tom začínáme.
--- Doplnění předchozího příspěvku (23 Kvě 2012 19:01) ---
Tak prosím tak nějak jak by ten program měl vypadat...pochopím to když to uvidím..ale takhle moc ne
Re: Program v pascalu
Napsal: 24 kvě 2012 22:41
od faraon
Když ho uvidíš? Nejlépe je to vidět na vývojovém diagramu:
Kód: Vybrat vše
zacatek
|
------------
+------( i := 1..20 )<----+
| ------------ |
| | |
| +-----------------+ |
| | vstup: cislo[i] |---+
| +-----------------+
|
------------
+----( i := 1..20 )<---------------------------------+
| ------------ |
| | |
| -------------- |
| ( cislo[i] = 0 )O-------+ |
| -------------- | |
| | | |
| | -------------------- |
| | ( cislo[i] mod 2 = 1 )O---+ |
| | -------------------- | |
| | | | |
| +-----------+ +------------+ +-----------+ |
| | inc(nula) | | inc(liche) | | inc(sude) | |
| +-----------+ +------------+ +-----------+ |
| | | | |
| +----------------+---------------+--------+
|
| +------------------+
| | vystup: |
+---| 'Sudych:' sude |
| 'Lichych:' liche |
| 'Nul:' nula |
+------------------+
|
konec
Nemůžu za tebe ten úkol udělat celý, je to prográmek na pětadvacet řádků a skoro půlku ho tu už máš, tak ukaž aspoň něco svého, třeba jak načítáš ta čísla do pole...