M = A[i] print( M )
для двух массивов:
а)
A
0 1 2 3 4
а)
A
http://kpolyakov.spb.ru
б)
A
98
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Удалось ли найти максимальный отрицательный эле-мент в первом случае? во втором?
Итак, если самый первый элемент массива, A[0], положи-тельный (нам не подходит!), он оказывается больше всех подхо-дящих элементов, и программа выводит его как (неверный) ре-зультат. Есть два способа исправить программу
Во-первых, можно сначала найти первый отрицательный элемент, записать его в переменную M, а потом перебирать в цикле все оставшиеся.
Второй вариант проще – мы будем заменять значение M в том случае, если очередной элемент A[i] – отрицательный, а значение М – неотрицательное, то есть мы нашли самый пер-вый подходящий элемент. Например, так:
M = A[0]
for i in range(1,N):
if A[i] < 0:
if M >= 0 or A[i] > M:
M = A[i] print( M )
При каких значениях A[i] и M условия M ≥ 0 и A[i] > M во вложенном условном операторе могут выполниться одновременно?
Выделите все случаи, при которых в этой программе будет изменяться значение М.
Что выведет программа, если в массиве нет отрицатель-ных элементов? Как изменить окончание программы, чтобы в этом случае было выведено сообщение «Отрицательных элементов нет»?
99 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Достарыңызбен бөлісу: |