Thon Условные



бет23/38
Дата23.02.2020
өлшемі2,05 Mb.
#58878
1   ...   19   20   21   22   23   24   25   26   ...   38
Байланысты:
8-3 python


Циклы в других языках программирования

Алгоритм Евклида на языке Паскаль записывается сле-дующим образом:

while (a <> 0) and (b <> 0) do

if a > b then

a := a mod b else

b := b mod a;

В языке Паскаль каждое условие в составе сложного условия обязательно взять в скобки, это связано с другим порядком вы-полнения (приоритетом) логических операций.



А вот тот же алгоритм на языке С++:

while (a != 0 && b != 0) {

if ( a > b )

a = a % b; else

b = b % a; }

В языке С++ тело цикла ограничивается фигурными скобками. Если в теле цикла записан всего один оператор, фигурные скобки можно не ставить.

Исследуйте эти фрагменты программы и определите, как записываются в языках Паскаль и С++ отношение «не равно», операция взятия остатка от деления, логическая операция «И».

Обработка потока данных

На вход программы поступает поток данных последова-тельность целых чисел, которая заканчивается нулём. Требует-ся найти сумму элементов этой последовательности.

В этой задаче не нужно сохранять все данные в памяти, мы можем добавлять их к сумме по одному. Используем две целых
59 http://kpolyakov.spb.ru

05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин



переменных: в переменной x будем хранить последнее введён-ное число, а в переменной summa накапливать сумму.

Какое начальное значение нужно присвоить переменной summa?

Как добавить к значению переменной summa значение переменной x?

Сначала запишем основной цикл программ, «скрыв» шаги алгоритма в комментариях:

while x != 0:

# добавить x к сумме

# прочитать следующее число

Однако перед таким циклом нужно прочитать первое число, иначе неясно, откуда возьмётся значение x при первой проверке условия. В итоге получается такая программа:

summa = 0

x = int( input() ) while x != 0:

summa += x

x = int( input() ) print( "Сумма", summa )

Как нужно изменить программу для того, чтобы она вычисляла сумму только положительных чисел?

Циклы по переменной

Вернёмся снова к задаче, которую мы обсуждали в одном из параграфов вывести на экран несколько раз слово «привет». Фактически нам нужно организовать цикл, в котором блок опе-раторов выполнится заданное число. Для этого можно приме-нить ещё один вид цикла цикл по переменной (или цикл с па-раметром). На языке Python он записывается так:

for i in range(10):

print( "привет" )
60 http://kpolyakov.spb.ru

05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин



Здесь слово for означает «для», переменная i (её называют

переменной цикла) изменяется в диапазоне (in range) от 0 до

10, не включая 10 (то есть от 0 до 9 включительно). Таким обра-зом, цикл выполняется для i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ровно 10 раз. Переменная i это счётчик выполненных итераций цикла. Можно было записать этот цикл и по-другому:

for i in [0,1,2,3,4,5,6,7,8,9]:


Достарыңызбен бөлісу:
1   ...   19   20   21   22   23   24   25   26   ...   38




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет