Алгоритмы и программы

Содержание

Слайд 2

Алгоритм

Алгоритм – точное и конечное описание того или иного общего метода, основанного

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

Слайд 3

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

Конечность. Алгоритм всегда заканчивается после выполнения конечного числа шагов.
Определенность (детерминированность). Каждый

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

Слайд 4

Области исследований

Анализ алгоритмов. Предмет этой области состоит в том, чтобы для заданного

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

Слайд 5

Формы записи алгоритмов

на естественном языке;
в виде блок-схемы;
записан на алгоритмическом языке.
Схема алгоритма

Формы записи алгоритмов на естественном языке; в виде блок-схемы; записан на алгоритмическом
– графическое представление алгоритма, дополняется элементами словесной записи. Каждый пункт алгоритма отображается на схеме некоторой геометрической фигурой – блоком.

Слайд 6

Обозначение блоков

начало или конец программы ( подпрограммы )

Пуск - останов

вычислительное действие или

Обозначение блоков начало или конец программы ( подпрограммы ) Пуск - останов
последовательность вычислительных действий

Процесс

Слайд 7

Обозначение блоков

ввод данных

Дисплей

вывод данных

Документ

Обозначение блоков ввод данных Дисплей вывод данных Документ

Слайд 8

Обозначение блоков

проверка условий,
цикл с условием

Решение

заголовок цикла со счетчиком

Модификация

Обозначение блоков проверка условий, цикл с условием Решение заголовок цикла со счетчиком Модификация

Слайд 9

Обозначение блоков

Предопределенный процесс

вычисление по подпрограмме

Обозначение блоков Предопределенный процесс вычисление по подпрограмме

Слайд 10

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

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

Слайд 11

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

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

Слайд 12

Пример цикла типа пока Вывод на экран таблицы функции Y=X^2 для интервала [a,b]

Пример цикла типа пока Вывод на экран таблицы функции Y=X^2 для интервала [a,b] с шагом h
с шагом h

Слайд 13

Пример цикла типа до Вычисление суммы ряда 1/i с погрешностью E

НАЧАЛО

Sum=0;
i=1;

Вывод Sum

КОНЕЦ

s<=E

Да

s=1/i;
Sum=Sum+s;
i=i+1;

Ввод E

Пример цикла типа до Вычисление суммы ряда 1/i с погрешностью E НАЧАЛО

Слайд 14

Пример цикла со счетчиком Вычисление факториала

Пример цикла со счетчиком Вычисление факториала

Слайд 15

Программа и программирования

Программирование – процесс записи алгоритма на машинном языке
Программа – запись

Программа и программирования Программирование – процесс записи алгоритма на машинном языке Программа
алгоритма на машинном языке

Слайд 16

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

Машинный язык – запись команд и их операндов с помощью чисел
Ассемблер

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

Слайд 17

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

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

Языки программирования Транслятор – программа, осуществляющая перевод программы, написанной на некотором языке
на машинный язык.
Интерпретатор – вид транслятора, который в процессе перевода программы на машинный язык и сразу же ее выполняет.
Компилятор – вид транслятора, который переводит программу в объектный код (машинный язык), но не выполняет ее.
Линкер (сборщик) – программа, которая к объектному коду, скомпилированной программы, подключает код из библиотек и формирует исполняемый файл в формате определенной ОС.

Слайд 18

Этапы трансляции
Компиляция
Сборка

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

Объектный
код

Исполняемый код
(файл)

Код из библиотек

Компилятор
compiler

Сборщик
linker

Этапы трансляции Компиляция Сборка Программа на языке программирования Объектный код Исполняемый код

Слайд 19

Структура компилятора

Лексический анализ

Синтаксический анализ

Семантический анализ

Оптимизация

Редактирование
связей

Генерация кода

Таблица
символов

Другие
таблицы

Исходная программа

Лексемы

Дерево грамматического разбора

Промежуточный код

Оптимизированный код

Объектный
код

Выполняемый
код

Объектный код
других
компонентов

Структура компилятора Лексический анализ Синтаксический анализ Семантический анализ Оптимизация Редактирование связей Генерация

Слайд 20

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

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

Языки программирования Язык программирования – искусственно созданный язык, предназначенный для описания алгоритмов
данных.
Каждый язык программирования характеризуется своим алфавитом, синтаксисом и семантикой.
Алфавит языка – это набор символов, которые могут быть использованы при составлении программы.
Синтаксис определяет правила построения из символов алфавита специальных инструкций, с помощью которых можно составлять алгоритмы решения задач.
Систему правил истолкования этих конструкций называют семантикой языка программирования.

Слайд 21

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

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

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

Слайд 22

Классификация по методам трансляции

Виды языков:
интерпретируемые,
компилируемые,
смешанные.

Классификация по методам трансляции Виды языков: интерпретируемые, компилируемые, смешанные.

Слайд 23

Классификация по области применения

Виды языков:
языки численных расчетов и научных вычислений,
языки обработки деловой

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

Слайд 24

Классификация по парадигме

Виды языков:
императивные (процедурные),
аппликативные (функциональные),
логические,
основанные на системе правил,
объектно-ориентированные.

Классификация по парадигме Виды языков: императивные (процедурные), аппликативные (функциональные), логические, основанные на системе правил, объектно-ориентированные.

Слайд 25

История языков

Plankalkuel (plan calculus) – Конрад Цузе, 1945-1946 гг.
FORTRAN (formula translator) –

История языков Plankalkuel (plan calculus) – Конрад Цузе, 1945-1946 гг. FORTRAN (formula
Бэкус, 1957 г.
ALGOL-58 (algorithmic language) – 1958, 1968.
Simula-67 (simulation) – Найгард и Пол, 1967 г.
Фирма IBM:
NPL (new programming language) → MMPL (multi purpose programming) → PL/1 (PL/2) (programming language)
70-е гг.: С, Pascal, Ada
80-е гг.: C++
90-е гг.: Java, Ada 95
XXI век: C#, Ruby.

Слайд 26

История языков

Обработка деловой информации:
COBOL (Common busyness oriented language).
Perl, SQL
Искусственный интеллект:
Lisp, Prolog.
Языки системного

История языков Обработка деловой информации: COBOL (Common busyness oriented language). Perl, SQL
программирования:
CPL, BCPL, C, C++
Web-программирование:
SGML, HTML, XML, Javascript, Java и др.

Слайд 27

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

Эра универсальных ЭВМ (до 70х гг. ХХ века),
Эра персональных ЭВМ

Эры языков программирования Эра универсальных ЭВМ (до 70х гг. ХХ века), Эра
(до 90х гг. ХХ века),
Эра сетевых технологий (наше время).

Слайд 28

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

Язык С был разработан в 1972 г. Дэнисом Ритчи и

Язык программирования С Язык С был разработан в 1972 г. Дэнисом Ритчи
Кеном Томпсоном из AT&T Laboratories в рамках разработки ОС UNIX.
В настоящее время С – универсальный язык, обладающий чертами как прикладного, так и системного языка.
Стандартизация:
ANSI С89 – 1989 г (ISO/IEC 9899:1989),
ANSI С99 – 1999 г. (ISO/IEC 9899:1999),
ANSI C11 – 2011 г. (ISO/IEC 9899:2011)
Имя файла: Алгоритмы-и-программы.pptx
Количество просмотров: 36
Количество скачиваний: 0