begin

      for c:='A' to 'Z' do if c in aSet then Write(aFile, c:2);

      Writeln(aFile);

end;

      {––––– Ввод множества границ (чисел) –––––}

procedure ReadSet(var aFile: text; var aSet : TBoundSet);

var k : integer;

begin

      While not Eoln(aFile) do begin

      Read(aFile, K); aSet:= aSet+[K];

      end;

      Readln (aFile);

end;

var FileIn, FileOut: text;

      R: TStateSet;       { множество соседей (результат) }

      SA, S : TBoundSet;       { границы царства «A» и прочих }

      State: char;       { буква с названием очередной страны }

begin       {––––– Главная программа –––––}

      Assign(FileIn, 'P_38_3.in'); Reset(FileIn);

      Assign(FileOut, ''); Rewrite(FileOut);

      R:= []; SA:=[]; State:='A'; { начнем с царства «A» }

      ReadSet(FileIn, SA); { из первой строки читаем границы для «A»}

      while not Eof (FileIn) do begin { цикл по странам }

      State:= Succ(State);       { буква следующей страны }

      S:=[]; ReadSet(FileIn, S); { читаем границы страны }

      { если граничит с царством «A», добавляем к результату }

      if S*SA <> [] then R:= R + [State];

      end;

      WriteCharSet(FileOut, R); Readln; { вывод результата }

      Close(FileIn); Close(FileOut);

end.

Программа Ника вычислила, что царство «A» соседствует с царствами «B», «D», «F», «I». Со временем проверка на местности это подтвердила.

Царь щедро наградил программиста, но история на этом не закончилась. О великом научном успехе скоро знала и последняя собака на материке. Но больше других этот успех заинтересовал купцов, плативших пошлины при пересечении границ. Они явились к Нику с предложением, от которого тот не смог отказаться. Хотите продолжения сказки? – оно ждёт вас в главах 49, 57 и 58.

Решето Эратосфена

Древние греки не знали, что они древние. И компьютеров тоже не знали, зато дышали бодрящим морским воздухом, коротая досуг в философских и математических размышлениях. Греческий досуг оказался не таким уж пустым, – иные задачки, придуманные под ласковый шепот волн, не решены по сию пору! Одна из них – вычисление простых чисел.

Прежде всего, выясним, что это за числа? Простым называют число, которое делится без остатка лишь на само себя и единицу. Все прочие числа являются составными. Возьмем, к примеру, числа от 1 до 10 и выделим среди них составные.

1 2 3 4 5 6 7 8 9 10

Здесь отмечены составные числа 4, 6, 8, 9 и 10, – они делятся без остатка либо на 2, либо на 3. Оставшиеся числа 1, 2, 3, 5 и 7 являются простыми.

Вы читаете Песни о Паскале
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату