Вариант 1 Самостоятельная работа 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(‘Введите число a’)
readln(a);
if a > =0 then if a=0 then a:=18 else a:=a+l;
else a:=a-6;
writein (a);
readln
end.Найдите все ошибки и исправьте их. Опишите на естественном языке или с помощью блок-схемы алгоритм преобразования исходных данных, используемый в данной программе.
1) Соответствие составных условий:
- x не кратно 4 — $$x \bmod 4 \ne 0$$
- $$-5 < x < -2$$ — $$(x>-5)\ \text{and}\ (x<-2)$$
- $$x \in [-1;5]$$ — $$(x>=-1)\ \text{and}\ (x<=5)$$
2) Квадраты на одной вертикали в поле 3×3 отличаются на 3:
$$N_2-N_1=3 \quad \text{и} \quad N_3-N_2=3$$
Тогда программа проверяет условие и выводит нужное сообщение.
var
N1, N2, N3: integer;
begin
write(‘Введи N1<N2<N3>> ‘);
readln(N1, N2, N3);
if (N2 — N1 = 3) and (N3 — N2 = 3)
then writeln(‘На одной вертикали’)
else writeln(‘Не на одной вертикали’);
end.
print(‘Введи N1<N2<N3>>’)
N1, N2, N3 = map(int, input().split())
if (N2 — N1 == 3) and (N3 — N2 == 3):
print(‘На одной вертикали’)
else:
print(‘Не на одной вертикали’)
3) Алгоритм преобразования числа:
если $$a \ge 0$$, то при $$a=0$$ присваивается $$18$$, иначе $$a:=a+1$$; если $$a<0$$, то $$a:=a-6$$.
var
a: integer;
begin
write(‘Введи a>> ‘);
readln(a);
if a >= 0 then
if a = 0 then a := 18 else a := a + 1
else a := a — 6;
writeln(a);
end.
a = int(input())
if a >= 0:
if a == 0:
a = 18
else:
a = a + 1
else:
a = a — 6
print(a)
Для проверки:
| Входные данные | Выходные данные |
|---|---|
| -10 | -16 |
| 0 | 18 |
| 10 | 11 |
Ответ
1) $$x \bmod 4 \ne 0$$; $$(x>-5)\ \text{and}\ (x<-2)$$; $$(x>=-1)\ \text{and}\ (x<=5)$$.
2) Программа проверяет, что $$N_2-N_1=3$$ и $$N_3-N_2=3$$.
3) Если $$a=0$$, то $$a:=18$$; если $$a>0$$, то $$a:=a+1$$; если $$a<0$$, то $$a:=a-6$$.




