Program z funkcja z parametrami
- eerroorr
- Użytkownik
- Posty: 366
- Rejestracja: 8 kwie 2006, o 09:28
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 58 razy
- Pomógł: 10 razy
Program z funkcja z parametrami
Mam napisać program z funkcją oblicającą n-potęgę liczby x. Z napisaniem tego programu nie mam kłopotu ale teraz musze zrobić ten sam program za pomocą funkcji z parametrami i nie wiem jak to zrobić ??
- kadiii
- Użytkownik
- Posty: 642
- Rejestracja: 20 gru 2005, o 21:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Pomógł: 130 razy
Program z funkcja z parametrami
Ale w czym dokładnie tkwi twój problem. Składnia funkcji w pascalu wygląda tak:
function nazwa-funkcji(lista-parametrów):typ-wyniku;
deklaracje-i-definicje-obiektów lokalnych
begin
instrukcje-realizujące-treść funkcji
end
Jako parametry dajesz wykładnik i podstawę potęgi a w wyniku wypisujesz wartośc obliczonej potęgi.
Całość wpisujesz przed blokiem głównym a wśrodku niego jedynie wywołujesz funkcję jej nazwą wraz z parametrami np.potęga(wykł,podst); Zrozumiałe? chyba tak
function nazwa-funkcji(lista-parametrów):typ-wyniku;
deklaracje-i-definicje-obiektów lokalnych
begin
instrukcje-realizujące-treść funkcji
end
Jako parametry dajesz wykładnik i podstawę potęgi a w wyniku wypisujesz wartośc obliczonej potęgi.
Całość wpisujesz przed blokiem głównym a wśrodku niego jedynie wywołujesz funkcję jej nazwą wraz z parametrami np.potęga(wykł,podst); Zrozumiałe? chyba tak
- eerroorr
- Użytkownik
- Posty: 366
- Rejestracja: 8 kwie 2006, o 09:28
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 58 razy
- Pomógł: 10 razy
Program z funkcja z parametrami
zrobiłem to tak:
program potego;
uses crt;
var x,y:integer;
Function potega(wykladnik,podstawa,i,a):Real;
begin
for i:=1 to wykladnik do
a:=a*podstawa;
end;
begin
clrscr;
write('podaj liczbe i potege do ktorej ma zostac podniesiona');
readln(x,y);
write(potega(x,y):5);
readln;
end.
Gdzies robie blad tylko nie wiem gdzie. Kto potrafi to poprawic ?
program potego;
uses crt;
var x,y:integer;
Function potega(wykladnik,podstawa,i,a):Real;
begin
for i:=1 to wykladnik do
a:=a*podstawa;
end;
begin
clrscr;
write('podaj liczbe i potege do ktorej ma zostac podniesiona');
readln(x,y);
write(potega(x,y):5);
readln;
end.
Gdzies robie blad tylko nie wiem gdzie. Kto potrafi to poprawic ?
- kadiii
- Użytkownik
- Posty: 642
- Rejestracja: 20 gru 2005, o 21:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Pomógł: 130 razy
Program z funkcja z parametrami
Cześć, co według ciebie oznacza write(potega(x,y):5); !!! Popatrz na ciało swojej funkcji - twój program ma strzelać co ty chcesz wypisać? Aby przypisać wartość funkcji musisz użyć jej nazwy, czyż nie? A jak dalej nie wiesz jak to wypisz wynik w funkcji(tylko opo co wtedy funkcja). Wpisz tak potega:=a; jeśli chcesz "mieć" wartość twojego wyniku w nazwie funkcji - potega. Poza tym co to jest i,a w parametrach funkcji - wpisz to wewnątrz , ale najpierw zadeklaruj. Typ parametrow tez warto by podać. Ogólnie to sporo błędów, ale człowiek na błędach uczy się najlepiej - wiem z autopsji
- eerroorr
- Użytkownik
- Posty: 366
- Rejestracja: 8 kwie 2006, o 09:28
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 58 razy
- Pomógł: 10 razy
Program z funkcja z parametrami
Mógłbyś mi poprawić ten moj program, pilnie go potrzebuje, a poza tym nie mam pojecia jak to wszystko prawidlowo napisac, mimo ze bawie sie z nim sporo czasu.
- ADAM1234
- Użytkownik
- Posty: 46
- Rejestracja: 19 wrz 2006, o 18:43
- Płeć: Mężczyzna
- Lokalizacja: BBa
- Podziękował: 8 razy
- Pomógł: 2 razy
Program z funkcja z parametrami
Kod: Zaznacz cały
function pot(podstawa:real;wykladnik:integer):real;
var i:integer;
pom:real;
begin
pom:=1;
for i:=1 to wykladnik do
pom:=pom*podstawa;
pot := pom;
end;
-
- Użytkownik
- Posty: 9
- Rejestracja: 10 lis 2006, o 01:01
- Płeć: Mężczyzna
- Lokalizacja: Śląsk(Bielsko-Biala)
- Podziękował: 3 razy
Program z funkcja z parametrami
program potega;
function potega(a:real;n:integer):real;
var i:integer;
x:real;
begin
x:=1;
for i:=1 to n do
x:=x*a;
potega := x;
end;
begin
writeln (potega(2,2):4:2);
readln;
end.
Pozdrawiam.program potega;
function potega(a,x:double):double;
begin
potega:=exp(x*ln(a));
end;
begin
writeln(potega(2,2):4:2);
readln;
end.