Вариант 2 Самостоятельная работа 23 ГДЗ Самостоятельные и контрольные работы Босова 8 класс (Информатика)
- Для каждой записи в левом столбце подберите соответствующее ей составное условие из правого столбца.
- Квадраты при игре в крестики-нолики пронумерованы, как показано на рисунке: 1, 2, 3, 4, 5, 6, 7, 8, 9. Заданы номера трёх квадратов: $$N_1$$, $$N_2$$, $$N_3$$, причём $$N_1 < N_2 < N_3$$. Напишите программу, проверяющую, лежат ли квадраты на одной горизонтали.
- Дополнительное задание. На изучаемом языке программирования запишите программу преобразования исходных данных в соответствии с алгоритмом, представленным блок-схемой.
- Сколько ошибок допущено в программе?
program zadacha;
var a: integer;
begin
writein(‘введите целое число а ‘)
readln(а);
if а > 0 then а:=а+1;
writein(‘Полученное число ‘ а)
end.Найдите все ошибки и исправьте их. Опишите на естественном языке или с помощью блок-схемы алгоритм преобразования исходных данных, используемый в данной программе.
1. Соответствие условий:
| Левый столбец | Правый столбец |
|---|---|
| x кратно 5 | x mod 5 = 0 |
| 2 < x < 5 | (x > 2) and (x < 5) |
| x ∈ [−10; 10] | (x >= −10) and (x <= 10) |
2. Квадраты лежат на одной горизонтали, если номера идут подряд и первый номер в строке имеет остаток 1 при делении на 3:
var
N1, N2, N3: integer;
begin
write(‘Введи N1<N2<N3>>’);
readln(N1, N2, N3);
if (N1 mod 3 = 1) and (N2 — N1 = 1) and (N3 — N2 = 1)
then writeln(‘На одной горизонтали’)
else writeln(‘Не на одной горизонтали’);
end.
Проверка:
- $$1, 8, 9$$ — не на одной горизонтали;
- $$7, 8, 9$$ — на одной горизонтали.
3. Для издания 2025 года программа преобразует число так:
- если $$a > 0$$, то $$a := a + 1$$;
- если $$a = 0$$, то $$a := 18$$;
- если $$a < 0$$, то $$a := a — 6$$.
var
a: integer;
begin
write(‘Введи целое число a >>’);
readln(a);
if a > 0 then
a := a + 1
else if a = 0 then
a := 18
else
a := a — 6;
writeln(‘a = ‘, a);
end.
Примеры:
| Входные данные | Выходные данные |
|---|---|
| $$-10$$ | $$-16$$ |
| $$0$$ | $$18$$ |
| $$10$$ | $$11$$ |
Для издания 2018 года в программе допущены ошибки:
- неверно написано writein вместо writeln;
- в записи readln(а) и далее используется русская буква а вместо латинской a;
- после if a > 0 then стоит лишняя точка с запятой;
- в строке вывода пропущена запятая: нужно writeln(‘Полученное число ‘, a).
Исправленная программа:
var
a: integer;
begin
write(‘Введи целое число a >>’);
readln(a);
if a > 0 then
a := a + 1;
writeln(‘Полученное число ‘, a);
end.
Алгоритм: если число положительное, его значение увеличивается на 1, в противном случае не изменяется.
Примеры:
| Входные данные | Выходные данные |
|---|---|
| $$-10$$ | $$-10$$ |
| $$0$$ | $$0$$ |
| $$10$$ | $$11$$ |



