ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 18.03.2025

Просмотров: 416

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Графическая форма, в виде блок-схем наиболее удобна.

Форма и размеры блоков, их перечень, наименование, правила выполнения схем определены ГОСТом, Требованиями Единой системы программной документации (ЕСПД) ГОСТ 19.002-80 и ГОСТ 19-003-80.

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

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

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

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

3.4. Типы алгоритмических процессов

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

линейные;

ветвящиеся;

циклические.

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

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

Страница 33 из 47

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

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

НАЧАЛО

ввод данных

вывод данных

КОНЕЦ

3.4.2. Алгоритмы разветвляющейся структуры

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

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

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

Страница 34 из 47


НАЧАЛО

ввод данных

IF

нет

вывод данных

да

вывод данных

КОНЕЦ

3.4.3. Циклические вычислительные процессы

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

алгоритмы циклической структуры (циклические алгоритмы). Цикл –

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

Страница 35 из 47

Циклический алгоритм (схема 1):

НАЧАЛО

ввод данных

Тело цикла

да

IF

нет

вывод данных

КОНЕЦ

Циклический алгоритм (схема 2):

НАЧАЛО

ввод данных

нет

IF

да

Тело цикла

вывод данных

КОНЕЦ

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

Страница 36 из 47


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

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

3.5. Структурный подход к разработке алгоритмов

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

следование;

ветвление (в полной и сокращенной форме);

цикл (с предусловием или постусловием).

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

Базовые управляющие структуры алгоритмов

1. КОМПОЗИЦИЯ или следование

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

2. АЛЬТЕРНАТИВА или ветвление

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

Структура ветвление существует в четырех основных вариантах:

1.если – то

2.если – то – иначе

3.выбор

4.выбор – иначе

3.ИТЕРАЦИЯ или циклы

Страница 37 из 47

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

Цикл с предусловием Пока Цикл с постусловием До Цикл со счетчиком ДЛЯ

Способы комбинации структур

Путем СЛЕДОВАНИЯ структур друг за другом.

Путем создания СУПЕРПОЗИЦИЙ – вложение одной структуры в другую.

Признаки структурного программирования

Полное исключение операторов безусловных переходов.

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

возможность разработки программы несколькими программистами;

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

упрощение отладки программ: поиска и устранения ошибок;

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

лучшая читаемость программ.

Детализация или декомпозиция – нисходящее проектирование программ:

построение иерархии модулей программ;

разбиение задач на подзадачи;

детализация до уровня подзадач, решение которых обеспечивается за 3÷5 строк.

Страница 38 из 47


3.6. Основные понятия языков программирования

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

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

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

Процесс решения задачи на компьютере – это совместная деятельность человека и ЭВМ. Этот процесс можно представить в виде нескольких последовательных этапов:

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

2.Анализ и исследование задачи, модели;

3.Разработка алгоритма;

4.Программирование;

5.Тестирование и отладка;

Страница 39 из 47

6.Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5;

7.Сопровождение программы.

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

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

Человеку свойственно формулировать и решать задачи в выражениях более общего характера, чем команды ЭВМ. Поэтому с развитием программирования появились языки, ориентированные на более высокий уровень абстракции при описании решаемой на ЭВМ задачи. Эти языки получили название языков высокого уровня. Их теоретическую основу составляют алгоритмические языки, например, Паскаль, Си, Бейсик, Фортран, PL/1.

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

Страница 40 из 47