Xreferat.ru » Рефераты по информатике и программированию » Организация изучения основных алгоритмических конструкций в среде Лого Миры

Организация изучения основных алгоритмических конструкций в среде Лого Миры

в которых процесс программирования и составления алгоритмов доступен даже младшим школьникам. Это позволяет обучать основам программирования и построения алгоритмов, не вдаваясь в подробности того или иного сложного языка программирования. Наиболее благоприятной средой для изучения темы "Алгоритмизация" является среда Лого Миров. Она позволяет плавно перейти от игры к разработке серьезных алгоритмов, к созданию серьезных проектов. Причем сама среда такова, что нет необходимости искать побудительные мотивы для занятий в ней. Работа в редакторе форм, создание анимированных проектов привлекает учащихся, развивает их творческие способности и не надоедает им от урока к уроку. Наибольший интерес и понимание эта тема вызывает у школьников 5 класса. Там используется язык программирования Лого, который признан учебным для детей младшего и среднего школьного возраста. Уже в 5 и 6 классе, с его помощью, дети изучают все конструкции для структурного программирования: вызов процедур, ветвление, циклы. [Глинка Н.В.]

Раздел "Алгоритмизация" является одной из важнейших тем школьного курса информатики. Она красной ниточкой проходит через весь курс, усложняясь от класса к классу. Если на начальном этапе - это игра в алгоритмы, то в дальнейшем - это самостоятельное составление алгоритмов разного вида с использованием различных сред, в том числе и языков программирования.

Выбор начального языка программирования имеет принципиальное значение, так как от этого во многом зависит методика изучения курса, содержание и последовательность предъявления учебного материала, система учебно-познавательных заданий и, главное, вся дальнейшая работа по овладению программированием для решения реальных практических задач на ЭВМ. [Иванова Л.В. Юрзанова Т.К.]

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

Лого–среды позволяют совершенно в новом ракурсе взглянуть на преподавание основ программирования. Являясь прекрасным образцом мультимедийных сред, адаптированных для обучения, они позволяют организовать обучение программированию на основе математических задач, а на этапах мультипликации: от разработки сценария до “оживления” и озвучивания персонажей. В них не только сохранены и расширены возможности изучения основных алгоритмических конструкций (ветвления, различные циклы, организация диалога), но и имеется разнообразный спектр атрибутов увлекательного программирования различных вычислительных задач. [Иванова Л.В, Юрзанова Т.К.]

Тема "Алгоритмизация" в школах РФ изучается с 5-х по 11 класс. В 5-х - 7-х классах учащиеся знакомятся с основными алгоритмическими конструкциями.

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

  1. От простого к сложному;

  2. Новизна;

  3. Наследование.

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

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

Как итог изучения темы "Алгоритмизация" в среде LOGO, в 7-ом классе несколько уроков отводится для анимации. В этом разделе внимание учащихся акцентируется на работе в программном режиме, закрепляются навыки работы с процедурами и другими алгоритмическими конструкциями. Рисуя, учащиеся не только усваивают алгоритмические конструкции и их реализацию в различных средах, но и лучше понимают ЭВМ как формального исполнителя и то, что из принципа формального исполнения следует, что ни исполнитель, ни ЭВМ не могут совершать ошибок. Все ошибки (синтаксические, семантические и логические) совершает человек. Так как в 8-х - 11-х классах школьники уже знакомы с алгоритмическими конструкциями, преподавание можно вести от теории к практике, дополняя данные ранее определения алгоритмов, и изучать их реализацию на языке программирования.

Технология решения вычислительных задач

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

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

Этапы решения задачи на ЭВМ

  1. Постановка задачи

  2. Математическая формализация (описание задачи)

  3. Построение алгоритма

Работа без применения ЭВМ

  1. Составление программы на языке программирования

  2. Отладка и тестирование программы

  3. Проведение расчетов и анализ результатов

Работа на ЭВМ

Первый этап – постановка задачи

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

Второй этап – математическая формализация описания задачи

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

Третий этап – построение алгоритма

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

Четвертый этап – программирование

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

Пятый этап – отладка и тестирования программы

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

Шестой этап – проведение расчетов и анализ результатов

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

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

ГЛАВА 2. Решение вычислительных задач в среде Лого Миры

2.1. Описание возможностей среды Лого Миры 2.0

Эту версию известной программы Лого Миры можно назвать мультимедийное Лого, а также - Интернет-Лого. Прежние возможности Лого Миров теперь дополнены новейшими технологиями, предоставляемые современными мультимедиа-компьютерами. В частности, можно вставлять в работы фрагменты аудио - и видео-записей, QuickTime-звуки и фильмы. Работу, сделанную в ЛогоМирах 2.0, можно легко "опубликовать" в Интернет. Специальное приложение (Web-плеер) позволит посетить страницу проекта прямо в сети через браузер. С момента своего рождения в 1967 году в Лаборатории Искусственного Интеллекта Массачусетского технологического института язык программирования Лого, сохраняя, неизменными свои основные черты, постоянно развивается и совершенствуется. Особенно популярен Лого как начальный язык программирования. Благодаря таким его качествам как доступность языка, быстрое написание программ, наглядность, т.е. к составлению программ учащийся может приступить, в начале обучения. Однако Лого используют и профессиональные программисты.

Язык системы Лого Миры представляет собой неформальное описание языка программирования Лого. Язык Лого, как и большинство языков программирования, имеет много диалектов. Примитивы Лого Миры включает в себя описание всех примитивов (основных команд и операций) языка Лого.

Понятия, которыми можно манипулировать в среде Лого Миры

Объекты: проекты, листы проекта, черепашки, рабочее поле, текстовые окна, кнопки, бегунки, формы, рисунки, звуковые фрагменты, внешние мультимедиа объекты.

Общие свойства объектов: цвет, размер, положение на Рабочем поле. Приватные свойства объектов – в зависимости от типа. Например, Рабочее поле может занимать часть экрана (режим разработки) или весь экран – (режим демонстрации).

Действия объектов: создавать, удалять, менять свойства (передвигать, менять цвет, размер и т.п.). Все общие действия могут выбираться визуально на панели инструментов или описываться программно. Встроенный редактор для создания рисунков, встроенный редактор для создания звукового фрагмента.

Интерфейс: обычный для любого приложения Windows – окно, основное меню, панели инструментов. Команды и программы выполняются в режиме интерпретации, поэтому на экране – Рабочее поле и Командный центр.

Язык: классический Лого, в который добавлены инструменты для работы с объектами.

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

Алгоритмические конструкции: процедуры, функции, циклы разных видов, разветвление, описание процессов.

Демонстрация проекта: включен инструмент для демонстрации проектов - плеер, занимающий мало места.

Помощь: база данных, содержащая справочную информацию, в формате HELP Windows.

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

Запуск Лого Миров

Лого Миры можно запустить с помощью ярлыка на Рабочем столе Windows или через главное меню (Программы Лого Миры)

Н
а экране дисплея появляется следующее изображение:

Графический экран системы Лого

Графический экран системы Лого состоит из 3-х окон:

Графическое окно - предназначено для действий "черепашки" и оставляемых ею рисунков.

Командное окно - предназначено для ввода команд адресованных только "черепашке", а также команд перехода в тот или иной режим команд, обращенных к системе Лого.

Приборное окно - показывает значения основных параметров, характеризующих состояние Черепашка:

Текстовый экран системы Лого

Команды ЛистыПрограммы осуществляют переход от графического к текстовому экрану.

Режимы работы

В Лого предусмотрена работа в следующих режимах:

  1. Р
    ежим непосредственного исполнения команд в графическом окне (рис.1), где работа ведется непосредственно с графическим окном. При этом команды задаются в самом нижнем окне.

  2. Режим подготовки и исправления текста программы в текстовом экране (рис.2), предназначен для создания и редактирования текста программ.

Переход от графического экрана к текстовому осуществляется с помощью меню (рис.3).

Команды системы Лого

Можно выделить две основные группы команд:

  1. управления движением Черепашка;

  2. управления системой.

