игра брюс 2048
Главная / Базы данных / Модели и смыслы данных в Cache и Oracle / Тест 3

Модели и смыслы данных в Cache и Oracle - тест 3

Упражнение 1:
Номер 1
Выберите верные высказывания о командных строках языка Cache ObjectScript

Ответ:

 (1) в командной строке S x=1 W:x=2 "x=",x печать не будет выполняться 

 (2) командная строка K S a=10, b=a+10 W ?a,"X", ?b,"Y" распечатает букву X в позиции 11, и букву Y в позиции 21 

 (3) команда W 5+5/2 выдаст результат 7.5 

 (4) командная строка R W “введите значение X”, X W X не содержит ошибок, но не удобна в использовании 


Номер 2
Выберите верные высказывания о командных строках языка Cache ObjectScript

Ответ:

 (1) в командной строке S x=1 W:x "x=",x печать не будет выполняться 

 (2) командная строка K S a=10, b=a-10 W ?a,"X", ?b,"Y" распечатает букву X в позиции 11, и букву Y в позиции 1 

 (3) команда W 5+5*2 выдаст результат 5 

 (4) командная строка R X#4:8 W X содержит ошибку 


Номер 3
Выберите верные высказывания о командных строках языка Cache ObjectScript

Ответ:

 (1) в командной строке K S x=1 W:x "x=",x допущена ошибка 

 (2) при исполнении командной строки K S a=10, b=200 W ?a,"X", ?b,"Y"появится сообщение об ошибке 

 (3) команда W 5+5#2 выдаст результат 0 

 (4) командная строка S a=-1 R:a "Введите X: " X#2 W X содержит ошибку 


Упражнение 2:
Номер 1
Выберите верные высказывания о логических операторах языка Cache ObjectScript

Ответ:

 (1) командная строка S X=0 W "X=",X," 'X=",'X определит отрицание X как 1 

 (2) командные строки K b S a=0 W a&b и K b S a=0 W a&&b дают одинаковые результаты 

 (3) оператор ”содержит”, обозначаемый [, в командной строке S a="строка", b="ока" W a[b вернёт значение 1 

 (4) оператор ”сортируется за”, обозначаемый ]], в командной строке W 20]]2,!, "ром"]]"роль",!,"спорт"]]"спортивный" 

 (5) вернёт три одинаковых значения 


Номер 2
Выберите верные высказывания о логических операторах языка Cache ObjectScript

Ответ:

 (1) команда W 2>11 вернёт 0, а команда W 2'>11 выдаст 1 

 (2) командная строка S a=0, b=1 W a'&b,!,'(a&b) вернёт два разных значения 

 (3) оператор ”следует”, обозначаемый ], в командной строке S a="ром", b="роль", c="спортивный", d="спорт" W "a]b=",a]b,!,"c]d=",c]d вернёт два разных значения 

 (4) оператор ”сортируется за”, обозначаемый ]], в командной строке W 20]]2,!, "р"_"ом"]]"роль",!,"спортивный"']]"спорт" вернёт три одинаковых значения 


Номер 3
Выберите верные высказывания о логических операторах языка Cache ObjectScript

Ответ:

 (1) командная строка S x=77, y=0 W (x=1)!(y=0) вернёт 0 

 (2) командная строка S a=0, b=1 W "a!b=",a!b,!,"a||b=",a||b вернёт два одинаковых значения 

 (3) оператор сравнения с шаблоном обозначаемый ? определит несоответствие шаблону в строке S x="+7(111)222222" W x ? 1"+"1N1"("3N1")"7N 

 (4) оператор ”сортируется за”, обозначаемый ]], в командной строке W 2]]"qwe",!, "ром"]]"роль",!,"спортивный"]]"спорт" вернёт три одинаковых значения 


Упражнение 3:
Номер 1
Выберите команды или командные строки, содержащие  разветвления без синтаксических и семантических ошибок

Ответ:

 (1) передача управления GOTO может использовать разветвления, созданные с помощью постусловий к самой команде и к её аргументам, например, G:x=1 МЕТКА1:x=2, МЕТКА2:x=3, МЕТКА3 

 (2) S x=1 I x=1 {W "x=",x} ELSE {W x+1, $TEST} 

 (3) IF a < 1 DO ^P1(t1) ELSE DO ^P2(t1) 

 (4) x=0,y=44 IF (x=1) {W "x=",x} ELSEIF (y=44) {W y} ELSEIF {W x, " ", y} 


