Programming Taskbook


E-mail:

Пароль:

Регистрация пользователя   Восстановление пароля

 

ЮФУ

Электронный задачник по программированию

©  М. Э. Абрамян (Южный федеральный университет), 1998–2022

 

PT for 1C | Выполнение заданий в системе 1С:Предприятие | Процедуры задачника

PrevNext


Вспомогательные процедуры и функции задачника

Описанные на данной странице процедуры и функции будут доступны в программе, если к ней подключен внешний ActiveX-компонент pt4_1c.dll (данный файл входит в состав дистрибутива комплекса PT for 1C и автоматически подключается к любому проекту-заготовке, созданному для выполнения задания в системе 1С:Предприятие 8). Во встроенном языке 1С можно использовать русские и английские эквиваленты ключевых слов и имен подпрограмм, поэтому в задачнике предусмотрены как русские, так и английские названия процедур и функций.

Инициализация заданий, ввод-вывод данных


Процедура pt.Задание(<Имя задания>) Процедура pt.Task(<Имя задания>)

Процедура инициализирует задание с именем <Имя задания> (обязательный строковый параметр). Она должна вызываться в начале программы, выполняющей это задание (до вызова подпрограмм ввода-вывода Получить и Вывести). Если в программе, подключившей внешний компонент pt4_1с, не указана процедура Задание, то при запуске программы будет выведено окно с сообщением «Не вызвана процедура Задание». Строковый параметр <Имя задания> должен включать имя группы заданий и порядковый номер в пределах группы (например, "Begin3"). Регистр букв в имени группы может быть произвольным. Если указана неверная группа, то программа выведет сообщение об ошибке, в котором будут перечислены названия всех имеющихся групп. Если указан недопустимый номер задания, то программа выведет сообщение, в котором будет указан диапазон допустимых номеров для данной группы. Если после имени задания в параметре <Имя задания> указан символ «?» (например, "Begin3?"), то программа будет работать в демонстрационном режиме.

Процедура Задание может также использоваться для генерации и вывода на экран html-страницы с текстом задания или группы заданий. Для этого необходимо указать в качестве параметра <Имя задания> имя конкретного задания или группы заданий и символ «#», например, "Begin3#" или "Begin#".

Если процедура pt.Задание вызывается в программе несколько раз, то все последующие ее вызовы игнорируются. Исключением является ситуация, когда процедура используется для генерации html-страницы с описанием нескольких заданий или групп заданий; в этом случае учитываются все вызовы данной процедуры.


Функция pt.ПолучитьЧисло() Функция pt.GetNumber() Функция pt.ПолучитьБулево() Функция pt.GetBoolean() Функция pt.ПолучитьСтроку() Функция pt.GetString()

Функции обеспечивают ввод исходных данных в программу, выполняющую учебное задание. Они должны вызываться после вызова процедуры Задание; в случае их вызова до вызова процедуры Задание при запуске программы будет выведено сообщение об ошибке «В начале программы не вызвана процедура Задание».

Каждый вызов функции возвращает очередной элемент исходных данных. Для ввода числовых данных надо использовать функцию pt.ПолучитьЧисло (pt.GetNumber), для ввода логических (булевых) данных — функцию pt.ПолучитьБулево (pt.GetBoolean), а для ввода символьных и строковых данных — функцию pt.ПолучитьСтроку (pt.GetString). Если вызванная функция не соответствует типу очередного элемента исходных данных, то выводится сообщение об ошибке «Неверно указан тип при вводе исходных данных» (такое сообщение будет выведено, например, если очередной элемент данных является символом, а для его ввода используется функция ПолучитьЧисло()).

При попытке ввести больше исходных данных, чем это предусмотрено в задании, выводится сообщение об ошибке «Попытка ввести лишние исходные данные». Если исходные данные, необходимые для решения задания, введены не полностью, то выводится сообщение «Введены не все требуемые исходные данные».


Процедура pt.Вывести(<Выводимое значение>) Процедура pt.Put(<Выводимое значение>)

Процедура pt.Вывести (pt.Put) обеспечивает вывод на экран результирующих данных, найденных программой, и их сравнение с контрольными данными (т. е. с правильным решением). Как и функции группы Получить, эта процедура должна вызываться после вызова процедуры Задание; в противном случае при запуске программы будет выведено сообщение «В начале программы не вызвана процедура Задание».

В качестве обязательного параметра процедуры Вывести можно указывать не только переменную, но и выражение (логического, числового или строкового типа). При вызове процедуры Вывести программа осуществляет контроль за соответствием количества требуемых и выведенных результирующих данных. Если программа выведет недостаточное или избыточное количество результирующих данных, то после проверки этих данных появится сообщение «Выведены не все результирующие данные» или, соответственно, «Попытка вывести лишние результирующие данные».

Вывод отладочной информации

С помощью описываемых далее средств можно выводить отладочную информацию непосредственно в окно задачника (в специальный раздел отладки).


Процедура pt.Показать(A) Процедура pt.Show(A)

Отображает элемент данных в разделе отладки окна задачника. В качестве параметра A можно указывать элемент данных любого типа; этот элемент будет автоматически преобразован к своему строковому представлению.

Если текущая экранная строка в разделе отладки уже содержит некоторый текст, то строка A снабжается начальным пробелом и приписывается к предшествующему тексту, за исключением случая, когда при таком приписывании размер полученного текста превысит ширину области данных (равную 80 символам). В последнем случае вывод строки A осуществляется с начала следующей экранной строки; если же и в этой ситуации строка A превысит ширину области данных, то строка A будет выведена на нескольких экранных строках, причем разрывы текста будут выполняться по пробельным символам строки A, а при отсутствии пробелов — при достижении очередного фрагмента строки длины, равной 80.

Строковый параметр A может содержать явные команды перехода на новую экранную строку. В качестве таких команд можно использовать или символ с кодом 13 (Char(13) — «возврат каретки»), или символ с кодом 10 (Char(10) — «переход на новую строку»), или их комбинацию в указанном порядке (Char(13) + Char(10)).

С помощью операции + можно выводить в раздел отладки числовые данные вместе с предшествующим комментарием, например:

pt.Показать("A = " + A);

Здесь A — переменная числового типа.


Процедура pt.ПоказатьСтроку(<S>) Процедура pt.ShowLine(<S>)

Модификация ранее описанной процедуры pt.Показать; после вывода данных в раздел отладки дополнительно осуществляет автоматический переход на следующую экранную строку.


Процедура pt.СкрытьЗадание() Процедура pt.HideTask()

Вызов данной процедуры обеспечивает автоматическое скрытие всех разделов окна задачника, кроме раздела отладки. Если раздел отладки в окне задачника не отображается (в частности, если программа запущена в демонстрационном режиме), то вызов процедуры pt.СкрытьЗадание игнорируется. Игнорируются также все повторные вызовы данной процедуры.

Скрыть/восстановить основные разделы окна задачника после его отображения на экране можно также с помощью клавиши пробела или соответствующей команды контекстного меню раздела отладки.


PrevNext

 

Рейтинг@Mail.ru

Разработка сайта:
М. Э. Абрамян, В. Н. Брагилевский

Последнее обновление:
01.01.2022