Вариант 1 Самостоятельная работа 24 из старого издания 2018 года ГДЗ Самостоятельные и контрольные работы Босова 8 класс (Информатика)
Самостоятельная работа № 24. Составной оператор. Многообразие способов записи ветвления. Вариант 1
- Создайте программу, которая по введённому $$k$$ — количеству грибов — выводит фразу «Мы нашли в лесу $$k$$ грибов», причём согласовывает окончание слова «гриб» с числом $$k$$. Например, при $$k = 11$$ должно быть выведено «Мы нашли в лесу 11 грибов», а при $$k = 22$$ — «Мы нашли в лесу 22 гриба». Количество грибов может быть любым целым числом: $$1$$, $$3$$, $$34$$, $$127$$ и т. п. Окончание фразы определяется значением последней цифры: при $$1$$ — «гриб», от $$2$$ до $$4$$ — «гриба», от $$5$$ до $$9$$ — «грибов». Но если грибов от $$11$$ до $$14$$, надо писать «грибов», а не «гриб» или «гриба».
Нужно вывести фразу с числом грибов и правильно подобрать окончание слова «гриб».
Сначала проверим особый случай: если последние две цифры числа лежат в диапазоне $$11 \dots 14$$, то всегда пишем «грибов».
Иначе смотрим на последнюю цифру числа:
- $$1$$ — гриб;
- $$2, 3, 4$$ — гриба;
- $$0, 5, 6, 7, 8, 9$$ — грибов.
Для этого удобно использовать оператор if и case.
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.
При вводе $$99$$ получится: Мы нашли в лесу 99 грибов, при вводе $$11$$ — Мы нашли в лесу 11 грибов, при вводе $$24$$ — Мы нашли в лесу 24 гриба, при вводе $$51$$ — Мы нашли в лесу 51 гриб.
Ответ: программа на Pascal, приведённая выше.



