05.09.11 Тема урока: Алгоритм и его формальное исполнение. Основные типы алгоритмических структур. Цель: Вспомнить понятие алгоритма, его свойства. Познакомиться с назначением языков программирования. Узнать, в чем различие между языками программирования высокого уровня и машинно-ориентированными языками. Подготовил: учитель информатики 1 кв.категории Е.Г.Чердынцева г.Советская Гавань, МОУСОШ№3 Алгоритмы могут описывать процессы преобразования самых разных объектов. Широкое распространение получили вычислительные алгоритмы, которые описывают преобразование числовых данных. Само слово «алгоритм» происходит от algorithmi - латинской формы написания имени выдающегося математика IX века альХорезми, который сформулировал правила выполнения арифметических операций. Алгоритм - это строго детерминированная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд. Для того чтобы изменить состояние объекта (значения его свойств), необходимо выполнить над ним определенную последовательность действий (операций). Выполняющий такие операции объект называется исполнителем. Свойства Алгоритма Результативность и дискретность, т.е. алгоритм должен обеспечивать преобразование объекта из начального состояния в конечное за определенное число дискретных шагов. Свойства Алгоритма Массовость, т.е. один и тот же алгоритм может применяться к большому количеству однотипных объектов. Свойства Алгоритма Детерминированность, т.е. исполнитель должен выполнять команды алгоритма в строго определенной последовательности. Свойства Алгоритма Выполнимость и понятность команд, т.е. алгоритм должен содержать команды, входящие в систему команд исполнителя и записанные на понятном для исполнителя языке. Формальное выполнение алгоритма Алгоритм позволяет формализовать выполнение информационного процесса. Если исполнителем является человек, то он может выполнять алгоритм формально, не вникая в содержание поставленной задачи, а только строго выполняя последовательность действий, предусмотренную алгоритмом. Н-р, необходимо провести редактирование текста из исходного состояния текст «информационная модель», курсор находится перед первым символом в конечное состояние текст «модель информационная», курсор находится после последнего символа Компьютер - автоматический исполнитель алгоритмов. Представление информационного процесса в форме алгоритма позволяет поручить его автоматическое исполнение различным техническим устройствам, среди которых особое место занимает компьютер. При этом говорят, что компьютер исполняет программу (последовательность команд), реализующую алгоритм. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Развитие языков программирования На заре компьютерной эры, в 50-е годы XX века, программы писались на машинном языке и представляли собой очень длинные последовательности нулей и единиц. Составление и отладка таких программ было чрезвычайно трудоемким делом. Развитие языков программирования В 60-70-е годы для облегчения труда программистов начали создаваться языки программирования высокого уровня, Такие языки программирования строились на основе использования определенного алфавита и строгих правил построения предложений. Наиболее широко распространенным типом языков программирования высокого уровня являются процедурные языки. В таких языках широко используются операторы, которые позволяют закодировать различные алгоритмические структуры (линейную, ветвление, цикл). Развитие языков программирования Одним из первых процедурных языков программирования был известный всем Бейсик (Ваsiс), созданный в 1964 году. В течение последующего времени Бейсик развивался, появлялись его различные версии (MSX-Basic, Бейсик-Агат, QBasic и др.). Развитие языков программирования Другим широко распространенным языком программирования алгоритмического типа является Раsсаl. В настоящее время наибольшей популярностью пользуются системы объектно-ориентированного визуального программирования Microsoft Visual Basic и Borland Delphi. Для создания приложений в среде Windows&Office используется язык программирования Visual Basic for Applications (VBA). Формы записи алгоритмов Чтобы составлять алгоритм, необходимо знать систему команд предполагаемого исполнителя, правила записи отдельных команд и всего алгоритма в целом. Алгоритмы, исполнителем которых является человек, удобно записывать в словесной форме, в табличной форме или изображать с помощью блок-схем. Для обозначения блок-схем используются геометрические фигуры: Название фигуры Изображение Обозначаемый щаг алгоритма Овал Начало или конец Параллелограмм Ромб Ввод или вывод Прямоугольник Принятие решения (условие) Выполнение действия Прямоугольник в прямоугольнике Для вызова подпрограммы Прямоугольник со срезанным углом Объявление переменных Линейная алгоритмическая структура Линейный алгоритм - это такой алгоритм, в котором все операции выполняются последовательно одна за другой. Размещение блоков в линейном алгоритме Пример линейного алгоритма Задача: Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника. Решение: Пусть a, b, c - длины сторон треугольника. Необходимо найти S - площадь треугольника, P периметр. Для нахождения площади можно воспользоваться формулой Герона: где r - полупериметр. Входные данные: a, b, c. Выходные данные: S, P. Практическая часть: Задание 1. Определите значение переменной с после выполнения фрагмента алгоритма: B:=0 C:=0 да B=6 нет C:=C+B B:=B+1 Практическая часть: Задание 2. Определите значение переменной а после выполнения фрагмента алгоритма: A:=1 B:=0 да B=4 нет B:=B+1 A:=A*2 Практическая часть: Задание 3. Определите значение переменной C после выполнения фрагмента алгоритма: B:=1 C:=0 да B=13 нет C:=C+B B:=B+2 C:=C - B Практическая часть: Задание 4. Определите значение переменной m после выполнения фрагмента алгоритма: m:=54 n:=16 да m=n нет да нет m>n n:=n - m m:=m - n Практическая часть: Задание 5. Определите значение переменной a после выполнения фрагмента алгоритма: A:=1 B:=0 C:=5 да B=C нет B:=B+1 A:=A*C - B Практическая часть: Задание 6. Определите значение переменной с после выполнения фрагмента алгоритма: A:=1 C:=0 N:=5 да B=N нет C:=B - C B:=B + 1 Практическая часть: Задание 7. Определите значение переменной b после выполнения фрагмента алгоритма: A:=0 B:=1 да A:=5 нет B:=A*(B+1) A:=A + 1 Практическая часть: Задание 8. Определите значение переменной b после выполнения фрагмента алгоритма: A:=108 B:=190 да B=A нет да нет B>A A:=A - B B:=B - A Задание 1 уровень Составить и оформить в виде блок схемы алгоритм для нахождения длинны окружности и площади круга. Составить алгоритм решения квадратного уравнения. 2 уровень Дана величина A, выражающая объем информации в байтах. Определить сколько полных Мбайт, Кбайт и байт содержит величина A? Объем файла составляет m Кбайт, n байт. Архивация уменьшает его объем на 20%. Определить объем файла после архивации.