Программа как форма представления алгоритма

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

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

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

Наиболее распространенной формой представления алгоритма является блок-схема.

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

Формы записи алгоритма

Блок ввода – вывода

  • Условный (логический)

блок — проверка условия

  • Блок начала – конца
  • Соединитель – для соединения

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

  • В структуре «последовательность» действия выполняются последовательно, сверху вниз, без возвратов (рис. 1, а);
  • В структуре «ветвление» выполняется либо одна, либо другая группа действий в зависимости от истинности (выполнения) или ложности (невыполнения) условия (рис. 1, б);
  • В структуре «цикл» действия повторяются до тех пор, пока выполняется заданное условие (рис. 1, в).

Рис. 1 – Выполнение заданных условий

В зависимости от того, какие базовые структуры использованы при составлении алгоритмов, различают три основные разновидности алгоритмов:

  • линейный;
  • ветвящийся;
  • циклический.

Линейным называется такой алгоритм, в котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов.

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

Различают полную и неполную форму ветвления.

При полной форме ветвления действия выполняются в обоих случаях: и при истинности и при ложности условия. Ей соответствует следующее выражение: если , то , иначе .

Неполной форме ветвления соответствует выражение: если , то .

Самый подробный урок про Блок-схемы, Понимание, Чтение и Создание блок-схем

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

Основные понятия циклического алгоритма:

  1. счетчик цикла – переменная, которая изменяет свое значение при переходе от цикла к циклу;
  2. тело цикла – действия, которые повторяются;
  3. начальное значение счетчика цикла – значение, от которого начинает изменяться счетчик цикла;
  4. конечное значение счетчика цикла – значение, до которого изменяется счетчик цикла;
  5. шаг – значение, на которое изменяется счетчик цикла.
Читайте также:
Узнать на кого будет похож ребенок программа

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

Вспомогательный алгоритм — это блок последовательных действий в основном алгоритме, который выделен в качестве самостоятельного алгоритма, имеющего свое имя. [3]

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

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

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

Источник: algoritmkgu.wordpress.com

Пример различных форм алгоритма

Шаг 1. Сравнить значения чисел А1 и А2; если |А1|>=|А2|, то числу Аmax присвоить значение |А1|, иначе числу Аmax присвоить значение |А2|.

Шаг 2. Сравнить значения чисел А3 и Аmax. Если |А3|>=|Аmax|, то числу Аmax присвоить значение |А3|.

Шаг 3. Конец алгоритма.

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

Графическая форма представления алгоритма

Программная форма представления алгоритма

Writeln(‘Введите три числа’);

if A1>=A2 then Amax:=A1

if A3>=Amax then Amax:=A3;

Writeln(‘Максимальное число ‘,Amax);

Программирование решения задачи

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

 Программа– упорядоченная последовательность инструкций компьютера (команд) для решения задачи.

 Программное обеспечение– совокупность программ обработки данных и необходимых для их эксплуатации документов.

 Программирование– теоретическая и практическая деятельность, связанная с созданием программ.

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

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

Читайте также:
Как пользоваться программой miro

Программирование базируется на комплексе научных дисциплин, направленных на исследование, разработку и применение методов и средств разработки программ. При разработке программ используются ресурсоемкие и наукоемкие технологии, высококвалифицированный интеллектуальный труд. По некоторым данным в середине 90-х годов в мире было занято программированием » 2% трудоспособного населения. Совокупный оборот в сфере создания программных средств достигает нескольких сот миллиардов долларов в год. В связи с этим весьма актуальным становится вопрос о разработке и применении эффективных технологий программирования.

Стадии разработки программного продукта

Этот этап представляет собой выполнение четырех взаимосвязанных задач:

  • реализация алгоритма на языке программирования;
  • отладка программы;
  • тестирование программы;
  • модификация и сопровождение программы.

· Написание программы -запись разработанного алгоритма на каком-либо языке программирования. ·Отладка.На этом этапе с помощью специальной программы (транслятора) в программе устраняются синтаксические ошибки (связанные с неправильной записью или употреблением языковых конструкций). ·Тестирование. На этом этапе устраняются семантические (смысловые) ошибки. Необходимо проводить тестирование в два этапа: на заведомо правильных, а затем на заведомо неправильных данных. В любом случае программа должна выдавать соответствующие результаты. Как правило, в программе должны быть отражены все особые случаи. Для сложных алгоритмов такая информация, как правило, неизвестна. · Модификация. Программа постоянно модифицируется как на этапе разработки, так и в период опытной эксплуатации. Программы, рассчитанные на долгий срок применения, требуют периодического усовершенствования. Это может быть связано с дополнительными требованиями к ее возможностям, сменой оборудования и т.п. Поэтому необходимо, чтобы программа предоставляла возможность свой модификации без полной повторной реализации. · Сопровождение программного продукта — исправление обнаруженных ошибок, а также поддержка работоспособности программного продукта при переходе на новые версии и внесении изменений. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ Основная категория специалистов, занятых разработкой программ – это программисты. Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности. Наиболее часто программисты делятся на системных и прикладных. Системный программистзанимается разработкой, эксплуатацией и сопровождениемсистемногопрограммного обеспечения, поддерживающего работоспособность компьютера и создающего сферу для выполнения программ, обеспечивающих реализацию функциональных задач. Прикладной программистосуществляет разработку и отладку программ для решения функциональных задач. В процессе создания программ на начальной стадии работ участвуют и специалисты – постановщики задач. При создании больших по масштабам и функциям обработки программ (например, операционных систем) – нуженпрограммист-аналитикдля анализа и проектирования комплекса взаимосвязанных программ. Большинство информационных систем основано на работе с базами данных (БД). Если база данных является сложной и используется многими программистами, то возникает проблема организационной поддержки БД, которая выполняется администратором БД. Основным потребителем программ служит конечный пользователь, который относится к категории пользователей-непрограммистов. Он должен иметь элементарные знания и навыки работы с компьютером.

Читайте также:
Программа которая используется для создания простейших текстовых документов

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

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

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

Самый простой способ представления алгоритма — словесный, который содержит описание алгоритма на естественном языке (например, на русском). Выполнение предписаний алгоритма предполагается в естественной последовательности (в порядке записи), изменение порядка выполнения операций необходимо указать в явном виде, например, «перейти к шагу 3», в этом случае шаги алгоритма должны быть пронумерованы.

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

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

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

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

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

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

Примером псевдокода является школьный алгоритмический язык в русской нотации — «Школьный АЯ».

Порядковый номер оператора, независимо от его типа, обозначается индексом. Операторы записываются в строку, для пояснения схемы переходов после логических операторов ставятся сверху или снизу горизонтальные стрелки, указывающие место перехода. Если операторы выполняются в естественном порядке, между ними не ставится разделитель, если после i-ro оператора (1+1)-й не выполняется, между ними ставится разделитель — точка с запятой. Для логических операторов возможно указание условия, по которому программа разветвляется на ветви.

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

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

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

Схемы алгоритмов, программ, данных и систем________

Источник: ozlib.com

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