Instrukcja warunkowa. Pole trójkąta. Podręcznik, str. 150, ćw. 8

Program dla problemu "Pole trójkąta":

  • W podręczniku mamy to w ćwiczeniu 8 na stronie 150.
  • Dodatkowo 2 sposób. Opis i komentarze w kodzie programu.

Przykładowy kod programu:

//podręcznik, str.150, ćw.8 - pole trójkąta
#include <iostream>
using namespace std;

int main() {
	float a; //długość podstawy
	float h; //długość wysokści
	float pole; //pole trójkąta
	
	//Wczytuję dane wejściowe
	cout << "Podaj dlugosc podstawy trojkata a: ";
	cin >> a;
	cout << "Podaj dlugosc wysokosci trojkata h: ";
	cin >> h;
	
	/* SPOSÓB 1:
	Sprawdzam jednym warunkiem złożonym czy obie liczby a i h są dodatnie. 
	Jeśli tak będzie, to obliczam pole i wyświetlam wynik.
	W przeciwnym razie wyświetlam komunikat o błędnych danych */
	cout << "\nSPOSOB 1";
	if(a>0 && h>0) { 
		pole=0.5*a*h;
		cout << "\nPole trojkata wynosi: " << pole;
	} else cout << "\nBLAD!!! Obie liczby musza byc dodatnie";

	/* SPOSÓB 2:
	Program ma wskazać odpowiednim komunikatem która długość odcinka (a, h) została podana błędnie.
	Mamy 4 przypadki:
	1) a>0 i h>0 --> wtedy liczymy pole
	2) a>0 i h<=0 --> błąd wysokości
	3) a<=0 i h>0 --> błąd podstawy
	4) a<=0 i h<=0 --> błąd wysokości i błąd podstawy
	 */
	cout << "\n\nSPOSOB 2";
	if(a>0) {
		if (h>0){
			pole=0.5*a*h;
			cout << "\nPole trojkata wynosi: " << pole;
		} else cout << "\nBLAD!!! Dlugosc wysokosci trojkata musi byc liczba dodatnia";
	} else if(!(h>0)) { // Znak ! to zaprzeczenie. Warunek !(h>0) jest równoważny z h<=0
		cout << "\nBLAD!!! Dlugosc wysokosci trojkata musi byc liczba dodatnia";
		cout << "\nBLAD!!! Dlugosc podstawy trojkata musi byc liczba dodatnia";
	} else	cout << "\nBLAD!!! Dlugosc podstawy trojkata musi byc liczba dodatnia";
	return 0;
}

Użycie kodu:

  • Powyższy kod można wykorzystać w środowisku Dev C++ lub innym. Wystarczy utworzyć nowy projekt i wkleić ten kod zamiast istniejącego.
  • Można też użyć kodu na jednej ze stron WWW z kompilatorami on-line, na przykład na stronie: www.cpp.sh

Zadanie 1:

  • Przeanalizuj użyte w programie instrukcje warunkowe.
  • Sprawdź działanie programu we wszystkich 4 przypadkach opisanych w SPOSOBIE 2
  • Dla SPOSOBU 1 tego problemu w programie Magiczbe Bloczki utwórz schemat blokowy algorytmu i sprawdź jego działanie.

Zadanie 2:

  • Zmodyfikuj kod programu tak, aby NIE użyć nierówności >