mucha99 Posted February 16, 2016 Report Share Posted February 16, 2016 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 to comment Share on other sites More sharing options...
olesio Posted February 17, 2016 Report Share Posted February 17, 2016 Wstaw SFORMATOWANY kod na jakiegoś zewnętrznego pastebina, bo ten forumowy i tak rozwali formatowanie. Wtedy pewnie ktoś na to spojrzy. Pozdrawiam: olesio Link to comment Share on other sites More sharing options...
5corpio Posted February 17, 2016 Report Share Posted February 17, 2016 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 to comment Share on other sites More sharing options...
babubabu Posted February 20, 2016 Report Share Posted February 20, 2016 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 to comment Share on other sites More sharing options...
5corpio Posted February 20, 2016 Report Share Posted February 20, 2016 Właśnie tak się zastanawiałem czy zwracanie w delphi tak się dało. Mea culpa. Nie kodowałem z ~8lat. Zresztą delphi umarło Ot taka mini-strona moja po godzinach http://www.wnetrzekuchni.pl Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.