Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от Algorithmi – латинского написания имени Мухаммеда аль-Хорезми (787 – 850) выдающегося математика средневекового Востока. В своей книге «Об индийском счете» он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком.
В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных.
Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, — процесс творческий. Он доступен исключительно живым существам, а долгое время считалось, что только человеку. В XII в. был выполнен латинский перевод его математического трактата, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел. Именно эти правила в то время называли алгоритмами.
Как составлять линейные алгоритмы в Кумир для тех, кто не понимает с первого раза
Данное выше определение алгоритма нельзя считать строгим – не вполне ясно, что такое «точное предписание» или «последовательность действий, обеспечивающая получение требуемого результата». Поэтому обычно формулируют несколько общих свойств алгоритмов, позволяющих отличать алгоритмы от других инструкций.
Такими свойствами являются:
Дискретность(прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
Определенность– каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
Результативность(конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.
Массовость– алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
Способы записи алгоритмов
Для записи алгоритмов используют самые разнообразные средства. Выбор средства определяется типом исполняемого алгоритма.
Выделяют следующие основные способы записи алгоритмов:
— вербальный, когда алгоритм описывается на человеческом (естественном) языке. Естественными являются национальные языки (русский, английский, немецкий и т.д.);
— символьный, когда алгоритм описывается с помощью набора символов и является программой (программы пишутся с помощью языков программирования);
— графический, когда алгоритм описывается с помощью набора графических изображений (блок-схема).
1 урок. КуМир. Первая программа для исполнителя Робот
Общепринятыми способами записи являются графическая записьс помощью блок-схем и символьная записьс помощью какого-либо алгоритмического языка — программа.
При графическом способе записи составляются блок-схемы, на которых с помощью условных обозначений (геометрических фигур) обозначаются различные части алгоритма. Элементы блок-схем представлены на рисунке.
Система программирования КУМИР
При освоении темы алгоритмы воспользуемся системой программирования КУМИР.
КуМир (Комплект Учебных МИРов) — система программирования, предназначенная для поддержки начальных курсов информатики и программирования в средней и высшей школе.
В системе КуМир используется школьный алгоритмический язык с русской лексикой и встроенными исполнителями Робот и Чертёжник и др.
При вводе программы КуМир осуществляет постоянный полный контроль ее правильности, сообщая на полях программы обо всех обнаруженных ошибках.
При выполнении программы в пошаговом режиме КуМир выводит на поля результаты операций присваивания и значения логических выражений. Это позволяет ускорить процесс освоения азов программирования.
Графический исполнитель Робот
Графический исполнитель Робот позволяет освоить азы программирования и понять работу основных алгоритмических конструкций.
Графический исполнитель — это объект управления. А уп равлять им будем мы с вами.
Исполнитель робот находится в некоторой стартовой обстановке– прямоугольном поле, разбитом на клетки, между которыми могут стоять стены.
Робот может перемещаться по полю, обходя стены и закрашивать клетки. Робот не может пройти сквозь стену, но может проверять есть ли рядом с ним стена. Робот не может выйти за пределы прямоугольника, ограничивающего поле.
Р
обот может выполнять команды: вверх, вниз, вправо, влево, закрасить.
Робот может проверять условия: сверху свободно, снизу свободно, справа свободно, слева свободно,добавление частицынеменяет условие на противоположное.Не сверху свободно, не снизу свободно, не справа свободно, не слева свободно.
Базовые алгоритмические структуры
Выделяют три базовые алгоритмические структуры (конструкции) -линейная (следование), ветвлениеи цикл,из которых можно построить любой алгоритм. Каждая алгоритмическая структура имеет одну точку входа и одну точку выхода.
Будем записывать алгоритмы на и школьном АЯ и в виде блок-схем.
Линейная структура
Линейная структураявляется самой простой организацией алгоритмов — команды выполняются последовательно одна за другой
Пример:
Циклическая структура (цикл)
Циклическая структура (цикл)обеспечивает многократное выполнение одних и тех же команд. Существует несколько разновидностей циклических структур.
Любая циклическая структура состоит из двух частей — заголовкаи тела цикла.
Набор команд, повторяющихся при выполнении цикла, называют телом цикла.
Цикл на число повторений (раз)
нцNраз
Пример:
использоватьРобот
алгстолбик
нач
.нц5раз
. . закрасить
. . вверх
.кц
Цикл с предусловием (пока)
нцпока
Пример:
использоватьРобот
алгЛиния
нцпокасверху свободно
закрасить
вверх
кц
Цикл с постусловием (при)
(запись в алгоритмическом языке)
Пример:
использоватьРобот
алгЛиния
нач
нц
закрасить; вверх
кц_прислева свободно
Структура «ветвление».
Структура «ветвление».Решение некоторых задач требует различных действий в зависимости от выполнения некоторых условий. В таких случаях говорят о ветвлении алгоритма.
Для реализации структуры «ветвление» используются две структурированные команды школьного АЯ — если и выбор, каждая из которых может быть полной и неполной.
В блок-схемах и школьном АЯ — это логическое выражение, результатом которого может быть одно из двух возможных значений — истинаили ложь.В школьном АЯ эти значения записывают как да и нет. В языках программирования часто используются значения True и False . В компьютере эти значения хранятся как 1 и 0.
Полное ветвление
(запись в алгоритмическом языке)
если
. .то
. .иначе
все
Пример:
использоватьРобот
алгветвление_полное
нач
.еслисверху свободно
. .товверх
. .иначевниз
.все
Неполное ветвление
(запись в алгоритмическом языке)
если
. .то
все
Пример:
использоватьРобот
алгветвление_неполное
нач
.еслисверху свободно
. .товверх
.все
Вспомогательный алгоритм (процедура)
Алгоритм по которому решается некоторая подзадача из основной задачи и который, как правило выполняется многократно, называется вспомогательным алгоритмом.
Вспомогательный алгоритм, записанный на языке программирования, называется подпрограммой или процедурой.
Вспомогательный алгоритм вызывается из основной программы через имя. Вспомогательный алгоритм записывается после основного алгоритма. У вспомогательного алгоритма обязательно должно быть имя.
использоватьРобот
алг
нач
вниз
квадрат
вниз
алг квадрат
нач
закрасить
закрасить
кон
Вложенные циклы и ветвления
При решении некоторых задач с роботом необходимо использовать вложенные циклы или ветвления.
Цикл называется вложенным, если он размещается внутри другого цикла.
Рассмотрим вложенный цикл на примере цикла пока.
конспект урока Составление линейных алгоритмов в программе КуМИР
2) повторить особенности использования программы Кумир.
3) составить и запустить линейный алгоритм в среде Кумир.
КР 1.1. Линейные алгоритмы
Задания расcчитаны на группу в 10 человек. Каждая карточка содержит 3 задания разной степени сложности.
Вариант 1
1.Составьте программу закрашивания прямоугольника 3×4, считая, что Робот находится где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 2
1.Составьте программу закрашивания прямоугольника 4×2, считая, что Робот находится где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 3
1.Составьте программу закрашивания периметра квадрата 3×3, считая, что Робот находится где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 4
1.Составьте программу закрашивания квадрата 3×3, считая, что Робот находится где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 5
1.Составьте программу закрашивания буквы «Г», состоящей из трех вертикальных и двух горизонтальных клеток. Начальное положение Робота — где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 6
1.Составьте программу закрашивания буквы «П», размерами три клетки по вертикали и две по горизонтали. Начальное положение Робота — где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 7
1.Составьте программу закрашивания буквы «Т», размерами четыре клетки по вертикали и три по горизонтали. Начальное положение Робота — где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 8
1.Составьте программу закрашивания клеток, отмеченных звездочкой. Начальное положение Робота — где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 9
1.Составьте программу закрашивания клеток, отмеченных звездочкой. Начальное положение Робота — где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
Вариант 10
1.Составьте программу закрашивания клеток, отмеченных звездочкой. Начальное положение Робота — где-то в центре поля.
2.Необходимо перевести Робота из начального положения (◊) в точку A за минимальное число шагов любым из возможных способов.
3.Необходимо перевести Робота по лабиринту из начального положения (◊) в точку A.
►Смотрите также другие задачи по программированию в системе Кумир:
- Задачи для исполнителя Робот
- Задачи для исполнителя Чертежник
- Математические задачи
►Примеры с разобранными решениями и заданиями для самостоятельного решения для исполнителя Робот:
- П 1.1. Измерение радиации
- П 1.2. Измерение температуры
- Главная
- Каталог
- Онлайн — библиотека
- Новинки
- Как сделать заказ
- Оплата
- Доставка
- Карта сайта
- Политика конфиденциальности
- Новости
Источник: licey.net