Найти все варианты решения 3*x – 2*y+5*z=28 уравнения на отрезке х, у, z [-100;100] - PascalABC.NET
Формулировка задачи:
Решить с помощью "For"
Решение задачи: «Найти все варианты решения 3*x – 2*y+5*z=28 уравнения на отрезке х, у, z [-100;100]»
textual
Листинг программы
begin
var all := 0;
for var x := -100 to 100 do
for var z := -100 to 100 do
begin
var y := 3*x+5*z-28;
if not odd(y) and (y > -201) and (y < 201) then
begin
WriteLnFormat('x={0} y={1} z={2}', x, y div 2, z);
all += 1;
end;
end;
WriteLn('Всего решений: ', all);
end.
Объяснение кода листинга программы
- В первой строке объявляется переменная
allи инициализируется значением 0. - В двух вложенных циклах перебираются все возможные значения переменных
xиzот -100 до 100. - В каждой итерации внутреннего цикла вычисляется значение переменной
yкак 3x+5z-28. - С помощью функции
oddпроверяется, является ли значение переменнойyчетным числом. - С помощью условного оператора
ifпроверяется, что значение переменнойyнаходится в диапазоне от -201 до 201. - Если условия выполняются, то выводится сообщение с значениями переменных
x,yиzи значение переменнойallувеличивается на 1. - По завершении внутренних циклов выводится общее количество найденных решений.