Конспект урока Алгоритмы и способы их описания
Тема занятия: Алгоритмы и способы их описания
Тип урока: комбинированный
Цели урока:
Способствовать формированию понятия алгоритма, его свойств и видов;
Развивать знания, умения и навыки для использования современных информационных технологий воспитание информационной культуры учащихся, внимательность, аккуратность, дисциплинированность, усидчивости;
Способствовать воспитанию информационной культуры, наблюдательности, внимательности, развитию алгоритмического мышления, познавательного интереса
Формы учебной деятельности учащихся: индивидуальная, коллективная, познавательная, исследовательская
Оснащение: тетради, учебник, раздаточный материал практической работы, ПО - задачи на алгоритм, язык программирования Паскаль
Ход урока
I.Организационный этап:
Приветствие, фиксация отсутствующих.
Проверка подготовки студентов к практическому занятию.
Раскрытие общей цели урока и плана его проведения.
II. Этап изучения нового материала.
В 1983 году отмечалось 1200-летие со дня рождения величайшего средневекового ученого Средней Азии Мухамеда ибн Мусы аль-Хорезми. С именем этого ученого связано понятие алгоритма.
Алгоритм – точное, понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи.
Алгоритм может представлять собой некоторую последовательность вычислений, а может - последовательность действий нематематического характера. Для любого алгоритма справедливы общие закономерности - свойства алгоритма.
Свойства алгоритмов:
Дискретность.
Понятность
Детерминированность
Массовость
Результативность
Дискретность - это свойство алгоритма, когда алгоритм разбивается на конечное число элементарных действий (шагов).
Понятность - свойство алгоритма, при котором каждое из этих элементарных действий (шагов) являются законченными и понятными.
Детерминированность - свойство, когда каждое действие должно пониматься в строго определённом смысле, чтобы не оставалась места произвольному толкованию. чтобы каждый, прочитавший указание, понимал его однозначно.
Массовость - свойство, когда по данному алгоритму должна решаться не одна, а целый класс подобных задач.
Результативность – свойство, при котором любой алгоритм в процессе выполнения должен приводить к определённому результату. Отрицательный результат также является результатом.
Алгоритм может быть записан различными способами: на естественном языке в виде описания; в виде графических блок-схем; на специальном алгоритмическом языке. В школе на уроках информатики для записи алгоритмов используется, так называемый, "школьный алгоритмический язык". Этот язык по существу является "мёртвым" языком, так как на нём не работают компьютеры, и мы не будем им пользоваться. Запись алгоритмов на родном языке доступна и удобна. Примеров таких записей множество, хотя бы книга кулинарных рецептов есть не что иное, как сборник алгоритмов, написанных на родном языке.
Существенным недостатком такой записи является недостаточная наглядность, что особенно сказывается, когда алгоритм имеет много ветвлений. Поэтому, мы будем записывать наши алгоритмы в виде блок-схемы.
Способы задания алгоритмов.
Словесное описание (на языке исполнителя).
Словесная запись алгоритма представляет собой последовательность этапов обработки данных и задается в произвольном изложении на естественном языке. Ориентирована на исполнителя-человека
Табличное описание.
ФИО
1.Кол-во дней
2.Дневная тарифн. ставка
3. З/пл= 1*2
Иванов
25
100
2500
Графическое описание или блок – схема алгоритма.
Элементы блок-схем:
Виды алгоритмов:
Линейный алгоритм – описание действий, которые выполняются однократно, при этом четко друг за другом;
Циклический алгоритм – описание действий, которые должны повторяться определенное количество раз или пока не выполнится условие.
Разветвляющий алгоритм – алгоритм, в котором в зависимости от условия выполняется либо одна, либо друга последовательность действий.
Для того чтобы записать алгоритм существует наиболее наглядный способ в виде графического представления, который называется блок-схема.
Типы алгоритмических структур:
Линейная: Циклическая: Ветвление:
Показать:
Игра Баше:
Играют двое. Перед ними 21 предмет (11, 16, 26). Игроки берут камни по очереди. За один ход можно взять 1, 2, 3, 4 камня. Проигрывает тот, кто берет последний камень. (Выигрышная тактика для игрока, берущего предмет вторым. Она заключается в том, чтобы брать такое количество камней, которое дополняет число камней, взятых соперником на предыдущем ходе, до 5.
Логические задачи на компьютере:
Логика
Крокодилы
IV. Этап практической работы
Программный принцип работы компьютера.
Цель: Познакомиться с программным принципом работы компьютера, с программированием на языке Паскаль
Содержание работы:
Язык программирования Паскаль был разработан в 1971 году и назван в честь Блеза Паскаля – французского ученого, изобретателя механической вычислительной машины. Автор языка Паскаль – швейцарский профессор Никлаус Вирт.
Паскаль – это универсальный язык программирования, позволяющий решать самые разнообразные задачи обработки информации.
Команду алгоритма, записанную на языке программирования, называют оператором.
Структура программы на Паскале
Заголовок программы начинается со слова Program (программа), за которым следует произвольное имя, придуманное программистом:
Program <имя программы>;
Раздел описания переменных начинается со слова Var (variables переменные), за которым идет список имен переменных через запятую. Тип указывается после двоеточия. В стандарте языка Паскаль существуют два числовых типа величин: вещественный и целый. Слово integer обозначает целый тип (является идентификатором целого типа). Вещественный тип обозначается словом real. Например, раздел описания переменных может быть таким:
var a, b: integer; с, d: real;
Раздел операторов основная часть программы. Начало и конец раздела операторов программы отмечаются служебными словами begin (начало) и end (конец). В самом конце программы ставится точка:
begin
<операторы>
end.
Операторы ввода, вывода, присваивания
Ввод исходных данных с клавиатуры происходит по оператору read (read читать) или readln (read line читать строку):
read <список переменных» или readln(<список переменных>)
При выполнении команды ввода компьютер ожидает действий пользователя. Пользователь набирает на клавиатуре значения переменных в том порядке, в каком переменные указаны в списке, отделяя их друг от друга пробелами. Одновременно с набором данных на клавиатуре они появляются на экране. В конце нажимается клавиша <ВВОД> (
). Разница в выполнении операторов readln и read состоит в том, что после выполнения ввода по оператору readln экранный курсор перемещается в начало новой строки, а по оператору read этого не происходит.
Вывод результатов происходит по оператору write (write писать) или writeln (write line писать в строку):
write(<список вывода>) или writeln(<список вывода>)
Результаты выводятся на экран компьютера в порядке их перечисления в списке. Элементами списка вывода могут быть константы, переменные, выражения.
Разница в выполнении операторов writeln и write состоит в том, что после выполнения вывода по оператору writeln экранный курсор перемещается в начало новой строки, а по оператору write этого не происходит.
Арифметический оператор присваивания на Паскале имеет следующий формат:
<числовая переменная>:=<арифметическое выражение>
Арифметическое выражение может содержать числовые константы и переменные, знаки арифметических операций, круглые скобки. Кроме того, в арифметичских выражениях могут присутствовать функции.
Задания для самостоятельного выполнения:
Задание: На языке Паскаль набрать программы и выполнить для данных вариантов:
1 программа. Даны длины сторон треугольника. Вычислить его площадь.
program Geron;
var
a,b,c:real;{длины сторон треугольника}
p:real;{полупериметр треугольника}
s:real;{площадь треугольника}
begin
write(Введите длины сторон треугольника:’);
readln(a,b,c);
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
write(Площадь треугольника равна’,s)
end. {Geron}
Выполнить программу для случаев, если:
a=13, b=14, c=15
a=5, b=5, c=6
a=17, b=65, c=80
Результаты выполнения записать в рабочую тетрадь.
2 программа. Составить программу для определения корней квадратного уравнения.
program Roots;
var
a,b,c,d:real;
begin
write(Введите коэффициенты a,b,c ’);
write(квадратного уравнения:’);
readln(a,b,c);
d:=sqr(b)-4*a*c;
if d<0
then writeln (корней нет.’)
else
begin
d:=sqrt(d);
writeln(x1=’,(-b+d)/(2*a),’x2=’,(-b-d)/(2*a))
end
end.{Roots}
Выполнить программу для случаев, если коэффициенты квадратного уравнения равны:
a=3, b=3, c=-5
a=1, b=-5, c=-1
a=2, b=-9, c=4
a=2, b=-5, c=3
a=5, b=-7, c=2
a=6, b=1, c=-1
3 программа. Найти максимальное из трех чисел a, b, c.
program FindMax;
var a,b,c,max:real;
begin
write(Введите числа a,b,c ’);
readln(a,b,c);
if a>b
then max:=a else max:=b;
if c>max then max:=c;
writeln (max=’,max)
end. {FindMax}
Выполните программу для:
a=2, b=5, c=11
a=5, b=1, c=-1
a=6, b=2, c=9
a=-7, b=4, c=8
a=-1, b=-5, c=-11
4 программа. При заданном значении 13 QUOTE 1415 вычислить значение функции 13 QUOTE 1415.
program YFunction;
var x,y:real;
begin
write (Введите x:’);
readln (x);
y:=sqr(x)+4*x-7;
if x>=2 then y:=1/y;
write (x=’,x,’y=’,y)
end. {YFunction}
Выполните программу для случаев, когда x>2, x13 QUOTE 14152
Контрольные вопросы:
Когда появился язык Паскаль и кто его автор?
Как записывается заголовок программы на языке Паскаль?
Как записывается раздел описания переменных?
Перечислите известные типы величин на языке Паскаль.
V. Этап Рефлексии.
Возьмите со стола одно любое из предложенных изображений, которое соответствует вашему настроению на конец урока (т.е. все ли у вас получилось на этом уроке, согласны ли вы со своей оценкой, понравился ли вам урок). Прикрепите его на доску. (Результаты прокомментировать). 1) ( ; 2) ( ; 3) (
Вопросы остались после урока? Оцените свое эмоциональное состояние.
VI. Этап подведения итогов.
Оценивание работы каждого учащегося.
Домашнее задание: Учебник И.Г. Семакин, §29, 8, 9
Ввод и вывод данных
Вспомогательный алгоритм
Проверка условия
Действие
Начало или конец алгоритма
Заголовок 1Заголовок 2Заголовок 3ђЗаголовок 415