Класс: 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:
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.Верно ли, что
символы "А" и "а" имеют одинаковые коды?