Урок информатики в 11-м классе "Строковый тип данных в Turbo Pascal. Функции, процедуры и операции над строками"

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


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

Цели урока:

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

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

Формы обучения: коллективная, индивидуальная.

ТСО: интерактивная доска, ЭВМ, мультимедиа проектор.

Программное обеспечение:

  • Операционная система Microsoft Windows XP Professional.
  • Пакет офисных приложений Microsoft Office.
  • Turbo Pascal.

Структура урока:

  1. Постановка темы и целей урока (1 минута).
  2. Проверка домашнего задания (3 минуты).
  3. Актуализация пройденного материала (3 минуты).
  4. Изучение нового материала (7 минут).
  5. Первичная проверка усвоения знаний и закрепление знаний (15 минут).
  6. Контроль и самопроверка знаний (12 минут).
  7. Подведение итогов урока (2 минуты).
  8. Домашнее задание (2 минуты).

I. Постановка темы и целей урока

Ребята, мы продолжаем с Вами изучать язык программирования Turbo Pascal. Сегодня на уроке мы вспомним, какие простые и составные типы данных мы уже изучили и познакомимся ещё с одним составным типом данных - строки (строковый тип данных). Изучим, какие действия можно выполнять над строками и какие функции и процедуры определены на строках.

II. Проверка домашнего задания

На дом Вам была задана домашняя контрольная работа, состоящая из 3 задач. Вы должны были её выполнить и принести в электронном виде для защиты.

Учащиеся садятся за ПК, открывают в Тurbo Pascal задачи, учитель открывает эти же решённые задачи и демонстрирует на интерактивной доске. Вместе с учащимися идёт проверка решения задач и результатов.

Задачи домашней контрольной работы:

Задан массив из 10 элементов (целые числа). Заменить все элементы, кратные 3 и 5 на ноль.

Система тестов:

Вход Выход
Mассив:

-15 17 270 -142 68 55 -81 -97 -580

Искомый массив:

1 0 17 0 -142 68 0 0 -97 0

Задан массив из 5 элементов (действительные числа). Поменять местами наибольший и наименьший элементы массива.

Система тестов:

Вход Выход
Mассив:

0.2 -22.3 17.6 -1.58 34.005

Искомый массив:

0.2 34.005 17.6 -1.58 -22.3

3. Задан массив из 7 элементов (целые числа). Определить есть ли в нем простые числа, если есть, то вывести их номера и значения на экран.

Система тестов:

Вход Выход
Mассив:

139 55  1000 17 503 48 2

1-й элемент массива - простое число = 139

4-й элемент массива - простое число = 17

5-й элемент массива - простое число = 503

7-й элемент массива - простое число = 2

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

III. Актуализация пройденного материала

Теперь давайте с вами повторим простые и составные типы данных Turbo Pascal, для этого разгадаем кроссворд и увидим какое слово в нём зашифровано. (Кроссворд отображается на интерактивной доске, учащиеся выходят по очереди к доске и отвечают на вопросы кроссворда).

Вопросы:

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

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

Как называется операция упорядочивание элементов массива?

Этот тип данных может принимать одно из двух истинностных значений: true или false.

Как называется функция, которая увеличивает значение элемента на 1 или на i (записывается inc(x,[i]))?

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

Ответы: <Приложение_1>

IV. Изучение нового материала

Строка представляет собой особую форму одномерного массива символов, которая имеет существенное отличие. Массив символов имеет фиксированную длину (количество элементов), которая определяется при описании. Строка имеет две разновидности длины:

Общая длина строки, которая характеризует размер памяти, выделяемый строке при описании.

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

Строка в Turbo Pascal - упорядоченная последовательность символов. Количество символов в строке называется ее длиной. Длина строки в Turbo Pascal может лежать в диапазоне от 0 до 255. Каждый символ строковой величины занимает 1 байт памяти и имеет числовой код в соответствии с таблицей кодов ASCII (American Code for Information Interchange - Американский стандартный код для обмена информацией). <Приложение_2>

Строковая константа Turbo Pascal - последовательность символов, заключенная в апострофы. Например, 'строковая константа', '243'. Два следующих друг за другом апострофа ('') обозначают пустую строку, т.е. строку с нулевой длиной.

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

var <имя_переменной>: string[<максимальная длина строки>]

Например:

var

s1: string[10];

s2: string[20];

smax: string;

В приведенном выше описании строковая переменная s1 может содержать не более 10 символов, переменная s2 - не более 20 символов. Если же при описании строки ее максимальная длина не указывается, то по умолчанию принимается максимально допустимая длина, равная 255 символам (переменная smax).

Действия со строками:

Операция слияния (сцепления, конкатенации) применяется для соединения нескольких строк в одну, обозначается знаком "+". Операция слияния применима для любых строковых выражений, как констант, так и переменных.

Операции отношения позволяют сравнивать строки на отношение равенства  (=), неравенства (<>), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=). В результате сравнения двух строк получается логическое значение (true или false). Сравнение строк производится слева направо посимвольно до первого несовпадающего символа, большей считается та строка, в которой первый несовпадающий символ имеет больший код в таблице кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что короткая строка меньше. Строки равны, если они имеют равную длину и соответствующие символы совпадают.

Например:

'строка'<>'строки'(верно, т.к. не совпадают последние символы),

'Abc'<'abc'(отношение истинно, т.к. код символа 'A' равен 65 в десятичной системе счисления, а код символа 'a' - 97),

'год'>'век'(отношение верно, т.к. буква 'г' в алфавите стоит после буквы 'в', а, следовательно.

На строках оперделены функции:

length(s) - определяет текущую длину строки s. Результат - значение целого типа.

сopy(s, poz, n) - выделяет из строки s, начиная с позиции poz, подстроку из n символов. Здесь s - строковая переменная, poz, n - целочисленные значения.

сoncat(s1, s2, ..., sn) - выполняет объединение (слияние) строк s1, s2, ..., sn в одну строку.

pos(s1, s) - определяет позицию подстроки s1 в строке s. Результат - целое число, равное номеру позиции, где находится первый символ искомой подстроки. Если вхождение подстроки не обнаружено, то результат функции будет равен 0.

На строках оперделены процедуры:

delete(s, poz, n) - удаляет из строки s, начиная с позиции poz, подстроку из n символов. Здесь s - строковая переменная, poz, n - любые целочисленные значения.

insert(s1, s, poz) - вставляет в строку s, начиная с позиции poz, подстроку s1. Здесь s, s1 - строковые переменные, poz - целочисленное значение.

str(x, s) - преобразует число x в строковый формат. Здесь x - любое числовое выражение, s - строковая переменная. В процедуре есть возможность задавать формат числа x. Например, str(x:8:3, s), где 8 - общее число знаков в числе x, а 3 - число знаков после запятой.

val(s, x, kod) - преобразует строку символов s в число x. Здесь s - строковая переменная, x - числовая переменная (именно туда будет помещен результат), kod - целочисленная переменная (типа integer), которая равна номеру позиции в строке s, начиная с которой произошла ошибка преобразования, если преобразование прошло без ошибок, то переменная kod равна 0.

V. Первичная проверка усвоения знаний и закрепление знаний

Учитель решает задачи на интерактивной доске, учащиеся на ЭВМ параллельно с учителем. Идём обсуждение правильного решения задач.

Задача №1: Определить длину строки "Урок информатики".

Задача №2: Получить из слова "математика" слово "тематика".

Задача №3: Получить из слов "Язык", "Turbo", "Pascal" фразу "Язык Turbo Pascal".

Задача №4: Какова позиция буквы "о" в слове "Слон".

Задача №5: Получить из слова "Позитроника" слово "трон".

Задача №6: Получить из слов "Интер", "нет" слово "Интернет".

Задача №7: Преобразовать число 105 в строку, а "67" в число 67.

Задача №8: Преобразовать "a" в "A".

Решения задач: <Приложение_3>

VI. Контроль и самопроверка знаний

Учащимся дается дифференцированное задание, каждый для себя выбирает сколько задач он будет решать.

1 задача - на "3", 1 и 2 задачи - на "4", все три задачи - на "5".

1 задача: Получить из слова "абракадабра" - "академик".

2 задача: Получить из слова "Самолет" - "Полёт птицы" и определить в этом словосочетании позицию буквы "ц".

3 задача: Даны "Информация" и "Логика". Получить из этих слов словосочетание "Информационные технологии" и определить его длину.

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

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

:-) - радость (те, кто оценивают свою работу на уроке на "5"),

;-) - подмигивающая улыбка (те, кто оценивают свою работу на уроке на "4" - были неточности при выполнении заданий),

:-( - грусть (те, кто оценивают свою работу на уроке на "3" - недостаточно поняли тему и следует ещё раз над ней поработать).

<Приложение_4>

Выставляются оценки учащимся за работу на уроке и за решение задач.

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

Выучить лекционный материал.

Литература

  1. Turbo Pascal 7.0 на примерах. / Под ред. Ю.С.Ковтанюка - К.: Юниор, 2003. - 496 с.
  2. Лабораторный практикум по программированию на языке Паскаль: Учебное пособие. / Под ред. Л.В.Найхановой и Н.Ц. Бильгаевой. - 3-е изд. доп. и перераб., - Улан-Удэ, 2004. - 176 с.
  3. Практикум по основам программирования в среде Turbo Pascal 7.0: Методические указания. / Под ред. Н.Ю.Ястремской, А.В.Солдатова - г. Ростов-на-Дону, 2000. - 25 с.