Дата:
Тема урока: «Символьные строки»
Цели урока:
Образовательные: ввести понятия символьной информации, познакомить учащихся с функциями и процедурами, предназначенными для работы с символьными величинами, сформировать умение решать задачи с использованием символьной информации.
Развивающие: алгоритмическое мышление, познавательную деятельность учащихся; интерес к программированию; внимательность и самостоятельность при решении задач.
Воспитательные: воспитывать интерес к предмету, аккуратность, внимательность, дисциплинированность.
Тип урока: изучение и закрепление знаний.
Методы обучения: словесный, наглядный, практический.
Формы обучения: коллективная, индивидуальная.
ТСО: ПК, интерактивная доска, мультимедиа проектор.
ПО:
1. ОС Microsoft Windows XP Professional.
2. Среда программирования Turbo Pascal.
План урока:
1. Постановка темы и целей урока
2. Изучение нового материала
3. Первичная проверка усвоения знаний и закрепление знаний
4. Подведение итогов урока
5. Домашнее задание
Постановка темы и целей урока
С помощью компьютера можно решать весьма разнообразные задачи обработки текста: от составления платежных ведомостей до верстки газет. При обработке текстов компьютер должен уметь оперировать не только числами, но и различными нецифровыми символами. Познакомимся с основными приемами обработки текста на компьютере. Тема нашего урока: «Символьный тип данных в языке программирования Pascal» . Мы познакомимся с функциями, предназначенными для работы с символьными величинами, будем решать задачи с использованием символьной информации.
Изучение нового материала
Для этого необходимо изучить новый материал.
Будем полагать, что текст — это произвольная последовательность символов некоторого алфавита. Алфавитом может служить любое множество символов. Символьный тип данных служит для представления символа, который есть на клавиатуре. Всем имеющимся на клавиатуре символам ставится в соответствие целое число — код символа. Всего кодируется 256 символов. В таблице кодов среди всех символов можно выделить следующие четыре группы:
1. цифры от 0 (код 48) до 9 (код 57);
2. латинские прописные буквы от «А» (код 65) до «Z» (код 90);
3. латинские строчные буквы от «а» (код 97) до «z» (код 122);
4. русские прописные буквы от «А» (код 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). Сравнение происходит слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символов (кодировки).
Например:
1. 'строка'<>'строки'(верно, т.к. не совпадают последние символы),
2. 'Abc'<'abc'(отношение истинно, т.к. код символа 'A' равен 65 в десятичной системе счисления, а код символа 'a' - 97),
3. 'год'>'век'(отношение верно, т.к. буква 'г' в алфавите стоит после буквы 'в', а, следовательно.
4. ‘кот ’=’ кот’ (отношение истинно, т.к совпадают все символы)
Стандартные функции и процедуры.
Для работы с типом string определены следующие встроенные процедуры и функции:
Стандартные функции работы со строками |
|||
Функция |
Что возвращает |
Типы аргументов |
Тип функции |
length(S) |
длину строки S |
S: string |
integer |
Pos(Sl, S) |
номер символа, начиная с которого фрагмент S1 входит в строку S, или 0, если S1 не входит в S |
S, S1: string |
integer |
copy(S, n, m) |
копирует m символов из строки S, начиная с n |
S: string; n, m: integer |
string |
upcase(S[i]) |
прописной латинский символ |
char |
char |
Стандартные процедуры работы со строками |
|||
Процедура |
Что делает |
Тип аргументов |
Где находится результат |
Delete (S, n, m) |
удаляет m символов из строки S, начиная с n |
S: 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, если возможно, в число а с флагом code |
a: 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.Верно ли, что символы "А" и "а" имеют одинаковые коды?
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.