
1)Чему будет равно значение переменной x после выполнения следующих команд? x := 10;for i := 10
downto 2 dox := x – i;2)Необходимо было написать программу, которая позволяет найти наименьшее число, большее 500, кратное 17 и вывести его на экран.Программист торопился и написал программу с ошибками. Укажите строки, в которых допущены ошибки.Var x: integer; Begin x := 500; Repeat x := x – 1; Until x mod 17 <> 0; Writeln (x); End.

Ответы на вопрос

Ответ:
1)
2)
x := x – 1;
Until x mod 17 <> 0;
Объяснение:
1)
x = 10
для i от 10 до 2 выполнить x = x - i
i = 10 x = 10 - 10 = 0
i = 9 x = 0 - 9 = -9
i = 8 x = -9 - 8 = -17
i = 7 x = -17 - 7 = -24
i = 6 x = -24 - 6 = -30
i = 5 x = -30 - 5 = -35
i = 4 x = -35 - 4 = -39
i = 3 x = -39 - 3 = -42
i = 2 x = -42 - 2 = -44
2)
Var x: integer;
Begin
x := 500;
Repeat
x := x + 1;
Until x mod 17 = 0;
Writeln (x);
End.
x := x - 1; - необходимо найти число большее 500, поэтому x надо увеличивать на 1, а не уменьшать
Until x mod 17 <> 0; - цикл с постусловием работает пока условие ложно, поэтому чтобы найти число кратное 17 условие должно иметь вид x mod 17 = 0



- После выполнения указанных команд значение переменной x будет равно -16. Ошибка заключается в том, что в цикле for отсутствует инструкция, определяющая, что нужно делать с переменной x на каждой итерации. Верное исправление выглядит так:
pascalx := 10; for i := 10 downto 2 do x := x - i;
После исправления, x будет равно -16.
В предоставленной программе есть две ошибки:
a) В условии цикла Repeat-Until оператор mod должен быть написан как x mod 17 = 0, а не x mod 17 <> 0. Инструкция x mod 17 <> 0 означает "x не делится на 17 нацело", что не соответствует условиям задачи.
b) Ошибка также заключается в операторе WriteLn. Пробелы в начале и в конце имени процедуры не должны быть указаны. Правильный синтаксис - WriteLn(x).
Исправленная версия программы выглядит следующим образом:
pascalVar x: integer; Begin x := 500; Repeat x := x - 1; Until x mod 17 = 0; Writeln(x); End.
После исправления программа будет находить наименьшее число, большее 500, кратное 17, и выводить его на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика









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