Запишем таблицу распределения мест по купе: Купе Места 1 1-4,53,54 2 5-8,51,52 3 9-12,49,50 4 13-16,47,48 5 17-20,45,46 6 21-24,43,44 7 25-28,41,42 8 29-32,39,40 9 33-36,37,38 Установим связь номера места с номером купе. Предлагается следующий (конечно же, не единственный) вариант: Здесь знаком ÷ обозначена операция целочисленного деления.
Теперь можно написать программу. Язык программирования в задании не указан, поэтому выбран язык свободно распространяемой для целей обучения системы программирования PascalABC.Net
var n:integer; begin Write('Укажите номер места: '); Read(n); Write('Место располагается в купе №'); if n<=36 then Write((n-1) div 4 + 1) else Write((54-n) div 2 + 1) end.
Тестовое решение: Укажите номер места: 18 Место располагается в купе №5
X увеличивается в цикле с 1 до 4, каждый раз на 1. y каждый раз увеличивается в 2 раза, начиная с 1 и до 2^4 = 16. 1) Тело цикла исполнится 4 раза. 2) x примет значение 5. 3) y примет значение 16. 4) Если написать x <= 5, то тело цикла исполнится 5 раз. На выходе будет x = 6, y = 32. 5) Если написать x >= 5, то тело цикла не будет исполнено ни разу, потому что условие сразу не выполняется. 6) Если написать x > 0, то программа зациклится. Цикл будет исполняться бесконечно, потому что x всегда > 0. 7) Если убрать команду x:=x+1, то программа тоже зациклится. Выхода не будет, потому что x всегда остается равным 1 < 5. 8) Если написать команду x:=x+2, то тело цикла исполнится 2 раза: при x := 1 и при x := 3. На третий раз станет x = 5 и будет выход из цикла. 9) Если написать команду x:=x-1, то программа зациклится. Выхода не будет, потому что x будет уменьшаться и всегда останется < 5.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку