ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО
ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«Донской государственный технический университет»
(ДГТУ)
Кафедра «Программное обеспечение вычислительной техники и автоматизированных систем»
ЛАБОРАТОРНАЯ РАБОТА
«СТРОКИ. МНОЖЕСТВА»
Ростов-на-Дону
Цель работы: изучить понятия множества и строки. Освоить правила работы с переменными данных типов.
Теоретическая часть
Символы
c: char
Пример
var
c: char;
a:byte;
begin
readln(c);
writeln(ord(c)); {возвращает код символа}
a:=120;
writeln(chr(a)); {возвращает символ по коду}
writeln(UpperCase(c)); {преобразует символ в заглавную букву}
writeln(LowerCase(c)); {преобразует символ в прописную букву}
if (char.IsDigit(c)) then writeln('цифра'); {проверка, что символ - это цифра}
if (char.IsLetter(c)) then writeln('буква'); {проверка, что символ - это буква}
if (char.IsLetterOrDigit(c)) then writeln('буква или цифра'); {проверка, что символ - это буква или цифра}
end.
Строки
st: string
Строка - это одномерный массив типа char.
|
|
Пример
var
c: char;
st:string;
begin
readln(st); {ввод строки}
c:=st[3]; {переменной c присваивается третья буквы строки st}
writeln(c);
end.
Пример
var
st, st1, st2:string;
begin
readln(st);
readln(st1);
st2:=st+' '+st1; {конкатенация строк}
writeln(st2);
{сравнение строк}
if st>st1 then writeln('st>st1') else writeln('st<st1');
end.
Подпрограммы работы со строками
- Length(s) - функция, возвращающая длину строки s
- SetLength(s,n) - процедура, устанавливающая длину строки s равной n
- Copy(s,from,len) - функция, возвращающая подстроку s с позиции from длины len
- Insert(subs,s,form) - процедура, вставляющая подстроку subs в строку s с позиции from
- Delete(s,from,len) - процедура, удаляющая из строки s len символов с позиции from
- Pos(subs,s) - функция, возвращающая позицию первого вхождения подстроки subs в строку s или 0, если подстрока не найдена
- PosEx(subs,s,from=1) - функция, возвращающая позицию первого вхождения подстроки subs в строку s, начиная с позиции from, или 0, если подстрока не найдена
- TrimLeft(s) - функция, возвращающая строку s, в которой удалены все начальные пробелы
- TrimRight(s) - функция, возвращающая строку s, в которой удалены все заключительные пробелы
- Trim(s) - функция, возвращающая строку s, в которой удалены все удаляет все начальные и заключительные пробелы
- Преобразование строка ↔ число
- Str(x,s) - процедура, преобразующая целое или вещественное выражение x к строковому представлению и записывающая результат в строку s
- Val(s,x,errcode) - процедура, преобразующая строку s к целому или вещественному значению и записывающая результат в целую или вещественную переменную x. Переменная errcode - целая; если преобразование невозможно, то в errcode содержится номер первого символа, вызвавшего ошибку
- IntToStr(i) - функция, преобразующая целое x в строку
- StrToInt(s) - функция, преобразующая строку s к целому; может генерировать исключение
- FloatToStr(i) - функция, преобразующая вещественное x в строку
- StrToFloat(s) - функция, преобразующая строку s к вещественному; может генерировать исключение
Множества
|
|
В множестве элементы не могут повторяться.
Объявление множества
m: set of integer;
const n=30;
var m:set of 1..n;
m1: set of 'a'..'z';
m2:set of (winter, spring, summer, outumn)
Добавление элемента в множество
Include(m, 5);
Исключение элемента из множества
Exclude(m,3);
Вывод элементов множества
foreach i in m do writeln(i);
Проверка на принадлежность элемента множеству
if (5 in m) then writeln('включено');
Объединение множеств
m:=m+m1;
Пересечение m1*m2
Разность s1-s2
Проверки на вложение множеств
m1<m2
m1>m2