Курс «Информатика» Лекция 2 Составитель: Иванчева Н.А.
Лекция 2 Тема лекции: Понятие алгоритма
Содержание лекции Алгоритм. Алгоритмизация Алгоритм. Алгоритмизация Свойства алгоритма Свойства алгоритма Способы представления алгоритма Способы представления алгоритма Блок-схема алгоритма Блок-схема алгоритма Классификация алгоритмов Классификация алгоритмов Цикл. Виды циклов Цикл. Виды циклов Контрольные вопросы Контрольные вопросы
Список использованных источников 1. Материалы Единой Коллекции ЦОР ( : Ресурсы по информатике Ивановского «Учебно- методического центра информатизации и оценки качества образования» Ресурсы по информатике Ивановского «Учебно- методического центра информатизации и оценки качества образования» Ресурсы по информатике Ивановского «Учебно- методического центра информатизации и оценки качества образования» Ресурсы по информатике Ивановского «Учебно- методического центра информатизации и оценки качества образования» Ресурсы по информатике Хабаровской краевой заочной физико-математической школы Ресурсы по информатике Хабаровской краевой заочной физико-математической школы Ресурсы по информатике Хабаровской краевой заочной физико-математической школы Ресурсы по информатике Хабаровской краевой заочной физико-математической школы 2. Прочие источники: 1. В.В.Фаронов «TurboPascal 7.0» начальный курс учебное пособие. «Нолидж», 1998 г. 1. В.В.Фаронов «TurboPascal 7.0» начальный курс учебное пособие. «Нолидж», 1998 г. 2. Т.А.Андреева «Программирование на Паскале» 2. Т.А.Андреева «Программирование на Паскале» ( ) ( )
Слово "алгоритм" появилось в 9-м веке и связано с именем математика Аль-Хорезми. Алгоритм представляет решение задачи в виде точно определенной последовательности действий (операций). Алгоритм представляет решение задачи в виде точно определенной последовательности действий (операций). Процесс составления алгоритма называют Алгоритмизацией. Процесс составления алгоритма называют Алгоритмизацией.
Свойства алгоритма: Определенность – описанию каждого действия должно предшествовать и следовать точное описание предыдущего и следующего действия. Определенность – описанию каждого действия должно предшествовать и следовать точное описание предыдущего и следующего действия. Дискретность - прежде, чем выполнить каждое очередное действие, надо выполнить предыдущее. Дискретность - прежде, чем выполнить каждое очередное действие, надо выполнить предыдущее. Массовость - по одному и тому же алгоритму можно решать однотипные задачи и неоднократно. Массовость - по одному и тому же алгоритму можно решать однотипные задачи и неоднократно. Понятность - алгоритм должен быть понятен исполнителю. Это облегчает его проверку и модификацию при необходимости. Понятность - алгоритм должен быть понятен исполнителю. Это облегчает его проверку и модификацию при необходимости. Результативность - алгоритм всегда должен приводить к результату. Результативность - алгоритм всегда должен приводить к результату.
Способы представления алгоритма Словесное (с помощью обычных предложений русского или другого языка) Словесное (с помощью обычных предложений русского или другого языка) Графическое или визуальное (с помощью блок-схемы), Графическое или визуальное (с помощью блок-схемы), Программное (на языке программирования) Программное (на языке программирования) Все три способа представления алгоритмов взаимно дополняют друг друга. Все три способа представления алгоритмов взаимно дополняют друг друга.
Пример словесного описания алгоритма Начало Ввести два числа; Вычислить произведение чисел; Вывести результат; Конец.
Графическое представление алгоритма (блок-схема алгоритма) Блок начала или конца Блок начала или конца алгоритма алгоритма Блок ввода или вывода Блок ввода или вывода данных данных Блок действия Блок действия Блок условия, имеет 2 выхода Блок условия, имеет 2 выхода (истина, ложь) (истина, ложь) начало Ввод x,y Z:=x*y Z>100
Пример блок-схемы алгоритма начало Ввести x,y Z:=x*y Вывести z конец
Пример программного представления алгоритма (на Паскале) Program myprog; VarX,Y,Z:integer;Begin WriteLn (Введите два числа); Read (x,y); Z:=x*y; WriteLn (Результат:,z); End.
Общие правила графического представления алгоритмов В начале блок-схемы алгоритма должен быть блок ввода значений входных данных. В начале блок-схемы алгоритма должен быть блок ввода значений входных данных. После ввода значений входных данных могут следовать блоки обработки и блоки условия. После ввода значений входных данных могут следовать блоки обработки и блоки условия. В конце блок-схемы алгоритма должен располагаться блок вывода значений выходных данных. В конце блок-схемы алгоритма должен располагаться блок вывода значений выходных данных. В алгоритме должен быть только один блок начала и один блок окончания. В алгоритме должен быть только один блок начала и один блок окончания. Связи между блоками указываются направленными или ненаправленными линиями. Связи между блоками указываются направленными или ненаправленными линиями.
Классификация алгоритмов Алгоритмы разделяют на: линейные, линейные, разветвленные, разветвленные, циклические. циклические.
Линейные алгоритмы Представляют решение задачи в виде последовательности действий. Представляют решение задачи в виде последовательности действий. Не содержат блока условия. Не содержат блока условия. Предназначены для описания линейных процессов. Предназначены для описания линейных процессов.
Пример линейного алгоритма Задача. Вычислить площадь и периметр прямоугольника. Program prog1; Vara,b,s,p:real;Begin writeln(Введите длину сторон прямоугольника); writeln(Введите длину сторон прямоугольника); readln(a,b); readln(a,b); s:=a*b; s:=a*b; p:=2*(a+b); p:=2*(a+b); writeln(Площадь прямоугольника,s:7:3); writeln(Площадь прямоугольника,s:7:3); writeln(Периметр прямоугольника,p:7:3); writeln(Периметр прямоугольника,p:7:3);End.
Разветвленные алгоритмы. Ветвление +(истина) - (ложь) +(истина) - (ложь) A>C X=2*n X=5*n
Неполное ветвление + (истина) - (ложь) + (истина) - (ложь) A>C X=0
Многоальтернативный выбор + (истина) - (ложь) + (истина) - (ложь) X>0 Y=0 1: y=1 2:y=2 3:y=3
Циклические алгоритмы Цикл – повторяющаяся последовательность действий. Тело цикла – действия, перечисленные внутри цикла. Виды циклов: Цикл с предусловием Цикл с предусловием Цикл с постусловием Цикл с постусловием
Цикл с предусловием Сначала проверяется условие выхода из цикла. Сначала проверяется условие выхода из цикла. Условие - это логическое выражение, которое может принимать значение ИСТИНА или ЛОЖЬ. (Например, у>0). Условие - это логическое выражение, которое может принимать значение ИСТИНА или ЛОЖЬ. (Например, у>0). Если условие принимает значение ИСТИНА, то выполняются действия в теле цикла. Если условие принимает значение ЛОЖЬ, то цикл завершается.
Цикл с постусловием Действия в теле цикла обязательно выполняются один раз, затем проверяется условие выхода из цикла. Если условие принимает значение ИСТИНА, то цикл заканчивается, иначе действия в теле цикла повторяются до тех пор, пока условие выхода из цикла не примет значение ИСТИНА.
Цикл с постусловием I:=1 K:=K+1 I:=I+1 I>7 Вывод K
Цикл с предусловием - + I:=1 I<=7 K:=K+S I:=I+1 Вывод К
Контрольные вопросы Что такое алгоритм,алгоритмизация? Что такое алгоритм,алгоритмизация? Назовите свойства алгоритма. Назовите свойства алгоритма. Как можно представить алгоритм? Как можно представить алгоритм? Что такое блок-схема алгоритма? Что такое блок-схема алгоритма? Какие графические элементы используются в блок-схеме? Какие графические элементы используются в блок-схеме? Что такое линейный алгоритм? Что такое линейный алгоритм? Что такое алгоритм с ветвлением? Что такое алгоритм с ветвлением? Что такое многоальтернативный выбор? Что такое многоальтернативный выбор? Что такое циклический алгоритм? Что такое циклический алгоритм? Что такое цикл с предусловием? Что такое цикл с предусловием? Что такое цикл с постусловием? Что такое цикл с постусловием?