План урока: Символьные строки


Дата: 24.12.2015 г Дата: 26.12.2015г
Класс: 9 «Б» Класс: 9 «А»
Тема урока: «Символьные строки»
Цели урока:
Образовательные: ввести понятия символьной информации, познакомить учащихся с функциями и процедурами, предназначенными для работы с символьными величинами, сформировать умение решать задачи с использованием символьной информации.
Развивающие: алгоритмическое мышление, познавательную деятельность учащихся; интерес к программированию;  внимательность и самостоятельность при решении задач.
Воспитательные: воспитывать интерес к предмету, аккуратность, внимательность, дисциплинированность.
Тип урока: изучение и закрепление знаний.
Методы обучения: словесный, наглядный, практический.
Формы обучения: коллективная, индивидуальная.
ТСО: ПК, интерактивная доска, мультимедиа проектор.
ПО:
ОС  Microsoft Windows XP Professional.
Среда программирования Turbo Pascal.
План урока:
Постановка темы и целей урока
Изучение нового материала
Первичная проверка усвоения знаний и закрепление знаний
Подведение итогов урока
Домашнее задание  
Постановка темы и целей урока
С помощью компьютера можно решать весьма разнообразные задачи обработки текста: от составления платежных ведомостей до верстки газет. При обработке текстов компьютер должен уметь оперировать не только числами, но и различными нецифровыми символами. Познакомимся с основными приемами обработки текста на компьютере. Тема нашего урока: «Символьный тип данных в языке программирования Pascal» . Мы познакомимся с функциями, предназначенными для работы с символьными величинами, будем  решать задачи с использованием символьной информации.
Изучение нового материала
Для этого необходимо изучить новый материал.
Будем полагать, что текст — это произвольная последовательность символов некоторого алфавита. Алфавитом может служить любое множество символов. Символьный тип данных служит для представления символа, который есть на клавиатуре. Всем имеющимся на клавиатуре символам ставится в соответствие целое число — код символа. Всего кодируется 256 символов. В таблице кодов среди всех символов можно выделить следующие четыре группы:
цифры от 0 (код 48) до 9 (код 57);
латинские прописные буквы от «А» (код 65) до «Z» (код 90);
латинские строчные буквы от «а» (код 97) до «z» (код 122);
русские прописные буквы от «А» (код 128) до «Я» (код 159).
Символы в пределах каждой из групп следуют друг за другом в алфавитном порядке и их коды изменяются при этом на 1. Каждый символ строковой величины занимает 1 байт памяти.
Данные символьного типа могут быть представлены двумя способами:
1.графическим, когда соответствующий символ записывается в апострофах, например: '+' (символ «плюс»);
2.с помощью целочисленного кода, когда рядом со знаком целочисленного кода # указывается целое число — код данного символа в таблице ASCII. Например, #65 — представление латинской прописной буквы «А» с помощью целочисленного кода.
Строкой символов, или символьной (строковой, текстовой) константой, будем называть последовательность символов, заключенную в кавычки. Среди строк пустая строка играет ту же роль, что ноль среди чисел. Максимальная длина текстовой строки — 255 символов.
В Паскале существует тип данных, предназначенный для обработки слов (цепочки символов). Такой тип данных называется строковым (тип string). Строки выводятся на экран посредством стандартной процедуры write {writeln) и        вводятся с клавиатуры с помощью стандартной процедуры read {readlri).Объявление данных типа string:
1.если данные являются константами:
const  <имя_переменной>=<значение>;        
1.если данные являются переменными:
var<имя_переменной>: string;
<имя_переменной>: string[20];
В квадратных скобках указывается максимальная длина строки. Если длина строки не указана, то она считается равной 255 символам — максимально возможной длине.
Операции над строками.
Для строк определена операция объединения (сцепления), которая обозначается знаком + и объединяет несколько строк в одну.
 Например:
A:=’ Новосибирск’;
B:=’ столица Сибири’
С:=A+’- ’+B+’!’
Переменная  С иметь значение ‘Новосибирск- столица Сибири!’
Операции отношения (сравнения двух строк) =,<, >, >=,<=, <> .В результате сравнения двух строк получается логическое значение (true или false). Сравнение происходит слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символов (кодировки).
Например:
'строка'<>'строки'(верно, т.к. не совпадают последние символы),
'Abc'<'abc'(отношение истинно, т.к. код символа 'A' равен 65 в десятичной системе счисления, а код символа 'a' - 97),
'год'>'век'(отношение верно, т.к. буква 'г' в алфавите стоит после буквы 'в', а, следовательно.
‘кот ’=’ кот’ (отношение истинно, т.к совпадают все символы)
 Стандартные функции и процедуры.
Для работы с типом string определены следующие встроенные процедуры и функции:
Стандартные функции работы со строками Функция Что возвращает Типы аргументов Тип функции
length(S) длину строки S S:   stringintegerPos(Sl, S) номер символа, начиная с которого фрагмент S1 входит в строку S, или 0, если S1 не входит в S S,   S1:   stringintegercopy(S, n, m) копирует m символов из строки S, начиная с nS:   string;
n,   m:   integer stringupcase(S[i]) прописной латинский символ charcharСтандартные процедуры работы со строками Процедура Что делает Тип аргументов Где находится результат
Delete (S, n, m) удаляет m символов из строки S, начиная с nS:   string;
n,   m:   integer; в S
Insert (Sl, S ,n) вставляет фрагмент S1 в строку S, начиная с символа n, отодвигая символы вправо S,   S1:   string; 
n:   integer; в S
Str (a, S) преобразует число а в строку S a:   real,   integer; S:   string; в S
val(S, a, code) преобразует строку S, если возможно, в число а с флагом codea:   real,   integer; code:   integer;
 S:   string; в а и code Первичная проверка усвоения знаний и закрепление знаний
Учитель решает задачи на интерактивной доске, учащиеся решают в тетрадях.. Идём обсуждение правильного решения задач.
1.Определить длину строки "Информатики".
K=length(‘Информатики’); K=11
2.Получить из слова " Информатики " слово "форма".
S:=’Информатика’
S1:=copy(S, 3, 5)
S1=’форма’
3.Чему равна строка M:= copy (S,1,4)
S2=’инфо’
4.Получить из слов "Язык", "Turbo", "Pascal" фразу "Язык Turbo Pascal".
A:=’ Язык’;
B:=’ Turbo’
D:= ‘Pascal’
С:=A+’  ’+B+’ ’+D
5.Какова позиция буквы "и" в слове "Книга".
S:=’ Книга ’
S1:= ‘и’
K1=Pos(Sl, S); K1=3
6.Преобразовать "a" в "A".S1:=upcase(‘а’)
7.Чему станет равной строка M1 после выполнения операторов?
М:= ’моток’
М1:=insert(‘ло’,M,3)         
M1=’ молоток’
1.Подведение итогов урока.  
1.Что нового вы узнали?
2.Что на ваш взгляд вам удалось освоить лучше, а что нет?
3.Над чем вам необходимо поработать?
Домашнее задание.
Выучить конспект.
Вопросы для самоконтроля:
1.Что является результатом каждой функции, предназначенной для выполнения операций над строками?
2.Что   является   результатом   действия   функции   (length(a))?
3.Для каждого ли символа имеется код?
4.Верно ли, что символы "А" и "а" имеют одинаковые коды?