Главная / Программирование /
Разработка приложений на языке Visual Prolog / Тест 7
Разработка приложений на языке Visual Prolog - тест 7
Упражнение 1:
Номер 1
Изображение, хранящееся в файле ресурса с идентификатором idb_bmp, загружает вызов следующей подцели:
Ответ:
 (1) Pict = vpi::pictLoad(FileName) 
 (2) Pict = vpi::pictGetFromRes(idb_bmp) 
 (3) vpi::pictGetSize(Pict, W, H, _) 
 (4) Pict = vpi::pictGetFromWin(Rect) 
Номер 2
Изображение, хранящееся в bmp-файле, загружает подцель:
Ответ:
 (1) Pict = vpi::pictLoad(FileName) 
 (2) Pict = vpi::pictGetFromRes(idb_bmp) 
 (3) vpi::pictGetSize(Pict, W, H, _) 
 (4) Pict = vpi::pictGetFromWin(Rect) 
Номер 3
Размеры изображения можно узнать следующим образом:
Ответ:
 (1) Pict = vpi::pictLoad(FileName) 
 (2) Pict = vpi::pictGetFromRes(idb_bmp) 
 (3) vpi::pictGetSize(Pict, W, H, _) 
 (4) Pict = vpi::pictGetFromWin(Rect) 
Упражнение 2:
Номер 1
Предикат create создает таблицу, содержащую 5 строк и 10 столбцов:
create():-
L1 = [column(toString(J), 30, alignLeft) || J = std::fromTo(1, 10)],
L2 = [item(uncheckedConvert(itemId, I), toString(I), -1, [], IL) ||
I = std::fromTo(1, 5),
IL = [toString(K) || K = std::fromTo(2 + I, 10 + I)]],
listViewControl_ctl:insertColumnList(1, L1),
listViewControl_ctl:insertItemList(L2),
listViewControl_ctl:setLVType(lvs_report).
В третьей строке и в третьем столбце таблицы находится элемент
Ответ:
 (1) 3 
 (2) 4 
 (3) 6 
 (4) 10 
Номер 2
Предикат create создает таблицу, содержащую 3 строки и 3 столбца:
create():-
L1 = [column("1", 30, alignLeft), column("2", 30, alignLeft), column("3", 30, alignLeft)],
L2 = [item(uncheckedConvert(itemId, I), toString(I), -1, [], IL) ||
I = std::fromTo(1, 3),
IL = [toString(K) || K = std::fromTo(I + 1, I + 2)]],
listViewControl_ctl:insertColumnList(1, L1),
listViewControl_ctl:insertItemList(L2),
listViewControl_ctl:setLVType(lvs_report).
Во второй строке и во втором столбце таблицы находится элемент
Ответ:
 (1) 1 
 (2) 3 
 (3) 4 
 (4) 2 
Номер 3
Предикат create создает таблицу, содержащую 4 строки и 4 столбца:
create():-
L1 = [column(toString(J), 30, alignLeft) || J = std::fromTo(1, 4)],
L2 = [item(uncheckedConvert(itemId, 1), "a", -1, [], ["b", "c", "d"]),
item(uncheckedConvert(itemId, 2), "e", -1, [], ["f", "g", "h"]),
item(uncheckedConvert(itemId, 3), "i", -1, [], ["j", "k", "l"]),
item(uncheckedConvert(itemId, 4), "m", -1, [], ["n", "o", "p"]),
],
listViewControl_ctl:insertColumnList(1, L1),
listViewControl_ctl:insertItemList(L2),
listViewControl_ctl:setLVType(lvs_report).
Во второй строке и в третьем столбце таблицы находится элемент
Ответ:
 (1) "g" 
 (2) "c" 
 (3) "k" 
 (4) "f" 
Упражнение 3:
Номер 1
Определение предиката do имеет вид:
do():-
listBox_ctl:setMultiSelect(),
listBox_ctl:addList([toString(I) || I = std::fromTo(11, 15)]),
foreach X = std::fromTo(0, 3) do
listBox_ctl:selectAt(X, true)
end foreach,
listBox_ctl:selectAt(0, false).
В результате вызова подцели do() не будут выделены элементы списка:
Ответ:
 (1) 12, 13, 14 
 (2) 11, 14, 15 
 (3) 14, 15 
 (4) 11, 15 
Номер 2
Определение предиката do имеет вид:
do():-
listBox_ctl:setMultiSelect(),
listBox_ctl:addList([toString(I) || I = std::fromToInStep(100, 400, 100)]),
foreach X = std::fromTo(0, 2) do
listBox_ctl:selectAt(X, true)
end foreach,
listBox_ctl:selectAt(1, false).
В результате вызова подцели do() в списке будут выделены элементы:
Ответ:
 (1) 100, 200 
 (2) 100, 300 
 (3) 200, 300 
 (4) 100 
Номер 3
Определение предиката do имеет вид:
do():-
listBox_ctl:setMultiSelect(),
listBox_ctl:addList(["Ann", "Chris", "Evan", " Grace", "Rita"]),
foreach X = std::fromToInStep(0, 4, 2) do
listBox_ctl:selectAt(X, true)
end foreach,
listBox_ctl:selectAt(4, false).
В результате вызова подцели do() будут выделены элементы списка:
Ответ:
 (1) Ann, Evan, Rita 
 (2) Chris, Grace 
 (3) Ann, Evan 
 (4) Ann, Chris, Evan 
Упражнение 4:
Номер 1
Считать текст из поля редактирования (Edit Control) можно с помощью подцели
Ответ:
 (1) Text = edit_ctl:getText() 
 (2) Text = edit_ctl:text 
 (3) Text = edit_ctl:getReadOnly() 
 (4) Text = edit_ctl:getTextSelection() 
Номер 2
Текст Str добавится в начало текста, содержащегося в поле редактирования (Edit Control), в результате вызова подцели
Ответ:
 (1) edit_ctl:setText(Str) 
 (2) edit_ctl:setText(string::concat(Str, edit_ctl:getText())) 
 (3) edit_ctl:setReadOnly(Str) 
 (4) edit_ctl:write(Str) 
Номер 3
Текст Str добавится в конец текста, содержащегося в поле редактирования (Edit Control), в результате вызова подцели
Ответ:
 (1) edit_ctl:setText(Str) 
 (2) edit_ctl:text := Str 
 (3) edit_ctl:setText(string::concat(edit_ctl:getText()), Str) 
 (4) edit_ctl:write(Str) 
Упражнение 5:
Номер 1
Укажите все способы, с помощью которых можно считать текст из текстового редактора (sciLexer):
Ответ:
 (1) Text = sciLexer_ctl:getText() 
 (2) Text = sciLexer_ctl:text 
 (3) Text = sciLexer_ctl:readOnly 
 (4) sciLexer_ctl:copyText(Text) 
Номер 2
Текст Str добавится в качестве первого абзаца к тексту, содержащемуся в текстовом редакторе (sciLexer), в результате вызова подцели
Ответ:
 (1) edit_ctl:setText(Str) 
 (2) sciLexer_ctl:text := Str 
 (3) sciLexer_ctl:text := string::format("%\n%", Str, sciLexer_ctl:text) 4. sciLexer_ctl:readOnly := Str 
Номер 3
Текст Str добавится в качестве последнего абзаца к тексту, содержащемуся в текстовом редакторе (sciLexer), в результате вызова подцели
Ответ:
 (1) sciLexer_ctl:readOnly := Str 
 (2) edit_ctl:setText(Str) 
 (3) sciLexer_ctl:text := string::format("%\n%", sciLexer_ctl:getText(), Str) 4. sciLexer_ctl:text := Str 
Упражнение 6:
Номер 1
Включен ли переключатель (Radio Button), можно определить с помощью подцели:
Ответ:
 (1) State = radio_ctl:getRadioState() 
 (2) State = radio_ctl:getChecked() 
 (3) State = radio_ctl:getCheckedState() 
 (4) State = radio_ctl:getState() 
Номер 2
Состояние включенного переключателя (Radio Button) описывается термом:
Ответ:
 (1) radioButton::checked 
 (2) radio_ctl:true 
 (3) 1 
 (4) radioButton::unchecked 
Номер 3
Состояние выключенного переключателя (Radio Button) описывается термом:
Ответ:
 (1) radioButton::checked 
 (2) radio_ctl:false 
 (3) 0 
 (4) radioButton::unchecked 
Упражнение 7:
Номер 1
Найти все выделенные элементы списка (List Box) можно с помощью подцели:
Ответ:
 (1) L = listBox_ctl:getAll() 
 (2) L = listBox_ctl:getAt(Index) 
 (3) L = listBox_ctl:getSelectedItems() 
 (4) L = listBox_ctl:clearAll() 
Номер 2
Выделить элемент Item в выпадающем списке (List Button) можно следующим образом:
Ответ:
 (1) L = listButton_ctl:getAll(), Index = list::tryGetIndex(L, Item), listButton_ctl:selectAt(Index, true) 
 (2) L = listButton_ctl:getAt(Index) 
 (3) Index = listButton_ctl:tryGetSelectedIndex(), Item = listButton_ctl:getAt(Index) 
 (4) L = listButton_ctl:selectAt(Item, true) 
Номер 3
Найти все элементы списка (List Box) можно с помощью подцели:
Ответ:
 (1) L = listBox_ctl:getAll() 
 (2) L = listBox_ctl:getAt(Index) 
 (3) L = listBox_ctl:getSelectedItems() 
 (4) L = listBox_ctl:clearAll() 
Упражнение 8:
Номер 1
Скопировать текст из одного текстового файла в другой файл можно следующим образом:
Ответ:
 (1)
file::readString(FileName1, FileName2) 
 (2) file::writeString(FileName1, FileName2) 
 (3) file::copy(FileName1, FileName2) 
 (4) file::save(FileName1, FileName2) 
Номер 2
Считать текст из текстового файла можно следующим образом:
Ответ:
 (1) Text = file::readString(FileName, _) 
 (2) file::writeString(FileName1, FileName2) 
 (3) file::copy(FileName1, FileName2) 
 (4) file::save(FileName1, FileName2) 
Номер 3
Записать текст Text в текстовый файл можно следующим образом:
Ответ:
 (1) Text = file::readString(FileName, _) 
 (2) file::writeString(FileName, Text) 
 (3) file::copy(FileName, Text) 
 (4) file::save(FileName, Text)