1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Босова (Сам и контр)
Вариант 1 Самостоятельная работа 24 ГДЗ Самостоятельные и контрольные работы Босова 8 класс (Информатика)
Босова, Босова, Бондарева
8 класс
Автор
Босова, Босова, Бондарева

Вариант 1 Самостоятельная работа 24 ГДЗ Самостоятельные и контрольные работы Босова 8 класс (Информатика)

Задача

МНОГООБРАЗИЕ СПОСОБОВ ЗАПИСИ ВЕТВЛЕНИЯ
ВАРИАНТ 1
1. Дан программный код, записанный на двух языках программирования.
Что будет выведено в результате работы программы при следующих значениях к?
Запишите другой вариант программы, используя составные условия в операторе ветвления.
Паскаль
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’)
2. Напишите программу, которая по введённому k — количеству грибов выводит фразу «Мы нашли в лесу k грибов», причём согласовывает окончание слова «гриб» с числом k. Например, при k = 11 должно быть выведено «Мы нашли в лесу 11 грибов», а при k = 22 — «Мы нашли в лесу 22 гриба». Количество грибов может быть любым целым числом: 1, 3, 34, 127 и т. п.
При окончании количества числа грибов на:
1 – гриб, от 2 до 4 – гриба, от 5 до 9 грибов.
Но, если грибов от 11 до 14 надо писать «грибов», а не «гриб» или «гриба». Отдельно этот случай. Для остальных вариантов удобно воспользоваться множественным выбором.
Паскаль
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 гриб Python k=int(input()) s1='Мы нашли в лесу' n=k%100 if (n > =11)and (k < =14):s2='грибов' else: if k%10 ==1:s2='гриб' else: if k%10 > =2 and k%10 < =4:s2='гриба' else: s2='грибов' print(s1,' ',k,' ',s2)

Подробный ответ

1. По заданному к определяем, в какую область попадает число:

  • $$50 < k < 70$$ — выводится A;
  • $$30 \le k \le 50$$ — выводится C;
  • $$k \ge 70$$ — выводится B;
  • во всех остальных случаях — D.

Тогда для указанных значений получаем:

$$k$$Результат
10D
20D
30C
40C
50C
60A
70B
90B

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 гриб.


Общая оценка
4.1 / 5
Другие учебники
Другие предметы