АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

Скачать презентацию АЛГОРИТМИЗАЦИЯ И  ПРОГРАММИРОВАНИЕ Скачать презентацию АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ

Общий курс информатики_15.ppt

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

>  АЛГОРИТМИЗАЦИЯ И  ПРОГРАММИРОВАНИЕ     ТЕМА 1  АЛГОРИТМ АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ ТЕМА 1 АЛГОРИТМ И ЕГО СВОЙСТВА. СПОСОБЫ ЗАПИСИ АЛГОРИТМА

>   ПОНЯТИЕ АЛГОРИТМА Алгоритм – это четкое описание последовательности действий, которые необходимо ПОНЯТИЕ АЛГОРИТМА Алгоритм – это четкое описание последовательности действий, которые необходимо выполнить для решения задачи Свойства алгоритма 1) Дискретность 2) Определенность (или детерминированность) 3) Результативность (или конечность) 4) Массовость Формы представления алгоритма 1) Словесная 2) Графическая 3) Запись на специальном языке (алгоритмическом языке или псевдокоде)

>  ГРАФИЧЕСКИЙ СПОСОБ Графическое представление алгоритма называется Основные элементы блок-схемы алгоритма схемой алгоритма ГРАФИЧЕСКИЙ СПОСОБ Графическое представление алгоритма называется Основные элементы блок-схемы алгоритма схемой алгоритма или блок-схемой Граница цикла ГОСТ 19. 701 -90 Цикл 1 «Единая система Соединитель документации. Линия программной Решение Предопределённый Терминатор Ручной ввод Дисплей Процесс Данные Комментарий i: =0; ib Расчёт Процессcили a, b, c b, a, b, c a, параметров группа процессов Цикл 1

>   АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ    ab  a b a*b АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ ab a b a*b Пример псевдокода алг (алгоритм) сим (символьный) дано для да арг (аргумент) лит (литерный) надо от нет рез (результат) лог (логический) если до при нач (начало) таб (таблица) то знач выбор кон (конец) нц (начало цикла) иначе и ввод цел (целый) кц (конец цикла) все или вывод вещ (вещественный) длин (длина) пока не утв

>   ОБЩИЙ ВИД АЛГОРИТМА алг название алгоритма (аргументы и результаты) нач описание ОБЩИЙ ВИД АЛГОРИТМА алг название алгоритма (аргументы и результаты) нач описание промежуточных величин | последовательность команд (тело алгоритма) кон Примеры предложений алг: алг объем_и_площадь_цилиндра (арг вещ R, H, рез вещ V, S) алг диагональ (арг цел N, арг цел таб A[1: N, 1: N], рез лит otvet)

>   ПРИМЕР ЗАПИСИ  НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ алг произведение (арг цел n, ПРИМЕР ЗАПИСИ НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ алг произведение (арг цел n, m, рез цел s) нач цел i | ввод n, m | s: =0 | i: =0 | нц пока i

>   ТЕМА 2 БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ    СТРУКТУРЫ ТЕМА 2 БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ СТРУКТУРЫ

>БАЗОВЫЕ СТРУКТУРЫ АЛГОРИТМОВ 1) Линейная 2) Разветвляющаяся 3) Циклическая БАЗОВЫЕ СТРУКТУРЫ АЛГОРИТМОВ 1) Линейная 2) Разветвляющаяся 3) Циклическая

>ЛИНЕЙНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА Образуется последовательностью действий, следующих    одно за другим: ЛИНЕЙНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА Образуется последовательностью действий, следующих одно за другим: Схема алгоритма Алгоритмический язык действие 1 алг нач | …………… действие 2 | действие 1 | действие 2 | …………… | действие n | …………… кон

>ЛИНЕЙНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА   (ПРИМЕР) Схема алгоритма Алгоритмический язык   Начало ЛИНЕЙНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА (ПРИМЕР) Схема алгоритма Алгоритмический язык Начало Ввод a, b алг сумма (арг вещ a, b, рез вещ s) нач | ввод a, b s: =a+b | s: =a+b | вывод s кон Вывод s Конец

