Линейные алгоритмы и их реализация на языке программирования Паскаль

Разделы: Информатика, Конкурс «Презентация к уроку»


Презентации к уроку

Загрузить презентацию (1 МБ)

Загрузить презентацию (836 кБ)


Раздел статьи: "Алгоритмизация и программирование".

Тип урока: закрепление полученных знаний и изучение нового материала.

Вид урока: комбинированный урок.

Технология: личностно-ориентированная.

Цель урока:

  • повторение темы ввод и вывод данных
  • повторение оператор присваивания
  • составление программ, реализующих линейные алгоритмы,
  • стимулирование интереса учащихся к данной теме и предмету в целом
  • воспитание у учащихся самостоятельности, коллективизма, ответственности за себя и других
  • развитие логического и аналитического мышления

Задачи урока:

  • Образовательная: актуализировать и закрепить ранее изученный материал, научиться составлять линейные алгоритмы и программы на языке программирования Паскаль;
  • Развивающая:  развитие алгоритмического мышления, памяти, внимательности, умения применять полученные знания при решении задач различной направленности;
  • Воспитательная: развитие познавательного интереса, логического мышления, организованности, ответственности, повысить интерес обучающихся к данной теме.

Методы обучения: объяснительно-иллюстративный, исследовательский, практический.

Оборудование и программное обеспечение:

  • компьютер;
  • проектор;
  • операционная система;
  • презентация;
  • язык программирования Паскаль.

ПЛАН УРОКА

  1. Организационный момент.
  2. Актуализация начальных знаний учащихся.
  3. Тест.
  4. Изучение нового материала.
  5. Создание проблемной ситуации.
  6. Закрепление пройденного материала. Решение задач.
  7. Подведение итогов урока.
  8. Домашнее задание.

ХОД УРОКА

1. Организационный момент.

Приветствие учащихся, ознакомление учащихся с целями и задачами урока.

2. Актуализация начальных знаний учащихся (презентация).

Оператор присваивания

Вопрос. Какова цель оператора присваивания?

Ответ. Задание переменной некоторого значения.

Вопрос. Как записывается оператор присваивания?

Ответ. переменная := выражение;

Вопрос. Как выполняется оператор присваивания?

Ответ.

1. вычисляется значение выражения в правой части,

2. это значение присваивается переменной, указанной в левой части. После этого старое значение переменной пропадает ("стирается")

Вопрос. Допустимо ли присваивание переменной вещественного типа значения выражения целого типа?

Ответ. Да.

Вопрос. Допустимо ли присваивание переменной целого типа значения выражения вещественного типа?

Ответ. Нет.

Примеры.

Var

a, b, c: integer;

r, d: real;

a:=5; b:=20; c:=-7;

d:=2.5;

r := a+(4*b+c)*d;

a:= a+4;

d:=a*7;

Вопрос. Чему равны значения переменных r, a, d?

Ответ. r = 187.5; a = 9; d = 45.0

Вопрос. Можно ли выполнить оператор a:=d;

Ответ. Нет.

Процедура вывода.

Вопрос. С помощью каких стандартных процедур осуществляется вывод на экран монитора?

Ответ. Write (перечисляем все, что выводим через запятую),

Writeln (перечисляем все, что выводим через запятую)

Вопрос. Чем отличаются действия процедур Write и Writeln?

Ответ. Write - после вывода, курсор остается после последнего выведенного значения, Writeln - после вывода, курсор переходит на новую строку.

Вопрос. В чем состоит действие процедуры Writeln без параметров?

Ответ. Пропуск пустой строки.

Вопрос. Что мы можем выводить на экран и как это сделать?

Ответ.

1) Константы

  • символьные - заключаем их в апострофы. Writeln('Привет!');

На экране увидим

Привет!

И курсор перейдет на новую строку.

  • Константы числовые - Write (1,2); Write (3, ' ',56); (числа выводятся без дополнительных пробелов)

На экране

123 56

И курсор будет стоять после цифры 6.

2) Значения переменных - надо написать имя переменной.

a:= 4; writeln(a); a := 2*a; writeln(a);

На экране увидим

4

8

3) Значение выражения - пишем выражение

a:= 4; writeln(2 * a);

На экране увидим

8

4) Комбинированный вывод

a := 4; writeln('Значение а = ', а, ', а 2*а = ', 2*а);

На экране увидим

Значение а = 4, а 2*а = 8

Вопрос. Что будет на экране, в результате работы последовательности команд

r := 715.432; writeln (r);

r1 := -567.986; writeln(r1/2);

На экране увидим (числа в экспоненциальном виде).

7.1543200000E+02

-2/839930000E+02

Вопрос. Можем ли мы изменить такой вывод?

Ответ. Да. Надо использовать форматы вывода.

Вопрос. Что увидим на экране, после выполнения следующего фрагмента?

r := 715.432; writeln (r:8:3);

r1 := -567.946; writeln(r1:10:1);

writeln(r1:10:2);

На экране увидим ( обозначаем пробел)

715.432

-567.9

-567.95

Процедура ввода.

Вопрос. Как можно ввести информацию в переменные?

Ответ. Для ввода исходных данных используются стандартные процедур ввода:

1) Readln (список переменных через запятую);

2) Read (список переменных через запятую);

Вопрос. Сколько переменных можно писать в этих процедурах?

Ответ. Одну и более.

Вопрос. Как набираются на клавиатуре значения переменных?

Ответ. На клавиатуре данные набираются через пробел. В конце набора надо нажать клавишу ENTER.

Вопрос. Может ли быть пустым список ввода, т.е. ReadLn;

Ответ. Да. Программа ждет нажатия клавиши Enter.

3. Тест. (приложение1).

Учащиеся выполняют тест. Затем меняются тетрадями, проверяют тест и выставляют оценки.

4. Объяснение нового материала.

Сегодня мы рассмотрим с вами, как изученные ранее операторы используются для реализации линейных алгоритмов на языке программирования. Вспомним, какие алгоритмы называются линейными?

Учащиеся отвечают. (в которых действия выполняются последовательно одно за другим)

Решение задачи на компьютере - это процесс автоматического преобразования исходных данных в искомый результат в соответствии с заданным алгоритмом.

Поэтому перед решением задачи на компьютере, она должна пройти некоторые этапы подготовки.

Этапы решения задач на компьютере.

1) Постановка задачи - необходимо четко определить цель задачи, дать словесное описание содержания задачи, выделить исходные данные для ее решения. Предложить общий подход к её решению, определиться какие результаты и в каком виде должны быть получены.

2) Построение математической модели - представление ее в виде формул, уравнений, соотношений, которые могут быть реализованы в компьютере.

3) Алгоритмизация - построение алгоритма.

4) Составление сценария работы на компьютере (этот этап мы пока будем опускать).

5) Написание задачи на языке программирования.

Программа должна быть универсальной (не зависящей от конкретного набора данных). Необходимо предусмотреть контроль вводимых данных. Необходимо повысить эффективность программы, т. е. уменьшить количество выполняемых операций и время работы программы.

6) Отладка и тестирование программы.

На этом этапе происходят выполнение алгоритма с помощью компьютера, поиск и исключение ошибок. При этом программисту приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот часто требует гораздо больше времени и сил, чем написание первоначального текста программы.

Программист должен составить тест - это специально подобранные исходные данные, в совокупности с результатами, которые должны получиться.

Отладка - это исправление ошибок - сложный и нестандартный процесс. Исходный план отладки заключается в том, чтобы оттестировать программу на составленных контрольных тестах.

7) Анализ полученных результатов.

Рассмотрим эти этапы на примере следующей задачи.

Задача. "Покупка в мазазине"

Человек делает в магазине покупки. Определите сколько денег у него останется после покупки в магазине перчаток стоимостью А руб., портфеля стоимостью B руб. и галстука стоимостью D руб. Все исходные данные задаются с клавиатуры.

1 этап. Постановка задачи

Исходные данные.

a - стоимость перчаток;

b - стоимость портфеля;

d - стоимост галстука;

dengi - количество денег у человека.

Все эти переменные будут вещественного типа.

Результат.

ostatok - количество денег, которое останется у человек (вещественный тип).

2 этап. Построение математической модели (метод решения)

ostatok = dengi - a - b - d

3 этап. Алгоритмизация.

5 этап. Написание программы.

Program pokupka;

Uses crt;

Var

a, b, d, den: real;

ostatok: real;

begin

clrscr;

write ('введите стоимость перчаток, портфеля и галстука ');

readln (a, b, d);

write ('введите количество имеющихся у вас денег ');

readln (den);

oststok := den - a - b - c;

writeln ('после покупки у вас останется ', ostatok:5:2, 'руб. ');

readln;

end.

6 этап. Тест.

a = 500; b = 450; d = 320

den = 1700

ostatok = 1700 - 500 - 450 - 320 = 430

Набираем программу на компьютере и запускаем с данными заданными в тесте.

7 этап. Анализируем результат.

5. Создание проблемной ситуации. Закрепление знаний.

Учащиеся делятся на группы по 4 человека, выбираю ответственного за работу. Каждой группе выдаются 4 задачи.

Задания дифференцированные, задача 1 - слабым учащимся, задача 4 - сильным ученикам.

Задача №1. В пяти тестовых опросах мальчик получил оценки. Составьте алгоритм и программу, которая определит среднее значение оценок, полученных мальчиком в пяти опросах.

Задача №2. Имеется садовый участок, имеющий форму прямоугольника со сторонами А метров и В метров. Составьте алгоритм и программу, которая определит сколько досок надо купить, чтобы поставить сплошной забор. Ширина одной доски 10 см.

Задача №3. В магазине продается костюмная ткань. Ее цена В руб. за квадратный метр. Составьте алгоритм и программу, которая подсчитает и выведет на экран стоимость куска этой ткани длиной Х метров и шириной 80 см.

Задача №4. Хозяин хочет оклеить обоями длинную стену в своем доме. Длина этой стены равна А метров, а высота - В метров. Рулон обоев имеет длину 12 метров и ширину K см. Составьте алгоритм и программу, которая определит стоимость обоев для всей стены, если цена одного рулона К руб.

Учащиеся готовят задачи для решения на компьютере вместе, а затем распределяются, кто какую задачу набирает на компьютере.

Как только все задания выполнены, ответсвенный сообщает об этом.

По окончании работы, ответственные (жюри) проверяют работу программ и оцениваю.

6. Подведение итогов урока.

Группа, которая первая правильно решила все задачи получает пять, вторая группа получает четыре.

7. Домашнее задание.

Фруктовый магазин продает яблоки по А руб. за кг., груши по В руб. за кг., апельсины по С руб. за кг. В первые два дня недели продано: понедельник - Х кг. яблок, Y кг. груш, Z кг. апельсинов; вторник - X кг. яблок, Y кг. груш, Z кг. Апельсинов (X, Y, Z - принимают разные значения в понедельник и во вторник). Напишите программу, которая будет вычислять, на какую сумму продал магазин фруктов в каждый из этих дней и за оба дня вместе.

8. Рефлексия.

Спасибо за работу. Наша цель выполнена - мы повторили оператор присваивания и процедуры ввода/вывода и успешно применили свои знания по решению линейных задач в практических ситуациях.

А теперь оцените свою работу на уроке, используя смайлики. Нарисуйте на листочках такое настроение, которое сейчас у вас.

Ребята, мне приятно было работать с вами на уроке, надеюсь, что это взаимно.

До свидания. Желаю вам успехов.

Используемая литература.

  1. Попов В.Б. Turbo Pascal для школьников. - Москва, Финансы и статистика, 1999 г.
  2. Сэм А. Аболрус. Программирование на Pascal. - Санкт-Петербург - Москва, 2003 г.
  3. Л. Залогова и др. Задачник - практикум. - Москва, Лаборатория БазовыхЗнаний, 1999 г.
  4. Алексеева Е.Р., Чеснокова О.В. Турбо Паскаль 7.0. - Москва, NT Press, 2006 г.