Умскул учебник стремится стать лучше! Если вы наткнулись на ошибку или неточность в нашем материале - просто сообщите нам, мы будем благодарны!
Информатика

Исполнители Редактор и Черепаха

21.12.2023
95

На этой странице вы узнаете

  • Почему автоматизация активно внедряется в нашу жизнь?
  • Используют ли редакторы статей алгоритмы?
  • Каким образом разработчики игры Марио оптимизируют структуру кода для управления Купы Трупы?

В мире программирования нашли своего необычного героя – исполнителя по имени Черепашка! 

Но давайте подумаем о том, что могут создать эти медленные и спокойные существа? Оказывается, черепашки способны не только искусно скользить по песку и воде, но и покорять бескрайние алгоритмические просторы! Для этой истории забудьте о том, что вы знаете о скучных алгоритмах и технических деталях, ведь здесь на сцену выходит черепашья изящность и непредсказуемость. Сможет ли черепашка действительно программировать? Это как вопрос: «Сможет ли черепаха снять Оскар?» – неожиданно, захватывающее и абсолютно интригующе.

Но в этой истории есть еще один герой – Редактор! 

Он своего рода маг редактирования, дешифрующий исходную информацию по заданному алгоритму. Воображайте его как редактора газеты, который не только печатает статьи, но и переводит их в язык, понимаемый компьютерами. Их совместная история – как захватывающее путешествие через алгоритмические джунгли, где черепашья изящность встречает волшебство редактирования. Так что давайте погрузимся в мир, где медленное становится удивительно быстрым, а редактирование превращает информацию в настоящее волшебство. Если вы уже изучили фундаментальные принципы алгоритмов, разобрались в анализе их работы с помощью примеров Чертежника и Робота, и даже освоили основы языка программирования Python, то наш путь от начинающего исследователя до опытного алгоритмиста намечается с большим успехом.

Редактор

Исполнитель «Редактор» является инструментом, разработанным для обработки строк, состоящих из цифровых символов. 

Путем применения заданных команд он демонстрирует, как можно систематически изменять и структурировать информацию в соответствии с заданными правилами, что разъясняет важность эффективного и автоматизированного подхода к обработке данных.

Прежде чем вы научитесь разбираться в алгоритмических структурах, понимать их принципы работы и трансформировать их в понятный компьютеру язык – программный код, мы хотим познакомить вас с одним из наших героев. Он лишь один из многих существующих Редакторов, и у каждого такого Редактора свой код. Но это не делает нашего героя менее интересным!

В цифровом мире существует автор газеты по имени Редактор. Он работает в самой передовой цифровой газете города, где его задача заключается в превращении интервью в увлекательные и информативные статьи. 

Каждый день Редактор отправляется на работу со своим блокнотом и ручкой в кармане. Приходя на место общения с респондентами, он внимательно слушает и записывает все слова и мысли, которые те выражали. Когда интервью подходит к завершению, Редактор понимает, что пришло время преобразить записанные данные в готовую для публикации статью, и он начинает применять свои алгоритмы для обработки информации.

Стоп, стоп! Мы не можем просто так раскрыть все алгоритмы, используемые Редактором, ведь эти алгоритмы защищены авторским правом и требуют особой охраны! Но так уж и быть, давайте мельком взглянем на один из алгоритмов Редактора, который можно найти в открытом доступе. Этот алгоритм состоит из двух шагов:

  1. Заменить каждое вхождение числа 98 на число 944. 

Это был его способ выделить особые и важные моменты в информации. Редактор знал, что если появляется число 98, то оно указывает на ключевые факты или события, которые следует подчеркнуть в статье.

  1. Заменить каждое вхождение числа 94 на число 44. 

Этот шаг помогал Редактору выделить эмоциональные акценты и важные детали в тексте. Число 94 служило сигналом о наличии сильных эмоций или информации, которую следовало выделить в статье.

