Алгоритмизация

v слово «алгоритм» - результат латинской транскрипции имени ученого 9 в. Аль Хорезми, который сформулировал общие правила (алгоритмы) выполнения арифметических операций над десятичными числами.

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

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

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

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

1. понятность для исполнителя

Ø он должен понимать, как выполнять предписанные алгоритмом действия при любом варианте исходных данных)

2. дискретность (прерывность, раздельность)

Ø алгоритм должен представлять процесс решения задачи как последовательное выполнение простых или ранее определенных шагов

3. детерминированность

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

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

4. результативность (конечность)

Ø за конечное число шагов алгоритм должен:

- либо приводить к решению задачи,

- либо выдавать сообщение о невозможности получить решение по той или иной причине,

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

5. массовость

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

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

Способы оформления алгоритмов

1. словесно,

2. формульно-словесно,

3. графически (в виде блок-схемы)

4. в виде таблицы решений.

v Базовыми алгоритмическими конструкциями являются:

1. линейные,

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

2. разветвляющиеся,

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

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

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

Ø такой многократно повторяющийся участок вычислений называется циклом.

4. Линейным называют вычислительный процесс.

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

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

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

· Язык программирования – это система обозначений, служащая для точного описания программ или алгоритмов для ЭВМ.

- Они относятся к искусственным языкам и отличаются от естественных:

а) ограниченным числом языковых единиц,

б) строгими правилами записи команд.

Основные требования, предъявляемые к языкам программирования:

ü наглядность (использование в языке уже существующих символов)

ü единство (использование одних и тех же символов для обозначения одних и тех же или родственных понятий в разных частях алгоритма)

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

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

ü однозначность (недвусмысленность записи любого алгоритма)

Классификация языков программирования

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

v В зависимости от детализации таких предписаний определяют уровень языка программирования (чем меньше детализация, тем выше уровень):

1. машинные (самого низкого уровня)

2. машинно-ориентированные (ассемблеры)

3. машинно-независимые (высокого уровня)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: