2) Составить блок схему и программу на языке Паскаль для решения задачи;

• логическая последовательность действий (словесный алгоритм),
• блок-схемы в виде «текстовых» рисунков,
• программы на Pascal/FreePascal,
а также необходимые пояснения к обоим пунктам задания.
────────────────────────────────────────────────────────
1. Вычисление h = (13·√(x³) + sin²(5k)) / (3·x⁵ + 3·e^(–2k³) + 4)
────────────────────────────────────────────────────────
Анализ области определения
• подкоренное выражение x³ ≥ 0 ⇒ x ≥ 0;
• знаменатель D = 3·x⁵ + 3·e^(–2k³) + 4 ≠ 0.
Словесный алгоритм
1. Ввести x, k.
2. Проверить: x ≥ 0? Если нет – сообщение об ошибке.
3. Вычислить
t₁ = √(x³);
t₂ = sin(5·k);
t₃ = t₂²;
N = 13·t₁ + t₃ — числитель;
D = 3·x⁵ + 3·e^(–2·k³) + 4 — знаменатель.
4. Проверить: D ≠ 0? Если D≈0 – сообщение об ошибке.
5. h = N / D.
6. Вывести h.
Блок-схема (ASCII-вариант)
```
┌────────┐
│ Старт │
└───┬────┘
│
▼
┌──────────┐
│ Ввод x,k│
└───┬──────┘
▼
┌──────────────────────┐
│ x<0 ? (ошибка?) │
└───┬──────┬───────────┘
│Нет │Да
│ ▼
│ Сообщение
│ «x<0» → Стоп
▼
┌──────────────────────┐
│ t1:=sqrt(x^3) │
│ t2:=sin(5*k) │
│ t3:=t2^2 │
│ N :=13*t1+t3 │
│ D :=3*x^5+3*exp(-2*k^3)+4│
└───┬──────────────────┘
▼
┌──────────────────────┐
│ |D|<ε ? (≈0 ?) │
└───┬──────┬───────────┘
│Нет │Да
│ ▼
│ Сообщение
│ «D=0» → Стоп
▼
┌───────────────┐
│ h:=N/D │
└───┬───────────┘
▼
┌───────────────┐
│ Вывод h │
└───┬───────────┘
▼
┌────────┐
│ Стоп │
└────────┘
```
Программа на FreePascal/Delphi
```pascal
program CalcH;
uses Math;
var
x, k, h, num, den: Double;
const
EPS = 1E-12;
begin
Write('Введите x = '); ReadLn(x);
Write('Введите k = '); ReadLn(k);
if x < 0 then
begin
Writeln('Ошибка: x должно быть неотрицательным (x >= 0)');
Halt(1);
end;
num := 13 * Sqrt(Power(x,3)) + Sqr(Sin(5*k));
den := 3 * Power(x,5) + 3 * Exp(-2 * Power(k,3)) + 4;
if Abs(den) < EPS then
begin
Writeln('Ошибка: знаменатель обращается в ноль.');
Halt(1);
end;
h := num / den;
Writeln('h = ', h:0:10);
end.
```
────────────────────────────────────────────────────────
2. Средняя скорость автомобиля (половина времени со скоростью a, другая половина – со скоростью b)
────────────────────────────────────────────────────────
Пусть общее время движения — T часов.
• первую половину времени (T/2) машина шла со скоростью a,
• вторую половину времени (T/2) — со скоростью b.
Пройденные пути
S₁ = a·T/2, S₂ = b·T/2, S = S₁ + S₂ = (T/2)(a + b).
Средняя скорость v̅ = S / T = [(T/2)(a + b)] / T = (a + b) / 2.
Итак, если потраченные интервалы времени одинаковы, средняя скорость — обычное арифметическое среднее двух скоростей.
Словесный алгоритм
1. Ввести a, b.
2. v̅ = (a + b) / 2.
3. Вывести v̅.
Блок-схема (ASCII)
```
┌────────┐
│ Старт │
└───┬────┘
▼
┌──────────┐
│ Ввод a,b │
└───┬──────┘
▼
┌───────────────┐
│ v := (a+b)/2 │
└───┬───────────┘
▼
┌───────────────┐
│ Вывод v │
└───┬───────────┘
▼
┌────────┐
│ Стоп │
└────────┘
```
Программа на Pascal
```pascal
program AvgSpeed;
var
a, b, v: Double;
begin
Write('Скорость a (км/ч): '); ReadLn(a);
Write('Скорость b (км/ч): '); ReadLn(b);
v := (a + b) / 2;
Writeln('Средняя скорость за весь путь = ', v:0:3, ' км/ч');
end.
```
Пояснение результата
• Если участки пути равны, надо было бы применять гармоническое среднее.
• В нашей задаче равны интервалы времени, поэтому ответ (a + b)/2 корректен.