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

Содержание

Слайд 2

План лекции

Понятие алгоритма
Примеры алгоритмов
Свойства алгоритмов
4. Способы записи алгоритмов
4.1. Словесное описание алгоритмов
4.2. Графическое

План лекции Понятие алгоритма Примеры алгоритмов Свойства алгоритмов 4. Способы записи алгоритмов
описание алгоритмов. Блок-схемы.
4.3. Запись алгоритма на алгоритмическом языке
4.4. Запись алгоритма на языке программирования.
5. Основные алгоритмические конструкции
5.1. Линейный алгоритм
5.2. Разветвленный алгоритм
5.3. Циклический алгоритм

Слайд 3

Понятие алгоритма
Алгоритм - это четкая последовательность действий, направленная на достижение поставленной цели

Понятие алгоритма Алгоритм - это четкая последовательность действий, направленная на достижение поставленной
или решения задачи.
Исполнитель алгоритма – тот кто (что) будет осуществлять выполнения алгоритма.

Слайд 4

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

Алгоритма нахождения середины отрезка при помощи циркуля и линейки.
Алгоритм деления отрезка

Пример алгоритма Алгоритма нахождения середины отрезка при помощи циркуля и линейки. Алгоритм
АВ пополам:
Поставить ножку циркуля  в точку А;
Установить раствор циркуля равным длине отрезка АВ;
Провести окружность;
Поставить ножку циркуля в точку В;
Провести окружность;
Через точки пересечения окружностей провести прямую;
Отметить точку пересечения этой прямой с отрезком АВ.

Слайд 5

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

Дискретность. Алгоритм должен представлять процесс решения задачи как последовательное выполнение простых

Свойства алгоритмов Дискретность. Алгоритм должен представлять процесс решения задачи как последовательное выполнение
шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени.
Определенность (детерминированность). Каждое правило алгоритма должно быть четким, однозначным.
Результативность. Алгоритм должен приводить к решению за конечное число шагов.
Массовость. Алгоритм должен быть применим для некоторого класса задач, различающихся лишь исходными данными.
Понятность. Алгоритм должен быть понятен исполнителю.
Правильность. Выполнение алгоритма дает правильные результаты решения поставленной задачи.

Слайд 6

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

Используются следующие способы представления алгоритма:
на естественном языке;
в графическом , в

Способы записи алгоритмов Используются следующие способы представления алгоритма: на естественном языке; в
виде блок-схем;
на алгоритмическом языке;
на языке программирования, в виде программы.

Слайд 7

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

Задача 1. Составить алгоритм расчета площади прямоугольника по заданным сторонам

Способы записи алгоритма Задача 1. Составить алгоритм расчета площади прямоугольника по заданным
А и B.
A
B
S=A*B

Слайд 8

Словесная форма записи алгоритма
Ввести значение стороны А прямоугольника;
Ввести значение стороны B прямоугольника;
Рассчитать

Словесная форма записи алгоритма Ввести значение стороны А прямоугольника; Ввести значение стороны
S=A*B;
Вывести значение площади прямоугольника S.

Слайд 9

Графический способ записи алгоритмов
Блок-схема  - это графический способ представления алгоритма, каждое действие

Графический способ записи алгоритмов Блок-схема - это графический способ представления алгоритма, каждое
при этом изображается в виде последовательности связанных блоков.

Слайд 11

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

Ввод А,B

Вывод S

S=A*B

конец

начало

Графический способ записи алгоритмов Ввод А,B Вывод S S=A*B конец начало

Слайд 12

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

Программа обычно представляет собой некоторый алгоритм
в форме, понятной

Программирование и запись алгоритмов Программа обычно представляет собой некоторый алгоритм в форме,
для исполнителя (например, компьютера).
Процесс написания программ называют программированием.
Язык программирования — набор правил, предназначенный
для записи программ.

Слайд 13

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

Транслятор — программа, которая принимает на вход
программу на

