02.05.2020
2
Алгоритм – это последовательность действий, которые должен выполнить исполнитель для достижения конкретной цели.
Алгоритм содержит несколько шагов.
Шаг – отдельное законченное действие.
02.05.2020
3
Исполнитель  - это объект, умеющий выполнять определенный набор действий. (человек, животное, робот, компьютер).
Система команд исполнителя (СКИ) – это все команды, которые исполнитель умеет выполнять.
Среда исполнителя – обстановка, в которой функционирует исполнитель.
02.05.2020
4
Свойства алгоритма
Дискретность (прерывность, раздельность) – разбиение алгоритма на шаги;
Понятность – каждый шаг алгоритма должен быть понятен исполнителю;
Точность  - указание последовательности шагов;
Результативность  - получение результата за конечное число шагов;
Массовость – использование алгоритма для решения однотипных задач.
02.05.2020
5
Задание
Назови исполнителей следующих видов работ:
уборка мусора во дворе;
обучение детей в школе;
вождение автомобиля;
ответ у доски;
приготовление пищи;
печатание документа на принтере.
Сформулируй СКИ для каждого из этих исполнителей, назови среду каждого исполнителя.
02.05.2020
6
Способы описания алгоритма:
Словесный (письменно или устно);
Графический (стрелками, рисунками, блок – схемами);
Программный (алгоритмический язык).
02.05.2020
8
Виды алгоритмов:
Линейный – содержит несколько шагов и все шаги выполняются последовательно друг за другом;
Разветвляющийся – порядок выполнения шагов изменяется в зависимости от некоторых условий;
Циклический – определенная последовательность шагов повторяется несколько раз в зависимости от заданной величины (параметра цикла).
02.05.2020
11
1 этап. Постановка задачи
сбоp инфоpмации о задаче; 
фоpмулиpовка условия задачи; 
опpеделение конечных целей pешения задачи; 
определение формы выдачи результатов; 
описание данных (их типов, диапазонов величин, структуры и т.п. ).
02.05.2020
12
2 этап. Анализ и исследование задачи, модели
анализ существующих аналогов; 
анализ технических и программных средств; 
pазpаботка математической модели; 
разработка структур данных.
02.05.2020
13
3 этап. Разработка алгоритма
выбор метода проектирования алгоритма; 
выбор формы записи алгоритма (блок-схемы, псевдокод и др.); 
выбоp тестов и метода тестиpования; 
проектирование алгоритма 
02.05.2020
14
4 этап. Пpогpаммиpование
выбор языка программирования; 
уточнение способов организации данных; 
запись алгоpитма на выбpанном языке пpогpаммиpования 
02.05.2020
15
5 этап. Тестиpование и отладка
синтаксическая отладка; 
отладка семантики и логической стpуктуpы; 
тестовые pасчеты и анализ pезультатов тестиpования; 
совершенствование пpогpаммы 
02.05.2020
16
6 этап. Получение и анализ результатов
Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5
02.05.2020
17
7 этап. Сопровождение программы
доработка программы для решения конкретных задач; 
составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию 
02.05.2020
19
Линейный алгоритм
Линейный алгоритм - это такой алгоритм, в котором все операции выполняются последовательно одна за другой.
02.05.2020
20
2. Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника.
Входные данные: a, b, c. 
Выходные данные: S, P.
  где r - полупериметр. 
  | 
02.05.2020
21
Ветвление
Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.
02.05.2020
23
3. Вычислить корни квадратного уравнения.
Входные данные: a, b, c. 
Выходные данные: x1, x2. 
02.05.2020
24
Циклический алгоритм
Циклом называют повторение одних и тех же действий (шагов).
 Последовательность действий, которые повторяются в цикле, называют телом цикла. 
Существует несколько типов алгоритмов циклической структуры. 
02.05.2020
26
Алгоритм циклической структуры с постусловием
Выполнять <тело цикла>
  до тех пор <условие>
02.05.2020
28
Замечание
При написании условных циклических алгоритмов следует помнить следующее. 
Во-первых, чтобы цикл имел шанс когда-нибудь закончиться, содержимое его тела должно обязательно влиять на условие цикла. 
Во-вторых, условие должно состоять из корректных выражений и значений, определенных еще до первого выполнения тела цикла.
02.05.2020
29
Решение задач
Выделить цикл, т.е. определить повторяющиеся действия.
Определить, какие параметры и как изменяются при следующем повторении.
Определить условие, при котором процесс заканчивается.
Определить начальные условия параметров, изменяющихся в п.1-2.
02.05.2020
30
4. Найти наибольший общий делитель (НОД) двух натуральных чисел А и В.
Входные данные: А и В.
Выходные данные: А - НОД.
Для решения поставленной задачи воспользуемся алгоритмом Евклида: будем уменьшать каждый раз большее из чисел на величину меньшего до тех пор, пока оба значения не станут равными.
02.05.2020
31
5. Вычислить факториал числа N (N!=1 2 3 … N).
Входные данные: N- целое число, факториал которого необходимо вычислить.
Выходные данные: factorial- значение факториала числа N, произведение чисел от 1 до N, целое число.
Промежуточные данные: i- целочисленная переменная, принимающая значения от 2 до N с шагом 1, параметр цикла. 
02.05.2020
33
6. Вычислить сумму натуральных четных чисел, не превышающих N.
Входные данные: N - целое число.
Выходные данные: S - сумма четных чисел.
Промежуточные данные: i - переменная, принимающая значения от 2 до N с шагом 2, следовательно, также имеет целочисленное значение.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.