Решение задач блока Begin 21-30
Решение задач из задачника по программированию М. Э. Абрамяна. Задачи из блока Begin: «Ввод и вывод данных, оператор присваивания».
Задача Begin21
Даны координаты трех вершин треугольника: (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь, используя формулу для расстояния между двумя точками на плоскости (см. задание Begin20).
Для нахождения площади треугольника со сторонами a, b, c использовать формулу Герона:
S = (p·(p − a)·(p − b)·(p − c))1/2, где p = (a + b + c)/2 — полупериметр.

uses
PT4;
var
x1, y1, x2, y2, x3, y3, a, b, c, p, s: real;
begin
Task('Begin21');
read(x1, y1, x2, y2, x3, y3);
a := sqrt(sqr(x2 - x1) + sqr(y2 - y1));
b := sqrt(sqr(x3 - x2) + sqr(y3 - y2));
c := sqrt(sqr(x1 - x3) + sqr(y1 - y3));
p := (a + b + c) / 2;
s := sqrt(p * (p - a) * (p - b) * (p - c));
write(2 * p, s);
end.
PascalЗадача Begin22
Поменять местами содержимое переменных A и B и вывести новые значения A и B.

uses
PT4;
var
a, b, t: real;
begin
Task('Begin22');
read(a, b);
t := a; a := b; b := t;
write(a, b);
end.
Pascaluses
PT4;
var
a, b: real;
begin
Task('Begin22');
read(a, b);
a := a + b;
b := a - b;
a := a - b;
write(a, b);
end.
PascalЗадача Begin23
Даны переменные A, B, C. Изменить их значения, переместив содержимое A в B, B — в C, C — в A, и вывести новые значения переменных A, B, C.

uses
PT4;
var
a, b, c, t1, t2, t3: real;
begin
Task('Begin23');
read(a, b, c);
t1 := a; t2 := b; t3 := c;
b := t1; c := t2; a := t3;
write(a, b, c);
end.
PascalЗадача Begin24
Даны переменные A, B, C. Изменить их значения, переместив содержимое A в C, C — в B, B — в A, и вывести новые значения переменных A, B, C.

uses
PT4;
var
a, b, c, t1, t2, t3: real;
begin
Task('Begin24');
read(a, b, c);
t1 := a; t2 := b; t3 := c;
a := t2; b := t3; c := t1;
write(a, b, c);
end.
PascalЗадача Begin25
Найти значение функции y = 3x6 − 6x2 − 7 при данном значении x.

uses
PT4;
var
x, y: real;
begin
Task('Begin25');
read(x);
y := 3 * x * x * x * x * x * x - 6 * sqr(x) - 7;
write(y);
end.
PascalЗадача Begin26
Найти значение функции y = 4(x−3)6 − 7(x−3)3 + 2 при данном значении x.

uses
PT4;
var
x, y, t: real;
begin
Task('Begin26');
read(x);
t := x - 3;
y := 4 * t * t * t * t * t * t - 7 * t * t * t + 2;
write(y);
end.
PascalЗадача Begin27
Дано число A. Вычислить A8, используя вспомогательную переменную и три операции умножения. Для этого последовательно находить A2, A4, A8. Вывести все найденные степени числа A.

uses
PT4;
var
a, a2, a4, a8: real;
begin
Task('Begin27');
read(a);
a2 := sqr(a);
a4 := sqr(a2);
a8 := sqr(a4);
write(a2, a4, a8);
end.
Pascaluses
PT4;
var
a: real;
begin
Task('Begin27');
read(a);
write(sqr(a), sqr(sqr(a)), sqr(sqr(sqr(a))));
end.
PascalЗадача Begin28
Дано число A. Вычислить A15, используя две вспомогательные переменные и пять операций умножения. Для этого последовательно находить A2, A3, A5, A10, A15.
Вывести все найденные степени числа A.

uses
PT4;
var
a, a2, a3, a5, a10, a15: real;
begin
Task('Begin28');
read(a);
a2 := sqr(a);
a3 := a * a2;
a5 := a * sqr(a2);
a10 := a5 * a5;
a15 := a5 * a5 * a5;
write(a2, a3, a5, a10, a15);
end.
PascalЗадача Begin29
Дано значение угла α в градусах (0 ≤ α < 360). Определить значение этого же угла в радианах, учитывая, что 180° = π радианов.
В качестве значения π использовать 3.14.

uses
PT4;
const
pi = 3.14;
var
a: real;
begin
Task('Begin29');
read(a);
write(2 * a * pi / 360);
end.
PascalЗадача Begin30
Дано значение угла α в радианах (0 ≤ α < 2·π). Определить значение этого же угла в градусах, учитывая, что 180° = π радианов.
В качестве значения π использовать 3.14.

uses
PT4;
const
pi = 3.14;
var
a: real;
begin
Task('Begin30');
read(a);
write((360 * a) / (2 * pi));
end.
Pascal