Скачать презентацию Лекция 2 Понятие алгоритма и алгоритмической системы План Скачать презентацию Лекция 2 Понятие алгоритма и алгоритмической системы План

Л2 Алгоритм и алг система.ppt

  • Количество слайдов: 24

Лекция 2. Понятие алгоритма и алгоритмической системы План 1. 2. 3. 4. 5. 6. Лекция 2. Понятие алгоритма и алгоритмической системы План 1. 2. 3. 4. 5. 6. Понятие моделирования. Математическая модель. Понятие алгоритма. Понятие величины. Виды и структура алгоритмов. Алгоритмические языки (алфавит, синтаксис, семантика). Данные и способы их организации.

Этапы решения задачи на ЭВМ 1. 2. 3. 4. 5. Постановка задачи. Формализация задачи. Этапы решения задачи на ЭВМ 1. 2. 3. 4. 5. Постановка задачи. Формализация задачи. Построение алгоритма. Написание программы на языке программирования. Тестирование программы.

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

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

Алгоритм точное предписание исполнителю совеpшить определенную последовательность действий для достижения поставленной цели за конечное Алгоритм точное предписание исполнителю совеpшить определенную последовательность действий для достижения поставленной цели за конечное число шагов. Математик IX века Аль-Хорезми написал "Algoritmi de numero Indorum", что можно перевести как "Трактат Аль-Хорезми об арифметическом искусстве индусов".

Свойства алгоритма 1. Дискретность (прерывность, раздельность) – последовательное выполнение простых (или ранее определенных) шагов. Свойства алгоритма 1. Дискретность (прерывность, раздельность) – последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего. После каждого шага необходимо указывать, какой шаг выполняется следующим, либо давать команду остановки. 2. Определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Выполнение алгоритма носит механический (формальный) характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.

Свойства алгоритма (продолжение) 3. Результативность (конечность) – алгоритм должен завершать работу после конечного числа Свойства алгоритма (продолжение) 3. Результативность (конечность) – алгоритм должен завершать работу после конечного числа шагов. При этом необходимо указать, что считать результатом работы алгоритма. 4. Массовость – алгоритм должен быть применим для некоторого класса задач, различающихся только исходными данными. Исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.

Данные – это совокупность величин, с которыми работает компьютер. Квадратное уравнение l l l Данные – это совокупность величин, с которыми работает компьютер. Квадратное уравнение l l l Исходные данные. Результаты (окончательные данные) Промежуточные данные (которые получают в процессе вычислений). ¢ Коэффициенты А, B, C ¢ Корни Х 1, Х 2 ¢ Дискриминант D

В программировании величины делятся на переменные и константы ¢ Константа – это величина, которая В программировании величины делятся на переменные и константы ¢ Константа – это величина, которая не меняет своего значения в процессе выполнения программы. - представляется собственным значением, например: 3. 14, 34. 7, k, true и т. п. ¢ Переменная – это величина, которая может изменять свое значение в процессе выполнения программы. - представляется символическим именем, идентификатором, например: X, S 2, c 12

¢ Всякая величина занимает свое определенное место в памяти компьютера. ¢ Всякая величина имеет ¢ Всякая величина занимает свое определенное место в памяти компьютера. ¢ Всякая величина имеет три основных свойства: имя, значение и тип. ¢ Основные типы данных: целый, вещественный, логический и символьный. ¢ С типом величины связаны три ее характеристики: множество допустимых значений, множество допустимых операций, форма внутреннего представления. 1. 2. 3.

Правила разработки алгоритмов Необходимо задать множество объектов, с которыми будет работать алгоритм. Формализованное (закодированное) Правила разработки алгоритмов Необходимо задать множество объектов, с которыми будет работать алгоритм. Формализованное (закодированное) представление этих объектов носит название данных. Алгоритм приступает к работе с некоторым набором начальных данных, которые называют входными. В результате работы выдает данные, называемые выходными. Т. о. , алгоритм преобразует входные данные в выходные. 1. 2. Для работы алгоритма требуется память компьютера. В памяти размещаются входные данные, с которыми алгоритм начинает работать, а также промежуточные данные и выходные данные. Память является дискретной, т. е. состоящей из отдельных ячеек. Поименованная ячейка памяти носит название переменной.

Виды алгоритмов ¢ ¢ Механические алгоритмы - детерминированные, жёсткие (например, алгоритм работы машины, двигателя Виды алгоритмов ¢ ¢ Механические алгоритмы - детерминированные, жёсткие (например, алгоритм работы машины, двигателя и т. п. ); Гибкие алгоритмы: 1. Вероятностный (стохастический) алгоритм дает программу решения задачи несколькими путями или способами, приводящими к вероятному достижению результата. 2. Эвристический алгоритм (от гр. “эврика”) – достижение конечного результата программы действий однозначно не предопределено, не обозначена вся последовательность действий исполнителя (например, инструкции и предписания).

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

Графические символы блок-схем Вопрос «умеет ли компьютер думать» имеет не больше смысла, чем вопрос Графические символы блок-схем Вопрос «умеет ли компьютер думать» имеет не больше смысла, чем вопрос «умеет ли подводная лодка плавать» . Дейкстра Эдсгер Вибе

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

Разветвляющийся алгоритм Разветвляющийся алгоритм

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

 «Цикл с параметром» ¢ Цикл называется арифметическим, если число повторений цикла известно заранее «Цикл с параметром» ¢ Цикл называется арифметическим, если число повторений цикла известно заранее или может быть вычислено.

Структура заголовка цикла Структура заголовка цикла

 Цикл, для которого нельзя указать числа повторений, и проверка окончания цикла происходит по Цикл, для которого нельзя указать числа повторений, и проверка окончания цикла происходит по достижению нужного условия, называется итерационным. Цикл – «Пока» (может не выполниться ни разу) Цикл – «До» (выполняется хотя бы раз)

Вспомогательный (подчиненный) алгоритм (процедура) – алгоритм, ранее разработанный и целиком используемый при алгоритмизации конкретной Вспомогательный (подчиненный) алгоритм (процедура) – алгоритм, ранее разработанный и целиком используемый при алгоритмизации конкретной задачи. Заголовок вспомогательного алгоритма имеет вид: <имя вспомогательного алгоритма> (<список формальных параметров>)

Способы записи алгоритмов 1. 2. 3. 4. 5. Словесный способ. Графическое представление. Табличный способ. Способы записи алгоритмов 1. 2. 3. 4. 5. Словесный способ. Графическое представление. Табличный способ. Псевдокод. Программа на одном из языков программирования.

Упрощенная модель процессора содержит ¢ ¢ ¢ устройство считывания данных, стек (специальную оперативную память Упрощенная модель процессора содержит ¢ ¢ ¢ устройство считывания данных, стек (специальную оперативную память небольшого объема, предназначенную для временного хранения данных) и арифметическое устройство, которое может выполнять арифметические действия. Процессор – исполнитель алгоритмов (программ).

Примеры разных способов записи алгоритмов ¢ Задача вычисления суммы двух чисел 2 и 3: Примеры разных способов записи алгоритмов ¢ Задача вычисления суммы двух чисел 2 и 3: 2, 3, + ¢ Задача вычисления суммы двух чисел 1. Считать с клавиатуры число a. 2. Считать с клавиатуры число b. 3. Выполнить присваивание c : = a + b. 4. Вывести на экран число c. Алгоритм описывает действия не над конкретными значениями, а над абстрактными объектами.