У мове Pascal выкарыстоўваюцца два віды дапаможных алгарытмаў: function і procedure. Функцыі, якія рэалізуюцца ў C++, з’яўляюцца аналагам function у Pascal. Аналагом procedure у мове С++ будуць функцыі, ў якіх тып значэння, якое вяртаецца, апісваецца ключавым словам void. Такія функцыі не вяртаюць якое-небудзь значэнне ў якасці выніку, таму ў канцы гэтых функцый адсутнічае каманда return.
Прыклад 7.13. Дадзены адрэзкі, даўжыні якіх роўныя a, b, c, d адпаведна. Для кожнай тройкі гэтых адрэзкаў, з якіх можна пабудаваць трохвугольнік, знайсці і вывесці плошчу гэтага трохвугольніка.
Этапы выканання задання
I. Зыходныя даныя: даўжыні адрэзкаў: a, b, c, d.
II. Вынік: плошчы магчымых трохвугольнікаў.
III. Алгарытм рашэння задачы.
1. Увод зыходных даных. 2. Для вызначэння, ці існуе трохвугольнік з даўжынямі старон x, y, z, о апішам лагічную функцыю prov. 3. Трохвугольнік існуе, калі сума даўжынь двух старон большая за трэцюю. 4. Для кожнага з магчымых набораў (a, b, c; a, b, d; a, c, d; b, c, d) праверым, ці існуе трохвугольнік, і калі функцыя prov верне true, то вылічым яго плошчу. 5. Плошчу будзем вылічваць з дапамогай функцыі plos, апісанай у прыкладзе 7.6. 6. Для вываду выніку апішам функцыю vyvod тыпу void.
IV. Апісанне пераменных: a, b, c, d — int.
|
Прыклад 7.13.
V. Праграма:
#include <iostream>
#include <cmath>
using namespace std;
double plos(double x, double y, double z)
{
double pr = (x + y + z) / 2;
double pl = sqrt(pr * (pr - x) * (pr - y) * (pr - z));
return pl;
}
bool prov (double x, double y, double z)
{
return (x < y + z && y < x + z && z < x + y);
}
void vyvod (double x, double y, double z)
{
cout << "storiny treugolnika: ";
cout << x << " " << y << " " << z;
cout << endl << "ploschad: ";
cout << plos(x, y, z) << endl;
}
int main()
{
double a, b, c, d;
cout << "a, b, c, d" << endl;
cin >> a >> b >> c >> d;
if (prov(a, b, c))
vyvod(a, b, c);
if (prov(a, b, d))
vyvod(a, b, d);
if (prov(a, c, d))
vyvod(a, c, d);
if (prov(b, c, d))
vyvod(b, c, d);
return 0;
}
|
VI. Тэсціраванне:

|