Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Строковый тип (STRING) в языке программирования Паскаль↑ ⇐ ПредыдущаяСтр 6 из 6 Содержание книги
Поиск на нашем сайте
Строки в языке программирования Паскаль - это последовательности литер. В качестве ограничителя строк-констант используются апострофы, например: 'PASCAL', 'компьютер', '25'. В языке Турбо-Паскаль определен стандартный строковый тип STRING. В определении строкового типа должна быть указана в квадратных скобках максимальная длина строки данного типа. Максимальная длина - целочисленная константа в диапазоне от 0 до 255.(В старших версиях Турбо-Паскаля разрешено не указывать N, в этом случае считается, что N=255.)
Примеры: TYPE ABC = STRING[100]; SCREENLINE = STRING[80]; XYZ=STRING; Строковые выражения состоят из строковых констант, переменных, имен строковых функций и операторов. Знак "+" используется для слияния (конкатенации) строк. Если длина результата больше 255 символов, то возникает ошибка. При сравнении двух строк истина получается тогда и только тогда, когда сравниваемые строки совпадают посимвольно и имеют одинаковую длину (то есть принадлежат одному и тому же типу). Типы STRING[N] для различных N и CHAR совместимы. Строки и символы могут употребляться в одних и тех же выражениях. Строковая переменная занимает в памяти место, равное в байтах максимальной длине плюс один. Тип STRING[N] в Турбо-Паскале представляется как ARRAY[0..N] OF CHAR. К любому элементу строки так же, как к элементу одинарного массива. В результате получается величина типа CHAR. Например, если VAR A:STRING[8]; и A:='COMPUTER', то A[3] равно'M', A[5] - 'U'. В компоненте строки с индексом 0 находится символ, номер которого есть текущая длина строки. То есть ORD(A[0]) есть текущая длина строки. Например, если A:='DAY' то ORD(A[0])=3. Строковые процедуры и функции в Турбо-Паскале В Турбо-Паскале имеются ряд стандартных процедур и функций, специально предназначенных для работы со строками. 3.1. Процедура DELETE. Синтаксис: DELETE(var S:String;Pos,Len:Integer); Убирает из строки S Len символов начиная с Pos. Если Len больше длины S то ничего не происходит. Если Pos+Lеn больше длины строки то удаляются все символы до конца строки. 3.2. Процедура INSERT. Синтаксис: INSERT(S:String;var D:String;Pos:Integer); Вставляет строку S в строку D начиная с символа с номером Pos. Если Pos больше длины D то S и D сливаются. Если длина результата при этом больше максимальной длины D то в D записываются только самые левые символы. 3.3. Процедура STR. Синтаксис: STR(I:Integer;var S:String); STR(R:Real;var S:String); Преобразует I или R из числа в строку и записывает эту строку в S. ВНИМАНИЕ! Процедура Str не должна входить в функции, вызываемые в процедурах WRITE и WRITELN. 3.4. Процедура VAL. Синтаксис: VAL(S:String;var R:Real;var P:Integer); VAL(S:String;var I,P:Integer); Преобразует строковую переменную S в число (тип зависит от типа переменной I или R соответственно). Если в строке S ошибок нет, то P равно 0, иначе значение R (или I) неопределенно, а P присваивается номер первого ошибочного символа. 3.5. Функция CONCAT. Синтаксис: CONCAT(S1,S2,...,Sn:String):String; Возвращает строку, полученную конкатенацией (слиянием) строк S1,...,Sn. Если длина результата больше 255 то возникает ошибка времени выполнения. 3.6. Функция COPY. Синтаксис: COPY(S:String;Pos,Len:Integer):String; Возвращает строку, полученную из Len символов строки S начиная с позиции Pos. Если Pos больше, чем длина строки S то возвращается пустая строка. Если Pos + Len больше, чем длина строки S то возвращаются только символы, принадлежащие строке S. 3.7. Функция LENGTH. Синтаксис: LENGTH(S:String):Integer; Возвращает длину строки S. 3.8. Функция POS. Синтаксис: POS(Pattern,Sourse:String):Integer; Возвращает номер символа, начиная с которого Pattern входит в Sourse. Если вхождения нет, то возвращается 0. Примеры программ Пример 4.1. Написать программу, которая записывает строку в обратном порядке и выводит ее на экран. Программа 4.1. PROGRAM PR; USES CRT; VAR A,B:STRING[10]; I,N:INTEGER; BEGIN CLRSCR; WRITELN('Введите строку длиною не более 10 символов:'); READLN(A); N:=LENGTH(A); B:=''; FOR I:=1 TO N DO B:=B+A[N+1-I]; WRITELN(B) END. Пример 4.2. Подсчитать число вхождений некоторого слова в заданный текст. Программа 4.2. PROGRAM PR42; USES CRT; TYPE TEXT=STRING[100]; WORDS=STRING[10]; VAR A,B:TEXT; C:WORDS; P,N,D:INTEGER; BEGIN CLRSCR; WRITELN('Введите текст длиною не более 100 символов'); READLN(A); B:=A; WRITELN('Введите слово длиною не более 10 символов'); READLN(C); N:=0; D:=LENGTH(C); P:=POS(C,B); WHILE P>0 DO BEGIN N:=N+1; DELETE(B,P,D); P:=POS(C,B) END; WRITELN; WRITELN('Число вхождений слова "',C,'" в текст:'); WRITELN; WRITELN(A); WRITELN; WRITELN('равно ',N) END.
34 Рекомендуемая литература Информатика: Учебник. – 3-е перераб. Изд. /Под ред. Н.В. Макаровой. – М.: Финансы и статистика, 2001. – 768 с. Информатика для юристов и экономистов: Учеб. для вузов /Под ред. С.В. Симоновича. – СПб.: Питер, 2001. - 688 с. Информатика. Базовый курс /Симонович С.В. и др. – СПб.: Издательство "Питер", 1999.- 640 с. Информатика: Учеб. Пособие для студентов пед. вузов /Могилев А.В., Пак Н.И., Хеннер Е.К. М.: Изд. Центр "Академия", 2000. – 816 с. Бахарева Н.Ф. и др. Машинные алгоритмы обработки информации: Методические указания ОГТУ – Оренбург: 1995. – 40 с. Microsoft Windows 95. Шаг за шагом. Практическое пособие./Пер. с англ., М.: ЭКОМ, 1996 -320 с. Мюллер Д. Нортон П. Полное руководство по Windows 95 Питера Нортона. М.: Бином, 1998 -728 с. Ресурсы Microsoft Windows 95. М.: Изд. отд. Русская редакция 1996 – 656 с. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение – СПб.: Питер 2001. – 736 с. Персон Р., Роуз К. Мicrosoft Word 97 в подлиннике: Пер. с англ. - СПб.: ВНV, 1997.-1120 с. Microsoft Office 97: наглядно и конкретно: Иллюстрированный справочник. - М.: Русская редакция, 1997. -352с. Новиков Ф., Яценко А. Microsoft Office 97 в целом. -СПб.: ВНV, 1998. –624с. Microsoft Office 97: наглядно и конкретно: Иллюстрированный справочник. - М.: Русская редакция, 1997. –352 с. Марченко А.И., Марченко Л.А. Программирование в среде Turbo Pascal 7.0: Учеб. пособие. -2-изд. М., К.: "Бином Универсал", "ВЕК", 1998. –496 с. Фаронов В.В. Турбо Паскаль 7.0. Практика программирования: -М.: Нолидж, 1999. –432 с. Турбо Паскаль 7.0. -К.: Торг.-издат. бюро ВНV, 1996. –448 с. Немнюгин С. Turbo Pascal. Учебник для вузов – СПб.: Питер, 2001, – 496 с. Немнюгин С. Turbo Pascal Практикум – СПб.: Питер, 2002, – 256 с.
|
||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 130; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.174.253 (0.008 с.) |