Witam. Uczę się samemu, w domu programowania w języku Pascal. Mam podręcznik do starego Turbo Pascala i Lazarus IDE. Usiłuję wykonać prościutki programik, obliczający długość dowolnego boku trójkąta prostokątnego. Program sie kompiluje i do pewnego momentu działa, ale nie wiem czemu, nie chce się zakonczyć po spełnieniu warunku ani uruchomić ponownie pętli :/. Poniżej wklejam kod z pytaniem o radę:
program pitagoras;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
var
bok :char;
zgoda : string;
liczba1, liczba2, liczba3: real;
begin
write ('Witaj w programie Pitagoras2008!');
repeat
write (' Ktory bok chcesz obliczyc? (a, b, c)');
readln (bok);
if bok = 'a' then
write ('Podaj dlugosc drugiego boku: ');
readln (liczba1);
write ('Podaj dlugosc przeciwprostokatnej: ');
readln (liczba3);
writeln ('Dlugosc boku wynosi: ', sqrt (liczba3*liczba3-liczba1*liczba1):16:4);
write ('Czy chcesz jeszcze obliczyc ktorys bok? (tak, nie)');
readln (zgoda);
if bok = 'b'then
write ('Podaj dlugosc drugiej przyprostokatnej: ');
readln (liczba1);
write ('Podaj dlugosc przeciwprostokatnej: ');
readln (liczba3);
writeln ('Dlugosc boku wynosi: ', sqrt (liczba3*liczba3-liczba1*liczba1):16:4);
write ('Czy chcesz jeszcze obliczyc ktorys bok? (tak, nie)');
readln (zgoda);
if bok = 'c' then
write ('Podaj dlugosc pierwszej przyprostkokatnej: ');
readln (liczba1);
write ('Podaj dlugosc drugiej przyprostokatnej: ');
readln (liczba2);
writeln ('Dlugosc przeciwprostokatnej wynosi: ', sqrt (liczba1*liczba1+liczba2+liczba2):16:4);
write ('Czy chcesz jeszcze obliczyc ktorys bok? (tak, nie)');
readln (zgoda);
until zgoda = 'nie';
end.
Za wszystkie odpowiedzi z góry dziękuję i pozdrawiam!