Witam. Poszukuje programów: silnia, średnia, największy wspólny dzielnik, potęgowanie, tyle że na funkcji rekurencyjnej. Czy jest ktoś w stanie wskazać miejsce gdzie takie coś znajdę? Na pewno gdzieś widziałem ostatnio na tym forum, ale niestety teraz nie mogę się tego doszukać. Dziękuje za pomoc.
Poszukuje programów: funkcja rekurencyjna
- Rejestracja: dni
- Ostatnio: dni
http://lmgtfy.com/?q=silnia+rekurencja+pascal
Dalej sobie poradzisz :)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 18
**Obliczanie potęgi: **
program nazwa;
uses crt;
var
z,x:integer;
i:integer;
function potega(a,b:integer):integer;
var
c:byte;
begin
c:=a;
for i:=0 to b do
begin
if b=0 then c:=1;
if i>1 then
c:=c*a
end;
potega:=c;
end;
begin
clrscr;
writeln('Podaj podstawe');
readln(z);
writeln('Podaj wykladnik');
readln(x);
writeln('Wynik: ',potega(z,x));
readln;
end.
**Obliczanie średniej do podania 0: **
program nazwa;
uses crt;
var
a,b,c,d:integer;
function srednia1(b,c:integer):real;
var
srednia:real;
begin
c:=c-1;
srednia1:=b/c;
end;
begin
clrscr;
c:=0;
d:=1;
repeat
clrscr;
writeln('Podaj ',d,' liczbe');
readln(a);
b:=b+a;
c:=c+1;
d:=d+1
until a=0;
clrscr;
writeln(srednia1(b,c):0:2);
readln;
end.
Więc czy te kody są poprawne? To posiadam z lekcji, jednak nie mogę nigdzie znaleźć największego wspólnego dzielnika na rekurencji. Przepraszam za brak formatowania, ale nie wiem w jaki sposób to robić, aby było czytelne.
- Rejestracja: dni
- Ostatnio: dni
pierwszy wynik: http://www.google.com/search?&q=pascal+nwd+rekurencyjnie [glowa]
- Rejestracja: dni
- Ostatnio: dni
- Postów: 18
program EuklidesRekurencyjnie;
uses crt;
var a,b:integer;
function NWD(a,b:integer):integer;
begin
if b=0 then NWD:=a else NWD:=NWD(b,a mod b);
end;
Begin
clrscr;
write('podaj 1 liczbe');
read(a);
write('podaj 2 liczbe');
read(b);
begin
writeln(NWD(a,b));
repeat until keypressed;
end;
end.
A mógłbyś wytłumaczyć o co chodzi w tym fragmencie: NWD:=NWD(b,a mod b); ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 18
I czy te dwa wcześniej podane przeze mnie programy są poprawne?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
- Postów: 13042
NWD:=NWD(b,a mod b);
Jako wynik funkcji przypisujesz wynik funkcji NWD wywołanej z parametrami b oraz a mod b
I czy te dwa wcześniej podane przeze mnie programy są poprawne?
Sformatuj je jak człowiek, to może ktoś na nie spojrzy.
- Rejestracja: dni
- Ostatnio: dni
Co wy chcecie, na lekcji nie był, to trzeba za niego odrabiać :)
