1
Wydział: Zarządzania i Modelowania Komputerowego
Przedmiot: Podstawy Informatyki
Rok I Semestr 2
Opracował: dr inż. Jan Sztechman
ĆWICZENIE 1
(algorytmy obliczeniowe)
Przykład 1
Opracować schemat blokowy algorytmu, który rozwiązuje równanie kwadratowe ax
2
+bx+c=0.
W przypadku, gdy a=0 należy wyprowadzić tekst ‘Blad’ . Jeżeli brak jest pierwiastków rzeczywistych należy
sygnalizować taką sytuację komunikatem ‘Brak’.
Wykorzystując program FlowChart ( znajduje się on na dysku sieciowym J: w katalogu Algorytmy\bin )
utwórz przedstawiony poniżej schemat.
Wykonanie rozpocznij od funkcji Plik/Nowy a następnie umieszczaj na schemacie kolejne elementy
wykorzystując Toolbox.
Uwagi:
-
umieszczanie nowych elementów schematu możliwe jest tylko w określonych miejscach tzn. na liniach
już istniejącego schematu, które zmieniają kolor na czerwony w momencie najechania na nie myszką,
-
wewnątrz symboli graficznych należy umieszczać zapisy zgodnie z zasadami podanymi na wykładzie
(błędny zapis sygnalizowany jest kolorem czerwonym),
-
wszystkie zmienne występujące w schemacie algorytmu muszą być deklarowane (funkcja
Narzędzia/Deklaracje)
2
Sprawdź działanie algorytmu. W tym celu uruchom funkcje Narzędzia/Generuj i wybierz język Pascal.
W okienku Błędy i ostrzeżenia naciśnij Kontynuuj po czym otrzymasz kod programu w języku Pascal dla
opracowanego algorytmu. Wykonaj funkcję Kompiluj program określając lokalizację oraz nazwę pliku, w
którym zapamiętany będzie kod programu. Po zakończeniu kompilacji zamknij okienko DOS-owe i wybierz
funkcję Uruchom program. Wprowadź trzy liczby zapisane w jednej linii i oddzielane spacją np.:
1 1 -6
Sprawdź poprawność otrzymanych wyników. Zmień w schemacie sposób drukowania wyników, zmieniając
zapisy w blokach wyjścia na: drukuj(x1:6:2) oraz drukuj(x2:6:2). Powtórz generowanie i uruchamianie
programu dla zmienionego algorytmu. Sprawdź działanie programu dla innych danych.
Zadanie 1
Opracuj schemat blokowy algorytmu, który wczytuje trzy liczby a, b i c a następnie oblicza i drukuje ich
sumę, iloczyn oraz sumę odwrotności.
Zadanie 2
Opracuj schemat blokowy algorytmu, który oblicza odległość między dwoma punktami na płaszczyźnie.
Punkty reprezentowane są przez pary współrzędnych (x
1
, y
1
) oraz (x
2
, y
2
).
Odległość obliczana jest wg wzoru
(
) (
)
2
2
1
2
2
1
y
y
x
x
d
−
+
−
=
Zadanie 3
Opracować algorytm, który wyznacza pole powierzchni trójkąta dla danych długości jego boków a,b i c.
Uwaga:
Skorzystać ze wzoru Herona
2
)
(
)
(
)
(
c
b
a
p
gdzie
c
p
b
p
a
p
p
s
+
+
=
−
⋅
−
⋅
−
⋅
=
Jeżeli dla danych długości boków trójkąt nie istnieje należy wyprowadzać napis „Blad”.
Zadanie 4
Opracuj schemat działania algorytmu, który rozwiązuje układ dwóch równań liniowych:
a
1
x + b
1
y = c
1
a
2
x + b
2
y = c
2
Zastosuj metodę wyznaczników.
W
W
y
W
W
x
c
a
c
a
W
b
c
b
c
W
b
a
b
a
b
a
b
a
W
2
1
2
2
1
1
2
2
2
1
1
1
1
2
2
1
2
2
1
1
det
det
det
=
=
=
=
⋅
−
⋅
=
=
W przypadku układu sprzecznego drukuj napis ‘Brak’ a w przypadku, gdy układ równań ma nieskończenie
wiele rozwiązań drukuj napis ‘Wiele’. Sprawdź działanie algorytmu dla układów równań:
a)
2x -y=3
b) 2x+2=3
c) 2x+2=3
3x+y=7
4x+4=6
4x+4=5
Zadanie 5
Opracować algorytm, który dla danej wartości x drukuje wartość funkcji danej wzorem:
>
≤
≤
<
=
2
1
2
0
sin
0
0
2
π
π
x
dla
x
dla
x
x
dla
y