Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

[Pascal] Pierwiastkowanie

neuczarny
-
-
Posty:8
Rejestracja:10 lip 2005, o 09:13
Lokalizacja:Gdańsk
[Pascal] Pierwiastkowanie

Postautor: neuczarny » 10 lip 2005, o 09:16

Witam,
glowie sie jak rozpisac pierwiastkowanie jako algorytm w pascalu.
Niestety nic mi nie przychodzi do glowy wiec zwracam sie do was o rade.
Jak rozpisac pierwiastkowanie? :?

czarutek

Postautor: czarutek » 10 lip 2005, o 18:01

Co masz na myśli pod "rozpisać pierwiastkowanie"?
W standardowych jest tylko SQRT, czyli pierwiastek kwadratowy. Chcesz funkcję na pierwiastek dowolnego stopnia?

neuczarny
-
-
Posty:8
Rejestracja:10 lip 2005, o 09:13
Lokalizacja:Gdańsk

Postautor: neuczarny » 11 lip 2005, o 08:39

Chcesz funkcję na pierwiastek dowolnego stopnia?
Tak wlasnie to mam na mysli.
Niestety nie jestem sam tego rozgrysc.

czarutek

Postautor: czarutek » 11 lip 2005, o 11:26

Głowisz się, bo nie miałeś chyba jeszcze logarytmów i funkcji wykładniczych...
Pascal daje standardowe funkcje Exp oraz Ln, dzięki którym policzysz między innymi pierwiastek 'dowolnego' stopnia z 'dowolnej' liczby.
Aby "zmiennej_y" nadać wartość "pierwiastek_stopnia_wyrażenie_b z wyrażenia_a", musisz wykonać instrukcję:
y:=exp(1/b*ln(a))
Pamiętaj o typach...

neuczarny
-
-
Posty:8
Rejestracja:10 lip 2005, o 09:13
Lokalizacja:Gdańsk

Postautor: neuczarny » 12 lip 2005, o 09:01


nie miałeś chyba jeszcze logarytmów i funkcji wykładniczych...
Tak nie mialem tego.
Sam sie ucze programowania.
Zaczelem od najprostrzego czyli Pascala :mrgreen:

Moglbys rozposac program

a,b,y biore jako zmienne ze zbioru Real
Wyskakuje mi blad w wyrazeniu ktore mi podales.

czarutek

Postautor: czarutek » 12 lip 2005, o 09:06

Wpisz tu ten kawałek swojego źródła
oraz
napisz dokładną treść komunikatu o błędzie.

neuczarny
-
-
Posty:8
Rejestracja:10 lip 2005, o 09:13
Lokalizacja:Gdańsk

Postautor: neuczarny » 13 lip 2005, o 07:58

Kod: Zaznacz cały

Program pierwiastkowanie; Var a,b,y:Real; Begin Readln(a); Readln(b); y:=exp(1/b*In(a)); <-Tutaj wyskakuje blad(Error 42: Error in expression) Write('Wynik= ',y); Clrscr; Repeat until keypressed; End.
Tak to wpisalem.

czarutek

Postautor: czarutek » 13 lip 2005, o 08:34

y:=exp(1/b*In(a)); <-Tutaj wyskakuje blad(Error 42: Error in expression)
Tu zrobiłeś błąd - napisałeś In(a), zamiast ln(a) (ln = Logarytm Naturalny).
Ponadto - nie mam Pascala, nie pamiętam i nie mam czasu czytać... Na oko a, b i y mogą być Realami (jeśli chodzi o typ), ale tu dochodzą jeszcze dziedziny. Jak sam widzisz b<>0 oraz a>0. Jeśli b przyjmie wartość 0, wyskoczy błąd wykonania "dzielenie przez 0". Jeśli a<=0, powinien wyskoczyć błąd kompilacji, gdyż dziedziną argumentów funkcji Logarytm jest R+.

neuczarny
-
-
Posty:8
Rejestracja:10 lip 2005, o 09:13
Lokalizacja:Gdańsk

