Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основные понятия программирования

.pdf
Скачиваний:
179
Добавлен:
13.02.2015
Размер:
962.19 Кб
Скачать

Основные понятия программирования

Основные определения, свойства алгоритма

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

Язык блок-схем

Базовые структуры алгоритмов: следование, ветвление, повторение

Язык псевдокода

Основные определения

Алгоритм (от имени учѐного аль-Хорезми (перс. یمزراوخ‎[al-Khwārazmī]) - точный набор инструкций, которые необходимо выполнить для решения поставленной задачи за конечное число шагов.

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

Операторы – действия, предписываемые командой.

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

Программирование – процесс создания программ.

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

2

Основные определения

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

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

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

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

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

3

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

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

Словесная (текстуальная) – запись алгоритма на естественном языке. Эта форма используется лишь на начальных стадиях разработки алгоритма, так как для сложных алгоритмов описание становится слишком громоздким и ненаглядным.

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

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

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

4

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

Пример словесного способа записи алгоритма решения квадратного уравнения ax²+bx+c=0

Задать коэффициенты уравнения a, b, c

Вычислить дискриминант по формуле d=b²4ac

Если дискриминант меньше нуля, то вывести ответ «Корней нет» и остановиться (конец алгоритма); в противном случае продолжить выполнение алгоритма;

Вычислить корни уравнения по формулам x1=(b+√d)/2a; x2=(b√d)/2a;

Вывести полученные значения в качестве ответа. Конец алгоритма

5

Язык блок-схем

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

Название символа

Обозначение и пример заполнения Пояснение

 

 

 

 

 

Начало-конец

 

 

 

Начало или конец

 

 

 

 

алгоритма, вход или

 

 

 

 

 

 

 

 

выход в подпрограмму

 

 

 

 

 

Начало

Конец

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод-вывод

Ввод или вывод данных

Печать Z

Процесс

 

 

Обработка данных

 

 

 

 

 

 

 

(вычисление,

 

 

 

 

 

 

 

 

 

Z = X + Y

пересылка и т.п.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

Язык блок-схем

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

Название символа

Обозначение и пример заполнения

Пояснение

 

 

 

 

 

 

 

 

 

 

 

 

Предопределенный

 

 

 

 

 

 

 

 

 

 

Вызов процедуры,

 

 

 

 

 

 

 

 

 

 

процесс

 

 

 

 

 

 

 

 

 

 

вычисления по

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имя

 

 

подпрограмме

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение

 

 

 

 

 

 

 

 

 

 

Проверка условия

 

 

 

 

 

Да

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I >10

Комментарии

Линии потока

Соединительные

 

линии, точки связи

7

Язык блок-схем

Пример графического способа представления алгоритма решения квадратного уравнения ax²+bx+c=0

8

Базовые структуры алгоритмов: следование, ветвление, повторение

Структурное программирование

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

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

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

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

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

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

9

Базовые структуры алгоритмов: следование, ветвление, повторение

Базовая структура «следование»

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

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

1Оператор 1

2Оператор 2

3Оператор 3

10