3. Команды управления движением Черепашка

Могут задаваться как в графическом, так и в текстовом экране. К ним относятся:

1. Базовые команды движения и рисования;

2. Команда цикла (повторения);

3. Команда процедура (подпрограммы);

4. Команда изменения переменных;

5. Команда выбора (ветвления);

6. Рекурсивные команды.

Базовые команды движения и рисования

Команды относительного перемещения

Для перемещения Черепашки вперед и назад служат команды:

FD

FORWARD ВПЕРЕД

BK

BACK НАЗАД

После команды нужно указать, на сколько шагов должна продвинуться Черепашка. Например, FD 50 (Черепашка продвинется на 50 шагов вперед) или BK 100 (Черепашка продвинется на 100 шагов назад). Между командой и числом - пробел.

Команды управления пером

PU

PEN UP ПОДНЯТЬ ПЕРО

PD

PEN DOWN ОПУСТИТЬ ПЕРО

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

Команды поворота Черепашки

RT

RIGHT

НАПРАВО

LT

LEFT НАЛЕВО

Эти команды требуют обязательного параметра - угла поворота в градусах. Например, LT 90 (Черепашка поворачивается налево на 90 градусов), RT 120 (Черепашка поворачивается направо на 120 градусов).

Команды работы с цветом

До сих пор Черепашка рисовала белым по черному. В нашем распоряжении есть еще 14 цветов - всего их 16, оттенков 123. Цвета пронумерованы от 0 до 139. Номер черного цвета - 9; номер белого - 0. Чтобы изменить цвет Черепашки (и цвет ее пера), нужно дать команду:

SETC

SET_COLOR НОВ_ЦВЕТ

и через пробел указать номер цвета. Например, после выполнения команды SETC 15 Черепашка станет красной, и будет оставлять такой же след. Для закраски частей экрана служит команда FILL (КРАСЬ). Черепашка, получив эту команду, заливает экран той же краской, какой покрашена сама (если перо Черепашки опущено). Чтобы Черепашка закрасила контур, необходимо выполнить следующие действия:

поднять перо
переместить Черепашку внутрь контура
опустить перо
дать команду FILL

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

Команда SETPENSIZE [ширина] - устанавливает размера пера. Перо всегда имеет прямоугольную форму. Например, setpensize 4

Стирание графики

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

CLEAN
СОТРИ

Для восстановления исходного состояния графического экрана – рисунок стирается, Черепашка в исходном состоянии:

CLEARSCREEN CS СГ

Последовательность команд - программа для Черепашки

Можно управлять Черепашкой, нажимая клавишу ввода после каждой команды. Если же записать подряд несколько команд (отделяя, их друг от друга пробелом) и только после этого нажать клавишу ввода, то Черепашка быстро выполнит команды одну за другой.

Например: FD 100 RT 90 FD 50 RT 90 FD 50 RT 90 FD 50.

Команды цикла (повторения)

Команда REPEAT (повторить)

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

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

В языке Лого оператором цикла является команда REPEAT (повторить).

REPEAT число раз [ действие 1 , ... , действие n ]

ПОВТОРИ число раз [ действие 1 , ... , действие n ]

Здесь можно выделить такие составные части:

  • Собственно оператор REPEAT (повторить);

  • Указатель количества повторений (число раз);

  • Указатель начала цикла ( [ );

  • Повторяющаяся цепочка команд (действие 1 , ... , действие n);

  • Указатель конца цикла ( ] ).

Прочитав, в наборе команд REPEAT Черепашка ищет указание числа повторений. Запомнив его место, Черепашка будет выполнять команды, пока не встретит указатель конца цикла - правую квадратную скобку. После этого Черепашка возвращается к началу цикла и проверяет, выполнила ли она цикл заданное число раз. Если нет, то она продолжает выполнять цикл, в противном случае (если она уже выполнила цикл задуманное число раз) Черепашка начинает выполнять команды, расположенные после квадратных скобок. Таким образом, тело цикла выполняется задуманное число раз.

Построение процедур (подпрограмм)

