Вариант 1 Самостоятельная работа 24 ГДЗ Самостоятельные и контрольные работы Босова 8 класс (Информатика)
Дан программный код, записанный на двух языках программирования. Что будет выведено в результате работы программы при следующих значениях $$k$$? Запишите другой вариант программы, используя составные условия в операторе ветвления.
Паскаль
begin
readln(k);
if (k > 50) and (k < 70) then write(‘A’) else if (k >= 30) and (k <= 50) then write(‘C’) else if k >= 70 then write(‘B’) else write(‘D’);
end.Python
k=int(input())
if (k > 50)and (k < 70):print(‘A’)
else: if (k >=30)and(k <=50):print(‘C’)
else: if k >=70:print(‘B’)
else: print(‘D’)Напишите программу, которая по введённому $$k$$ — количеству грибов выводит фразу «Мы нашли в лесу $$k$$ грибов», причём согласовывает окончание слова «гриб» с числом $$k$$. Например, при $$k=11$$ должно быть выведено «Мы нашли в лесу 11 грибов», а при $$k=22$$ — «Мы нашли в лесу 22 гриба». Количество грибов может быть любым целым числом: 1, 3, 34, 127 и т. п. При окончании количества числа грибов на: 1 — гриб, от 2 до 4 — гриба, от 5 до 9 — грибов. Но если грибов от 11 до 14, надо писать «грибов», а не «гриб» или «гриба». Отдельно этот случай.
1. По заданному к определяем, в какую область попадает число:
- $$50 < k < 70$$ — выводится A;
- $$30 \le k \le 50$$ — выводится C;
- $$k \ge 70$$ — выводится B;
- во всех остальных случаях — D.
Тогда для указанных значений получаем:
| $$k$$ | Результат |
|---|---|
| 10 | D |
| 20 | D |
| 30 | C |
| 40 | C |
| 50 | C |
| 60 | A |
| 70 | B |
| 90 | B |
Pascal
begin
readln(k);
if (k > 50) and (k < 70) then write(‘A’)
else if (k >= 30) and (k <= 50) then write(‘C’)
else if k >= 70 then write(‘B’)
else write(‘D’);
end.Python
k = int(input())
if (k > 50) and (k < 70):
print(‘A’)
elif (k >= 30) and (k <= 50):
print(‘C’)
elif k >= 70:
print(‘B’)
else:
print(‘D’)
2. Чтобы правильно согласовать слово «гриб», нужно отдельно проверить числа от 11 до 14, а затем последнюю цифру числа.
Pascal
var
n, k: integer;
s, s1: string;
begin
write(‘Количество грибов = ‘);
readln(k);
n := k mod 100;
s := ‘Мы нашли в лесу ‘;
if (n >= 11) and (n <= 14) then s1 := ‘ грибов’
else
case k mod 10 of
1: s1 := ‘ гриб’;
2..4: s1 := ‘ гриба’;
0, 5..9: s1 := ‘ грибов’;
end;
write(s, k, s1)
end.Python
k = int(input())
s1 = ‘Мы нашли в лесу’
n = k % 100
if (n >= 11) and (n <= 14):
s2 = ‘грибов’
else:
if k % 10 == 1:
s2 = ‘гриб’
elif 2 <= k % 10 <= 4:
s2 = ‘гриба’
else:
s2 = ‘грибов’
print(s1, k, s2)
Примеры вывода:
- $$k=99$$ — Мы нашли в лесу 99 грибов;
- $$k=11$$ — Мы нашли в лесу 11 грибов;
- $$k=24$$ — Мы нашли в лесу 24 гриба;
- $$k=51$$ — Мы нашли в лесу 51 гриб.



