Marvarick
23.04.2021 19:52

Ис­пол­ни­тель Чертёжник пе­ре­ме­ща­ет­ся на ко­ор­ди­нат­ной плос­ко­сти, остав­ляя след в виде линии. Чертёжник может вы­пол­нять ко­ман­ду Сме­стить­ся на (a, b) (где a, b — целые числа), пе­ре­ме­ща­ю­щую Чертёжника из точки с ко­ор­ди­на­та­ми (x, у) в точку с ко­ор­ди­на­та­ми (x + а, у + b). Если числа a, b по­ло­жи­тель­ные, зна­че­ние со­от­вет­ству­ю­щей ко­ор­ди­на­ты уве­ли­чи­ва­ет­ся; если от­ри­ца­тель­ные, умень­ша­ет­ся. На­при­мер, если Чертёжник на­хо­дит­ся в точке с ко­ор­ди­на­та­ми (4, 2), то ко­ман­да Сме­стить­ся на (2, −3) пе­ре­ме­стит Чертёжника в точку (6, −1).

За­пись

По­вто­ри k раз

Ко­ман­да1 Ко­ман­да2 Ко­ман­даЗ

Конец

озна­ча­ет, что по­сле­до­ва­тель­ность ко­манд Ко­ман­да1 Ко­ман­да2 Ко­ман­даЗ по­вто­рит­ся k раз.

Чертёжнику был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм:

По­вто­ри 5 paз

Сме­стить­ся на (0, 1) Сме­стить­ся на (−2, 3) Сме­стить­ся на (4, −5) Конец

Ко­ор­ди­на­ты точки, с ко­то­рой Чертёжник на­чи­нал дви­же­ние, (3, 1). Ка­ко­вы ко­ор­ди­на­ты точки, в ко­то­рой он ока­зал­ся?

1) (15, −6)

2) (14, −5)

3) (13, −4)

4) (12, −3)​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
киса2013438
07.04.2022 17:12
Итак зацикливание в программировании - это ситуация, когда цикл написан таким образом ,что условия выхода из него не выполняется. Рассмотрим зацикливание в операторах цикла for,while и repeat . Справедливости ради все варианты будут рассмотрены в Turbo Pascal и PascalABC. Также будет добавлен оператор write для вывода результатов.
Зацикливание в for
Вообще идея зацикливания проста : необходимо всего-то в каждом шаге цикла уменьшать оператор шага на 1 (i:=i-1;) . Однако именно такая реализация возможна не везде. Рассмотрим простой пример.
for i:=1 to 5 do begin
i:=i-1;
write(i);
end.
Казалось бы все просто,да не тут то было.В то время как в Turbo Pascal все проходит на ура,в PascalABC такое не возможно и для зацикливания необходимо использовать оператор goto.
label m;
var i:integer;
begin
m:
for i:=1 to 5 do begin
write(i);
if i=2 then goto m;
end;
end.
Зацикливание в while
Напомню,что в операторе while шаг цикла необходимо добавлять самостоятельно. Поэтому произвести зацикливание проще всего : нужно только убрать шаг цикла
var i:integer;
begin
i:=0;
while i<>1 do
write(i);
end.
Оба компилятора адекватно реагируют на пропуск шага.
Зацикливание в repeat
Для создание бесконечного цикла в этом случае, как и предыдущем, достаточно не указывать шаг цикла
var i:integer;
begin
i:=0;
repeat
write(i);
until i=1;
end.
тут вам приведены различные варианты для создание бесконечного цикла. Однако запомните,что зацикливание создает нагрузку и вообще редко используется. Гораздо чаще применяют неполное зацикливание при котором выход из цикла все же совершается.
0,0(0 оценок)
Ответ:
mery77
09.05.2022 11:05
Как-то так var a,b,c,h,p,s:real; var ch:char; var f:boolean;
begin
repeat
write('Êàê ñ÷èòàåì ïëîùàäü? 1-Ïî Ãåðîíó, 2-÷åðåç ïîëîâèíó ïðîèçâåäåíèÿ îñíîâàíèÿ íà âûñîòó: ');
readln(ch);
if ch='1' then begin
write('a='); read(a); write('b='); read(b); write('c='); read(c);
p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Ïëîùàäü ðàâíà ',s); f:=true;
end
else if ch='2' then begin
write('a='); read(a); write('h='); read(h);
writeln('Ïëîùàäü ðàâíà ',0.5*h*a);
f:=true;
end
else begin cls; writeln('Îòâåò ôèãîâûé! Åùå ðàçîê: 1-Ïî Ãåðîíó, 2-÷åðåç ïîëîâèíó ïðîèçâåäåíèÿ îñíîâàíèÿ íà âûñîòó: '); end;
until f;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота