webForumDet fria alternativet

Function i Pascal

Programmeringur Programmering - Övrigt

4 svar · 493 visningar · startad av dahlgren

Medlem sedan aug. 20011 946 inlägg
Frågan#1

Kan inte lyckas få till en enkel funktion i pascal. vad den gör är ovesentligt, viktigt är att jag lär mig principen. Koden ndean ger felet: d:\mina dokument\pascal\array.pas:11: too many arguments to routine `Hej'

program test;
var x:integer;
function hej:integer;
var tal1:integer;
begin
tal1:=x+2;
hej:=tal1;
end;
begin
x:=2;
writeln(hej(x));
readln;
end.
Medlem sedan juni 20008 205 inlägg
#2

Jag tror att det du är ute efter är procedure hej (arg:integer); och inte function hej:integer; eftersom det senare är signaturen för en funktion som inte tar några argument men returnerar en integer, och det förra är en procedur (som alltså inte returnerar något) och som tar emot en integer.

Mvh, en som handleder en del i Pascal ;) (om än inte åt DSVL:are)

Medlem sedan aug. 20011 946 inlägg
#3

Jag må vara trög och dömd att misslyckas på tentan men jag förstå inte. Änen om jag kör om det till en procedure så blir det fel.

Medlem sedan aug. 2000234 inlägg
#4

Du anropar funktionen hej i ditt huvudprogram med argumentet x, men du har inte gjort funktionen så att den tar emot något argument.

function Hej(tal: integer): integer;
begin
    tal := tal + 1;
    Result := tal;
end;
Medlem sedan aug. 20011 946 inlägg
#5

Tacknu förstår jag. Det innanför () är vad som tas emot och det efter är hur resultatet ska presenteras. Trodde det räckte med den sista endast.

134 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)