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

6Алгоритмизация. Абстрактный вычислительный алгоритм

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

Абстрактный алгоритм применяется к мат. объектам и не связан с конкретным языком программирования

Свойства: конечность, определенность(однозначная трактовка), результативность, массовость.

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

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

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

графическая (изображения из графических символов);

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

программная (тексты на языках программирования). Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке. Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида). 

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

8Структурный подход к проектированию алгоритмов и программ

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]