Розв'яжемо запропоновані задачі, використовуючи мову програмування Pascal.
Задача 2.1: Обчислення виразу $$\frac{\sqrt{b}}{a^2 + c}$$
pascal
program CalculateExpression;
var
a, b, c, result: real;
begin
// Введення даних
write('Введіть значення a: ');
readln(a);
write('Введіть значення b: ');
readln(b);
write('Введіть значення c: ');
readln(c);
// Обчислення виразу. Перевірка, чи b >= 0 та a^2 + c <> 0, щоб уникнути помилок.
if (b >= 0) and ((a * a + c) <> 0) then
begin
result := sqrt(b) / (a * a + c);
writeln('Результат: ', result:0:2);
end
else
begin
writeln('Помилка: Неможливо обчислити вираз через недопустимі значення.');
if (b < 0) then
writeln('Помилка: Значення b має бути невід'ємним.');
if ((a * a + c) = 0) then
writeln('Помилка: Знаменник дорівнює нулю.');
end;
readln;
end.
Пояснення:
- Оголошуються змінні `a`, `b`, `c` та `result` типу `real` для збереження чисел з плаваючою комою.
- За допомогою `write` та `readln` користувача просять ввести значення змінних `a`, `b` та `c`.
- Виконується перевірка: чи `b` не від'ємне (щоб можна було обчислити квадратний корінь) та чи знаменник `a*a + c` не дорівнює нулю (щоб уникнути ділення на нуль).
- Якщо обидві умови виконуються, обчислюється значення виразу і виводиться на екран за допомогою `writeln`. `:0:2` вказує, що число потрібно вивести з двома знаками після коми.
- Якщо хоча б одна з умов не виконується, виводиться повідомлення про помилку.
Задача 2.2: Вивід на екран всіх парних чисел від 10 до 50
pascal
program PrintEvenNumbers;
var
i: integer;
begin
for i := 10 to 50 do
begin
if (i mod 2 = 0) then
writeln(i);
end;
readln;
end.
Пояснення:
- Оголошується змінна `i` типу `integer` для використання в циклі.
- Цикл `for` проходить по всіх числах від 10 до 50 включно.
- Всередині циклу перевіряється, чи є поточне число `i` парним за допомогою операції `mod` (залишок від ділення на 2). Якщо залишок дорівнює 0, то число парне.
- Якщо число парне, воно виводиться на екран за допомогою `writeln`.
Зауваження:
Ці програми можна запустити в середовищі Turbo Pascal.