Следуя этим шагам алгоритма, Редактор переводит цифры в текстовый формат, создавая интересные и информативные статьи для своей цифровой газеты. Виртуальный мир, где он живет, не содержит слов, только цифры и кодировку, поэтому его роль состоит в том, чтобы преобразовывать этот числовой код в читабельный «текст» для жителей его мира.

Нам также удалось увидеть рабочий процесс героя! Когда он берет в руки свой блокнотик, он начинает листать его, ПОКА не обнаружит все вхождения чисел 98 и 94. ЕСЛИ на странице встречается эти числовые сочетания, он производит их замену на соответствующие числа, указанные в его алгоритме: 944 и 44. 

Но есть одно очень важное правило: на одной странице блокнота он осуществляет замену только ПЕРВОГО найденного вхождения этих комбинаций, ибо каждая правка изменяет контекст и подразумевает необходимость повторного перечитывания текста. 

Этот подход позволяет ему сохранить целостность и понимание содержания страницы при внесении изменений. После замены Редактор открывает блокнот с самой первой странички и выполняет этот алгоритм до тех пор, пока заменять будет нечего. 

Цель Редактора: обработка и преобразование данных. Используя программу, Исполнитель выполняет операции над входной строкой, преобразуя её содержимое согласно заранее определенным правилам. В данном случае он осуществляет замену определенных цифровых цепочек на другие цепочки в зависимости от условий. Это позволяет модифицировать строку, делая её более подходящей для определенных нужд или анализа.

Давайте разберем этот процесс подробнее:

На строке блокнота записана информация в виде последовательностей следующих цифр: «9894». Мы можем проанализировать, как Редактор будет обрабатывать эту строку. Вхождение «98» будет найдено в начале строки. Следовательно, первую комбинацию «98» он заменит на «944», получит строку «94494» и теперь работать будет с ней. Вхождение «94» заменит на «44», получит строку «44494», и в конце так же «94» меняется на «44». В итоге Редактор получит строку «44444».

Однако аналогично реальной жизни, анализ каждой страницы блокнота занимает массу времени, а редакция устанавливает чрезмерно сжатые сроки на публикацию новостей. Именно по этой причине мы вводим в рассмотрение новое понятие – автоматизация. 

Автоматизация представляет собой процесс использования технологии и программных средств для выполнения задач без значительного вмешательства человека, что позволяет оптимизировать рабочий процесс и повысить эффективность. 

Самый простой пример автоматизации, который был представлен в статье «Основы алгоритмов», – это цикл for. Он выполняет автоматическое перебирание значений и, таким образом, способствует упрощению рабочего процесса.

Почему автоматизация активно внедряется в нашу жизнь? 

Без сомнения, вы уже уловили, каковы фундаментальные причины интенсивного внедрения автоматизации в повседневность. Это объясняется не только стремительным технологическим развитием, но и желанием облегчить множество аспектов нашей жизни. Автоматизация позволяет улучшить эффективность и точность задач, снизить нагрузку на человека в рутинных ситуациях, а также дает возможность перераспределить ресурсы на более креативные и сложные задачи. Этот процесс также обогащает наш опыт, позволяя нам освободить время для саморазвития и обогащения личной жизни.

Сходство нашего Редактора с обычным редактором газеты из реальной жизни заключается в их общей задаче – преобразовании и структурировании информации для создания понятного и интересного контента. Оба стремятся достичь одной цели – предоставить качественную информацию своим читателям, используя доступные им инструменты и технологии.

Используют ли редакторы статей алгоритмы?

Да, редакторы часто используют алгоритмы для облегчения работы. Эти алгоритмы могут автоматически проверять грамматику и структуру текста, выявлять повторения и дубликаты, а также предлагать улучшения в стиле и форматировании. Это позволяет редакторам более эффективно исправлять ошибки и работать над контентом, сэкономив время и улучшив качество статей. Вот некоторые способы, как алгоритмы могут облегчить работу редакторов:

Перевод и локализация: автоматизированные системы перевода помогают редакторам создавать контент на других языках или адаптировать его для разных регионов.
Автоматическое форматирование: алгоритмы могут автоматически форматировать текст в соответствии с требованиями конкретного стиля или платформы публикации.
Составление списка литературы и источников: алгоритмы могут помочь автоматически собирать и форматировать список используемых источников и ссылок.