Программирование и запись алгоритмов Транслятор — программа, которая принимает на вход программу
одном языке (он в этом случае называется
исходный язык, а программа — исходный код), и преобразует
её в программу, написанную на другом языке (соответственно,
целевой язык и объектный код).
В качестве целевого языка наиболее часто выступают языки
низкого уровня (например Ассемблер), так как они наиболее
удобны (с точки зрения производительности) для
последующего исполнения.
В качестве исходного языка следует понимать языки высокого уровня (например Pascal, C, Basic).

Слайд 14

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

Языки программирования по способу трансляции могут быть
разделены на

Программирование и запись алгоритмов Языки программирования по способу трансляции могут быть разделены
компилируемые и интерпретируемые.
Компилятор осуществляет перевод всей исходной программы
в эквивалентную ей результирующую программу на языке
машинных команд.
Интерпретатор анализирует и тут же выполняет (собственно
интерпретация) программу покомандно.

Слайд 15

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

Алгоритмический язык (также русский алгоритмический язык, РАЯ) — язык программирования,

Запись на алгоритмическом языке Алгоритмический язык (также русский алгоритмический язык, РАЯ) —
используемый для записи и изучения алгоритмов.
алг Площадь прямоугольника (арг цел A,B, рез цел S)
дано | A>0 , B>0
надо | S = A*B
нач
| ввод A,B;
| S:=A*B;
| вывод "S = ", S;
кон

Слайд 16

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

Program z1 (input, output);
Var
a,b,s : integer;
Begin
writeln

Запись алгоритма на языке программирования Паскаль Program z1 (input, output); Var a,b,s
(‘Введите стороны А и B’);
read (a, b);
s:=a*b;
write (‘S=‘,s,’ кв.см.’)
End.

Слайд 17

Основные алгоритмические конструкции

Базовыми алгоритмическими конструкциями являются:
Линейные
Разветвленные
Циклические

Основные алгоритмические конструкции Базовыми алгоритмическими конструкциями являются: Линейные Разветвленные Циклические

Слайд 18

Линейный алгоритм

Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго

Линейный алгоритм Линейным называется алгоритм, в котором все этапы решения задачи выполняются
последовательно.
Линейный алгоритм выполняется в естественном порядке его написания и не содержит разветвлений и повторений.

Слайд 19

Структура линейного алгоритма

Действие 1

Действие 2

Действие N

. . .

Структура линейного алгоритма Действие 1 Действие 2 Действие N . . .

Слайд 20

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

Задача 2. Составить алгоритм нахождения суммы трех чисел А, B,

Пример линейного алгоритма Задача 2. Составить алгоритм нахождения суммы трех чисел А,
C.
Program z2 (input, output);
Var
a,b,c,s :real;
Begin
writeln (‘Введите А, B и C’);
read (a, b, c);
s:=a+b+c;
write (‘S=‘,s)
End.

Ввод А,B,C

Вывод S

S=A+B+C

конец

начало

Слайд 21

Разветвленный алгоритм

Разветвленным алгоритмом называется такой алгоритм, в котором выбирается один из нескольких

Разветвленный алгоритм Разветвленным алгоритмом называется такой алгоритм, в котором выбирается один из
возможных путей (вариантов) вычислительного процесса.
Ветвью алгоритма называется каждый подобный путь.

Слайд 22

Полная разветвленная алгоритмическая структура

Действие 1

Действие 2

. . .

условие

. . .

да

нет

Полная разветвленная алгоритмическая структура Действие 1 Действие 2 . . . условие

Слайд 23

Неполная разветвленная алгоритмическая структура

Действие 1

. . .

условие

. . .

да

нет

Неполная разветвленная алгоритмическая структура Действие 1 . . . условие . . . да нет

Слайд 24

Пример разветвленного алгоритма

Задача 3. Составить алгоритм нахождения корней квадратного уравнения.
ax2+bx2+c=0
1) Ввести a,

Пример разветвленного алгоритма Задача 3. Составить алгоритм нахождения корней квадратного уравнения. ax2+bx2+c=0
b, c;
2) Рассчитать D=b2-4ac;
Если D>0 перейти к шагу 6;
Выдать сообщение «Действительный корней нет»;
Перейти к шагу 8;
Вычислить ;
Вывести x1 и x2 ;
Конец.

Слайд 25

Ввод a,b,c

Вывод x1, x2

D=b2-4ac

D<0

да

нет

Действительных корней нет

Program z3 (input, output);
Var
a,b,c,d,x1,x2 :real;
Begin
writeln

Ввод a,b,c Вывод x1, x2 D=b2-4ac D да нет Действительных корней нет
(‘Введите a, b и c’);
read (a, b, c);
d:=b*b-4*a*c;
if d<0 then
writeln (‘Действительных
корней нет ‘)
else
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
write (x1,x2)
end
End.

начало

конец

Слайд 26

Циклический алгоритм

Циклический алгоритм реализует повторение некоторых действий. Иными словами циклические алгоритмы включают

Циклический алгоритм Циклический алгоритм реализует повторение некоторых действий. Иными словами циклические алгоритмы
в себя циклы.
Циклом называется последовательность действий, выполняемых многократно, каждый раз при новых значениях параметров.

Слайд 27

Структура циклов с предусловием

Тело цикла

Коррекция управляющей переменной

. . .

Управляющая переменная не достигла

Структура циклов с предусловием Тело цикла Коррекция управляющей переменной . . .
конечного значения

. . .

да

нет

Слайд 28

Вывод a

a=1
t=0

t=t+3
a=a*2

Задача 4. Одноклеточная амеба каждые три
часа делится пополам. Сколько амеб будет
через

Вывод a a=1 t=0 t=t+3 a=a*2 Задача 4. Одноклеточная амеба каждые три
3, 6, 9, … 300 часов.
Program z4 (input, output);
Var
t, a :integer;
Begin
a:=1;
t:=0;
while t<=300 do
begin
t:=t+3;
a:=a*2;
writeln (a)
end
End.

начало

конец

t<=300

да

нет

Слайд 29

Структура циклов с постусловием

Тело цикла

Коррекция управляющей переменной

. . .

Управляющая переменная достигла конечного

Структура циклов с постусловием Тело цикла Коррекция управляющей переменной . . .
значения

. . .

да

нет

Слайд 30

Вывод d

d=1
s=5

d=d+1
s=s*1,1

Задача 5. Спортсмен, начав тренировки, в
в первый день пробежал 5 км.

Вывод d d=1 s=5 d=d+1 s=s*1,1 Задача 5. Спортсмен, начав тренировки, в
Каждый сле-
дующий день он увеличивал дневную норму
на 10% от предыдущего дня. Через сколько
дней он будет пробегать в день более 25 км.?
Program z5 (input, output);
Var
d : integer;
s : real;
Begin
s:=5;
d:=1;
repeat
d:=d+1;
s:=s*1.1;
until s>25;
write (d)
End.

начало

конец

s>25

да

нет

Слайд 31

Структура циклов с параметром

Тело цикла

. . .

. . .

Коррекция управляющей переменной от

Структура циклов с параметром Тело цикла . . . . . .
начального до конечного значения с шагом

Слайд 32

Вывод s

s=0

s=s+x

Задача 6. Найти сумму чисел натурального ряда от 1 до 10.
Program

Вывод s s=0 s=s+x Задача 6. Найти сумму чисел натурального ряда от
z6 (input, output);
Var
s,x :integer;
Begin
s:=0;
for x:=1 to 10 do
s:=s+x;
write(s)
End.

начало

конец

x=1,10,1

Слайд 33

Вопросы

- Дайте определение понятию алгоритм. - Какие свойства алгоритмов Вам известны? - Что

Вопросы - Дайте определение понятию алгоритм. - Какие свойства алгоритмов Вам известны?
означает понятность, определенность (детерминированность), результативность, массовость, дискретность алгоритма ? - Какие способы записи алгоритма Вам известны? - Что Вы понимаете под понятием исполнитель алгоритма? - Что такое программа? - Что такое программирование? - Какие основные алгоритмические структуры вам известны? Приведите примеры. - Что такое блок-схема алгоритма? - Запишите блок-схему алгоритма для нахождения произведения четных чисел от 2 до 20. - Что такое алгоритмический язык? - Что Вы понимаете под термином транслятор? - Чем интерпретатор алгоритмического языка отличается от компилятора?
Имя файла: Понятие-алгоритма.pptx
Количество просмотров: 427
Количество скачиваний: 1