Номер 2
Выберите команды или командные строки, содержащие  разветвления без синтаксических и семантических ошибок

Ответ:

 (1) для передачи управления с помощью GOTO в другую программу перед именем метки следует помещать знак ^, например, G ^P2 

 (2) S $TEST=0 ELSE W $TEST 

 (3) S x=1 I x=1 W "x=",x ELSE W x+1, $TEST 

 (4) S x=0,y=44 IF (x=1) {W "x=",x} ELSEIF (y=44) {W y} ELSE {W x, " ", y} 


Номер 3
Выберите команды или командные строки, содержащие  разветвления без синтаксических и семантических ошибок

Ответ:

 (1) при исполнении строки G Label W Label произойдёт передача управления по метке, затем выполнится печать 

 (2) S x=1 I x=1 W "x=",x, $TEST 

 (3) SET $TEST=2 W $TEST // Ожидается печать 2 

 (4) S x=0,y=44 IF (x=1) (W "x=",x) ELSEIF (y=44) (W y) ELSE (W x, " ", y) 


Упражнение 4:
Номер 1
Какие значения будут выданы в результате исполнения следующих циклов?

Ответ:

 (1) программная строка FOR i=1:-1:-5, i+2 {} W i вернёт значение -3 

 (2) программная строка S i=0 WHILE i<3 {W i S i=i+1} вернёт три цифры распечатанные без пробелов 

 (3) в программной строке K i DO {W i S i=i+2} WHILE i<2 цикл будет повторен два раза 

 (4) программная строка FOR i=1:-1:-5 {DO {W i, " " S i=i-1} WHILE i<3} зациклится 


Номер 2
Какие значения будут выданы в результате исполнения следующих циклов?

Ответ:

 (1) программная строка FOR i=1:1:5 {W j FOR j=1:1:3 {S i=6 }} не вернёт ни одного значения  

 (2) программная строка WHILE i<3 {S i=i+1 W i} распечатает 23 

 (3) программная строка S j=-1 DO {S j=j+1 W j, ” ”} WHILE i<2 выдаст три значения 

 (4) программная строка S i=2 DO {FOR j=1:1:3 {W i, " "} S i=i+1} WHILE i<5 будут повторять каждый выдаваемый результат трижды 


Номер 3
Какие значения будут выданы в результате исполнения следующих циклов?

Ответ:

 (1) программная строка FOR i=1:1:5 { FOR i=1:1:3 {W i }} вернёт 15 значений 

 (2) программная строка K WHILE i<3 {W i S i=i+1} распечатает три цифры 

 (3) программная строка S j=-1 DO {S j=j+1 W j} WHILE j<2 выдаст три цифры 

 (4) программная строка S i=2 DO {FOR j=1:1:3 {W i, !} S i=i+1} WHILE i<-5 выдаст три повторяющиеся строки 


Упражнение 5:
Номер 1
Какие константы или команды создаются с помощью разных видов косвенности и команды XECUTE?

Ответ:

 (1) в командной строке S a="b", b="c", c="a" W @@@@a косвенное имя @@@@a заменяется ”с”  

 (2) в командной строке S x="i=1:1:3" F @x W i косвенный аргумент @x заменяется на i=1:1:3 

 (3) в командной строке S x="a(1)", a="2", b=3, @x@(@a,@3)=123 W a(1,2,3) индексная косвенность формирует команду S a(1,2,3)=123 

 (4) команда XECUTE в строке S a="F i=1:1:2", b="{W i,!}" X a_b формирует и исполняет команду F i=1:1:2 {W i,!} 


Номер 2
Какие команды создаются с помощью разных видов косвенности и команды XECUTE?

Ответ:

 (1) в командной строке S a="b", b="c", c="d", d="e" W @@@@a косвенное имя @@@@a заменяется на “e” 

 (2) в командной строке K a, b, c S x= "a=22, b=7, c=a+b", @x W a,!,b,!,c косвенный аргумент @x заменяется на "a=22, b=7, c=a+b" и формируется присваивание S a=22, b=7, c=a+b 

 (3) в командной строке S x="a(1)", @x@(2,3)=123 W a(1,2,3) индексная косвенность формирует команду S a(1,2,3)=123 

 (4) команда XECUTE в строке S a="F i=1:1:2", b="{W i,!}" X a_b формирует и исполняет команду F i=1:1:2 {W i,!} 


Номер 3
Какие команды создаются с помощью разных видов косвенности и команды XECUTE?

Ответ:

 (1) в командной строке S a="b", b="c", c="77", "77"="e" W @@@@a косвенное имя @@@@a заменяется на ”e” 

 (2) в командной строке S x="(a,b,c)" K @x косвенный аргумент формирует команду K (a,b,c) 

 (3) в командной строке x="a(1)", @x@(2,3)@(4)=1234 W a(1,2,3,4) индексная косвенность формирует команду S a(1,2,3,4)=123 

 (4) команда XECUTE в строке S a="F i=1:1", b="{W i,!}", c=":2" X a_c_b формирует и исполняет команду F i=1:1:2 {W i,!} 


Упражнение 6:
Номер 1
Какие действия выполняют функции для работы со строками?

Ответ:

 (1) функции для работы со строками записанные в левой части присваивания, например, S a="QWERTY" S $E(a,1,2)=" B" W a, возвращают ошибку 

 (2) функция $FIND возвращает номер позиции в которой находится найденная подстрока 

 (3) в трёхаргументном варианте функции $TRANSLATE из строки определённой первым параметром удаляются все символы строки определённой вторым параметром 

 (4) командная строка W $TR($TR(" Это что-то", "ч", "к")," ","Э") вернёт строку "ЭЭЭто кто-то" 


Номер 2
Какие действия выполняют функции для работы со строками?

Ответ:

 (1) если третий аргумент функции $EXTRACT превышает длину строки, появится сообщение об ошибке 

 (2) в трёхаргументном варианте функции $FIND третий аргумент задаёт номер позиции в исходной строке, с которой начинается поиск 

 (3) функция $TRANSLATE("Это e-mail", "maile-", "мыло") вернёт строку "Это мыло"  

 (4) присваивание $E("QWERTY",1,44)="BB" вернёт строку "BBBBBB" 


Номер 3
Какие действия выполняют функции для работы со строками?

Ответ:

 (1) дробные значения в функции $EXTRACT не допускаются, например, W $E(“QWERTY”, 0.5,3.7) 

 (2) функция $F("01234567123", "1") вернёт значение 3, а для поиска следующего вхождения "1" следует использовать $F("01234567123", "1",3) 

 (3) функция $TRANSLATE("Это что-то", "чабвгд", "к") вернёт строку "Это кто-то" 

 (4) командная строка S a="QWE",$E(a,0,0)="ABRAKADABRA" W a вернёт строку "ABRAKADABRAQWE" 


Упражнение 7:
Номер 1
Какие действия выполняют функции для работы со строками с разделителями?

Ответ:

 (1) функция $LENGTH("AB^CDE^F","^") вернёт значение 3, а функция $LENGTH("AB^CDE^F","") вернёт 0 

 (2) функция $PIECE("AB^C+DE^F","^",2) вернёт "C+DE", а функция $PIECE("AB^C+DE^F",")",2) вернёт пустое значение 

 (3) в командной строке S a="AB^C+DE^F" W $FIND(a,"^",5) функция $FIND вернёт значение 3 

 (4) командная строка S a="AB^C+DE^F" W $FIND(a,+1,-7) не содержит синтаксических ошибок, но бессмысленна 


Номер 2
Какие действия выполняют функции для работы со строками с разделителями?

Ответ:

 (1) функция для работы со строками записанные в левой части присваивания, например, в строке S a="QW^ERT^Y" S $E(a,1,5)=" B" W a, возвращают ошибку 

 (2) функция $PIECE($PIECE("AB^C+DE^F","^",2),"+",1) вернёт значение "C" 

 (3) в командной строке S a="AB^C+DE^F" W $FIND(a,"^",5) функция $FIND вернёт значение 9 

 (4) строка S a="AB^CDE^F", $PIECE(a,"^",6)="CCC" W a вставит в строку a два пустых поля 


Номер 3
Какие действия выполняют функции для работы со строками с разделителями?

Ответ:

 (1) функция $LENGTH в строке W $LENGTH("AB^C+DE^F","^")," ", $LENGTH("AB^C+DE^F","+") вернёт значения длин 3 и 2 

 (2) командная строка S a="AB^C+DE^F", $PIECE(a,"^",2)="CCC" W a выдаст значение "AB^CCC^F" 

 (3) в командной строке S a="AB^C+DE^F" W $FIND(a,"^",5) функция $FIND вернёт значение 3 

 (4) командная строка S a="AB^C+DE^F" W $FIND($FIND(a,"^"),"+",1) бессмысленна, но синтаксических ошибок не содержит 


Упражнение 8:
Номер 1
Какие действия выполняют функции для работы со списками?

Ответ:

 (1) функция $LISTBUILD строит список из указанного набора элементов, а команда ZZDUMP выдаёт его структуру, указывая коды элементов списка и разделителей 

 (2) проверка с помощью функции $LISTVALID покажет правильность как списков всех структур a,b,c,d,e сформированных командной строкой S a=7, b="7", c="", d=$LB("A","B"),e="A^B" 

 (3) результаты работы двухаргументных функций $LISTGET и $LIST для списков не всегда совпадают 

 (4) функция $LISTSAME позволяет различать списки одинаковые по составу, но с разным порядком элементов 


Номер 2
Какие действия выполняют функции для работы со списками?

Ответ:

 (1) командная строка S a=$LB(), b=$LB("") ZZDUMP a,b показывает, что пустой список и список из единственного пустого элемента – одно и то же 

 (2) список созданный из строки с разделителями с помощью функции $LISTFROMSTRING("a^b^c","^") , это правильный список 

 (3) функция $LISTGET с тремя аргументами позволяет обнаруживать пустые элементы 

 (4) функция $LISTLENGTH при определении длины списка не учитывает неопределённые элементы, но учитывает элементы вложенных списков 


Номер 3
Какие действия выполняют функции для работы со списками?

Ответ:

 (1) командная строка K x S a=$LB("A ",x,6) F i=1:1:3 W "i=",i, ?5,$LG(a,i),! показывает, что неопределённые значения можно вставлять в список 

 (2) командная строка S v=$LB("1 4","6"),w=$LISTTOSTRING(v," ") W $LL(v), ?5,$LENGTH(w," ") ZZDUMP v показывает, что функция $LISTTOSTRING не проверяет наличия внутри исходного списка элемента, который будет использован в полученной строке как разделитель 

 (3) командная строка S a=$LB("A",,"B") F i=1:1:3 W i,?5,$LG(a,i,"null"),! показывает, что функция $LISTGET не позволяет обнаруживать в списках пустые элементы 

 (4) подключение пустого элемента в голову или хвост списка увеличивает его длину 


Упражнение 9:
Номер 1
Назовите особенности организации программ в Cache ObjectScript

Ответ:

 (1) программа содержит метки, командные строки, однострочные комментарии начинающиеся символами ”;” или “//”,однострочные комментарии, сохраняемые при компиляции, которые начинаются с ”;;” и многострочные комментарии вида /* … */  

 (2) используется четыре типа файлов программ с расширениями .mac, .inc, .int, .obj 

 (3) текст создаваемой программы необходимо архивировать, иначе его невозможно восстановить 

 (4) программа не может изменять себя и другие программы 


Номер 2
Назовите особенности организации программ в Cache ObjectScript

Ответ:

 (1) метки программы могут быть общедоступными (public) и локальными (private);  

 (2) промежуточный код программы, представляемый файлом с расширением .int, хранится в глобале ^ROUTINE в ветви со значением первого индекса равным “имя_программы”, вторым индексом равным нулю 

 (3) текст программы невозможно читать из самой программы  

 (4) время исполнения программы или её фрагментов можно измерить с точностью до микросекунд с помощью функции $zh 


Номер 3
Назовите особенности организации программ в Cache ObjectScript

Ответ:

 (1) точек входа в программу может быть столько, сколько в ней меток, не начинающих текст программы, плюс одна 

 (2) последние версии программ имеют расширения .int.1, .mac.1, предыдущие расширения .int.2, .mac.2 

 (3) для чтения строк текста программы без непосредственного обращения к глобалу ^ROUTINE можно использовать функцию $TEXT 

 (4) имя переменной вызываемой по ссылке отмечается точкой перед именем 


Упражнение 10:
Номер 1
Назовите особенности организации деревьев  (разреженных массивов) и функций для работы с ними в Cache ObjectScript

