Proc 4. Описать процедуру TrianglePS(a, P, S), вычисляющую по стороне a равностороннего треугольника его периметр \(P = 3 \cdot a\) и площадь \(S = a^2 \cdot \sqrt{3}/4 \) (a — входной, P и S — выходные параметры; все параметры являются вещественными). С помощью этой процедуры найти периметры и площади трех равносторонних треугольников с данными сторонами.

Решение на Python 3

import random
import math

def TrianglePS(a,Result):
Result['P'] = 3 * a
Result['S'] = math.sqrt(3)/4 * a * a
return

R = {'P' : None, 'S' : None}
for i in range(3):
a = random.randrange(1,10)
print('a = ', a)
TrianglePS(a,R)
print('P = ', R['P'])
print('S = ', R['S'])
print()

Решение на C++

#include <bits/stdc++.h>
using namespace std;

void TrianglePS(double a, double &P, double &S) {
P = 3.0 * a;
S = a * a * sqrt(3) / 4;
return;
}

int main() {
srand((int)time(0));
double a, p , s;

for(int i = 0; i < 3; i++) {
a = rand() % 20 + 1;
TrianglePS(a,p,s);
cout << "Equilateral triangle #" << (i+1) << endl;
cout << "side, a = " << a << endl;
cout << "perimeter, p = " << p << endl;
cout << "area, s = " << s << endl;
cout << endl;
}

return 0;
}