Методическая разработка. Изучение строк посредством объектно-ориентированного языка программирования Borland Delphi, 11 класс
Муниципальное общеобразовательное учреждение
«Средняя общеобразовательная школа № 93»
Новокузнецкого района Кемеровской области
Методическая разработка
по информатике в 11 классе
«Borland Delphi. Строки»
Подготовил:
учитель информатики
Ожигова Ольга Сергеевна
Новокузнецк 2010
Пояснительная записка
Тема: «Delphi. Строки»
Цели:
образовательная: научить решать задачи в Borland Delphi, используя строки;
воспитательная: вызвать интерес к учебному материалу, способствовать укреплению привычки внимательно и аккуратно выполнять учебную работу;
развивающая: способствовать развитию устной и письменной речи учащихся.
Контингент: 11 класс, базовый уровень.
Данная методическая разработка является частью общего курса информатики средней общеобразовательной школы. Эта работа посвящена рассмотрению строк в Borland Delphi и, в общей сложности, рассчитана на 4-5 часов. Она включает в себя теоретические основы по данной теме, фронтальную лабораторную работу, индивидуальную лабораторную работу, а также контрольную работу (в виде теста).
К данной методической разработке есть приложения, в которых приведены решения задач фронтальной и индивидуальной работы посредством языка программирования Borland Delphi.
Требования к ЗУНам до изучения темы: основы программирования и оперирование этими знаниями: интерфейс, форма, модуль, панели, свойства компонентов, знание циклов for, while.
Требования к ЗУНам после изучения темы: знать как описывается этот тип данных, основные функции и процедуры работы со строками в Borland Delphi и уметь решать задачи по данной теме.
Требования к программному и аппаратному обеспечению
В процессе изучения темы потребуется компьютерный класс, оснащённый компьютерами на базе процессоров от Pentium II, имеющих не менее 64 Мб ОЗУ и частотой 200 МГц и выше, на которых установлено следующее программное обеспечение: операционная система Microsoft Windows XP Professional версия 2002 и выше.
Тематическое планирование
№
Тема урока
Тип урока
Кол-во часов
1
Delphi. Строки
Лекция
1
2
Фронтальная лабораторная работа
2
3
Индивидуальная лабораторная работа
1
4
Контрольная работа
1
Урок № 1. Лекция по теме «Delphi. Строки»
Строки могут быть представлены следующим типом: string.
Переменная строкового типа должна быть объявлена в разделе объявления переменных. Инструкция объявления в общем виде выглядит так:
Имя: String;
где:
имя — имя переменной;
string — ключевое слово обозначения строкового типа;
В тексте программы последовательность символов, являющаяся строкой (строковой константой), заключается в одинарные кавычки. Например, чтобы присвоить строковой переменной parol значение, нужно записать:
parol:= 'Большой секрет';
или
parol:= '2001';
Следует обратить внимание, что инструкция parol:=2001; неверная, т.к. тип константы не соответствует типу переменной. Во время компиляции этой инструкции будет выведено сообщение: incompatible types: 'Char' and 'Integer' (типы Char и Integer несовместимы).
Используя операции =, <, >, <=, >=, переменную типа string можно сравнить с другой переменной типа string или со строковой константой. Строки сравниваются посимвольно, начиная с первого символа. Если все символы сравниваемых строк одинаковые, то такие строки считаются равными. Если в одинаковых позициях строк находятся разные символы, большей считается та строка, у которой в этой позиции находится символ с большим кодом. В таблице приведены примеры сравнения строк.
Таблица. Сравнение строк
Строка 1
Строка 2
Результат сравнения
Иванов
Иванов
Строки равны
Васильев
Васильев
Строка 1 больше строки 2
Алексеев
Петров
Строка 1 меньше строки 2
Иванова
Иванов
Строка 1 больше строки 2
Кроме операции сравнения, к строковым переменным и константам можно применить операцию сложения, в результате выполнения которой получается новая строка. Например, в результате выполнения инструкций
S1: ='Иван' ;
S2:='Иванов';
S:=S1+S2;
переменная S получит значение 'Иван Иванов'.
Функция length
Функция length возвращает длину строки. У этой функции один параметр — выражение строкового типа. Значением функции length (целое число) является количество символов, из которых состоит строка.
Например, в результате выполнения инструкций
n:=length('Иванов');
m:=length(' Невский проспект ');
значение переменных n и m будет равно 6 и 20.
Процедура delete
Процедура delete позволяет удалить часть строки. В общем виде обращение к этой процедуре выглядит так:
delete(Строка, р, n)
где:
Строка — переменная или константа строкового типа;
р — номер символа, с которого начинается удаляемая подстрока;
n — длина удаляемой подстроки.
Например, в результате выполнения инструкций
p:='Город Санкт-Петербург';
delete(s,7,6);
значением переменной s будет строка 'Город Петербург'.
Функция роs
Функция роз позволяет определить положение подстроки в строке. В общем виде обращение к функции выглядит так:
pos (Подстрока,Строка) ;
где Подстрока — строковая константа или переменная, которую надо найти в строковой константе или переменной строка.
Например, в результате выполнения инструкции
р := pos('Пе','Санкт-Петербург');
значение переменной р будет равно 7. Если в строке нет искомой подстроки, то значение функции роs будет равно нулю.
Ниже приведена инструкция while, в результате выполнения которой удаляются начальные пробелы из строки st.
while(pos(' ',st) = 1) and(length(st) > 0) do delete (st,1,1);
Пробелы удаляет инструкция delete (st, i, i), которая выполняется в цикле до тех пор, пока первым символом строки является пробел (в этом случае значение роs (' ',st) равно единице). Необходимость проверки условия length (st) > 0 объясняется возможностью того, что введенная строка состоит только из пробелов.
Функция сору
Функция сору позволяет выделить фрагмент строки. В общем виде обращение к функции сору выглядит так:
сору(Строка, р, n) где:
строка — выражение строкового типа, содержащее строку, фрагмент которой надо получить;
р — номер первого символа, с которого начинается выделяемая подстрока;
n — длина выделяемой подстроки. Например, в результате выполнения инструкций.
st:= 'Инженер Иванов'; fam:=copy(st, 9, 6) ;
значением переменной fam будет строка 'Иванов’.
Урок №2
Тема: Фронтальная лабораторная работа
Задача1. Найти количество пробелов и цифр в строке.
1) Открой те Delphi, создайте новую форму, назовите «Строки» и сохраните в своей папке.
2) Поместите на форму следующие компоненты: две кнопки (Button), текстовое окно (Edit) и четыре метки (Label).
3) Кнопки назовите «Решение», «Выход». Одна метка будет содержать условие задачи и располагаться по верхнему краю формы. Вторая метка называется «Введите строку» и расположена ниже условия задачи. Рядом с ней располагается текстовое окно.
Ниже располагаются еще две метки: одна – «Искомое количество», вторая – пустая.
Измените цвет и размер формы, цвет, размер шрифта и размер компонентов.
Если вы все выполнили верно, интерфейс программы выглядит примерно так:
4) Запрограммируйте кнопку выход.
5) Теперь перейдем к кнопке «Решение». Начнем писать процедуру.
Введем переменные: s строкового типа, i и k – целочисленные.
Считаем текст из текстового окно, воспользовавшись свойством Text. Обнулим переменную k, в которую и будем запоминать количество встреченных пробелов.
Далее создадим цикл по i, используя функцию Length (s) (длина строки). А в цикле условие: если в строке есть пробел, то число увеличиваем на 1.
Далее, искомое количество выводится на экран через метку.
Если все выполнено верно, то программа должна выглядеть следующим образом:
//кнопка выход
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
//кнопка решение
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
i,k:integer;
begin
s:=Edit1.Text; //считываем текст из строки
k:=0; //обнуляем переменную k
for i:=1 to Length(s) do //с помощью цикла считаем пробелы
begin
if s[i]=' ' then k:=k+1;
end;
Label4.Caption:=IntToStr(k); //выводим количество пробелов на экран
end;
Задача 2. Дана строка, удалить из нее все группы букв bc.
1) Открой те Delphi, создайте новую форму, назовите «Строки» и сохраните в своей папке.
2) Поместите на форму следующие компоненты: три кнопки (Button), два текстовых окна (Edit) и три метки (Label).
3) Кнопки назовите «Удалить bc», «Выход», «Очистить». Одна метка будет содержать условие задачи и располагаться по верхнему краю формы. Вторая метка называется «Текущая строка» и расположена ниже условия задачи. Рядом с ней располагается текстовое окно.
Ниже располагаются еще одна метка – «Исправленная строка» и рядом с ней текстовое окно. Кнопки расположены ниже.
Измените цвет и размер формы, цвет, размер шрифта и размер компонентов.
Если вы все выполнили верно, интерфейс программы выглядит примерно так:
4) Запрограммируйте кнопку выход.
5) Запрограммируйте кнопку очистить.
6) Теперь перейдем к кнопке «Удалить bc». Начнем писать процедуру.
Введем переменные: s строкового типа, g – целого.
Считаем текст из текстового окно, воспользовавшись свойством Text.
Далее создадим цикл While, а затем с помощью функции Pos определим позицию вхождения в строку группы букв bc, а с помощью процедуры Delete удалим эту группу букв.
Далее, измененная строка выводится на экран в текстовое окно.
Если все выполнено верно, то программа должна выглядеть следующим образом:
//кнопка Удалить bc
procedure TForm1.Button1Click(Sender: TObject);
var s: string;
g: integer;
begin
s:=Edit1.Text; //считываем строку
while Pos('bc',s)>0 do //определяем позицию вхождения в строку группы букв bc
begin
g:=Pos('bc',s); delete(s,g, 2); //удаляем из строки группы букв bc
end;
Edit2.Text:=s; //выводим исправленную строку в текстовое окно
end;
//кнопка очистить
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Clear; //очищаем текстовые окна для повторного заполнения
Edit2.Clear;
end;
//кнопка выход
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;
Задача 3. Дана две строки, имеющие одинаковую длину. Образовать строку, в которой должны чередоваться символы этих двух строк.
1) Открой те Delphi, создайте новую форму, назовите «Строки» и сохраните в своей папке.
2) Поместите на форму следующие компоненты: две кнопки (Button), одну кнопку (BitBtn), три текстовых окна (Edit) и четыре метки (Label).
3) Кнопки назовите «Объединить», «Очистить». Одна метка будет содержать условие задачи и располагаться по верхнему краю формы. Вторая метка называется «Первая строка» и расположена ниже условия задачи. Рядом с ней располагается текстовое окно.
Ниже располагается еще одна метка – «Вторая строка» и рядом с ней текстовое окно. Еще ниже расположена еще одна метка – «Образованная строка» и рядом с ней текстовое окно Кнопки расположены ниже.
Используя свойство Kind кнопки BitBtn, сделайте выход из программы не программируя кнопку.
Измените цвет и размер формы, цвет, размер шрифта и размер компонентов.
Если вы все выполнили верно, интерфейс программы выглядит примерно так:
4) Запрограммируйте кнопку очистить.
5) Теперь перейдем к кнопке «Объединить». Начнем писать процедуру.
Введем переменные: s, s1, s2 строкового типа, i – целого.
Считаем текст из текстовых окон, воспользовавшись свойством Text.
Затем выполним проверку: одинаковой ли длины введенные строки? Воспользуемся процедурой ShowMessage для вывода сообщения.
Обнуляем строку s, присвоив ей пустое значение.
Далее в цикле For складываем две строки.
Далее, измененная строка выводится на экран в текстовое окно.
Если все выполнено верно, то программа должна выглядеть следующим образом:
//кнопка очистить
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
end;
//кнопка объединить
procedure TForm1.Button1Click(Sender: TObject);
var s, s1, s2 : string;
i: integer;
begin
s1:=Edit1.Text; //считаем строку из текстового окна
s2:=Edit2.Text;
if length(s1)<> length(s2) then //сделаем проверку
begin
ShowMessage('Строки должны быть одинаковой длины!!!');
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
end
else
begin
s:=' '; //изначально строка пустая
for i:=1 to length(s1) do
s:=s+s1[i]+s2[i]; //складываем две строки
Edit3.Text:=s; //выводим полученную строку в текстовом окне
end;
end;
Индивидуальная лабораторная работа
Карточка №1
Определить количество слов, в которых совпадает первая и последняя буква.
Карточка №2
Дана строка с пробелами. Подсчитать количество слов.
Карточка №3
Исключить символы в скобках и сами скобки
Контрольная работа по теме “Delphi. Строки”
1. Каким типом могут быть представлены строки:
а) integer;
б) char;
в) boolean;
г) string.
2. Чтобы присвоить строковой переменной s значение, нужно записать:
а) s=’2008’;
б) s:=”2008”;
в) s=”2008”;
г) s:=’2008’.
3. Какое значение получит переменная s, в результате выполнения следующих инструкций:
s1=’Иван’;
s2=’Иванов’;
s=s1+s2;
а) переменная s получит значение ’Иван Иванов’;
б) переменная s получит значение ’Иванов Иван’;
в) программа не выполнится из-за синтаксической ошибки;
г) программа не выполнится из-за орфографической ошибки.
4. В результате выполнения инструкций: n:=length(‘Иванов’), значение переменной n будет равно:
а) 6;
б) 7;
в) 8;
г)10.
5. Функция length –
а) позволяет удалить часть строки;
б) возвращает длину строки;
в) определяет положение строки в подстроке;
г) выделяет фрагмент строки.
6. Delete (a, p, n), где n –
а) переменная строкового типа;
б) номер символа, с которого начинается выделяемая строка;
в) длина выделяемой строки;
г) длина удаляемой строки.
7. Copy (a, p, n), где p –
а) длина удаляемой подстроки;
б) переменная строкового типа;
в) номер символа, с которого начинается выделяемая подстрока;
г) длина выделяемой строки.
8. В результате выполнения инструкций
st:=’Инженер Иванов’;
st1:= copy (st, 9, 6);
значение переменной st1 будет:
а) st1:=’Инженер’;
б) st1:=’Иванов’;
в) программа не выполнится из-за синтаксической ошибки;
г) программа не выполнится из-за орфографической ошибки.
9. Функция Pos –
а) позволяет удалить часть строки;
б) возвращает длину строки;
в) определяет положение строки в подстроке;
г) выделяет фрагмент строки.
10. В результате выполнения инструкций
p:=’Город Санкт-Петербург’;
Delete (s, 7, 6);
значение переменной s будет:
а) программа не выполнится из-за синтаксической ошибки;
б) программа не выполнится из-за орфографической ошибки;
в) s:=’Санкт-Петербург’;
г) s:=’Город Петербург’.
Критерии оценки:
«5» - 9-10
«4» - 7-8
«3» - 5-6
«2» - менее 5
Список использованной литературы
Валеева Ю.И. Borland Delphi. Учебное пособие / Ю.И. Валеева, М.С. Можаров – Новокузнецк: Изд-во КузГПА, 2007. – 342с.
Можаров М.С. Языки и методы программирования. TURBO PASCAL / Учебное пособие. – Новокузнецк, Изд-во НГПИ, 2001. – 267с.
Фиошин М.Е. Информатика и ИКТ. Профильный уровень. В 2 ч. Ч. 2: 11 кл.: учеб. для общеобразоват. учреждений. – М.: Дрофа, 2009. – 478с.
Нравится материал? Поддержи автора!
Ещё документы из категории информатика:
Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.
После чего кнопка «СКАЧАТЬ» станет доступной!
Кнопочки находятся чуть ниже. Спасибо!
Кнопки:
Скачать документ