Ответ:

 (1) с помощью функции $DATA можно построить выражения, позволяющие выяснить, существует ли узел, имеются ли у него значения и потомки, будет ли узел виртуальным 

 (2) полное имя узла имеет формат ^| “имя_области_имён” | имя_узла (индексы) 

 (3) функция $QSUBSCRIPT(имя, -1) возвращает имя, а функция $QSUBSCRIPT(имя, 0) возвращает окружение 

 (4) функция $QLENGTH(“узел”) просматривает только текст своего аргумента и возвращает количество индексов в имени узла 


Номер 2
Назовите особенности организации деревьев  (разреженных массивов) и функций для работы с ними в Cache ObjectScript

Ответ:

 (1) без использования виртуальных узлов невозможно представить деревом разреженный массив 

 (2) неполная глобальная ссылка имеет формат ^(индексы), причём индексы должны быть добавлены к указателю, называемому индикатором неполной глобальной ссылки 

 (3) функция $QLENGTH(“узел”) ищет узел и возвращает количество индексов в имени узла 

 (4) командная строка K S a="",a(1)=1,a(1,1,2)= 112 W $D(a),?5,$D(a(1,1)) позволяет сделать вывод, что узел a – корень, а узел a(1,1) существует  


Номер 3
Назовите особенности организации деревьев  (разреженных массивов) и функций для работы с ними в Cache ObjectScript

Ответ:

 (1) значениями узлов могут быть константы, простые переменные, строки с разделителями, списки и значения узлов другого разреженного массива 

 (2) функция $GET(имя_узла) позволяет определить значение узла, если его нет, вернётся значение null 

 (3) функция $QSUBSCRIPT(имя, n), где n>0, возвращает значение n-го индекса 

 (4) функция $DATA не позволяет выявить несуществующие узлы 


Упражнение 11:
Номер 1
Выберите истинные утверждения о работе с разреженными массивами с помощью функций $ORDER, $QUERY и MERGE ?

Ответ:

 (1) можно считать, что цепочка индексов каждого горизонтального подуровня дерева замыкается на пустой индекс  

 (2) если задан глобал S ^H="", ^H(-5)=-5, ^H(2)=2, ^H("E")="E" то функция $ORDER(^H(“”),1) вернёт крайнее левое значение на глубине 1 дерева, а функция $ORDER(^H(“”),-1) крайнее правое значение 

 (3) при выполнении командной строки K S ^H="", ^H(-5)=-5, ^H(2)=2, ^H("E")="E", a(1)=1, a(3,3)=33 MERGE ^H(5)=a образуется узлы ^H(5,1)=1 и ^H(5,3,3)=33 

 (4) при поиске в глубину с помощью функции $QUERY движение начинается с попытки перемещения вправо по горизонтали 


Номер 2
Выберите истинные утверждения о работе с разреженными массивами с помощью функций $ORDER, $QUERY и MERGE

Ответ:

 (1) неканонические числа, содержащие избыточные нули и знак + расположены перед каноническими числами, а слова в кириллице перед словами в латинице 

 (2) функция $ORDER возвращает значение индекса следующего по порядку сортировки элемента, а $QUERY возвращает имя следующего узла 

 (3) при выполнении командной строки K S ^H="", ^H(-5)=-5, ^H(2)=2, ^H("E")="E", a(1)=1, a(3,3)=33 MERGE a(1)=^H(-5) образуется узел a(1,3,3)=-5 

 (4) при поиске в глубину с помощью функции $QUERY движение начинается с попытки перемещения по крайней левой ветви вниз, если это невозможно, смещаемся на узел справа на этом же уровне, если же и это невозможно, перемещаемся вверх 


Номер 3
Выберите истинные утверждения о работе с разреженными массивами с помощью функций $ORDER, $QUERY и MERGE

Ответ:

 (1) правда ли, что пара командных строк F i=1:1:255 S a($CHAR(i))= $CHAR(i) S x="" F {S x = $O(a(x)) Q:x="" W !,x,?20,a(x)} позволяет просмотреть порядок сортировки одиночных символов 

 (2) командная строка S ^H="", ^H(-5)=-5, ^H(2)=2, ^H("E")="E" W $O(^H(5)),?10,$O(^H(E)) вернёт значение индекса E и пустое значение  

 (3) . при выполнении командной строки K S ^H="", ^H(-5)=-5, ^H(2)=2, ^H("E")="E", a(1)=1, a(3,3)=33 MERGE a(1)=^H(-5) образуются узлы a(1)=-5 и a(3,3)=33 

 (4) попав на виртуальный узел, функция $QUERY сообщает об этом и прекращает перемещение