Informatyka - Podstawy Programowania w J
ę
zyku C++
Kierownik przedmiotu: Sławomir Czarnecki
prow. Rafał Michalczyk / Zbigniew Trybocki
Zadania na laboratorium nr. 3 dla grupy 4
0. Napisz kod programu, wczytującego wartość liczby rzeczywistej „x”, a następnie
wyświetlającego na ekranie odpowiedni komunikat w zależności od wczytanej wartości „x”:
a)
Jeśli
0
<
x
, wyświetlającego napis
„Liczba x=… - jest ujemna”
b)
Jeśli
0
=
x
, wyświetlającego napis
„Liczba x = 0”
c)
Jeśli
0
>
x
, wyświetlającego napis
„Liczba x=… jest dodatnia”
Zamiast znaku „…” w tekście ma się ukazywać wartość liczby „x”.
1. Wczytaj trzy liczby A, B, C, które mają być długościami boków trójkąta. Sprawdź, czy są
one poprawne, tzn. czy spełniają tzw. warunek trójkąta:
B
A
C
C
A
B
C
B
A
+
≤
+
≤
+
≤
,
,
Jeśli powyższy warunek jest spełniony, to oblicz pole tego trójkąta korzystając ze wzoru:
(
)(
)(
)
C
P
B
P
A
P
P
S
−
−
−
=
,
gdzie wartość pomocniczej zmiennej
(
)
C
B
A
P
+
+
=
2
1
Jeśli warunek trójkąta nie jest spełniony, wyświetl odpowiedni komunikat.
2. Zdefiniuj i zainicjalizuj „losowo” 6 zmiennych typu
int
(liczb całkowitych): A
1
, B
1
, C
1
, A
2
,
B
2
, C
2
z przedziału [1 , 3]. Zmienne te interpretujemy jako współczynniki definiujące
równania dwóch prostych na płaszczyźnie 0XY:
1
1
1
2
2
2
0
0
A x
B y
C
A x
B y C
+
+
=
+
+
=
(*)
a)
Oblicz wartość kąta pomiędzy prostymi (*) korzystając ze wzoru na kosinus tego kąta:
2
2
2
2
2
1
2
1
2
1
2
1
cos
B
A
B
A
B
B
A
A
+
+
+
=
φ
oraz korzystając z funkcji odwrotnej - arccos(.) .
b)
Wyświetl na ekranie pełną informację o położeniu obu tych prostych względem siebie
w zależności od spełnienia poniższych warunków:
•
proste się przecinają dokładnie w jednym punkcie jeśli:
1
1
2
2
0
A
B
A
B
≠
,
•
proste się pokrywają (przecinają się w nieskończonej liczbie punktów) jeśli:
1
1
1
1
2
2
2
2
0
A
B
A
C
A
B
A
C
=
=
,
•
proste są równoległe (nie mają punktów wspólnych) jeśli:
1
1
2
2
0
A
B
A
B
=
.