Поделитесь своими знаниями, ответьте на вопрос:
Описание: исполнитель черепашка перемещается на экране компьютера, оставляя след в виде линии. в каждый конкретный момент известно положение исполнителя и направление его движения. у исполнителя существует две команды: вперёд n (где n — целое число), вызывающая передвижение черепашки на n шагов в направлении движения; направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. запись повтори k [команда1 команда2 командаз] означает, что последовательность команд в скобках повторится k раз. а) (2 б.) исполнитель черепашка перемещается на экране компьютера, оставляя след в виде линии. в каждый конкретный момент известно положение исполнителя и направление его движения. у исполнителя существует две команды: вперёд n (где n — целое число), вызывающая передвижение черепашки на n шагов в направлении движения; направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. запись повтори k [команда1 команда2 командаз] означает, что последовательность команд в скобках повторится k раз. при выполнении какого из перечисленных ниже алгоритмов на экране появился правильный треугольник? поясните свой выбор. 1) повтори 2 [вперёд 30 направо 20 направо 40] 2) повтори 3 [вперёд 30 направо 100 направо 20] 3) повтори 4 [вперёд 30 направо 50 направо 10] 4) повтори 5 [вперёд 30 направо 20 направо 45] черепашке был дан для исполнения следующий алгоритм: повтори 8 [вперёд 70 направо 72] какая фигура появится на экране? подсказка: это или правильный n-угольник или незамкнутая ломаная.
uses StrUtils;
var text,buffer : String;
var tpos,lastpos,counter,biggest : Integer;
begin
tpos := 0;
text := '';
while(tpos = 0) do begin
readln(buffer);
text += buffer;
tpos := pos('.',buffer)
end;
lastpos := 1;
tpos := PosEx(' ',text,lastpos);
if tpos = 0 then
tpos := PosEx('.',text,lastpos);
biggest := tpos-1; lastpos := tpos+1;
while(not (tpos = 0)) do begin
tpos := PosEx(' ',text,lastpos);
if tpos = 0 then
tpos := PosEx('.',text,lastpos);
if (tpos-lastpos) > biggest then
biggest := tpos-lastpos;
lastpos := tpos+1;
end;
lastpos := 1; counter := 0;
tpos := PosEx(' ',text,lastpos);
if tpos = 0 then
tpos := PosEx('.',text,lastpos);
while(not (tpos = 0)) do begin
if (tpos-lastpos) = biggest then
counter += 1;
lastpos := tpos + 1;
tpos := PosEx(' ',text,lastpos);
if tpos = 0 then
tpos := PosEx('.',text,lastpos);
end;
writeln(counter);
end.