М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
evzhenko99
evzhenko99
11.08.2020 00:22 •  Информатика

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

👇
Ответ:
irina20042005
irina20042005
11.08.2020

const n=30;

var k:array[1..n] of integer; i,t,p:integer;

begin

randomize;

for i:=1 to n do begin

k[i]:=random(100);

if (k[i]>0) then p:=p+1;

if (i=3) and (k[3]>0) then t:=k[3];

end;

if (p<3) then write('В массиве меньше трех положительных элементов') else writeln('Третий элемент массива равен ', t);

end.

 

Отрицательного значения в массиве не будет, напиши формулу к массиву k[i]:=твоя формула. Формула должна быть такой, чтобы попадались и отрицательные элементы, а так, программа рабочая

4,5(46 оценок)
Открыть все ответы
Ответ:
Kachalova54
Kachalova54
11.08.2020

а) Если адрессация 32-х разрядная, то число ячеек - 2^{32}.

б) Максимальный объмем адрессуемой памяти - 2^{32} = 4гб. Вспомните траблу с тем, что на 32-х разрядных ОС (которые задействуют проц в виртуальном режиме - могут использовать его как 32-х разрядный, если он даже 64-х) видимый максимальный объмем ОЗУ не больше этого предела, хоть пусть стоят плашки по 32гб.

в) Ну, если считать, что первый адрес - 0, то последний 2^{32} - 1


П.С. Число ячеек = объему памяти в байтах, так как можно адрессовать каждый байт - было сказано, что "при каждой операции... 32 бита данных", это говорит, что регистры тоже 32-х разрядные, но если вы видели какой-нибудь из языков ассемблера, то там можно обращаться к частям регистров, вплоть до размера части в 8 бит. Это на практике.


П.С.С. Сказано что проц теоретический, возможно, подразумевается, что ячейки не 1 байт, а 4 байта, т.е число ячеек в 4 раза меньше - 2^{30}. Выбирайте, что вам кажется более подходящим, препод вам известнее :)

4,8(45 оценок)
Ответ:
Gu1ya04
Gu1ya04
11.08.2020

а) Если адрессация 32-х разрядная, то число ячеек - 2^{32}.

б) Максимальный объмем адрессуемой памяти - 2^{32} = 4гб. Вспомните траблу с тем, что на 32-х разрядных ОС (которые задействуют проц в виртуальном режиме - могут использовать его как 32-х разрядный, если он даже 64-х) видимый максимальный объмем ОЗУ не больше этого предела, хоть пусть стоят плашки по 32гб.

в) Ну, если считать, что первый адрес - 0, то последний 2^{32} - 1


П.С. Число ячеек = объему памяти в байтах, так как можно адрессовать каждый байт - было сказано, что "при каждой операции... 32 бита данных", это говорит, что регистры тоже 32-х разрядные, но если вы видели какой-нибудь из языков ассемблера, то там можно обращаться к частям регистров, вплоть до размера части в 8 бит. Это на практике.


П.С.С. Сказано что проц теоретический, возможно, подразумевается, что ячейки не 1 байт, а 4 байта, т.е число ячеек в 4 раза меньше - 2^{30}. Выбирайте, что вам кажется более подходящим, препод вам известнее :)

4,5(9 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