EVLAMPIN56
?>

Дан одномерный массив. найти сумму элементов и их количество, которые больше 8 и меньше13. хелп и , если можно, капельку объяснений)

Информатика

Ответы

kolefe22171

Var i, n, k, sum:integer ;

A:array [1..100]of Integer ;

Begin

//Запрашиваем кол-во элементов массива

Write (' N=') ;read (n) ;

//Заполняем массив случайными значениями от 0 до 25

// И выводим его на экран

For i:=1 to N do begin

A[i]:=random(26);

Writeln (' A[', i, ']=', a[i]) ;

End;

//Обнуляем переменные

K:=0;sum:=0;

//В цикле находим элементы, которые больше 8

//и меньше 13,считаем их кол-во и сумму

For i:=1 to N do begin

If((a[i]>8) and(a[i]<13)) then begin

K:=k+1;

Sum:=sum+a[i];

End;

End;

//Ввводим результат на экран

Writeln(' Кол-во элементов больше 8 и меньше 13:',k);

Writeln(' Их сумма ', sum) ;

End.

Объяснение:

Строчки с двумя слешами в программу можешь не писать, это я сделал, для объяснения программы

droshchupkin
В языке С/С++ любое ненулевое значение считается истинным.
Цикл с заголовком while (a(x)) выполнятся до тех пор. пока a(x) ненулевое, следовательно, при выходе из цикла a(x)=0.
Первоначально х=1 и если a(1) окажется равным нулю, то тело цикла не выполнится ни разу. В этом случае у будет равен начальному значению, т.е. у=1.
Если же а(1) не равняется нулю, то будет выполняться тело цикла. При у<0 переменная х получает значение 2, у получает значение 10. Мы должны полагать что а(2) ложно и тогда произойдет выход из цикла. Если же это не так, то тело цикла будет выполняться повторно. Ветка при y>=0 дает присваивание х=1, а мы рассматриваем вариант, когда такое значение не приводит к выходу из цикла, следовательно у=20 никогда не будет последним присваиванием значения у. Тогда возможен только вариант ответа 1 (у=1 или 10)
ответ: Вариант 1
Аношкина1696
1) 20 байт
Вспоминаем старую-добрую формулу: I=2^{i}, где I- количество вариантов/мощность алфавита, а i-количество информации на один символ (бит).
И так всего 4 направления -это количество вариантов, то есть I, подставляем в формулу, получается что первая команда (направление) несёт в себе 2 бита информационного веса; i=2.
Перемещение: аналогично - I= 196, но такое число не может быть вставлено в формулу,т.к. нет такой целой степени двойки, чтобы при подставлении в которую получилось целое число, поэтому берётся большее ближайшее к этому числу число, которое можно представить в виде степени числа 2, таковым является число 256 (256=2^{8}- ближайшее, превосходит его, можно представить в виде степени числа 2); получается I=256, подставляем его в формулу-i=8.
И того первая команда весит 2 бита, вторая 8 бит - вместе 10 бит на 1 команду, всего команд 16, тогда количество информации на все команды будет равно 160 бит, переводим биты в байты: 160 бит / 8 = 20 байт (в 1 байте 8 бит). Всё просто. Расписал очень подробно, потому что видимо ученик далёк от информатики, задачка ведь простецка - 1 класс 2 четверть )))

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дан одномерный массив. найти сумму элементов и их количество, которые больше 8 и меньше13. хелп и , если можно, капельку объяснений)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Babushkina27
Letajushaya362
delta88
Малыхин Валерьевна621
Беспалова
fullhouse9991
skzzkt
prostopo4ta29
akustov55
Svetlana395
ribcage52
Letajushaya362
Azarova Anastasiya1707
Киларджиева Диана440
egamedicalbuh