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

Найти n-ый член арифметической прогрессии и сумму элементов, если An=A1+d*(n-1), Sn=(A1+An)*n/2. Напишите фрагмент программы:


Найти n-ый член арифметической прогрессии и сумму элементов, если An=A1+d*(n-1), Sn=(A1+An)*n/2. Нап

Показать ответ
Ответ:
Asel272727
Asel272727
21.01.2020 10:02

ответ: Вычисление сколько раз введенное число m программа будет делить.

При введении числа 5241, выдаст число 4.

Объяснение кода программы:

(1) Название программы.

Объявление переменных, которые будут в коде.

Выполняется чтение переменной m.

(2) Обнуляем переменную k для последующего суммирования.

(3) Пока M не будет равно 0, программа будет суммировать k следующим образом: 0+1, затем значение k сменится на 1 и будет 1+1 и т.д.

После суммирования по циклу идёт деление m на 10. К примеру, если мы задали число m = 5, то после данной операции число m будет уже 0,5.

Программа снова вернётся к циклу (3) и, если уже m будет равно 0, она напишет, сколько раз пришлось провести операцию деления. Это количество обозначается под переменной k.


Что делает следующая программа? Какой ответ она выдаст при введении числа 5241? program prim1; var m
0,0(0 оценок)
Ответ:
rozaMika
rozaMika
19.02.2022 23:17

1. При вводе числа 15 программа выведет число 4.

2. Наименьшие значения A, при которых программа выведет верный ответ, равны 2 и 3.

3. В программе допущена типичная для начинающих программистов ошибка «смещения кадра»: значение переменной K, необходимое при первом выполнении цикла, присваивается до начала цикла, а значение для следующего оборота цикла вычисляется в конце предыдущего оборота. В результате, при завершении цикла K имеет значение больше, чем нужно. Вторая ошибка – неверный шаг изменения K. «Идеальная» программа решения этой задачи должна выглядеть так (приведён пример на языке Бейсик):

DIM A,S,K AS INTEGER

INPUT A

S = 0

K = −1

WHILE S <= A

K = K + 2

S = S + K*(K+1)

WEND

PRINT K

END

Но по условиям задания менять местами строки нельзя, их можно только исправлять. Поэтому, кроме исправления шага, приходится корректировать значение K при выводе. Пример исправления для языка Паскаль:

Первая ошибка:

k := k+1;

Исправленная строка:

k := k+2

Вторая ошибка:

writeln(k)

Исправленная строка:

writeln(k-2)

В программах на других языках ошибочные строки и их исправления аналогичны.

Незначительной опиской, не влияющей на оценку, следует считать отсутствие знаков и служебных слов после содержательной части исправления.

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