program Test1;
uses Math;
var
a, b, c, anglea, angleb, anglec: Real;
begin
Write ('Сторона а: ');
ReadLn(a);
Write ('Сторона b: ');
ReadLn(b);
Write ('Сторона c: ');
ReadLn(c);
anglea := Arccos ((b * b + c * c - a * a) / (2 * b * c)) * 180 / Pi;
angleb := Arccos ((a * a + c * c - b * b) / (2 * a * c)) * 180 / Pi;
anglec := 180 - (anglea + angleb);
WriteLn ('Угол а = ', anglea :5 :1);
WriteLn ('Угол b = ', angleb :5 :1);
WriteLn ('Угол c = ', anglec :5 :1);
ReadLn;
end.
Объяснение:
Расчетные формулы из теоремы косинусов.
* 180 / Pi - в конце формул для перевода радиан в градусы, где Pi = 3,14 константа должна объявляться в Math, если нет напишите сами.
Третий угол рассчитывается исходя из соображения, что сумма углов треугольника равна 180 градусов.
program Arrminmax;
var
A: array of Integer;
N, i, imin, imax, Atmp: Integer;
begin
Write ('Введите размерность массива: ');
ReadLn (N);
SetLength(A, N); // устанавливаем размерность массива, введенную с клавиатуры
Randomize;
WriteLn ('Исходный массив:');
for i := Low (A) to High (A) do begin // заполняем массив случайными числами от -10 до 10 и выводим его на экран
A [i] := Random (21) - 10;
Write (A [i], ' ');
end;
imin := Low (A); // начальные значения - первых индекс в массиве
imax := Low (A);
for i := Low (A) to High (A) do begin // находим минимальный и максимальный элементы массива
if A [i] < A [imin] then
imin := i;
if A [i] > A [imax] then
imax := i;
end;
Atmp := A [imax]; // меняем местами минимальный с максимальным
A [imax] := A [imin];
A [imin] := Atmp;
WriteLn;
WriteLn ('Результат обработки:'); // вывод результата
for i := Low (A) to High (A) do begin
Write (A [i], ' ');
end;
ReadLn;
end.
Объяснение: в комментариях к программе
var a: array[1..N] of integer;
i, sum: integer;
begin
sum := 0;
for i := 1 to N do begin
a[ i ] := random(12)-2;
write(a[i]:4);
if a[ i ] > 2 then sum := sum + a[ i ];
end;
writeln();writeln();
write(' Сумма всех чисел > 2: ', sum);
end.