Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
l:=length(s);
sim:=s[1];
if not(sim in ['a'..'z']) then fl:=false
else fl:=true;
i:=2;
while(i<=l) and fl do
Begin
sim:=s[i];
if not (sim in ['a'..'z','0'..'9','_']) then fl:=false
else i:=i+1
End;
if fl then writeln('идентификатор')
else writeln(' нет ')
End.
Базовым типом множества в данной программе является тип CHAR. Поэтому для выполнения операции проверки принадлежности элемента множеству в правой части также требуется тип CHAR. Для выделения символа из строки используется индексирование, т.к. выделение символа с помощью функции COPY дает результат типа STRING, что недопустимо для множеств.
В следующем примере требуется вывести на экран все простые числа из интервала от 2 до 255.
USES CRT;
CONST N=255;
VAR ISX, REZ: SET OF 2..N;
I,J: INTEGER;
BEGIN
CLRSCR;
REZ:=[ ];
ISX:=[2..N];
I:=2;
REPEAT
WHILE NOT(I IN ISX) DO
I:=SUCC(I);
REZ:=REZ+[I];
J:=I;
WHILE J<=N DO
BEGIN
ISX:=ISX-[J];
J:=J+I
END;
UNTIL ISX=[ ];
WRITELN;
FOR I:=1 TO 255 DO
IF I IN REZ THEN
WRITE (‘ ‘,I,’ ‘);
READKEY
END.
В основу программы положен алгоритм, известный под названием «решето Эратосфена», т.е. метод отсеивания составных чисел, при котором последовательно вычеркиваются числа, делящиеся на 2, 3, 5 и т.д.; первое число, остающееся после каждого этапа, является простым и добавляется к результату. Исходное множество в начале программы содержит все натуральные числа от 2 до 255. Результат также является множеством, к которому последовательно добавляются элементы. Условием окончания работы является пустое множество, получившееся вместо исходного.
В следующем примере вводится строка символов. Разделителями будем считать символы «;?,. <>”’». Назовем словом любую последовательность символов, ограниченную с одной или с двух сторон разделителями. Требуется удалить слова, состоящие не более, чем из 2 различных символов. Если таких слов нет, то выдать сообщение.
Дата публикования: 2014-11-04; Прочитано: 242 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!