Описание строк

Программирование на языке высокого уровня

2 часть

Учебное пособие

Москва 2008


УДК

ББК

Рекомендовано к изданию в качестве учебного пособия

редакционно- издательским советом МГУПИ

Рецензенты:

доц. М.П. Гришкина (МГАТУ)

Т.И. Скворцова.

Программирование на языке высокого уровня ч.2: учебное пособие. - М.:МГУПИ, 2007 - кол-во с. 79

В данном учебном пособии последовательно излагаются основные принципы структурного и объектно- ориентированного программирования. Продолжено изучение популярного языка программирования Турбо Паскаль: работа со строками, файлами, модулями, списками. А также рассмотрены основы языка Object Pascal и технология визуального программирования а среде Delphi.

–79c., ил., библиогр.: 5 назв

УДК

ББК

© Т.И. Скворцова, 2008

© МГУПИ, 2008


Оглавление

1. Строки. 5

1.1 Описание строк. 5

1.2 Операции над строками. 6

1.3 Редактирование строк. 7

1.4 Преобразование строк. 9

1.5 Примеры использования строк. 9

2. Текстовый режим. 11

2.1 Описание текстового режима. 11

2.2 Процедуры модуля Crt 12

3. Файлы.. 13

3.1 Определение файла. 13

3.2 Когда нужно использовать файлы.. 14

3.4 Назначение файла. 15

3.5 Инициация файлов. 16

3.6. Процедуры и функции для работы с файлами. 17

3.7. Текстовые файлы.. 18

3.8. Операции ввода-вывода в текстовые файлы.. 18

3.9. Пример использования файлов. 19

3.10. Изменение реакции на ошибку. 21

3.11. Типизированные файлы.. 23

3.12. Процедуры и функции для работы с типизированными файлами. 23

3.12.1 Ввод/вывод данных. 23

3.12.2 Поиск в файле. 23

3.13 Преимущества и недостатки использования типизированных файлов. 24

4. Указатели и динамическая память. 25

4.1. Динамическая память. 25

4.2. Организация памяти области кучи. 25

4.3. Указатели. 26

4.4. Средства работы с адресами (для работы с сегментом данных, не с кучей) 28

4.5. Создание и удаление динамических переменных. 29

4.6. Динамические списковые структуры.. 30

4.7. Описание списков. 31

4.8. Оперирование элементами списка. 32

5. Модули. 39

5.1. Достоинства модулей. 39

5.2. Структура модулей. 39

5.3. Компиляция модулей. 45

5.4. Стандартные модули. 46

6. Объектно-ориентированная методология разработки программ. 47

7. Особенности языка программирования Object Pascal 50

7.1. Типы данных. 50

7.2. Ввод данных. 55

7.3. Вывод данных. 56

8. Основные принципы объектно-ориентированного программирования. 57

8.1. Объекты и классы.. 58

8.2. Инкапсуляция. 59

8.3. Наследование. 59

8.4. Полиморфизм. 60

8.5. Поля. 60

8.6. Методы.. 60

8.7. Свойства. 60

8.8. События. 60

8.9. Области видимости переменных и функций. 60

8.10. Компоненты.. 60

9. Общая организация программы в Delphi 60

9.1. Структура файла головной программы приложения Delphi 60

9.2. Структура модуля, содержащего объекты и процедуры.. 60

9.4. Архитектура Windows-программы.. 60

Литература. 60


Строки

Описание строк

Строкой называется последовательность символов определенной длины.

Синтаксис объявления строки:

<имя типа> = String [N];

N находится в интервале 0-255

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

Например:

Var

S32: string [32];

S255: string [255];

S: string; {базовый строковый тип}

В квадратных скобках указывается максимальный размер (длина) строки. Если она не указана, то длина строки считается равной 255 символам (базовый строковый тип). Базовый строковый тип совместим со всеми производными строковыми типами.

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

Например:

' abcde – абвгд'

'123? 32'

'' {пустая строка}

Переменные типа string выводятся на экран c помощью процедур write и writeln, а вводятся с помощью read и readln.

Строку можно рассматривать как одномерный массив из символов – к каждому символу строки допустимо обращение по его номеру. St[i] – обращение к i-тому элементу строки St.

Пример:

Var

Ch: char;

St: string;

I: byte;

Begin

St:= 'hello';

St[1]:= 'H'; {st='Hello'}

For I:= 1 to length(st) do

Writeln (st[i]);

Readln; {пауза до нажатия клавиши ввода}

End.

Первый символ строки с индексом 0 содержит фактическую длину строки. Так символ st[0] содержит код, равный числу символов в строке st. Длина строки st равна ord(st[0]) или byte (st[0]).

Над длиной строки можно осуществлять необходимые действия. Эту особенность надо помнить при заполнении длинных строк одинаковым символом. Проблему заполнения строки одинаковыми символами решает функция Fillchar.

Пример. Заполнить строку длиной в 80 символов пробелами, начиная с первого элемента (можно указать с любого).

Var

St: string;

---------------------------------------------

Fillchar (st[1],80,' '); { заполнение строки пробелами}

St[0]:= chr(80);

Т.к. строка заполняется принудительно, ей надо сообщить сколько символов заполнено, т.е записать в st[0] символ, равный ее длине.

При использовании процедуры Fillchar есть риск «выскочить» за пределы, отводимые данной строке. Компилятор таких ошибок не замечает. Ответственность лежит на программисте.

Первоначально строка содержит «мусор» и рекомендуется всегда перед ее использованием инициировать строку пустым значением (или чем-нибудь еще).

Инициализация строк, как и переменных других типов, выполняется в разделе описания констант.

const

s3: string [15] = 'shooshpanchik';

Внутреннее представление строки s3 представлено на рис. 1.1.

Рис. 1.1. Внутреннее представление строки s3


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: