Пример 1.Дано натуральное число n. Найти все цифры, не входящие в десятичную запись данного числа в порядке их возрастания.
Решение.Решение задачи состоит из двух этапов. Сначала надо, выделяя с помощью операций Div и Mod, сформировать множество из всех цифр числа n, а потом, перебирая все цифры от 0 до 9, проверить их вхождение в найденное ранее множество.
Type mn = set of 0..9;
Var s: mn; n: longint; I, k: integer;
Begin
Wrietln (‘введите число n’); readln (n);
S:= []; {Образование пустого множества}
{Формирование множества цифр числа n}
While n <> 0 do
Begin
k: = n Mod 10;
n:= n Div 10;
s:= s+ [k]
end;
{Вывод цифр числа n в порядке возрастания}
For i:= 0 to 9 do if i In s then write (i:2);
Readln
End.
Пример 2.«Решето Эратосфена». Найти все простые числа от 2 до n, где число n вводится с клавиатуры.
Решение.Метод «решета Эратосфена» заключается в следующем: формируется множество М, состоящее из всех чисел промежутка [1..n]. Затем из него удаляются все элементы, кратные 2б 3б 4 и так далее до числа n Div 2, кроме самих этих чисел. После такого просеивания в множестве M останутся только простые числа.
Var M: set of byte;
i, k, n: integer;
Begin
Writeln (‘введите число n (не более 255 – byte) ‘); readln (n);
M := [2..n]; {Начально значение множества М из всех чисел промежутка}
For k := 2 to n Div 2 do {Перебор все делителей}
For i := 2 to n do {Все числа промежутка}
If (i Mod k = 0) and (i <> k) then M := M – [k];
{ Если число i кратно k и не равно ему, то его удаляем из множества М }
For I := 1 to n do if I In M then write (i:3); {Распечатка простых чисел}
Readln
End.
Варианты заданий
Задание 1.Написать программу, вычисляющую значение выражения:
Задание 2. Дана непустая последовательность слов из строчных латинских букв. Слова разделены запятой, за последним словом - точка. Напечатать в алфавитном порядке:
1. Все гласные буквы, которые входят в каждое слово.
2. Все гласные, которые входят только в одно слово.
3. Все согласные, которые входят только в одно нечетное слово;
4. Все согласные, которые не входят ни в одно слово.
Задание 3.Напечатать в алфавитном порядке все буквы текста, входящие в него: