Dodaj do ulubionych

[pascal]-Dziwny komunikat w peti

29.12.05, 21:42
Witam
Pisze sobie program, pisze, i mam sobie cos takiego:

a:real;
dl:lomgint;
...
a:=(dl div 2);

To "a" jest w petli, po pierwszym wykonaniu petli dostaje ladny wynik, ale
przy drugiej probie gdy dochodzi do "a" dostaje komunikat: "Program recieved
signal SIGFPE Arithmetic exception". Czy to wina tego, że "a" ma juz cos
przypisane? Jesli tak to jak "wyzerowac" to "a"?

pozdrawiam
b
Obserwuj wątek
    • mx-5 Re: [pascal]-Dziwny komunikat w peti 29.12.05, 22:02
      Polecam debuggera i watcha i zobaczyc co sie konkretnie dzieje.
      Sigfpe jest jedynym z sygnalow standardu POSIX:
      sig - od signal i fpe - floating point exception.
      Sygnal ten jest wysylany od systemu operacyjnego wtedy, gdy moze nastapic jakis
      rodzaj przepelnienia (overflow).Ogolnie jednak jest pare sytuacji, ktore
      generuja ten sygnal:

      - dzielenie przez zero liczby calkowitej
      - przepelnienie zakresu liczb calkowitych ( typ integer )
      - dzielenie przez zero liczy niecalkowitej ( float, real jak tam chcesz )
      - przepelnienie zakresu float,real
      - roznorodne wyjscia poza zakres
      - niedomiar( underflow) dla liczby real,float

      Niestety nie moge powiedziec wiecej bez znajomosci kodu programu.
      Pozdrawiam!
      • jasnoniebieski.5 Re: [pascal]-Dziwny komunikat w peti 29.12.05, 22:17
        A co tam, niech strace:) i tak chyba nikt nie zorientuje sie o co chodzi w tym
        zadanku :)

        Aha, zapomniales dopisac w tych wypisanych przez Ciebie sytuacjach mojej osoby :)
        ok, kawalek tego kodu:

        Program pewienprog;
        uses
        crt;
        var
        i,h,g,w:real;
        c,licz,q,lz:longint;
        k:boolean;
        a,dl,m1,m2,iwp1,iwp2:longint;
        wynik:real;

        Procedure parzy();
        begin
        a := (dl div 2);
        if iwp2 < a then
        begin
        h:=dl+m1;
        g:=h-m2;
        w:=g/iwp2;
        wynik:=w;
        writeln(wynik:0:0);
        end
        else
        begin
        if iwp2 = a then
        begin
        ...(w dalszej czesci tej procedury "a" juz nigdzie nie wystepuje wiec nie bede
        zasmiecac)
        I w calym programie nigdzie wiecej nie ma "a". W powyzszym przypisalem
        a:longint; ale nadal pojawia sie to samo. Po pierwszej petli w "a" jest
        przykladowo "3". Potem wlasnie sypie sie ten program:)

        pozdrawiam
        b
        • mx-5 Re: [pascal]-Dziwny komunikat w peti 29.12.05, 22:30
          Po pierwsze nie bardzo widze petle w tym programie ;)
          Po drugie gdy wklepalem go do siebie , tp za pierwszym razem wchodzi do drugiego
          if-a ( tego ktorego nie dodales ;)) ale to szczegol bo....
          - dl jest niezainicjowane, iwp2 podobnie.Funkcja parzy nie przyjmuje zadnych
          argumentow, wiec wartosci tych zmiennych sa nieokreslone.Moga pod nimi byc
          dowolne liczby stad dziwne wyniki programu.A co chcesz napisac i do czego ma
          sluzyc ten program ? :)
          • jasnoniebieski.5 Re: [pascal]-Dziwny komunikat w peti 29.12.05, 22:39
            Hm...wiecej szczegolow na twoim mejlu :)
            • jasnoniebieski.5 Re: [pascal]-Dziwny komunikat w peti 29.12.05, 22:39
              oczywisice mialo byc: "na twojej skrzynce" :) wogole juz nie mysle
              • mx-5 Re: [pascal]-Dziwny komunikat w peti 29.12.05, 22:49
                Czekam, bo narazie skrzynka pusta :)
                Dla pewnosci moj mail:

                mx-5@gazeta.pl

                • mx-5 Re: [pascal]-Dziwny komunikat w peti 29.12.05, 22:50
                  spoko doszlo :) falszywy alarm ;)
    • mx-5 Re: [pascal]-Dziwny komunikat w peti 29.12.05, 23:54
      Teraz Ty sprawdz poczte ;)
    • mx-5 Re: [pascal]-Dziwny komunikat w peti 30.12.05, 00:05
      Hmmm.. nie moge do Ciebie wyslac maila , wyskakuja mi jakies errory :/
      Sproboj utworzyc jakies konto z mailem na tlenie jednorazowe , bo zaraz bedziesz
      mial pelno spamu i wysle Ci pierwsza wersje tego zadanka :)
      • hydroxyzine Re: [pascal]-Dziwny komunikat w peti 30.12.05, 00:12
        A może byście tak upublicznili te pogaduszki? Jest prawdopodobne, że kiedyś
        komuś się przyda ta informacja - wszak to forum.
        • mx-5 Re: [pascal]-Dziwny komunikat w peti 30.12.05, 02:06
          ok poszlo :)
          Moje zabezpieczenia linuxowe sapaly sie o nieznana osobe ;)
Inne wątki na temat:

Nie pamiętasz hasła

lub ?

 

Nie masz jeszcze konta? Zarejestruj się

Nakarm Pajacyka