Если (справа свободно) и (не снизу свободно) то

Если (справа свободно) и (не снизу свободно) то

На право

Все

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока условие

последовательность команд

кц

К примеру, для дви­же­ния на право, пока это может быть, можно ис­поль­зо­вать сле Если (справа свободно) и (не снизу свободно) то­ду­ю­щий метод:

нц пока спра­ва сво­бод­но

На право

кц

Сделайте задание.

На бес­ко­неч­ном поле име­ет­ся вер­ти­каль­ная стенка. Длина стенки неведома. От ниж­не­го конца стенки впра­во от­хо­дит го­ри­зон­таль­ная стенка также не­из­вест Если (справа свободно) и (не снизу свободно) то­ной длины. Бот на­хо­дит­ся в клеточке, рас­по­ло­жен­ной слева от вер­ти­каль­ной стенки и выше го­ри­зон­таль­ной стенки. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния Если (справа свободно) и (не снизу свободно) то стенок и Ро­бо­та (Бот обо­зна­чен бук­вой «Р»).

Напишите для Ро­бо­та метод, за­кра­ши­ва­ю­щий все клеточки, рас­по­ло­жен­ные ниже го­ри­зон­таль­ной стенки и при­мы­ка­ю­щие к ней. Тре­бу­ет­ся Если (справа свободно) и (не снизу свободно) то за­кра­сить толь­ко клеточки, удо­вле­тво­ря­ю­щие дан­но­му условию. К примеру, для приведённого выше ри­сун­ка Бот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. набросок).

Конечное рас­по­ло­же­ние Ро­бо Если (справа свободно) и (не снизу свободно) то­та может быть произвольным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стенок внут­ри пря­мо­уголь­но­го поля. При ис­пол­не Если (справа свободно) и (не снизу свободно) то­нии ал­го­рит­ма Бот не дол­жен разрушиться, вы­пол­не­ние ал­го­рит­ма долж­но закончиться. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля либо за­пи­сан в тек­сто­вом Если (справа свободно) и (не снизу свободно) то редакторе. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

20.2Напишите про­грам­му для ре­ше­ния сле­ду­ю­щей задачки. Ка­ме­ра на­блю­де­ния ре­ги­стри­ру­ет в ав­то­ма­ти­че­ском ре­жи­ме Если (справа свободно) и (не снизу свободно) то ско­рость про­ез­жа­ю­щих мимо неё автомобилей, округ­ляя зна­че­ния ско­ро­сти до целых чисел. Не­об­хо­ди­мо опре­де­лить сред­нюю за­ре­ги­стри­ро­ван­ную ско­рость всех автомобилей. Если более 2-ух ав­то­мо­би­лей дви Если (справа свободно) и (не снизу свободно) то­га­лись со ско­ро­стью не боль­ше 40 км/ч, вы­ве­ди­те «YES», по другому вы­ве­ди­те «NO».

Программка по­лу­ча­ет на вход число про­ехав­ших ав­то­мо­би­лей N (1 =< N =< 30), потом ука­зы­ва­ют­ся Если (справа свободно) и (не снизу свободно) то их скорости. Зна­че­ние ско­ро­сти не может быть мень­ше 1 и боль­ше 300.Программка долж­на сна­ча­ла вы­ве­сти сред­нюю скорость, потом «YES» либо «NO».

Пример ра­бо­ты программки:

Входные данные Выходные данные
4 74 69 63 96 63 NO

Задание 20 № 421

Пояснение.

20.1 Последующий ал­го­ритм вы­пол­нит Если (справа свободно) и (не снизу свободно) то тре­бу­е­мую задачку.

нц

пока спра­ва сво­бод­но

На право

кц

нц

пока не спра­ва сво­бод­но

Вниз

кц

На право

нц пока не свер­ху свободно

Закрасить

На право

кц

Решение

var N, a, i, num: integer; s, ave: real;

begin

s := 0.0; num := 0;

readln(N);

for i := 1 to N do

begin

readln(a); s := s+a;

if a <= 40 then num Если (справа свободно) и (не снизу свободно) то := num + 1;

end;

ave := s/N;

writeln(ave:6:1);

if num >= 2 then writeln('YES')

else writeln('NO')

end.

Для про­вер­ки пра­виль­но­сти ра­бо­ты про­грам­мы не­об­хо­ди­мо ис­поль­зо­вать сле­ду­ю­щие испытания:

Входные данные Выходные данные Если (справа свободно) и (не снизу свободно) то
65.3 NO
35.0 NO
40.0 YES
60.0 YES

Упрятать пояснение

Удалить задание из теста

40. Изберите ОДНО из пред­ло­жен­ных ниже заданий: 20.1 либо 20.2.

20.1 Ис­пол­ни­тель Бот умеет пе­ре­ме­щать­ся по лабиринту, на­чер­чен­но­му на плоскости, раз­би­той на клеточки. Меж со­сед­ни­ми (по Если (справа свободно) и (не снизу свободно) то сторонам) клет­ка­ми может сто­ять стенка, через ко­то­рую Бот прой­ти не может.

У Ро­бо­та есть де­вять команд. Че­ты­ре команды — это команды-приказы:

Ввысь вниз на лево на право

При вы­пол­не­нии хоть какой из этих ко­манд Бот пе Если (справа свободно) и (не снизу свободно) то­ре­ме­ща­ет­ся на одну клет­ку соответственно: ввысь ↑ вниз ↓, на лево ← , впра­во →. Если Бот по­лу­чит ко­ман­ду пе­ре­дви­же­ния через стенку, то он разрушится.

Также у Ро­бо­та есть ко­ман­да закрасить, при ко­то Если (справа свободно) и (не снизу свободно) то­рой за­кра­ши­ва­ет­ся клеточка, в ко­то­рой Бот на­хо­дит­ся в на­сто­я­щий момент.

Ещё че­ты­ре команды — это ко­ман­ды про­вер­ки критерий. Эти ко­ман­ды инспектируют, сво­бо­ден ли путь для Ро­бо­та Если (справа свободно) и (не снизу свободно) то в каж­дом из четырёх воз­мож­ных направлений:

сверху свободно снизу свободно слева свободно спра­ва свободно

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если условие то

последовательность команд

Все

Тут условие — одна из ко Если (справа свободно) и (не снизу свободно) то­манд про­вер­ки условия. Последовательность команд — это одна либо не­сколь­ко всех команд-приказов. К примеру, для пе­ре­дви­же­ния на одну клет­ку на право, если спра­ва нет стены, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать таковой метод Если (справа свободно) и (не снизу свободно) то:

если спра­ва сво­бод­но то

На право

Закрасить

Все

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки критерий, при­ме­няя ло­ги­че­ские связ­ки и, либо, не, к примеру:


eshe-odno-obrushenie-krovli-proizoshlo-v-novosibirske-internet-resurs-baikal24ru-04022011.html
eshe-odno-sushestvennoe-zamechanie-nelzya-opredelyat-kakuyu-libo-funkciyu-v-tele-drugoj-funkcii.html
eshe-raz-flyak-i-raznie-raznosti.html