Wydział Mechatroniki i Budowy Maszyn
Zakład Technik Komputerowych i Uzbrojenia
Rok I, sem. I, Podstawy Informatyki
Opracował: dr hab. inż. Zbigniew Koruba, prof. PŚk
Ćwiczenie laboratoryjne nr 2
E
DYCJA I URUCHAMIANIE PROSTYCH PROGRAMÓW W
T
URBO
P
ASCALU
Przykład 1.
Zredaguj i uruchom poniższy program wyznaczający pierwiastki trójmianu kwadratowego.
program Row_kwad;
uses
crt;
var
a, b, c, d, x0, x1, x2 : real; {typ rzeczywisty}
BEGIN
ClrScr;
GoToXY(15,10); {Ustawienie kursora w zadanym miejscu na ekranie}
Write('PROGRAM OBLICZA PIERWIASTKI ROWNANIA
KWADRATOWEGO!');
GoToXY(20,12); Write('Podaj a, b, c ');
Readln(a,b,c); {Dane oddziel spacjami, po zakończeniu naciśnij ENTER}
d:=sqr(b)-4*a*c; {sqr - kwadrat zmiennej b}
If d >= 0 then {Instrukcja warunkowa}
begin
if d = 0 then
begin
x0:=-b/(2*a);
GoToXY(20,14);
Write('Istnieje jeden pierwiastek rzeczywisty x0= ',x0:6:2); {Wynik sformatowany}
end
else {w przeciwnym przypadku, gdy warunek d=0 nie jest spełniony}
begin
x1:=(-b-sqrt(d))/(2*a); {sqrt - pierwiastek zmiennej d}
x2:=(-b+sqrt(d))/(2*a);
GoToXY(20,14); Write('Istnieją dwa pierwiastki rzeczywiste:');
GoToXY(20,16);
Write('x1= ',x1:6:2); {Wynik sformatowany z dokładnością do dwóch miejsc po
przecinku}
GoToXY(20,17); Write('x2= ',x2); {Wynik nie sformatowany}
end
end
else {W przeciwnym przypadku, gdy warunek d>=0 nie jest spełniony}
begin
GoToXY(20,14);
Write('Równanie nie posiada pierwiastków rzeczywistych!');
end;
1
Readkey
END.
• Zapisz program w pliku o nazwie ROW_KWAD.PAS
• Umieść w oknie WATCHES zmienne d oraz x1 i x2 (opcja Debug | Watch spowoduje otwarcie okna,
natomiast każdorazowe naciśnięcie klawisza Insert i wpisanie nazwy zmiennej w pojawiającym się okienku
dialogowym spowoduje umieszczenie tej zmiennej w oknie WATCHES).
• Prześledź jego działanie wykonując program krokowo (opcja Run | Trace into lub naciśnięcie klawisza F7
spowoduje jeden krok programu tj. wykonanie instrukcji z jednego wiersza programu i zaktualizowanie
wartości odpowiednich zmiennych w oknie WATCHES).
Przykład 2.
Zredaguj i uruchom program wykorzystujący instrukcję wyboru CASE. Zapisz poniższy tekst
programu w pliku o nazwie DNI_TYG.PAS
program Dni_tyg;
uses
crt;
var
d : char; {typ znakowy}
BEGIN
ClrScr;
GoToXY(15,10); Write('PROGRAM WYZNACZA DNI TYGODNIA!');
GoToXY(20,12);
Write('Podaj nr dnia tygodnia '); Readln(d);
Case d of {Instrukcja wyboru}
'1' : Write('Jest to poniedziaˆek!');
'2' : Write('Jest to wtorek!');
'3' : Write('Jest to środa!');
'4' : Write('Jest to czwartek!');
'5' : Write('Jest to piĄtek!');
'6'..'7' : begin
if d = '6' then
Write('Jest to sobota - dzień wolny od pracy!');
if d = '7' then
Write('Jest to niedziela - dzień wolny od pracy!');
end;
else
Write('Nie ma takiego dnia tygodnia!');
end;
Readkey
END.
2
Zadania do samodzielnego rozwiązania
1. Napisać i uruchomić program:
a) obliczający pole i objętość kuli o zadanym promieniu r;
b) wyznaczający liczbę minimalną spośród trzech liczb rzeczywistych zadanych przez
użytkownika;
c) obliczający kwadrat liczby ujemnej i pierwiastek liczby zawartej w przedziale
domkniętym <5, 10>. Liczba typu rzeczywistego podawana jest przez użytkownika.
Wyniki wyświetl na ekranie monitora z dokładnością do trzech miejsc po przecinku.
2. Napisać program obliczania i wyświetlania na ekranie monitora wartości funkcji f(x) dla
danej wartości rzeczywistej x wczytywane z klawiatury
≤
>
+
+
=
+
0
dla
0
dla
1
log
)
(
2
1
2
x
e
x
x
x
x
f
x
x
3. Napisać program wyświetlania na ekranie monitora równania prostej przechodzącej przez
dwa dane punkty
i
(
)
0
0
0
, y
x
P
(
)
1
1
1
, y
x
P
. Współrzędne punktów
i wczytywane są
z klawiatury komputera.
0
P
1
P
4. Napisać program czytania cyfry dziesiętnej i wyświetlania na ekranie monitora tej liczby
w zapisie rzymskim.
5. Napisać program czytania cyfry w zapisie rzymskim (zakres od I do X) i wyświetlania na
ekranie monitora odpowiadającej jej cyfrze w systemie dziesiętnym.
3