Язык программирования PASCAL. Работа со строковыми данными.
Язык программирования PASCAL. Работа со строковыми данными.
Данный урок знакомит учащихся с основыми функциями и процедурами обработки строк языка программирования PASCAL. В материале приведены примеры использования функций обработки строк, таких как : concat, copy, pos, length, а также процедур обработки строк (insert, delete, str,val). В заключении урока проверка усвоения теоретического материала.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Приветствие, проверка посещаемости, объявление темы и цели урока.
3.Повторение, введение в новую тему;
Ребята, вы знаете, что в среде программирования Pascalобязательно описываются типы всех переменных, используемых в программе.
Тип выражения определяется типами входящих в него величин, а также выполняемыми операциями. В языке Pascalтип величины задают заранее, т.к. все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа.
Различают переменные следующих простых типов:
целые
символьный
логический
вещественные
Char
Boolean
Real, Comp, Double, Single, Extended
Integer, Byte, ShortInt, Word, LongInt
3. Объяснение нового материала:
3.1 Понятие и описание строк;
Для обработки текстовых данных используется строковой тип данных String. Строка – это последовательность символов из кодовой таблицы, заключенная в апострофы. Каждая строка характеризуется своей текущей длинною (количеством символов, имеющихся в строке в данный момент), порядком расположения символов. По умолчанию для строк определена максимальная длина, равная 255 символам, но её можно изменить, указав при описании: string [число символов]. Если строка длиннее максимальной длины, то не поместившиеся символы отбрасываются.
Символьным константам можно присваивать имена.
Constst=′строка′;
Символьные переменные описываются в разделе описания переменных с описателем
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) С помощью изученных сегодня процедур и функций выполните преобразования над любыми выбранными Вами словом