- •Введение
- •1Алгоритм. Разработка алгоритмов. Блок-схемы
- •3Операторы языка Delphi
- •3.1Оператор присваивания
- •3.2Оператор ввода-вывода
- •3.3Составные операторы
- •3.4Условный оператор
- •3.7Цикл с параметром (счетчик)
- •3.8Массивы
- •3.5Цикл с предусловием
- •3.6 Цикл с постусловием
- •3.9Строки
- •3.10Записи
- •3.11Множества
- •4Отладчик программы Debugger
- •5Среда Delphi
- •6Создание интерфейса приложения
- •7Подпрограммы
- •7.1Процедуры
- •7.2Функции
- •7.3Параметры и аргументы
- •8Особенности объектно-ориентированного программирования
- •9Работа с кнопкой
- •10Работа с текстом
- •10.1Работа с надписью
- •10.2Функции преобразования числа в строку и строки в число
- •10.3Работа в однострочном редакторе (Edit, LabeledEdit)
- •10.4Работа с многострочным редактором Memo
- •11Диалоги, сообщения
- •11.1Процедура ShowMessage
- •11.2Процедура MessageDlg
- •11.3Процедура InputBox
- •11.4Процедура InputQuery
- •11.5Стандартные диалоги
- •12Работа с компонентом StringGrid
- •13Построение графика функции
- •14Файлы
- •15Работа со списками и переключателями
- •15.1 Компонент ChekBox
- •15.2Компонент RadioButton
- •16Исключительные ситуации
- •17Работа с несколькими модулями
- •18Работа с формой
- •Содержание
- •Список использованных источников
3.9Строки
Строка-это последовательность символов, которая при использовании в выражениях заключается в апострофы.
Количество символов можно изменять, дописывая после служебного слова string в квадратные скобки требуемую длину строки. Если не указывать длину, то она будет по умолчанию равна 255.
Формат записи [3]:
var Имя_строки : string [Длина];
Для строк применимы операции отношения («+», «-», «>», «<», «>=», «<=», «=»). Так как строка – это массив элементов типа char, то к строкам применим оператор поэлементного вырезания символов :
Имя_строки [i], где i - номер символа в строке
Стандартные подпрограммы обработки строк:
Concat(s1,s2,...,sn:String):String - оператор сложения, также можно использовать оператор «+»;
Length (s:string):integer - определить длину строки в символах;
Copy (str:string; N,L:integer): string - возвращает часть строки str длиной L, начиная с позиции N;
Insert (s0:string; var s: string; N: integer) - в строку s вставляет строку s0, начиная с позиции N;
Delete (var s:string; N,L:integer) - в строке s удаляет L символов, начиная с позиции N;
Pos (s0, s:string): integer - возвращает позицию, начиная с которой строка s0 содержится в строке s или 0, если s0 не содержится в s;
Str (X: integer; var s:string) - преобразует число X в строку s;
Val (s:string; var X: integer; var error:integer); - преобразует строку s в число X. Если преобразовать удалось, error=0, иначе error=номеру первого непреобразуемого символа.
Пример 6.
В заданном тексте найти самое длинное слово.
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
stroka,max_Str:string;
i,n,j:integer;
begin
writeln('vvedite stroky');
readln(stroka);
max_Str:='nichego ne vvedeno!';
n:=0;
i:=1;
while i<=length(stroka) do
begin
while (i<=length(stroka)) and
(stroka[i]=' ') do inc(i); // находим букву
j:=i;
while (j<=length(stroka)) and
(stroka[j]<>' ') do inc(j); //находим пробел
if n<(j-i) then
begin
n:=j-i;
Max_Str:= copy(stroka,i,j-i);
end;
i:=j;
end;
Writeln('Max stoka ', Max_Str);
ReadLN;
end.
3.10Записи
Запись - это структурированный тип данных, состоящий из фиксированного числа компонентов. Описание записи начинается со служебного слова record, затем идут поля записи с указанием их типов, в конце описания находится служебное слово end.
Пример описания:
student=record
Imya: string[20];
Familiya:string[20];
Otchestvo:string[30];
Gruppa:string[10];
Ocenki:string[60];
End;
Обращение к записям происходит следующим образом student.imya:=’Ivan’. Если так обращаться ко всем полям, тем более, если их большое количество, то обращение становится очень объемным. Для упрощения обращения используют оператор with.
Пример работы оператора:
with student do
begin
Imya:=’Ivan’;
familia:=’Petrov’;
end;
Если в программе более одной записи одного вида, то удобнее создать новый тип:
type StudentType=record
//здесь перечисляются поля записи
end;
var
Student: StudentType;//переменная типа запись
// массив переменных типа запись
Tablica_studentov: array [1..30] of student;
