Program w Pascalu - problem z warunkiem

Awatar użytkownika
luigi
Użytkownik
Użytkownik
Posty: 67
Rejestracja: 3 paź 2006, o 16:47
Płeć: Mężczyzna
Lokalizacja: Głuchołazy
Podziękował: 8 razy
Pomógł: 1 raz

Program w Pascalu - problem z warunkiem

Post autor: luigi »

Dla average=1.8 wyświetla się "dopuszczający", ale przecież jest warunek że na dopuszczjący average>1.8, więc powinno być "niedostateczny". Czego tu brakuje, gdzie jest błąd?

Kod: Zaznacz cały

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  average : real;


begin

write('Wprowadz srednia: ');
readln(average);
if average>5.5 then
                  writeln('Ocena koncowa: celujacy')
               else
                  if (average>4.75) and (average<=5.5) then
                                                          writeln('Ocena koncowa: bardzo dobry')
                                                       else
                                                          if (average>3.75) and (average<=4.75) then
                                                                                                   writeln('Ocena koncowa: dobry')
                                                                                                else
                                                                                                   if (average>2.75) and (average<=3.75) then
                                                                                                                                            writeln('Ocena koncowa: dostateczny')
                                                                                                                                         else
                                                                                                                                            if (average<=2.75) and (average>1.8) then
                                                                                                                                                                                    writeln('Ocena koncowa: dopuszczajacy')
                                                                                                                                                                                 else

                                                                                                                                                                                    writeln('Ocena koncowa: niedostateczny');


readln;
end.
Awatar użytkownika
Sokół
Użytkownik
Użytkownik
Posty: 451
Rejestracja: 17 wrz 2006, o 19:22
Płeć: Mężczyzna
Lokalizacja: Zielona Góra
Podziękował: 15 razy
Pomógł: 55 razy

Program w Pascalu - problem z warunkiem

Post autor: Sokół »

Kod: Zaznacz cały

if (average<=2.75) and (average>1.8) then 
zmień na

Kod: Zaznacz cały

if (average<=2.75) and (average<1.8) then 
zanim zaczniesz mowic, ze nie bedzie dzialac - sprobuj
Awatar użytkownika
luigi
Użytkownik
Użytkownik
Posty: 67
Rejestracja: 3 paź 2006, o 16:47
Płeć: Mężczyzna
Lokalizacja: Głuchołazy
Podziękował: 8 razy
Pomógł: 1 raz

Program w Pascalu - problem z warunkiem

Post autor: luigi »

dlaczego... działa?
bagin
Użytkownik
Użytkownik
Posty: 14
Rejestracja: 18 paź 2006, o 19:49
Płeć: Mężczyzna
Lokalizacja: Częstochowa
Pomógł: 3 razy

Program w Pascalu - problem z warunkiem

Post autor: bagin »

no tak, ale jak wpiszesz 1.7 to już nie będzie działać.
myślę, że lepiej będzie podać dokładniejszą wartość w warunku. Średnią zazwyczaj podajesz do 2 miejsc po przecinku, więc jak w warunku zamiast 1.8 podasz 1.801 nie zrobi to wielkiej różnicy,a program rozróżni, że 1.8 to ocena niedostateczna
Awatar użytkownika
Sokół
Użytkownik
Użytkownik
Posty: 451
Rejestracja: 17 wrz 2006, o 19:22
Płeć: Mężczyzna
Lokalizacja: Zielona Góra
Podziękował: 15 razy
Pomógł: 55 razy

Program w Pascalu - problem z warunkiem

Post autor: Sokół »

no tak, ale jak wpiszesz 1.7 to już nie będzie działać.
będzie.

skompilowany program
zrodlo
bagin
Użytkownik
Użytkownik
Posty: 14
Rejestracja: 18 paź 2006, o 19:49
Płeć: Mężczyzna
Lokalizacja: Częstochowa
Pomógł: 3 razy

Program w Pascalu - problem z warunkiem

Post autor: bagin »

hmm z tego co zauważyłem to kod , który podałeś na stronie jest ten sam co kod luigi'ego , na wszelki wypadak z kopiowałem go do kompilatora
otrzymane wyniki były następujące:
dla średniej 2.0 dop
1.8 dop -> powinno być ndst
1.7 ndst
potem wprowadziłem poprawki jakie zaleciłeś w pierwszym poście:

zamiast if (average1.8) then
wstawiłem if (average powinno być dop
1.8 ndst
1.7 dop -> powinno być ndst
Awatar użytkownika
Sokół
Użytkownik
Użytkownik
Posty: 451
Rejestracja: 17 wrz 2006, o 19:22
Płeć: Mężczyzna
Lokalizacja: Zielona Góra
Podziękował: 15 razy
Pomógł: 55 razy

Program w Pascalu - problem z warunkiem

Post autor: Sokół »

a no racja, skompilowalem nie to co trza i dlatego.
ODPOWIEDZ