Личный кабинет

удалено: Информатика-21

ID темы: 2763
Виталий Каймин ( Пользователь )
Цитата (info21, 17.05.2009, 20:18) <{POST_SNAPBACK}>
Ну, должен же каменный век когда-нибудь кончаться.


Привожу пример, из которого должно быть ясно как день, что никаких помех доказательствам в Обероне по сравнению с любыми бейсиками нет:
Код
MODULE  i21примерыПростыеЧисла;
    IMPORT  Log := StdLog,  Math;
    
    PROCEDURE НеДелит ( i, n: INTEGER ): BOOLEAN;
    BEGIN
        RETURN  ( n MOD i ) # 0
    END НеДелит;

    PROCEDURE Простое* ( n: INTEGER ): BOOLEAN;
        VAR  i, мин, макс: INTEGER;
    BEGIN
        (* проверка разрешенного значения параметра на входе *)
        ASSERT( n > 1, 20 );

        (* диапазон потенциальных делителей *)
        мин := 2;
        макс := SHORT( ENTIER( Math.Sqrt( n ) ) );

        (* цикл поиска наименьшего делителя *)
        i := мин;
        WHILE  ( i <= макс ) & НеДелит( i, n )  DO
            INC( i )
        END;

        RETURN  i > макс  (* прошли все возможности -- делителя не нашли *)
    END Простое;
    
    PROCEDURE КоличПростыхДо* ( n: INTEGER ): INTEGER;
        VAR  i, k: INTEGER;
    BEGIN
        k := 0;
        FOR  i := 2  TO  n - 1  DO
            IF  Простое( i )  THEN  INC( k )  END
        END;
        RETURN  k
    END КоличПростыхДо;

    PROCEDURE Показать* ( n: INTEGER );
    BEGIN
        Log.Ln;  Log.String("Число ");  Log.Int( n );
        IF  ~Простое( n )  THEN
            Log.String(" не")
        END;
        Log.String(" является простым.");  Log.Ln;
        Log.Int( КоличПростыхДо( n ) );  Log.String(" простых меньше ");  Log.Int( n );  Log.Ln
    END Показать;

END  i21примерыПростыеЧисла.



А зачем.

Вот в Оберонах нет этапа "связывания" программы (link, make...).
И модули динамически загружаются-выгружаются.
При очень быстром компиляторе это создает ощущение работы в интерпретируемой среде. Хотя там настоящий компилятор.

То есть удобно разрабатывать программы пошаговым уточнением (прилагаю пример из учебного комплекта в формате pdf для удобства читателей без Блэкбокса, но почему-то не получается; может, в отдельном сообщении получится).


ОТЛИЧНО! Этот формат не люблю. Это для начальства.

ВАК..проф.,док.наук.


footer logo © Образ–Центр, 2018. 12+