Открытый урок по теме: «Операции над символьными данными»


Муравьёв Виталий Геннадьевич

Учитель информатики

КГУ «Явленская средняя школа №1 им. Т. Позолотина – Героя Советского Союза»

Цели урока:

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

Задачи:

  • Познакомить учащихся с операциями над символьными данными;
  • Закрепить полученные знания.

Обеспечение занятия: мультимедийная доска, компьютер с программой Turbo Pascal.

Тип урока: урок изучение нового материала, применение знаний и умений на практике.

Вид урока: комбинированный

Методы: рассказ, объяснение, демонстрация.

План урока:

  1. Организационный момент(1 мин.)
  2. Проверка домашнего задания (3-5 мин.)
  3. Подготовка к изучению нового материала (2 мин.)
  4. Изучение нового материала(15-18 мин.)
  5. Практическая работа (10-15 мин)
  6. Домашнее задание(1-2 мин.)
  7. Итог урока(1-2 мин.)

1.Организационный момент

Приветствие учащихся. Объяснение целей урока

2.Опрос по домашнему заданию:

Какие виды алгоритмов вы знаете? Расскажите о каждом из них.

Какие типы данных вы знаете, как они записываются на языке Turbo Pascal?

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

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

Сегодня мы познакомимся с новым типом данных. Сегодня мы научимся составлять алгоритмы для нового типа данных – это символьные данные или на алгоритмическом языке они называются литерные.

Величины, значения которых являются тексты, называются литерными. В алгоритмах принято текст заключать в кавычки. Над литерными величинами можно производить некоторые операции:

  1. Операция соединения (склеивания).

Она обозначается знаком «+» и соединяет два текста в один.

Например: «про»+ «грамма»= «программа»

«12» + «13»=1213

Результат соединения текстов зависит от их порядка:

«13» + «12»=1312

  1. Определение длины текста.

Эта операция производится с помощью служебного слова длин. Длина текста определяет количество символом в нем.

Например: длин («программа»)=9

Текст, не содержащий ни одного символа, называется пустым текстом. Его длина равна 0: длин («») = 0.

  1. Операции вырезки.

С помощью этой операции можно вырезать из текста фрагмент. Будем считать, что символы в тексте пронумерованы слева направо.

Например:

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 (х);

  1. Домашнее задание:

Составить программу, которая из слова «ЖЕМЧУЖИНА», выдаст на экран монитора два слова «ЧУЖИЕ» и «МУЖ».

  1. Итог урока: Подведение итогов и выставление оценок.
Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *