Witam!
Mam problem z Programowaniem.
Nie ogarniam funkcji i procedur, a niebawem sprawdzian. Babka zaiwania jak szalona, było z tego 3-4 lekcje i już sprawdzian. Przykładów praktycznie nic, tyle co pokazywała na lekcji ( nie zdążyłem spisać ). A niestety jestem taki, że zrozumiem dopiero, gdy przysiądę nad problemem w domu.
Problem jest taki. Po pierwsze, nie rozumiem dokładnie zmiennych/parametrów lokalnych, globalnych, formalnych, aktualnych ( są jeszcze jakieś? ).
Nie rozumiem też ogólnie metody wprowadzania procedur.
Może dla przykładu dam program. Proszę o na prawdę proste, wręcz łopatologiczne wytłumaczenie problemu.
Przykład:
program kwadrat;
var
a,c,c,x1,x2: Real; { Są to zmienne globalne, tak? }
liczba: Real;
Procedure rownaniekwadratowe (a,b,c: Real;
var liczbarozwiazan: Byte; {Jeśli powyżej są zadeklarowane zmienne globalne, to po co te same
var x1,x2:Real ); zmienne deklaruje się w procedurze? }
var
Delta:Real {A to jaka jest zmienna? Czemu stoi tutaj?}
begin { OD TĄD
Delta:=sqr(b)-4*a*c;
if (Delta<0) then Liczbarozwiazan:=1
else
if (Delta:=0) then
begin
Liczbarozwiazan:=1;
x1:=-b/(2*a);
end.
else
begin
Liczbarozwiazan:=2;
x1:=(-b-agrt(Delta))/(2*a);
x2:=(-b+agrt(Delta))/(2*a); DO TĄ to deklaracja procedury, tak? }
end.
begin
Write('Podaj A'); Read('A');
Write('Podaj B'); Read('B');
Write('Podaj C'); Read('C');
Rownaniekwadratowe (a,b,c,liczba,x1,x2);
if (liczba:=0) then writeln ('Brak rozwiazania') {Tutaj wywołujemy procedurę, tak? Po co te zmienne w
else nawiasie? Przypisujemy do nich wartości?}
if (liczba:=1) then writeln('1rozwiazanie')
else writeln ('2 rozwiazania');
repeat untill keypressed;
end;
Proszę o pomoc.
Pozdrawiam!