Любое изображение, которое нарисует Черепашка, можно получить с помощью базовых команд. Но бывает необходимо выполнить несколько раз большие фрагменты программы. Чтобы избежать утомительного повтора, можно этот фрагмент оформить как (подпрограмму) процедуру для многократного использования. Для этого сначала этому фрагменту дают новое название, а затем используют его как имя команды для вызова в программе.

ТО < имя команды >

< описание

фрагмента >

END

ЭТО < имя команды >

< описание

фрагмента >

КОНЕЦ

Таким образом, можно определить любую процедуру, при этом следует соблюдать следующие правила:

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

  • название должно содержать не больше 15 символов и состоять из одного слова.

В остальном слова могут быть любыми.

Обязательно:

  • Сначала идут все процедуры, потом - основная программа.

  • ТО ... END - только для подпрограмм.

  • Основная программа оформляется как подпрограмма. Для запуска ее необходимо указать только имя.

Команды изменения переменных

Переменные величины

В курсе школьной математики изучают переменные величины, и числа в математике часто обозначаются буквами.

Например: x=a+b, где a и b – переменные.

В языке Лого переменная - это любая последовательность символов (букв и цифр), начинающаяся с буквы. Она не должна содержать в себе пробел и должна быть больше 16 символов.

Признаком переменной является символ ":", с которого обязательно начинается переменная. Например: :A :N1 :INZ5


Оператор присваивания

: <переменная> = <арифметическое выражение>

Арифметическое выражение включает в себя константы, переменные, знаки арифметических действий ( +, -, *, / ) и скобки.

:А = 25 :N = :N + 1 :B = 125 * ( :M + 1 ) / 100 :C = 270 * :N

В Лого работает только целая арифметика. Поэтому, результатом деления является целая часть частного.

Команды и процедуры с параметрами

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

Базовые команды Черепашка (FORWARD, RIGHT, REPEAT и пр.) состоят из команды (оператора) и параметра (операнда). В качестве параметров использовали число (пример "квадрат", здесь три команды с параметром: REPEAT 4, FORWARD 50, RIGHT 90). Можно в качестве параметра команды использовать переменную, а не число. Допустим, нужно нарисовать квадраты с разной (переменной) стороной. В этом случае в команде FORWARD в качестве параметра используем переменную: FORWARD :X

Команда выбора (ветвление) в Лого

В некоторых случаях необходимо определить условие тех или иных действий, выполняемых Черепашка. Для этого используется команда выбора IF (ЕСЛИ)

IF <условие>

[ < команда или серия команд, если условие выполняется > ]

[ < команда или серия команд, если условие не выполняется >]

ЕСЛИ <условие>

[ < команда или серия команд, если условие выполняется > ]

[ < команда или серия команд, если условие не выполняется >]

Условие имеет вид отношения, при этом используются обозначения:

< - меньше, <= - меньше или равно,

- больше, >= - больше или равно,

= - равно, < > - не равно.

В случае записи условных операторов нужно:

  • не забывать про квадратные скобки;

  • записывать по одному оператору на строке.

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

Рекурсия

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

Заметим, что такая возможность имеется далеко не во всех языках программирования. К, примеру, Бейсик рекурсии не имеет, а в Лого - это наиболее употребляемый прием.

Функция

Можно провести аналогию с обычной записью математических выражений и порядком их вычисления.

В число Лого входят операции (стандартные функции) SQRT, SIN, COS (извлечение квадратного корня, синус и косинус от градусного аргумента). А вот стандартная функция тангенс отсутствует. Для описания функций служит специальная команда – OP (out put – вывести, считать результатом). Она прекращает выполнение процедуры и возвращает значение аргумента.

II. Команды управления системой

Управление системой Лого осуществляется в графическом экране. Соответствующие команды задаются в графическом (командном) окне.

Команды выполнения

  • Alt+R – выполняет выделенный текст или список инструкций.

Команды сохранения и загрузки программы

  • Открой проект (Alt+N) - сохраняет на системном носителе текст записанной программы в файле <имя>.mw2 (рис.5).

  • Alt+O – открывает существующий проект.

  • Сохрани проект - считывает с системного носителя файл с именем <имя>.mw2 (рис.5).

