Как описать алгоритм работы программы

Понятие алгоритма. Способы записи алгоритмов. Классификация алгоритмов по структуре. Свойства алгоритма

Поиск на других ресурсах:

1. Что такое алгоритм? Определение алгоритма. Примеры алгоритмов

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

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

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

#1. Основные этапы работы генетического алгоритма | Генетические алгоритмы на Python

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

  1. Ознакомиться с необходимыми материалами, литературными источниками и т.п..
  2. Включить компьютер.
  3. Загрузить текстовый редактор.
  4. Набрать или отредактировать текст доклада.
  5. Включить принтер.
  6. Распечатать доклад.
  7. Перечитать доклад еще раз. Если в докладе найдены ошибки повторить шаги 4-6.
2. Способы записи алгоритмов

Различают три способа записи алгоритмов:

  1. Вербальный – это случай, когда алгоритм описывается обычным языком (понятным человеку).
  2. Графический – случай, когда алгоритм описывается с помощью графических обозначений. Это есть наиболее распространенный способ записи алгоритма, который обозначается в виде блок-схем.
  3. Символьный – описание алгоритма с помощью набора символов.
3. Графический способ записи алгоритма. Обозначение на блок-схемах

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

Геометрические обозначения наиболее употребительных блоков изображены на рисунке 1.

Геометрические обозначения наиболее употребительных блоков, которые используются в блок-схемах

ГРАФИЧЕСКОЕ ОПИСАНИЕ АЛГОРИТМА ЦИКЛИЧЕСКОЙ СТРУКТУРЫ

Рисунок 1. Геометрические обозначения наиболее употребительных блоков, которые используются в блок-схемах

4. Классификация алгоритмов по структуре

Различают следующие типы алгоритмов:

  • линейный алгоритм – случай, когда блоки операций выполняются последовательно один за другим (рисунок 2). В таких алгоритмах каждый этап вычислений сводится к выполнению последовательности команд, которые выполняются однократно;
  • разветвленный алгоритм. В этих алгоритмах ход решения задачи зависит от выполнения (или не выполнения) некоторого условия (рисунок 3);
  • циклический алгоритм – это алгоритм, в котором та или иная часть вычислений выполняется многократно (рисунок 4). Количество повторений должно быть конечным.

Рисунок 2. Линейный алгоритм

Разветвленный алгоритм. Обозначение

Рисунок 3. Разветвленный алгоритм

Циклический алгоритм. Обозначение

Рисунок 4. Циклический алгоритм

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

Для алгоритма выделяют следующие свойства:

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

Связанные темы

Источник: www.bestprog.net

11.2. Алгоритмы и способы их описания Понятие алгоритма

Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление алгоритма ее решения.

Алгоритм — это точное предписание, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату.Алгоритмами, например, являются правила сложения, умножения, решения алгебраических уравнений, умножения матриц и т.п. Слово алгоритм происходит отalgoritmi, являющегося латинской транслитерацией арабского имени хорезмийского математика IX века аль-Хорезми. Благодаря латинскому переводу трактатааль-Хорезмиевропейцы в XII веке познакомились с позиционной системой счисления, и в средневековой Европе алгоритмом называлась десятичная позиционная система счисления и правила счета в ней.

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

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

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

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

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

  • словесно-формульный;
  • структурный или блок-схемный;
  • с помощью граф-схем;
  • с помощью сетей Петри.

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

Удобно использовать программное описание алгоритмов функционирования сложных программных систем. Так, для описания принципов функционирования ОС использовался Алголоподобный высокоуровневый язык программирования. При словесно-формульном способеалгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий.

Пусть, например, необходимо найти значение следующего выражения: у = 2а – (х+6). Словесно-формульным способом алгоритм решения этой задачи может быть записан в следующем виде: 1. Ввести значения а их. 2. Сложить х и 6. 3. Умножить aна 2. 4. Вычесть из 2а сумму (х+6). 5. Вывести у как результат вычисления выражения.

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

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

Оформление программ должно соответствовать определенным требованиям. В настоящее время действует единая система программной документации (ЕСПД), которая устанавливает правила разработки, оформления программ и программной документации. В ЕСПД определены и правила оформления блок-схем алгоритмов (ГОСТ 10.002-80 ЕСПД, ГОСТ 10.003-80 ЕСПД).

Операции обработки данных и носители информации изображаются на схеме соответствующими блоками.Большая часть блоков по построению условно вписана в прямоугольник со сторонамиа и b. Минимальное значениеа= 10 мм, увеличениеа производится на число, кратное5 мм. Размерb=1,5a. Для от дельных блоков допускается соотношение междуа и b, равное 1:2.

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

Наименование Обозначение Функции
Процесс Выполнение операции или группы операций, в результате которых изменяется значение, форма представления или расположение данных.
Ввод-вывод Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод).
Решение Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий.
Предопределенный процесс Использование ранее созданных и отдельно написанных программ (подпрограмм).
Документ Вывод данных на бумажный носитель.
Магнитный диск Ввод-вывод данных, носителем которых служит магнитный диск.
Пуск-останов Начало, конец, прерывание процесса обработки данных.
Соединитель Указание связи между прерванными линиями, соединяющими блоки.
Межстраничный соединитель Указание связи между прерванными линиями, соединяющими блоки, расположенные на разных листах.
Комментарий Связь между элементом схемы и пояснением.
Читайте также:
Когда слетает программа на Андроид

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

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

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

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

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

Источник: studfile.net

Алгоритмизация. Понятие алгоритма. Свойства и способы описания алгоритмов.

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

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

Определение 1

Алгоритмизация является техникой разработки алгоритма для решения задач на ЭВМ.

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

Определение 2

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

Процесс разработки алгоритма — достаточно сложный и трудоемкий.

Сдай на права пока
учишься в ВУЗе
Вся теория в удобном приложении. Выбери инструктора и начни заниматься!

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

Цель же, в свою очередь, является достижением желаемого результата.

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

Определение 3

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

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

В качестве примера алгоритма можно вспомнить известный всем со школы арифметический способ сложения двух положительных чисел «столбиком». Алгоритм данной задачи представим в виде системы следующих действий:

  • выделим в слагаемых разряды единиц и сложим единицы;
  • при получении суммы меньшей 10 запишем ее в разряде единиц под нижним числом;
  • при получении суммы большей или равной 10 запишем в разряде единиц только количество единиц, затем выделим в слагаемых разряд десятков и запишем полученный при сложении единиц десяток над разрядом десятков первого (верхнего) слагаемого;
  • сложим десятки и т. д.
Читайте также:
Vipnet срок работы данной программы закончился

«Алгоритмизация. Понятие алгоритма. Свойства и способы описания алгоритмов.»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы

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

Понятие алгоритма в теорию и практику обучения вошло в конце $50$-х годов прошлого столетия в связи с развитием программированного обучения и применением обучающимися машин.

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

Существуют различные способы описания алгоритмов. Приведем основные из них:

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

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

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

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

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

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

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

  1. Наличие ввода исходных данных.
  2. Наличие вывода результата выполнения.
  3. Однозначность, так как компьютеру понятны лишь однозначные инструкции.
  4. Общность, в соответствии с которой алгоритм может использоваться не только для решения одной задачи, но и целого класса задач.
  5. Корректность, согласно которой при выполнении алгоритма должно быть всегда правильное решение задачи.
  6. Конечность означает, что решение задачи необходимо получить за конечное число шагов.
  7. Эффективность означает, что для решения задачи необходимо использовать ограниченные ресурсы компьютера (объем оперативной памяти, процессорное время и т. д.).

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

Специалистами предлагается ряд мер для повышения эффективности.

Блок-схемы

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

Кроме того, в алгоритмах используются разветвляющие и циклические блоки.

Обязательными блоками являются блоки начала и конца алгоритма. Между ними размещаются остальные блоки алгоритма.

Операторный блок (блок действия) содержит команды обработки данных.

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

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

Ниже на рисунке представлены графические изображения основных блоков алгоритма.

Источник: spravochnick.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru