- Графический СПОСОБ ОПИСАНИЯ АЛГОРИТМОВ
- Графический способ описания алгоритмов
- Понятие алгоритма и его основные свойства. Классификация алгоритмов по типу реализуемого вычислительного процесса. Преимущество графического способа описания алгоритмов перед словесным. Базовые и дополнительные алгоритмические структуры, их назначение.
- Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
- Цель практической работы Задачи работы:
- Задачи работы:
- Ответы на контрольные вопросы
- графический алгоритм вычислительный
- Вопрос: Дайте определение алгоритма.
- Ответ: Алгоритм — это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату.
- Вопрос: Перечислите основные свойства алгоритмов и раскройте их сущность.
- Ответ: Алгоритм обладает следующими свойствами:
- Выводы по практической работе
- Был изучен графический способ описания алгоритма решения задачи.
- Выполнены следующие задачи:
- Подобные документы
- 2.2. Графический способ описания алгоритма.
- 2.3. Описание алгоритмов с помощью программ.
Графический СПОСОБ ОПИСАНИЯ АЛГОРИТМОВ
Одним из самых трудоемких этапов решения задачи на ЭВМ является разработка алгоритма. Человечество разработало эффективный алгоритм завязывания шнурков на ботинках. Многие дети с пятилетнего возраста могут это делать. Но дать чисто словесное описание этого алгоритма без картинок и демонстрации — очень трудно.
При разработке алгоритмов чаще всего используют следующие способы их описания: словесный, графический, с помощью языков программирования.
Рассмотрим два способа: графический и с помощью языков программирования.
Графический способ записи алгоритмов – наиболее наглядный и распространенный. Он основан на использовании геометрических фигур (блоков), каждая из которых отображает конкретный этап процесса обработки данных, соединяемых между собой прямыми линиями, называемыми линиями потока. Обозначение и назначение элементов графических схем алгоритмов приведено в табл.1. В поле каждого блочного символа указывают выполняемую функцию. При необходимости справа можно поместить комментарии, относящиеся к данному блоку или направлению потока. Каждый блочный символ (кроме начального и конечного) помечается порядковым номером. Для отличия ситуаций пересечения и слияния потоков последняя изображается точкой. Линии потока, имеющие направление вверх или направо, дополняются стрелками.
Геометрическая фигура | Назначение |
| Начало и завершение алгоритма, прерывание процесса обработки данных или выполнения программы. a выбирается из ряда 5,10,15мм и т.д. ,а b=1,5a или 2a |
| Выполнение операции или группы операций, в результате которых изменяются значение, форма представления или расположение данных |
| Выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий |
Окончание табл. 1
| Ввод-вывод — преобразование данных в форму, пригодную для обработки или регистрации результатов обработки |
| Вызов подпрограммы: функции или процедуры |
| Текст, поясняющий выполняемую операцию или группу операций. Располагается справа от геометрической фигуры |
| Внутристраничный соединитель, указывающий связь между прерванными линиями потока |
| Межстраничный соединитель, указывающий связь между прерванными линиями потока, помещенными на разных листах |
| Указания последовательности связей между элементами схемы алгоритма |
По своей структуре различают следующие типы алгоритмов: линейные, разветвляющиеся и циклические. В линейных схемах алгоритмов все предписания выполняются одно за другим. Например, алгоритм вычисления длины окружности по известной площади круга (рис.2). В разветвляющихся схемах алгоритмов для конкретных исходных данных выполняются не все заданные предписания. Однако какие именно предписания будут выполняться, конкретно определяется в процессе выполнения алгоритма в результате проверки некоторых условий. Разветвляющийся алгоритм всегда избыточен. Примером разветвляющегося алгоритма является алгоритм, приведенный на рис.3 и определяющий, пройдет ли график функции y=3x+4 через точку с координатами x1,y1.
|
|
|
Циклическим алгоритмом называется такой алгоритм, в котором можно выделить многократно повторяющуюся последовательность предписаний, называемую циклом. Для таких алгоритмов характерно наличие параметра цикла, которое перед входом в цикл имеет начальное значение, а затем изменяется внутри цикла. Имеется также предписание о проверке условия окончания цикла. Применение циклов сокращает текст алгоритма и, в конечном итоге, длину программы. Примером циклического алгоритма может служить алгоритм, приведенный на рис.4 и определяющий факториал натурального числа n. В этом алгоритме введена дополнительная переменная i, которая является параметром цикла и изменяется от начального значения 1 до конечного значения n c шагом 1. На каждом шаге итерации искомая величина f умножается на переменную цикла. В реальных задачах, как правило, сочетаются все три типа алгоритмов. Способ описания алгоритма с помощью алгоритмического языка подробно рассматривается в следующем разделе.
Источник
Графический способ описания алгоритмов
Понятие алгоритма и его основные свойства. Классификация алгоритмов по типу реализуемого вычислительного процесса. Преимущество графического способа описания алгоритмов перед словесным. Базовые и дополнительные алгоритмические структуры, их назначение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 10.10.2012 |
Размер файла | 126,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Цель практической работы
Задачи работы:
— ознакомиться с основными способами представления алгоритмов;
— освоить графический способ описания алгоритмов.
Ответы на контрольные вопросы
графический алгоритм вычислительный
Вопрос: Дайте определение алгоритма.
Ответ: Алгоритм — это точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату.
Вопрос: Перечислите основные свойства алгоритмов и раскройте их сущность.
Ответ: Алгоритм обладает следующими свойствами:
— детерминированность (определенность) — при заданных исходных обеспечивается однозначность искомого результата;
— массовость — пригодность для задач данного типа при исходных данных, принадлежащих заданному подмножеству;
— результативность — реализуемый вычислительный процесс выполняется за конечное число этапов (шагов) с выдачей осмысленного результата;
— дискретность — расчленение на отдельные этапы, выполнение которых не вызывает сомнений.
Вопрос: Как подразделяются алгоритмы по типу реализуемого вычислительного процесса?
Ответ: Алгоритмы подразделяются по типу реализуемого вычислительного процесса: линейные, разветвляющиеся и циклические.
Вопрос: Какие способы описания алгоритмов вам известны?
Ответ: Словесный, матричный, схемы, алгоритмические языки, графический.
Вопрос: Что понимается под графическим способом описания алгоритмов? В чем состоит преимущество данного способа перед словесным описанием алгоритма?
Ответ: Графический способ описания алгоритма — это изображение логической структуры алгоритма, в котором каждый этап процесса обработки данных представляется в виде геометрических фигур (блоков), имеющих определенную конфигурацию в зависимости от характера выполняемых функций. Данный способ наиболее наглядный и распространенный способ описания алгоритмов.
Вопрос: Назовите базовые алгоритмические структуры и поясните их назначение.
Ответ: Для записи алгоритма любой сложности достаточно трех базовых структур:
1. следование — обозначает последовательное выполнение действий;
2. ветвление — соответствует выбору одного из двух вариантов действий;
3. цикл-пока — определяет повторение действий, пока не будет нарушено условие, выполнение которого проверяется в начале цикла.
Вопрос: Каково назначение дополнительных алгоритмических структур? Каким образом они связаны с базовыми алгоритмическими структурами?
Ответ: Дополнительные алгоритмические структуры, производные от базовых, каждая из которых может быть реализована через базовые структуры:
— выбор — выбор одного варианта из нескольких в зависимости от значения некоторой величины;
— цикл-до — повторение некоторых действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле;
— цикл с заданным числом повторений (счетный цикл) — повторение некоторых действий указанное число раз.
Выводы по практической работе
Был изучен графический способ описания алгоритма решения задачи.
Выполнены следующие задачи:
— ознакомились с основными способами представления алгоритмов;
— освоили графический способ описания алгоритмов.
Размещено на Allbest.ru
Подобные документы
Понятие и свойства алгоритма, виды, характеристики. Роль алгоритма в построении программы, представление и запись. Словесный, графический, табличный способ. Псевдокод. Примеры известных алгоритмов. Операции над массивами. Уточнение корней уравнения.
курсовая работа [1,1 M], добавлен 10.11.2016
Свойства алгоритма как определенного содержания и порядка действий над объектами. Базовые алгоритмические структуры: следование, ветвление, повторение. Структурированные типы данных. Реализация на языке программирования задач при помощи алгоритмов.
контрольная работа [598,6 K], добавлен 06.12.2014
Основные особенности эволюционных алгоритмов. Описание алгоритмов селекции, мутации, скрещивания, применяемых для реализации генетических алгоритмов. Вычисление функции приспособленности. Программная реализация. Тестирование и руководство пользователя.
курсовая работа [1,3 M], добавлен 11.03.2014
Способы организации вычислительного процесса в системах с несколькими процессорами. Разработка программы на основе алгоритмов мультипроцессорных систем при пакетной обработке задач. Вычисление основных показателей эффективности для каждого алгоритма.
курсовая работа [102,3 K], добавлен 21.06.2013
Исследование структуры типовой вычислительной сети. Модель процесса вскрытия вычислительной сети и взаимосвязь основных его этапов. Конфликт в информационной сфере между субъектом и объектом познания. Описания алгоритмов динамического масштабирования.
дипломная работа [2,9 M], добавлен 21.12.2012
Сущность алгоритма: происхождение названия, свойства и основные понятия. Подразделение на виды, структура, формы словесного описания и схематического построения. Запись порядка действий на языках компьютерных языках программирования. Применение в жизни.
презентация [386,7 K], добавлен 21.04.2011
Комплексное исследование истории развития, основных понятий, области применения и особенностей генетических алгоритмов. Анализ преимуществ генетических алгоритмов. Построение генетического алгоритма, позволяющего находить максимум целочисленной функции.
курсовая работа [27,9 K], добавлен 23.07.2011
Источник
2.2. Графический способ описания алгоритма.
Является достаточно наглядным и простым способом описания алгоритма.
Графический способ описания алгоритма — это способ представления алгоритма с помощью общепринятых графических фигур, называемых блок-схемами, каждая из которых описывает один или несколько шагов алгоритма.
Внутри блока записывается описание команд или условий.
Для указания последовательности выполнения блоков используют линии связи ( линии соединения ).
Последовательность блоков и линий образуют блок-схему алгоритма .
ПРАВИЛА ИЗОБРАЖЕНИЯ БЛОК- СХЕМ АЛГОРИТМА.
1. В блок-схеме можно использовать строго определённые типы блоков.
2. Стрелки на линиях связи можно не ставить при направлении сверху вниз и слева направо; противоположные направления обязательно указывают стрелкой на линии.
3. Для удобства блоки могут помечаться метками(буквами или цифрами).
4. Внутри блока ввода/вывода пишется ВВОД или ВЫВОД и перечисляются имена данных, подлежащих вводу/выводу.
5. Внутри блока действия для присваивания переменных значений используется знак присваивания.
Пример нахождения максимума трех чисел.
2.3. Описание алгоритмов с помощью программ.
Алгоритм, записанный на языке программирования называется программой.
Словесная и графическая форма записи алгоритма предназначены для человека. Алгоритм, предназначенный для исполнителя на компьютере записывается на языке программирования (языке, понятном ЭВМ). Сейчас известно несколько сот языков программирования. Наиболее популярные: Бейсик, Си, Паскаль, Пролог, ПЛ, Ада и т.д.
Пример программы на языке программирования Паскаль:
VAR A,B,C, max: INTEGER;
IF A>B THEN max:=A
IF C>max THEN max:=C;
Вид стандартного графического объекта
Выполняемое действие записывается внутри прямоугольника
Условие выполнения действий записывается внутри ромба
Счетчик кол-во повторов
Последовательность выполнения действий.
33. Базовые структуры алгоритмов
Эта структура предполагает последовательное выполнение входящих в нее инструкций. Существенно, что структура следование, рассматриваемая как единое целое, имеет один вход и один выход.
Разветвление предполагает проверку некоторого условия. В зависимости от того выполняется это условие или нет, выполняется либо одна инструкция, либо другая.
Если на момент проверки условие оказалось выполнено, то будет выполнена инструкция 1, а инструкция 2 игнорируется. Если же оказывается, что условие не выполнено, то будет выполнена инструкция 2, а инструкция 1 игнорируется. Разветвление также имеет один вход и один выход.
Цикл предполагает повторение выполнения некоторой инструкции, а также проверку некоторого условия продолжения повторения этой инструкции. Различают два вида базовых циклов в зависимости от порядка выполнения этих действий: сначала проверка условия выполнения инструкции, а затем ее выполнение (цикл – пока) , или сначала выполнение инструкции, а затем проверка условия повторения ее выполнения (цикл – до) . Также рассматривается цикл со счетчиком. Базовая структура – цикл имеет один вход и один выход.
34. Классификация языков программирования
Существуют различные классификации языков программирования.
По наиболее распространенной классификации все языки программирования, в соответствии с тем, в каких терминах необходимо описать задачу, делят на языки низкого и высокого уровня.
Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, – языком низкого уровня.
В группу языков низкого уровня входят машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми.
Машинно–ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
К языкам программирования высокого уровня относят Фортран (переводчик формул – был разработан в середине 50–х годов программистами фирмы IBM и в основном используется для программ, выполняющих естественно – научные и математические расчеты), Алгол, Кобол(коммерческий язык – используется, в первую очередь, для программирования экономических задач), Паскаль, Бейсик (был разработан профессорами Дармутского колледжа Джоном Кемени и Томасом Курцом.), Си (Деннис Ритч – 1972 году), Пролог (в основе языка лежит аппарат математической логики) и т.д.
Языки программирования также можно разделять на поколения:
– языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.
– языки второго поколения: с мнемоническим представлением команд, так называемые автокоды.
– языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.
– языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных.
– языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.
Языки программирования также можно классифицировать на процедурные и непроцедурные.
В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий.
Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал.
Непроцедурное (декларативное) программирование появилось в начале 70-х годов 20 века, К непроцедурному программированию относятся функциональные и логические языки.
В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь делятся на еще более простые задачи и т.д. Один из основных элементов функциональных языков – рекурсия. Оператора присваивания и циклов в классических функциональных языках нет.
В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Программа на Прологе содержит, набор предикатов–утверждений, которые образуют проблемно–ориентированную базу данных и правила, имеющие вид условий.
35. Понятие о системе программирования. Интерпретация и компиляция
программирования – это совокупность программ для разработки, отладки и внедрения новых программных продуктов.
Системы программирования обычно содержат:
· среду разработки программ;
· библиотеки справочных программ (функций, процедур);
· редакторы связей и др.
Любой алгоритм, как мы знаем, есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных.
Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.
Языки высокого уровня делятся на:
алгоритмические (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов;
логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
объектно-ориентированные (Object Pascal, Delphi, C++, Visual Basic, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над ними. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
Алгоритмический язык (как и любой другой язык), образуют три его составляющие: алфавит, синтаксис и семантика.
Алфавит – фиксированный для данного языка набор символов (букв, цифр, специальных знаков и т.д.), которые могут быть использованы при написании программы.
Синтаксис — правила построения из символов алфавита специальных конструкций, с помощью которых составляется алгоритм.
Семантика — система правил толкования конструкций языка. Таким образом, программа составляется с помощью соединения символов алфавита в соответствии с синтаксическими правилами и с учетом правил семантики.
Каждый компьютер имеет свой машинный язык, то есть свою совокупность машинных команд, которая отличается количеством адресов в команде, назначением информации, задаваемой в адресах, набором операций, которые может выполнить машина и др.
При программировании на машинном языке программист может держать под своим контролем каждую команду и каждую ячейку памяти, использовать все возможности имеющихся машинных операций.
Но процесс написания программы на машинном языке очень трудоемкий и утомительный. Программа получается громоздкой, труднообозримой, ее трудно отлаживать, изменять и развивать.
Поэтому в случае, когда нужно иметь эффективную программу, в максимальной степени учитывающую специфику конкретного компьютера, вместо машинных языков используют близкие к ним машинно-ориентированные языки (ассемблеры).
Транслятор (англ. translator — переводчик) — это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.
Компилятор (англ. compiler — составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. (Pascal, C).
Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой. (Basic).
Таким образом, алгоритмические языки в значительной мере являются машинно-независимыми. Они облегчают работу программиста и повышают надежность создаваемых программ.
компилятор прогоняет всю программу без её исполнения, а интерпретатор по командно выполняет и обрабатывает запросы . В этом вся суть.
Итерация — это циклическая управляющая структура, которая содержит композицию и ветвление. Она предназначена для организации повторяющихся процессов обработки последовательности значений данных.
Цикл с предусловием начинается с проверки условия выхода из цикла. Это логическое выражение, например I 6. Если условие выхода ложно, то цикл с постусловием прекращает свою работу, в противном случае — происходит повторение действий, указанных в цикле. Повторяющиеся действия в цикле называются «телом цикла».
Источник