Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия | Следующая версия Следующая версия справа и слева | ||
cp:edu-school [2022/07/02 19:53] iadenisov |
cp:edu-school [2022/07/02 19:59] iadenisov [Среда разработки] |
||
---|---|---|---|
Строка 215: | Строка 215: | ||
Текст документа может быть оформлен весьма разнообразно. Допускается использование разных шрифтовых оформлений — гарнитура, | Текст документа может быть оформлен весьма разнообразно. Допускается использование разных шрифтовых оформлений — гарнитура, | ||
- | — открывающий | + | {{: |
- | + | ||
- | — закрывающий коммандер; | + | |
— командная кнопка, | — командная кнопка, | ||
Строка 238: | Строка 236: | ||
— действующая мишень. | — действующая мишень. | ||
- | Структура папок Блэкбокса | + | |
+ | |||
+ | ===== Структура папок Блэкбокса | ||
По соглашению, | По соглашению, | ||
Строка 265: | Строка 265: | ||
Пользователям настоятельно рекомендуется сохранять свои модули в собственной подсистеме, | Пользователям настоятельно рекомендуется сохранять свои модули в собственной подсистеме, | ||
В этом случае нам потребуется создать папку Школа, внутри которой расположить указанные (пустые) папки. В таком случае модуль с именем Привет будет иметь полное имя ШколаПривет и будет располагаться в файле Школа\Mod\Привет.odc. | В этом случае нам потребуется создать папку Школа, внутри которой расположить указанные (пустые) папки. В таком случае модуль с именем Привет будет иметь полное имя ШколаПривет и будет располагаться в файле Школа\Mod\Привет.odc. | ||
- | Сетевая работа | + | |
+ | ===== Сетевая работа | ||
При использовании Блэкбокса в компьютерном классе можно выполнить серверную установку. | При использовании Блэкбокса в компьютерном классе можно выполнить серверную установку. | ||
Строка 285: | Строка 286: | ||
В простейшем случае достаточно просто распаковать архив Блэкбокса на диск и можно сразу начинать им пользоваться. | В простейшем случае достаточно просто распаковать архив Блэкбокса на диск и можно сразу начинать им пользоваться. | ||
- | Гибкость | + | |
+ | ===== Гибкость | ||
Продолжим разговор об эргономических преимуществах Блэкбокса. Еще одной отличительной чертой является его гибкость. Среду легко настроить так, чтобы было удобно работать разным категориям пользователей. Например, | Продолжим разговор об эргономических преимуществах Блэкбокса. Еще одной отличительной чертой является его гибкость. Среду легко настроить так, чтобы было удобно работать разным категориям пользователей. Например, | ||
+ | < | ||
i INTEGER 4 байта -2147483648 .. | i INTEGER 4 байта -2147483648 .. | ||
+2147483647 | +2147483647 | ||
Строка 311: | Строка 314: | ||
IMPORT L := StdLog, In, Math, Dialog, Strings, Integers; | IMPORT L := StdLog, In, Math, Dialog, Strings, Integers; | ||
+ | </ | ||
В первом абзаце приведены сокращения для быстрого набора. Для программирования “черепашки” приведенный список сокращений существенно дополнен. Подстановка вместо сокращений полных конструкций выполняется по нажатию клавиши • модулем Edit подсистемы Info21sys. Этот модуль легко поддается модификации даже учащимися. | В первом абзаце приведены сокращения для быстрого набора. Для программирования “черепашки” приведенный список сокращений существенно дополнен. Подстановка вместо сокращений полных конструкций выполняется по нажатию клавиши • модулем Edit подсистемы Info21sys. Этот модуль легко поддается модификации даже учащимися. | ||
Строка 319: | Строка 323: | ||
В Блэкбоксе имеются достаточно богатые средства для работы со строками. Строки в КП описываются как символьные массивы: | В Блэкбоксе имеются достаточно богатые средства для работы со строками. Строки в КП описываются как символьные массивы: | ||
- | VAR строка: | + | < |
- | VAR str: ARRAY 30 OF CHAR; | + | VAR str: ARRAY 30 OF CHAR;</ |
Цепочки или отдельные символы можно заносить в массив разными способами: | Цепочки или отдельные символы можно заносить в массив разными способами: | ||
Строка 326: | Строка 330: | ||
Строка как цепочка символов должна быть задана либо в одинарных апострофах ‘’, либо в двойных кавычках “”. Например: | Строка как цепочка символов должна быть задана либо в одинарных апострофах ‘’, либо в двойных кавычках “”. Например: | ||
- | In.Open; In.String(str); | + | < |
строка := " | строка := " | ||
str := ' | str := ' | ||
str := str+' — ' | str := str+' — ' | ||
- | L.String(str); | + | L.String(str); |
Текущую длину цепочки символов в массиве можно определить через процедуру LEN(str$), указав сразу после имени знак доллара. Конец символьной цепочки в массиве отмечается специальным нулевым кодом, который в программе записывается 0X. Длину (размер) символьного массива выдает та же процедура, | Текущую длину цепочки символов в массиве можно определить через процедуру LEN(str$), указав сразу после имени знак доллара. Конец символьной цепочки в массиве отмечается специальным нулевым кодом, который в программе записывается 0X. Длину (размер) символьного массива выдает та же процедура, | ||
Строка 338: | Строка 342: | ||
К элементам символьного массива можно обращаться обычным образом: | К элементам символьного массива можно обращаться обычным образом: | ||
- | FOR i := 0 TO LEN(str) – 1 DO | + | < |
L.Char(str[i]) | L.Char(str[i]) | ||
END; | END; | ||
строка[4] := " | строка[4] := " | ||
k := ORD(str[13]); | k := ORD(str[13]); | ||
- | str[10] := CHR(50); | + | str[10] := CHR(50); |
Процедуры модуля Strings позволяют находить, | Процедуры модуля Strings позволяют находить, | ||
Строка 354: | Строка 358: | ||
----3.142E-3 | ----3.142E-3 | ||
- | ООП | + | |
+ | ===== ООП | ||
Компонентный Паскаль поддерживает полноценное объектно-ориентированное программирование. Покажем это на примере графического объекта Круг, имеющего такие свойства, | Компонентный Паскаль поддерживает полноценное объектно-ориентированное программирование. Покажем это на примере графического объекта Круг, имеющего такие свойства, | ||
- | MODULE МоиМетод; | + | < |
| | ||
Gr := Info21sysTPGraphics; | Gr := Info21sysTPGraphics; | ||
Строка 423: | Строка 429: | ||
END Делать; | END Делать; | ||
- | END МоиМетод. | + | END МоиМетод.</ |
- | МоиМетод.Делать | + | {{: |
Рис. 2. Результат работы процедуры МоиМетод.Делать | Рис. 2. Результат работы процедуры МоиМетод.Делать | ||
Строка 434: | Строка 440: | ||
периметр 2-го круга = 314.1592653589793 | периметр 2-го круга = 314.1592653589793 | ||
- | “Длинная” арифметика | + | |
+ | ===== “Длинная” арифметика | ||
Встречаются задачи, | Встречаются задачи, | ||
Строка 441: | Строка 448: | ||
Что касается присваивания и параметров процедур, | Что касается присваивания и параметров процедур, | ||
- | Диалог | + | |
+ | ===== Диалог | ||
Диалоговые средства Блэкбокса очень просты в использовании и достаточно богаты по ассортименту. Для взаимодействия с программой в диалоге необходимо подключить специальный модуль Dialog, изменить операторы ввода-вывода на диалоговые, | Диалоговые средства Блэкбокса очень просты в использовании и достаточно богаты по ассортименту. Для взаимодействия с программой в диалоге необходимо подключить специальный модуль Dialog, изменить операторы ввода-вывода на диалоговые, | ||
Строка 449: | Строка 457: | ||
Многое станет ясно из примера программы-калькулятора. | Многое станет ясно из примера программы-калькулятора. | ||
- | MODULE МоиКалькулятор; | + | |
+ | < | ||
| | ||
Строка 466: | Строка 475: | ||
(* для экономии места некоторые процедуры не приведены *) | (* для экономии места некоторые процедуры не приведены *) | ||
- | BEGIN x := 0; y := 0; | + | BEGIN |
- | END МоиКалькулятор. | + | |
+ | END МоиКалькулятор.</ | ||
После компиляции приведенного модуля возможно автоматическое построение диалоговой формы. Для этого необходимо в меню “Диалоги” выбрать пункт “Новая форма…”. В поле ввода появившегося окна нужно ввести имя модуля: | После компиляции приведенного модуля возможно автоматическое построение диалоговой формы. Для этого необходимо в меню “Диалоги” выбрать пункт “Новая форма…”. В поле ввода появившегося окна нужно ввести имя модуля: |