Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
B.doc
Скачиваний:
0
Добавлен:
06.02.2020
Размер:
101.89 Кб
Скачать

20

Министерство общего и профессионального образования

Российской Федерации

ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

_______________________________________________

Квасова Л.Б., Подрез Е.А. Симанева Т.А.

Я З Ы К П Р О Г Р А М М И Р О В А Н И Я

Т У Р Б О П А С К А Л Ь

Учебно-методическое пособие по изучению языка Турбо Паскаль

( для учащихся школ, учителей и студентов педвузов)

(дополненное и переработанное)

Часть II.

ОРЕЛ – 2002

Печатается по разрешению редакционно-издательского совета

Орловского государственного университета и

методического совета Орловского областного ИУУ

Авторы: Квасова Л.Б. ст. пр. каф. информатики ОГУ, Подрез Е.А. – ст. пр. каф. информатики ОГУ, Симанева Т.А. к.п.н., доцент каф. информатики

Рецензенты: Иванова Е.А. – зав. каб. ИОВТ ИУУ. Мешков А.Г. – док.ф.-м. н., профессор, зав. каф. информатики ОГУ

Ответственный за выпуск: Веркеенко Г.П. – к.п.н., проф., проректор по НИР ОГУ.

Данное пособие представляет собой учебно-методические рекомендации по изучению языка Турбо Паскаль. В книге описана структура языка, даются методика написания и примеры программ. Пособие предназначено для студентов педвузов, учителей информатики и учащихся средних общеобразовательных школ, лицеев, гимназий.

§1. Строковый тип данных

В первой части пособия был рассмотрен структурированный тип данных - массив. Разновидностями массивов являются еще два структурированных типа: строка типа string и строка типа PChar.

1.1 Строка типа string

В Турбо Паскале тип-строка (стандартный тип string) -последовательность символов произвольной длины (до 255 символов). Строку можно рассматривать как массив символов, однако, в связи с некоторыми особенностями по сравнению со стандартными массивами, она выделена в отдельный тип данных.

Данные строкового типа могут быть объявлены в разделе описания типов или непосредственно в разделе описания переменных с помощью служебного слова string, после которого в квадратных скобках указывается длина строки. Если размер строки не указан, он считается равным 255. Строка может иметь различные длины в пределах объявленных границ.

Первый способ объявления переменной типа string (с использованием раздела типов Type ):

Type <имя типа> = string [<длина строки>];

Var <имя переменной> : <имя типа>;

Второй способ объявления переменной типа string (в разделе переменных Var):

Var <имя переменной> : string [<длина строки>];

Например,

Первый способ

Второй способ

type Str = string [80];

MaxStr = string; {строка в 255 символов}

var s1, s2 : Str;

s3 : MaxStr;

. var s1, s2 : string [80];

s3 : string;

В переменных s1 и s2 мы можем хранить строковые значения длиной не более 80 символов, а в переменной s3 - не более 255.

Значением строки может быть любая последовательность символов, заключенная в апострофы, например:

'Турбо Паскаль 7.0',

'2a+d>0 ?',

'' - пустая строка,

'Turbo Basic'.

Для того чтобы поместить в стринговую переменную какое-либо значение, можно применить любой из доступных в Турбо Паскале методов. Например, присвоить переменной некоторое значение с помощью оператора присваивания:

s1 := 'a bc d12*4';

или с помощью оператора ввода данных: Read (s2).

При этом возможны следующие ситуации:

1) если длина вводимой строки меньше или равна длине строковой переменной, то длина строковой переменной становится равной длине текущей строки и значения их совпадают;

2) если длина вводимой строки больше длины строковой переменной (n - символов), то значением строковой переменной являются первые n символов вводимой строки.

Например,

program stroka1;

var s1,s2,s3:string[10];

begin

s1:='1234567891';

s2:='12345';

s3:='abcdefghijklmn';

writeln('s1=', s1, ', s2=', s2, ', s3=', s3)

end.

В результате исполнения программы переменные s1, s2, s3 получат значения '1234567891', '12345', 'abcdefghij' соответственно.

Строка в Турбо Паскале трактуется как цепочка символов. К любому символу можно обратиться точно также, как к элементу одномерного строкового массива array [0..N] of char.

Пусть s - переменная типа string . Если ее рассматривать как одномерный массив, то значениями элементов s[1], s[2], ... будут соответствующие символы переменной s. Левее самого первого элемента массива всегда присутствует еще один, формально выступающий как литера в позиции 0, но фактически содержащий численное значение текущей длины данного стринга.

Например, s:= 'информатика'. Тогда элементам массива s будут соответствовать: s[1] - литера 'и', s[2] - литера 'н', ... , s[9] - литера 'к', s[10] - литера 'а', а ord(s[0]) получит значение 10; если s := 'форма', то ord(s[0]) получит значение 5; если s='', то ord(s[0]) равно 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]