- Учителю
- Урок на тему: 'Линейный вычислительный алгоритм'
Урок на тему: 'Линейный вычислительный алгоритм'
Линейный вычислительный алгоритм.
К моменту данного урока учащиеся знакомы со следующими понятиями: алгоритм, виды алгоритмических конструкций, исполнитель, система команд, оператор ввода, оператор вывода; имеют навыки составления несложных алгоритмов разных типов и представления их на языке блок-схем.
Учебник: И.Семакин и др. "Информатика. 9 (ФГОС)", БИНОМ. Лаборатория знаний 2014 г.
Цели урока.
-
Закрепить введенные ранее понятия "величина", "переменная", "операция присваивания", "команда присваивания", «оператор ввода», «оператор вывода», «трассировка».
-
Отработать навыки работы с переменными, командой присваивания, операторами ввода/вывода.
-
Отработать навыки работы с трассировочной таблицей.
-
Рассмотреть возможности оптимизации алгоритма за счет уменьшения количества переменных на вычислительных задачах.
-
Отработать навыки составления линейных алгоритмов на словесном языке, на АЯ, в виде блок-схем.
Оборудование и материалы к уроку.
Демонстрационное оборудование (мультимедийный проектор, экран), программное обеспечение: средства просмотра презентаций, раздаточный материал.
Подготовка к уроку.
-
Презентация (демонстрационные слайды) для повторения материала (файл - приложение 1. pps ).
-
Раздаточный материал - трассировочные таблицы (файл - приложение 3.doc), карточки с тестами (файл - приложение 2. dos)
-
Текст задачи для проекции на доске (файл - приложение 4.doc).
-
Текстовый файл с программным кодом (файл - приложение 5.txt).
План урока.
-
Орг. момент.
-
Актуализация знаний - обсуждение домашнего задания, тренировочные упражнения.
-
Составление словесных алгоритм, на АЯ, блок-схем
-
Решение задачи с использованием трассировочной таблицы.
-
Модификация задачи, устный анализ задачи.
-
Итог урока.
-
Домашнее задание.
1. Орг. момент.
2. Актуализация знаний.
(5 - 7 минут) На прошлых уроках мы приступили к изучению основ программирования, вспомнили некоторые понятия из темы "Алгоритмизация", познакомились с новыми.
Вспомним основные понятия, с которыми мы работали на прошлом уроке.
-
Что такое величина?
-
Чем отличаются переменные и постоянные величины?
-
Как записывается команда присваивания?
Давайте рассмотрим конкретные примеры - открыть файл презентации (демонстрационные слайды).
4.Сегодня мы подробнее познакомимся с "Линейными вычислительными алгоритмами".
Процесс решения вычислительной задачи - процесс последовательного изменения значений переменных. В итоге - в определенных переменных получается искомый результат. Переменная величина получает значение в результате выполнения команды присваивания или команды ввода.
Присваивание является важнейшей операцией в алгоритмах, работающих с величинами, поэтому остановимся на ней подробнее.
В основе линейных алгоритмов лежит структура «последовательность». Покажем это на примерах.
Пример № 1
В своей книге «Арифметика» Леонтий Филиппович Магницкий привел следующий способ отгадывания задуманного двузначного числа: «Если кто задумает двузначное число, то ты скажи ему, чтобы он увеличил число десятков задуманного числа в 2 раза, к произведению прибавил бы 5 единиц, полученную сумму увеличил в 5 раз и к новому произведению прибавил сумму 10 единиц и числа единиц задуманного числа, а результат произведенных действий сообщил бы тебе. Если ты из указанного тебе результата вычтешь 35, то узнаешь задуманное число».
Представим предлагаемые JI. Ф. Магницким действия в виде алгоритма в словесной форме. В предлагаемом процессе должны участвовать два человека: загадывающий число и отгадывающий его. Поэтому алгоритмов тоже будет два.
Алгоритм для загадывающего число
1. Задумайте двузначное число.
2. Умножьте число десятков на 2.
3. К полученному произведению прибавьте 5.
4. Полученную сумму умножьте на 5.
5. К полученному произведению прибавьте 10.
6. К полученной сумме добавьте количество единиц задуманного числа.
7. Сообщите полученное число отгадывающему. Конец алгоритма
Алгоритм для отгадывающего число.
1. Отнимите от сообщенного числа 35.
2. Сообщите результат. Конец алгоритма
В этих двух алгоритмах действия выполняются в том порядке, в котором записаны.
Пример № 2.
Давайте решим задачу. У вас на партах лежат листы, где сформулирована задача №1.
Задача 1.
Написать алгоритм вычисления у по формуле: y=1-x2+5x4, где х - данное целое число. Учесть следующие ограничения:
-
можно использовать только операции сложения, умножения, вычитания;
-
в каждом выражении можно использовать только 1 операцию.
В таблице запишите результат каждого действия (выполните трассировку) при х = 1; 2; 3.
-
Что дано? (значение х)
-
Что требуется найти? (значение у)
-
Каков тип этих величин?
-
Сколько переменных нам потребуется для решения задачи (как минимум 2)?
-
Запишите алгоритм на АЯ и составьте блок-схему.
Давайте для наглядности воспользуемся дополнительными (промежуточными) переменными, в которых будем хранить результат каждого действия. Необходимые действия запишем в таблицу:
действие
Ввод х
A:=x*x
B:=1-A
C:=A*A
D:=5*C
Y:=B-D
Вывод y
Выполним трассировку нашего алгоритма, то есть подставим некоторые значения х и выполним действия. Например, для х=1.
Обратите внимание: пока переменной не присвоено конкретное значение, она остается неопределенной!
Самостоятельно выполните трассировку для х=2 и х=3 (самостоятельно на листочках).
5. Усовершенствуем нашу задачу таким образом, чтобы использовались лишь 2 переменные - х и у. Как это сделать?
действие
Ввод х
X:=X*X
Y:=1-X
X:=X*X
X:=5*X
Y:=Y+X
Вывод y
Новое присвоенное значение переменной заменяет ее предыдущее значение!
Сделайте трассировку для х=1 и х=2, проверьте, что результаты совпадают.
Запишем алгоритм на АЯ
алг1 Вычисление функции
цел x, y, a, b, c, d
нач
ввод x
a:=x*x
b:=1-a
c:=a*a
d:=5*c
y:=b+d
вывод y
кон
алг2 Вычисление функции
цел x, y
нач
ввод x
x:=x*x
y:=1-x
x:=x*x
x:=5*x
y:=y+x
вывод y
кон
Нарисуем блок-схему для данной задачи
начало
a:=x*x
b:=1-x
c:=a*a
d:=5*c
y:=b+d
конец
7. Сегодня на уроке мы познакомились с линейным вычислительным алгоритмом. На следующем уроке мы продолжим изучать линейный вычислительный алгоритм. А так же научимся программировать задачи на языке Паскаль.
8. Домашнее задание: в вашем учебнике §34 - линейный вычислительный алгоритм. После §34 № 8 (аналогично № 1).
Линейный вычислительный алгоритм на языке Pascal.
К моменту данного урока учащиеся знакомы со следующими понятиями: алгоритм, виды алгоритмических конструкций, исполнитель, система команд, оператор ввода, оператор вывода; имеют навыки составления несложных алгоритмов разных типов и представления их на языке блок-схем, структура программы на Pascale, ввод данных с клавиатуры, вывод данных на экран.
Учебник: И. Семакин и др. "Информатика. 9 (ФГОС)", БИНОМ. Лаборатория знаний 2014 г.
Цели урока.
1. Закрепить команду присваивания, оператор ввод на Pascale , оператор вывода на Pascale, построение трассировочной таблицы.
2. Отработать навыки работы с переменными, командой присваивания, операторами ввода/вывода.
3. Отработать навыки работы с трассировочной таблицей.
4. Отработать навыки составления линейных алгоритмов в виде блок-схем.
5. Отработать навыки составления программ на языке Pascal.
Оборудование и материалы к уроку.
Демонстрационное оборудование (мультимедийный проектор, экран), программное обеспечение: средства просмотра презентаций, раздаточный материал, программа ABC Pascal.
План урока.
1. Орг. момент.
2. Актуализация знаний - обсуждение домашнего задания, тренировочные упражнения.
3. Решение задачи с использованием трассировочной таблицы.
4. Составление программы на языке Pascal.
5. Тестирование программы.
8. Домашнее задание
1. Орг. момент.
2. Актуализация знаний.
(5 - 7 минут) На прошлых уроках мы приступили к изучению основ программирования, вспомнили некоторые понятия из темы "Алгоритмизация", познакомились с новыми.
Вспомним основные понятия, с которыми мы работали на прошлом уроке.
-
Что такое линейный алгоритм?
-
Что такое ввод? Как записывается команда ввода?
-
Что такое вывод? Как записывается команда вывода?
-
Сегодня на уроке мы вспомним, что такое линейный алгоритм и разберем, как записать задачу на языке Pascal.
Разберем задачу (демонстрационные слайды): Скорость первого автомобиля υ1 км/ч, второго - υ2 км/ч, расстояние между ними s км. Какое расстояние будет между ними через t ч, если автомобили движутся в разные стороны? Требуется построить математическую модель, нарисовать блок-схему, составить трассировочную таблицу и написать программу.
Дано:
υ1 км/ч
υ2 км/ч
s км
t ч
Решение:
Согласно условию задачи искомое расстояние
s1 = s + (υ1 + υ2)t (если автомобили изначально двигались в противоположные стороны) или (если автомобили изначально двигались навстречу друг другу).
Найти:
s1, s2
Построим блок-схему для этой задачи:
начало
Ввод υ1, υ2, s, t
s1 = s + (υ1 + υ2)t
Вывод s1,
конец
Построим трассировочную таблицу:
υ1
υ2
s
t
s1
s2
Ввод υ1, υ2, s, t
1
2
3
4
-
-
s1 = s + (υ1 + υ2)t
1
2
3
4
13
-
1
2
3
4
13
5
Вывод s1,
13
5
Напишем программу на языке Pascal.
program Car;
var υ1, υ2, s, t, s1, : real;
begin
writeln ('введите скорости автомобилей, время и расстояние');
read (υ1, υ2, s, t);
s1 = s + (υ1 + υ2)*t;
s2= abs((υ1+υ2 )*t-s);
writeln ('расстояние, если автомобили изначально двигались в противоположные стороны = ', s1);
writeln ('расстояние, если автомобили изначально двигались навстречу друг другу = ', s2);
end.
Результат:
введите скорости автомобилей, время и расстояние
1
2
3
4
расстояние, если автомобили изначально двигались в противоположные стороны = 5
расстояние, если автомобили изначально двигались навстречу друг другу = 13
-
Сегодня на уроке мы закрепили понятие о линейном вычислительном алгоритме. Научились программировать задачи на языке Pascal.
-
Домашнее задание: Задача. Найти произведение цифр заданного четырехзначного числа. Записать математическую модель, нарисовать блок-схему, составить трассировочную таблицу и написать программу. Подготовить к самостоятельной работе на тему: «Линейный вычислительный алгоритм».
Самостоятельная работа на тему: «Линейный вычислительный алгоритм».
Вариант 1.
-
На «3»: Определите значение переменной с после выполнения следующего фрагмента программы, составьте трассировочную таблицу:
а:= 7;
а:= а - 4;
b:= - а;
c:= - а + 2 * b;
-
На «4»: Написать программу для вычисления функции z:
-
На «5»: Составить программу для вычисления периметра прямоугольного треугольника по заданным длинам двух катетов a, b.
Вариант № 2.
-
На «3»: Определите значение переменной с после выполнения следующего фрагмента программы:
а:= 2;
b:= а + 4;
b:= 1 - b;
c:= - b + 3 * a;
-
На «4»: Написать программу для вычисления функции z:
-
На «5»: Треугольник задан координатами своих вершин (x1, y1), (x2, y2) и (x3, y3). Вычислить периметр треугольника.
Вариант № 3.
-
На «3»: Определите значение переменной с после выполнения следующего фрагмента программы:
а:= 5;
а:= а + 6;
b:= - а;
c:= а - 2 * b;
-
На «4»: Написать программу для вычисления функции z:
-
На «5»: Даны два действительных числа x и y. Найти средне арифметическое кубов этих кубов этих чисел.
Вариант № 4.
-
На «3»: Определите значение переменной с после выполнения следующего фрагмента программы:
а:= - 5;
а:= а - 4;
b:= - а;
c:= - а + 2 * b;
-
На «4»: Написать программу для вычисления функции z:
-
На «5»: Многоугольник задан координатами своих вершин (x1, y1), (x2, y2) (x3, y3) и (x4, y4). Вычислить периметр многоугольника.
Вариант № 5.
-
На «3»: Определите значение переменной с после выполнения следующего фрагмента программы:
а:= - 3;
b:= а + 3;
b:= 1 - b;
c:= - b + 3 * a;
-
На «4»: Написать программу для вычисления функции z:
-
На «5»: Дано количество суток. Посчитать число часов, минут и секунд в данном количестве суток. Использовать только одно переменную.
Вариант № 6.
-
На «3»: Определите значение переменной с после выполнения следующего фрагмента программы:
а:= 5;
b:= 5 - 5 * a;
b:= -b/2 * a;
c:=d*2 + a;
-
На «4»: Написать программу для вычисления функции z:
-
На «5»: В классе n учеников. По результатам контрольной работы получено a двоек, b троек, c четверок, остальные - пятерки. Вычислить процент оценок каждого типа
Вариант № 7.
-
На «3»: Определите значение переменной с после выполнения следующего фрагмента программы:
b:= 16;
а:= 12 - a/4;
а:= а + b * 3;
c:=(a - b)*2;
-
На «4»: Написать программу для вычисления функции z:
-
На «5»: От двух пристаней одновременно навстречу друг другу отошли два катера и встретились через t часов. Скорость одного из них равна v1, скорость другого - v1 км/ч. Найти расстояние между пристанями.