Язык программирования RUBY Есть код, в котором необходимо добавить функцию, которая будет отвечать за раздевалку, в которую могут заходить b выходить только мужчины в количестве 2 человека, женщин пускать нельзя. require './semaphore_lib' class BathInOutControl def initialize @male = Semaphore.new(1) @female = Semaphore.new(1) @bath = Semaphore.new(1) @bathState = :neutral @people = 0 @maxpeople = 3 end # Функция входа мужчины в ванную комнату def GetInBathroomMale @male.up! @bath.up! if @bathState != :male && @people <= @maxpeople @bathState = :male @people += 1 @male.down! end # Функция выхода мужчины из ванной комнаты def GetOutBathroomMale @male.up! @people -= 1 @bathState = :neutral if @people == 0 @bath.down! if @people == 0 @male.down! end # Функция входа женщины в ванную комнату def GetInBathroomFemale @female.up! @bath.up! if @bathState != :female && @people <= @maxpeople @bathState = :female @people += 1 @female.down! end # Функция выхода женщины из ванной комнаты def GetOutBathroomFemale @female.up! @people -= 1 @bathState = :neutral if @people == 0 @bath.down! if @people == 0 @female.down! end end bathroom = BathInOutControl.new N = 4 N.times do Thread.new do sleep rand * 5 puts Thread.current.to_s + ' мужчина пытается войти в ванную комнату' bathroom.GetInBathroomMale puts Thread.current.to_s + ' мужчина вошёл в ванную комнату' sleep rand puts Thread.current.to_s + ' мужчина вышел из ванной комнаты' bathroom.GetOutBathroomMale end end N.times do Thread.new do sleep rand * 5 puts Thread.current.to_s + ' женщина пытается войти в ванную комнату' bathroom.GetInBathroomFemale puts Thread.current.to_s + ' женщина вошла в ванную комнату' sleep rand puts Thread.current.to_s + ' женщина вышла из ванной комнаты' bathroom.GetOutBathroomFemale end end Thread.list.each { |t| t.join unless t == Thread.main }
1.Юре не хватает времени на туризм -> Юра не турист.
2. Врач сказал,что разделает увлечение сестры Юры -> Врач - турист.
3. У двух друзей нет нет букв из их имени ни в профессии, ни в увлечении.
Начнем с Тимура.Буквы из его имени есть во всех профессиях,значит к факту №3 он не относится.
Возьмем Юру. Если учитывать факт №3, то из увлечений ему подходит только бег, а из профессий - физик. Влад же у нас получается ,следуя факту №3 , Юрист, увлечение которого - регби. Тогда Тимур у нас является Врачом, который увлекается туризмом.
Решение верное,так как ни один из фактов не нарушен.
ответ: Влад - Юрист - Регби
Тимур - Врач - Туризм
Юра - Физик - Бег
1.Юре не хватает времени на туризм -> Юра не турист.
2. Врач сказал,что разделает увлечение сестры Юры -> Врач - турист.
3. У двух друзей нет нет букв из их имени ни в профессии, ни в увлечении.
Начнем с Тимура.Буквы из его имени есть во всех профессиях,значит к факту №3 он не относится.
Возьмем Юру. Если учитывать факт №3, то из увлечений ему подходит только бег, а из профессий - физик. Влад же у нас получается ,следуя факту №3 , Юрист, увлечение которого - регби. Тогда Тимур у нас является Врачом, который увлекается туризмом.
Решение верное,так как ни один из фактов не нарушен.
ответ: Влад - Юрист - Регби
Тимур - Врач - Туризм
Юра - Физик - Бег