СРОЧНО!!! ДАЮ 50 БАЛЛОВ ЗА ПОДРОБНОЕ ОБЪЯСНЕНИЕ!!! В программе описан одномерный...

0 голосов
27 просмотров

СРОЧНО!!! ДАЮ 50 БАЛЛОВ ЗА ПОДРОБНОЕ ОБЪЯСНЕНИЕ!!!
В программе описан одномерный целочисленных массива A с
индексами от 1 до 10. Ниже представлен фрагмент программы,
записанный на разных языках программирования, в котором
значения элементов сначала задаются, а затем меняются.
Сколько элементов массива будут нечетными?
Бейсик
FOR i=1 TO 10
A(i)=5+i
NEXT i
FOR i=1 TO 10
IF (A(i)+i >12) THEN
A(i)=A(i)+ i
ENDIF
NEXT i


Информатика (609 баллов) | 27 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Рассмотрим фрагмент поблочно.
FOR i=1 TO 10
A(i)=5+i
NEXT i
Здесь в цикле для i, меняющегося от 1 до 10, в массив А помещаются значения i+5, т.е. 6, 7, 8, .. 15.
FOR i=1 TO 10
IF (A(i)+i >12) THEN
A(i)=A(i)+ i
ENDIF
NEXT i
В этом цикле i также меняется от 1 до 10. Для всех значений
элементов массива, которые в сумме со своим порядковым номером в массиве (индексом) превысят 12, значение элемента будет увеличено на этот номер.
a[1]+1=6+1=7. Это число меньше 12 и a[1] остается прежним. Так же, a[2]+2=9, a[3]+3=11 и они тоже не изменятся. Начиная с a]4]+4=13 значения будут изменяться на новые и в результате мы получим семь новых значений: 13, 15, 17,... 25. Все они будут нечетными. И еще одно нечетное значение (7) имеет a[2]. Итого, нечетные значения будут иметь 8 элементов.

(142k баллов)
0

Никаких элементов со значением 7 быть не может, т.к. проверяется условие: если i-тый элемент массива + индекс этого элемента будут больше 12, тогда уже к значению этого элемента прибавляется индекс, иначе значение останется прежним - 6

0

Ой, точнее 5

0

Ооой, всё, извиняйте

0

Опять всё напутал

0

Элементы a[1], a[2] a[3] никуда не денутся, а среди них есть a[2]=7

0

Именно напутали и дали ответ неверный. Исправляйте.

0

Да, да, сейчас исправлю. Как всегда - невнимательность подводит)

0

Который раз мои ошибки исправляете))

0

Главное - результат

0

Верно, нельзя людей подводить, это кому-то стоит хорошей оценки, так что спасибо Вам))

0 голосов

Итак,начинается цикл FOR от 1 до 10, каждому i-тому элементу массива присваивают значение: 5+i(т.е. к пяти прибавляют число равное тому, сколько раз повторился цикл) дальше цикл закрывается и начинается новый цикл FOR всё так же от 1 до 10. В нем выполняется условие: если i-тый элемент массива + индекс элемента больше 12, то к i-тому элементу массива прибавляют индекс элемента.
Итак, результаты циклов:
1-вый цикл:
 5+1=6
5+2=7
5+3=8
5+4=9
5+5=10
5+6=11
5+7=12
5+8=13
5+9=14
5+10=15
___________________________

2-ой цикл:
 6+1=7
7+2=9
8+3=11
9+4=13
10+5=15
11+6=17
12+7=19
13+8=21
14+9=23
15+10=25
___________________________
Ну и теперь смотрим, какие результаты из второго цикла больше 12: все кроме 7, 9 и 11.
Отбрасываем их и смотрим, какие из чисел нечётные: все оставшиеся результаты нечетные, а всего их 7 и элемент A[2] имеет значение 7, значит его тоже считаем, следовательно - ответ: 8 элементов будут нечетными.

(225 баллов)