[Pascal] program liczący wariancję pascal

musol22
Użytkownik
Użytkownik
Posty: 14
Rejestracja: 8 lis 2009, o 11:29
Płeć: Mężczyzna
Lokalizacja: warszawa

[Pascal] program liczący wariancję pascal

Post autor: musol22 »

problem z wariancją w pascalu

Kod: Zaznacz cały

program wariarncja;
uses crt;
function silnia (n:integer):integer;
begin
writeln('podaj n');
readln(n);
if (n=0) or (n=1) then
silnia:=1
else silnia:= silnia(n-1)*n;
end;
function silniam (k,n,z:integer):integer;
begin
writeln ('podaj k');
readln(k);
z:=n-k;
silniam:= silniam(z-1) *z;
end;
function wariancja (w,silnia,silniam:integer ):integer;
w:=silnia/silniam;
begin
writeln('silnia wynosi',silnia(n));
silnia(n);
writeln('silnia manownika wynosi',silniam(z));
silniam(k,n,z);
writeln('wariancja wynosi');
wariancja(w)
readln;
end.
błąd wyskakuje 16 linijce
Ostatnio zmieniony 24 lis 2012, o 17:11 przez Anonymous, łącznie zmieniany 1 raz.
Powód: Kod w [code][\code]! Poprawa nazwy tematu.
abc666

[Pascal] program liczący wariancję pascal

Post autor: abc666 »

Wywołujesz w 16 linijce procedurę silniam, która przyjmuje 3 parametry, a ty podajesz jeden. Może chodziło o wywołanie procedury silnia?
pawel_wr
Użytkownik
Użytkownik
Posty: 22
Rejestracja: 25 paź 2012, o 04:00
Płeć: Mężczyzna
Lokalizacja: wroclaw
Pomógł: 3 razy

[Pascal] program liczący wariancję pascal

Post autor: pawel_wr »

Błąd jest takze w linii 19 : -> wywołanie funkcji
bez parametrów.

Także w 18 : podwojenie nazw
ksisquare
Użytkownik
Użytkownik
Posty: 132
Rejestracja: 1 cze 2012, o 07:04
Płeć: Mężczyzna
Lokalizacja: Polska
Pomógł: 15 razy

[Pascal] program liczący wariancję pascal

Post autor: ksisquare »

Po drobnym przeredagowaniu:

Kod: Zaznacz cały

program wariarncja;
uses crt;
 
function silnia (n:integer):integer;
begin
    writeln('podaj n');
    readln(n);
    if (n=0) or (n=1) then silnia:=1
    else silnia:= silnia(n-1)*n;
end;
 
function silniam (k,n,z:integer):integer;
begin
    writeln ('podaj k');
    readln(k);
    z:=n-k;
    silniam:= silniam(z-1) *z;
end;
 
function wariancja (w,silnia,silniam:integer ):integer;
    w:=silnia/silniam;
begin
    writeln('silnia wynosi',silnia(n));
    silnia(n);
    writeln('silnia manownika wynosi',silniam(z));
    silniam(k,n,z);
    writeln('wariancja wynosi');
    wariancja(w)
    readln;
end.
Kompilator podpowiada:

Kod: Zaznacz cały

prog.pas(17,26) Error: Wrong number of parameters specified for call to "silniam"
prog.pas(21,5) Warning: Unknown procedure directive had to be ignored: "identifier"
prog.pas(21,5) Fatal: Syntax error, "BEGIN" expected but "identifier W" found
Wariancja, a jakieś silnie?
ODPOWIEDZ