Так, на алгоритмическом языке Редактор может разработать программу, которая берет на себя определенные повторяющиеся задачи, позволяя ему сосредоточиться на более важных аспектах, и в результате получается продукт, который требует лишь небольших корректировок.

Для того чтобы преобразовать строку цифр, он, например, использует две доступные команды. В обеих командах символы v и w представляют цепочки символов:

  • Команда «заменить (v, w)» заменяет первое вхождение цепочки v на цепочку w в строке. Если цепочки v в строке отсутствуют, эта команда не вносит изменений в строку.
  • Команда «нашлось (v)» проверяет, содержится ли цепочка v в строке.

Давайте взглянем на такую программу:

НАЧАЛО
ПОКА нашлось (98) ИЛИ нашлось (94) 
    ЕСЛИ нашлось (98)
        ТО заменить (98, 944)
        ИНАЧЕ заменить (94, 44)
    КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

Данный синтаксис уже знаком вам из статей «Основы алгоритмов» и «Практика анализа алгоритмов». Но прежде чем проводить анализ этого алгоритма и переводить его в нужный нам программный код, давайте составим памятку ключевых слов алгоритмического языка и сопоставим их с конструкциями языка Python, который мы успели изучить в статьях «Основы программирования. Часть 1» и «Часть 2».

Как вы заметили, конструкции алгоритмического языка зачастую идут в связке, но для программного кода Python используются вложенные структуры.

Например, у условного оператора ЕСЛИ (if) не будет пары КОНЕЦ ЕСЛИ, но тогда конец цикла обозначается правильной табуляцией. 

Табуляция – это механизм, используемый для выделения вложенных структур в языке Python. 

Ее принцип работы заключается в том, что при нажатии клавиши Tab мы фактически «вкладываем» определенную конструкцию внутрь другой, создавая иерархическую структуру и подчеркивая уровни вложенности. Это позволяет визуально организовать код, сделать его более читаемым и облегчить понимание структуры программы.

Если с ключевыми словами все понятно, то как же быть с командами «нашлось» и «заменить»? Каждая структура в языке программирования обретает свое начало из логической концепции:

  1. В языке Python оператор «нашлось» представлен как оператор включения «in». 

Предположим, у нас есть переменная page, в которой хранится текст этой статьи. Запись “Редактор” in page можно интерпретировать как вопрос “Есть ли слово Редактор в статье?”, и получить ответ от программы “Да – true – 1” или “Нет – false – 0”.

Следующая программа: 

nashel = False
page = “Это тестовый пример исполнителя Редактор”
if (“Редактор” in page) == True:
    nashel = True

поменяет наш индикатор “nashel” на истину. Однако принято писать программу следующим образом:

if “Редактор” in page:
    nashel = True

так как в ветку if мы зайдем только в случае, если она истинна.

  1. Метод replace применяется для замены указанной подстроки другой подстрокой в строке. 

Например, чтобы заменить все вхождения слова «Редактор» на слово «Исполнитель» в данной статье, используйте следующий код: page.replace(‘Редактор’, ‘Исполнитель’). 

Важно отметить, что оба аргумента метода должны быть строками, то есть заключены в кавычки. Вспомните, мы ранее упомянули, что редактор изменяет лишь первое вхождение чисел, после чего возвращается к началу блокнота и начинает поиск заново. Таким образом, для того чтобы произвести замену только первого вхождения, необходимо в третьем аргументе метода replace указать число 1.

page = ‘Это тестовый пример исполнителя Редактор. Редактор – герой нашей статьи.’ 

page = page.replace(‘Редактор’, ‘Исполнитель’) #’Это тестовый пример исполнителя Исполнитель. Исполнитель – герой нашей статьи.’

page = page.replace(‘Редактор’, ‘Исполнитель’, 1) #’Это тестовый пример исполнителя Исполнитель. Редактор – герой нашей статьи.’

