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

Лекция № 7. Алгоритмизация программирования (ЮП)

1. Элементы языка схем алгоритмов

Решение задач на ЭВМ реализуется программным способом, то есть путем последовательного выполнения над данными отдельных операций, предусмотренных алгоритмом решения задачи.

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

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

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

определенность – однозначность выполнения каждого шага преобразования информации;

выполнимость – конечность действий алгоритма решения задачи, позволяющая получить желаемый результат за конечное число шагов;

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

Существуют три способа написания алгоритмов:

1) на естест­венном языке;

2) на языке схем алгоритмов;

3) на алгоритми­ческом языке.

Рассмотрим, что же такое схема алгоритма? Этот язык является одним из способов символической (графической) записи алгоритмов; основные слова этого языка (блоки) приведены в таблице.

Естественный язык

Язык схем алгоритмов

Комментарий

Определить начальное значение переменной

Вводятся исходные данные алгоритма

Переменной присвоить значение математического выражения

Выполняются вычисления и присваивание

Если то перейти к одному действию, в противном случае – к другому

Да Нет

Производится проверка условия и соответствующий переход по результатам проверки

Начало (конец) действий алгоритма

Завершение всех вычислений

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

2. Типы структур схем алгоритмов.

1) Структура Цикл.

Наиболее часто встречающейся струк­турой в программировании является цикл, т. е. многократное повторение одних и тех же операций.

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

  • операторы проверки условия;

  • тело цикла – набор многократно повторяемых в процессе выполнения цикла операторов.

В зависимости от особенностей организации циклов различают следующие варианты структуры:

а) Структура Цикл-До. Проверка условия продолжения повторного выполнения операторов тела цикла проводится, когда вычисления выполнены хотя бы один раз.

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

в) Структура Цикл-Пока. Проверка условия проводится до выполнения тела цикла, поэтому вычисления, в принципе, могут не выполняться ни разу.

Группа операторов "Тело цикла", в свою очередь, может содержать различные комбинации структур.

2) Структура Разветвление

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

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

3) Структура Обход

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

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

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

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

3. Примеры составления схем алгоритмов.

Пример 1: Рассмотрим пример нахождения корней квадратного уравнения:

.

На естественном (математическом) языке процесс решения может быть описан следующим образом:

  1. ;

  2. Если – корней нет;

  3. Если , то .

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

Пример 2: Найти среднее арифметическое первых N=13 чисел натурального ряда.

На естественном (математическом) языке: , .

На языке схем алгоритмов:

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

Пример 3: Расположить произвольные числа из одномерного массива , размерности , в порядке возрастания.

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

А

В

Здесь применен так называемый механизм вспомогательного флага, реализованный при помощи переменной F. Теперь детализируем тело цикла:

А В

Рассмотрим пошаговую реализацию алгоритма для начального случая

А

В

Флаг F

1

54321

43215

1

2

43215

32145

1

3

32145

21345

1

4

21345

12345

1

5

12345

12345

0 (выход)



Соседние файлы в папке Информатика все семинары и лекции