Открытый урок «Символьный и строковый типы данных» Учитель: Унская Тамара Юльевна Тема: Символьный и строковый типы данных Класс: 8 Тип урока: комбинированный: проверка знаний – компьютерное тестирование; новый материал – задание web-квеста; закрепление – практические упражнения; проверка знаний – устный опрос, решение проблемы урока. Цель урока: Формирование у обучающихся навыков самостоятельной работы с ресурсами Интернета по заданной теме, закрепление правил написания программ на языке Pascal. Задачи урока: 1. Обучающие: 1. Научить оперировать целочисленным и строковым типами данных. 2. Углубить знание о типах данных Pascal. 3. Тренировать навыки работы в оболочке программы Pascal.ABC.NET. 4. Тренировать умение находить информацию в сети Интернет. 2. Развивающие: 1. Развивать умения анализировать. 2. Осуществлять навык поиска и выделения необходимой информации. 3. Продолжить развитие умения устанавливать причинно-следственные связи. 4. Формировать умения работы в сети Интернет. 3. Воспитательные: 1. Совершенствовать навыки общения. 2. Вовлечь в активную деятельность. План урока: 1. Организационный момент (1 мин). 2. Повторение материала предыдущего урока + проверка домашнего задания (компьютерное тестирование) (6 мин). 3. Объяснение нового материала (10 мин). 4. Физкультминутка – гимнастика для глаз (1 мин). 5. Закрепление (25 мин) o разбор примеров, практические упражнения (18 мин); o устный опрос, решение проблемы урока (7 мин). 6. Обобщение урока, домашнее задание (2 мин). Оборудование и программный материал: оболочка программы Pascal.ABC.NET. программа MyTest или TestEdu v1.17; учительский и ученические ПК; возможность выхода в Интернет; web-квест «Основы алгоритмики»; карточки с задачами на языке Pascal. Применяемые технологии: 1. Проблемного обучения. 2. Личностно-ориентированного подхода, развивающего обучения. 3. Web-квест. 4. Игровая. 5. ИКТ. Используемые методы: репродуктивный; объяснительно-иллюстративный; проблемного изложения материала; исследовательский; сравнительно-аналитический; фронтальный опрос: индивидуальная – работа с электронными источниками информации; самостоятельная работа за компьютером; компьютерное тестирование; коллективное обсуждение. Ход урока. 1. Организационный момент Приветствие. 2. Повторение материала предыдущего урока + проверка домашнего задания (компьютерное тестирование) Для проверки домашнего задания пересядьте, пожалуйста, за компьютеры. Откройте тест «Целочисленный тип данных» на рабочем столе. На работу вам дается 5 минут. Начали! Тест: 1. Переменные целого типа могут принимать только целые значения. Верно ли данное утверждение? >>>>>>>>>>>> Да 2. Сколько байтов памяти отводится для типа integer: >>>>>>>>>>>> 2 3. Найдите ошибку в записи: a; b; c: integer; >>>>>>>>>>>> после а b встречено ";" ожидалось "," 4. Число 724 можно отнести к integer ? >>>>>>>>>>>> Да 5. Что значит "диапазон допустимых значений"? >>>>>>>>>>>> Переменная может принимать значения данного диапазона чисел 6. Укажите верные операции над целыми числами: >>>>>>>>>>>> + - * / mod div 7. Как называются перечисленные операции? "< > => =< <> =" >>>>>>>>>>>> отношения 8. Какие операции можно производить над данными целочисленного типа? >>>>>>>>>>>> Арифметические и отношения 9. Что возвращает функция random ? >>>>>>>>>>>> Случайное число 10. Что возвращает функция succ ? >>>>>>>>>>>> Следующее число Заканчиваем работу с тестом и анализируем свои ошибки: каков процент выполнения и почему. Теперь развернитесь ко мне лицом. Объяснение нового материала Что ж, мои юные программисты, продолжаем изучать алгоритм. Что является величиной алгоритма? (информационный объект: число, символ, таблица). Каждый объект является данными для программы и имеет свой тип. Что мы знаем о типах данных? (Тип определяет множество допустимых значений объекта, а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет формат внутреннего представления данных в памяти ПК.) Тема сегодняшнего урока: «Строковый тип данных». На доске вы видите вопрос: «Есть ли различия между строковым и целочисленным типом данных?». В конце урока мы должны решить данную проблему и ответить на озвученный вопрос. Разворачиваемся к компьютерам. Продолжаются путешествия наших героев: Ванинепоседы, Тимы-мыслителя и Данилы-мастера. (Сайт учителя tamau.ucoz.ru : Технологии – Web-квест – Примеры web-квестов – Web-квест «Основы алгоритмики») Открываем 5 задание web-квеста (Картинка «Кит»). С первой ссылкой мы уже работали, открываем вторую ссылку «ЗДЕСЬ». Итак, назовите тему сегодняшнего урока. (Строковый тип данных) Выписываем в тетрадь название, обозначение, диапазон значений, формат, операции. По ходу работы с содержимым web-страницы учитель уточняет и конкретизирует сведения о строковом типе. Строковый тип данных Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки. Синтаксис: var s: string[n]; var s: string; Учитель: Какие данные описываются строковым типом? Как записывается тип (назовите индентификатор)? n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255. Учитель: Каков диапазон? Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв). Пример: 'Текстовая строка' #54#32#61 'abcde'^A^M 3. Пустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается. Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены. Учитель: Приведите примеры записи строковых констант в программе. В Турбо Паскаль имеется простой доступ к отдельным символам строковой переменной: i-й символ переменной st записывается как st[i]. Например, если st - это 'Строка', то st[1] это 'С', st[2] - это 'т', st[3] - 'р' и так далее. Учитель: Важно! Можно определить порядковый номер символа в строке. Над строковыми данными определена операция слияния (конкантенации), обозначаемая знаком +. Например: a := 'Turbo'; b := 'Pascal'; c := a + b; В этом примере переменная c приобретет значение 'TurboPascal'. Учитель: С помощью слияния двух строк получается третья, операция записывается как арифметическая «сложение». Кроме слияния над строками определены операции сравнения <,>,=,<>,<=,>=. Две строки сравниваются посимвольно, слева направо, по кодам символов. Если одна строка меньше другой по длине, недостающие символы короткой строки заменяются символом с кодом 0. Учитель: какие еще операции можно производить над строковым типом данных? Как происходит сравнение? Очень близок к символьному типу еще один текстовый тип, только там используется один… ЧТО? Правильно: символ, записывается он char. Каждому символу алфавита соответствует индивидуальный числовой код от 0 до 255. Операции над данными можно производить те же, что с символьным типом. Выражения типа char можно присваивать любым строковым переменным. 4. Закрепление . o разбор примера (20 мин); Вы получили примеры программ с строковым типом данных. Рассмотрим первый пример «Введение данных ученика: фамилия, имя»: var fam,name: string; begin writeln ('Введите фамилию',fam); readln (fam); writeln ('Введите имя',name); readln (name); write (fam,' ',name); end. Назовите переменные, определите соответствующий им тип данных. Обратите внимание на исполняемую область – что будет выведено в результате программы? Рассмотрим второй пример «Преобразование числа в строку и обратно». Здесь используются 2 типа данных, потому что мы оперируем с 2 величинами: «число 365» и «строка «365»». var s: string; num: integer; begin s := '356'; num := StrToInt(s); writeln('Число, соответствующее строке ''',s,''' - это ',num); num := 563; s := IntToStr(num); writeln('Строка, соответствующая числу ',num,' - это ''',s,''''); end. Теперь самостоятельно введите текст третьей программы в оболочку Pascal.ABC.NET, результатом программы будет сумма кодов каждой буквы слова БАЙТ: var a: string; i,b:byte; begin a:= 'БАЙТ'; b:=ord(a[1])+ord(a[2])+ord(a[3])+ord(a[4]); writeln (b); end. Кто готов? Выполните программу, исправьте высветившиеся ошибки. (Учитель проверяет правильность записи текста программы и помогает индивидуально тем, у кого проблемы). 5. Физкультминутка. Пересаживаемся за парты. Очки положите на стол, и 1) Следите за моей ладонью только глазами (вправо-влево, вверх-вниз), 2) теперь упражнение «Своя ладонь у лица, ладонь учителя у доски», посмотрите в окно, 3) закройте глаза ладошками, не нажимая. Обсуждение проблемы урока. Итак. Мы подробно разобрали новый тип данных. Ответьте мне на вопрос: есть ли различие между строковым и целочисленным типами данных? Да. Теперь давайте обсудим, в чем состоит это различие. И помогут нам в этом герои квеста: Ваня-непоседа, Тима-мыслитель и Данила-мастер. Что заметил наш непоседа? (Внешние различия: Разное обозначение в программе, Целочисленным типом описываются числа, а строковым – последовательность любых символов) Что определил мыслитель? (Свойства: в диапазон целочисленных типов входят числа от и до числовых значений, а вдиапазон строкового типа составляет длина строки, количество символов от и до, составляющих эту строку) Что выделил мастер? (Операции: Над данными целочисленного типа можно производить все арифметические операции, а над данными строкового типа – операцию слияния, которая похожа на операцию сложения, но это не одно и то же. Кроме того, сравнение происходит по коду символа слева направо, а в целочисленном сравниваются значения самих величин. 6. Обобщение урока, домашнее задание Записываем Д.З. в тетрадь: §3.3.3, №14. Задание также есть в электронном дневнике. Что сегодня мы узнали на уроке? - Подробно разобрали символьный тип данных. - Потренировались в написании программ. - Выполнили задания квеста. - Ответили на проблемный вопрос. Рефлексия: Ребята, я прошу вас в карточках отметить те предложения, которые описывают ваши впечатления и чувства. Спасибо за урок.