Алгоритмические языки

Автор работы: Пользователь скрыл имя, 01 Декабря 2011 в 09:05, курсовая работа

Описание

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

Содержание

Введение……………………………………………………………...……………3
1. Определение и свойства алгоритма………………………………….………..4
2. Методы изображение алгоритмов……………………………………..…….10
2.1 Словесное описание алгоритма……………………………………….…….10
2.2 Блок-схема алгоритма…………………………………………………...…..11
2.3 Псевдокод……………………………………………………………….……14
2.4 Программное представление алгоритма………………………………..….16
3. Порядок разработки иерархической схемы реализации алгоритмов…...…17
4. Автоматизация деятельности человека на основе алгоритмизации.………20
5. Значение алгоритмов при решении повседневных задач………..…………24
6. Стадии создания алгоритма………………………………………….……….27
7. Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи. Вспомогательные алгоритмы……………………………………………..…….30
7.1 Линейный алгоритм……………..…………………………………………..30
7.2 Циклический алгоритм………………………………………………...……31
7.3 Разветвляющийся алгоритм…………………………………………………33
7.4 Вспомогательный алгоритм…………………………………………...……34
7.5 Метод последовательной детализации……………………………………..34
8. Величины: константы, переменные, типы величин. Присваивание, ввод и вывод величин. Линейные алгоритмы работы с величинами……………...…37
9. Логические величины, операции, выражения. Логические выражения в качестве условий в ветвящихся и циклических алгоритмах……………….…43
Заключение……………………………………………………………….………48
Список литературы…………………

Работа состоит из  1 файл

Алгоритмические языки.doc

— 382.50 Кб (Скачать документ)

    Программы из двух-трех шагов можно просто запомнить и считать своими рефлексами: «хочу кушать - жму кнопку два, когда  загорится лампочка - можно кушать». Но жить, зазубривая все нужные программы, - не получится. Программируемых приборов так много, инструкции к ним так объемны, требуемые программы так длинны, запоминать команды на языках приборов так лень. Для телевизора, например, нельзя благоприобрести рефлекс: НАЖАТЬ КНОПКУ ОДИН, ДОКРУТИТЬ РУЧКУ ДВА, ПОВТОРИТЬ ВСЕ СНАЧАЛА ДЛЯ КАНАЛОВ 1-32, ЕСЛИ ТЕЛЕКАНАЛЫ УЖЕ НАСТРОЕНЫ, НИЧЕГО НЕ ДЕЛАТЬ. Как минимум в данной инструкции нужно понимать, как менять номера каналов.

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

     6. Стадии создания алгоритма 

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

     2. Алгоритм должен быть представлен  в форме, понятной тому объекту  (в том числе и человеку), который  будет выполнять описанные в  алгоритме действия (выбрать среду и объект алгоритма, детализировать алгоритм).

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

     Исполнитель - объект, который выполняет алгоритм.

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

     Компьютер – автоматический исполнитель алгоритмов.

     Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.

     Каждый  исполнитель характеризуется средой («местом обитания») и системой команд.

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

     Среда (или обстановка) — это "место обитания", множество объектов, которые окружают исполнителя.

     Каждый  исполнитель может выполнять  команды только из некоторого строго заданного списка — системы команд исполнителя. Совокупность всех команд, которые исполнитель может выполнить, называется системой команд исполнителя (СКИ). Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды.

     За  каждой командой из системы команд исполнителя закреплено конкретное элементарное действие. Исполнителя можно представить в виде устройства с кнопочным управлением. Каждая кнопка соответствует одной команде исполнителю, и нажатие означает вызов этой команды. После вызова команды исполнитель совершает элементарное действие, соответствующее данной команде.

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

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

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

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

     Что умеет делать ГРИС? Он может перемещаться по полю и своим хвостом рисовать на этом поле.

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

     Пусть система команд ГРИСа: шаг, поворот, прыжок. Шаг – перемещение ГРИС на один шаг вперед с рисованием линии; поворот – поворот на 900 против часовой стрелки; прыжок – перемещение на один шаг вперед без рисования линии. Эти команды будем называть простыми командами.

     Составим  алгоритм по которому ГРИС нарисует на поле букву «Т». Исходное состояние – чистый лист. Исполнитель находится в точке, где будет находится левый конец горизонтального отрезка буквы «Т», направление вправо. Можно использовать только указанные команды из СКИ: шаг, поворот, прыжок.

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

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

     Алгоритм  Буква «Т»

     начало  шаг шаг шаг шаг шаг шаг  поворот поворот прыжок прыжок прыжок поворот шаг шаг шаг шаг  шаг конец 
 
 
 
 
 
 
 
 
 
 
 
 

     7. Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи. Вспомогательные алгоритмы 

     Основные  виды алгоритмов (алгоритмических структур):

     1. Линейный алгоритм (еще называют  следование);

     2. Циклический алгоритм;

     3. Разветвляющийся алгоритм;

     4. Вспомогательный алгоритм. 

     7.1 Линейный алгоритм 

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

      Блок-схема  линейного алгоритма:

      

     7.2 Циклический алгоритм 

     Циклический алгоритм – описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие.

     Перечень  повторяющихся действий называют телом цикла.

     Циклические алгоритмы бывают двух типов:

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

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

     В общем случае схема циклического алгоритма со счетчиком будет  выглядеть так:

       

     Для счетчика от нач. значения до кон. значения выполнить действие.

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

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

     В общем случае схема циклического алгоритма с условием будет выглядеть  так:

       

     Пока условие повторять действие.

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

     7.3 Разветвляющийся  алгоритм 

     Во  многих случаях требуется, чтобы  при одних условиях выполнялась одна последовательность действий, а при других – другая.

     Если  пошел дождь,

       то надо открыть зонт.

     Если  прозвенел будильник,

       то надо вставать.

     Если  встречу Сашу,

       то скажу ему …

     Если  встречу Сашу,

       то скажу ему …,

       иначе зайду к нему сам.

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

       

     Эти предложения начинаются с проверки какого-либо условия: пошел дождь, прозвенел  будильник, встретил Сашу… Далее в зависимости мы либо вылиняем какое-либо действие, либо не выполняем его (или выполняем какое-то другое действие).

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

     В общем случае схема разветвляющегося алгоритма будет выглядеть так: «если условие, то действие 1, иначе действие 2» (Если встречу Сашу, то скажу ему …, иначе зайду к нему сам.). Так же можно использовать неполную форму: «если условие, то действие» (Если встречу Сашу, то скажу ему …). В этом случае не предусматривается действий на случай невыполнения условия. 

     

     Условие – это высказывание которое может быть либо истинно, либо ложно.

     Еще раз обратим внимание, что существует две формы ветвления – неполная (когда присутствует только одна ветвь, т.е. в зависимости от истинности условия либо выполняется, либо не выполняется  действие) и полная (когда присутствуют две ветви, т.е. в зависимости от истинности условия выполняется либо одно, либо другое действие). 

     7.4 Вспомогательный  алгоритм 

     Вспомогательный алгоритм – алгоритм, который можно использовать в других алгоритмах, указав только его имя.

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

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

     Рассмотрим  пример с графическим исполнителем ГРИС. Пусть требуется составить алгоритм рисования четырехзначного числа 1919.

     Можно составить один длинный алгоритм, по которому исполнитель шаг за шагом  нарисует эти цифры. Но ведь цифры 1 и 9 повторяются по два раза. Алгоритм можно сократить используя вспомогательный алгоритм.

Информация о работе Алгоритмические языки