Program z funkcja z parametrami

Awatar użytkownika
eerroorr
Użytkownik
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

Post autor: eerroorr »

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ć ??
Awatar użytkownika
ADAM1234
Użytkownik
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

Post autor: ADAM1234 »

ale w jakim języku?
Awatar użytkownika
eerroorr
Użytkownik
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

Post autor: eerroorr »

zapomniałem napisać - w Turbo Pascalu
Awatar użytkownika
kadiii
Użytkownik
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

Post autor: kadiii »

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
Awatar użytkownika
eerroorr
Użytkownik
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

Post autor: eerroorr »

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 ?
Awatar użytkownika
kadiii
Użytkownik
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

Post autor: kadiii »

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
Awatar użytkownika
eerroorr
Użytkownik
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

Post autor: eerroorr »

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.
Awatar użytkownika
ADAM1234
Użytkownik
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

Post autor: ADAM1234 »

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; 
kleeex
Użytkownik
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

Post autor: kleeex »

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.
program potega;
function potega(a,x:double):double;
begin
potega:=exp(x*ln(a));
end;
begin
writeln(potega(2,2):4:2);
readln;
end.
Pozdrawiam.
ODPOWIEDZ