Данному образовательному сайту пришлось несколько раз менять свое имя. С 2022 года доступ к нему обеспечивается по URL
emc.orgfree.com

emc.km.ru (2001-2007) ==> educomp.org.ru (2007-2011) ==> educomp.runnet.ru (2011-2021) ==> emc.orgfree.com (2022-...)
Более подробно об истории сайта можно прочитать здесь.


Учебные модели компьютера



Модели (software):

"Е14" (parallel !!!)
"S9PU" (parallel)

Модели (hardware):






Награды сайта
Награды сайта 2005

"Кроха": описание синтаксиса языка ДЕПАК

  1. Язык ДЕПАК предназначен для демонстрации принципов трансляции программ с Паскаля на внутренний язык учебной ЭВМ "Кроха-М" (объем ОЗУ - 16 15-разрядных ячеек).
  2. ДЕПАК является сильно урезанной реализацией настоящего Паскаля. Всякая правильная программа на ДЕПАКе с точки зрения Паскаля также правильна и будет работать.
  3. Заглавные и строчные буквы в тексте программы не различаются.
  4. Все переменные в ДЕПАКе имеют только целые положительные значения, не превышающие 32767. Их имена состоят из одной латинской буквы. Описание переменных в программе всегда одно и имеет вид:
    VAR <список перменных через запятую>: INTEGER;
    Например:
    VAR A,T,B,Z: INTEGER;
  5. Арифметические выражения в ДЕПАКе состоят не более чем из одного арифметического действия; скобки запрещены. Вид возможных арифметических выражений:
              A         const 
              A+B       const+A       A+const
              A-B       const-A       A-const
              A*B       const*A       A*const
              A div B   const div A   A div const (деление нацело).
    Формально разрешено действие над двумя числами типа
              const1+const2 и т.п.
    
    В приведенных выражениях A и B - имена переменных, а const1 и const2 - произвольные значения целых чисел в диапазоне 0-32767 включительно (см. п.3).
    Примечание. Следует иметь в виду, что для сохранения положительности результата вычитание в ЭВМ "Кроха" заканчивается взятием модуля.
  6. Оператор присвоения имеет традиционный синтаксис:
    <переменная>:=<арифметическое выражение>;
    Арифметическое выражение должно удовлетворять требованиям пункта 5.
  7. Внутри всех конструкций языка (условный оператор, циклы) допускается использование составного оператора, заключенного между служебными словами BEGIN/END и состоящего из нескольких операторов присвоения. Например:
    BEGIN X:=2*N;K:=X+1; END;
    Разрешается писать один оператор внутри BEGIN/END, но отсутствие операторов между ними считается ошибкой. ; перед END ставить не обязательно.
  8. Условие может иметь вид:
    <арифметическое выражение> <знак> <арифметическое выражение>
    где <знак> - одно из следующих неравенств: = , <> , > , < , >= , <= , > .
  9. Условный оператор имеет вид:
    IF <условие> THEN <оператор1> ELSE <оператор2>;
    Операторы 1 и 2 могут быть только операторами присвоения (или составными)!!!
  10. Циклы могут быть записаны следующими способами:
    WHILE <условие> DO <оператор>;
    REPEAT <операторы> UNTIL <условие>;
    FOR <переменная>:=<выражение> TO <выражение> DO <оператор>;
    FOR <переменная>:=<выражение> DOWNTO <выражение> DO <оператор>;
    Оператор в теле цикла может быть только оператором присвоения или составным!!!
    ПРИМЕЧАНИЕ. Напомним, что в Паскале конструкция REPEAT/UNTIL одновременно служит ограничителями составного оператора. Поэтому в ДЕПАКе сочетание REPEAT BEGIN считается ошибкой.
  11. Для вывода результатов используется процедура
    WRITELN(<переменная1>,<переменная2>,<переменная3>);
    Количество выводимых на дисплей чисел обязательно равно трем! (допускается повторение одной и той же переменной). После WRITELN(); ОБЯЗАТЕЛЬНО ставится оператор остановки HALT; Подобные странности связаны с особенностью работы команды СТОП у "Крохи".
  12. Программа должна иметь следующую структуру:

    PROGRAM <имя>;

    VAR <список>:INTEGER;

    BEGIN <операторы программы>

    END. Именем программы может служить любое сочетание символов до ";". <Список> представляет собой имена переменных, разделенных запятыми (см. пример в п.4).

  13. Разрешается использовать комментарии, заключая произвольный текст в { }. Отмечающие комментарий скобки должны быть обязательно парными; внутри комментария символ { воспринимается как ошибка. Число и размер комментариев ограничен только наличием свободного места для текста.


© Е.А.Еремин, 1995


Автор сайта - Евгений Александрович Еремин (Пермский государственный педагогический университет). e_eremin@yahoo.com


Free Web Hosting