Кодирование основных типов алгоритмических структур на языках программирования
Подготовила: Коростова Вера Павловна, учитель информатики и ИКТ МБОУ Митрофановской СОШ Кантемировского района Воронежской области
Понятие алгоритма
Алгоритм содержит несколько шагов.
Шаг алгоритма – это каждое отдельное
действие алгоритма.
Алгоритм – понятное и точное
предписание исполнителю совершить
определенную последовательность
действий для достижения поставленной
цели за конечное число шагов.
Алгоритмизация — процесс разработки алгоритма (плана действий) для решения задачи.
Исполнитель
Исполнитель – это объект, умеющий выполнять определенный набор действий. Система, способная выполнить действия, предписываемые алгоритмом.
Исполнителем может быть человек, робот, животное, компьютер.
Система команд исполнителя (СКИ) – это все команды, которые исполнитель умеет выполнять.
Среда исполнителя – обстановка, в которой функционирует исполнитель.
Алгоритм и его свойства
Результативность – получение результата за конечное количество шагов
Результативность
Дискретность (прерывность, раздельность) – разбиение алгоритма на шаги
Дискретность
АЛГОРИТМ
Детерминированность (от лат. Determinate – определённость, точность) – каждое действие должно строго и недвусмысленно определено
Детерминированность
Массовость – использование алгоритма для решения однотипных задач
Конечность – каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения
Конечность
Массовость
Способы записи алгоритмов:
- словесный (запись на естественном языке)
Алгоритм «Заварка чая»:
1. вскипятить воду;
2. окатить заварочный чайник
кипятком;
3. засыпать заварку в чайник;
4. залить кипятком;
5. закрыть крышкой;
6. накрыть полотенцем.
Способы записи алгоритмов:
- графический (изображения из графических символов)
Способы записи алгоритмов:
- программный (тексты на языках программирования)
program example;
var a,b,c: integer;d,x1,x2:real;
begin
writeln ('a,b,c');
readln (a,b,c);
d:=sqr(b)-4*a*c;
if d
begin
writeln ('no korny');
end
else
begin
x1:=(-b-sqrt(d))/2*a;
x2:=(-b+sqrt(d))/2*a;
writeln ('x1=',x1,' x2=',x2);
end;
readln;
end.
Средства представления и записи алгоритма
Блок-схема – графическое представление алгоритма в виде последовательности связанных между собой функциональных блоков ( стандартных графических элементов ), каждый из которых соответствует выполнению одного или нескольких действий.
Основные условные обозначения на блок-схемах
Условное обозначение
Назначение блока
Начало или конец алгоритма
Ввод или вывод данных.
Внутри блока перечисляются данные через запятую.
Процесс (послед-ть команд)
Внутри блока записываются матем. формулы и операции для обработки данных.
Проверка условия.
Направление.
Внутри блока записываются логические условия. Имеет два выхода Да(+) и Нет(-).
Классификация алгоритмов по структуре
Линейный (следование)
Разветвленный (ветвление, выбор, альтернатива)
Циклический (повтор)
Вспомогательный
Комбинированный
Линейный алгоритм - это такой, в котором все операции выполняются последовательно одна за другой.
Линейные алгоритмы
начало
program qq;
... {описание переменных}
begin
readln (a,b);
c:= a + b;
writeln (c);
end.
ввод a , b
c := a + b;
вывод c
конец
Алгоритм ветвления - в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.
Полное ветвление
Полное ветвление - алгоритм, в котором выполняется одно из двух действий, в зависимости от истинности условия.
Ложь Истина
Если условие истинно, то выполняется действие 1, а иначе выполняется действие 2.
Условие
Действие 2
Действие 1
b then begin end else begin end ; writeln ('Наибольшее число ', max); end. начало ввод a,b да нет a b? max := a ; max:= a; max:= b; max := b ; вывод max конец " width="640"
Алгоритм ветвления
program qq;
var a, b, max: integer;
begin
writeln ('Введите два целых числа');
read ( a, b );
if a b then begin
end
else begin
end ;
writeln ('Наибольшее число ', max);
end.
начало
ввод a,b
да
нет
a b?
max := a ;
max:= a;
max:= b;
max := b ;
вывод max
конец
Неполное ветвление
К неполным ветвлениям относятся алгоритмы, выполняющие следующую структуру логического выражения: «Если … то …».
Ложь Истина
Условие
Действие
15
a? max:= b; вывод max конец " width="640"
Алгоритм ветвления
начало
ввод a,b
max:= a;
неполная форма ветвления
да
нет
b a?
max:= b;
вывод max
конец
Вложенное ветвление
В структуре вложенного ветвления следующая особенность: одна или обе ветви условия могут продолжаться не блоками вычислительных операций или ввода - вывода, а дополнительным блоком условия. Один из видов такого ветвления представлен на рисунке.
Вложенное ветвление
Нет Да
Условие 1
Нет Да
Нет Да
условие 2
условие 3
Действие 2
Действие 4
Действие 1
Действие 3
конец
Понятие цикла
При решении многих задач одна и та же последовательность действий выполняется несколько раз.
Например, при поступлении в учебное заведение учащийся сдает экзамены, при этом подсчитываются набранные им баллы (переменная S ; ее начальное значение S:=0; ).
За каждый сданный экзамен он получает оценку N . Если оценка больше «2», то S := S + N; иначе — прекратить вычисления ( выход из цикла ).
Понятие цикла
Цикл — это последовательность операторов, которая может выполняться более одного раза.
Циклическим алгоритмом называется алгоритм, предусматривающий многократное повторение одного и того же действия над новыми данными
Существует три типа операторов цикла :
циклы с предусловием;
циклы с постусловием;
циклы со счетчиком.
Цикл с предусловием. Цикл типа ПОКА WHILE
Предписывает выполнять тело цикла
до тех пор , пока выполняется условие, записанное после слова пока
Блок-схема цикла с предусловием
Цикл с предусловием. Цикл типа ПОКА WHILE
Цикл с предусловием используется тогда, когда число повторения тела цикла заранее неизвестно, а зависит от выполнения условия.
Если условие истинно , то тело цикла выполняется, затем вновь проверка условия и так до тех пор пока условие не станет ложным .
Цикл с постусловием. Цикл типа ДО
Порядок выполнения оператора цикла с постусловием
Выполнение операторов 1-N повторяется, пока условие не станет верным.
В этом цикле условие проверяется только после выполнения тела цикла .
Отсюда следует, что тело всегда выполняется хотя бы один раз
Блок-схема цикла с постусловием
Цикл с постусловием. Цикл типа ДО
ВАЖНО!
Цикл с постусловием выполняется хотя бы один раз независимо от выполнения условия.
Несомненным удобством цикла с постусловием является то, что внутри него можно записать несколько операторов без использования составного оператора.
Проверка условия находится после тела цикла .
Служебное слово UNTIL
Цикл с параметром. Цикл типа FOR
Цикл с параметром используется в том случае, когда требуется выполнить заданное количество шагов цикла.
Необходимо отметить, что цикл FOR на Pascal не слишком гибок (в отличие, например, от этого типа цикла на языке С). Потому что, на Pascal параметр цикла (или счетчик) изменяется на величину, равную единице .
Таким образом, когда требуется выполнить дробный шаг необходимо использовать цикл типа WHILE .
Существует две разновидности цикла FOR : с увеличением и с уменьшением значений счетчика (или параметра).
Блок-схема цикла с параметром (цикл FOR)
Цикл с параметром. Цикл типа FOR – цикл с заданным числом повторений