Основы программирования — Осенний семестр; Михалкович С.С.; 2008; VIII — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (→Множества) |
Admin (обсуждение | вклад) (→Множества) |
||
Строка 32: | Строка 32: | ||
<source lang="delphi"> | <source lang="delphi"> | ||
const n = 10000; | const n = 10000; | ||
− | var primes: set of | + | var primes: set of integer; |
begin | begin | ||
primes := [2..n]; | primes := [2..n]; |
Версия 00:45, 7 декабря 2011
Множества
Описание множеств. Множества-константы. Пустое множество.
Операции над множествами:
s1+s2 - объединение s1*s2 - пересечение s1-s2 - разность s += s1 s -= s1 s *= s1 s1<s2 - строгое вложение s1<=s2 - нестрогое вложене s1>s2 - строгое вложение s1<=s2 - нестрогое вложене i in s - принадлежность Include(s,i); Exclude(s,i);
Вывод множеств.
Цикл foreach по множеству.
Пример использования множеств: решето Эратосфена. Алгоритм.
Лекция 25
Алгоритм Эратосфена
Код алгоритма Эратосфена
const n = 10000;
var primes: set of integer;
begin
primes := [2..n];
for var i:=2 to round(sqrt(n)) do
begin
if not (i in primes) then
continue;
var x := i*i;
while x<=n do
begin
Exclude(primes,x);
x += i;
end;
end;
for var i:=0 to n do
if i in primes then
write(i,' ');
end.