Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгор_ТХТК_пособие.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.6 Mб
Скачать

Глава 1 способы записи алгоритма

1.1 Алгоритм и его свойства

В основе решения любой задачи лежит понятие алгоритма. Под алгоритмом принято понимать "точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату" (ГОСТ 19.78Т-74).

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

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

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

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

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

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

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

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

а) словесный (записи на естественном языке);

б) структурно-стилизованный (записи на языке псевдокода);

в) программный (тексты на языках программирования);

г) графический (схемы графических символов).

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

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

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

1) если числа равны, то необходимо взять любое из них в качестве ответа, в противном случае - продолжить выполнение алгоритма:

2) определить большее из чисел;

3) заменить большее число разностью большего и меньшего чисел;

4) повторить алгоритм с начала.

Структурно-стилизованный способ записи алгоритмов основан на формализованном представлении предписаний, задаваемых путем использования ограниченного набора типовых синтаксических конструкций. Такие средства описания алгоритмов часто называются псевдокодами. Разновидностью структурно-стилизованного способа описания алгоритмов является известный школьникам алгоритмический язык в русской нотации (АЯРН).

Пример. Приведем описанный на АЯРН алгоритм решения задачи об определении принадлежности точки D треугольнику ABC.

алг Определение принадлежности точки треугольнику (действ xА, yА, хВ, уВ, xС, yС, xD, yD целое z лит а);

арг xА, yА, хВ, уВ, xС, yС, xD, yD;

рез z,a;

нач

действ S1, S2, S3, S4

вычислить значение S1 равное площади гр-ка АВС

вычислить значение S2, равное площади тр-ка АВD

вычислить значение S3, равное площади тр-ка ACD

вычислить значение S4, равное площади гр-ка CDB

если S1 = S2+S3+S4

то z := 1,

а := "точка внутри треугольника",

иначе z := О,

а := "точка вне треугольника",

все

напечатать значение а:

кон

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

Пример. Программа на языке Бейсик перевода температуры из градусов Цельсия в градусы Фаренгейта.

PRINT "Перевод температуры из град. Цельсия в град. Фаренгейта"

PRINT "Укажите температуру в град. Цельсия"

INPUT С

6 IF С = 9999 THEN 7

F = С*1.8 +32

PRINT С, F

GOTO 6

7 END

Д ля графического изображения алгоритмов используются графические символы. Наиболее распространёнными являются блочные символы (блоки), соединяемые линиями передач управления. Схемы алгоритмов и программ входят в состав программной документации и оформляются в соответствии с ГОСТ 19.701 – 90 (ИСО 5807 – 85) "Схемы алгоритмов, программ, данных и систем" (взамен ГОСТ 19.002-80, 19.003-80). При этом используются условные графические обозначения (УГО), которые вписываются в прямоугольник (см. рисунок 1.1). Стороны прямоугольника имеют следующие размеры:

a = 10, 15, 20 и т.д. через 5 мм, b = 1,5а или b = 2a.

С хемы могут быть представлены также в виде структограмм или по имени их авторов диаграммами Нэсси – Шнейдермана (см. рисунок 1.2),.

Рисунок 1.2 - Схема и структограмма перевода температуры из шкалы Цельсия в шкалу Фаренгейта