Ну раз у нас вже так все важко складається з обчисленнями значень виразів, то ось іще раз наведу Вам приклад з домашнього завдання. Задача передбачає використання вказівки розгалуження:
Задача 1. Виконайте перевірку на відповідність математичним правилам та обчисліть значення виразу:
program task1;
var m, n, y: real;
begin
write('m=');
read (m);
write ('n=');
read (n);
if (m-n=0) then writeln('неможливо обчислити')
else
begin
y:= (m+n)/(m-n);
writeln('y=', y)
end;
end.
Звертаю Вашу увагу ще раз на те, що ми перевіряємо: чи не сталося так, що при даних, які ввів користувач, значення знаменника дробу дорівнюватиме нулю. Якщо так сталося, то ділення ми виконати не можемо, бо на 0 ділити не можна! В усіх інших випадках ми виконуємо обчислення. Підставте замість m і n, наприклад, число 2. Тоді ми отримаємо:
у = (2+2)/(2-2), тобто, у = 4 / 0. Хіба модна 4 поділити на нуль? Тому і виводиться повідомлення, що обчислити значення виразу неможливо.
Задача 2. Виконайте перевірку на відповідність математичним правилам та обчисліть значення виразу
Задача 2. Виконайте перевірку на відповідність математичним правилам та обчисліть значення виразу
program example2;
var a, b, y: real;
begin
write('a=');
read(a);
write('b=');
read(b);
if (b = 0) or ((a-b)= 0) then writeln ('неможливо обчислити')
else
begin
y:= (a+b)/(b*(a-b));
writeln('y=', y);
end;
end.
Немає коментарів:
Дописати коментар