- •Лабораторная работа №1 Структура программы на языке Pascal и организация ввода-вывода данных
- •Var Form1: tForm1;
- •Var z: integer;
- •Лабораторная работа № 2
- •Var X,a,y:real;
- •Лабораторная работа № 3 Проект с несколькими формами
- •Form1 (Unit1)
- •Var Form1: tForm1; X,y,s,r,p:real;
- •Implementation
- •Form2 (Unit2)
- •Implementation
- •Лабораторная работа №4
- •Var X ,I: integer;
- •Inc (I);{следующий номер делителя}
- •Var m,n,nod,nok:word; I,k:word;
- •Лабораторная работа №5
- •Var I,p:integer;
- •Var a:array[size]of integer;
- •I,n,imax:size;
- •Var I:size;
- •Var n:integer;//количество строк в поле Memo1
- •Var I,p:integer;
- •Var a:array[size,size]of integer; m,n:size; max:integer;
- •Imax,jmax: size; I,j,k: integer;
- •Лабораторная работа №6
- •Var Str:string; otvet, I, n: integer;
- •Лабораторная работа №7
- •Var f: textfile; I: integer;
- •Var f: textfile; ch:string; I,s: integer;
- •Vozr,rost:integer;
- •Var st,r:string; rzap:sz; I:integer; f1:TextFile;
- •Лабораторная работа №8
- •Interface
- •Лабораторная работа №9
- •Var I,j,k:integer;
- •Var I,j:integer;
- •Var b:vec; n1,I,j,k:integer;
- •Приложение 1
- •Приложение 2
Лабораторная работа №6
Обработка последовательности символов (строк)
Цель работы:
изучить структуру данных строка;
получить навыки применения стандартных функций языка Pascal.
Теоретическое введение
Язык Object Pascal поддерживает три физических строковых формата: короткий (ShortString), длинный (LongString) и широкий (WideString). Переменные типов AnsiString и WideString - это динамически распределяемые массивы символов, максимальная длина которых ограничивается только наличием памяти. Разница между ними состоит в том, что в AnsiString знаки записываются в формате char, а в WideString в формате WideChar. Обычно вполне достаточно одного типа AnsiString, однако при работе с международными наборами символов, такими как UNICODE, удобнее использовать WideString. Тип ShortString можно определить как символьный массив. Первый его элемент задает динамическую длину строки, которая может принимать значения от 0 до 255 символов. Символы, составляющие строку, занимают места от 1 до 255. Тип ShortString предназначен для обеспечения совместимости с ранними версиями языка Pascal. Логический строковый тип именуется просто String. По умолчанию относится к типу AnsiString или ShortString, (задается командой {$Н+}), и String совпадает с AnsiString. Если задать команду {$Н- }, то String будет совпадать с ShortString и иметь максимальную длину, равную 255 символам. Для совместимости с другими языками программирования в Delphi поддерживаются строки с конечным нулем. Зарезервированных слов или идентификаторов для этого класса не существует. В таблице 1 перечислены процедуры и функции обработки данных строковых типов.
Таблица 1. Строковые функции
Функция |
Описание |
Concat(sl, s2, s3) |
Возвращает последовательное соединение строк. Эквивалентна оператору sl+s2+s3 |
Copy(s, pos, len) |
Возвращает подстроку длиной максимум len символов, начинающуюся в позиции pos строки s |
Delete(s, pos, len) |
Удаляет максимум len символов из строки s, начиная с позиции pos |
Insert(sourse, tar-get, pos) |
Вставляет строку source в строковую переменную target, начиная с позиции pos |
Length (s) |
Возвращает динамическую длину строки |
Pos(substring, s) |
Возвращает место первого вхождения подстроки substring в строку s |
SetLength(s, newlen) |
Задает новую динамическую длину newlen строковой переменной s |
SetString |
Задает содержимое и длину строки |
Str(x, s) |
Преобразует численное значение х в строковую переменную s |
StringOfChars |
Возвращает строку с конкретным числом символов |
Val (s, v, code) |
Преобразует строку s в соответствующее численное представление v |
Пример 6.1. Определение заданных последовательностей символов в строке
Даны: целое число N, символы S1,S2,…,SN. Определить число входящих в последовательность заданных комбинаций букв.
Вид компонентов на форме:
Процедура обработки щелчка на кнопке "Выполнить"
procedure TForm1.Button1Click(Sender: TObject);