1. Как изменить программу №2, чтобы можно было прервать выполнение теста и корректно завершить программу (используя

1. Как изменить программу №2, чтобы можно было прервать выполнение теста и корректно завершить программу (используя оператор while..do). Сохранить измененную программу под названием p5pr3.
2. Как найти сумму всех четных натуральных чисел, которые не превышают заданное значение n. Написать программу, используя цикл с условием перед выполнением и цикл с условием после выполнения. Сохранить программы под названиями p5pr4 и p5pr5.
Zvonkiy_Spasatel

Zvonkiy_Spasatel

Задача 1:
Чтобы изменить программу №2, чтобы можно было прервать выполнение теста и корректно завершить программу с использованием оператора while..do, нужно добавить проверку условия для выхода из цикла while.

Вот обновленная версия программы p5pr3:


program p5pr3;
var
num, sum: integer;
begin
sum := 0;
while true do
begin
writeln("Введите число (для завершения введите 0): ");
readln(num);
if num = 0 then // проверка условия выхода из цикла
break; // прерываем выполнение цикла
sum := sum + num;
end;
writeln("Сумма введенных чисел: ", sum);
end.

В этой программе добавлен бесконечный цикл while с условием true. Внутри цикла мы сначала запрашиваем от пользователя число с помощью writeln и readln. Затем мы проверяем, равно ли введенное число нулю. Если да, то мы выходим из цикла с помощью оператора break. Если число не равно нулю, то мы прибавляем его к переменной sum. После выхода из цикла мы выводим сумму всех введенных чисел.

Задача 2:
Для нахождения суммы всех четных натуральных чисел, которые не превышают заданное значение n, мы можем использовать цикл с условием перед выполнением и цикл с условием после выполнения.

Вот программа p5pr4 с использованием цикла с условием перед выполнением:


program p5pr4;
var
n, i, sum: integer;
begin
writeln("Введите число n: ");
readln(n);
sum := 0;
i := 2; // начинаем с 2, так как первое четное число - 2
while i <= n do
begin
sum := sum + i;
i := i + 2; // увеличиваем i на 2 для перехода к следующему четному числу
end;
writeln("Сумма всех четных чисел, не превышающих ", n, ": ", sum);
end.


А вот программа p5pr5 с использованием цикла с условием после выполнения:


program p5pr5;
var
n, i, sum: integer;
begin
writeln("Введите число n: ");
readln(n);
sum := 0;
i := 2; // начинаем с 2, так как первое четное число - 2
repeat
sum := sum + i;
i := i + 2; // увеличиваем i на 2 для перехода к следующему четному числу
until i > n;
writeln("Сумма всех четных чисел, не превышающих ", n, ": ", sum);
end.


Обе программы работают похожим образом. Мы сначала запрашиваем от пользователя число n с помощью writeln и readln. Затем мы инициализируем переменные sum и i. В цикле мы прибавляем текущее четное число к переменной sum и увеличиваем i на 2 для перехода к следующему четному числу. Цикл продолжается до тех пор, пока i не превысит значение n. После выполнения цикла мы выводим сумму всех четных чисел, не превышающих заданное значение n.
Знаешь ответ?
Задать вопрос
Привет!
hello