Открытый урок по теме: «Операции над символьными данными»
Муравьёв Виталий Геннадьевич
Учитель информатики
КГУ «Явленская средняя школа №1 им. Т. Позолотина – Героя Советского Союза»
Цели урока:
- дидактическая:
– углубить знания о языке Pascal; - воспитательная:
– воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости;
– формирование чувства коллективизма; - развивающая:
– развитие внимания, рукописного письма и логического мышления.
Задачи:
- Познакомить учащихся с операциями над символьными данными;
- Закрепить полученные знания.
Обеспечение занятия: мультимедийная доска, компьютер с программой Turbo Pascal.
Тип урока: урок изучение нового материала, применение знаний и умений на практике.
Вид урока: комбинированный
Методы: рассказ, объяснение, демонстрация.
План урока:
- Организационный момент(1 мин.)
- Проверка домашнего задания (3-5 мин.)
- Подготовка к изучению нового материала (2 мин.)
- Изучение нового материала(15-18 мин.)
- Практическая работа (10-15 мин)
- Домашнее задание(1-2 мин.)
- Итог урока(1-2 мин.)
1.Организационный момент
Приветствие учащихся. Объяснение целей урока
2.Опрос по домашнему заданию:
Какие виды алгоритмов вы знаете? Расскажите о каждом из них.
Какие типы данных вы знаете, как они записываются на языке Turbo Pascal?
- Изучение нового материала
Прежде чем перейти к объяснению нового материала хотелось бы сказать, что если кто-то из вас хочет в будущем работать программистом, веб-дизайнером, разработчиком сайтов, разработчиком мобильных приложений и т.д., то данная программа Паскаль позволит вам освоить первичное программирование, и чтоб добиться своей цели нужно совершенствовать свои знания и изучать другие языки программирования.
Сегодня мы познакомимся с новым типом данных. Сегодня мы научимся составлять алгоритмы для нового типа данных – это символьные данные или на алгоритмическом языке они называются литерные.
Величины, значения которых являются тексты, называются литерными. В алгоритмах принято текст заключать в кавычки. Над литерными величинами можно производить некоторые операции:
- Операция соединения (склеивания).
Она обозначается знаком «+» и соединяет два текста в один.
Например: «про»+ «грамма»= «программа»
«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:= ‘пила’;
var
t: string [100];
1: integer;
begin
t:=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.
5.Практическая работа
Самостоятельно на компьютерах составить программу по следующему заданию:
а) а:=’КАНАТОХОДЕЦ’;
b:= сору (а,3,2) + сору (а,7,3) + сору (а,1,2);
writeln (b);
б) t:=’КОМПЬЮТЕР’;
х:= copy (t,l,4) + ‘ос’ + copy (t,7,3);
writeln (х);
- Домашнее задание:
Составить программу, которая из слова «ЖЕМЧУЖИНА», выдаст на экран монитора два слова «ЧУЖИЕ» и «МУЖ».
- Итог урока: Подведение итогов и выставление оценок.