Смекни!
smekni.com

Строковые переменные (стр. 2 из 4)

количество слов, являющихся палиндромами.

9.Дан текст. Вывести слова, встречающиеся в тексте по одному разу.

10.Дан текст. Вывести различные слова.

Примечание. Термин ‘текст’ в условиях задач следует понимать в смысле первого примера экспериментальной части данного занятия.

РАБОТА СО СТРОКАМИ

Тип String (строка) в Турбо Паскале широко используется для обработки текстов. Этот тип является стандартным и во многом похож на одномерный массив символов Array [0..N] of Char. Значение N соответствует количеству символов в строке и может меняться от 0 до 255. Символы, входящие в строку, занимают позиции с 1 до N. Начальный байт строки с индексом 0 содержит информацию о ее длине, т.е. это символ с кодом, равным длине строки.

Можно также описывать переменные типа String[K], где K - целое число не больше 255. Так определяются строки с длиной не больше K. Этот тип уже не является стандартным. С символами строки можно работать как с элементами массива из символов, но в отличие от массивов, строки можно вводить целиком, сравнивать друг с другом и сцеплять операцией "+".

ПРИМЕР: Работа со строками.

var s,x,y,z:string;

begin

x:='turbo';

y:='pascal';

z:=x+' '+y; { z='turbo pascal' }

s:=''; { пустая строка }

for c:='a' to 'z' do s:=s+c; { s='abcd..xyz' }

writeln(s);

end.

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

ПРИМЕР: Сравнение строк.

'abcd' > 'abcD' { 'd'>'D' }

'abcd' > 'abc' { 'd'>'' }

'a b c' < 'a xx c' { ' b '<' x ' }

'abcd' = 'abcd'

Существует ряд стандартных функций и процедур для работы со строками.

· Функция Length(s) выдает длину строки s.

· Функция Concat(s1,s2,..,sn) возращает строку s1+s2+..+sn.

· Функция Copy(s,p,k) возвращает фрагмент строки s, который начинается в позиции p и имеет длину k.

· Функция Pos(s1,s) ищет первое вхождение подстроки s1 в строку s и возвращает номер первого символа s1 в строке s или 0 если не нашли.

· Процедура Delete(s,p,k) удаляет из строки s фрагмент, который начинается в позиции p и имеет длину k.

· Процедура Insert(s,s1,p) вставляет в строку s подстроку s1, начиная с заданной позиции p.

Турбо Паскаль позволяет производить преобразования числовых значений в строковые и наоборот. Для этого используются процедуры Str(X:n:d,S) и Val(S,X,e). Первая получает их числа X строку S с изображением этого числа, в которой не менее n символов и из них d знаков после запятой. Параметры n и d необязательные. Вторая процедура получает из строки S число X. При успешном результате e=0.

Урок 1

Вид урока: лекция.

Тема:«Понятие строковой переменной».

Цель: • познакомить учащихся с новым типом переменных;

• развить память, мышление;

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

План.

1. Орг. момент.

2. Изложение нового материала.

3. Закрепление нового материала (решение задач).

4. Итог, домашнее задание.

Ход урока.

II. Строка представляет собой цепочку символов, в которую могут входить прописные и строчные буквы, цифры, знаки препинания и некоторые специальные символы, в том числе и пробел.

Строковое значение заключается в апострофы. Например, ‘ A + B ’, ‘урок’, ‘5 + 4’, ’45’.

Строка, не содержащая ни одного символа, называется пустой ( ’ ’ ).

Переменные, которые могут принимать только строковые значения, называются строковыми.

В Pascal строковый тип переменных задается в разделе описания переменных с помощью ключевого слова string. При этом можно указать количество символов в строке.

Например, varA: string [5].

Если количество символов не указано, то оно по умолчанию считается равным 255. Значения строковых переменных задаются либо оператором присваивания ( := ), либо операторами read или readln,позволяющими вводить эти значения с клавиатуры.

Напишем программу – приветствие: ЭВМ запрашивает ваше имя, затем выводит сообщение «Здравствуй, …!».

program privet;

uses crt;

var A: string;

begin

clrscr;

write (‘ введите ваше имя ’);

readln (A);

write (‘ Здравствуй , ’, А , ‘!’);

readln

end .

К строкам можно применять операцию объединения «+», называемую сцеплением или конкатенацией.

Например, а:= ‘пар’ а:=’20’

в:= ‘ад’ в:= ‘04’

с:=а+в (парад) с:= а+в (2004)

Физкультминутка.

III. Разобрать с ребятами программу.

program slovo;

uses crt;

var a, b, c, d, k, l, m, n: string;

begin

clrscr;

a:= ‘ пар ’;

b:= ‘ ом ’;

c:= ‘ с ’;

d:= ‘ ад ’;

k:= a + b; l:= c + b; m:= c + d; n:= a + d;

write (k, ‘ ’, l, ‘ ‘, m, ‘ ‘, n );

readln

end .

В результате работы этой программы на экране появятся следующие слова: паром сом сад парад

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

1) выучить определения;

2) написать программу получения слов: пароход, паровоз, пароварка.

Урок 2

Вид урока: практическая работа.

Тема:«Объединение строк».

Цель: • совершенствование ЗУН учащихся;

• развитие алгоритмического мышления, памяти;

• воспитание бережного обращения с компьютерной техникой.

План.

1. Орг.момент.

2. Проверка домашнего задания.

3. Самостоятельная работа учащихся за компьютером.

4. Итог, домашнее задание.

Ход урока.

I. Провести инструктаж по ТБ.

II. Проверить домашнее задание (вызвать одного ученика к доске).

Пока ученик пишет программу на доске, провести устный опрос.

- дайте определение строки;

- какая строка называется пустой?

- какие переменные называются строковыми?

- какую операцию можно применять к строковым переменным?

Физкультминутка.

III. Задания для самостоятельной работы.

1. Применить операцию конкатенации к переменным A , B , C , D и E так, чтобы получилось указанное в таблице значение переменной Х

A B C D E X
ворон про ил а енка ворона проворонила вороненка
кормила ку ка ш он кукушка кормила кукушонка
черт заказать - моя еж мечта заказать чертеж – моя мечта
пар ад надо смотреть по надо посмотреть парад
двор а е трав на на дворе трава

2. Составить программу – диалог.

IV. Домашнее задание: повторить определения.

Урок 3

Вид урока: лекция.

Тема: «Функции для работы со строками».

Цель: • научить составлять слова из слов, используя функцию copy.

• развитие алгоритмического мышления;

• воспитание интереса к предмету.

План.

1. Орг.момент.

2. Проверочная работа.

3. Объяснение нового материала.

4. Закрепление изученного материала.

5. Итог, домашнее задание.

Ход урока.

II. Проверочная работа.

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

2. Определение строковой переменной.

3. определение пустой строки.

4. Применить операцию конкатенации к переменным A , B , C , D , E так, чтобы получилось значение переменной Х.

A B C D E X
висит кар ти На стене картина висит на стене
паро шел по В ход пароход пошел в поход

III. Копирование подстроки

Операция копирования подстроки позволяет делать вырезки из строк. Вырезка представляет собой последовательность смежных символов, извлеченную из строки. Так из слова «стихотворение» можно, например, вырезать следующие слова: «стих», «тихо», «творение», «вор».

Для копирования подстроки служит процедура copy (a, i, n), которая копирует n символов из строки a, начиная с позиции i.

Например, А:= ‘Башкортостан’

В:= с opy (А, 4, 4) корт

С:= copy (А, 9, 4) стан

Далее следует разобрать программу.

program primer;

var a, b, c, d, e: string;

begin

a:= ‘ стихотворение ’;

b:= copy (a, 1, 4);

c:= copy (a, 2, 4);

d:= copy (a, 6, 8);

e:= copy (a, 7, 3);

write (b, ‘ ‘, c, ‘ ‘, d, ‘ ‘, e);

readln

end .

В результате работы этой программы получим: стих тихо творение вор

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

Физкультминутка.

IV. Получить из слова лекарство слова: валет, кресло, сетка.

program primer;

var a, b, c, d: string;

begin

a:= ‘ лекарство ’;

b:= copy (a, 8, 1) + copy (a, 4, 1) + copy (a, 1, 2) + copy (a, 7, 1);

c:= copy (a, 3, 1) + copy (a, 5, 1) + copy (a, 2, 1) + copy (a, 6, 1) + copy (a, 1, 1) +

+ copy (a, 9,1);

d:= copy (a, 6, 1) + copy (a, 2,1) + copy (a, 7, 1) + copy (a, 3, 2);

write (b, ‘ ‘, c, ‘ ‘, d);

end.

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

1) выучить определения;

2) из слова треугольник получить слова угол, трон, кол.

Урок 4

Вид урока: практическая работа.

Тема: «Функция copy».

Цель: • совершенствование ЗУН учащихся;

• развитие алгоритмического мышления, внимания, памяти;

• воспитание бережного обращения с компьютерной техникой.

План.

1. Орг.момент.

2. Проверка домашнего задания.

3. Самостоятельная работа за компьютерами.

4. Итог, домашнее задание.

Ход урока.