АЛГОРИТМЫ. СПОСОБЫ ОПИСАНИЯ АЛГОРИТМОВ
Алгоритм — это понятная и четкая последовательность действий (команд), выполнение которых приводит к решению поставленной задачи.
— Дискретность — алгоритм должен быть представлен как последовательноcть отдельных законченных действий — команд.
— Определенность — каждое действие алгоритма должно быть четким и однозначным.
— Результативность — алгоритм должен приводить к решению задачи за определенное число шагов.
— Массовость — алгоритм составляется в общем виде, т.е. он должен быть применим к ряду задач, различающихся исходными данными.
Способы записи алгоритмов
Словесно-формульный – запись алгоритма осуществляется словами естественного языка или с использованием математических формул.
— Измерить ширину комнаты a
— Измерить длину комнаты b
— Умножить длину на ширину a*b
— Результат есть площадь комнаты S
Схематический (графический) – запись алгоритма осуществляется в виде блок-схемы.
Пример
Обозначение блоков
|
|
— Ввод, вывод
— Командный блок (выполняются команды)
— Логический блок (проверяется условие)
Исполнители алгоритмов
словесно-формульный блок-схема
Программа
Компьютер работает под управлением программы, составленной человеком на основе алгоритма в соответствии с математической моделью задачи.
Программа – это алгоритм, записанный на каком-либо языке программирования.
ЛИНЕЙНЫЕ АЛГОРИТМЫ
Линейный алгоритм — это алгоритм, в котором все операции выполняются последовательно одна за другой.
Пример линейного алгоритма в словесной форме
Алгоритм приготовления теста
1. взять 200 г маргарина, пол стакана воды, 3 стакана муки
2. растопить маргарин
5. перемешать, чтобы не было комков
6. положить в холод на 30 минут
Исходные данные: 200 г маргарина, пол стакана воды, 3 стакана муки
Пример линейного алгоритма в форме блок-схемы
Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника.
Пусть a, b, c — длины сторон треугольника. Необходимо найти S — площадь треугольника, P — периметр.
Для нахождения площади можно воспользоваться формулой Герона: , где r — полупериметр.
РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМЫ
Линейные алгоритмы встречаются в этой жизни очень редко. Часто возникает условие, которое надо либо выполнять, либо нет. Порядок выполнения действий будет зависеть от выполнения некоторого условия. Алгоритмы с такой структурой называются разветвляющимися.
Разветвляющиеся алгоритмы– это алгоритмы, в которых в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие. В блок-схемах разветвленные алгоритмы изображаются так, как показано на рис.
Примеры разветвляющихся алгоритмов
|
Алгоритм покупки билетов
Пример: Известны коэффициенты и с квадратного уравнения. Составить алгоритм вычисления корней квадратного уравнения.
Входные данные:a, b, c.
Алгоритм вычисления корней
ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ
Если в алгоритме действие, команда или серия команд выполняется несколько раз, то такой алгоритм называется циклическим.
Для обозначения многократно повторяющихся действий используются специальные циклические структуры. Такая структура содержит условие, которое необходимо для определения количества повторений для некоторой последовательности действий.
Основной блок цикла —тело цикла — производит требуемые вычисления. Вспомогательные блоки цикла организуют циклический процесс: устанавливают начальное значение и новые значения данных, проверяют условие окончания циклического процесса.
Проверить условие выхода из цикла
Пример: Во время большой перемены проголодавшийся школьник зашёл в столовую с намерением поесть пирожков. Написать алгоритм его борьбы с чувством голода (имеется в виду, что денег хотя бы на один пирожок у него есть).
|
Пример: Ученику задали несколько задач по математике. Придя домой, он решил сначала выполнить домашнее задание, а потом пойти погулять.
|
Пример: Вычислить если x изменяется от 0 до 2 с шагом 0,1.
Решение:Схема алгоритма имеет вид:
Комбинированные алгоритмы могут состоять из простых команд, команд ветвления и цикла.
Пример: Составить блок-схему вычисления функции y = (x 2 -a 3 )/a 2 при x, изменяющимся от x = 0 до x = 3 с шагом 0,1
Пример: Составить блок-схему вычисления функции
Пример: Дана блок-схема алгоритма
Определить результат выполнения алгоритма при определённых значениях исходных данных
Например, при n=15 или n=0 или n=-7
Проверка условия n>0 Þ «Да» Þ Вывод «n-положительное»
Проверка условия n>0 Þ «Нет» Þ Проверка условия n 0 Þ «Нет» Þ Проверка условия n
Класс: 9
Презентация к уроку
Загрузить презентацию (859,2 кБ)
Внимание! Предварительный просмотр слайдов используется исключительно в ознакомительных целях и может не давать представления о всех возможностях презентации. Если вас заинтересовала данная работа, пожалуйста, загрузите полную версию.
Цели урока:
- ввести понятия разветвленного алгоритма, ветвления полной и неполной формы;
- научиться изображать разветвляющиеся алгоритмы в виде блок схемы.
Задачи:
- Обучающие: способствовать изучению разветвляющихся алгоритмов, полного и неполного ветвления, последовательности действий при решении задач, формирование навыка составлять блок-схемы.
- Развивающие: способствовать развитию логического мышления, внимания; развитие познавательного интереса к предмету.
- Воспитательные: развитие умения связывать изучение нового материала с уже известными фактами; воспитание самостоятельности и умения работать в группах, в паре и самостоятельно.
Тип урока: урок получения новых знаний.
Вид урока: комбинированный.
Оборудование: компьютеры, мультимедийный проектор, мультимедийная презентация (Презентация), листы оценок групп (Приложение 1), карточки с заданиями для групп (Приложение 2), опорный конспект урока для учащихся (Приложение 3), задания для самостоятельной работы (Приложение 4), смайлики для рефлексии (желтые и красные)
В начале урока класс делится на три группы:
1 гр. – 1 уровень сложности (базовый уровень),
2 гр. – 2 уровень сложности (повышенный уровень),
3 гр. – 3 уровень сложности (углубленный уровень).
В каждой группе заранее учителем выбирается капитан (помощник), который будет заполнять лист оценок группы.
План урока:
I. Организационный момент (3 мин.)
II. Актуализация опорных знаний (5 мин.)
III. Изучение нового материала (12 мин.)
IV. Закрепление изученного (20 мин.)
- Работа в группах
- Работа в парах.
- Самостоятельная работа.
V. Подведение итогов урока (3 мин).
VI. Рефлексия (1 мин.)
VII. Домашнее задание (1 мин.)
I. Организационный момент
– Здравствуйте ребята! Сегодня мы проведем интересный урок. Вы разбиты на группы и в каждой группе есть капитан, который будет отмечать в листе оценок количество правильных ответов (+), когда вы будете работать группой и в парах. Капитан также поставит Вам оценку за активное участие в группе. Я тоже Вам поставлю оценку за активность работы группы, а также за самостоятельную работу. Все эти оценки повлияют на итоговую оценку за урок. Во время урока все новые определения Вы будете вписывать в опорные конспекты.
II. Актуализация опорных знаний
Фронтальный опрос:
- Дайте определение алгоритму;
- Перечислите свойства алгоритма;
- Назовите способы записи алгоритмов;
- Какие алгоритмические конструкции вы знаете?
- Какой алгоритм называется линейным?
- Найдите ошибки в предложенных блок-схемах:
III. Изучение нового материала
Вступительное слово учителя: Каждый день, совершая определенные действия, мы выполняем какой-либо алгоритм.
Приведите, пожалуйста, примеры, из повседневной жизни, относящиеся к линейным алгоритмам. (Ученики приводят примеры линейных алгоритмов: посадки саженца в саду, приготовление кофе и т.д.)
К сожалению, в жизни линейные алгоритмы встречаются довольно редко. Всегда появляются какие-нибудь условия, которые изменяют алгоритм.
Например: вы умываетесь, чистите зубы и вдруг перестала идти вода или закончилась паста. Утром, собираясь в школу, мы обязательно посмотрим в окно: если идет дождь, то берем с собой зонт… (Ребята продолжают приводить примеры). Такие условия встречаются в нашей жизни довольно часто.
Находясь на развилке двух (и более) дорог, русский богатырь выберет только одну в зависимости от своей цели и некоторого условия, написанного на камне.
Таким образом, появляется новый вид алгоритма.
– Как бы вы его назвали? (Разветвляющимся или «развилкой»).
– Попробуйте дать ему определение. (Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий)
– Ниже приведены формы ветвлений. Чем они отличаются? Как бы вы их назвали? (Полная и неполная форма ветвления).
– А теперь попробуйте сформулировать тему и цели нашего урока:
Цель урока:
- познакомиться с алгоритмической структурой ветвление;
- изучить полную и неполную формы команды ветвления;
- Научиться изображать разветвляющиеся алгоритмы в виде блок схем.
Учитель дополняет ответы учащихся и записывает полную и неполную форму ветвлений на алгоритмическом языке и на языке Паскаль.
Полная | Неполная |
Если условие то действие 1 иначе действие 2 | Если условие то действие 1 |
if условие then действие 1 else действие 2 | if условие then действие 1 |
Примеры использования разветвляющихся алгоритмов в виде блок-схем:
Если ласточки летают низко, то будет дождь, иначе дождя не будет. | Если погода будет хорошая, то перед тем, как делать уроки, покатаюсь на лыжах. |
IV. Закрепление изученного
1. Работа в группах
Каждая группа получает задание – составить блок – схему по одному из известных произведений.
1 группа | |
2 группа | |
Вы отправляетесь в кино. Подойдя к кинотеатру, вы обнаруживаете, что сегодня идут два фильма: новая серия «Гарри Поттера» и новый боевик с Сильвестром Сталлоне. Если есть билеты на первый, то пойдете смотреть его, иначе будете смотреть боевик. | |
3 группа | |
Учитель: В качестве условий ветвления действий в алгоритмах могут указываться любые равенства и неравенства над величинами и алгебраическими выражениями.
Выражения, используемые в качестве условий.
A B | A больше B |
A >= B | A больше или равно B |
A<>B | A не равно B |
Условия такого типа называют простыми условиями. Простое условие состоит из двух операндов, соединенных операциями отношения. Его значение считается истиной, если это отношение соблюдается, или ложью в противоположном случае.
х | 5 | –2 | 0 |
у | 30 | 6 | 10 |
Предложить ученикам написать программу на языке Паскаль вместе с учителем.
Program zadacha1; Var x,y: integer; begin writeln(‘Введите x:’); readln (x); if x |
2. Работа в парах
Ребята внутри каждой группы делятся на пары.
Задание: Вычислите алгоритм разветвленной структуры, представленной в виде блок-схемы, при заданном входном потоке исходных данных:
1)
а | 0 | 2 | 4 | 6 | 8 |
х | –5 | –1 | 3 | 18 | 22 |
Выслушиваются ответы всех пар и сравниваются с правильным. Если учащиеся допустили ошибки, то они разбираются.
2) Для более подготовленных учащихся
Ввод Х | 4 | 148 |
Вывод Х | 20 | 220 |
3. Самостоятельная работа. (Приложение 4). Каждый ученик садиться за компьютер. На рабочем столе открыв файл «Самостоятельная работа», он выбирает одно любое из предложенных заданий и строит в тетради блок-схему. Тетради в конце урока сдаются учителю на проверку.
V. Подведение итогов урока
– На уроке мы с вами познакомились с разветвляющими алгоритмами из таких предметных областей как литература и математика.
Учитель: Приведите примеры из других областей наук, где вы встречались с разветвляющимися алгоритмами. (Физика: если ускорение равно нулю, то движение равномерное, иначе неравномерное. Химия: если на внешнем энергетическом уровне больше 3 электронов, то металл, иначе неметалл; Русский язык: если вопрос к глаголу содержит « ь», то глагол пишется с «ь» знаком, иначе без «ь» знака).
Учитель: Вся наша жизнь – это алгоритм сложной «ветвящейся» структуры и надо стремиться к тому, чтобы каждое наше действие было обдуманным и приводило к правильному, достойному результату!
VI. Рефлексия
– Каков же результат нашего урока?
Выполните алгоритм: Если понравился урок, то поднимите желтый смайлик, иначе красный смайлик.
Учитель: Какая это алгоритмическая структура? Какое ветвление вы сейчас выполнили?
VII. Домашнее задание в опорном конспекте (любые два задания)
Литература:
- Н.Г.Угрнинович «Информатика и ИКТ», базовый курс – Москва, БИНОМ, 2005.
- А.А.Чернов «Конспекты уроков по информатике в 9-11 кл», Волгоград, Учитель, 2006.
Разветвляющий алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
Во многих случаях требуется, чтобы при одних условиях выполнялась одна последовательность действий, а при других — другая.
Вся программа состоит из команд (операторов). Команды бывают простые и составные (команды, внутри которых встречаются другие команды). Составные команды часто называют управляющими конструкциями. Этим подчеркивается то, что эти операторы управляют дальнейшим ходом программы.
Оператор ветвления на Паскале (условный оператор)
Чтобы вычисления могли разветвляться по нескольким направлениям, служит конструкция
IF THEN ELSE Если условие справедливо (ИСТИНА), то выполняются (стоящий между THEN и ELSE), а (стоящий после ELSE) будет пропущен. Если условие не справедливо (ЛОЖЬ), то игнорируются и выполняются .
IF — если, THEN — то, ELSE — иначе.
Неполная форма оператора выглядит следующим образом:
Если условие справедливо, то программа выполняет тот оператор, который стоит после ключевого слова THEN и дальше руководствуется обычным порядком действий. Если условие не справедливо, то оператор, стоящий после THEN не выполняется, и программа сразу переходит к обычному порядку действий. Конструкция IF. THEN позволяет в зависимости от справедливости условия либо выполнить оператор, либо пропустить этот оператор. Условия — в них используются следующие операторы сравнения: