Урок - Решение задач на Паскале по теме "Линейные алгоритмы".
методическая разработка по информатике и икт (9 класс) на тему

Масленникова Наталья Алексеевна

Разработка урока. Сначала идет повторение темы "Оператор присваивания и ввод-вывод на язаке Паскаль".

Затем рассматриваются этапы решения задач на ЭВМ. Рассматривается решение линейных задач на языке программирования Паскаль.

Используются презентации.

Скачать:


Предварительный просмотр:

Урок по теме

«Линейные алгоритмы и их реализация на языке программирования Pascal»

Масленникова Наталья Алексеевна, преподаватель информатики

Идентификатор: 234-139-142

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

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

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

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

Цель урока:

  1. повторение темы ввод и вывод данных
  2. повторение оператор присваивания
  3. составление программ, реализующих линейные алгоритмы,
  4. стимулирование интереса учащихся к данной теме и предмету в целом
  5. воспитание у учащихся самостоятельности, коллективизма, ответственности за себя и других
  6. развитие логического и аналитического мышления

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

Образовательная: актуализировать и закрепить ранее изученный материал, научиться составлять линейные алгоритмы и программы на языке программирования Паскаль;

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

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

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

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

  1. компьютер;
  2. проектор;
  3. операционная система;
  4. презентация;
  5. язык программирования Паскаль.

ПЛАН УРОКА

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

ХОД УРОКА

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. Константы
  1. символьные — заключаем их в апострофы. Writeln('Привет!');

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

Привет!

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

  1. Константы числовые — 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 этап. Алгоритмизация.

Рисунок 1

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 — принимают разные значения в понедельник и во вторник). Напишите программу, которая будет вычислять, на какую сумму продал магазин фруктов в каждый из этих дней и за оба дня вместе.

Рефлексия.

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

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

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

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

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

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


Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Повторение Оператор присваивания и процедуры ввода-вывода.

Слайд 2

Оператор присваивания 1. Задать переменной некоторое значения. 2. переменная := выражение; 3. 1) вычисляется значение выражения в правой части 2) затем это значение присваивается переменной, указанной в левой части. После этого старое значение переменной пропадает («стирается») 1. Какова цель оператора присваивания? 2. Как записывается оператор присваивания? 3. Как выполняется оператор присваивания?

Слайд 3

Оператор присваивания Чему равны значения переменных r, a, d? 2. Можно ли выполнить оператор a := d ; 3. Почему? Есть следующий фрагмент программы: 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; 1. r = 187.5; a = 9; d = 45.0 2. Нет. 3. а имеет тип целый, а d - вещественный

Слайд 4

Вывод данных на экран 1. Write (перечисляем все, что выводим через запятую); Writeln (перечисляем все, что выводим через запятую); 2. Write — после вывода, курсор остается после последнего выведенного значения Writeln — после вывода, курсор переходит на новую строку. 3. Пропуск пустой строки . 1. С помощью каких процедур можно вывести данные на экран монитора? 2. Чем отличаются процедуры Write и Writeln ? 3.В чем состоит действие процедуры Writeln без параметров?

Слайд 5

Вывод данных на экран 1. Что мы можем выводить на экран? 1. Константы Значения переменных Значения выражений 2. заключить текст в апострофы . Writeln ('Привет!'); Привет! 3. без дополнительных пробелов Write (1,2); Write (3, ' ',56); 123 56 2. Что надо сделать, чтобы вывести текст на экран? 3. Как выводятся числа на экран?

Слайд 6

Вывод данных на экран 1. надо написать имя переменной без апострофов a := 4; writeln (a); a := 2 * a; writeln (a); 4 8 2. пишем выражение a := 4; writeln (2 * a ); 8 1. Что надо сделать, чтобы вывести значение переменной? 2. Как вывести значение выражения?

Слайд 7

Вывод данных на экран a := 4; Значение а = 4, а 2*а = 8 Комбинированный вывод writeln ('Значение а = ', а, ', а 2*а = ', 2*а);

Слайд 8

Вывод данных на экран Рассмотрим вывод вещественных чисел. 1. Можем ли мы изменить такой вывод? r := 715.432; writeln (r); r 1 := -567.986; writeln ( r 1/2); На экране? 7.1543200000 E +02 -2 . 839930000E+02 1. Да. Как? Надо использовать форматы вывода. r := 715.432; writeln ( r :8:3); r 1 := -567.946; writeln ( r 1:10:1); writeln ( r 1:10:2); (  обозначаем пробел)  715.432   -567.9   -567.95 2. Что увидим на экране, после выполнения следующего фрагмента?

Слайд 9

Ввод данных 1. Read ln (список переменных через запятую); Read (список переменных через запятую); 2. Одну и более. 3. Через пробел . В конце набора надо нажать клавишу ENTER . 1. Какие процедуры используются для ввода значений в переменные? 2. Сколько переменных можно писать в этих процедурах? 3. Как набираются на клавиатуре значения переменных?

Слайд 10

Тест А сейчас выполним тест. Успехов!!!

Слайд 11

Вопрос 1 write (23, 72); write (5); writeln; writeln (  Успехов !  ); Что будет выведено на экране в результате работы следующей последователь-ности операторов?

Слайд 12

Вопрос 2 Writeln (  Фара  ,  он  ); Writeln(78,   , 3,   , 6); Writeln(78:3, 3:3, 6:2); Что будет выведено на экране в результате работы следующей последовательности операторов?

Слайд 13

Вопрос 3 с := 5; b := 3; c := 2 * c + b ; b := c + 2 * b ; Какое значение будут иметь переменные c и b после следующих операторов присваивания?

Слайд 14

Вопрос 4 writeln ( 7x+7); a+b := c; Исправьте ошибки в следующих операторах.

Слайд 15

Вопрос 5 var c, a : integer; d : integer ; begin c:=10; a := 6; d :=2* c /( a +2; write (  При с =  , c ); writeln (  Значение d  , = , d ); end . Исправьте ошибки в программе.

Слайд 16

Ответы Проверим результаты теста.

Слайд 17

Вопрос 1 write (23, 72); write (5); writeln; writeln (  Успехов !  ); 23725 Успехов! Что будет выведено на экране в результате работы следующей последователь-ности операторов?

Слайд 18

Вопрос 2 Writeln (  Фара  ,  он  ); Writeln(78,   , 3,   , 6); Writeln(78:3, 3:3, 6:2); Фараон 78  3  6  78  3  6 Что будет выведено на экране в результате работы следующей последовательности операторов?

Слайд 19

Вопрос 3 с := 5; b := 3; c := 2 * c + b ; b := c + 2 * b ; с = 23; b = 29; Какое значение будут иметь переменные c и b после следующих операторов присваивания?

Слайд 20

Вопрос 4 writeln ( 7x+7); a+b := c; writeln ( 7*x+7); c:= a+b; Исправьте ошибки в следующих операторах.

Слайд 21

Вопрос 5 var c, a : integer; d : integer ; begin c:=10; a := 6; d :=2* c /( a +2; write (  При с =  , c ); writeln (  Значение d  , = , d ); end. d : r eal; d :=2* c /( a +2); writeln(  Значение d =  , d ); Исправьте ошибки в программе.

Слайд 22

Молодцы! Вы отлично поработали!


Предварительный просмотр:


Подписи к слайдам:


По теме: методические разработки, презентации и конспекты

Решение задач по физике с применением алгоритмов

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

Разработка урока "Решение задач на языке Паскаль с использованием операторов цикла"

Урок является заключительным по теме «Программирование циклов», тема  рассчитана на 6 учебных часов в разделе «Программное управление работой компьютера». Урок организован в соответствии с реализ...

Методика решения задач по формализации и моделированию, алгоритмы их выполнения

Методика решения задач по формализации и моделированию, алгоритмы их выполнения(Задача ОГЭ)...

Технологическая карта урока информатики в 8 классе на тему Решение задач на составление линейных вычислительных алгоритмов

Технологическая карта урока информатики в 8 классе на тему Решение задач на составление линейных вычислительных алгоритмов...

Рабочий лист к уроку информатики в 8 классе на тему Решение задач на составление линейных вычислительных алгоритмов

Рабочий лист является раздаточным материалом к уроку информатики в 8 классе на тему "Решение задач на составление линейных вычислительных алгоритмов"...

Презентация к уроку информатики в 8 классе на тему Решение задач на составление линейных вычислительных алгоритмов

Презентация к уроку  информатики в 8 классе на тему Решение задач на составление линейных вычислительных алгоритмов...