Program v pascalu

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Psenda15
Level 2.5
Level 2.5
Příspěvky: 286
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Program v pascalu

Příspěvekod Psenda15 » 20 kvě 2012 20:04

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?

Reklama
Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Program v pascalu

Příspěvekod domitea » 20 kvě 2012 20:11

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š.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Program v pascalu

Příspěvekod faraon » 20 kvě 2012 22:01

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.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Psenda15
Level 2.5
Level 2.5
Příspěvky: 286
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Program v pascalu

Příspěvekod Psenda15 » 21 kvě 2012 20:32

mám to v poli...už zadávám čísla...ale nevím jak tam zapsat ty sudá a lichá...prosím poraďte.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Program v pascalu

Příspěvekod faraon » 21 kvě 2012 20:37

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');
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Psenda15
Level 2.5
Level 2.5
Příspěvky: 286
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Program v pascalu

Příspěvekod Psenda15 » 22 kvě 2012 21:03

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.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Program v pascalu

Příspěvekod faraon » 23 kvě 2012 18:33

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()...
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Psenda15
Level 2.5
Level 2.5
Příspěvky: 286
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Program v pascalu

Příspěvekod Psenda15 » 23 kvě 2012 18:59

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

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Program v pascalu

Příspěvekod faraon » 24 kvě 2012 22:41

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...
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti