Алгоритмы

Содержание

Слайд 2

Слово «алгоритм» происходит от латинского написания имени арабского математика аль-Хорезми (Algorithmi),

Слово «алгоритм» происходит от латинского написания имени арабского математика аль-Хорезми (Algorithmi),

который впервые описал правила выполнения четырёх арифметических действий. 9 век н.э.

Немного из истории

Слайд 3

Понятие алгоритма Алгоритм – это точное предписание исполнителю совершить последовательность действий,

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

Алгоритм – это точное предписание исполнителю совершить последовательность действий, направленных

на решение поставленной задачи.
Алгоритмизация – процесс создания алгоритмов.
Слайд 4

Исполнитель алгоритма Исполнитель – тот, кто исполняет алгоритм. Исполнитель Формальный Неформальный

Исполнитель алгоритма

Исполнитель – тот, кто исполняет алгоритм.

Исполнитель

Формальный

Неформальный

Формальный исполнитель следует указаниям в

виде программы, не думая о результате.
Слайд 5

Исполнителя характеризуют Среда , т. е. обстановка, в которой работает исполнитель.

Исполнителя характеризуют

Среда , т. е. обстановка, в которой работает исполнитель.

Слайд 6

Система команд исполнителя(СКИ), т. е. набор понятных исполнителю команд. Исполнителя характеризуют

Система команд исполнителя(СКИ), т. е. набор понятных исполнителю команд.

Исполнителя характеризуют

Слайд 7

Система допустимых действий исполнителя, т. е. те действия, которые исполнитель может

Система допустимых действий исполнителя, т. е. те действия, которые исполнитель может

совершить. При использовании недопустимых действий возникают «сбои» в системе.

Исполнителя характеризуют

Слайд 8

Свойства алгоритмов Дискретность – переход к следующему действию возможен только после

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

Дискретность – переход к следующему действию возможен только после выполнения

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

Способы записи алгоритмов Пример. Алгоритм приготовления чая для робота-повара: Налить молоко

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

Пример. Алгоритм приготовления чая для робота-повара:
Налить молоко
Налить заварку
Налить кипяток
Насыпать

сахар
Помешать
Словесный способ не имеет широкого распространения, так как такие описания:
Строго не формализуемы;
Страдают многословностью записей;
Допускают неоднозначность толкования отдельных предписаний.

Словесно-формульный (естественный язык) – предназначен для исполнения алгоритма человеком. Форма записи команд – произвольная.

Слайд 10

Графический – способ представления алгоритма с помощью блок-схем. Способы записи алгоритмов

Графический – способ представления алгоритма с помощью блок-схем.

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

Слайд 11

Структура СЛЕДОВАНИЕ

Структура СЛЕДОВАНИЕ

Слайд 12

Структура ВЕТВЛЕНИЕ (в неполной форме) ? Да Нет

Структура ВЕТВЛЕНИЕ (в неполной форме)

?

Да

Нет

Слайд 13

Структура ВЕТВЛЕНИЕ (в полной форме) ? Да Нет

Структура ВЕТВЛЕНИЕ (в полной форме)

?

Да

Нет

Слайд 14

Структура ЦИКЛ В ФОРМЕ «ПОКА» ? Да Нет

Структура ЦИКЛ В ФОРМЕ «ПОКА»

?

Да

Нет

Слайд 15

Структура ЦИКЛ СО СЧЕТЧИКОМ K:=a, b, c

Структура ЦИКЛ СО СЧЕТЧИКОМ

K:=a, b, c

Слайд 16

Вложенный цикл

Вложенный цикл

Слайд 17

Пример графической записи алгоритма

Пример графической записи алгоритма

Слайд 18

На алгоритмическом (формальном) языке Способы записи алгоритмов Общий вид алгоритма: алг

На алгоритмическом (формальном) языке

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

Общий вид алгоритма:
алг название алгоритма
дано

описание исходных переменных
нач описание промежуточных величин
| последовательность команд (тело алгоритма)
кон конец алгоритма
Слайд 19

Пример записи алгоритма на формальном языке Program Dve polovinky v obratnom

Пример записи алгоритма на формальном языке

Program Dve polovinky v obratnom napravleniy;
const

N=8;
Var a :array [1..N]of integer;
i,k:integer;
Begin
For i:=1 to N do
readln(a[i]);
For i:=1 to (N div 2) div 2 do Begin
k:=a[i];
a[i]:=a[(N div 2)-i+1];
a[(N div 2)-i+1]:=k;end;
For i:=(N div 2)+1 to ((N div 2)+((N div 2) div 2)) do Begin
k:=a[i];
a[i]:=a[N-i+(N div 2)+1];
a[N-i+(N div 2)+1]:=k;end;
For i:=1 to N do
Write( a[i],' ' );
end.
Слайд 20

Последовательность написания алгоритмов Поставить задачу Придумать список команд для исполнителя(СКИ) Составить алгоритм из СКИ

Последовательность написания алгоритмов

Поставить задачу
Придумать список команд для исполнителя(СКИ)
Составить алгоритм из СКИ