В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

Программисту было поручено написать программу нахождения суммы отрицательных элементов одномерного массива. Программист разработал
программу, но допустил в ней одну ошибку. Текст программы с ошибкой
представлен ниже:
program n1;
var
k, s: integer;
a: array [1..8] of integer;
begin
for k := 1 to 8 do readln(a[k]);
s := 0;
for k := 1 to 8 do
if a[k] < 0 then s := s + a[1];
writeln(s);
end.
1) Каким окажется ответ после исполнения этой программы, если в качестве
элементов массива будут введены числа 1, 2, 3, 4, -1, -2, -3, -4?
2) Как исправить программу, чтобы она решала поставленную перед
программистом задачу?

Показать ответ
Ответ:
Сыймык111
Сыймык111
17.01.2021 22:35

1.

program n1;

var

k, s: integer;

a: array [1..8] of integer;

begin

for k := 1 to 8 do readln(a[k]);  // с клавиатуры вводится массив из 8

s := 0;                                           элементов

for k := 1 to 8 do

if a[k] < 0 then s := s + a[1];  // в цикле 4 раза к s прибавляют 1-ый элемент

writeln(s);                             // выводится s

end.

ответ: 4(т.к 1-ый элемент массива 1 и в нём 4 отрицательных элемента)

2.  

Надо строку if a[k] < 0 then s := s + a[1];

Заменить на строку if a[k] < 0 then s := s + a[k];

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота