Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 09. 06. 2011 00:13 — Editoval ExSh00t (09. 06. 2011 00:13)

ExSh00t
Příspěvky: 224
Reputace:   
 

Pascal - zoradenie 3 čísiel

Jedná sa o program, ktorý má po zadaní 3 čísiel, zoradiť tieto čísla vzostupne A <= B <= C
Program

Pokus pre trojicu čísiel a ich kombinácií...
-iba v 2 prípadoch môj program funguje (vyznačené farbou)

PRED    PO     (zoradení)
A B C   A B C
4 9  5   4  9 5
5 9  4   5  9 4
4 5  9   4  5 9
5 4  9   4  5 9
9 4  5   4  9 5
9 5  4   5  9 4

Offline

  • (téma jako vyřešené označil(a) ExSh00t)

#2 09. 06. 2011 06:41

janca361
.
Příspěvky: 3284
 

Re: Pascal - zoradenie 3 čísiel

↑ ExSh00t:
Musíš uvažovat všechny kombinace... Teřba A>C vůbec neporovnáváš, nakresli si třeba vývoják, je to tam (podle mě) docela dobře vidět...

Já jsem to řešila třeba takto:

Offline

 

#3 09. 06. 2011 19:56

ExSh00t
Příspěvky: 224
Reputace:   
 

Re: Pascal - zoradenie 3 čísiel

mám A>B B>C A>B...A>C mi príde ako zbytočný príkaz,  (čísla majú byť zostupne, som sa v úvode pomýlil A <= B <= C)
-akonáhle A < B a B < C, tak je to jasne lebo platí, že C > B > A (A < B < C)
-akonáhle A < B,  a B > C, tak zameníme aby sme získali najväčšiu hodnotu do C => C>B (B dostalo new hodnotu, C vyriešené), porovnáme opäť AB v akom sú vzťahu, či nová hodnota je > or < ako A.
-akonáhle A > B, zameníme => B>A, porovnáme ešte s C; ak C>B, tak C vyriešení, hodnota B sa nemení, to že B>A po zámene už vieme ale ak preveríme podmienku if A>B nič sa nestane (kvôli ost. prípadom)
-A > B, zámena, B >C zámena, A nadobúda hodnotu B  a B hodnotu C (porovnávame vlastne BC v AB var, C je vyriešené, ale novovznik. premenné treba porovnať, ktorá je väčšia)

Ak sa nemýlim malo by to byť správne, problém je, že program ako keby IF nekrokoval, že ide postupne, jedna podmienka, na jej základe pristúpi k druhej a potom k tretej.

Offline

 

#4 09. 06. 2011 20:17

janca361
.
Příspěvky: 3284
 

Re: Pascal - zoradenie 3 čísiel

↑ ExSh00t:
Omlouvám se.

Pustila jsem to ve FreePascalu a fungují všechny.

Offline

 

#5 09. 06. 2011 21:09

ExSh00t
Příspěvky: 224
Reputace:   
 

Re: Pascal - zoradenie 3 čísiel

:D tak prečo to nefunguje mne? Turbo Pascal 7...dajako treba inak oddeliť if?

Offline

 

#6 09. 06. 2011 21:25

janca361
.
Příspěvky: 3284
 

Re: Pascal - zoradenie 3 čísiel

↑ ExSh00t:
Chyba není v programu, ale někde jinde.. U tebe? :D V Turbo Pascalu 7? :D Nikde? :D

Offline

 

#7 09. 06. 2011 21:30

ExSh00t
Příspěvky: 224
Reputace:   
 

Re: Pascal - zoradenie 3 čísiel

:D mňa .... to neni možné do Pascalu som napísal identický program, ale pri rošáde dvoch premenných :D som urobil chybičku a tu keď som to prepisoval to napíšem dobre, kontrolujem to a vidím rozdiel, že what?D super :D..aspoň poslúži keď niekto bude hľadať ako zoradiť 3 čísla, skusím aj tvoj postup : )

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson