Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Строковый тип (STRING) в языке программирования ПаскальСодержание книги
Поиск на нашем сайте Строки в языке программирования Паскаль - это последовательности литер. В качестве ограничителя строк-констант используются апострофы, например: '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; просмотров: 192; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.005 с.) |