Wątek przeniesiony 2016-02-16 22:47 z Delphi i Pascal przez furious programming.

Pomoc w zrozumieniu programu w Delphi

0

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);

Jeśli ktoś potrafi rozwiązać to zadanie, bardzo proszę o pomoc, zależy mi też na komentarzu skąd wzieły się wyniki, ponieważ na egzaminie będę miała inne dane :)

1

Ejjj laska, chyba sobie robisz żarty!
Z tego co rozumiem to masz napisany program i wystarczy go uruchomić i sprawdzić co zwróci. To jest twój problem?

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

Wywołujesz funkcję "jeden"

a:= 3 + 6;
c:= 9 + 1;
b:= 10 + 2;
jeden:= 12 - 10;

x = 2

itd.

0

Sugeruje popatrzeć na to jak na zadanie z matematyki, bo w zasadzie tym dokładnie jest. Masz np. funkcje "jeden" o dwóch argumentach a oraz b
Funkcja ta wykonuje operacje:

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

czyli w praktyce:

jeden:=c+2 - c = 2

Więc masz po prostu funkcje f(a,b) = 4 i domyślam się że z matematyki wiesz jak podać wartość tej funkcji dla dowolnej pary argumentów a oraz b. Pozostałe funkcje rozpatruj analogicznie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1