Pascal - problem z dzieleniem.

Awatar użytkownika
zolza_20
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 31 gru 2010, o 00:19
Płeć: Kobieta
Lokalizacja: Wrocław
Podziękował: 1 raz

Pascal - problem z dzieleniem.

Post autor: zolza_20 »

Witam!
Miałam zadanie napisac program, który sprawdza umiejętności dodawania, odejmowania, dzielenia, mnożenia, dzielenia całkowitego i potęgowania. Problem polega na tym, że nie wiem jak rozwiązac kwestię dzielenia. W końcu użytkownik nie jest zdolny do wpisania rzeczywistego wyniku jaki sobie pascal wyliczy i przez to zawsze wpisany wyniki przez użytkownika uznany jest za nieprawidłowy. Czy ktoś może mi pomóc poprawic ten blad w programie?
Ostatnio zmieniony 31 gru 2010, o 12:45 przez zolza_20, łącznie zmieniany 1 raz.
ordyh
Użytkownik
Użytkownik
Posty: 255
Rejestracja: 6 paź 2009, o 18:04
Płeć: Mężczyzna
Pomógł: 66 razy

Pascal - problem z dzieleniem.

Post autor: ordyh »

Każ użytkownikowi podać wynik z dokładnością, np. do drugiego miejsca po przecinku, a potem zrób

Kod: Zaznacz cały

if abs(d-liczba1/liczba2) <= 0.005 then
  dobrze
else
  źle
Awatar użytkownika
zolza_20
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 31 gru 2010, o 00:19
Płeć: Kobieta
Lokalizacja: Wrocław
Podziękował: 1 raz

Pascal - problem z dzieleniem.

Post autor: zolza_20 »

Dziękuję bardzo za pomoc. Mam tylko pytanie, dlaczego została użyta funkcja do wartości bezwzględnej? Jest możliwośc zrobienia tego w inny sposób np. za pomocą funkcji round()?

P.S.
Dlaczego jak wpisuję wynik, to muszę wcisnąc dwa razy 'enter', aby program poszedł dalej?

-- 31 gru 2010, o 11:09 --

Aaa, mam jeszcze jedno pytanie. Jak zrobic, aby losowo wybierał rodzaj działania, które zada użytkownikowi?
Awatar użytkownika
Inkwizytor
Użytkownik
Użytkownik
Posty: 4105
Rejestracja: 16 maja 2009, o 15:08
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 1 raz
Pomógł: 428 razy

Pascal - problem z dzieleniem.

Post autor: Inkwizytor »

zolza_20 pisze:Dziękuję bardzo za pomoc. Mam tylko pytanie, dlaczego została użyta funkcja do wartości bezwzględnej?
Bo wyliczasz bład względny. A wynik podany od rzeczywistego może się różnić "w górę" albo "w dół" to żeby nie pisac dwóch przypadków wrzuca się to pod wartośc bezwględną.
zolza_20 pisze: Jest możliwośc zrobienia tego w inny sposób np. za pomocą funkcji round()?
A jak chcesz inaczej zaokrąglać wynik skoro masz gotową funkcję zaokrąglającą?
zolza_20 pisze: Dlaczego jak wpisuję wynik, to muszę wcisnąc dwa razy 'enter', aby program poszedł dalej?
Ja bym przeanalizował ilośc użyć readln. Zapewne masz na końcu procedury i jak wciśniesz raz to wychodzisz z procedury i program "wpada" na kolejną linijkę readln.
zolza_20 pisze: Jak zrobic, aby losowo wybierał rodzaj działania, które zada użytkownikowi?
Osobiście bym zrobił tak:
- każde działanie w osobnej funkcji/procedurze
- w procedurze test zmienna losowa (0,4> i teraz dzielisz na 4 przedziały o długości 1 (wynik obcinasz do części całkowitej)
- w zalezności od tego do którego przedziału wpadnie zmienna losowa tę funkcje (przypisaną danemu przedziałowi) uruchamiasz. Piękne pole do popisu dla instrukcji case ;)
Awatar użytkownika
zolza_20
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 31 gru 2010, o 00:19
Płeć: Kobieta
Lokalizacja: Wrocław
Podziękował: 1 raz

Pascal - problem z dzieleniem.

Post autor: zolza_20 »

No cóż, zostało mi tylko podziękowac za próbę pomocy. Pozdrawiam.
Ostatnio zmieniony 31 gru 2010, o 12:46 przez zolza_20, łącznie zmieniany 1 raz.
Awatar użytkownika
Inkwizytor
Użytkownik
Użytkownik
Posty: 4105
Rejestracja: 16 maja 2009, o 15:08
Płeć: Mężczyzna
Lokalizacja: Poznań
Podziękował: 1 raz
Pomógł: 428 razy

Pascal - problem z dzieleniem.

Post autor: Inkwizytor »

Fora dyskusyjne mają to do siebie że wymienia sie opiniami, odpowiada na pytania, pomaga. Jednak czasami pomoc jest uzalezniona od precyzyjnego postawienia problemu lub jasnego przekazania CZEGO DOKŁADNIE się nie rozumie. Tak więc zamiast tracic czas na nic nie wnoszące wpisy lepiej chyba skonkretyzować to czego nie rozumiesz w moim wpisie?
Prosiłbym byś również zdecydował(a) się co do płci ("kretyn" jest rodzaju męskiego )...

p.s. zanim cos napiszesz, zapoznaj się z instrukcją case
ODPOWIEDZ