Основы программирования — Осенний семестр; Михалкович С.С.; 2008; VIII — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Juliet (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [[Страница курса Основы программирования|К основной странице курса]] | ||
[[Категория:Основы программирования]] | [[Категория:Основы программирования]] | ||
==Множества== | ==Множества== | ||
Строка 32: | Строка 33: | ||
<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]; | ||
Строка 39: | Строка 40: | ||
if not (i in primes) then | if not (i in primes) then | ||
continue; | continue; | ||
− | var x := | + | var x := i*i; |
while x<=n do | while x<=n do | ||
begin | begin | ||
Строка 46: | Строка 47: | ||
end; | end; | ||
end; | end; | ||
− | + | writeln(primes); | |
− | |||
− | |||
end. | end. | ||
</source> | </source> |
Текущая версия на 08:19, 2 сентября 2013
Множества
Описание множеств. Множества-константы. Пустое множество.
Операции над множествами:
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;
writeln(primes);
end.