Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
bb:redbook:104 [2017/08/30 12:24] prospero78 [3. Сохранение файла] |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ===== 1.4 Hello, World ===== | ||
- | ==== 1. Первая программа ==== | ||
- | По старой доброй традиции, | ||
- | |||
- | ==== 2. Создание файла с текстом программы ==== | ||
- | Для этого необходимо выполнить следующие действия: | ||
- | |||
- | * Мышкой нажать меню " | ||
- | * Выбрать пункт меню " | ||
- | |||
- | Либо тоже самое через стандартную комбинацию клавиш: | ||
- | |||
- | {{ : | ||
- | |||
- | ** Рис. 2 BlackBox после создания нового файла ** | ||
- | |||
- | Сразу нужно отметить, | ||
- | |||
- | Дополнительная информация необходима для корректной сборки программ. В качестве такой информации выступают дата и время редактирования файла, какие модули требуются для корректной работы и т. д. **Компонентный Паскаль** — это язык // | ||
- | |||
- | ==== 3. Сохранение файла ==== | ||
- | При сохранении файлов в ББ это происходит по принятым правилам. Куча набросанных файлов в каталоге очень скоро будет вызывать вопросы, | ||
- | |||
- | Для правильного сохранения файла, необходимо выполнить следующие действия: | ||
- | |||
- | * Мышкой выбрать пункт меню " | ||
- | * Далее выбрать пункт меню " | ||
- | |||
- | {{ : | ||
- | |||
- | **Рис.3 Окно сохранения файла в BlackBox ** | ||
- | |||
- | В появившимся диалоговом окне справа сверху есть кнопка для создания нового каталога. Вот его и нужно создать с именем " | ||
- | |||
- | {{ : | ||
- | **Рис.4 Создание подсистемы в BlackBox** | ||
- | |||
- | Но этого ещё недостаточно. Мало создать такую подсистему, | ||
- | |||
- | {{ : | ||
- | |||
- | ** Рис.5 Правильно сохранённый файл в BlackBox ** | ||
- | |||
- | И если всё сделано верно в заголовке окна должна появиться надпись " | ||
- | |||
- | ==== 4. Набор текста программы ==== | ||
- | Набор текста осуществляется как и в любом текстовом редакторе. В ББ сделаны некоторые удобства по ускорению набора. Так например, | ||
- | |||
- | |||
- | {{ : | ||
- | |||
- | |||
- | **Рис. 6 Автоподстановка для символа " | ||
- | |||
- | После получения шаблона необходимо посмотреть, | ||
- | |||
- | Ключевое слово **MODULE** задаёт имя модуля. Если имени модуля не будет, программа с точки зрения компилятора будет считаться с содержанием ошибки. Поэтому имя модуля нужно написать. И с учётом тех общепринятых требований что есть в **ББ** и **Компонентном Паскале** (**КП**), примем имя модуля TestHello. | ||
- | |||
- | Ключевое слово **IMPORT** содержит имена модулей, | ||
- | |||
- | Ключевое слово **BEGIN** обозначает начало текста программы в модуле. Именно отсюда, | ||
- | |||
- | Ключевое слово **END** обозначает окончание блока инструкций (команд части программы). Но поскольку это ключевое слово с точкой — у этого ключевого слова сейчас особый статус — это конец модуля. Поэтому между **END** и точкой необходимо вставить пробел и дописать тоже самое имя модуля, | ||
- | Если всё сделано правильно текст программы должен выглядеть так: | ||
- | |||
- | **Hello.odc** | ||
- | <code oberon2> | ||
- | MODULE TestHello; | ||
- | IMPORT | ||
- | |||
- | |||
- | BEGIN | ||
- | END TestHello. | ||
- | </ | ||
- | ==== 5. Последние штрихи ==== | ||
- | Программа скомпилирована, | ||
- | |||
- | > компилируется " | ||
- | |||
- | Если бы были ошибки компиляции — ББ вывел бы их в рабочий журнал. Первая цифра означает размер получившегося модуля. **Всего 4 байта**. Если кто-то программировал на **Ассемблере** под **Windows**, | ||
- | Вторая цифра означает сколько байт отведено для связи с внешним миром. В нашем случае — 0. | ||
- | И всё же программа пока ничего не выполняет. Необходимо дополнить её до следующего вида: | ||
- | |||
- | Hello.odc (v.2) | ||
- | |||
- | <code oberon2> | ||
- | MODULE TestHello; | ||
- | |||
- | IMPORT Log, Math; | ||
- | |||
- | |||
- | PROCEDURE Start*; | ||
- | VAR | ||
- | BEGIN | ||
- | Log.String(' | ||
- | Log.Ln | ||
- | END Start; | ||
- | |||
- | BEGIN | ||
- | END TestHello. | ||
- | </ | ||
- | |||
- | В этом варианте добавилось ключевое слово PROCEDURE. Пока не будем обращать на процедуру внимание, | ||
- | |||
- | > компилируется " | ||
- | > Start теперь в символьном файле | ||
- | |||
- | Теперь наша программа занимает объём целых 32 байта! Но стоит и этот вариант несколько доработать. Дело в том, что модуль без объяснений зачем он создан, | ||
- | <code oberon2> | ||
- | MODULE TestHello; | ||
- | (* это первая программа на языке | ||
- | Компонентный Паскаль. Она ничего | ||
- | толком не делает, | ||
- | " | ||
- | |||
- | IMPORT Log, Math; | ||
- | |||
- | |||
- | PROCEDURE Start*; | ||
- | VAR | ||
- | BEGIN | ||
- | | ||
- | | ||
- | END Start; | ||
- | |||
- | BEGIN | ||
- | END TestHello. | ||
- | </ | ||
- | ==== 6. Получите и распишитесь ==== | ||
- | |||
- | Как же добиться исполнения программы? | ||
- | |||
- | * Меню " | ||
- | * Или одновременно нажать < | ||
- | |||
- | И после появившегося круглого значка дописать: | ||
- | |||
- | > TestHello.Start | ||
- | |||
- | Если всё получилось правильно окно текстового редактора должно выглядеть как на рисунке. С целью облегчения процедуры этот значок — КОММАНДЕР вставлен прямо здесь: | ||
- | |||
- | |||
- | {{ : | ||
- | |||
- | |||
- | При нажатии на круглый значок (КОММАНДЕР) произойдёт выполнение программы и в рабочем журнале появится текст: | ||
- | |||
- | > Привет, | ||
- | |||
- | Ну что же. Можно поздравить читателя, | ||
- | ==== 7. Заключение ==== | ||
- | В этой части получены первые практические результаты: | ||
- | |||
- | * Создана подсистема | ||
- | * Создан пустой модуль | ||
- | * Правильно назван и сохранён модуль | ||
- | * Получены первые знания по использованию главных ключевых слов | ||
- | * Программа была скомпилирована | ||
- | * Программа была снабжена комментариями | ||
- | * Был использован КОММАНДЕР, | ||
- | |||
- | Если в этой части есть непонятные места — их можно дополнить своими мыслями, |