Witam
Jestem całkiem początkującym w kwestii funkcji i procedur Pascala.
Mam do wykonania dwa zadania i nie do końca umiem sobie z nimi poradzić.
Będę wdzięczna za pomoc.
Program Liczby_pierwsze -> program, który wyszuka liczby pierwsze z przedziału [2..N]
Udało mi sie go wykonać, ale nie wiem jak sprawić, by program powtarzał się dopóki nie nacisnę klawisza np. "Q".
Oraz dźwiękiem i komunikatem "błędne dane!" sygnalizował błąd jeśli zostanie wybrana litera lub zły klawisz.
Program Liczby_pierwsze;
Uses Crt;
Var N, K : Integer;
i, j : Integer;
Licz : Integer;
Begin
Repeat
Clrscr;
textcolor(3);
Writeln('Podaj liczbe naturalna z przedzialu (2;N)');
Write('n = ');
Readln(N);
Until (N > 2);
K:= 2;
textcolor(13);
Write('Liczby pierwsze: ',2,' ');
For i:=2 To N Do Begin
Licz :=0;
For j:=2 To N Do
If ((i mod j) = 0) Then Licz:=Licz+1;
If Licz = 3 Then Begin
Write(i,' ');
K:=K+1
End;
End;
Writeln;
Writeln('Liczba liczb pierwszych = ',k);
Repeat Until Keypressed;
End.
Program Celsjusz_Fahrenheit -> Zamiana temperatury ze skali Celsjusza na skalę Fahrenheita i odwrotnie wg poniższych wzorów:
°F = (°C × 9/5) + 32
°C = (°F − 32) * 5/9
Ten program jest dla mnie bardzo trudny do wykonania, zrobiłam coś co wg mnie powinno działać, ale niestety tak nie jest.
Nie widać kolorów, nie czyta 'f' i 'c' i nie powtarza się do momentu wyboru np. "Q".
Nie wiem jak sie do tego zabrać.
program Celsjusz_Fahrenheit;
uses crt;
var
skala : char;
temp : real;
wynik: real;
begin
clrscr;
writeln;
writeln ( ' Zamiana temperatur ze skali Celsjusza na skale Fahrenheita i odwrotnie:');
writeln;
writeln ( 'Oznaczenie skal: ');
writeln ( ' C skala Celsjusza');
writeln ( ' F skala Fahrenheita');
writeln;
writeln('wprowadz temperature: ');
read (temp);
writeln('podaj skale w jakiej chcesz uzyskac wynik: ');
skala:=readkey;
case skala of
'C':begin
textcolor(3);
wynik:= (temp*(9/5))+32 ;
writeln(temp:5:1,' C',' = ', wynik:5:1,' F');
end;
'F':begin
textcolor(14);
wynik:=(temp-32)*(5/9);
writeln(temp:5:1,' F',' = ', wynik:5:1,' C');
end
else
begin
textcolor(15);
writeln ('Bledne dane!!');
sound(1500) ;
delay(300);
nosound;
delay(1000);
end;
end;
end.
Z góry dziękuję za pomoc!