Скачать презентацию ОСНОВЫ АЛГОРИТМИЗАЦИИ Куянов Дмитрий Иванович 7 -913 -680 Скачать презентацию ОСНОВЫ АЛГОРИТМИЗАЦИИ Куянов Дмитрий Иванович 7 -913 -680

01 Основы алгоритмизации.pptx

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

ОСНОВЫ АЛГОРИТМИЗАЦИИ Куянов Дмитрий Иванович +7 -913 -680 -66 -44 dmitry. kuyanov@gmail. com vk. ОСНОВЫ АЛГОРИТМИЗАЦИИ Куянов Дмитрий Иванович +7 -913 -680 -66 -44 dmitry. kuyanov@gmail. com vk. com/progerschool 1

ОПРЕДЕЛЕНИЕ АЛГОРИТМА Алгоритм - последовательность команд, предназначенная исполнителю, в результате выполнения которой он должен ОПРЕДЕЛЕНИЕ АЛГОРИТМА Алгоритм - последовательность команд, предназначенная исполнителю, в результате выполнения которой он должен решить поставленную задачу. Пример: переход дороги 1. Подойти к дороге 2. Дождаться зеленого сигнала светофора 3. Перейти дорогу Пример от мамы: рецепт пирога 2

СВОЙСТВА АЛГОРИТМА 1. Детерминированность (определённость). Каждый шаг и переход от шага к шагу точно СВОЙСТВА АЛГОРИТМА 1. Детерминированность (определённость). Каждый шаг и переход от шага к шагу точно определены так, чтобы его мог выполнить любой другой человек или механическое устройство. 2. Результативность (конечность) Алгоритм всегда должен заканчиваться за конечное число шагов, но это число не ограничено сверху. 3. Массовость Не имеет смысла строить алгоритм нахождения наибольшего общего делителя только для одной пары чисел 10 и 15. 4. Дискретность Разделение вычислительного процесса на определенные этапы 3

ВИДЫ ЗАПИСИ АЛГОРИТМА 1. Словесная (запись на естественном языке) 2. Графическая (в виде схемы) ВИДЫ ЗАПИСИ АЛГОРИТМА 1. Словесная (запись на естественном языке) 2. Графическая (в виде схемы) 3. Псевдокоды (напр. школьный алгоритмический язык) 4. Программная (тексты на языках программирования) 4

ЕСТЕСТВЕННЫЙ ЯЗЫК. ПРИМЕР: НОД Шаг 1. Задать два числа. Шаг 2. Если числа равны, ЕСТЕСТВЕННЫЙ ЯЗЫК. ПРИМЕР: НОД Шаг 1. Задать два числа. Шаг 2. Если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма. Шаг 3. Определить большее из чисел. Шаг 4. Заменить большее из чисел разностью большего и меньшего из чисел. Шаг 5. Повторить алгоритм с шага 2. 5

ГРАФИЧЕСКИЙ СПОСОБ. СХЕМА АЛГОРИТМА ГОСТ 19. 701 -90 – Схемы алгоритмов, программ, данных и ГРАФИЧЕСКИЙ СПОСОБ. СХЕМА АЛГОРИТМА ГОСТ 19. 701 -90 – Схемы алгоритмов, программ, данных и систем Есть в интернете: http: //www. pntd. ru/19. 701. htm Определяет правила записи алгоритма в виде схемы 6

СХЕМА АЛГОРИТМА. ЭЛЕМЕНТЫ Название символа Обозначение Пояснение Терминатор Начало и конец алгоритма Данные Ввод СХЕМА АЛГОРИТМА. ЭЛЕМЕНТЫ Название символа Обозначение Пояснение Терминатор Начало и конец алгоритма Данные Ввод и вывод данных Процесс Вычислительное действие или последовательность Решение Проверка условий Предопределенны й процессс Вычисления по подпрограмме, стандартной подпрограмме Граница цикла Повторяющиеся до наступления определенных условий действия 7

СХЕМА АЛГОРИТМА. ПРИМЕР 8 СХЕМА АЛГОРИТМА. ПРИМЕР 8

ПСЕВДОКОД. ПРИМЕР: ШКОЛЬНЫЙ АЛГОРИТМИЧЕСКИЙ ЯЗЫК алг НОД (арг цел A, B, рез цел С) ПСЕВДОКОД. ПРИМЕР: ШКОЛЬНЫЙ АЛГОРИТМИЧЕСКИЙ ЯЗЫК алг НОД (арг цел A, B, рез цел С) нач ввод A, B нц пока A<>B если А > B A : = A – B иначе B : = B – A кц С : = А вывод С кон 9

ПРОГРАММНЫЙ СПОСОБ. Basic C Sub NOD() Dim a, b, c As Integer input a ПРОГРАММНЫЙ СПОСОБ. Basic C Sub NOD() Dim a, b, c As Integer input a input b While a<>b If a > b Then a = a – b Else b = b – a End If End While c = a print c End Sub #include void NOD() { int a, b, c; scanf(“%d”, &a); scanf(“%d”, &b); while(a != b) { if(a > b) a = a – b; else b = b – a; } c = a; printf(“%d”, c); } 10

ВИДЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Машинные (для каждого компьютера свой язык) Машино-ориентированные (ассемблер) Языки высокого уровня ВИДЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Машинные (для каждого компьютера свой язык) Машино-ориентированные (ассемблер) Языки высокого уровня Процедурные (алгоритмические): Basic, Pascal, C Логические: Prolog, Lisp Объектно-ориентированные: Object Pascal, Visual Basic, C++, C# 11

ВИДЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Интерпретируемые. Программа выполняется сразу шаг за шагом. Компилируемые. Код преобразуется в ВИДЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Интерпретируемые. Программа выполняется сразу шаг за шагом. Компилируемые. Код преобразуется в исполняемый файл (например programma. exe) и только потом выполняется. 12

ВИДЫ АЛГОРИТМОВ Линейный. Все операции выполняются по порядку. Разветвленный. Набор операций выполняется или не ВИДЫ АЛГОРИТМОВ Линейный. Все операции выполняются по порядку. Разветвленный. Набор операций выполняется или не выполняется в зависимости от определенных условий. Циклический. Присутствуют операции, которые выполняются многократно в зависимости от определенный условий. 13

УПРАЖНЕНИЕ № 1. ЗАПИСАТЬ АЛГОРИТМ ПО ШАГАМ И В ВИДЕ СХЕМЫ 14 УПРАЖНЕНИЕ № 1. ЗАПИСАТЬ АЛГОРИТМ ПО ШАГАМ И В ВИДЕ СХЕМЫ 14

УПРАЖНЕНИЕ № 1. ЗАПИСАТЬ АЛГОРИТМ ПО ШАГАМ И В ВИДЕ СХЕМЫ Хозяин хочет оклеить УПРАЖНЕНИЕ № 1. ЗАПИСАТЬ АЛГОРИТМ ПО ШАГАМ И В ВИДЕ СХЕМЫ Хозяин хочет оклеить обоями длинную стену в своем доме. Длина этой стены равна а и высота b. Рулон обоев имеет длину 12 м и ширину 1 м. Сколько будут стоить обои для всей стены если цена одного рулона x руб. Название символа Обозначение Терминатор Данные Процесс Решение 15

 16 16

 Название символа Обозначение Терминатор Данные Процесс Решение 17 Название символа Обозначение Терминатор Данные Процесс Решение 17

 18 18

 Название символа Обозначение Терминатор Данные Процесс Решение Граница цикла i=i+1 19 Название символа Обозначение Терминатор Данные Процесс Решение Граница цикла i=i+1 19