В заданном тексте найти самое длинное слово.
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.
Записи
Запись - это структурированный тип данных, состоящий из фиксированного числа компонентов. Описание записи начинается со служебного слова 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;
Множества
Множество – это конечный набор значений, объединенных одним именем. Множество не может содержать более чем 255 элементов. Каждое значение может входить во множество только один раз.
Пример описания множества:
var
mn:set of char;
mn2:set of ’A’..’Z’;
Операции над множествами.
При помощи оператора (значение) in (множество) можно узнать является ли значение членом множества. Результат - либо true, либо false.
Пример использования оператора:
var
mn1: set of ’b’..’e’
otv:=’z’ in mn1;
Результат будет false
Процедура include (множество, значение) включает новое значение во множество. Также можно использовать «+».
Пример использования процедуры:
var
mn:Set of char;
mn:=[’A’..’C’];
Include(mn,’D’);
Результатом будет множество {A,B,C,D}.
Процедура exclude (множество, значение) обратная процедуре include. Процедура exclude исключает значение из множества. Также можно использовать «-».
Пример использования процедуры:
var
mn:Set of char;
mn:=[’A’..’C’];
exclude(mn,’C’);
Результатом будет множество {A,B}.
Для множеств определены все логические операции («+», «-», «>», «<», «>=», «<=», «=»).
Оператор пересечения множеств – «*».