Линейные и разветвляющиеся алгоритмы.
Реализация на языке Pascal.
Навигационные клавиши
Цель урока:
иметь представление о линейных и разветвляющихся алгоритмах и реализации их на языке программирования Pascal.
Переход на предыдущий слайд
Переход на следующий слайд
Переход на оглавление
Переход в начало раздела
Справка
Оглавление
- Повторим
- Линейные алгоритмы
- Алгоритмы ветвления
- Справочная информация
Повторим
Алгоритм – это четко определенный план действий исполнителя, для достижения результата.
Что такое алгоритм?
Свойства алгоритма
- дискретность : состоит из отдельных шагов (команд) понятность : должен включать только команды, известные исполнителю (входящие в СКИ) определенность : при одинаковых исходных данных всегда выдает один и тот же результат конечность : заканчивается за конечное число шагов массовость : может применяться многократно при различных исходных данных корректность : дает верное решение при любых допустимых исходных данных
- дискретность : состоит из отдельных шагов (команд)
- понятность : должен включать только команды, известные исполнителю (входящие в СКИ)
- определенность : при одинаковых исходных данных всегда выдает один и тот же результат
- конечность : заканчивается за конечное число шагов
- массовость : может применяться многократно при различных исходных данных
- корректность : дает верное решение при любых допустимых исходных данных
Свойства алгоритма?
Повторим
Программа – это
- алгоритм, записанный на каком-либо языке программирования набор команд для компьютера
- алгоритм, записанный на каком-либо языке программирования
- набор команд для компьютера
Команда – это описание действий, которые должен выполнить компьютер.
- откуда взять исходные данные? что нужно с ними сделать?
- откуда взять исходные данные?
- что нужно с ними сделать?
Оператор – это команда языка программирования высокого уровня.
Линейные алгоритмы
Линейный алгоритм - это такой, в котором все операции выполняются последовательно одна за другой.
Линейные алгоритмы
начало
program qq;
... {описание переменных}
begin
readln (a,b);
c:= a + b;
writeln (c);
end.
ввод a , b
c := a + b;
вывод c
конец
Линейные алгоритмы
Пример программы
Задача . Ввести два целых числа и вывести на экран их сумму.
program qq;
var a, b, c: integer;
begin
read ( a, b );
c := a + b;
writeln ( c );
end.
Скопируйте программу в PascalABC.NET и проанализируйте ход ее выполнения
Алгоритм ветвления
Алгоритм ветвления - в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.
Алгоритм ветвления
if then begin
{что делать, если условие верно}
end
else begin
{что делать, если условие неверно}
end;
Особенности:
- перед else НЕ ставится точка с запятой вторая часть ( else …) может отсутствовать (неполная форма) если в блоке один оператор, можно убрать слова begin и end
- перед else НЕ ставится точка с запятой
- вторая часть ( else …) может отсутствовать (неполная форма)
- если в блоке один оператор, можно убрать слова begin и end
Алгоритм ветвления
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
конец
Алгоритм ветвления
начало
ввод a,b
max:= a;
неполная форма ветвления
да
нет
b a?
max:= b;
вывод max
конец
Алгоритмы ветвления
Пример программы
Задача . Дано 2 числа. Найти максимальное из них.
program qq;
var a, b, max: integer;
begin
writeln ('Введите два целых числа');
read ( a, b );
if a b then begin max:=a; end else begin max:=b; end ;
writeln ('Наибольшее число ', max);
end.
Скопируйте программу в PascalABC.NET и проанализируйте ход ее выполнения.
Попытайтесь реализовать задачу при помощи неполной формы ветвления.
Справочная информация
Простейшая структура программы
program qq;
begin { начало программы }
end. { конец программы }
Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы.
Типы переменных:
- integer { целая } real { вещественная }
- integer { целая }
- real { вещественная }
a
Справочная информация
Оператор присваивания
!
При записи нового значения старое стирается!
5
a := 5;
Оператор – это команда языка программирования (инструкция).
Оператор присваивания – это команда для записи нового значения в переменную.
a
Справочная информация
Оператор ввода
5
read ( a );
!
- Программа ждет, пока пользователь введет значение и нажмет Enter .
- Введенное значение записывается в переменную a .
Справочная информация
{ вывод значения переменной a}
write( a );
{ вывод значения переменной a и переход на новую строчку }
write ln ( a );
writeln( 'Привет!' );
{ вывод текста }
writeln( 'Ответ: ', c );
{вывод текста и значения переменной c}
writeln ( a, '+', b, '=', c );