Важно: Когда вы используете метод replace, он создает новую версию строки с вашими изменениями, но не меняет оригинальную строку. Поэтому, чтобы сохранить изменения, нужно полученный результат (новую строку с изменениями) присвоить обратно переменной page.

Давайте составлять программу. При анализе очень удобно выделять связь между конструкциями линиями. Это поможет вам не ошибиться в табуляции:

Мы не просто так разбираем эту тему: она может встретиться и на экзамене. В задании 12 ЕГЭ могут попросить в качестве ответа:

  • полученную в результате преобразования строку;
  • количество какой-нибудь цифры в строке;
  • сумму цифр;
  • оптимальное преобразование.

Если с первым пунктом все предельно ясно, то найти количество заданной цифры поможет ранее изученный в статье «Работа со строками» метод count, который в качестве аргумента принимает строку:

s = ‘94498’
while ’98’ in s or ’94’ in s:
     if ’98’ in s:
        s = s.replace(’98’, ‘944’, 1)
    else:
        s = s.replace(’94’, ’44’, 1)
print(s.count(‘4’)) #5

Что, если нас просят найти часто повторяющуюся цифру в строке? Воспользуемся циклом for, который каждый раз будет подставлять цифру из диапазона и проверять ее количество.

max_c = 0
max_i = None
for i in range(0, 10):
    if s.count(str(i)) > max_c:
        max_c = s.count(str(i))
        max_i = i
print(max_c)

Переменная max_c будет хранить в себе максимальное количество, а max_i — цифру, которая повторяется это количество раз. Появляется новая для нас конструкция str(i), что это такое?

Данная операция называется преобразование (или приведение) типов.

Преобразование (приведение) типов – изменение значения переменной из одного типа данных в другой. 

Дело в том, что цикл for перебирает числа, а метод count работает со строками, поэтому нам необходимо аргумент метода «привести» из целочисленного типа в строковый.

Теперь давайте посмотрим, как найти сумму цифр в полученной строке.

summa = 0
for num in s:
    summa += int(num)
print(summa)

Как видите, здесь тоже потребовалось приведение типов – из строкового в целочисленный, ведь каждый элемент, названный num – это символ строки, соответственно, и тип его будет строковый. Если мы не сделаем приведение к целочисленному типу, то снова получим строчку “44444”, ведь произвели конкатенацию (склейку строк).

Зачем заниматься ручным решением 12 задачи ЕГЭ, если программа значительно упрощает этот процесс и позволяет решить задачу в несколько раз быстрее? Бывают ситуации, когда необходимо изучить последовательность действий и определить оптимальный порядок. Давайте посмотрим.

Задание. На вход приведённой выше программе поступает строка, содержащая 15 цифр 4, 43 цифры 8 и 57 цифр 9, расположенных в произвольном порядке. Какое максимальное возможное количество четверок может находиться в строке после применения приведенной выше программы к строке?

Решение. Итак, давайте посмотрим на наши команды. “98” меняется на “944”, а “94” меняется на “44, значит, “98” дает нам три четверки.

Значит, чтобы получить максимальное количество четверок, нам нужно составить как можно больше комбинаций «98». Если девяток 57, а восьмерок 43, то всего мы получим 43 комбинаций «98», и остается 57-43=14 девяток.

Теперь в нашем запасе 15 четверок и 14 девяток. Комбинация “94” дает нам две четверки, поэтому получим 14 комбинаций
«94» и останется одна четверка.Итого количество четверок: 43*3+14*2+1=158.

Ответ: 158

Неважно, насколько глубоко вы освоили язык программирования, создание алгоритма без понимания основ и базовых принципов действий остается невозможным. Порой достаточно просто взглянуть на задачу и решить ее в уме. Поэтому не следует недооценивать ручной подход, ведь иногда автоматизацию внедряют без надобности, однако это уже другая история.