Postautor: neuczarny » 13 lip 2005, o 09:31

Dziekuje czarutek za pomoc i cierpliwosc.
Wszystko dziala.

PS. Znasz jakis kurs Pascala dla zielonych z ktorego bym mogl sie uczyc.
Uzywam http://www.pascal.eu.org/index2.htm ale z tego co widze wiele tam brakuje :mrgreen:

Pozdrawiam

czarutek

Postautor: czarutek » 13 lip 2005, o 09:46

Wiesz, przejrzałem same tytuły...
Jeśli będziesz umiał to, to już baaardzo dużo... ;)
Czego Twoim zdaniem tam brakuje?

neuczarny
-
-
Posty:8
Rejestracja:10 lip 2005, o 09:13
Lokalizacja:Gdańsk

Postautor: neuczarny » 13 lip 2005, o 10:56

Czego Twoim zdaniem tam brakuje?
Chociazby tej komendy LN.
Zreszta Pascal jest dla mnie wstepem do innych jezykow.
Jeszcze raz dziekuje za pomoc.

czarutek

Postautor: czarutek » 13 lip 2005, o 11:02

No faktycznie. Na oko nie widać działu typu "Funkcje i Procedury Standardowe (predefiniowane)".
Ale obciach...
Zaglądaj do Helpa swojego kompilatora, to przeważnie najlepsze źródło.

neuczarny
-
-
Posty:8
Rejestracja:10 lip 2005, o 09:13
Lokalizacja:Gdańsk

Postautor: neuczarny » 13 lip 2005, o 12:38

czarutek widze ze nie jestes laikiem wiec mam do ciebie jeszcze jedno pytanie:
Na jaki bardziej zaawansowany jezyk przejsc po Turbo Pascalu abym nie mial problemow z obsluga.

czarutek

Postautor: czarutek » 13 lip 2005, o 13:01

Neuczarny, to zależy od potrzeb. Każdy będzie chwalił to, co sam już zna, a krytykował to, czego nie umie. Moim zdaniem warto iść z duchem czasu, czyli w miarę uniwersalny byłby chyba C, dający w dodatku łatwy dostęp do sprzętu bez wstawek assemblerowych. Nie znam C... ;)
Ale "z obsługą" jakieś tam problemy będziesz miał zawsze.
Najważniejsze jest wg mnie wyczucie samej idei algorytmu programu. Wtedy większość zadań zrealizujesz pod każdym kompilatorem (znając składnię itd.).

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 13 lip 2005, o 19:03

Znajac pascala latwo bedzie Ci przestawic sie na Delphi. Pozatym wszelkie uniwersalne opisy algorytmow pisane sa bardzo podobnie do skladni pascalowskiej, programy wspomagajace algorytmike i zaawansowane obliczenia tez maja podobna skladnie, np. Maple.

Jesli jednak chcesz sie uczyc czegos innego, to bezapelacyjnie proponuje C. Zacznij od klasycznego C, ANSI C. Pozniej zapoznasz sie z C++, albo mozesz odrazu przeskoczyc do Javy, PHP czy innych pochodnych.

neuczarny
-
-
Posty:8
Rejestracja:10 lip 2005, o 09:13
Lokalizacja:Gdańsk

Postautor: neuczarny » 14 lip 2005, o 06:58

Zastanawialem sie troche stwierdzilem ze bede sie uczym Delphi i C++ rownolegle.
Mam zarowno kursy dla C++(Symfonia C++) jak i dla Delphi wiec powinienem sobie dac rade za ich pomoca sie nauczyc.
Gdy naucze sie chociaz pobieznie obu bede mogl stwierdzic ktory mi bardziej odpowiada.

PS.Mam nadzieje ze nie bedziecie mieli nic przeciwko jezeli bede sie zwracal do was z moimi problemami ktore spotkam na swojej drodze do programowania :mrgreen:

Pozdrawiam

Wróć do „PLD/FPGA i inne zagadnienia techniki cyfrowej”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość