Урок «Операции над символьными данными»


Тема: Операции над символьными данными
Цели урока:
дидактическая:– углубить знания о языке Pascal;
воспитательная:– воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости;– формирование чувства коллективизма;
развивающая:– развитие внимания, рукописного письма и логического мышления.
Задачи:
Познакомить учащихся с операциями над символьными данными;
Закрепить полученные знания.
Обеспечение занятия: мультимедийная доска, компьютер с программой Turbo Pascal.
Тип урока: урок изучение нового материала, применение знаний и умений на практике.
Вид урока: комбинированный
Методы: рассказ, объяснение, демонстрация.
Ход урока:
1.Организационный момент
Приветствие учащихся. Объяснение целей урока
2.Опрос по домашнему заданию:
Какие виды алгоритмов вы знаете? Какие типы данных вы знаете на языке Turbo Pascal?
3.Изучение нового материала
Сегодня мы научимся составлять алгоритмы для нового типа данных – это символьные данные или на алгоритмическом языке они называются литерные.
Величины, значения которых являются тексты, называются литерными. В алгоритмах принято текст заключать в кавычки. Над литерными величинами можно производить некоторые операции:
Операция соединения (склеивания).
Она обозначается знаком «+» и соединяет два текста в один.
Например: «про»+ «грамма»= «программа»
«12» + «13»=1213
Результат соединения текстов зависит от их порядка:
«13» + «12»=1312
Определение длины текста.
Эта операция производится с помощью служебного слова длин. Длина текста определяет количество символом в нем.
Например: длин («программа»)=9
Текст, не содержащий ни одного символа, называется пустым текстом. Его длина равна 0: длин («») = 0.
Операции вырезки.
С помощью этой операции можно вырезать из текста фрагмент. Будем считать, что символы в тексте пронумерованы слева направо.
Например:
123456789
Если А= «программа», то А [4, 5] = «грамм»
начало                        количество
вырезки          вырезаемых символов
 
где начало вырезки – номер первого символа вырезаемого фрагмента.
Комбинируя операции вырезки и соединения можно получать из одних текстов другие.
Для перевода алгоритма на язык Pascal понадобятся данные строкового типа.
Строка — последовательность символов кодовой таблицы ASCII.
Длина строки не должна превышать 255 символов. Переменная строкового типа описывается в разделе переменных следующим образом:
var a: string; b: string [25];
Значение, заключенное в квадратные скобки, определяет максимально допустимую длину строки — 25, по умолчанию она равна 255.
Для хранения строки в n символов необходимый объем памяти равен n + 1байта, т.к. в нулевом байте хранится длина строки.
К отдельным символам строки можно обратиться по номеру (индексу) данного символа в строке. Например, выражение а[3] обеспечит доступ к третьему по счету символу строки а; а[0] — обеспечивает доступ к нулевому байту, содержащему длину строки.
Для обработки строковых данных можно использовать специальные (встроенные) функции и процедуры Turbo Pascal:
 Функция Назначение функции
concat (sl,s2…, sn) Сцепление (соединение строк): concat (‘про’, ‘грамма’) => программа
length (s) Определение длины строки: length (‘программа’) => 9
copy (s, n, k) Вырезка из строки s, начиная с позиции n, k штук символов. Если а:= ‘программа’, то сору (а, 4, 5) => грамм
pos (s1, s) Поиск подстроки s1 в строке s. Результат — номер позиции, с которой начинается подстрока s1 в строке s: pos(‘a’, ‘м а ма’) => 2
 Пример: Написать алгоритм, конструирующий из слов «ку», «шка», «юшон», «пила» фразу: «кукушка кукушонку купила капюшон» и определить ее длину.
program primer1;
const a:= ‘ку’; b:= ‘шка’; c:= ‘юшон’; d:= ‘пила’;
vart: string [100];
1: integer;
begint:=a + a + b + ‘ ‘ + a + a + copy(c, 2, 3) + a + ‘ ‘ + a + d + ‘ ‘ + copy(b, 2, 2) + copy(d, 1, 1) + c;
l:=length(t);
writeln( ‘Строка t=’,t);
writeln( ‘Длина строки =’,1);
readln;
end.
4.Практическая работа
Самостоятельно на компьютерах составить программу по следующему заданию:
а) а:=’КАНАТОХОДЕЦ’;
b:= сору (а,3,2) + сору (а,7,3) + сору (а,1,2);
writeln (b);
б) t:=’КОМПЬЮТЕР’;
х:= copy (t,l,4) + ‘ос’ + copy (t,7,3);
writeln (х);
5.Домашнее задание:
Составить программу, которая из слова «ОПЕРАЦИЯ», выдаст на экран монитора слова «РАЦИЯ», «ОПЕРА» и «ОПЦИЯ».6.Итог урока: Подведение итогов и выставление оценок.