Приведем решения задач на языках программирования Паскаль и Питон с применением операторов цикла.
Задача 1. Дана непустая последовательность целых чисел оканчивающаяся нулем. Найти сумму всех чисел.
Как будем решать задачу:
Количество чисел в последовательности не известно, но известно, что последнее вводимое число это 0.
- Примем сумму за 0 (переменная s).
- Введем первое число из последовательности (переменная x).
- Запустим цикл с условием продолжения: число x не равно 0.
- В теле цикла будем копить сумму чисел s и вводить число x.
- За циклом выведем сумму чисел на экран.
Программа решения задачи на языке Питон
s = 0
x = int(input())
while x!=0:
s+=x
x = int(input())
print('сумма чисел',s)
Результат запуска программы:
Программа решения задачи на языке Паскаль
var x,s:integer;
begin
readln(x);
s:=0;
while x<>0 do
begin
s+=x;
readln(x);
end;
print('сумма чисел',s);
end.
Задача 2. Найти сумму всех трехзначных четных чисел.
Пусть числа натуральные.
Будем решать задачу "в лоб".
- Примем сумму трехзначных четных чисел за 0.
- Запустим цикл с счетчиком n по промежутку трехзначных чисел (от 100 до 999)
- Проверим, кратно ли значение счетчика цикла n числу 2 (то есть, четно ли оно), если да, то будем копить сумму s.
- За циклом выведем искомую сумму чисел на экран.
Программа решения задачи на языке Питон
s = 0
for n in range(100,1000):
if n % 2 == 0:
s+=n
print('сумма трехзначных четных чисел',s)
Результат запуска программы
сумма трехзначных четных чисел 247050
Программа решения задачи на языке Паскаль
var n,s:integer;
begin
s:=0;
for n:=100 to 999 do
begin
if n mod 2 = 0 then s+=n;
end;
print('сумма трехзначных четных чисел',s);
end.
Как можно решить задачу быстрее?
Запустим цикл по заведомо четным числам, то есть от 100 до 999 с шагом 2 (100, 102, 104...), проверка четности числа не нужна.
В языке Питон
for n in range(100,1000,2):
s+=n
В языке Паскаль
for n:=100 to 999 step 2 do
begin
s+=n;
end;
Задачи на цикл в другой публикации.
Комментариев нет:
Отправить комментарий