ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.07.2024

Просмотров: 18

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Тема 3 «Понятие и свойства алгоритма»

Понятие алгоритма

 

Алгоритм это четкое, ясное, законченное

предписание (инструкции)

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

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

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

Определенность - различные пользователи находящихся в разных местах но с

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

Конечность- совокупность инструкций должна быть конечной (конечное число шагов).

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

Массовость- алгоритм должен быть успешно применим некому набору начальных данных.

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

время

Тема 3 «Понятие и свойства алгоритма»

Типы алгоритмов

Линейный алгоритм - совокупность всех инструкций выполняющихся последовательно одна за одной; инструкции выполняются в том порядке как записаны.

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

Циклические алгоритмы - характерно наличие этапов, которые в процессе выполнения алгоритма повторяются.

На практике в чистом виде они не встречаются. Обычно они комбинируются в различных последовательностях.

Тема 3 «Понятие и свойства алгоритма»

Методы проектирования алгоритмов и программ

 

методы

Степень автоматизации

Методология процесса

Неавтоматизированное проектирование

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

Автоматизированное проектирование

Информационное моделирование

(CASE технология)

предметной области

 

Объектно-ориентированное проектирование


Тема 3 «Понятие и свойства алгоритма»

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

Его основу составляет последовательная декомпозиция, целенаправленное

структурирование алгоритма на отдельные составляющие

Типичными методами структурного проектирования являются:

Нисходящее проектирование, кодирование и тестирование программ;

Модульное программирование;

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

Основано на модульной структуре программного продукта и типовых управляющих структурах алгоритмов обработки данных

Последовательность», «Альтернатива», «Цикл»)

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

оформленных в виде самостоятельных программных объектов

Предполагает последовательное разложение общей задачи на простые функциональные элементы сверху вниз»)

Тема 3 «Понятие и свойства алгоритма»

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

Косновным принципам структурного проектирования относят:

разработка алгоритмов (программ) методом «сверху-вниз»;

пошаговая детализация;

отказ от применения оператора безусловного перехода GOTO («программирование без GOTO»)

детальная логика обработки данных программных модулей

определение структуры и декомпозиции целей, функций управления и приложений

Тема 3 «Понятие и свойства алгоритма»

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

Его основу составляет положение об определяющей роли данных при проектировании алгоритмов и программ.

Информационный анализ предметных областей бизнес-областей»);

Информационное моделирование (построение взаимосвязанных моделей данных);

Системное проектирование функций обработки данных;

Детальное конструирование процедур обработки данных.


Тема 3 «Понятие и свойства алгоритма»

Объектно - ориентированное проектирование

Подход основан на использовании следующих базовых понятий:

Объект (совокупность свойств определенных сущностей и методов их обработки)

Свойство объекта (характеристики объекта и его параметров);

Метод обработки (программа действий над объектом или его свойствами);

Событие (характеристика изменения состояния объекта);

Класс объектов (совокупность объектов, характеризующихся общностью применяемых

методов обработки или свойств).

Тема 3 «Понятие и свойства алгоритма»

Объектно - ориентированное проектирование

Важнейшие принципы объектно ориентированного проектирования:

инкапсуляция (замыкание) свойств данных и программ в объекте

наследование

полиморфизм

Подразумевает способность объекта реагировать на запрос сообразно своему типу, при этом одно и то же имя метода может использоваться

для различных классов объектов

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

создавать иерархию классов

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

Тема 3 «Понятие и свойства алгоритма»

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

Словесный способ (человеческий язык) не воспринимается ЭВМ;

Машинный язык (единственный способ понятный машине) – представляет собой запись в виде совокупности двоичных кодов;

Словесно-формульный способ (с помощью алгоритмического языка

или языка программирования);

С помощью блок – схем (гибкий и наглядный способ описания алгоритма с помощью специальных значков);


Тема 3 «Понятие и свойства алгоритма»

Пример Составить блок-схему алгоритма расчета площади трапеции


Тема 3 «Понятие и свойства алгоритма»

Составить блок-схему алгоритма расчета функции y(x) при заданном значении х, если

ìx + 5 ,

x > 10

ï

2

,

5 < x £ 10

y = í x

 

ï

 

 

x £ 5

îSin x,

Тема 3 «Понятие и свойства алгоритма»

Языки программирования

Относятся к искусственным языкам. Обладают фиксированным набором «слов», характеризуются «жесткими» правилами построения конструкций языка и их использования.

Тема 3 «Понятие и свойства алгоритма»

Языки программирования высокого уровня

 

 

Исходный текст

 

 

 

 

 

двоичный

 

 

алгоритма

 

 

 

 

машинный») код»

Program TASK (input, output);

 

 

 

исходный код»

 

 

Var x,y: real;

 

 

 

 

Begin

 

 

 

 

01010100100100101

Clrscr:

 

 

 

 

00100100010001001

 

 

 

 

11010101010010100

Writeln(’Программа расчета функции);

 

 

 

 

 

 

 

 

01101010010010001

Writeln(’Укажите значение аргумента’);

 

 

 

Транслятор

 

 

 

00010010101011100

Write(’x = ’); read(x);

 

 

 

 

10101010101010101

If x > 10 then y:=x + 5 else

 

 

 

 

10101010101010100

If x > 5 then y:=x * x else y:= sin(x);

 

 

 

 

01001001000101001

Writeln(’Функция равна, y = ’,y:6:4);

 

 

01000010000100011

 

 

 

Repeat Until Keypressed;

 

 

 

End.