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

Программа не работает, когда я ввожу число, которого нет в массиве. Пишет: индекс находится вне границ массива. Как это исправить?
Вот задание:
Уровень B. Напишите программу, которая заполняет массив из N = 10 элементов случайными числами в диапазоне [-10,10], выводит его на экран, а затем находит индекс последне-го элемента, равного введённому числу X. Программа должна вывести ответ «не найден», если в массиве таких элементов нет.
Вот программа:
const N=10;
var
A: array[1..N] of integer;
i, X: integer;
begin
for i:=1 to N do begin
A[i]:=random(21);
write(A[i],' ');
end;
writeln();
readln(X);
i:=10;
while (i<=N) and (A[i]<>X) do
i:=i-1;
if i<=N then
writeln('A[', i, ']=', X)
else
writeln('Не найден! ');
end.

👇
Ответ:
MaGaFaYa
MaGaFaYa
18.02.2022

A[i]:=random(20)-10;

while (i>0)

if i<>0

Объяснение

Ошибка A[i]:=random(21); Твой диапазон [0;20]

Исправление A[i]:=random(20)-10;

Дальше можно находить элемент в массиве по разному, можно просто все элементы проверить, счётчик дойдёт до нуля - программа выведет "Не найден!", если счётчик не равен нулю, значит хотя бы 1 значение х в массиве было найдено.

Ошибка while (i<=N)

Исправление while (i>0)

Ошибка if i<=N

Исправление if i<>0

Условие (i<=N) выполняется всегда, поэтому оно вообще не нужно

4,6(33 оценок)
Открыть все ответы
Ответ:
egor570
egor570
18.02.2022
1) в русском алфавите 33 буквы
       33-4=29 заглавных букв используются в идентификаторе 
            и 9 цифр    29+9=38 символов используется в идентификаторе
2)   2^5<38<2^6  --->  6 бит для кодировки одного символа
3)  6 бит * 6 символов=36 бит =[36:8] =5 -байт - целое кол-во байт для                                                                                      одного идентификатора
4)   5*180=900 байт≈1 Кбайт   < ответ
         или   900:1024=0,87891 Кбайта  < или такой ответ???
4,4(19 оценок)
Ответ:
temik25527
temik25527
18.02.2022

Входить в кабинет информатики без разрешения учителя.(нельзя) Заходить в компьютерный класс спокойно.(можно) Занимать свое рабочее место.(можно) Находиться в кабинете информатики в верхней одежде.(нельзя) Убедиться в отсутствии видимых неисправностей компьютера.(можно) Толкаться в дверях при входе в компьютерный класс.(нельзя) При обнаружении видимых неисправностей компьютера сообщить учителю.(можно) Трогать разъемы соединительных проводов.(нельзя) Приступать к работе на компьютере только после разрешения учителя.(можно) Прикасаться к проводам питания.(нельзя) Приносить в класс компакт-диски и дискеты с других компьютеров. (наверное можно)Пытаться самостоятельно устранить обнаруженную неисправность компьютера.(нельзя) Включать игры или другие программы, не относящиеся к уроку. (нельзя)

Работать на компьютере грязными руками.(нельзя) Нажимать на клавиши мягко, без особых ударов(можно). Прикасаться к экрану и задней стенке монитора(нельзя). Нажимать клавиши клавиатуры только при включенном напряжении.(можно) Работать на компьютере во влажной одежде или с мокрыми руками.(нельзя) Класть вещи на составные части компьютера(нельзя). По окончании работы привести рабочее место в порядок(можно). Удалять папки и файлы без разрешения учителя. (можно)

Объяснение:вроде же задание лёгкое

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