Теперь, когда мы познакомились с удивительным миром Редактора и его способностью преобразовывать информацию с помощью алгоритмов замен, давайте углубимся в не менее захватывающую тему. Мы начнем разговор о более сложных алгоритмах визуализации движения объектов на плоскости, которые лежат в основе работы черепахи.

Черепаха

Исполнитель «Черепаха» представляет собой абстрактный инструмент в области компьютерной графики и образования алгоритмов, который используется для визуализации и описания движения объекта на плоскости. 

«Черепаха» работает в контексте декартовой системы координат (или прямоугольной системы координат), где плоскость разделена на горизонтальные (ось X) и вертикальные (ось Y) координатные линии. Работа с ней способствует развитию процедурного мышления, где программист разделяет задачу на простые шаги и команды, чтобы достичь определенной цели на плоскости.

И вот появляется перед нами еще один персонаж. Угадали, о ком речь? Это всеми любимая Черепашка из игры Марио – Купа Трупа! 

Похоже, она чувствует некоторое разочарование – что случилось? О, мы понимаем… Разработчики игры, кажется, не дали ей возможность полностью раскрыть свой потенциал, и она сильно хочет продемонстрировать, на что способна. Давайте дадим ей шанс!

Итак, в игре наша Купа Трупа может ходить только вправо и влево (то есть по горизонтальной оси x).

Куда смотрит голова Черепашки, туда она и идет. Но как она понимает, когда и в какую сторону поворачиваться? Все очень просто: у нее в ухе наушник, в который разработчик диктует следующие команды:

  • вправо(n)
  • влево(n)

n – это градус, на который поворачивается черепашка. Так, например, услышав команду вправо(90) персонаж меняет свою траекторию следующим образом:

Впрочем, перемещаться нашей Черепашке разрешено лишь на ограниченное количество шагов, ведь в мире кинематографии каждая деталь продумана заранее, и в данном случае она выступает в роли настоящего актера. И это количество также задает разработчик:

  • вперед(m)

m – количество шагов (клеточек), которые сделает Купа Трупа. В итоге разработчик осознал, что можно установить траекторию движения Черепашки с помощью программы, избегая необходимости диктовать в наушник каждое движение (именно поэтому наушник убрали из основной игры). Таким образом, он применил автоматизацию этого процесса, к этому мы еще вернемся. Черепашка, что скажешь, на что ты еще способна? 

Во время подготовки Черепашка нашла способ рисовать предварительную траекторию своего движения, чтобы после работы над сценой продолжать совершенствовать свое актерское мастерство. Не впечатлило? Поверьте, то, что вы прочитаете сейчас, точно вас впечатлит!

Посмотрите на хвостик, кто-то помог Черепашке и привязал ей карандашик. Когда она опускает хвост, то карандаш касается плоскости и чертит ее перемещения.

Актеры тратят годы на мастерство в одной роли, а Купа Трупа использует карандаш, чтобы «репетировать» свои ходы. Задумайтесь! 

Каким образом разработчики оптимизируют структуру кода для управления Черепашкой? 

Существует несколько различных подходов, комбинации которых позволяют достичь хороших результатов:

Использование циклов: циклы позволяют повторять определенные действия несколько раз, что позволяет сократить количество кода и улучшить его читаемость. 

Например, вместо повторения одних и тех же команд в коде для каждого шага Черепашки, разработчики могут использовать цикл for для автоматического повторения команд нужное количество раз.

Использование условных операторов: разработчики могут использовать условные операторы, такие как if-else, для управления движением Черепашки в зависимости от определенных условий. 

Например, они могут проверять, достигла ли Черепашка определенной точки на поле или выполнено ли определенное условие, и на основе этого принимать решение о дальнейших действиях.

Использование функций: программисты могут определить функции, которые выполняют определенные действия с Черепашкой. 

Это позволяет сгруппировать связанный код в отдельные функции, что улучшает читаемость и поддерживаемость кода. Функции могут быть вызваны в нужном месте программы для выполнения определенных действий с Черепашкой. Например, функция поворота головы является собственной реализацией в коде.

