Юный техник 1986-11, страница 61

Юный техник 1986-11, страница 61

пока ни одна кнопка на этаже не нажата и кабина пуста выполнять i Ждем вызова или входа человека1, повторить

{Здесь или нажата кнопка или кабина не пуста) если кабина пуста то (Нажата какая-то кнопка на этаже, находим какая) для М от 1 до Число этажей выполнять

если нажата кнопка на этаже (М) то Этаж-М конец условия повторить

{Номер нажатой кнопки запомнен в переменной Этаж} выполнить Движение (Этаж назначения = Этаж) {Приехали по вызову, ждем входа человека! в течение 7 секунд выполнять если кабина не пуста то перейти к метке Человек в кабине конец условия повторить

(Если цикл закончился, значит, за 7 секунд человек не вошел; это был ложный вызов, лифт свободен) перейти к метке Свободно иначе (Кабина не пуста)

Человек в кабине:

пока ни одна кнопка в кабине

не нажата

и кабина не пуста выполнять {Пока человек в кабине ждем нажатия

кнопки в лифте) повторить

{Кабина пуста или нажата кнопка в лифте! если кабина пуста то {Человек вышел)

перейти к метке Свободно

иначе {Находим нажатую

кнопку в лифте}

для М от 1 до Число этажей

выполнять

если нажата кнопка в лифте

(М) то

Этаж -- М

конец условия

повторить

выполнить Движение (Этаж

назначения = Этаж)

{Лифт приехал, но человек

еще не вышел,

вернемся к ожиданию нажа

тия кнопки в лифте

или выхода людей}

перейти к метке Человек в

кабине

конец условия конец условия

конец процедуры Управления лифтом

Программа готова. Можно