Skocz do zawartości

Pomoc w zrozumieniu programu napisanego w delphi


mucha99

Polecane posty

Proszę bardzo uważnie przeanalizować program i w wyznaczonym miejscu wpisać jakie wartości pojawią się na ekranie monitora. (chodzi o to żeby wpisać jakie wartości przyjmie x,y,z po każdej podanej funkcji lub procedurze)

 

Program egzamin;

var x,y,z :Word; koniec:Boolean;

procedure pisz(a,b,c:Word);

begin

writeln(a:4,b:4,c:4);

end;

 

function jeden(var a:Word; b:Word):Word;

var c:Word;

begin

a:=a+b; c:=a+1; b:=c+2;

jeden:=b-c;

end;

 

procedure dwa(var a,b:Word; c:Word);

begin

while c>a do

begin

a:=a-1; b:=a-b; c:=c-b;

end;

end;

 

procedure trzy(a: Word; var b,c:Word);

begin

repeat

koniec:=a>c;

a:=a+1; c:=c-1; b:=c+a;

until koniec;

end;

 

function cztery(var a,b:Word):Word;

begin

if a<b then b:=4 else b:=5;

case b of

1: a:=a+2;

4: a:=a+3;

5 a:=a+4;

end;

cztery:=a+b;

end;

 

Begin

x:=2; y:=3; z:=6 x:=jeden(y,z) pisz(z,x,y);

x:=10; y:=8; z:=15 dwa(x,y,z); pisz(z,y,x);

x:=2; y:=7; z:=3; trzy(x,y,z) pisz(z,y,x);

x=2; y:=3; z:=6; z:=jeden(x,y); pisz:(z,y,x);


 

Chciałabym nie tyle otrzymać wyniki, bo je mam , tylko dowiedzieć się skąd się wzięły, jak działają podane funkcje i procedury :)

Link do komentarza
Udostępnij na innych stronach

Przecież tu masz zwykłe operacje dodawania / odejmowania. To krok po kroku sobie to jak przejrzysz to przeanalizujesz. Ew. najprościej byłoby debuggerem :) dostępnym w delphi. Sprawdź jak działa ;) zakładasz sobie "obserwowanie" powiedzmy tych 3 zmiennych. A potem linijka po linijce on ci pokaże, która linijka aktualnie się wykonuje i po kolei będzie aktualizował zmienne.

 

Swoją drogą jesteś pewny, że to działa?

 

function jeden(var a:Word; b:Word):Word;
var c:Word;
begin
a:=a+b; c:=a+1; b:=c+2;
jeden:=b-c;
end;

 

W ostatniej linijce przypisujesz do "jeden" jakieś odejmowanie. Przecież na mój gust on jako "jeden" wywali, że coś nie tak bo tak samo nazywa się funkcja.

Ot taka mini-strona moja po godzinach :)http://www.wnetrzekuchni.pl

Link do komentarza
Udostępnij na innych stronach

Przecież tu masz zwykłe operacje dodawania / odejmowania. To krok po kroku sobie to jak przejrzysz to przeanalizujesz. Ew. najprościej byłoby debuggerem :) dostępnym w delphi. Sprawdź jak działa ;) zakładasz sobie "obserwowanie" powiedzmy tych 3 zmiennych. A potem linijka po linijce on ci pokaże, która linijka aktualnie się wykonuje i po kolei będzie aktualizował zmienne.

 

Swoją drogą jesteś pewny, że to działa?

 

function jeden(var a:Word; b:Word):Word;
var c:Word;
begin
a:=a+b; c:=a+1; b:=c+2;
jeden:=b-c;
end;

 

W ostatniej linijce przypisujesz do "jeden" jakieś odejmowanie. Przecież na mój gust on jako "jeden" wywali, że coś nie tak bo tak samo nazywa się funkcja.

mało znasz język.

jeden :=b-c jest równoznaczne zapisowi result:=b-c

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...