Использование переменных: разработчики могут использовать переменные для хранения значений, таких как количество шагов или угол поворота, и использовать их в коде для управления движением Черепашки. 

Это позволяет легко изменять значения переменных и, таким образом, изменять движение Черепашки без изменения самого кода.

Оптимизация структуры кода позволяет сделать код более эффективным, понятным и поддерживаемым. Она помогает сократить повторение кода, улучшить его читаемость и упростить дальнейшую разработку и сопровождение.

К сожалению, нам не дано проникнуть в программный код игры Марио, чтобы увидеть, как Купа Трупа выполняет свои движения. Однако в контексте задания №6 на ЕГЭ для достижения решения можно прибегнуть к использованию его отдаленного потомка – Черепашки из «КуМир» (версия rc11).

Перед началом работы нам необходимо разбудить нашу рептилию, нужно ее объявить: для этого вводим следующую запись в самом верху:

  • использовать Черепаха

и нажимаем на любую из стрелочек для запуска рабочей области.

Теперь КуМир вывел нам рабочее поле – это система координат, по которой передвигается Исполнитель.

В начале она находится в точке начала координат с головой, направленной вверх по положительной оси Y, а хвост опущен. Когда хвост опущен, Черепаха оставляет след на поле в виде линии. На каждом шаге известно положение исполнителя и направление его движения. Исполнитель может выполнить ранее изученные нами команды: «вперёд n» и «вправо m«.Чтобы начать рисовать, нужно написать команду “опустить хвост”.

Попробуем нарисовать квадрат с помощью Черепашки. Для этого мы будем идти вперед на n число единиц, поворачивать голову вправо на 90 градусов, чтобы повернуть Черепашку, и опять идти вправо. Такие действия необходимо проделать четыре раза.

Помните, программист игры Марио решил написать программу для передвижения Купы Трупы? В нашем алгоритме присутствуют повторяющиеся фрагменты кода, что является неоптимальным с точки зрения его написания. Чтобы избежать этой проблемы и улучшить структуру кода, рекомендуется использовать цикл for для подобных задач.

Так, цикл for, обозначающий повторение действий n раз в Черепашке записывается следующим образом:

Ключевые слова:

  • алг означает объявление алгоритма
  • нач и кон обозначают тело программы;
  • нц и кц обозначают начало и конец цикла.

Решим 6 задачу ЕГЭ.

Задание. Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен.

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

Черепахе был дан для исполнения следующий алгоритм: Повтори 4 [Вперёд 9 Направо 120] 

Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.

Решение. При решении задачи нужно обратить внимание на положение головы Черепахи. По условию она направлена вдоль положительного направления Y. Так, если мы используем КуМир, то ничего менять не нужно, но если для решения используется Python, то черепаху нужно повернуть, так как по умолчанию ее голова направлена вдоль положительного направления X.

Все, что от нас требуется – переписать алгоритм в КуМир. Выглядит он следующим образом:

Если мы используем комбинацию зажатой клавиши Ctrl и колесика мыши для изменения масштаба, то мы также регулируем размер сетки. Чтобы получить размер сетки для подсчета, необходимо нажать на Четыре полосочки сверху и кликнуть по кнопке “1:1”. Приступаем к подсчету:

Внимательно читаем условие – точки на линиях считать не нужно.

Ответ: 30

В этой статье мы узнали о двух инструментах — Исполнителях «Редактор» и «Черепаха». «Редактор» обрабатывает цифровые строки, заменяя определенные числовые цепочки, а «Черепаха» визуализирует движение на плоскости. Оба инструмента подчеркивают важность алгоритмического мышления, автоматизации обработки данных и выполнении задач в целом. Эти исполнители являются результатом программирования и алгоритмического мышления, при котором разработчики создают инструменты, соответствующие своим целям и задачам. Использование таких самописных программ позволяет эффективно обрабатывать данные и визуализировать движение на плоскости.

Что делать, если наш рисунок слишком крупный и не умещается в пределах масштаба 1:1? В следующей статье мы исследуем способы решения данной задачи с использованием программирования на языке Python.

