Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Obliczanie pierwiastka metodą newtona w turbo pascalu, potęgowanie??

Soldier13 07 Cze 2012 21:59 2169 9
  • #1 07 Cze 2012 21:59
    Soldier13
    Poziom 10  

    Witam!
    Mam problem, długo by opisywać, ogólnie zrozumiałem już jak się oblicza pierwiastki metodą newtona, na kartce umiem, umiem też zrobić program który oblicza pierwiastki z 2 i 3 stopnia, ale muszę zrobić pierwiastkowanie z kazdego stopnia, wiem ze w jednym miejscu musze zrobic tylko potegowanie ale nie mam pojecia jak :( nie moge zastosowac zadnych innych działań prócz inkrementacji, dekrementacji, + - * /
    przez to własnie jestem w czarnej d...

    przedstawie wam 3 kody programu
    kod pierwszy pierwiastkowanie z pierwiastka 3stopnia, nie sprawdzajcie czy działa bo działa :) chodzi o to ze zamiast w miejscu działania w*w musze wstawic potęge liczby w^n-1 , w tym przypadku jest w^2 czyli po prostu w*w


    Kod: pascal
    Zaloguj się, aby zobaczyć kod



    tutaj wstawiam to co zrobiłem za pomocą funkcji ale mi nie działa :(
    Kod: pascal
    Zaloguj się, aby zobaczyć kod





    wzor na funkcje potega znalazłem w necie, działała, moze cos spieprz...em ale nie wiem co,

    wstawie wam jeszcze wzor ktyry liczy to pierwiastkowanie, we wzorze jest x zamiast w jak cos, ale bedziecie wiedziec o co kaman pewnie :)

    Obliczanie pierwiastka metodą newtona w turbo pascalu, potęgowanie??

    0 9
  • #2 08 Cze 2012 10:58
    Soldier13
    Poziom 10  

    wstawiam kod który powinien byc juz na 100% dobry, ale wyskakuje błąd
    error 26: Type Mismatch

    Kod: pascal
    Zaloguj się, aby zobaczyć kod

    0
  • Pomocny post
    #3 08 Cze 2012 11:00
    arnoldziq
    Moderator Programowanie

    Twoja funkcja licząca potęgę, przyjmuje wartości integer, a chcesz koniecznie uruchomić ją z wartością real.

    0
  • #4 08 Cze 2012 11:10
    Soldier13
    Poziom 10  

    czyli mam zamienić wszystki typy danych z integer byte i longint na real? wtedy pojdzie?

    0
  • Pomocny post
    #5 08 Cze 2012 11:15
    arnoldziq
    Moderator Programowanie

    spróbuj w ten sposób :

    Kod: pascal
    Zaloguj się, aby zobaczyć kod

    0
  • #6 08 Cze 2012 11:34
    Soldier13
    Poziom 10  

    dzięki wielkie!!! już prawie sami to zrobiliśmy jak nas naprowadziłeś na typy danych :) niby liczył ale trochę się mylił :) chwała dla takich ludzi jak ty! :D

    dodam jeszcze ze to działa na free pascal, na borland pascal wyskakuje jakiś błąd, moze tam niema jakiś opcji, nie ważne :)

    wyskakuje przy pot:=x; error 116: Must be in 8087 mode to compile this

    0
  • Pomocny post
    #7 08 Cze 2012 11:42
    arnoldziq
    Moderator Programowanie

    Po to właśnie w kodzie dodałem to {$N+}. :)
    Dodaj to do swojego kodu pod Borland-a i problemy znikną :)

    0
  • #8 08 Cze 2012 11:45
    Soldier13
    Poziom 10  

    a tak na przyszłość co to znaczy {$N+}
    nie sztuką jest przepisać, tylko wiesz zrozumieć i zapamiętać na przyszłość :)

    0
  • Pomocny post
    #9 08 Cze 2012 11:46
    arnoldziq
    Moderator Programowanie

    Czytaj wyżej :)

    0
  • #10 08 Cze 2012 11:59
    Soldier13
    Poziom 10  

    czytałem w internecie co to znaczy to {$N+} ale to cos skomplikowanego, hehe wole o tym nie myśleć :)
    jeszcze raz dziękuje :)

    0