Тема: «РАБОТА СО СТРОКОВЫМИ ДАННЫМИ»
Цели:
Обучающая – дать учащимся понятие работы со строковыми типами данных,
познакомить с функциями и процедурами обработки строк.
Развивающая – развивать представление учащихся о хранении и обработке
информации в компьютере, логическое мышление, показать
межпредметную связь между информатикой и математикой.
Воспитывающая – воспитывать умение работать с символьными
переменными, умение применять навыки, полученные ранее
на уроках.
Оборудование и материалы: опорные конспекты – «Общий вид функций:
concat, copy, pos, length», «Общий вид процедур: insert, delete,
str, val»; учебник «Информатика» 9 класс.
Продолжительность: 1 академический час.
План урока:
Оргмомент ;
Повторение, введение в новую тему ;
Объяснение нового материала ;
Понятие и описание строк;
Операция сцепления;
Функции обработки строк:
Функция concat;
Функция copy;
Функция pos;
Функция length;
Процедуры обработки строк:
Процедура insert;
Процедура delete;
Процедура str;
Процедура val;
Проверка усвоения теоретического материала ;
Домашнее задание ;
Итог урока .
ХОД УРОКА:
2. Оргмомент,
Приветствие, проверка посещаемости, объявление темы и цели урока.
3. Повторение, введение в новую тему;
Ребята, вы знаете, что в среде программирования Pascal обязательно описываются типы всех переменных, используемых в программе.
Тип выражения определяется типами входящих в него величин, а также выполняемыми операциями. В языке Pascal тип величины задают заранее, т.к. все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа.
Различают переменные следующих простых типов:
целые символьный логический вещественные
Char Boolean Real, Comp, Double, Single, Extended Integer, Byte, ShortInt, Word, LongInt
3. Объяснение нового материала:
3.1 Понятие и описание строк;
Для обработки текстовых данных используется строковой тип данных String. Строка – это последовательность символов из кодовой таблицы, заключенная в апострофы. Каждая строка характеризуется своей текущей длинною (количеством символов, имеющихся в строке в данный момент), порядком расположения символов. По умолчанию для строк определена максимальная длина, равная 255 символам, но её можно изменить, указав при описании: string [число символов]. Если строка длиннее максимальной длины, то не поместившиеся символы отбрасываются.
Символьным константам можно присваивать имена.
Const st=′строка′;
Символьные переменные описываются в разделе описания переменных с описателем
String.
Var st1,st2:string[10];
st3:string;
begin
st1:=′строка′;
end
Строки выводятся и вводятся с помощью операторов read, readln, write, writeln без организации циклов.
3.2 Операция сцепления;
Над строками выполняется операция сцепления, которая позволяет соединить две или более строк в одну без разделителей с помощью знака «+».
Пример: st1:=′Прог′;
st2:=′ма′;
st3:=st1+′рам′+st2;
Результат: st3=′Программа′;
3.3 Функции обработки строк:
3.3.1 Функция concat;
Сцепление – concat (строка1, строка2, …), Аналогичная операция сцепления.
Пример: Исходные данные: а=′рам′, b=′ма′.
Оператор: s:=concat (′прог,а,b).
Результат: s=′программа′.
3.3.2 Функция copy;
Копировать — copy (строка, число1, число2). Из указанной строки выделяется
подстрока, начиная с позиции, заданной числом1, длиной, заданной числом2.
Пример: Исходные данные: s=′программа′.
Оператор: b:=copy(s,4,5).
Результат: b=′грамм′.
3.3.3 Функция pos;
Позиция – Pos (строка1, строка2). Отыскивает первое вхождение строки1 в строке2 и возвращает номер начальной позиции вхождения или ноль, если строка1 не входит в строку2.
Пример: Исходные данные: s=′программа′.
Оператор: i:=pos(′грамм′,s).
Результат: i=4.
Оператор: i:=pos(′я′,′программа′).
Результат: i=0.
3.3.4 Функция length;
Длина – length(строка). Возвращает длину строки – аргумента.
Пример: исходные данные: s=′программа′.
Оператор: j:=length(s).
Результат: j=9.
3.4 Процедуры обработки строк:
3.4.1 Процедура insert;
Вставить – insert(строка1, строка2, число). Вставляет строку1 в строку2, начиная с позиции, заданной числом. Если в результате получается строка длины больше максимальной, то она усекается справа.
Пример: Исходные данные: S=′программа′.
Оператор: d:=copy(s,4,4).
Результат: d:=′грам′.
Оператор: insert(′м′,d,5).
Результат; d=′грамм′.
3.4.2 Процедура delete;
Удалить – delete(строка, число1, число2). Удаляет из строки подстроку, начиная с позиции, заданной числом1, длиною, заданной числом2. Если число1 больше размера строки, то подстрока не удаляется. Если число2 больше имевщегося количества, то удаляются символы до конца строки.
Пример: Исходные данные: s=′программа′.
Оператор: delete(s,1,3).
Результат: =′грамма′.
Оператор: delete(s,6,1).
Результат: s=′грамм′.
3.4.3 Процедура str;
Преобразовать число в строку – str(число[:М[:N]], строка). Преобразует число в строку. М задаёт общее количество символов, получаемых в строке, N – для вещественных чисел (типа real) задаёт общее количество цифр в дробной части.
Пример:
Оператор: str(123,s).
Результат: s=′123′.
3.4.4 Процедура val;
Преобразовать строку в число – val(строка, число, код). Преобразует строку символов во внутреннее представление числа. Код указывает номер неправильного символа или равен 0 в случае успешного преобразования.
Пример;
Оператор; val(′+12.3′,v,k).
Результат; v=12.3, k=0 {преобразование прошло успешно}
Оператор: val(′23+5′,v,k).
Результат: v=неправильно, k=3 {ошибка при попытке преобразовать третий символ}
4. Проверка усвоения теоретического материала;
Фронтальный опрос.
Какой тип данных описывает строковые переменные?
Как можно провести операцию сцепления, не используя функций?
Какую операцию выполняет функция concat?
С помощью какой функции выполняется копирование из строковой переменной?
Для чего предназначена функция pos?
Что делает функция length?
Какая процедура выполняет функцию вставки?
Какая процедура удаляет из строки подстроку?
Можно ли преобразовать число в строку? Как?
Можно ли преобразовать cтроку в число? Как?
5. Домашнее задание;
1) Работа с конспектом,
2) С помощью изученных сегодня процедур и функций выполните преобразования над любыми выбранными Вами словом
6. Итог урока.
Подведение итогов урока. Выставление оценок.
5