Урок-деловая игра по информатике по теме "Символьные переменные"

Разделы: Информатика


Тип урока: комбинированный

Реализуемые методы обучения: метод деловой игры

Оценка педагогической ситуации: урок в 8-м классе. Программирование на языке Pascal изучается 1-й год. На момент проведения урока учащиеся умеют писать простейшие программы на языке Pascal, использовать операторы ввода данных с клавиатуры и вывода их на экран, объявлять переменные и использовать оператор присваивания. Ведущие виды деятельности: самостоятельно-поисковая и деятельность межличностного общения.

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

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

Дальнейшее развитие:

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

Подготовка кабинета, необходимое оборудование и технические средства:

  • Компьютерный класс с компьютерами, объединенными в сеть;
  • Мультимедийный проектор и экран;
  • Мультимедийная презентация проведения урока <Приложение1>;
  • Программа Turbo Pascal 7.0 на каждом рабочем месте учащегося;
  • На общем диске созданы рабочие папки для каждой группы;
  • Тест в тестирующей программе “Assistant” (или в любой аналогичной);
  • Карточки с заданиями для каждой группы <Приложение 2>;
  • Слова для расшифровки <Приложение 8>
  • Таблицы ASCII-кодов <Приложение 4>;
  • Рабочие листы и оценочные листы <Приложение 3>.

Цели учебной деятельности:

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

Ход урока

  1. Организационный этап. Мотивация (3 мин).

Учитель: Здравствуйте, ребята! Сегодня мы продолжаем изучение темы “Символьные переменные”. <Приложение1 слайд №1>

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

Сегодня на уроке вы должны будете запомнить стандартные функции, работающие с символьными переменными, понять, почему символьные переменные относятся к порядковому типу и научиться использовать стандартные функции символьных переменных и порядкового типа. <Приложение1 слайд №2>

Ребята, вы попадали когда-нибудь в ситуацию, когда нужно запомнить что-то очень важное? Вы вроде бы постарались запомнить, даже сделали себе какие-то пометки на память, а потом все равно забыли?

Ответ: Да, конечно.

Учитель: Такая ситуация встречается очень часто, и в этих случаях нужно найти способ восстановить утерянное. И здесь нам поможет информатика и программирование. Этот урок мы проведем в виде деловой игры. Вы сегодня на уроке будете работниками фирмы, которая оказывает услуги забывчивым людям, применяя для этого программирование. Клиентами нашей фирмы являются люди, которые частенько забывают нужную информацию, например, код ячейки сейфа, куда положили важные бумаги. Непременным условием успешного поиска, однако, должно быть наличие хотя бы минимальной информации <Приложение1 слайд №3>.

Вот к нам сегодня обратился клиент с просьбой помочь восстановить шифр его сейфа. Мы, конечно, постараемся ему помочь.

Каждый день в нашей фирме начинается с проверки готовности программистов заниматься любимым делом. <Приложение1 слайд №4>. Поэтому мы сейчас выполним тест. Зайдите, пожалуйста, в программу Assistant, выберите тест “Символьные переменные” и не забудьте ввести в строку “Имя” свои имя и фамилию через пробел. Вам предлагаются 5 вопросов, в каждом из них только один правильный ответ. Результаты теста, пожалуйста, зафиксируйте в оценочном листе.

  1.  Актуализация опорных знаний (10 мин)

Тест

  1. Что будет выведено на экран в результате выполнения программы, если в ответ на приглашение введено слово cat?

Var x,y: char;

Begin

  • Writeln (‘введите несколько символов’);
  • Readln (x,y);
  • Writeln (x,y,y);

End.

cat б) ccc в) caa г) ca
  1. Как будут выведены значения переменных А и В операторами writeln (A); writeln (B);
а) через ; б) через пробел в) в столбик г) слитно
  1. Какой тип данных в языке Pascal предназначен для хранения символьной информации?
а) real б) integer в) char г) byte
  1. Есть ли ошибки в записи команды: Readln (введи радиус, R)
а) нет ошибок б) пояснительный текст не заключен в апострофы в) пояснительный текст не нужен г) лишнее слово “введи”
  1.  При выполнении операции присваивания символа переменной
а) символ заключается в кавычки б) символ записывается через пробел от знака присваивания в)символ заключается в апострофы г) символ записывается в скобках
  1. Объяснение нового материала (10 мин).

Учитель: Давайте проверим, как вы отвечали на вопросы теста. <Приложение1 слайд № 5>. Надеюсь, что вы прекрасно справились с тестом и готовы к работе. Но для того, чтобы выполнить задание, вы должны немного повысить свою квалификацию, пополнить знания о символьных переменных. Вы уже знаете, что в таблице ASCII кодов за каждым символом закреплен свой числовой код.

Существует функция, которая позволяет по известному символу определить его код и, наоборот, по известному коду определить символ. <Приложение1 слайд № 6>.

Это функции:

  • Ord(x) – преобразует символ х в его код согласно таблице ASCII и возвращает значение этого кода.[1]
  • Chr(n) – преобразует код n в символ и возвращает значение символа.[1]

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

Ответ: Символьного.

Учитель: Правильно! А переменная n?

Ответ: Числового.

Учитель: Правильно, но какого именно числового? Мы с вами знаем два числовых типа: integer и real. Какой в этом случае подойдет? Посмотрите в ваши таблицы.

Ответ: integer, потому что все коды в таблице – целые числа, а тип real – это тип вещественных чисел.

Учитель: Отлично, пойдем дальше <Приложение1 слайд №7>.

Давайте рассмотрим программу:

Var n: integer; x: char;

Begin
x:=’L’;
n:=Ord(x);
Write (x,n:3);
x:=’A’;
Write (x);
x:=Chr (n);
Write (x);

End.

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

Учитель записывает на доске ответы учеников.

А теперь давайте проверим. Программа запускается на выполнение. <Приложение 5, запускается из Приложения1>.

Результат: L 76 A L

Видите, все в точности так, как мы и предполагали.

Кто правильно определил все 4 символа, заработал 4 балла, кто 3 символа, соответственно – 3 балла и т.д. Поставьте честно заработанные баллы себе в оценочные листы. Можно двигаться дальше.

В таблице кодов можно заметить некоторую особенность: посмотрите на код буквы А, код буквы В, код буквы С… Что можно сказать про эти коды? Кто-нибудь заметил закономерность?

Ответ: Код буквы А меньше кода буквы В, а код буквы В, в свою очередь, меньше кода С, т.е. буквы расположены по алфавиту, а соответствующие им коды расположены в порядке возрастания.

Учитель: Верно, коды символов упорядочены, т.е. для каждого элемента типа char есть предшествующий и последующий элемент. Как называется такой тип?

Ответ: Порядковый.

Учител: Верно, тип char – порядковый тип, как и integer.

Учитель: Вспомним функции, применяемые к порядковому типу: <Приложение1 слайд № 8>

  • Pred(x) – возвращает предыдущий символ относительно значения переменной х [1].
  • Succ(x) – возвращает следующий символ относительно значения переменной х [1].

Найдите эти функции в своих рабочих листах.

Рассмотрим еще одну программу: <Приложение1 слайд № 9>.

Var x1,x2,x3 : char;

Begin

x1:=’L’;
x2:=Pred(x1);
x3:=Succ(x1);
Writeln(x1,’ ‘,x2,’ ‘x3)

End.

Что будет напечатано? Запишите в оценочные листы предполагаемые ответы. Я запишу их на доске. И проверим себя, запустим программу на выполнение. <Приложение 6, запускается из Приложения1>. Как и в предыдущем случае начислим себе по одному баллу за каждый правильно определенный символ, запишем полученную сумму в оценочный лист.

В таблице ASCII кодов есть и еще одна особенность: коды заглавных букв следуют в таблице непрерывно друг за другом. <Приложение1 слайд №10>. Коды строчных букв также следуют непрерывно, но на расстоянии 32 символа от прописных, т.е. Оrd(‘A’)=65, a Оrd(‘a’)=97

т.е. Chr(Оrd(‘A’)+32)=’a’. Отметьте этот факт у себя в рабочих листах.

Учитель: А теперь давайте еще раз повторим, что мы сегодня с вами выучили: <Приложение1 слайд № 11>.

  1. Каков результат работы функции Ord(‘F’)?
  2. Каков результат работы функции Chr(87)?
  3. Каков будет результат выполнения команды:: c:= Pred(Succ(Pred(‘D’)))? [2]
  4. Какое значение получит переменная s в операторе s:=Pred(Ord(‘K’)-4)? [2]
  5. На сколько позиций отличается код заглавной и строчной буквы? Код какой буквы больше?
  1. Работа в группах (12 мин).

Учитель: Давайте вспомним теперь о нашем клиенте. У него два сейфа: на работе и дома. Он записал для памяти 2 слова, но ни одно из них не открывает сейфы.

Давайте разделимся на две группы по 5 человек в каждой, руководителем первой группы назначаю ученика N, второй группы – ученицу P. (Если учащихся в классе больше, можно организовать 3 или 4 группы). Сейчас руководитель каждой группы получит по одному слову <Приложение 8> и алгоритмы преобразования каждой буквы этого слова <Приложение 2>. Его задача: распределить внутри группы алгоритмы преобразования в соответствии с результатами в ваших оценочных листах. Каждый член группы должен запрограммировать все преобразования, записанные в его алгоритме, затем сохранить свою программу на общем диске в папке с номером вашей группы. В процессе работы руководитель группы имеет право подходить к своим сотрудникам и консультировать их по возникающим вопросам. По окончании работы его задача: по очереди запустить на выполнение программы, сохраненные в указанной папке, выписать полученные буквы на лист ответов группы и сдать учителю.

  1.  Подведение итогов. Рефлексия (5 мин).

Учитель. Мы с вами сейчас проверим, смогли ли мы помочь нашему клиенту. (<Приложение 1 слайд № 12>.На экране демонстрируется работа программы, проверяющей правильность расшифровки слова каждой группой (написана учителем на языке VisualBasic) <Приложение 7, запускается из Приложения 1>. Учитель в ответ на приглашение программы по очереди вводит слова, полученные от каждой группы. Если каждым участником группы алгоритм преобразования выполнен верно, дверца виртуального сейфа открывается. Если кто-то в группе ошибся, выводится сообщение, в каком символе ошибка.

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

Ученики-руководители групп кратко характеризуют выполненную работу.

Каждый член группы, открывшей сейф, ставит себе за практическую работу пятерку. Если группа не открыла сейф, то те, кто в ней правильно расшифровали свой символ, ставят себе четверку. Те же, кто не справился с заданием, ставят себе 3 балла.

Теперь давайте подведем общий итог: сложите все набранные вами баллы: (<Приложение1 слайд № 13>. )

  • Набравшие 16-17 баллов получают за урок оценку 5;
  • 15-14 баллов – 4;
  • 13-12 – 3,
  • Набравшие меньшее количество баллов, увы, получат двойку. Надеюсь, у нас нет таких результатов.
  1.  Домашнее задание (<Приложение1 слайд № 14>).
  1. Повторить функции символьных переменных и порядкового типа.
  2. Уровень понимания:

Решить задачу [2]: Расшифровать 4-буквенное однословное сообщение. Для получения 4 букв нужно ввести 3 строки:

  • из первой строки прочесть только первую букву
  • из второй строки прочесть только первую букву
  • из третьей строки – первую и вторую буквы

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

  1. Творческий уровень.

Самостоятельно придумать и решить аналогичную задачу.

Список используемой литературы:

  1. Попов В.Б. Turbo Pascal для школьников: 3-е дополненное издание. – М.: Финансы и статистика, 2007
  2. Ушаков Д.М., Юркова Т.А. Паскаль для школьников. – СПб.: Питер, 2005