Термины

Вложенные структуры — удобный способ повысить возможности программы. Здесь мы никак не ограничены: мы можем вкладывать циклы в циклы, условия в условия, циклы в условия и так далее. Количество вложений также ничем не ограничено.

Конкатенация — получение новой строки, состоящей из двух других путем их «склеивания». 

Система координат — метод определения положения точек через числовые значения (координаты) в пространстве.

Фактчек

  • Табуляция помогает организовать код, сделать его более читаемым и выразительным. Условные операторы, такие как «if», требуют соответствующей табуляции для обозначения вложенных блоков.
  • Программа и алгоритм упрощают решение задачи, но иногда полезен ручной подход. Понимание основ и базовых принципов является основой для разработки эффективных алгоритмов.
  • «Редактор» – это инструмент, который обрабатывает и преобразует данные согласно заданному алгоритму. В рамках ЕГЭ код этого Исполнителя иллюстрирует, как можно изменять данные на основе определенных правил, что может быть полезно, например, при обработке больших объемов информации или автоматизации определенных рутинных операций. 
  • Редактор делает замену конструкции по первому вхождению. Метод «replace» позволяет заменить все вхождения подстроки в строке. Для замены только первого вхождения используется дополнительный третий аргумент, обозначающий количество замен: replace(‘a’,’b’,1).
  • Исполнитель «Черепаха» представляет собой алгоритмическую абстракцию, используемую для описания движения объекта (черепахи) на плоскости с декартовой системой координат. Черепаха начинает свое движение из начальной точки (0,0) с головой, направленной вдоль заданного направления оси абсцисс или ординат, а хвостом, опущенным вниз.
  • Для точного решения задачи необходимо учесть особенности направления головы Черепахи и подходящий масштаб. В КуМир Черепашка по умолчанию смотрит вдоль положительной оси ординат (ось y).
  • Оператор «нашлось» представлен в Python как оператор включения «in», он проверяет наличие подстроки в строке и возвращает булево значение (True or False).
  • Преобразование типов нужно при взаимодействии с разными типами данных, например, числа в строки.

Проверь себя

Задание 1.
Стандартным направлением в КуМире, куда ориентирована голова Черепашки, является:

  1. положительное направление оси ординат;
  2. положительное направление оси абсцисс;
  3. отрицательное направление оси ординат;
  4. отрицательное направление оси абсцисс.

Задание 2.
Исполнитель Черепаха осуществляет свои действия на плоскости, где каждая точка представлена парой чисел (X, Y), обозначающих горизонтальное и вертикальное положение соответственно. Такая система координат носит название:

  1. декартова;
  2. полярная;
  3. сферическая;
  4. цилиндрическая.

Задание 3.
Процесс изменения значения одного типа данных в другой тип данных называется:

  1. магический метод;
  2. преобразование типов;
  3. преображение типов;
  4. мутация переменных.

Задание 4.
Дан алгоритм: Повтори 5 [Вперед 5 Влево 120 Вперед 5]. Какую фигуру нарисует Черепашка? 

  1. пятиугольник
  2. треугольник
  3. прямоугольник
  4. квадрат

Задание 5.
Дана программа для исполнителя Редактор:

НАЧАЛО
ПОКА нашлось (10)
    заменить (10, 100)
КОНЕЦ ПОКА
КОНЕЦ

На вход приведённой выше программе поступает строка, содержащая 5 комбинаций последовательность “10”.

Чему равно количество единиц в строке после применения приведенной выше программы к строке?

  1. 10 единиц;
  2. 100 единиц;
  3. 10^100 единиц;
  4. бесконечное количество.

Ответы: 1. — 1; 2. — 1; 3. — 2;  4. — 2;  5. — 4.

Понравилась статья? Оцени:
Читайте также:

Читать статьи — хорошо, а готовиться к экзаменам
в самой крупной онлайн-школе — еще эффективнее.

50 000
Количество
учеников
1510
Количество
стобальников
>15000
Сдали на 90+
баллов