» Poradna » Programy

Pascal programování

 |   |  Microsoft Windows 10 Chrome 63.0.3239.84

Dobrý den chtěla bych se zeptat zda byste mi nějak nepomohli s příkladem v Pascalu. Hledala jsem dlouhé hodiny na internetu a nenašla jsem nic podobné mému problém. Jedná se program, kde mám zjistit počet a součet lichých čísel v libovolném intervalu např. 1-10. Chtěla bych kdyby někdo aspoň nějak naznačil funkční zdrojový kod který by fungoval v pascalu a mohla bych to využít při dalších problémech.Předem děkuji za reakce. :)

Mohlo by vás také zajímat

Odpovědi na otázku

 | Microsoft Windows 10 Chrome 60.0.3112.101

1-10 je 11 čísel. Počet je lichý, takže se počet a sudých neshoduje. Interval začíná lichým číslem, takže lichých je víc.6 lichých5 sudýchTakže algoritmus už máš, přepsat ho do kódu už je hračka.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Unknown AppleMAC-Safari 5.0

Neplet ji... Odkdy je 1-10 celkem 11 cisel?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 60.0.3112.101

Ach jo. Automaticky počítám od nuly... To už je trochu deformace.Ale algoritmus platí.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 60.0

Až na ten součet.. Prostě v cyklu procházej čísla v daném intervalu a vždy když není dělitelné 2 tak inkrementuj počet lichých o 1 a zvyš součet o jeho hodnotu. Co jsi ty "dlouhé hodiny" hledala?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 59.0.3071.112

Tak buď na to můžeš jít hrubou silou. Tj procházet čísla v zadaném intervalu a počítat počet lichých čísel a dělat si průběžně jejich součet. A nebo můžeš využít matematiku a informace o číselných řadách. Nejdřív si musíš najít minimální a maximální liché číslo v daném intervalu. To je celkem snadné. Buď to zadané číslo je přímo liché a nebo je liché hned to vedle, takže buď přičteš 1 u minima a nebo odečteš 1 u maxima.Například na intervalu 1-10: Minimální liché číslo je 1, a maximální liché číslo je 10-1=9No a na samotný výpočet počtu a součtu už jsou vzorečky.Počet = 1+(max-min)/2Součet = Počet*(max+min)/2Takže můžeš začít s přepisováním do pascalu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 64.0.3282.15

Vzhledem k tomu, že je to školní příklad, tak hrubá síla - prosté projití intervalu v cyklu FOR postačí.Liché číslo není dělitelné 2, takže stačí použít funkci MOD (modulo), kdy zbytek po dělení 2 musí být rovný nule.Pokud je, tak jen přičteš do počet a přišteš hodnotu do součet.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Chrome 64.0.3282.15

Omlouvám se. Zbytek po dělení 2 musí být různý od nula u lichých čísel

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Chrome 63.0.3239.84

Jak vidíš, řešení je hromada. Já bych to dělal tak, že bych vzal první číslo z intervalu a zjistil, zda je liché (dělení dvěma dává zbytek).Pokud ano, sečtu všechna čísla inkrementovaná o dvě do konce intervalu.Pokud ne, přičtu mu jedničku a platí předešlý krok.Hotovo.PrasatkoPee

Souhlasím  |  Nesouhlasím  |  Odpovědět