>РАЗВЕТВЛЯЮЩАЯСЯ АЛГОРИТМИЧЕСКАЯ  СТРУКТУРА  Обеспечивает в зависимости от результата проверки условия выбор одного РАЗВЕТВЛЯЮЩАЯСЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА Обеспечивает в зависимости от результата проверки условия выбор одного из альтернативных путей работы алгоритма Виды ветвлений 1) ветвление (если-то-иначе) 2) множественный выбор

> ВЕТВЛЕНИЕ (1 -ЫЙ СЛУЧАЙ) Схема алгоритма  Алгоритмический язык    ВЕТВЛЕНИЕ (1 -ЫЙ СЛУЧАЙ) Схема алгоритма Алгоритмический язык алг нач | …………… условие да | если условие | | то действия | все нет | …………… кон

>   ВЕТВЛЕНИЕ (2 -ОЙ СЛУЧАЙ) Схема алгоритма    Алгоритмический язык ВЕТВЛЕНИЕ (2 -ОЙ СЛУЧАЙ) Схема алгоритма Алгоритмический язык алг нач условие нет | …………… | если условие да | | то действия 1 | | иначе действия 2 действия 1 действия 2 | все | …………… кон

>  ВЕТВЛЕНИЕ (3 -ИЙ СЛУЧАЙ)  Схема алгоритма    Алгоритмический язык ВЕТВЛЕНИЕ (3 -ИЙ СЛУЧАЙ) Схема алгоритма Алгоритмический язык алг да нач условие 1 | …………… нет действия 1 | если условие 1 | | то действия 1 да | | иначе если условие 2 | | | то действия 2 нет действия 2 | | | иначе действия 3 | | все | …………… кон

> МНОЖЕСТВЕННЫЙ ВЫБОР Схема алгоритма   Алгоритмический язык     МНОЖЕСТВЕННЫЙ ВЫБОР Схема алгоритма Алгоритмический язык алг i альтернатива 1 нач | …………… действия 1 | выбор i | | при альт. 1: действия 1 альтернатива n | | …………… действия n | | при альт. n: действия n | | иначе действия n+1 иначе | все | …………… действия n+1 кон

> ЦИКЛИЧЕСКАЯ АЛГОРИТМИЧЕСКАЯ  СТРУКТУРА Обеспечивает многократное выполнение  некоторой совокупности действий, которая называется ЦИКЛИЧЕСКАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла Виды циклов 1) Цикл с предусловием 2) Цикл с постусловием 3) Цикл со счётчиком (с известным количеством повторений)

>   ЦИКЛ С ПРЕДУСЛОВИЕМ Развёрнутая схема  Альтернативное    ЦИКЛ С ПРЕДУСЛОВИЕМ Развёрнутая схема Альтернативное Алгоритмический язык алгоритма обозначение алг начальные имя цикла, нач присваивания условие | …………… завершения | начальные | присваивания Условие да тело цикла | нц пока условие завершения | | тело цикла нет | | (действия) | кц тело цикла имя цикла | …………… кон

>    ЦИКЛ С ПОСТУСЛОВИЕМ Развёрнутая схема Альтернативное    Алгоритмический ЦИКЛ С ПОСТУСЛОВИЕМ Развёрнутая схема Альтернативное Алгоритмический язык алгоритма обозначение начальные алг присваивания имя цикла нач | …………… | начальные тело цикла | присваивания | нц | | тело цикла имя цикла, | | (действия) Условие да условие | кц пока условие завершения завершения | …………… кон нет

>    ЦИКЛ СО СЧЁТЧИКОМ Развёрнутая схема  Альтернативное   ЦИКЛ СО СЧЁТЧИКОМ Развёрнутая схема Альтернативное Алгоритмический язык алгоритма обозначение i: =i 1 алг имя цикла, нач i = i 1, i 2 | …………… да | нц для i от i 1 до i 2 i>i 2 | | тело цикла нет | | (действия) | кц тело цикла | …………… имя цикла кон i: =i+1

>ПРОЦЕДУРЫ ПРОЦЕДУРА – это часть программы,  которая не  выполняется в естественном порядке, ПРОЦЕДУРЫ ПРОЦЕДУРА – это часть программы, которая не выполняется в естественном порядке, а вызывается специальным способом. Обособленную группу операторов, которую можно выполнять многократно, обращаясь к ней из различных мест программы, называют процедурой

>ПРЕИМУЩЕСТВА использования процедур: уменьшается общее количество операторов в  программе, для размещения программы требуется ПРЕИМУЩЕСТВА использования процедур: уменьшается общее количество операторов в программе, для размещения программы требуется меньше памяти, время на выполнение программы практически не изменяется, улучшается структура программы, облегчается отладка программы, программы имеют дополнительную ценность, поскольку ими может воспользоваться не только тот, кто написал процедуру, но и другие лица.

>  Процедуры Подпрограммы Функции ПОДПРОГРАММА – ЭТО ФУНКЦИЯ НЕ ВОЗВРАЩАЮЩАЯ ЗНАЧЕНИЯ В ОСНОВНУЮ Процедуры Подпрограммы Функции ПОДПРОГРАММА – ЭТО ФУНКЦИЯ НЕ ВОЗВРАЩАЮЩАЯ ЗНАЧЕНИЯ В ОСНОВНУЮ ПРОЦЕДУРУ.

>   Возвращаемое значение   Входные аргументы Вызывающая    Возвращаемое значение Входные аргументы Вызывающая Вызываемая Формальные Фактические параметры Внешние переменные

>  ТЕМА 3 ТИПОВЫЕ АЛГОРИТМЫ ТЕМА 3 ТИПОВЫЕ АЛГОРИТМЫ

>АЛГОРИТМ ПОИСКА МИНИМУМА В МАССИВЕ, СОСТОЯЩЕГО ИЗ ТРЁХ ЭЛЕМЕНТОВ (СХЕМА) Начало   АЛГОРИТМ ПОИСКА МИНИМУМА В МАССИВЕ, СОСТОЯЩЕГО ИЗ ТРЁХ ЭЛЕМЕНТОВ (СХЕМА) Начало A Ввод нет X[1: 3] X[3]

> АЛГОРИТМ ПОИСКА МИНИМУМА В МАССИВЕ, СОСТОЯЩЕГО ИЗ ТРЁХ ЭЛЕМЕНТОВ (ПСЕВДОКОД) алг мин (арг АЛГОРИТМ ПОИСКА МИНИМУМА В МАССИВЕ, СОСТОЯЩЕГО ИЗ ТРЁХ ЭЛЕМЕНТОВ (ПСЕВДОКОД) алг мин (арг вещ таб X[1: 3], рез вещ min, рез цел num) нач | ввод X[1: 3] | если X[2]

>АЛГОРИТМ ЦИКЛИЧЕСКОГО СДВИГА ОДНОМЕРНОГО МАССИВА НА ОДИН ШАГ ВПРАВО (СХЕМА)   Начало АЛГОРИТМ ЦИКЛИЧЕСКОГО СДВИГА ОДНОМЕРНОГО МАССИВА НА ОДИН ШАГ ВПРАВО (СХЕМА) Начало A Ввод i>N нет N, X[1: N] да M[1]: =X[N] Вывод M[i]: =X[i-1] i: =2 M[i] i: =i+1 A Конец A

>АЛГОРИТМ ЦИКЛИЧЕСКОГО СДВИГА ОДНОМЕРНОГО  МАССИВА (АЛЬТЕРНАТИВНЫЕ ОБОЗНАЧЕНИЯ)   Начало   A АЛГОРИТМ ЦИКЛИЧЕСКОГО СДВИГА ОДНОМЕРНОГО МАССИВА (АЛЬТЕРНАТИВНЫЕ ОБОЗНАЧЕНИЯ) Начало A Ввод M[i]: =X[i-1] N, X[1: N] M[1]: =X[N] Цикл 1 i : = i+1 Цикл 1 Вывод i=2, N M[1: N] A Конец

> АЛГОРИТМ ЦИКЛИЧЕСКОГО СДВИГА ОДНОМЕРНОГО  МАССИВА НА ОДИН ШАГ ВПРАВО (ПСЕВДОКОД) алг сдвиг АЛГОРИТМ ЦИКЛИЧЕСКОГО СДВИГА ОДНОМЕРНОГО МАССИВА НА ОДИН ШАГ ВПРАВО (ПСЕВДОКОД) алг сдвиг (арг цел N, арг таб вещ X[1: N], рез таб вещ M[1: N]) нач цел i | ввод N, X[1: N] | M[1]: =X[N] | нц для i от 2 до N | | M[i] : = X[i-1] | | i: =i+1 | кц | вывод M[1: N] кон

>АЛГОРИТМ СОРТИРОВКИ ПО ВОЗРАСТАНИЮ ОДНОМЕРНОГО МАССИВА МЕТОДОМ «ПУЗЫРЬКА» (ПСЕВДОКОД)  алг сорт (арг таб АЛГОРИТМ СОРТИРОВКИ ПО ВОЗРАСТАНИЮ ОДНОМЕРНОГО МАССИВА МЕТОДОМ «ПУЗЫРЬКА» (ПСЕВДОКОД) алг сорт (арг таб цел N, арг таб вещ X[1: N], рез таб вещ X[1: N]) нач цел i, flag, b | ввод N, X[1: N] | flag: =1 //признак упорядоченности массива: flag: =1 - массив не упорядочен | нц пока flag: =1 | | flag: =0 | | нц для i от 2 до N | | | если X[i-1] > X[i] | | то b: =X[i], X[i]: =X[i-1], X[i-1]: =b, flag: =1 | | | все | | кц | вывод X[1: N] кон

> АЛГОРИТМ СОРТИРОВКИ ПО ВОЗРАСТАНИЮ ОДНОМЕРНОГО МАССИВА МЕТОДОМ «ПУЗЫРЬКА»  Развёрнутая схема алгоритма Схема АЛГОРИТМ СОРТИРОВКИ ПО ВОЗРАСТАНИЮ ОДНОМЕРНОГО МАССИВА МЕТОДОМ «ПУЗЫРЬКА» Развёрнутая схема алгоритма Схема алгоритма с альтернативными обозначениями циклов Самостоятельно

>    ТЕМА 4 РЕКУРСИВНЫЕ АЛГОРИТМЫ ТЕМА 4 РЕКУРСИВНЫЕ АЛГОРИТМЫ

>  ОБРАЩЕНИЕ К ПОДПРОГРАММАМ Пример алгоритма, содержащего подпрограммы:   алг Alg (арг ОБРАЩЕНИЕ К ПОДПРОГРАММАМ Пример алгоритма, содержащего подпрограммы: алг Alg (арг вещ X, Y, Z, рез вещ D) нач | ввод X, Y, Z | A : = F 1(X) | B : = F 2(Y, Z) | C : = F 2(A, B) | D : = A+B+C | вывод D кон

>  ОБРАЩЕНИЕ К ПОДПРОГРАММАМ Подпрограммы, входящие в алгоритм:  алг F 1(арг вещ ОБРАЩЕНИЕ К ПОДПРОГРАММАМ Подпрограммы, входящие в алгоритм: алг F 1(арг вещ Arg, рез вещ Res) нач | Res: =Arg*Arg кон алг F 2(арг вещ Arg 1, Arg 2, рез вещ Res) нач | Res: =Arg 1*Arg 2 кон

>  ПОНЯТИЕ РЕКУРСИИ Рекурсивным называется алгоритм (или функция), содержащий в себе вызов ПОНЯТИЕ РЕКУРСИИ Рекурсивным называется алгоритм (или функция), содержащий в себе вызов самого себя (обращение к самому себе) Простая рекурсия: a: =a+1 Пример рекурсии: вычисление факториала N! = 1· 2· 3·…· при N ≥ 0, N 0! = 1 – не рекурсивный выход!!

>ВЫЧИСЛЕНИЕ ФАКТОРИАЛА алг Факториал (арг цел N, рез цел F) нач | если N=0 ВЫЧИСЛЕНИЕ ФАКТОРИАЛА алг Факториал (арг цел N, рез цел F) нач | если N=0 | | то F: =1 | | иначе F : = Факториал (N-1)*N | все кон алг основная функция (арг цел NUM, рез цел А) | нач | ввод NUM | A : = Факториал (NUM) | вывод A кон

>   ВИДЫ РЕКУРСИИ 1) Прямая обращение к самому себе содержится в самом ВИДЫ РЕКУРСИИ 1) Прямая обращение к самому себе содержится в самом алгоритме (функции) fun 2) Косвенная обращение к данному алгоритму (функции) содержится в другом алгоритме (функции), к которому данный алгоритм имеет обращение fun_1 fun_2