Команды печати созданных рисунков

  • Печатай проект - выводит созданный в Лого рисунок на принтер (рис.5);

  • Печатай лист ….выводит на принтер весь лист (рис.5);

Диагностика ошибок

Если при выполнении программы или команды возникла ошибка, то на экране появляется текст (в поле команд) - это диагностическое сообщение об ошибке, которое выводится на русском языке. Место ошибки в программе указывается после перехода в текстовый экран и нажатием клавиши .

2.2. Запись основных алгоритмических конструкций в среде Лого Миры и их использование для решения вычислительных задач

Понятие алгоритма

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

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

Алгоритмзаранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов.

Понятие алгоритма является не только одним из главных понятий информатики, но одним из главных понятий современной науки. Более того, с наступлением эры информатики алгоритмы становятся одним из важнейших факторов цивилизации [56].

Исполнитель алгоритма

Исполнитель алгоритмаэто некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.

Исполнителя характеризуют:

  • среда;

  • элементарные действия;

  • система команд;

  • отказы.

Среда (или обстановка) — это "место обитания" исполнителя. Например, для исполнителя Черепашка среда — это бесконечное поле. Края поля тоже часть среды, а их расположение и положение самой Черепашки задают конкретное состояние среды.

Система команд. Каждый исполнитель может выполнять команды только из некоторого строго заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды. Например, команда Черепашки "ВПЕРЕД" может быть выполнена, если рядом с Черепашкой нет края поля. Ее результат — смещение Черепашка на один шаг вперед.

После вызова команды исполнитель совершает соответствующее элементарное действие.

Отказы исполнителя возникают, если команда вызывается при недопустимом для нее состоянии среды.

В информатике универсальным исполнителем алгоритмов является компьютер.

Свойства алгоритма

Основные свойства алгоритмов:

Понятность — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.

Дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов (этапов).

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

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

Массовость означает, что алгоритм решения задачи разрабатывается в общем, виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма. [Светозарова Г.И., Мельников А.А., Козловский А.В.]

Способы записи алгоритмов

На практике наиболее распространены следующие формы представления алгоритмов:

  • словесная (запись на естественном языке);

  • графическая (изображения из графических символов);

  • программная (тексты на языках программирования).

Словесный способ записи алгоритмов

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида). [диплом стр.21]

Алгоритм может быть следующим:

  1. задать два числа;

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

  3. определить большее из чисел;

  4. заменить большее из чисел разностью большего и меньшего из чисел;

  5. повторить алгоритм с шага 2.

Словесный способ не имеет широкого распространения, так как такие описания.

Графический способ записи алгоритмов

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

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

Обозначение и пример заполнения

Пояснение



Вычислительное действие или последовательность действий



Проверка условий



Начало цикла



Вычисления по подпрограмме, стандартной подпрограмме



Ввод-вывод в общем виде



Начало, конец алгоритма, вход и выход в подпрограмму



Вывод результатов на печать


Базовые алгоритмические структуры

Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов. Естественно, что при таком подходе к алгоритмам изучение основных принципов их конструирования должно начинаться с изучения этих базовых элементов.

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

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

1. Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим, представлена на рис1.

Применение этой структуры рассмотрим на примере 1.

Пример 1. Найти корень линейного уравнения вида ах+b=0.

Для решения примера 1 составим блок-схему алгоритма (рис. 2.). Следуя последовательности блоков в алгоритме можно составить программу на языке Лого, которая может быть представлена, так как на рис. 3.

Для запуска программы в командном поле введем имя программы – УРАВНЕНИЕ и нажмем клавишу .

В появившемся диалоговом окне введем значение для коэффициента А=2, во втором – В=5. В третьем диалоговом окне появится значение рассчитанного параметра Х=-2,5.

Пример 2. Тело движется прямолинейно с ускорением а м/с2 и начальной скоростью м/с. Требуется определить, какой путь пройдет