Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Золотой треугольник

?>

Листинг 9. Уровень контроллера (Controller). Модуль TriangleTF. Реализация итератора

Руслан Богатырев
Журнал "Мир ПК", #07, 2001 год
11.09.2001
TYPE
PrimeIterator = RECORD
(* вырожденная запись, с ней связываем методы *)
END;
PROCEDURE (VAR t: PrimeIterator) Init (high: LONGINT);
BEGIN
Pascaline.r.int := high; Pascaline.InitPrime;
END Init;
PROCEDURE (VAR t: PrimeIterator) First
(VAR elem: LONGINT): BOOLEAN;
BEGIN
Pascaline.FirstPrime; elem := 0;
IF Pascaline.sPrimeIsEmpty THEN RETURN FALSE
ELSE elem := Pascaline.r.result; RETURN TRUE
END;
END First;
PROCEDURE (VAR t: PrimeIterator) Next
(VAR elem: LONGINT): BOOLEAN;
BEGIN
Pascaline.NextPrime; elem := 0;
IF Pascaline.sPrimeIsEmpty THEN RETURN FALSE
ELSE elem := Pascaline.r.result; RETURN TRUE
END;
END Next;
PROCEDURE P (high: LONGINT);
VAR num: Number.Integer; iter: PrimeIterator;
ok: BOOLEAN;
s: ARRAY 256 OF CHAR;
BEGIN
iter.Init(high); num.picture := "@N_12";
ok := iter.First(num.body);
WHILE ok DO
num.Format(s); Print(s); ok := iter.Next(num.body);
END;
END P;

Вернуться к статье

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог