Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Среда программирования КУМИР




Жизнь как алгоритм

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

«Сегодня мы видим, как научная фантастика в виде самостоятельно управляемого автомобиля становится реальностью завтрашнего дня. Те, кто попадут внутрь такого автомобиля и узнают, что автомобиль ведет себя сам, будут немного напуганы, но они справятся с этим». — Джерри Браун, губернатор Калифорнии.

Как утверждает компания Google, продвигающая идею «беспилотной» машины, безопасность на дорогах только возрастет. В распоряжении Google есть 12 таких автомобилей, которые уже пробежали суммарно 300000 миль. За это время с участием такой машины лишь однажды произошло незначительное происшествие. По данным Google, вмешательство водителя, необходимое для предотвращения опасной ситуации, в среднем требовалось раз в 50000 миль.

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

Другой яркий пример автоматизации, уже входящий в нашу жизнь — это роботы-пылесосы.

На самом же деле роботы окружают нас уже давно — не меньше 20 лет. Сегодня в каждой стиральной машине, печке, посудомойке, в часах и телефоне, в промышленных станках с ЧПУ и швейных-машинках — находится микроконтроллер, который управляет их действиями и запрограммирован компанией-производителем для послушного выполнения заданий конечного пользователя.
Все эти примеры должны объяснить Вам, почему изучение алгоритмизации и программирования важно не только для сдачи ГИА или ЕГЭ, но и просто для будущей эффективной деятельности и успешной карьеры.

 

Определение алгоритма

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

Важно, что алгоритм всегда предназначен для исполнителя, на формальном языке которого он записан. Формальный язык означает, что в нем конечное количество синтаксических конструкций. Алгоритм подразумевает целенаправленные действия, достигающие необходимый результат в конце выполнения. Выполнение действий, не приводящих к цели — бессмысленно. Достижение результата в бесконечно отдаленном моменте тоже никого не порадует.

 

Среда программирования КУМИР

Начальный этап понимания сути алгоритмизации мы пройдем с помощью системы программирования КУМИР.

Язык КУМИР — универсальный язык программирования, его прототипом послужил «школьный язык программирования», разработанный А. П. Ершовым в первой половине 80-х годов ХХ века.

Система КУМИР — позволяет создавать, отлаживать и выполнять программы на универсальном языке программирования КУМИР. КУМИР является учебной системой. Несложные программы Вы сможете начать писать и выполнять практически сразу после знакомства с системой, однако система КУМИР позволяет создавать и достаточно большие, сложные программы. Во время редактирования программы система КУМИР автоматически производит синтаксический разбор и сообщает о найденных ошибках.

В систему КУМИР встроено несколько графических исполнителей, действия которых визуализируются на их «игровом поле» или арене.

Кроме обычных средств программирования Кумир имеет интерактивные средства управления исполнителями — панелью управления, которая дает выполнять определенный набор действий. Система КУМИР включает встроенные графические исполнители.
Среда программирования КУМИР может быть установлена как под Linux, так и под Windows, а также доступна в исходных кодах. Скачать ее можно на сайте НИИСИ: http://www.niisi.ru/kumir/

 

Графический исполнитель “РОБОТ”

Графический исполнитель Робот «живет» на плоскости из квадратных клеток, может переходить между соседними клетками, красить клетку под собой и видеть стены.

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

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

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

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

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

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

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

Здесь условие — одна из команд проверки условия. Последовательность команд — это одна или несколько любых команд-приказов.

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

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

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

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

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

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

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

Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

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

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...