#wip(md,ecma): More tests and fixed some Bugs and alts, blocks and uniques done.

This commit is contained in:
KyMAN 2025-12-21 21:10:49 +01:00
parent 92e67643a7
commit 99aaee4c8b
30 changed files with 3815 additions and 134 deletions

View File

@ -106,7 +106,7 @@ export const I18NManager = (function(){
return Utils.string_variables((
Check.is_array(text) ? text.join("") :
text), variables, _default);
text), variables);
};
/**

View File

@ -0,0 +1,138 @@
"use strict";
import {Check} from "../../Utils/Check.ecma.js";
import {FormatModule} from "../FormatModule.ecma.js";
/**
* @typedef {import("../FormatModule.ecma.js").FormatModule} FormatModule
*/
/**
* @class AlternativesFormat
* @constructor
* @param {!FormatModule} format
* @returns {void}
* @access public
* @static
*/
export const AlternativesFormat = (function(){
/**
* @constructs AlternativesFormat
* @param {!FormatModule} format
* @returns {void}
* @access private
* @static
*/
const AlternativesFormat = function(format){
/** @type {AlternativesFormat} */
const self = this;
/**
* @returns {void}
* @access private
*/
const constructor = () => {
["alt", "alts", "alternative", "alternatives"].forEach(name => {
format.modes[name] = self.get;
format.checks[name] = self.check;
});
["Alt", "Alts", "Alternative", "Alternatives"].forEach(name => {
format.modes[name] = self.get;
format.checks[name] = self.check;
});
};
/**
* @param {[number, number]} coordenates
* @param {!(string|Array.<any|null>)} inputs
* @param {!Object.<string, any|null>} [shared = {}]
* @param {!Array.<string>} [fragments = []]
* @returns {string}
* @access public
*/
this.get = ([i, j], inputs, shared = {}, fragments = []) => {
/** @type {[string, boolean, string|Array.<string>]} */
const [language, mutable, content_base] = (
Check.is_string(inputs) ? ((_, language, mutable, options) => [
language, mutable == "1", options
])(...inputs.match(/^([^,]+),([01]),(.*)$/)) :
Check.is_array(inputs) ? inputs :
[]),
/** @type {string} */
content = Check.is_array(content_base) ? content_base.join("\n") : content_base;
/** @type {string|null} */
let block = null;
if(mutable){
if(shared && shared.uniques_cache){
for(let _ = 0; _ < 100; _ ++){
/** @type {string} */
const temporary = format.execute([i, j], content, shared, fragments);
if(!shared.uniques_cache.includes(temporary)){
block = temporary;
shared.uniques_cache.push(temporary);
break;
};
};
}else
block = format.execute([i, j], content, shared, fragments);
};
return "```" + language + "`" + (
block === null ? format.restore_fragments(content, fragments) :
block) + "```";
};
/**
* @param {[number, number]} coordenates
* @param {!string} string
* @param {!(string|Array.<string>)} inputs
* @param {!Object.<string, any|null>} [shared = {}]
* @param {!Array.<string>} [fragments = []]
* @returns {number}
* @access public
*/
this.check = ([i, j], string, inputs, shared = {}, fragments = []) => {
/** @type {[string, boolean, string|Array.<string>]} */
const [language, mutable, content_base] = (
Check.is_string(inputs) ? ((_, language, mutable, options) => [
language, mutable == "1", options
])(...inputs.match(/^([^,]+),([01]),(.*)$/)) :
Check.is_array(inputs) ? inputs :
[]),
/** @type {string} */
content = Check.is_array(content_base) ? content_base.join("\n") : content_base;
/** @type {number} */
let k = -1,
/** @type {string} */
clone = "" + string;
if(clone.startsWith("```" + language + "`")){
/** @type {number} */
const end = (clone = clone.substring(6 + language.length)).indexOf("```");
end != -1 &&
(k = (
mutable ? format.get_check_length([i, j], clone.substring(0, end), [content], shared, fragments) :
clone.startsWith(content + "```") ? content.length : -1)) != -1 &&
(k += 7 + language.length);
};
return k;
};
constructor();
};
return AlternativesFormat;
})();

View File

@ -59,10 +59,30 @@ export const BlockFormat = (function(){
[]),
/** @type {string} */
content = Check.is_array(content_base) ? content_base.join("\n") : content_base;
/** @type {string|null} */
let block = null;
if(mutable){
if(shared && shared.uniques_cache){
for(let _ = 0; _ < 100; _ ++){
/** @type {string} */
const temporary = format.execute([i, j], content, shared, fragments);
if(!shared.uniques_cache.includes(temporary)){
block = temporary;
shared.uniques_cache.push(temporary);
break;
};
};
}else
block = format.execute([i, j], content, shared, fragments);
};
return "```" + language + "`" + (
mutable ? format.execute([i, j], content, shared, fragments) :
format.restore_fragments(content, fragments)) + "```";
block === null ? format.restore_fragments(content, fragments) :
block) + "```";
};
/**

View File

@ -1,6 +1,5 @@
"use strict";
import {Utils} from "../../Utils/Utils.ecma.js";
import {Check} from "../../Utils/Check.ecma.js";
import {FormatModule} from "../FormatModule.ecma.js";
@ -35,14 +34,35 @@ export const MixFormat = (function(){
* @access private
*/
const constructor = () => {
format.modes.mix = self.get;
format.checks.mix = self.check;
format.modes.Mix = ([i, j], inputs, shared, fragments) => self.get([i, j], inputs, {
...shared, capitalized : true
}, fragments);
format.checks.Mix = ([i, j], string, inputs, shared, fragments) => self.check([i, j], string, inputs, {
...shared, capitalized : true
}, fragments);
["mix_uniques", "mixUniques", "mixuniques"].forEach(key => {
format.modes[key] = ([i, j], inputs, shared, fragments) => self.get([i, j], inputs, {
...shared, uniques : true
}, fragments);
format.checks[key] = ([i, j], string, inputs, shared, fragments) => self.check([i, j], string, inputs, {
...shared, uniques : true
}, fragments);
});
["Mix_uniques", "Mix_Uniques", "MixUniques"].forEach(key => {
format.modes[key] = ([i, j], inputs, shared, fragments) => self.get([i, j], inputs, {
...shared, capitalized : true, uniques : true
}, fragments);
format.checks[key] = ([i, j], string, inputs, shared, fragments) => self.check([i, j], string, inputs, {
...shared, capitalized : true, uniques : true
}, fragments);
});
};
/**
@ -57,27 +77,13 @@ export const MixFormat = (function(){
/** @type {[string, Array.<string>]} */
const [separator, original_items] = (
Check.is_string(inputs) ? ((_, separator, options) => [
separator, options.split("|")
])(...inputs.match(/^([^,]+),(.*)$/)) :
Check.is_array(inputs) ? inputs :
[]),
/** @type {Array.<string>} */
items = format.get_list([i, j], [...original_items]);
/** @type {number} */
let l = items.length,
/** @type {string} */
results;
Check.is_string(inputs) ? ((_, separator, options) => [
separator, options.split("|")
])(...inputs.match(/^([^,]+),(.*)$/)) :
Check.is_array(inputs) ? inputs :
[]);
Utils.randomize_array(items);
results = format.execute([i, j],
l < 2 ? items.join("") :
items.slice(0, l - 1).join(", ") + (
!separator ? " " :
/^[a-z 0-9]+$/i.test(separator.trim()) ? " " + separator.trim() + " " :
separator) + items[l - 1], shared, fragments);
return shared.capitalized ? results.replace(/^./, character => character.toUpperCase()) : results;
return format.get_items([i, j], original_items, original_items.length, separator, fragments, shared);
};
/**

View File

@ -47,10 +47,16 @@ export const PlainFormat = (function(){
* @returns {string}
* @access public
*/
this.get = ([i, j], inputs, shared = {}, fragments = []) => format.execute([i, j],
Check.is_string(inputs) ? inputs :
Check.is_string(inputs[0]) ? inputs[0] :
"", shared, fragments);
this.get = ([i, j], inputs, shared = {}, fragments = []) => {
/** @type {string} */
let results = format.execute([i, j],
Check.is_string(inputs) ? inputs :
Check.is_string(inputs[0]) ? inputs[0] :
"", shared, fragments);
return FormatModule.process_item(results, shared);
};
/**
* @param {[number, number]} coordenates

View File

@ -35,8 +35,17 @@ export const RandomFormat = (function(){
* @access private
*/
const constructor = () => {
format.modes.rand = format.modes.random = self.get;
format.checks.rand = format.checks.random = self.check;
format.modes.Rand = format.modes.Random = ([i, j], inputs, shared, fragments) => self.get([i, j], inputs, {
...shared, capitalized : true
}, fragments);
format.checks.Rand = format.checks.Random = ([i, j], string, inputs, shared, fragments) => self.check([i, j], string, inputs, {
...shared, capitalized : true
}, fragments);
};
/**
@ -47,10 +56,27 @@ export const RandomFormat = (function(){
* @returns {string}
* @access public
*/
this.get = ([i, j], inputs, shared = {}, fragments = []) => format.execute([i, j], Utils.get_random(format.get_list([i, j], (
Check.is_string(inputs) ? inputs.split("|") :
Check.is_array(inputs[0]) ? inputs[0] :
[]))), shared, fragments);
this.get = ([i, j], inputs, shared = {}, fragments = []) => {
/** @type {Array.<string>} */
const items = (
Check.is_string(inputs) ? inputs.split("|") :
Check.is_array(inputs[0]) ? inputs[0] :
[]),
/** @type {boolean} */
has_uniques = shared && shared.uniques_cache;
/** @type {string} */
let results;
for(let _ = 0; _ < 100; _ ++){
results = format.execute([i, j], Utils.get_random(format.get_list([i, j], items)), shared, fragments);
if(!has_uniques || !shared.uniques_cache.includes(results))
break;
};
has_uniques && shared.uniques_cache.push(results);
return FormatModule.process_item(results, shared);
};
/**
* @param {[number, number]} coordenates

View File

@ -48,19 +48,37 @@ export const RangeFormat = (function(){
*/
this.get = ([i, j], inputs, shared = {}, fragments = []) => {
if(Check.is_number(inputs = (
Check.is_string(inputs) ? Utils.get_random(inputs.split("|")).split("-").map(Number) :
Check.is_array(inputs) ? inputs :
[])))
return "" + inputs;
/** @type {Array.<number|[number, number]>} */
const options = inputs.split("|").map(item => (
item.includes("-") ? item.split("-").map(Number) :
Number(item)
)),
/** @type {boolean} */
has_uniques = shared && shared.uniques_cache;
/** @type {number} */
const l = inputs.length;
let value;
return "" + (
!l ? null :
l == 1 ? inputs[0] :
Utils.get_random(...inputs));
for(let _ = 0; _ < 100; _ ++){
value = Check.is_number(value = Utils.get_random(options)) ? value : Utils.get_random(...value);
if(!has_uniques || !shared.uniques_cache.includes("" + value))
break;
};
has_uniques && (shared.uniques_cache.push("" + value));
// if(Check.is_number(inputs = (
// Check.is_string(inputs) ? Utils.get_random(inputs.split("|")).split("-").map(Number) :
// Check.is_array(inputs) ? inputs :
// [])))
// return "" + inputs;
// /** @type {number} */
// const l = inputs.length;
// return "" + (
// !l ? null :
// l == 1 ? inputs[0] :
// Utils.get_random(...inputs));
return value || 0;
};
/**

View File

@ -35,14 +35,35 @@ export const SelectFormat = (function(){
* @access private
*/
const constructor = () => {
format.modes.select = self.get;
format.checks.select = self.check;
format.modes.Select = ([i, j], inputs, shared, fragments) => self.get([i, j], inputs, {
...shared, capitalized : true
}, fragments);
format.checks.Select = ([i, j], string, inputs, shared, fragments) => self.check([i, j], string, inputs, {
...shared, capitalized : true
}, fragments);
["select_uniques", "selectUniques", "selectuniques"].forEach(key => {
format.modes[key] = ([i, j], inputs, shared, fragments) => self.get([i, j], inputs, {
...shared, uniques : true
}, fragments);
format.checks[key] = ([i, j], string, inputs, shared, fragments) => self.check([i, j], string, inputs, {
...shared, uniques : true
}, fragments);
});
["Select_uniques", "Select_Uniques", "SelectUniques"].forEach(key => {
format.modes[key] = ([i, j], inputs, shared, fragments) => self.get([i, j], inputs, {
...shared, capitalized : true, uniques : true
}, fragments);
format.checks[key] = ([i, j], string, inputs, shared, fragments) => self.check([i, j], string, inputs, {
...shared, capitalized : true, uniques : true
}, fragments);
});
};
/**
@ -57,43 +78,13 @@ export const SelectFormat = (function(){
/** @type {[[number, number], string, Array.<string>]} */
const [range, separator, original_items] = (
Check.is_string(inputs) ? ((_, range, separator, items) => [
range.split("-").map(Number), separator, items.split("|")
])(...inputs.match(/^([^,]+),([^,]+),(.*)$/)) :
Check.is_array(inputs) ? inputs :
[]),
/** @type {number} */
k = Utils.get_random(...range);
Check.is_string(inputs) ? ((_, range, separator, items) => [
range.split("-").map(Number), separator, items.split("|")
])(...inputs.match(/^([^,]+),([^,]+),(.*)$/)) :
Check.is_array(inputs) ? inputs :
[]);
if(!k)
return "";
/** @type {Array.<string>} */
const items = format.get_list([i, j], [...original_items]);
/** @type {number} */
let l = items.length,
/** @type {string} */
results;
if(l < 2)
results = items.join("");
else{
Utils.randomize_array(items);
items.splice(0, l - k);
l = items.length;
results = (
l < 2 ? items[0] :
items.slice(0, l - 1).join(", ") + (
!separator ? " " :
/^[a-z 0-9]+$/i.test(separator.trim()) ? " " + separator.trim() + " " :
separator) + items[l - 1]);
};
results = format.execute([i, j], results, shared, fragments);
return shared.capitalized ? results.replace(/^./, character => character.toUpperCase()) : results;
return format.get_items([i, j], original_items, range, separator, fragments, shared);
};
/**

View File

@ -48,27 +48,56 @@ export const SerieFormat = (function(){
*/
this.get = ([i, j], inputs, shared = {}, fragments = []) => {
Check.is_string(inputs) &&
(inputs = inputs.split("|").map(range => range.split("-").map(Number)));
shared.serie === undefined ||
(inputs = inputs.filter(range => (
!Check.is_array(range) ? shared.serie < range :
range.length == 1 ? shared.serie < range[0] :
shared.serie < range[1])));
/** @type {number|[number]|[number, number]} */
const range = Utils.get_random(inputs);
if(!Check.is_array(range))
return shared.serie = range;
if(range.length == 1)
return shared.serie = range[0];
/** @type {Array.<number|[number, number]>} */
const options = inputs.split("|").map(item => (
item.includes("-") ? item.split("-").map(Number) :
Number(item)
)),
/** @type {boolean} */
has_uniques = shared && shared.uniques_cache;
/** @type {number} */
let value;
if(shared.serie !== undefined)
while(options.length){
if(Check.is_number(options[0])){
if(options[0] >= shared.serie)
break;
}else if(options[0][1] >= shared.serie){
options[0][0] = shared.serie;
break;
};
options.shift();
};
for(let _ = 0; _ < 100; _ ++){
value = Check.is_number(value = Utils.get_random(options)) ? value : Utils.get_random(...value);
if(!has_uniques || !shared.uniques_cache.includes("" + value))
break;
};
has_uniques && (shared.uniques_cache.push("" + value));
// Check.is_string(inputs) &&
// (inputs = inputs.split("|").map(range => range.split("-").map(Number)));
while((value = Utils.get_random(...range)) <= shared.serie);
// shared.serie === undefined ||
// (inputs = inputs.filter(range => (
// !Check.is_array(range) ? shared.serie < range :
// range.length == 1 ? shared.serie < range[0] :
// shared.serie < range[1])));
// /** @type {number|[number]|[number, number]} */
// const range = Utils.get_random(inputs);
// if(!Check.is_array(range))
// return shared.serie = range;
// if(range.length == 1)
// return shared.serie = range[0];
// /** @type {number} */
// let value;
// while((value = Utils.get_random(...range)) <= shared.serie);
return shared.serie = value;
};

View File

@ -0,0 +1,78 @@
"use strict";
import {Utils} from "../../Utils/Utils.ecma.js";
import {Check} from "../../Utils/Check.ecma.js";
import {FormatModule} from "../FormatModule.ecma.js";
/**
* @typedef {import("../FormatModule.ecma.js").FormatModule} FormatModule
*/
/**
* @class UniquesFormat
* @constructor
* @param {!FormatModule} format
* @returns {void}
* @access public
* @static
*/
export const UniquesFormat = (function(){
/**
* @constructs UniquesFormat
* @param {!FormatModule} format
* @returns {void}
* @access private
* @static
*/
const UniquesFormat = function(format){
/** @type {UniquesFormat} */
const self = this;
/**
* @returns {void}
* @access private
*/
const constructor = () => {
["u", "unique", "uniques"].forEach(key => {
format.modes[key] = self.get;
format.checks[key] = self.check;
});
};
/**
* @param {[number, number]} coordenates
* @param {!(string|Array.<any|null>)} inputs
* @param {!Object.<string, any|null>} [shared = {}]
* @param {!Array.<string>} [fragments = []]
* @returns {string}
* @access public
*/
this.get = ([i, j], inputs, shared = {}, fragments = []) => {
return format.execute([i, j], inputs, {
...(shared || {}),
/** @type {Array.<string>} */
uniques_cache : []
}, fragments);
};
/**
* @param {[number, number]} coordenates
* @param {!string} string
* @param {!(string|Array.<string>)} inputs
* @param {!Object.<string, any|null>} [shared = {}]
* @param {!Array.<string>} [fragments = []]
* @returns {number}
* @access public
*/
this.check = ([i, j], string, inputs, shared = {}, fragments = []) => (
format.get_check_length([i, j], string, [inputs], shared, fragments, false)
);
constructor();
};
return UniquesFormat;
})();

View File

@ -1,6 +1,7 @@
"use strict";
import {Check} from "../Utils/Check.ecma.js";
import {Utils} from "../Utils/Utils.ecma.js";
import {RandomFormat} from "./Format/RandomFormat.ecma.js";
import {RangeFormat} from "./Format/RangeFormat.ecma.js";
import {MixFormat} from "./Format/MixFormat.ecma.js";
@ -9,6 +10,7 @@ import {SelectFormat} from "./Format/SelectFormat.ecma.js";
import {PlainFormat} from "./Format/PlainFormat.ecma.js";
import {CapitalizeFormat} from "./Format/CapitalizeFormat.ecma.js";
import {BlockFormat} from "./Format/BlockFormat.ecma.js";
import {UniquesFormat} from "./Format/UniquesFormat.ecma.js";
/**
* @typedef {import("../OpoTests.ecma.js").OpoTests} OpoTests
@ -80,6 +82,8 @@ export const FormatModule = (function(){
this.capitalize = new CapitalizeFormat(self);
/** @type {BlockFormat} */
this.block = new BlockFormat(self);
/** @type {UniquesFormat} */
this.uniques = new UniquesFormat(self);
/**
* @returns {void}
@ -87,6 +91,18 @@ export const FormatModule = (function(){
*/
const constructor = () => {};
/**
* @param {![number, number]} coordenates
* @param {!string} key
* @returns {boolean}
* @access public
*/
this.variable_exists = ([i, j], key) => (
key in ot.variables ||
(ot.group_variables[ot.database[i].group] && key in ot.group_variables[ot.database[i].group]) ||
(ot.database[i].queries[j].own_variables && key in ot.database[i].queries[j].own_variables)
);
/**
* @param {![number, number]} coordenates
* @param {!string} key
@ -153,6 +169,8 @@ export const FormatModule = (function(){
length = 0;
return parts.every((part, k) => {
if(clone.indexOf(part) == 0)
return true;
/** @type {number} */
let m = -1;
@ -165,7 +183,7 @@ export const FormatModule = (function(){
const key = matches[1];
if(/^[a-z0-9_]+$/i.test(key)){
if(key in ot.variables){
if(self.variable_exists([i, j], key)){
/** @type {[string, ...(any|null)]} */
const [method, ...data] = self.get_variable([i, j], key);
@ -274,15 +292,15 @@ export const FormatModule = (function(){
return self.modes[method]([i, j], data, shared, fragments);
};
};
return original
return original;
});
}catch(exception){
console.error([exception, fragments, string, substring]);
throw new Error("STOPPED");
};
return string;
return substring;
})
);
/**
* @param {[number, number]} coordenates
* @param {!string} string
@ -382,6 +400,100 @@ export const FormatModule = (function(){
self.set_fragments_level(substring, fragments)
));
/**
* @param {[number, number]} coordenates
* @param {!Array.<string>} items
* @param {?number} k
* @param {?string} separator
* @param {!Array.<string>} fragments
* @param {?Object.<string, any|null>} shared
* @returns {string}
* @access public
*/
this.get_items = ([i, j], items, k, separator, fragments, shared) => {
/** @type {number} */
const l = (items = self.get_list([i, j], items)).length,
/** @type {Array.<string>} */
selected = [],
/** @type {Object.<string, any|null>} */
subshared = {
...(shared || (shared = {})),
/** @type {boolean} */
capitalized : false,
/** @type {boolean} */
uniques : false
};
while(Check.is_array(k))
Check.is_string(k = Utils.get_random(...(
k.every(Check.is_number) && k.length < 3 ? k : [k]
))) &&
(k = k.includes("-") ? k.split("-").map(Number) : Number(k));
k || (k = 1);
if((shared || (shared = {})).uniques){
shared.uniques_cache = [];
for(let m = 0; m < k && items.length; m ++){
/** @type {string} */
const item = Utils.get_random(items);
if(/\${3}[0-9]+\${3}/.test(item)){
/** @type {boolean} */
let done = false;
for(let t = 0; t < 100; t ++){
/** @type {string} */
const item_string = self.execute([i, j], item, subshared, fragments);
if(done = !selected.includes(item_string) && (
!shared.uniques_cache || !shared.uniques_cache.includes(item_string)
)){
selected.push(item_string);
break;
};
};
if(!done){
items.splice(items.indexOf(item), 1);
m --;
};
}else{
!selected.includes(item) && (
!shared.uniques_cache || !shared.uniques_cache.includes(item_string)
) && selected.push(item);
items.splice(items.indexOf(item), 1);
};
};
}else{
for(let m = 0; m < k && items.length; m ++){
/** @type {number} */
const x = Utils.get_random(items.length - 1);
if(shared.uniques_cache && shared.uniques_cache.includes(items[x]))
m --;
else
selected.push(self.execute([i, j], items[x], subshared, fragments));
items.splice(x, 1);
};
// Utils.randomize_array(items);
// selected.push(...items.slice(0, k > l ? l : k).map(item => self.execute([i, j], item, subshared, fragments)));
};
return FormatModule.process_item((selected.length > 1 ? selected.slice(0, selected.length - 1).join(", ") + (
!separator ? " " :
/^[a-z 0-9]+$/i.test(separator.trim()) ? " " + separator.trim() + " " :
separator) + selected[selected.length - 1] : selected[0]), shared);
};
constructor();
};
@ -408,7 +520,6 @@ export const FormatModule = (function(){
let cache = data;
const x = data;
// while((cache = callback(data = cache)) != data);
do{
cache === undefined && console.warn([x, cache]);
cache = callback(data = cache);
@ -482,5 +593,14 @@ export const FormatModule = (function(){
return -1;
};
/**
* @param {!string} item
* @param {!Object.<string, any|null>} shared
* @returns {string}
* @access public
* @static
*/
FormatModule.process_item = (item, shared) => shared && shared.capitalized ? item.replace(/^./, character => character.toUpperCase()) : item;
return FormatModule;
})();

View File

@ -149,6 +149,8 @@ export const TestsView = (function(){
]],
["section", null, questions.map(([i, j], q) => {
/** @type {number} */
let x = 0;
/** @type {Array.<string>} */
const answers = [],
/** @type {Array.<[string, boolean]>} */
@ -165,13 +167,13 @@ export const TestsView = (function(){
(ot.database[i].queries[j][key] = [ot.database[i].queries[j][key]]);
ot.database[i].queries[j][key].forEach(answer => {
TestsView.add_answer_to(all, answer, ok);
TestsView.add_answer_to(all, answer, ok, false);
});
ot.database[i].queries[j].brothers_are_wrongs &&
ot.database[i].queries.forEach((query, k) => {
k == j || query.rights.forEach(answer => {
TestsView.add_answer_to(all, answer, false);
TestsView.add_answer_to(all, answer, false, true);
});
});
@ -179,12 +181,12 @@ export const TestsView = (function(){
return all;
}, []),
/** @type {Array.<[[string, number|null], boolean, boolean, boolean]>} */
wrongs_list = originals.map(([_, ok, __, is_brother], i) => !is_brother && !ok ? i : null).filter(item => item !== null),
/** @type {number} */
number_of_answers = Utils.get_random(data.minimum_answers, data.maximum_answers),
/** @type {boolean} */
multiple_answers = data.allow_multiple_answers && (!data.allow_unique_right || Math.random() < .5)
/** @type {number} */
let x = 0;
multiple_answers = data.allow_multiple_answers && (!data.allow_unique_right || Math.random() < .5);
const memory = [];
@ -192,8 +194,18 @@ export const TestsView = (function(){
/** @type {number} */
let k = Utils.get_random(originals.length),
/** @type {[[string, number|null], boolean, boolean]} */
[[answer, probability], ok, dynamic] = [...originals[k]];
/** @type {[[string, number|null], boolean, boolean, boolean]} */
[[answer, probability], ok, dynamic, is_brother] = [...originals[k]];
if(is_brother && wrongs_list.length && Math.random() < .5){
/** @type {number} */
const l = Utils.get_random(wrongs_list.length);
[[answer, probability], ok, dynamic] = [...originals[k = wrongs_list[l]]];
wrongs_list.splice(l, 1);
};
if(probability !== null && Math.random() > probability){
y --;
@ -202,8 +214,12 @@ export const TestsView = (function(){
if(dynamic)
answer = ot.format.execute([i, j], answer);
else
else {
originals.splice(k, 1);
wrongs_list.forEach((value, i) => {
value >= k && (wrongs_list[i] --);
});
};
memory.push([k, answer]);
@ -256,7 +272,12 @@ export const TestsView = (function(){
if(ok){
if(!multiple_answers)
for(let z = originals.length - 1; z >= 0; z --)
originals[z][1] && originals.splice(z, 1);
if(originals[z][1]){
originals.splice(z, 1);
wrongs_list.forEach((value, i) => {
value >= z && (wrongs_list[i] --);
});
};
};
raw_answers.push([answer, ok]);
}else
@ -517,17 +538,18 @@ export const TestsView = (function(){
* @param {!Array.<[[string, number|null], boolean, boolean]>} answers
* @param {!(string|[string, number|null])} answer
* @param {!boolean} right
* @param {!boolean} [is_brother = false]
* @returns {void}
* @access public
* @static
*/
TestsView.add_answer_to = (answers, answer, right) => {
TestsView.add_answer_to = (answers, answer, right, is_brother = false) => {
/** @type {[string, number|null]} */
const [text, probability] = Check.is_array(answer) ? answer : [answer, null];
answers.some(([[base, __], ..._]) => base == text) ||
answers.push([[text, probability], right, text.includes("[[") || text.includes("{")]);
answers.push([[text, probability], right, text.includes("[[") || text.includes("{"), is_brother]);
};

View File

@ -13,6 +13,9 @@
"/json/paco/constitucion/paco.ce.02.0.constitucion.i.json",
"/json/paco/constitucion/paco.ce.02.1.constitucion.i-articulado.json",
"/json/paco/constitucion/paco.ce.02.2.constitucion.i-leyes.json",
"/json/paco/39-2015/paco.39-2015.01.i.json",
"/json/paco/39-2015/paco.39-2015.02.ii.json",
"/json/kyman/comun/eag/kyman.eag.00.estructura.json",
"/json/paco/trebep/paco.trebep.00.estructura.json",
"/json/paco/trebep/paco.trebep.01.i.json",
@ -28,6 +31,7 @@
"/json/kyman/especifico/kyman.00.redes.06.osi.json",
"/json/kyman/especifico/kyman.00.redes.07.tcp-ip.json",
"/json/kyman/especifico/kyman.00.redes.08.hardware.json",
"/json/kyman/especifico/kyman.00.redes.09.software.json",
"/json/kyman/especifico/kyman.01.generaciones.json",
"/json/kyman/especifico/kyman.02.hardware.00.ics.json",
"/json/kyman/especifico/kyman.03.desarrollo.02.codificaciones-texto.json",
@ -39,6 +43,7 @@
"/json/kyman/especifico/software/kyman.01.sed.json",
"/json/kyman/especifico/software/kyman.02.tracert.json",
"/json/kyman/especifico/software/kyman.03.git.json",
"/json/kyman/especifico/software/kyman.04.docker.json",
"/data/json/baquedano/c-ejer-1-promo-sass-2025.json",
"/data/json/baquedano/c-ejer-1-libre-sas-2025.json",

View File

@ -0,0 +1,150 @@
[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Ley 39/2015 - Título I - Capítulo I",
"group" : "kyman_39_2015_t1_c1",
"queries" : [{
"question" : "¿Qué significa 'apud acta' en el contexto de la {l_39_2015}?",
"own_variables" : {
"poderante" : ["rand", ["al poderdante", "a una persona"]],
"apoderado" : ["rand", ["al apoderado", "otra persona", "a un {rand:abogado|procurador}"]],
"formalizacion_vias" : ["mix", "o", [
"presencialmente ante un Letrado de la {LAJ}",
"eletrónicamente, inscribiéndonse en los registros electrónicos de apoderamiento"
]],
"para_texto" : ["plain", " para que le represente ante {mix:o,las {AAPP}|la {LAJ}}"],
"para" : ["rand", ["", "{para_texto}"]],
"formalizacion_texto" : ["plain", ", formalizado de forma {mix:y,gratuita|voluntaria}, ya sea {formalizacion_vias}"],
"formalizacion" : ["rand", ["", "{formalizacion_texto}"]]
},
"rights" : ["Es un acto jurídico que permite {poderante} autorizar {apoderado}{para}{formalizacion}."],
"wrongs" : ["Es {select:1-2,o,un acto|un hecho|una Ley|una Ordenanza} {select:1-3,o,administrativo|obligatorio|legislativo|jurídico|ejecutivo} que permite {rand:{rand:a una {AAPP}|a la {LAJ}|a las autoridades} ser el {rand:apoderado|abogado|procurador} de una persona{rand:| física| jurídica}|{poderante} {select:1-2,y,autorizar,ceder|permitir} {apoderado}}{rand:|{para_texto}| con el fin de acelerar procesos{rand:|{select:1-2,y,legales|administrativos}}}{rand:|{formalizacion_texto}|mediante una notificación escrita|mediante una resolución formal}."]
}, {
"question" : "¿Quiénes tienen capacidad de obrar para los interesados{rand:| en el procedimiento administrativo}{rand:| ante las {AAPP}} según {rand:el artículo 3 de |}la {l_39_2015}?",
"own_variables" : {
"grupos_lista" : [
"los grupos de afectados",
"las {mix:y,uniones|entidades} sin personalidad jurídica",
"los patrimonios {mix:o,independientes|autónomos}"
],
"lista_bien" : ["list", [
"las personas {mix:o,físicas|jurídicas} que obstenten capacidad de obrar con arreglo a las Normas Civiles",
"los menores de edad para el {mix:y,ejercicio|defensa} de sus {mix:y,derechos|intereses} cuya actuacioń esté permitida por el ordenamiento jurídico sin la asistencia de la persona que ejerza la {mix:o,patria potestad|tutela|curatela}",
"cuando la Ley así lo declare expresamente",
"list:grupos_lista"
]],
"lista_mal" : ["list", [
"los menores incapacitados, pese a a que les afecte {select:1-2,y,al ejercicio|a la defensa} de sus {select:1-2,o,derechos|intereses}{rand:| para garantizar sus libertades}",
"las {select:1-2,y,autoridades|{AAPP}} sin solicitud de los interesados si hubiere una vulneración de sus derechos"
]]
},
"rights" : ["{Select:1-4,y,list:lista_bien}, entre otros."],
"wrongs" : [
"{Cap:{rand:|{rand:Únicamente|Sólamente|Sólo} }{select:1-4,y,list:lista_bien|list:lista_mal}}{rand:|, aunque puede haber excepciones que los amplíen|, aunque puede haber excepciones reguladas por Ley}.",
"{rand:Cualquier persona|Las personas} {select:1-2,o,físicas|jurídicas}{rand:|, independientemente del caso|, aunque puede haber excepciones reguladas por Ley}."
]
}, {
"question" : "¿Cuándo, un menor, se entiende que tiene capacidad de obrar según {rand:el artículo 3 de |}la {l_39_2015}?",
"rights" : [
"Siempre y cuando sea para el {mix:y,ejercicio|defensa} de sus {mix:y,derechos|intereses} cuya actuación esté permitida por el ordenamiento jurídico sin la asistencia de la persona que ejerza la {mix:o,patria potestad|tutela|curatela}.",
"Siempre que no haya una extensión de incapacitación que afecte {mix:y,al ejercicio|a la defensa} de sus {mix:o,derechos|intereses}."
],
"wrongs" : [
"Mientras sea menor de edad, el individuo no tiene capacidad de obrar.",
"No permitir la capacidad de obrar a los menores constituiría una vulneración de sus derechos.",
"Cuando no haya una extensión de incapacitación que afecte al {select:1-2,y,ejercicio|defensa} de sus {select:1-2,o,derechos|intereses|libertades}, salvo que se trate de menores emancipados."
]
}, {
"question" : "¿En qué casos se considera que un menor no tiene capacidad de obrar según {rand:{rand:|el apartado 2 d}el artículo 3 de |}la {l_39_2015}?",
"rights" : ["Cuando haya una extensión de incapacitación que afecte {mix:y,al ejercicio|a la defensa} de sus {mix:o,derechos|intereses}."],
"wrongs" : [
"Cuando no haya una extensión de incapacitación que afecte al {select:1-2,y,ejercicio|defensa} de sus {select:1-2,o,derechos|intereses|libertades}, salvo que se trate de menores emancipados.",
"Mientras sea menor de edad, el individuo no tiene capacidad de obrar.",
"Cuando el menor no tenga la asistencia de la persona que ejerza la {mix:o,patria potestad|tutela|curatela}."
]
}, {
"question" : "¿Qué es el 'derecho-habiente' según la {l_39_2015}?",
"rights" : ["Es la persona que adquiere {mix:o,derechos|intereses} que pueden ser ejercidos por otra persona."],
"wrongs" : [
"Es la persona que adquiere {select:1-3,o,derechos|intereses|libertades} que pueden ser ejercidos por otra persona.",
"Es la persona que cede sus {select:1-3,derechos|intereses|libertades} a otra persona.",
"Es la persona que representa a otra en un procedimiento administrativo.",
"Es la persona que inicia un procedimiento administrativo en nombre propio."
]
}, {
"question" : "¿Según {rand:el artículo 4 de |}la {l_39_2015}, quiénes de los siguientes son considerados interesados en el procedimiento administrativo?",
"own_variables" : {
"bien" : ["list", [
"Los que promuevan como titulares de {mix:o,derechos|intereses} legítimos {mix:o,individuales|colectivos}.",
"Los que, sin haber iniciado el procedimiento, tengan derechos que puedan resultar afectados por la resolución del procedimiento.",
"los que sus intereses {mix:o,legítimos|individuales|colectivos}, puedan resultar afectados por la resolución y se personen en el procedimiento en tanto no haya recaído resolución definitiva",
"las {mix:y,asociaciones|organizaciones} representativas de intereses {mix:y, económicos|sociales} en los términos que la Ley reconozca",
"los que deriven de alguna relación jurídica transmisible{rand:| vía derecho-habiente}"
]],
"mal" : ["list", [
"Los que promuevan como titulares de {select:1-3,o,derechos|intereses|libertades} legítimos {select:1-3,o,individuales|colectivos|personales}.",
"los que no tengan ningún tipo de relación con el procedimiento administrativo",
"los que no puedan verse afectados por la decisión que en el procedimiento se adopte",
"las {select:1-2,y,asociaciones|organizaciones} que no sean representativas de intereses {select:1-2,y,económicos|sociales}",
"los que no deriven de alguna relación jurídica transmisible{rand:| vía derecho-habiente}",
"Cualquier persona {mix:o,física|jurídica} que tenga algún tipo de relación con el procedimiento administrativo.",
"las {select:1-3,y,asociaciones|organizaciones|autoridades} representativas de intereses {select:1-3,y,económicos|sociales|legislativos}{rand:| en los términos que la Ley reconozca}",
"los que deriven de alguna relación {rand:ejecutiva|legislativa} transmisible{rand:| vía derecho-habiente}"
]]
},
"rights" : ["{Select:1-4,o,list:bien}."],
"wrongs" : ["{Select:1-4,o,list:mal}."]
}, {
"question" : "¿Qué tipos de agrupaciones pueden considerarse interesados según {rand:el artículo 4 de |}la {l_39_2015}?",
"rights" : ["Las {mix:y,asociaciones|organizaciones} representativas de intereses {mix:y,económicos|sociales} en los términos que la Ley reconozca."],
"wrongs" : ["{Cualquier tipo de agrupación|{rand:{rand:Únicamente|Sólamente|Sólo} l|L}as {select:1-3,y,asociaciones|organizaciones}}{rand:| que no sean} representativas de intereses {select:1-3,y,económicos|sociales|laborales|personales}{rand:| en los términos que la Ley reconozca|, sin excepción}."]
}, {
"question" : "¿Qué es la representación según {rand:el artículo 5 de |}la {l_39_2015}?",
"rights" : ["Es el acto jurídico por el cual una persona, el representante, actúa en nombre de otra, el representado, para la realización de actos jurídicos."],
"wrongs" : ["Es el acto {select:1-3,y,legislativo|ejecutivo|jurídico|administrativo} por el cual una persona{rand: actúa en nombre propio|, el representado, actúa en nombre de otra, el representante,} para la realización de actos {select:1-3,y,legislativos|ejecutivos|jurídicos|administrativos}."]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Ley 39/2015 - Título I - Capítulo I - Articulado",
"group" : "kyman_39_2015_t1_c1_articulado",
"queries" : [{
"question" : "¿De qué va el artículo 3 de la {l_39_2015}?",
"rights" : ["De quiénes tienen la capacidad de obrar para los interesados{rand:| en el procedimiento administrativo}{rand:| ante las {AAPP}}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué va el artículo 4 de la {l_39_2015}?",
"rights" : ["De cuál es el concepto de Interesado."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué va el artículo 5 de la {l_39_2015}?",
"rights" : ["De la definición de Representación."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué va el artículo 6 de la {l_39_2015}?",
"rights" : ["De los registros electrónicos de los apoderados."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Ley 39/2015 - Título I - Capítulo I - Articulado II",
"group" : "kyman_39_2015_t1_c1_articulado",
"queries" : [{
"question" : "¿Qué artículo de la {l_39_2015} determina quiénes tienen la capacidad de obrar para los interesados{rand:| en el procedimiento administrativo}{rand:| ante las {AAPP}}?",
"rights" : ["El artículo 3."],
"brothers_are_wrongs" : true
}, {
"question" : "¿En qué artículo de la {l_39_2015} se define el concepto de Interesado?",
"rights" : ["En el artículo 4."],
"brothers_are_wrongs" : true
}, {
"question" : "¿En qué artículo de la {l_39_2015} se define la Representación?",
"rights" : ["En el artículo 5."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regula los registros electrónicos de los apoderados?",
"rights" : ["El artículo 6."],
"brothers_are_wrongs" : true
}]
}]

View File

@ -0,0 +1,83 @@
[{
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-2015-10565",
"https://www.boe.es/eli/es/l/2015/10/01/39/con"
],
"title" : "Ley 39/2015 - Título IV",
"group" : "kyman_39_2015_tiv",
"group_variables" : {
"articulo_66_1_bien" : ["list", [
"{mix:y,nombre|apellidos} {mix:o,interesado|representante}",
"identificación del medio eletrónico{rand:|, o en su defecto, lugar físico} en que desea que se le notifique{rand:|, aunque adicionalmente, los interesados podrán aportar su {mix:y/o,dirección {rand:E-Mail|de Correo Electrónico}|dispositivo electrónico} con el fin de que las {AAPP} les avisen {mix:o,del envío|de la puesta a disposición} de la notificación}.",
"{mix:y,hechos|razones|petición}{rand:| en que se concrete{rand:|, con toda claridad,} la solicitud}",
"{mix:y,lugar|fecha}",
"{mix:o,firma del solicitante|acreditación{rand:| de la autenticidad de su voluntad expresada por cualquier medio}}",
"{mix:o,órgano|centro|unidad} administrativo al que se dirige{rand:| y su correspondiente código de identificación}"
]],
"articulo_66_1_mal" : ["list", [
"{select:1-2,o,edad|fecha de nacimiento}",
"{select:1-2,y,nacionalidad|domicilio}",
"{select:1-2,y,telefono de contacto|direccion {rand:E-Mail|de correo electronico}}",
"razón social",
"estudios del interesado",
"dirección física completa{rand:|, con código postal}",
"número de identificación fiscal"
]]
},
"queries" : [{
"question" : "¿Cuáles de las siguientes opciones contienen elementos que deberán contener las solicitudes que se formulen a las {AAPP} según el artículo 66 de la {l_39_2015}?",
"rights" : ["{Select:1-6,y,list:articulo_66_1_bien}"],
"wrongs" : ["{Select:1-6,y,list:articulo_66_1_mal|list:articulo_66_1_bien}"]
}]
}, {
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-2015-10565",
"https://www.boe.es/eli/es/l/2015/10/01/39/con"
],
"title" : "Ley 39/2015 - Título IV - Articulado",
"group" : "kyman_39_2015_tiv_articulado",
"queries" : [{
"question" : "¿De qué {rand:trata|va} el artículo 66 de la {l_39_2015}?",
"rights" : ["Solicitudes de iniciación."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 67 de la {l_39_2015}?",
"rights" : ["Solicitudes de iniciación en los procedimientos de responsabilidad patrimonial."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 68 de la {l_39_2015}?",
"rights" : ["{Mix:y,subsanación|mejora} de la solicitud."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 69 de la {l_39_2015}?",
"rights" : ["{Mix:y,declaración responsable|comunicación}."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-2015-10565",
"https://www.boe.es/eli/es/l/2015/10/01/39/con"
],
"title" : "Ley 39/2015 - Título IV - Articulado II",
"group" : "kyman_39_2015_tiv_articulado",
"queries" : [{
"question" : "¿Qué artículo de la {l_39_2015} habla sobre solicitudes de iniciación?",
"rights" : ["El artículo 66."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} habla sobre solicitudes de iniciación en los procedimientos de responsabilidad patrimonial?",
"rights" : ["El artículo 67."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regula la {mix:y,subsanación|mejora} de la solicitud?",
"rights" : ["El artículo 68."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} habla sobre {mix:y,declaración responsable|comunicación}?",
"rights" : ["El artículo 69."],
"brothers_are_wrongs" : true
}]
}]

View File

@ -0,0 +1,341 @@
[{
"origin": "KyMAN",
"title": "Preguntas Constitución de 1978 - Estructura",
"group": "ce78_kyman_estructura",
"source": [],
"group_variables" : {
"titulos" : ["alt", [{
"posicion" : "Preliminar",
"nombre" : "de presentación",
"desde" : 1,
"hasta" : 9,
"articulos" : 9,
"capitulos" : "no tiene",
"secciones" : "no tiene"
}, {
"posicion" : ["Primero", "I", "1º", "Uno", "1"],
"nombre" : "De los derechos y deberes fundamentales",
"desde" : 10,
"hasta" : 55,
"articulos" : 46,
"capitulos" : 5,
"secciones" : 2
}, {
"posicion" : ["Segundo", "II", "2º", "Dos", "2"],
"nombre" : "De la Corona",
"desde" : 56,
"hasta" : 65,
"articulos" : 10,
"capitulos" : "no tiene",
"secciones" : "no tiene"
}, {
"posicion" : ["Tercero", "III", "3º", "Tres", "3"],
"nombre" : "De las Cortes Generales",
"desde" : 66,
"hasta" : 96,
"articulos" : 31,
"capitulos" : 3,
"secciones" : "no tiene"
}, {
"posicion" : ["Cuarto", "IV", "4º", "Cuatro", "4"],
"nombre" : "Del Gobierno y de la Administración",
"desde" : 97,
"hasta" : 107,
"articulos" : 11,
"capitulos" : "no tiene",
"secciones" : "no tiene"
}, {
"posicion" : ["Quinto", "V", "5º", "Cinco", "5"],
"nombre" : "De las relaciones entre el Gobierno y las Cortes Generales",
"desde" : 108,
"hasta" : 116,
"articulos" : 9,
"capitulos" : "no tiene",
"secciones" : "no tiene"
}, {
"posicion" : ["Sexto", "VI", "6º", "Seis", "6"],
"nombre" : "Del Poder Judicial",
"desde" : 117,
"hasta" : 127,
"articulos" : 11,
"capitulos" : "no tiene",
"secciones" : "no tiene"
}, {
"posicion" : ["Séptimo", "VII", "7º", "Siete", "7"],
"nombre" : "Economía y Hacienda",
"desde" : 128,
"hasta" : 136,
"articulos" : 9,
"capitulos" : "no tiene",
"secciones" : "no tiene"
}, {
"posicion" : ["Octavo", "VIII", "8º", "Ocho", "8"],
"nombre" : "De la Organización Territorial del Estado",
"desde" : 137,
"hasta" : 158,
"articulos" : 22,
"capitulos" : 3,
"secciones" : "no tiene"
}, {
"posicion" : ["Noveno", "IX", "9º", "Nueve", "9"],
"nombre" : "Del Tribunal Constitucional",
"desde" : 159,
"hasta" : 165,
"articulos" : 7,
"capitulos" : "no tiene",
"secciones" : "no tiene"
}, {
"posicion" : ["Décimo", "X", "10º", "Diez", "10"],
"nombre" : "De la Reforma Constitucional",
"desde" : 166,
"hasta" : 169,
"articulos" : 4,
"capitulos" : "no tiene",
"secciones" : "no tiene"
}]],
"capitulos" : ["alt", [{
"parents" : {"titulos" : [1]},
"posicion" : ["Primero", "I", "1º", "Uno", "1"],
"nombre" : "De los Esañoles y los Extranjeros",
"desde" : 11,
"hasta" : 13,
"articulos" : 3,
"secciones" : "no tiene"
}, {
"parents" : {"titulos" : [1]},
"posicion" : ["Segundo", "II", "2º", "Dos", "2"],
"nombre" : "Derechos y Libertades",
"desde" : 14,
"hasta" : 38,
"articulos" : 25,
"secciones" : 2
}, {
"parents" : {"titulos" : [1]},
"posicion" : ["Tercero", "III", "3º", "Tres", "3"],
"nombre" : "De los principios rectores de la política social y económica",
"desde" : 39,
"hasta" : 52,
"articulos" : 14,
"secciones" : "no tiene"
}, {
"parents" : {"titulos" : [1]},
"posicion" : ["Cuarto", "IV", "4º", "Cuatro", "4"],
"nombre" : "De las garantías de las libertades y derechos fundamentales",
"desde" : 53,
"hasta" : 54,
"articulos" : 2,
"secciones" : "no tiene"
}, {
"parents" : {"titulos" : [3]},
"posicion" : ["Quinto", "V", "5º", "Cinco", "5"],
"nombre" : "De las garantías de las libertades y derechos fundamentales",
"desde" : 53,
"hasta" : 54,
"articulos" : 2,
"secciones" : "no tiene"
}, {
"parents" : {"titulos" : [3]},
"posicion" : ["Primero", "I", "1º", "Uno", "1"],
"nombre" : "De las Cámaras",
"desde" : 66,
"hasta" : 80,
"articulos" : 15,
"secciones" : "no tiene"
}, {
"parents" : {"titulos" : [3]},
"posicion" : ["Segundo", "II", "2º", "Dos", "2"],
"nombre" : "De la elaboración de las leyes",
"desde" : 81,
"hasta" : 92,
"articulos" : 12,
"secciones" : "no tiene"
}, {
"parents" : {"titulos" : [3]},
"posicion" : ["Tercero", "III", "3º", "Tres", "3"],
"nombre" : "De los Tratados Internacionales",
"desde" : 93,
"hasta" : 96,
"articulos" : 4,
"secciones" : "no tiene"
}, {
"parents" : {"titulos" : [8]},
"posicion" : ["Primero", "I", "1º", "Uno", "1"],
"nombre" : "Principios generales",
"desde" : 137,
"hasta" : 139,
"articulos" : 3,
"secciones" : "no tiene"
}, {
"parents" : {"titulos" : [8]},
"posicion" : ["Segundo", "II", "2º", "Dos", "2"],
"nombre" : "De la Administración Local",
"desde" : 140,
"hasta" : 142,
"articulos" : 3,
"secciones" : "no tiene"
}, {
"parents" : {"titulos" : [8]},
"posicion" : ["Tercero", "III", "3º", "Tres", "3"],
"nombre" : "De las Comunidades Autónomas",
"desde" : 143,
"hasta" : 158,
"articulos" : 16,
"secciones" : "no tiene"
}]],
"secciones" : ["alt", [{
"parents" : {"capitulos" : [1]},
"posicion" : ["Primera", "I", "1ª", "Uno", "1"],
"nombre" : "De los derechos fundamentales y de las libertades públicas",
"desde" : 15,
"hasta" : 29,
"articulos" : 15
}, {
"parents" : {"capitulos" : [1]},
"posicion" : ["Segunda", "II", "2ª", "Dos", "2"],
"nombre" : "De los derechos y deberes de los ciudadanos",
"desde" : 30,
"hasta" : 38,
"articulos" : 9
}]],
"disposiciones" : ["alt", [{
"nombre" : "adicionales",
"cantidad" : 4
}, {
"nombre" : "transitorias",
"cantidad" : 9
}, {
"nombre" : "derogatoria",
"cantidad" : 1
}, {
"nombre" : "final",
"cantidad" : 1
}]],
"nombres_aleatorios" : ["rand", [
"{alt:titulos,nombre,rand}",
"{alt:capitulos,nombre,rand}",
"{alt:secciones,nombre,rand}"
]],
"bloque_aleatorio" : ["rand", [
"{alt:titulos,nombre|posicion,rand}",
"{alt:capitulos,nombre|posicion,rand}",
"{alt:secciones,nombre,rand}"
]],
"titulos_posicion_mal_lista" : ["list", [
"Décimoprimero", "XI", "11º", "11",
"Décimosegundo", "XII", "12º", "12"
]],
"secciones_posicion_mal_lista" : ["list", [
"Tercera", "III", "3ª", "Tres", "3",
"Cuarta", "IV", "4ª", "Cuatro", "4",
"Quinta", "V", "5ª", "Cinco", "5",
"Sexta", "VI", "6ª", "Seis", "6",
"Séptima", "VII", "7ª", "Siete", "7",
"Octava", "VIII", "8ª", "Ocho", "8",
"Novena", "IX", "9ª", "Nueve", "9",
"Décima", "X", "10ª", "Diez", "10"
]],
"capitulos_posicion_mal_lista" : ["list", [
"Cuarto", "IV", "4º", "Cuatro", "4",
"Quinto", "V", "5º", "Cinco", "5",
"Sexto", "VI", "6º", "Seis", "6",
"Séptimo", "VII", "7º", "Siete", "7",
"Octavo", "VIII", "8º", "Ocho", "8",
"Noveno", "IX", "9º", "Nueve", "9",
"Décimo", "X", "10º", "Diez", "10"
]],
"seccion_mal" : ["rand", [
"Primera", "I", "1ª", "Uno", "1",
"Segunda", "II", "2ª", "Dos", "2",
"list:secciones_posicion_mal_lista"
]],
"titulos_posicion_mal" : ["rand", ["list:titulos_posicion_mal_lista"]],
"capitulos_posicion_mal" : ["rand", [
"list:titulos_posicion_mal_lista",
"list:capitulos_posicion_mal_lista"
]],
"secciones_posicion_mal" : ["rand", ["list:secciones_posicion_mal_lista"]]
},
"queries": [{
"question" : "¿De cuántos Títulos consta la {ce78}?",
"own_variables" : {
"opciones_mal" : ["select", [1, 4], "y", [
"{rand:un Título Preliminar|{range:2-10} Títulos Preliminares}",
"{rand:un Título Final|{range:2-10} Títulos Finales}",
"{rand:un Título Transitorio|{range:2-10} Títulos Transitorios}",
"{rand:un Título Derogatorio|{range:2-10} Títulos Derogatorios}",
"{rand:un Título Adicional|{range:2-10} Títulos Adicionales}"
]]
},
"rights" : ["De 10 más un Título Preliminar."],
"wrongs" : ["De {range:1-12}{rand:| un Título Preliminar| más {opciones_mal}}."]
}, {
"question" : "¿Cuál es el Título {alt:titulos,nombre} de la {ce78}?",
"rights" : ["El Título {alt:titulos,posicion}."],
"wrongs" : ["El Título {alt:titulos,posicion,rand}.", "No existe."]
}, {
"question" : "¿Cuál es el Título {alt:titulos,posicion} de la {ce78}?",
"rights" : ["El Título {alt:titulos,nombre}."],
"wrongs" : ["El Título {nombres_aleatorios}.", "No existe."]
}, {
"question" : "¿Cuál es el Título {rand:{alt:capitulos,nombre,rand}|{alt:secciones,nombre,rand}} de la {ce78}?",
"rights" : ["No existe."],
"wrongs" : ["El Título {alt:titulos,posicion,rand}."]
}, {
"question" : "¿Cuál es el Título {rand:list:titulos_posicion_mal_lista} de la {ce78}?",
"rights" : ["No existe."],
"wrongs" : ["El Título {nombres_aleatorios}."]
}, {
"question" : "¿Cuál es el Capítulo {alt:capitulos,nombre} de la {ce78}?",
"rights" : ["El Capítulo {alt:capitulos,posicion} del Título {alt:capitulos:parent,nombre|posicion}."],
"wrongs" : [
"El Capítulo {alt:titulos,posicion,rand} del Título {bloque_aleatorio}.",
"No existe."
]
}, {
"question" : "¿Cuál es el Capítulo {alt:capitulos,posicion} de la {ce78}?",
"rights" : ["El Capítulo {alt:capitulos,nombre} del Título {alt:capitulos,parents,nombre|posicion}."],
"wrongs" : [
"El Capítulo {nombre_aleatorio} del Título {bloque_aleatorio}.",
"No existe."
]
}, {
"question" : "¿Cuál es el Capítulo {rand:list:capitulos_posicion_mal_lista} de la {ce78}?",
"rights" : ["No existe."],
"wrongs" : ["El Capítulo {nombre_aleatorio}."]
}, {
"question" : "¿Cuál es el Capítulo {rand:{alt:titulos,nombre,rand}|{alt:secciones,nombre,rand}} de la {ce78}?",
"rights" : ["No existe."],
"wrongs" : ["El Capítulo {alt:titulos,posicion,rand} del Título {bloque_aleatorio}."]
}, {
"question" : "¿Cuál es la Sección {alt:secciones,nombre} de la {ce78}?",
"rights" : ["La Sección {alt:secciones,posicion} del Capítulo {alt:secciones,parents,nombre|posicion} del Título {alt:secciones,parents,parents,nombre|posicion}."],
"wrongs" : [
"La Sección {seccion_mal} del Capítulo {nombre_aleatorio} del Título {nombre_aleatorio}.",
"No existe."
]
}, {
"question" : "¿Cuál es la Sección {alt:secciones,posicion} de la {ce78}?",
"rights" : ["La Sección {alt:secciones,nombre} del Capítulo {alt:secciones,parent,nombre|posicion} del Título {alt:secciones,parents,parents,nombre|posicion}."],
"wrongs" : ["La Sección {nombres_aleatorios} del Capítulo {bloque_aleatorio} del Título {bloque_aleatorio}."]
}, {
"question" : "¿De cuántos artículos consta el Título {rand:{alt:titulos,posicion|nombre}} de la {ce78}?",
"rights" : ["De {alt:titulos,articulos}."],
"wrongs" : [
"De {alt:titulos,articulos,rand}.",
"De {alt:capitulos,articulos,rand}.",
"De {alt:secciones,articulos,rand}.",
"De {alt:disposiciones,cantidad,rand}.",
"De {range:1-100}."
]
}, {
"question" : "¿De cuántos artículos consta el Capítulo {rand:{alt:capitulos,posicion|nombre}} del Título {alt:capitulos,parents,posicion|nombre} de la {ce78}?",
"rights" : ["De {alt:capitulos,articulos}."],
"wrongs" : [
"De {alt:titulos,articulos,rand}.",
"De {alt:capitulos,articulos,rand}.",
"De {alt:secciones,articulos,rand}.",
"De {alt:disposiciones,cantidad,rand}.",
"De {range:1-100}."
]
}]
}]

View File

@ -0,0 +1,401 @@
[{
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Estructura",
"group" : "kyman_eag_estructura",
"queries" : [{
"question" : "¿Qué rango tiene el Estatuto de Autonomía para Galicia?",
"rights" : ["Ley Orgánica."],
"wrongs" : ["{tipo_ley_random}."]
}]
}, {
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Estructura - Fechas",
"group" : "kyman_eag_estructura",
"queries" : [{
"question" : [
"¿Cuándo fue aprobado {eag_el}?",
"¿Cuándo fue la disposición {eag_del}?"
],
"rights" : ["El 6 de Abril de 1981."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuándo fue la publicación {eag_del}?",
"rights" : ["El 28 de Abril de 1981."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuándo entró en vigor {eag_del}?",
"rights" : ["El 18 de Mayo de 1981."],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿En qué fechas se modificó el apartado 1 de la Disposición Adicional Primera {eag_del}?",
"¿En qué fechas se modificó el Régimen de cesión de tributos del Estado a la Comunidad Autónoma de Galicia y la fijación del alcance y condiciones de dicha cesión en {eag_el}?"
],
"rights" : [
"El 28 de Diciembre de 2022.",
"El 17 de Julio de 2010.",
"El 1 de Julio de 2002.",
"El 4 de Agosto de 1997."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuándo se modificaron los nombres de las provincias en {eag_el}?",
"rights" : ["El 4 de Marzo de 1998"],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Estructura - Fechas II",
"group" : "kyman_eag_estructura",
"queries" : [{
"question" : ["¿Qué sucedió el 6 de Abril de 1981{rand:| en relación con {eag_el}}?"],
"rights" : ["{rand:Entró a disposición|Fue aprobado} {eag_el}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué sucedió el 28 de Abril de 1981{rand:| en relación con {eag_el}}?",
"rights" : ["Se publicó {eag_el}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué sucedió el 18 de Mayo de 1981{rand:| en relación con {eag_el}}?",
"rights" : ["Entró en vigor {eag_el}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué sucedió el {rand:28 de Diciembre de 2022|17 de Julio de 2010|1 de Julio de 2002|4 de Agosto de 1997}{rand:| en relación con {eag_el}}?",
"rights" : [
"Se modificó el apartado 1 de la Disposición Adicional Primera {eag_del}.",
"Se modificó el Régimen de cesión de tributos del Estado a la Comunidad Autónoma de Galicia y la fijación del alcance y condiciones de dicha cesión en {eag_el}."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué sucedió el 4 de Marzo de 1998{rand:| en relación con {eag_el}}?",
"rights" : ["Se modificaron los nombres de las provincias en {eag_el}."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Estructura - Nombres",
"group" : "kyman_eag_estructura",
"queries" : [{
"question" : "¿Cómo se llama el Título I {eag_del}?",
"rights" : ["Del poder gallego."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama el Capítuo I del Título {eag_ti} {eag_del}?",
"rights" : ["Del Parlamento."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama el Capítuo II del Título {eag_ti} {eag_del}?",
"rights" : ["{Mix:y,de la Junta|de su Presidente}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama el Capítuo III del Título {eag_ti} {eag_del}?",
"rights" : ["De la Administración de Justicia en Galicia."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama el Título II {eag_del}?",
"rights" : ["De las competencias de Galicia."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama el Capítuo I del Título {eag_tii} {eag_del}?",
"rights" : ["De las competencias en general."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama el Capítuo II del Título {eag_tii} {eag_del}?",
"rights" : ["Del régimen jurídico."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama el Título III {eag_del}?",
"rights" : ["De la Administración Pública Gallega."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama el Título IV {eag_del}?",
"rights" : ["De la {mix:y,economía|hacienda}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo se llama el Título V {eag_del}?",
"rights" : ["De la reforma."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Estructura - Nombres II",
"group" : "kyman_eag_estructura",
"queries" : [{
"question" : "¿De qué es 'Del poder gallego' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Título I."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué es 'Del Parlamento' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Capítulo I del Título I."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué es 'Del {Mix:y,de la Junta|de su Presidente}' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Capítulo II del Título I."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué es 'De la Administración de Justicia en Galicia' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Capítulo III del Título I."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué es 'De las competencias de Galicia' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Título II."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué es 'De las competencias en general' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Capítulo I del Título II."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué es 'Del régimen jurídico' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Capítulo II del Título II."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué es 'De la Administración Pública Gallega' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Título III."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué es 'De la {mix:y,economía|hacienda}' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Título IV."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué es 'De la reforma' en el Estatuto de Autonomía para Galicia?",
"rights" : ["Del Título V."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Estructura - Números",
"group" : "kyman_eag_estructura",
"queries" : [{
"question" : "¿De cuańtos artículos consta el Estatuto de Autonomía para Galicia?",
"rights" : ["De 57."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuántos títulos tiene el Estatuto de Autonomía para Galicia?",
"rights" : ["De 5 más un título preliminar."],
"wrongs" : ["De {range:2-15}{rand:| más {rand:un título preliminar|{range:2-5} títulos premilinares}}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Título Preliminar {eag_del}?",
"rights" : ["De 8."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Título {eag_ti} {eag_del}?",
"rights" : ["De 18."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Capítulo {eag_ti_ci} del Título {eag_ti} {eag_del}?",
"rights" : ["De 5."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Capítulo {eag_ti_cii} del Título {eag_ti} {eag_del}?",
"rights" : ["De 5."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Capítulo {eag_ti_ciii} del Título {eag_ti} {eag_del}?",
"rights" : ["De 7."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Título {eag_tii} {eag_del}?",
"rights" : ["De 12."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Capítulo {eag_tii_ci} del Título {eag_tii} {eag_del}?",
"rights" : ["De 10."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Capítulo {eag_tii_cii} del Título {eag_tii} {eag_del}?",
"rights" : ["De 2."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Título {eag_tiii} {eag_del}?",
"rights" : ["De 3."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Título {eag_tiv} {eag_del}?",
"rights" : ["De 14."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos artículos consta el Título {eag_tv} {eag_del}?",
"rights" : ["De 2."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos capítulos consta el Título {eag_ti} {eag_del}?",
"rights" : ["De 3."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos capítulos consta el Título {eag_tii} {eag_del}?",
"rights" : ["De 2."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos capítulos consta el Título {eag_tiii} {eag_del}?",
"rights" : ["De ninguno."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos capítulos consta el Título {eag_tiv} {eag_del}?",
"rights" : ["De ninguno."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos capítulos consta el Título {eag_tv} {eag_del}?",
"rights" : ["De ninguno."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántos preámbulos consta el Estatuto de Autonomía para Galicia?",
"rights" : ["De 1."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántas disposiciones adicionales consta el Estatuto de Autonomía para Galicia?",
"rights" : ["De 4."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántas disposiciones transitorias consta el Estatuto de Autonomía para Galicia?",
"rights" : ["De 7."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántas disposiciones finales consta el Estatuto de Autonomía para Galicia?",
"rights" : ["De ninguno."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De cuántas disposiciones derogatorias consta el Estatuto de Autonomía para Galicia?",
"rights" : ["De ninguno."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Estructura - Rangos",
"group" : "kyman_eag_estructura",
"queries" : [{
"question" : "¿Qué rango de artículos tiene el Título Preliminar {eag_del}?",
"rights" : ["Del 1 al 8."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Título {eag_ti} {eag_del}?",
"rights" : ["Del 9 al 26."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Capítulo {eag_ti_ci} del Título {eag_ti} {eag_del}?",
"rights" : ["Del 10 al 14."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Capítulo {eag_ti_cii} del Título {eag_ti} {eag_del}?",
"rights" : ["Del 15 al 19."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Capítulo {eag_ti_ciii} del Título {eag_ti} {eag_del}?",
"rights" : ["Del 20 al 26."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Título {eag_tii} {eag_del}?",
"rights" : ["Del 27 al 38."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Capítulo {eag_tii_ci} del Título {eag_tii} {eag_del}?",
"rights" : ["Del 27 al 36."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Capítulo {eag_tii_cii} del Título {eag_tii} {eag_del}?",
"rights" : ["Del 37 al 38.", "El 37 y el 38."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Título {eag_tiii} {eag_del}?",
"rights" : ["Del 39 al 41.", "El 39, 40 y 41."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Título {eag_tiv} {eag_del}?",
"rights" : ["Del 42 al 55."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué rango de artículos tiene el Título {eag_tv} {eag_del}?",
"rights" : ["Del 56 al 57.", "El 56 y el 57."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Estructura - Rangos",
"group" : "kyman_eag_estructura",
"queries" : [{
"question" : "¿Qué representa el rango de artículos del 1 al 8 en {eag_el}?",
"rights" : ["El Título Preliminar."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué representa el rango de artículos del 9 al 26 en {eag_el}?",
"rights" : ["El Título {eag_ti}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué representa el rango de artículos del 10 al 14 en {eag_el}?",
"rights" : ["El Capítulo {eag_ti_ci} del Título {eag_ti}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué representa el rango de artículos del 15 al 19 en {eag_el}?",
"rights" : ["El Capítulo {eag_ti_cii} del Título {eag_ti}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué representa el rango de artículos del 20 al 26 en {eag_el}?",
"rights" : ["El Capítulo {eag_ti_ciii} del Título {eag_ti}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué representa el rango de artículos del 27 al 38 en {eag_el}?",
"rights" : ["El Título {eag_tii}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué representa el rango de artículos del 27 al 36 en {eag_el}?",
"rights" : ["El Capítulo {eag_tii_ci} del Título {eag_tii}."],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué representa el rango de artículos del 37 al 38 en {eag_el}?",
"¿Qué representan los artículos 37 y 38 en {eag_el}?"
],
"rights" : ["El Capítulo {eag_tii_cii} del Título {eag_tii}."],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué representa el rango de artículos del 39 al 41 en {eag_el}?",
"¿Qué representan los artículos 39, 40 y 41 en {eag_el}?"
],
"rights" : ["El Título {eag_tiii}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué representa el rango de artículos del 42 al 55 en {eag_el}?",
"rights" : ["El Título {eag_tiv}."],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Qué representa el rango de artículos del 56 al 57 en {eag_el}?",
"¿Qué representan los artículos 56 y 57 en {eag_el}?"
],
"rights" : ["El Título {eag_tv}."],
"brothers_are_wrongs" : true
}]
}]

View File

@ -0,0 +1,35 @@
[{
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Título Preliminar",
"group" : "kyman_eag_preliminar",
"group_variables" : {},
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Estatuto de Autonomía para Galicia - Título Preliminar - Articulado",
"group" : "kyman_eag_preliminar_articulado",
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Estatuto de Autonomía para Galicia - Título Preliminar - Articulado II",
"group" : "kyman_eag_preliminar_articulado",
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Estatuto de Autonomía para Galicia - Título Preliminar - Leyes",
"group" : "kyman_eag_preliminar_leyes",
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Estatuto de Autonomía para Galicia - Título Preliminar - Leyes II",
"group" : "kyman_eag_preliminar_leyes",
"queries" : []
}]

View File

@ -0,0 +1,35 @@
[{
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Estatuto de Autonomía para Galicia - Título I",
"group" : "kyman_eag_ti",
"group_variables" : {},
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Estatuto de Autonomía para Galicia - Título I - Articulado",
"group" : "kyman_eag_ti_articulado",
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Estatuto de Autonomía para Galicia - Título I - Articulado II",
"group" : "kyman_eag_ti_articulado",
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Estatuto de Autonomía para Galicia - Título I - Leyes",
"group" : "kyman_eag_ti_leyes",
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Estatuto de Autonomía para Galicia - Título I - Leyes II",
"group" : "kyman_eag_ti_leyes",
"queries" : []
}]

View File

@ -13,6 +13,11 @@
"BOD" : ["rand", ["BOD", "Boletín Oficial de Defensa"]],
"TC" : ["rand", ["Tribunal Constitucional", "TC"]],
"AAPP" : ["rand", ["Administraciones Públicas", "AAPP"]],
"LAJ" : ["rand", ["{rand:|Ley de }Asistencia Jurídica", "LAJ"]],
"ONG" : ["rand", ["ONG", "Organización No Gubernamental"]],
"ONGs" : ["rand", ["ONG", "ONGs", "Organizaciones No Gubernamentales"]],
"AGE" : ["rand", ["AGE", "Administración General del Estado"]],
"CCAA" : ["rand", ["CCAA", "Comunidades Autónomas"]],
"meses" : ["rand", ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]],
@ -286,7 +291,30 @@
"trebep_tviii" : ["rand", ["VIII", "Octavo", "8º", "Cooperación entre las Administraciones Públicas"]],
"eni_nombre" : ["rand", ["ENI", "Esquema Nacional de Interoperabilidad"]],
"ens_nombre" : ["rand", ["ENS", "Esquema Nacional de Seguridad"]]
"ens_nombre" : ["rand", ["ENS", "Esquema Nacional de Seguridad"]],
"eag" : ["rand", [
"Estatuto de Autonomía de Galicia",
"Ley 1/1981{rand:|, de 6 de Abril}{rand:|, de Estatuto de Autonomía de Galicia}"
]],
"eag_el" : ["rand", [
"el Estatuto de Autonomía de Galicia",
"la Ley 1/1981{rand:|, de 6 de Abril}{rand:|, de Estatuto de Autonomía de Galicia}"
]],
"eag_del" : ["rand", [
"del Estatuto de Autonomía de Galicia",
"de la Ley 1/1981{rand:|, de 6 de Abril}{rand:|, de Estatuto de Autonomía de Galicia}"
]],
"eag_ti" : ["rand", ["I", "Primero", "1{rand:|º}", "Del Poder Gallego"]],
"eag_ti_ci" : ["rand", ["I", "Primero", "1{rand:|º}", "Del Parlamento"]],
"eag_ti_cii" : ["rand", ["II", "Segundo", "2{rand:|º}", "{mix:y,De la Junta|De su Presidente}"]],
"eag_ti_ciii" : ["rand", ["III", "Tercero", "3{rand:|º}", "De la Administración de Justicia en Galicia"]],
"eag_tii" : ["rand", ["II", "Segundo", "2{rand:|º}", "De las Competencias de Galicia"]],
"eag_tii_ci" : ["rand", ["I", "Primero", "1{rand:|º}", "De las Compentencias en General"]],
"eag_tii_cii" : ["rand", ["II", "Segundo", "2{rand:|º}", "Del Régimen Jurídico"]],
"eag_tiii" : ["rand", ["III", "Tercero", "3{rand:|º}", "De la Administración Pública Gallega"]],
"eag_tiv" : ["rand", ["IV", "Cuarto", "4{rand:|º}", "De {mix:y,la economía|la hacienda}"]],
"eag_tv" : ["rand", ["V", "Quinto", "5{rand:|º}", "De la Reforma"]]
},
"queries" : []

View File

@ -0,0 +1,11 @@
[{
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-1981-9564",
"https://www.boe.es/eli/es/lo/1981/04/06/1/con"
],
"title" : "Tratados de la Unión Europea",
"group" : "kyman_tratados_ue",
"group_variables" : {},
"queries" : []
}]

View File

@ -0,0 +1,32 @@
[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Redes - Software",
"group" : "kyman_redes_software",
"queries" : [{
"question" : "¿Qué es un contenedor?",
"answers" : ["Es una unidad estándar de Software que empaqueta {mix:y,el código|todas sus dependencias} para que la aplicación se ejecute de manera {mix:y,rápida|confiable} dependiendo del entorno."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es la virtualización?",
"answers" : [
"LEs la creación de una versión virtual de algo, como {select:1-4,o,un {OS}|un servidor|un dispositivo de almacenamiento|recursos de red}{rand:|, entre otros}.",
"Es un Software que permite ejecutar múltiples {mix:y,{OS}|aplicaciones} en un solo Hardware físico, optimizando el uso de recursos."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es la transducción?",
"own_variables" : {
"examples" : ["rand", [
"Comúnmente utilizado en redes para adaptar señales entre diferentes medios de transmisión",
"Se puede ver en {QEMU} donde se pueden transducir arquitecturas de procesador si el anfitrión lo permite, sino, sería {rand:virtualización|simulación}"
]]
},
"answers" : ["La transducción es el proceso de convertir una señal de un formato a otro{rand:|. {examples}}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la diferencia entre una {VM} y un contenedor?",
"answers" : ["La principal diferencia es que una {VM} incluye un {OS} completo, mientras que un contenedor {mix:y,comparte el {OS} del Host|aísla la aplicación} en un entorno ligero."],
"brothers_are_wrongs" : true
}]
}]

View File

@ -344,9 +344,17 @@
"DST" : ["rand", ["DST", "Daylight Saving Time", "Horario de Verano"]],
"LDAPs" : ["rand", ["LDAPs", "Lightweight Directory Access Protocol over {SSLTLS}", "Protocolo Ligero de Acceso a Directorios sobre {SSLTLS}"]],
"CPU" : ["rand", ["CPU", "Central Processing Unit", "Unidad Central de Procesamiento"]],
"CPUs" : ["rand", ["CPUs", "Central Processing Units", "Unidades Centrales de Procesamiento"]],
"GPU" : ["rand", ["GPU", "Graphics Processing Unit", "Unidad de Procesamiento Gráfico"]],
"GPUs" : ["rand", ["GPUs", "Graphics Processing Units", "Unidades de Procesamiento Gráfico"]],
"APU" : ["rand", ["APU", "Accelerated Processing Unit", "Unidad de Procesamiento Acelerado"]],
"APUs" : ["rand", ["APUs", "Accelerated Processing Units", "Unidades de Procesamiento Acelerado"]],
"TPU" : ["rand", ["TPU", "Tensor Processing Unit", "Unidad de Procesamiento Tensor"]],
"TPUs" : ["rand", ["TPUs", "Tensor Processing Units", "Unidades de Procesamiento Tensor"]],
"NPU" : ["rand", ["NPU", "Neural Processing Unit", "Unidad de Procesamiento Neuronal"]],
"NPUs" : ["rand", ["NPUs", "Neural Processing Units", "Unidades de Procesamiento Neuronal"]],
"FPU" : ["rand", ["FPU", "Floating Point Unit", "Unidad de Punto Flotante"]],
"FPUs" : ["rand", ["FPUs", "Floating Point Units", "Unidades de Punto Flotante"]],
"FPGA" : ["rand", ["FPGA", "Field-Programmable Gate Array", "Matriz de Puertas Programables en Campo"]],
"ASIC" : ["rand", ["ASIC", "Application-Specific Integrated Circuit", "Circuito Integrado de Aplicación Específica"]],
"SoC" : ["rand", ["SoC", "System on a Chip", "Sistema en un Chip"]],
@ -354,7 +362,6 @@
"CISC" : ["rand", ["CISC", "Complex Instruction Set Computer", "Computadora de Conjunto de Instrucciones Complejo"]],
"VLIW" : ["rand", ["VLIW", "Very Long Instruction Word", "Palabra de Instrucción Muy Larga"]],
"SIMD" : ["rand", ["SIMD", "Single Instruction, Multiple Data", "Instrucción Única, Datos Múltiples"]],
"NPU" : ["rand", ["NPU", "Neural Processing Unit", "Unidad de Procesamiento Neuronal"]],
"16_9" : ["rand", ["16:9", "Widescreen Aspect Ratio", "Relación de Aspecto Panorámico"]],
"4_3" : ["rand", ["4:3", "Standard Aspect Ratio", "Relación de Aspecto Estándar"]],
"21_9" : ["rand", ["21:9", "Ultra-Widescreen Aspect Ratio", "Relación de Aspecto Ultra Panorámico"]],
@ -400,6 +407,7 @@
"NIC" : ["rand", ["NIC", "Network Interface {rand:Controller|Card}", "{rand:Controladora|Tarjeta} de Interfaz de Red", "Tarjeta de Red", "Interfaz de Red Física"]],
"OS" : ["rand", ["OS", "Operating System", "Sistema Operativo"]],
"VM" : ["rand", ["VM", "Virtual Machine", "Máquina Virtual"]],
"VMs" : ["rand", ["VMs", "Virtual Machines", "Máquinas Virtuales"]],
"VMM" : ["rand", ["VMM", "Virtual Machine Monitor", "Monitor de Máquina Virtual"]],
"VMI" : ["rand", ["VMI", "Virtual Machine Interface", "Interfaz de Máquina Virtual"]],
"VPC" : ["rand", ["VPC", "Virtual Private Cloud", "Nube Privada Virtual"]],
@ -480,6 +488,18 @@
"TFS" : ["rand", ["TFS", "Team Foundation Server", "Servidor de Fundación de Equipo"]],
"VSS" : ["rand", ["VSS", "Visual SourceSafe", "Fuente Segura Visual"]],
"git_PAT" : ["rand", ["Git PAT", "Git Personal Access Token", "Token de Acceso Personal Git"]],
"QEMU" : ["rand", ["QEMU", "Quick Emulator", "Emulador Rápido"]],
"SHA" : ["rand", ["SHA", "Secure Hash Algorithm", "Algoritmo de Resumen Seguro"]],
"MD5" : ["rand", ["MD5", "Message-Digest Algorithm 5", "Algoritmo de Resumen de Mensaje 5"]],
"SHA1" : ["rand", ["SHA-1", "Secure Hash Algorithm 1", "Algoritmo de Resumen Seguro 1"]],
"SHA256" : ["rand", ["SHA-256", "Secure Hash Algorithm 256", "Algoritmo de Resumen Seguro 256"]],
"SHA512" : ["rand", ["SHA-512", "Secure Hash Algorithm 512", "Algoritmo de Resumen Seguro 512"]],
"RSA" : ["rand", ["RSA", "Rivest-Shamir-Adleman", "Rivest-Shamir-Adleman"]],
"AES" : ["rand", ["AES", "Advanced Encryption Standard", "Estándar de Encriptación Avanzada"]],
"DES" : ["rand", ["DES", "Data Encryption Standard", "Estándar de Encriptación de Datos"]],
"3DES" : ["rand", ["3DES", "Triple Data Encryption Standard", "Estándar de Encriptación de Datos Triple"]],
"IPC" : ["rand", ["IPC", "Inter-Process Communication", "Comunicación entre Procesos"]],
"UDS" : ["rand", ["UDS", "Unix Domain Socket", "Socket de Dominio Unix", "Socket {IPC}"]],
"Ethernet" : ["rand", ["Ethernet", "Familia {IEEE} 802.3{rand:|{rand:| de Estándares} de {LAN}}"]],
@ -570,8 +590,8 @@
"hops" : ["rand", ["saltos{rand:| de red}", "Hops"]],
"win_os" : ["rand", ["Windows", "{DOS}", "{MS_DOS}"]],
"unix_os" : ["rand", ["UNIX", "{GNU}/Linux", "{GNU}", "Linux"]],
"workflow" : ["rand", ["workflow", "flujo de trabajo"]],
"workflows" : ["rand", ["workflows", "flujos de trabajo"]]
"workflow" : ["rand", ["Work{rand:F|f}low", "Flujo de Trabajo"]],
"workflows" : ["rand", ["Work{rand:F|f}lows", "Flujos de Trabajo"]]
}
}]

View File

@ -102,6 +102,29 @@
"{b:sh,1,git commit -m 'Mensaje' {rand:-x|{rand:|-}-pr|--pull-request|{rand:|--}request} ID}",
"{b:sh,0,git commit-request -m 'Mensaje' ID}"
]
}, {
"question" : "¿Qué es el Hash Commit en Git?",
"rights" : [
"Es un identificador único generado por Git para cada 'commit' realizado en el repositorio.",
"Es una cadena alfanumérica que representa de forma única el estado del repositorio en el momento del 'commit'.",
"Es el {SHA1} perteneciente al mismo{rand:| que permite identificarlo de manera única dentro del historial del repositorio}."
],
"wrongs" : [
"Es un número secuencial asignado automáticamente a cada 'commit' para identificar su orden.",
"Es una etiqueta personalizada que los desarrolladores deben agregar manualmente a cada 'commit'{rand:| para identificarlos}.",
"Es un código generado por el {OS} para identificar el archivo del 'commit'.",
"Es un {rand:valor numérico|código alfanumérico} que representa la versión del Software en el momento del 'commit'."
]
}, {
"question" : "¿Qué es el Hash corto de un 'commit' en Git?",
"rights" : ["Son los primeros 7 caracteres del Hash completo de un 'commit'{rand:|, que permiten identificarlo de manera única dentro del historial del repositorio{rand:| de forma más concisa}}."],
"wrongs" : [
"{rand:Son los {rand:primeros|últimos} {range:1-32} caracteres|Es un{rand:| segundo} Hash{rand:| anidado}{rand:| más corto}} del Hash completo de un 'commit'{rand:|, que permiten identificarlo de manera única dentro del historial del repositorio{rand:| de forma más concisa}}.",
"Es un número secuencial asignado automáticamente a cada 'commit' para identificar su orden.",
"Es una etiqueta personalizada que los desarrolladores deben agregar manualmente a cada 'commit'{rand:| para identificarlos}.",
"Es un código generado por el {OS} para identificar el archivo del 'commit'.",
"Es un {rand:valor numérico|código alfanumérico} que representa la versión del Software en el momento del 'commit'."
]
}]
}, {
"origin" : "KyMAN",
@ -344,86 +367,170 @@
"¿Con qué {rand:argumento|parámetro} de Git puedo reinicializar un repositorio en el directorio actual?"
],
"rights" : ["'init'."],
"wrongs" : [
"'{rand:start|create|new|begin|initialize}'.",
"-{rand:i|s|n|b|c}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo combinar ramas en la rama actual?",
"rights" : ["'merge'."],
"wrongs" : [
"'{rand:combine|join|unite|integrate|mix|mixin}'.",
"-{rand:m|j|u|c|i}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo clonar un repositorio remoto?",
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {rand:copiar|descargar|clonar} un repositorio remoto?",
"rights" : ["'clone'."],
"wrongs" : [
"'{rand:copy|download|replicate|duplicate|mirror}'.",
"-{rand:c|d|r|m|p}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo registrar los cambios realizados en el área de preparación?",
"rights" : ["'commit'."],
"wrongs" : [
"'{rand:save|record|log|confirm|store}'.",
"-{rand:c|s|r|l|t}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo subir los cambios confirmados en el repositorio local al repositorio remoto?",
"rights" : ["'push'."],
"wrongs" : [
"'{rand:upload|send|transfer|submit}'.",
"-{rand:p|s|t|b|u}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo agregar archivos al área de preparación para su confirmación?",
"rights" : ["'add'."],
"wrongs" : [
"'{rand:include|insert|stage|prepare}'.",
"-{rand:a|i|s|p}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar el estado de los archivos en {select:1-2,o,el directorio de trabajo|el área de preparación}?",
"rights" : ["'status'."],
"wrongs" : [
"'{rand:state|condition|situation|position}'.",
"-{rand:s|c|p|q}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo gestionar las ramas del repositorio?",
"rights" : ["'branch'."],
"wrongs" : [
"'{rand:lines|paths|streams|tracks}'.",
"-{rand:b|l|s|t}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {select:1-2,y,descargar|fusionar} cambios desde un repositorio remoto al repositorio local?",
"rights" : ["'pull'."],
"wrongs" : [
"'{rand:fetch-merge|download-merge|get-merge|retrieve-merge}'.",
"-{rand:p|f|d|g}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo descargar cambios desde un repositorio remoto sin fusionarlos automáticamente?",
"rights" : ["'fetch'."],
"wrongs" : [
"'{rand:download|retrieve|get|pull}'.",
"-{rand:f|d|r|g|p}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {select:1-2,o,cambiar entre ramas|restaurar archivos a un estado anterior}?",
"rights" : ["'checkout'."],
"wrongs" : [
"'{rand:switch|change|move|shift}'.",
"-{rand:c|h|e|k|o}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar el historial de confirmaciones del repositorio?",
"rights" : ["'log'."],
"wrongs" : [
"'{rand:history|record|timeline|archive}'.",
"-{rand:l|h|r|t|a}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo deshacer cambios {select:1-2,o,en el área de preparación|en el historial de confirmaciones}?",
"rights" : ["'reset'."],
"wrongs" : [
"'{rand:undo|revert|rollback|restore}'.",
"-{rand:r|u|v|b|s}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar las diferencias entre {select:1-2,o,archivos|ramas}?",
"rights" : ["'diff'."],
"wrongs" : [
"'{rand:compare|contrast|distinguish|separate|df|differences}'.",
"-{rand:d|c|x|s|p}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {select:1-3,o,crear|listar|eliminar} etiquetas en el repositorio?",
"rights" : ["'tag'."],
"wrongs" : [
"'{rand:label|mark|bookmark|flag}'.",
"-{rand:t|a|g|e}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo gestionar las conexiones a repositorios remotos?",
"rights" : ["'remote'."],
"wrongs" : [
"'{rand:connections|links|associations|relations}'.",
"-{rand:r|c|l|a|t}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo guardar temporalmente los cambios no confirmados para limpiarlos del área de trabajo?",
"rights" : ["'stash'."],
"wrongs" : [
"'{rand:save|store|hide|shelve|put-away}'.",
"-{rand:s|h|l|v|d}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo aplicar los cambios de una rama sobre otra, reescribiendo el historial de confirmaciones?",
"rights" : ["'rebase'."],
"wrongs" : [
"'{rand:move|shift|transfer|relocate|reposition}'.",
"-{rand:r|m|s|t|l}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo configurar las {select:1-2,o,opciones|preferencias} de Git {select:1-2,o,a nivel global|por repositorio}?",
"rights" : ["'config'."],
"wrongs" : [
"'{rand:settings|options|preferences|parameters|configuration}'.",
"-{rand:c|s|o|p|t}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar información detallada sobre objetos específicos en el repositorio?",
"rights" : ["'show'."],
"wrongs" : [
"'{rand:display|view|reveal|present|exhibit|information|info}'.",
"-{rand:s|d|v|p|r|i}"
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo deshacer los cambios introducidos por una confirmación específica creando una nueva confirmación que revierte esos cambios?",
"rights" : ["'revert'."],
"wrongs" : [
"'{rand:undo|cancel|reverse|backtrack|withdraw}'.",
"-{rand:r|u|c|b|w}"
],
"brothers_are_wrongs" : true
}]
}, {
@ -437,74 +544,92 @@
"¿Cómo puedo reinicializar un repositorio de Git en el directorio actual?"
],
"rights" : ["{b:sh,0,git init}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:start|create|new|begin|initialize}|-{rand:i|s|n|b|c}}}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo combinar ramas en la rama actual?",
"rights" : ["{b:sh,0,git merge RAMA}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:combine|join|unite|integrate|mixin}|-{rand:m|j|u|i|x}} RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo {rand:descargar|clonar} un repositorio remoto?",
"rights" : ["{b:sh,0,git clone URL}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:copy|download|replicate|duplicate|mirror}|-{rand:c|d|r|m|p}} URL}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo registrar los cambios realizados en el área de preparación?",
"rights" : ["{b:sh,0,git commit -m \"Descripción de los cambios\"}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:save|record|log|confirm|store}|-{rand:c|s|r|l|t}} -m \"Descripción de los cambios\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo subir los cambios confirmados en el repositorio local al repositorio remoto?",
"rights" : ["{b:sh,0,git push}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:upload|send|transfer|submit}|-{rand:p|s|t|b|u}}}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo Commitear los cambios desde la rama local 'origin' a la rama 'RAMA'?",
"rights" : ["{b:sh,0,git push origin RAMA}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:upload|send|transfer|submit}|-{rand:p|s|t|b|u}} origin RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo {rand:Trackear|agregar} archivos al área de preparación para su confirmación?",
"rights" : ["{b:sh,0,git add PATH}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:include|insert|stage|prepare}|-{rand:a|i|s|p}} PATH}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo mostrar el estado de los archivos en el directorio de trabajo o el área de preparación?",
"rights" : ["{b:sh,0,git status}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:state|condition|situation|position}|-{rand:s|c|p|q}}}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo listar todas las ramas locales del repositorio?",
"rights" : ["{b:sh,0,git branch}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:list|show|display|enumerate}|-{rand:b|r|a|n|c}}}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo listar todas las ramas{rand:|, tanto locales como remotas,} del repositorio?",
"rights" : ["{b:sh,0,git branch -a}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:list|show|display|enumerate}|-{rand:b|r|a|n|c}} -a}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo eliminar una rama local del repositorio?",
"rights" : ["{b:sh,0,git branch -d RAMA}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:delete|remove|erase|discard}|-{rand:d|r|e|x}} RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo descargar y fusionar cambios desde un repositorio remoto al repositorio local?",
"rights" : ["{b:sh,0,git pull}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:download|fetch|retrieve}|-{rand:p|f|r}}}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo descargar cambios desde un repositorio remoto sin fusionarlos automáticamente?",
"rights" : ["{b:sh,0,git fetch}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:download|retrieve|get|pull}|-{rand:f|d|r|g|p}}}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo cambiar a la rama RAMA?",
"rights" : ["{b:sh,0,git checkout RAMA}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:switch|change|move|go}|-{rand:c|h|o|s|e|k|u|t}} RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo cambiar a la rama anterior a la actual?",
"rights" : ["{b:sh,0,git checkout -}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:switch|change|move|go}|-{rand:c|h|o|s|e|k|u|t}} -}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo crear la rama RAMA y automáticamente irme a ésta?",
"rights" : ["{b:sh,0,git checkout -b RAMA}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:create|make|build|establish}|-{rand:c|r|e|a|t|b}} RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo descargar una rama remota existente?",
"rights" : ["{b:sh,1,git checkout -t origin/RAMA}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:download|fetch|get|retrieve}|-{rand:c|h|o|s|e|k|u|t}}{rand:| -t} {rand:|origin/}RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo mostrar el historial de confirmaciones del repositorio?",
"rights" : ["{b:sh,0,git log}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:history|record|timeline|archive}|-{rand:l|h|r|t|a}}}"],
"brothers_are_wrongs" : true
}, {
"question" : [
@ -512,14 +637,17 @@
"¿Cómo puedo deshacer todos los cambios aún no Commiteados?"
],
"rights" : ["{b:sh,0,git reset --hard{rand:| HEAD}}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:undo|revert|rollback|restore}|-{rand:r|u|v|b|s}}{rand:| -{rand:h|-hard}}{rand:| HEAD}}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo actualizar los cambios desde un repositorio remoto para casos donde otro desarrollador halla eliminado alguna rama remota?",
"rights" : ["{b:sh,0,git remote prune origin}"],
"wrongs" : ["{b:sh,1,git {rand:remote|{rand:connections|links|associations|relations}|-{rand:r|c|l|a|t}} {rand:{rand:clean|prune|remove}|-{rand:c|p|r|m}} origin}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo revertir los cambios del 'commit' a partir del Hash?",
"rights" : ["{b:sh,0,git revert HASH}"],
"wrongs" : ["{b:sh,1,git {rand:{rand:undo|cancel|reverse|backtrack|withdraw}|-{rand:r|u|c|b|w}} HASH}"],
"brothers_are_wrongs" : true
}]
}, {
@ -528,43 +656,43 @@
"title" : "Software - Git - Tipos de Commit",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Qué indica el tipo de 'commit' es 'wip' en Git?",
"question" : "¿Qué indica 'wip' dentro del Conventional Commit 'feat' en Git?",
"rights" : ["El trabajo está en progreso y no está listo para ser {mix:o,fusionado|revisado}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'fix' en Git?",
"question" : "¿Qué indica el Conventional Commit 'fix' en Git?",
"rights" : ["Corregido un {mix:o,error|problema} en el código."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'feat' en Git?",
"question" : "¿Qué indica el Conventional Commit 'feat' en Git?",
"rights" : ["Añadida una nueva {mix:o,característica|funcionalidad} al proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'docs' en Git?",
"question" : "¿Qué indica el Conventional Commit 'docs' en Git?",
"rights" : ["Cambios en la documentación del proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'chore' en Git?",
"question" : "¿Qué indica el Conventional Commit 'chore' en Git?",
"rights" : ["Tareas de {mix:o,mantenimiento|cambios} que no afectan directamente al código fuente del proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'refactor' en Git?",
"question" : "¿Qué indica el Conventional Commit 'refactor' en Git?",
"rights" : ["Cambios en el código que mejoran su {mix:o,estructura|legibilidad} sin alterar su funcionalidad."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'test' en Git?",
"question" : "¿Qué indica el Conventional Commit 'test' en Git?",
"rights" : ["{Mix:o,añadidas|modificadas} pruebas automatizadas para el proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'style' en Git?",
"question" : "¿Qué indica el Conventional Commit 'style' en Git?",
"rights" : ["Cambios en el {mix:o,formato|estilo} del código, como {select:1-2,o,la corrección de{rand:l espaciado| espacios en blanco}|la indentación}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'perf' en Git?",
"question" : "¿Qué indica el Conventional Commit 'perf' en Git?",
"rights" : ["Mejoras en el rendimiento del código."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'ci' en Git?",
"question" : "¿Qué indica el Conventional Commit 'ci' en Git?",
"rights" : ["Cambios relacionados con la {mix:o,configuración|scripts de {mix:o,integración continua|despliegue frecuente}} del proyecto."],
"brothers_are_wrongs" : true
}]
@ -659,5 +787,21 @@
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo cambios en la {rand:configuración|scripts de {rand:integración continua|despliegue frecuente}}?",
"rights" : ["{b:sh,1,git commit -m \"ci{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo buscar el Hash corto de un 'commit' en Git a partir del mensaje del mismo?",
"rights" : ["{b:sh,0,git log --grep=\"palabras clave a buscar\" --format=\"%h\" -n 1}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo ir a un 'commit' específico de una rama específica en Git?",
"rights" : ["{b:sh,0,git checkout RAMA HASH}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo ir a un 'commit' específico de una rama específica en Git sabiendo sólo el mensaje del mismo 'commit'?",
"rights" : [
"En Bash: {b:sh,0,git checkout RAMA $(git log --grep=\"palabras clave\" --format=\"%h\" -n 1)}",
"En Batch: {b:bat,0,for /F \"tokens=*\" %i in ('git log --grep=\"palabras clave\" --format=\"%h\" -n 1') do git checkout RAMA %i}",
"En PowerShell: {b:ps,0,git checkout RAMA (git log --grep=\"palabras clave\" --format=\"%h\" -n 1)}"
],
"brothers_are_wrongs" : true
}]
}]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,347 @@
[{
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-2015-10565",
"https://www.boe.es/eli/es/l/2015/10/01/39/con",
"https://www.youtube.com/watch?v=SvBrb9lGtHk"
],
"title" : "Ley 39/2015 - Título I",
"group" : "kyman_39_2015_ti",
"group_variables" : {
"personas_tipos" : ["list", ["físicas", "jurídicas"]],
"entidades_tipos" : ["list", ["independientes", "autónomos"]],
"obras_acciones" : ["list", ["el ejercicio", "la defensa"]],
"obras_intereses" : ["list", ["derechos", "intereses"]],
"obras_grupos_tipos" : ["list", [
"afectados",
"uniones",
"entidades sin personalidad jurídica"
]],
"obras_grupos_bien" : ["select", [1, 2], "y", [
"los grupos de {mix:y,list:obras_grupos_tipos}",
"patrimonios {mix:o,list:entidades_tipos}"
]],
"obras_grupos_mal" : ["select", [1, 4], "y", [
"los grupos de {select:1-4,o,list:obras_grupos_tipos}",
"patrimonios {select:1-3,o,list:entidades_tipos|públicos|privados}",
"agrupaciones {select:1-3,y,sociales|jurídicas|políticas|económicas|laborales}",
"grupos paramilitares",
"las {ONGs}"
]],
"articulo_11_bien" : ["list", [
"al formular solicitudes",
"al presentar declaraciones {mix:o,responsables|comunicaciones}",
"al interesado",
"al desistir de acciones",
"al renunciar a derechos"
]],
"articulo_11_mal" : ["list", [
"al presentar declaraciones {select:1-2,o,responsables|comunicaciones}",
"al interponer recursos",
"al presentar {select:1-2,o,quejas|sugerencias}",
"al asistir a audiencias públicas",
"al solicitar información",
"al asistir a manifestaciones",
"al asistir a reuniones informativas"
]]
},
"queries" : [{
"question" : "¿Quiénes de los siguientes tienen capacidad de obrar ante las {AAPP} según {rand:el artículo 3 de |}la {l_39_2015}?",
"own_variables" : {
"bien" : ["Select", [1, 3], "y", [
"las personas {mix:y,list:personas_tipos}",
"los menores de edad para {mix:y,list:obras_acciones} de aquellos {mix:o,list:obras_intereses} cuya actuación esté permitida por el ordenamiento jurídico",
"los grupos de {obras_grupos_bien} cuando la ley así lo declare expresamente"
]],
"mal" : ["select", [1, 3], "y", [
"las personas {select:1-3,o,list:personas_tipos}",
"los menores de edad para {select:1-2,o,list:obras_acciones|el deber} de aquellos {select:1-2,y,list:obras_intereses|deberes|límites}{rand:| personales| para con el estado}{rand:| cuya actuación esté permitida por el ordenamiento {select:1-3,y,jurídico|legislativo|ejecutivo}}",
"{obras_grupos_mal}{rand:|, independientemente de su situación| cuando la ley así lo declare expresamente}"
]]
},
"rights" : ["{bien}."],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólamente|Sólo} }{mal}{rand:|, exclusivamente}}."]
}, {
"question" : "¿Qué tipos de agrupaciones están capacitados para obrar ante las {AAPP} según {rand:el artículo 3 de |}la {l_39_2015}?",
"rights" : ["{Cap:{obras_grupos_bien}} cuando la ley así lo declare expresamente."],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólamente|Sólo} }{obras_grupos_mal}}{rand:|, independientemente de su situación| cuando la ley así lo declare expresamente{rand:|, exclusivamente}}."]
}, {
"question" : "¿Cuándo un menor de edad tiene capacidad de obrar ante las {AAPP} según {rand:el artículo 3 de |}la {l_39_2015}?",
"rights" : ["{rand:Cuando|Para {mix:y,list:obras_acciones} de aquellos {mix:o,list:obras_intereses} cuya} su actuación esté permitida por el ordenamiento jurídico."],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólamente|Sólo} }para {mix:y,list:obras_acciones} de aquellos {select:1-2,o,list:obras_intereses}}{rand:| cuya actuación esté permitida por el ordenamiento {select:1-3,y,jurídico|legislativo|ejecutivo}}{rand:|, exclusivamente}."]
}, {
"question" : "A los efectos previstos en el {rand:artículo 3 de |}la {l_39_2015}, tendrán capacidad de obrar ante las {AAPP}:",
"rights" : ["Las personas {mix:o,list:personas_tipos}, que obstenten capacidad de obrar con arreglo a las normas civiles."],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólamente|Sólo} }las personas {select:1-2,o,list:personas_tipos}, que obstenten capacidad de obrar con arreglo a las normas {select:1-2,y,civiles|penales|mercantiles|laborales}}."]
}, {
"question" : "Conforme {rand:a|al artículo 4 de} la {l_39_2015}. ¿Se consideran interesados en el procedimiento adminsitrativo los que, sin haberlo inciiado, tengan derechos que puedan resultar afectados por la decisión que en el mismo se adepte?",
"rights" : ["Sí."],
"wrongs" : [
"No.",
"Sí, en determinadas circunstancias.",
"Sí, pero sólo si se personan en el procedimiento.",
"No, a menos que se trate de menores de edad o personas incapacitadas.",
"{rand:Únicamente|Sólamente|Sólo} si se personan en el procedimiento {rand:en tanto no|una vez que} haya recaído resolución {rand:definitiva|provisional}."
]
}, {
"question" : "¿Quiénes de los siguientes son interesados según {rand:el artículo 4 de |}la {l_39_2015}?",
"own_variables" : {
"bien" : ["Select", [1, 3], "y", [
"quienes promuevan como titulares de {mix:o,list:obras_intereses} legítimos, tanto {mix:como,list:entidades_tipos}",
"los que, sin haber iniciado el procedimiento, tengan derechos que puedan resultar afectados por la decisión que se adopte",
"aquellos cuyos intereses legítimos, tanto {mix:como,list:entidades_tipos}, puedan resultar afectados por la resolución y se personen en el procedimiento en tanto no haya recaído resolución definitiva"
]],
"mal" : ["select", [1, 3], "y", [
"quienes promuevan como titulares de {select:1-2,o,list:obras_intereses|deberes|límites}{rand:| legítimos}{rand:| {rand:list:entidades_tipos}|, tanto {mix:o,list:entidades_tipos}}",
"los que, sin haber iniciado el procedimiento, tengan {select:1-2,o,list:obras_intereses|deberes|obligaciones} {rand:que puedan|pese a no} resultar afectados por la decisión que se adopte",
"aquellos cuyos intereses legítimos{rand:| {rand:list:entidades_tipos}|, tanto {mix:o,list:entidades_tipos},} puedan resultar afectados por la resolución y se personen en el procedimiento {select:1-2,o,en tanto no haya recaído resolución definitiva|después de que haya recaído resolución definitiva}",
"los representantes legales de {select:1-2,y,los menores de edad|las personas} {select:1-2,o,list:personas_tipos}{rand:| incapacitados}",
"{obras_grupos_mal}{rand:| cuando la ley así lo establezca}"
]]
},
"rights" : ["{bien}."],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólamente|Sólo} }{mal}{rand:|, exclusivamente}}."]
}, {
"question" : "¿Qué es el 'derecho-habiente' según la {l_39_2015}?",
"rights" : ["Es la persona que adquiere {mix:o,derechos|intereses} que pueden ser ejercidos por otra persona."],
"wrongs" : [
"Es la persona que adquiere {select:1-3,o,derechos|intereses|libertades} que pueden ser ejercidos por otra persona.",
"Es la persona que cede sus {select:1-3,y,derechos|intereses|libertades} a otra persona.",
"Es la persona que representa a otra en un procedimiento administrativo.",
"Es la persona que inicia un procedimiento administrativo en nombre propio."
]
}, {
"question" : "¿Se puede transferir la condición de interesado en un procedimiento administrativo según {rand:|los artículos 4 y 5 de }la {l_39_2015}?",
"rights" : ["Sí{rand:|, por herencia{rand:| independientemente del estado del procedimiento para el derecho-habiente}}."],
"wrongs" : [
"No, salvo que halla un derecho-habiente previamente establecido.",
"No{rand:|, {rand:en ningún|independiente} caso|, excepto {select:1-2,o,en casos de representación legal|extrictamente necesarios|en ciertas condiciones reguladas por Ley}}.",
"Sí{rand:|, en cualquier caso|, salvo casos específicos{rand:| establecidos por Ley| como cuando el interesado cede su acto a otra persona voluntariamente}}."
]
}, {
"question" : "¿Quiénes puede ser representantes según {rand:el artículo 5 de |}la {l_39_2015}?",
"rights" : ["{Mix:y,las personas físicas que tengan capacidad de obrar|las personas jurídicas}."],
"wrongs" : [
"Cualquier persona {select:1-2,y,física|jurídica}." ,
"{Select:1-2,y,las personas físicas{rand:| que tengan capacidad de obrar}|las personas jurídicas|los menores de edad|las entidades sin personalidad jurídica}."
]
}, {
"question" : "¿Qué se entiende por representar según {rand:el artículo 5 de |}la {l_39_2015}?",
"rights" : ["Actuar en nombre de otro interesado, con su consentimiento, para la realización de actos del procedimiento administrativo{rand:|, salvo que exprese lo contrario}."],
"wrongs" : [
"Actuar en nombre de {rand:de un tercero|otro interesado}{rand:|, {select:1-2,o,con|sin} su consentimiento,} para la realización de actos del procedimiento administrativo.",
"Iniciar un procedimiento administrativo en nombre {rand:propio|de un tercero|de un interesado|de una entidad sin personalidad jurídica}."
]
}, {
"question" : "¿Cómo ha de ser una representación, según {rand:el artículo 5 de |}la {l_39_2015}, en casos como {select:1-6,o,formular solicitudes|presentar declaraciones responsables|presentar comunicaciones|interponer recursos|desistir de acciones|renunciar a derechos}?",
"rights" : ["Mediante una acreditación {rand:explícita|fehaciente}."],
"wrongs" : [
"De forma verbal.",
"Mediante una acreditación {select:1-2,o,verbal|explícita|fehaciente|implícita|simple}.",
"Mediante una carta simple."
]
}, {
"question" : "¿Cuál es el plazo para subsanar una representación según {rand:el artículo 5 de |}la {l_39_2015}?",
"rights" : ["De 10 días hábiles desde la notificación."],
"wrongs" : ["De {range:1-45} días {rand:hábitos|naturales}{rand:| {rand:desde{rand:| la recepción de}|a partir del día siguiente a{rand:| recibir}} {rand:el inicio del procedimiento|la notificación}}."]
}, {
"question" : "¿Hay que acreditar la representación en los actos de mero trámite según {rand:el artículo 6 de |}la {l_39_2015}?",
"rights" : ["No."],
"wrongs" : [
"Sí, siempre.",
"Sí, en determinados casos.",
"Sí, salvo que se trate de actos de notificación.",
"Depende de la {select:1-2,y,sensibilidad|importancia} del trámite.",
"No, salvo excepciones reguladas por Ley.",
"Sólo cuando el interesado sea menor de edad."
]
}, {
"question" : "¿Cuándo hay que subsanar una representación según {rand:el artículo 5 de |}la {l_39_2015}?",
"rights" : [
"Cuando no se acredite debidamente.",
"{Select:1-2,o,si falta la acreditación|la acreditación es {select:1-2,o,incorrecta|incompleta}}."
],
"wrongs" : [
"Cuando el representante no sea una persona física.",
"Cuando el representante no tenga capacidad de obrar.",
"Cuando el representante no sea mayor de edad.",
"Cuando el representante no sea una persona jurídica.",
"Cuando el representante no esté inscrito en el registro electrónico de apoderados.",
"Cuando independientemente de la acreditación, el representante no actúe conforme a los intereses del representado.",
"Cuando independientemente de la Ley, la entidad requiera de más documentación que la acredite específicamente para ésta."
]
}, {
"question" : "¿Por qué medios ha de acreditarse una representación según {rand:el artículo 6 de |}la {l_39_2015}?",
"rights" : ["Por cualquier medio válido en derecho que deje constancia fidedigna."],
"wrongs" : ["{rand:Únicamente|Sólamente|Sólo} {select:1-3,o,por escrito|de forma verbal|mediante una carta simple|por el medio electrónico facilitado por la {AAPP}}."]
}, {
"question" : "De conformidad con{rand:| el artículo 5.3 de} la Ley 39/2015. ¿Cuándo se presumirá la representación?",
"rights" : ["Para actos de mero {mix:y,trámite|gestiones}."],
"wrongs" : [
"Para todos los actos del procedimiento administrativo.",
"Sólo para actos de notificación.",
"Sólo para actos que impliquen una renuncia de derechos.",
"Sólo para actos que impliquen la interposición de recursos.",
"Nunca se presumirá la representación.",
"Para gestiones de mero {mix:y,trámite|actos}.",
"Para resolución de actos de trámite.",
"Para gestiones realizadas por una persona física con interés legítimo."
]
}, {
"question" : "¿{rand:El artículo 6.2 de l|L}a {l_39_2015}, establece que los registros electrónicos {mix:y,generales|particulares} de apoderamiento pertenecientes a todas y cada una de las {AAPP} deberán ser plenamente:",
"rights" : ["Interoperables entre sí."],
"wrongs" : [
"{Select:1-3,y,interoperables|compatibles|accesibles|conectados|integrados} entre sí.",
"Compatibles con {rand:|{rand:las últimas versiones de |la última versión de }{select:1-3,y,Android|Windows|Linux|MacOS|iOS}}.",
"Incompatibles{rand:| entre sí| con recursos fuera de las {AAPP}}.",
"Jerárquicamente dependientes{rand:| unas de otras}."
]
}, {
"question" : "¿Qué tiempo máximo de validez tiene un poder según {rand:el artículo 6 de |}la {l_39_2015}?",
"rights" : ["5 años{rand:| desde la fecha de inscripción{rand:|, prorrogables}}."],
"wrongs" : [
"{range:1-10} años{rand:| desde{rand: el día siguiente a} la fecha de inscripción{rand:|, {rand:|no }prorrogables}}.",
"{rand:Indefinido|No tiene una fecha de validez específica}{rand:| hasta que el interesado lo revoque por escrito}.",
"Una vez se haya inscrito, tendrá validez indefinida.",
"Una vez se crea un poder, éste es {select:1-2,e,irrevocable|indefinido}."
]
}, {
"question" : "¿Cuáles de las siguientes opciones son tipologías de poderes que existen según {rand:el artículo 6 de |}la {l_39_2015}?",
"rights" : [
"Un poder general para que el apoderado pueda actuar en nombre del poderdante {mix:y,en cualquier actuación administrativa|ante cualquier Administración Pública}.",
"Un poder para que el apoderado pueda actuar en nombre del poderdante en cualquier actuación administrativa ante una {mix:o,Administración Pública|Organismo concreto}.",
"Un poder para que el apoderado pueda actuar en nombre del poderante únicamente para la realización de determinados trámites especificados en el poder."
],
"wrongs" : ["Un poder {rand:|general }para que el apoderado pueda actuar en nombre del poderdante {rand:en cualquier actuación administrativa|únicamente para la realización de determinados trámites} {rand:especificados en el poder|no especificados en el poder|{rand:|específicos }ante {rand:{select:1-3,o,una {select:1-2,o,{AAPP}|Organismo concreto|Entidad sin personalidad jurídica}|cualquier {select:1-3,o,{AAPP}|Organismo|Entidad{rand:| {rand:con|sin} personalidad jurídica}}}}}."]
}, {
"question" : "Se presenta una solicitud en el registro de la Seguridad Social de Alicante, figuran varios interesados, pero no se ha señalado ninguno expresamente con el que se deba comunicar la Administración, ni tampoco un representante. ¿A quién comunicarán las actuaciones que den lugar a dicha solicitud{rand:| según {rand:el artículo 7 de |}la {l_39_2015}}?",
"rights" : [
"Con el que figure en primer término.",
"Al primero de los interesados que figure en la solicitud."
],
"wrongs" : [
"Con el que decida la Administración.",
"Se ordenarán sus apellidos por orden alfabético, y se comunicará{rand:n con el que esté en primer lugar| al primero de ellos}.",
"Con el interesado de más edad.",
"Al último de los interesados que figure en la solicitud.",
"A un representante designado por la Administración.",
"A ninguno, ya que no se ha señalado ninguno expresamente.",
"A todos los interesados."
]
}, {
"question" : "Según {rand:el artículo 7 de |}la {l_39_2015}, cuando en {select:1-3,o,una solicitud|un escrito|una comunicación} figuren {rand:más de un interesado|{rand:múltiples|varios} interesados}. ¿Con cuál de ellos se comunicarán las actuaciones que deriven del mismo?",
"rights" : ["En caso de tener representante, con éste; sino, será con el que sale expresamente señalado; y en {rand:su defecto|carencia de ello}, con el que figure en primer término."],
"wrongs" : [
"{Cap:{rand:|{rand:Únicamente|Sólo|Sólamente} }{select:1-4,o,con el representante designado por los interesados|con el que figure de {rand:último|primer} término|con el que asigne la Administración|con el de {rand:menos|más} edad|con el {rand:último|primero} tras ordenarlos alfabéticamente por sus apellidos|con un representante asignado por la Administración}{rand:|, en dicho orden}}.",
"Con ninguno, ya que no se ha señalado ninguno expresamente.",
"Con todos los interesados."
]
}, {
"question" : "¿En qué casos se comunicará con el interesado que figura en primer término según {rand:el artículo 7 de |}la {l_39_2015}, ante {select:1-3,o,una solicitud|un escrito|una comunicación} donde figuran {rand:{rand:múltiples|varios} interesados|más de un interesado}?",
"rights" : ["Cuando no tenga representante ni se haya señalado expresamente ninguno."],
"wrongs" : [
"Cuando {rand:|no }tenga representante{rand:|, aunque haya señalado alguno{rand:|s}{rand:| expresamente}|, pues en dicho caso habrá que comunicar con todos los interesados}.",
"{rand:Únicamente|Sólo|Sólamente} cuando se le haya señalado expresamente alguno.",
"Siempre.",
"Nunca."
]
}, {
"question" : "¿En qué casos se comunicará con {rand:todos los interesados|el interesado que figura en último término} según {rand:el artículo 7 de |}la {l_39_2015}, ante {select:1-3,o,una solicitud|un escrito|una comunicación} donde figuran {rand:{rand:múltiples|varios} interesados|más de un interesado}?",
"rights" : ["Nunca."],
"wrongs" : [
"Cuando no tenga representante ni se haya señalado expresamente ninguno.",
"Cuando {rand:|no }tenga representante{rand:|, aunque haya señalado alguno{rand:|s}{rand:| expresamente}|, pues en dicho caso habrá que comunicar con todos los interesados}.",
"{rand:Únicamente|Sólo|Sólamente} cuando se le haya señalado expresamente alguno.",
"Siempre."
]
}, {
"question" : "¿En qué casos no se comunicará con alguno de los interesados según {rand:el artículo 7 de |}la {l_39_2015}, ante {select:1-3,o,una solicitud|un escrito|una comunicación} donde figuran {rand:{rand:múltiples|varios} interesados|más de un interesado pero ningún representante}?",
"rights" : ["{rand:Nunca|En ningún caso}."],
"wrongs" : [
"Cuando no tenga representante ni se haya señalado expresamente ninguno.",
"Cuando {rand:|no }tenga representante{rand:|, aunque haya señalado alguno{rand:|s}{rand:| expresamente}|, pues en dicho caso habrá que comunicar con todos los interesados}.",
"{rand:Únicamente|Sólo|Sólamente} cuando se le haya señalado expresamente alguno.",
"Siempre."
]
}, {
"question" : "¿En cuáles de los siguientes casos es obligatorio el uso de firma electrónica según {rand:el artículo 11 de |}la {l_39_2015}?",
"rights" : ["{Select:1-5,o,list:articulo_11_bien}."],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólamente|Sólo} }{select:1-7,o,list:articulo_11_bien|list:articulo_11_mal}{rand:|, exclusivamente}}."]
}, {
"question" : "¿Se tiene que firmar electrónicamente {rand:list:articulo_11_bien} según {rand:el artículo 11 de |}la {l_39_2015}?",
"rights" : ["Sí{rand:|, siempre}."],
"wrongs" : [
"Sí{rand:, salvo que la Ley especifique lo contrario|, siempre que haya una obligatoriedad expresa|, {rand:|salvo }en determinados casos|, excepto que haya una exención expresa}.",
"Depende de la {select:1-2,y,sensibilidad|importancia} del trámite.",
"No{rand:|, salvo excepciones reguladas por Ley|, salvo casos específicos}."
]
}, {
"question" : "¿Se tiene que firmar electrónicamente {rand:list:articulo_11_mal} según {rand:el artículo 11 de |}la {l_39_2015}?",
"rights" : ["No."],
"wrongs" : [
"Sí{rand:|, salvo que la Ley especifique lo contrario|, siempre que haya una obligatoriedad expresa|, {rand:|salvo }en determinados casos|, excepto que haya una exención expresa|, siempre|, en cualquier caso}.",
"Depende de la {select:1-2,y,sensibilidad|importancia} del trámite.",
"No, salvo {rand:excepciones reguladas por Ley|casos específicos}."
]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Ley 39/2015 - Título I - Articulado",
"group" : "kyman_39_2015_ti_articulado",
"queries" : [{
"question" : "¿De qué {rand:trata|va} el artículo 3 de la {l_39_2015}?",
"rights" : ["De quiénes tienen la capacidad de obrar para los interesados{rand:| en el procedimiento administrativo}{rand:| ante las {AAPP}}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 4 de la {l_39_2015}?",
"rights" : ["De cuál es el concepto de Interesado."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 5 de la {l_39_2015}?",
"rights" : ["De la definición de Representación."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 6 de la {l_39_2015}?",
"rights" : ["De los registros electrónicos de {rand:apoderamiento|los apoderados}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 7 de la {l_39_2015}?",
"rights" : ["De la pluralidad de interesados."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 11 de la {l_39_2015}?",
"rights" : ["Uso de medios de {mix:y,identificación|firma} en el procedimiento administrativo."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Ley 39/2015 - Título I - Articulado II",
"group" : "kyman_39_2015_ti_articulado",
"queries" : [{
"question" : "¿Qué artículo de la {l_39_2015} determina quiénes tienen la capacidad de obrar para los interesados{rand:| en el procedimiento administrativo}{rand:| ante las {AAPP}}?",
"rights" : ["El artículo 3."],
"brothers_are_wrongs" : true
}, {
"question" : "¿En qué artículo de la {l_39_2015} se define el concepto de Interesado?",
"rights" : ["En el artículo 4."],
"brothers_are_wrongs" : true
}, {
"question" : "¿En qué artículo de la {l_39_2015} se define la Representación?",
"rights" : ["En el artículo 5."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan los registros electrónicos de {rand:apoderamiento|los apoderados}?",
"rights" : ["El artículo 6."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regula la pluralidad de interesados?",
"rights" : ["El artículo 7."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regula el uso de medios de {mix:y,identificación|firma} en el procedimiento administrativo?",
"rights" : ["El artículo 11."],
"brothers_are_wrongs" : true
}]
}]

View File

@ -0,0 +1,587 @@
[{
"origin" : "KyMAN",
"sources" : [
"https://www.boe.es/buscar/act.php?id=BOE-A-2015-10565",
"https://www.boe.es/eli/es/l/2015/10/01/39/con",
"https://www.youtube.com/watch?v=SvBrb9lGtHk"
],
"title" : "Ley 39/2015 - Título II",
"group" : "kyman_39_2015_tii",
"group_variables" : {
"articulo_14_2_bien" : ["list", [
"las personas jurídicas",
"las entidades sin personalidad jurídica",
"quienes ejerzan una actividad profesional para la que se requiera colegiación obligatoria{rand:| para {mix:y,los trámites|las actuaciones} que realicen con las {AAPP}{rand:| en dicha actividad profesional}}",
"{rand:quienes representen a un interesado que esté obligado a relacionarse electrónicamente con la Administración|las personas que representen a interesados en procedimientos administrativos}",
"los empleados de las {AAPP} para {mix:y,los trámites|las actuaciones} que realicen con ellas por razón de su condición de empleado público"
]],
"articulo_14_2_mal" : ["list", [
"las personas físicas que {select:1-2,y,actúen en nombre propio|{rand:|no }tengan capacidad de obrar}",
"los {rand:mayores de {rand:14|16} años|menores de edad}",
"los grupos de presión",
"los {select:1-3,y,representantes sindicales|miembros de partidos políticos|miembros de asociaciones de vecinos}",
"los profesionales que actúen en el ejercicio de su actividad profesional, independientemente de {select:1-2,y,su grado profesional|su obligatoriedad de colegiación}",
"las entidades con personalidad jurídica extranjera"
]],
"casos_resolucion_declaracion_de_circunstancia_bien" : ["list", [
"prescripción",
"renuncia al derecho",
"caducidad",
"desestimiento",
"desapareción sobrevenida del objeto"
]],
"casos_resolucion_declaracion_de_circunstancia_mal" : ["list", [
"vulnerabilidad",
"sobreseimiento",
"{rand:|recurso de }amparo",
"{rand:|recurso de }alzada",
"{rand:|recurso }potestativo de reposición",
"{rand:|recurso }extraordinario de revisión",
"{rand:|recurso }contencioso-administrativo",
"{rand:|recurso de }queja"
]],
"articulo_22_1_bien" : ["list", [
"cuando deba requerirse a cualquier interesado para {mix:o,la subsanación de deficiencias|la aportación de documentos} y otros relementos de juicio necesarios{rand:|, por el tiempo que medie entre {mix:y,la notificación del requerimiento|su efectivo cumplimiento por el destinatario}{rand:|, o, en su defecto, por el del plazo concedido}{rand:|, todo ello sin perjuicio de lo previstro en {rand:la {mix:y,subsanación|mejora} de la solicitud|el artículo {rand:68|{rand:|68 } sobre la {mix:y,subsanación|mejora} de la solicitud}} de la {l_39_2015}}}",
"cuando deba obtenerse un pronuncionamiento {mix:y,previo|preceptivo} de un órgano de la {EU}{rand:|, por el tiempo que medie entre la petición}{rand:|, que habrá de comunicarse a los interesados, y la notificación del pronuncionamiento a la Administración instructora, que también deberá serles comunicada}",
"cuando exista un procedimeinto no finalizado en el ámbito de la {EU} que condicione directamente el contenido de la resolución de que se trate{rand:|, desde que se tenga constancia de su existencia{rand:|, lo que deberá ser comunicado a los interesados}{rand:|, hasta que se resuelva{rand:|, lo que también habrá de ser notificado}}}",
"cuando se soliciten informes preceptivos a un órgano de {mix:o,la misma|distinta} Administración{rand:|, por el tiempo que medie entre la {mix:y,petición|recepción} del informe{rand:|, que deberán comunicarse a los interesados}{rand:|, cuyo plazo de suspensión no podrá exceder {rand:|en ningún caso }de tres meses{rand:| del cual, no recibirse el informe en el plazo indicado, proseguirá el procedimiento}}}",
"cuando deban realizarse {select:1-3,o,pruebas técnicas|análisis contradictorios|dirimentes propuestos por los interesados}{rand:|, durante el tiempo necesario para la incorporación de los resultados al expediente}",
"cuando se inicien negociaciones con vistas a la conclusión de un {mix:o,pacto|convenio} en los términos previstos en {rand:la terminación convencional|el artículo {rand:86|{rand:86 } sobre la terminación convencional}} de la {l_39_2015}{rand:|, desde la declaración formal al respecto y hasta la conclusión sin efecto{rand:|, en su caso, de las referidas negociaciones, que se constatará mediante declaración formulada por {mix:o,la Administración |los interesados}}}",
"cuando para la resolución del procedimiento sea indispensable la obtención de un previo pronunciamiento por parte de un órgano jurisdiccional{rand:|, desde el momento en que se solicita hasta que la Administración tenga constancia del mismo{rand:|, pasos que habrán de comunicarse a los interesados}}"
]],
"articulo_22_2_bien" : ["list", [
"cuando la Administración Pública requiera a otra para que {mix:o,anule|revise} un acto que entienda que {rand:no es |es i}legal y que constituya la base para el que la primera haya de dictar en el ámbito de sus competencias{rand:|, en el supuesto al que se refiere el apartado 5 {rand:de los efectos de los actos administrativos|del artículo {rand:39|{rand:|39 } de los efectos de los actos administrativos}} de la {l_39_2015}{rand:|, desde que se realiza el requerimiento hasta que se atienda{rand:| o, en su caso, se resuelva} el recurso interpuesto ante la jurisdicción contencioso-administrativo{rand:|, el cual deberá ser comunicado a los interesados{rand:| tanto la realización del requerimiento, como su cumplimiento{rand:| o, en su caso, la resolución del correspondiente recurso contencioso-administrativo}}}}}",
"cuando el órgano competente para resolver decida realizar alguna actuación complementaria de las previstas en {rand:las actuaciones complementarias{rand:| de resolución}|el artículo {rand:87|{rand:|87 }sobre las actuaciones complementarias{rand:| de resolución}}} de la {l_39_2015}{rand:|, desde el momento en que se notifique a los interesados el acuerdo motivado del inicio de las actuaciones hasta que se produzca su terminación}.",
"cuando los interesados promuevan la recusación en cualquier momento de la tramitación de un procedimiento{rand:|, desde que se ésta se plantee hasrta que sea resuelta por el superior jerárquico del recusado}"
]],
"silencio_desestimatorio_bien" : ["list", [
"cuando se trate de {mix:o,una Norma con Rango de Ley|una Norma de Derecho de la {EU}|Derecho Internacional aplicable en España} que establezcan lo contrario",
"cuando el procedimiento tenga por objeto el acceso a {mix:o,actividades|su ejercicio}, la Ley que disponga el carácter desestimatorio del silencio deberá fundarse en la concurrencia de razones imperiosas de interés general",
"cuando sea relativo al ejercicio del derecho de petición, a que se refiere el artículo 29 de la {ce78}",
"aquellos cuya estimación tuviera como consecuencia que se transfieran {mix:o,al solicitante|a terceros} facultades relativas {mix:o,al dominio|al servicio} público",
"impliquen el ejercicio de actividades que puedan dañar el medio ambiente",
"procedimientos de responsabilidad patrimonial de las {AAPP}",
"procedimientos {mix:y,de impugnación de {mix:y,actos|disposiciones}|en los de revisión de oficio iniciados a solicitud de los interesados}"
]],
"silencio_desestimatorio_mal" : ["list", [
"cuando se trate de procedimientos iniciados de oficio por la Administración",
"cuando el procedimiento tenga por objeto el acceso a {mix:o,actividades|su ejercicio}, la Ley que disponga el carácter desestimatorio del silencio deberá fundarse en la concurrencia de razones de interés particular",
"relativos al ejercicio del derecho de {rand:participación|reunión|asociación}, a que se regiere el artículo 21 de la {ce78}",
"aquellos cuya estimación tuviera como consecuencia que se transfieran {mix:o,al solicitante|a terceros} facultades relativas {select:1-3,o,adl dominio|al comercio|al servicio|a la tributación|al ámbito penal} {select:1-2,o,privado|público}",
"impliquen el ejercicio de actividades que puedan dañar la salud pública",
"procedimientos de responsabilidad civil de las {AAPP}",
"procedimientos {mix:y,de impugnación de {mix:y,disposiciones|actos}|en los de revisión de oficio iniciados de oficio}"
]]
},
"queries" : [{
"question" : "Conforme al artículo {rand:14{rand:| apartado 2|.2}|{rand:|14 sobre {mix:y,el derecho|la obligación} de relacionarse electrónicamente con las {AAPP}}} de la {l_39_2015}, señale la opción incorrecta en relación con quien estará obligado a relacionarse a través de medios electrónicos con las {AAPP}?",
"rights" : ["{Cap:{rand:list:articulo_14_2_mal}}."],
"wrongs" : ["{Cap:{rand:list:articulo_14_2_bien}}."]
}, {
"question" : "¿Cuáles de las siguientes opciones tienen todos la obligación de relacionarse electrónicamente con las {AAPP} según {rand:el artículo 14.2 de |}la {l_39_2015}?",
"rights" : ["{Select:1-5,y,list:articulo_14_2_bien}."],
"wrongs" : ["{Select:1-5,y,list:articulo_14_2_bien|list:articulo_14_2_mal}."]
}, {
"question" : "¿Las personas físicas tienen la obligación de relacionarse electrónicamente con las {AAPP} según {rand:el artículo 14.2 de |}la {l_39_2015}?",
"rights" : ["No{rand:|, {rand:salvo que la Ley especifique lo contrario|salvo que estén obligadas a relacionarse a través de medios electrónicos con las {AAPP}}}."],
"wrongs" : [
"Sí{rand:|, {rand:siempre|salvo que la Ley especifique lo contrario|siempre que haya una obligatoriedad expresa|{rand:|salvo }en determinados casos|excepto que haya una exención expresa}}.",
"No, {rand:nunca|en ningún caso|excepto que haya una exención expresa}.",
"Depende de la {select:1-2,y,sensibilidad|importancia} del trámite."
]
}, {
"question" : "¿{Cap:{rand:list:articulo_14_2_bien}} tienen la obligación de relacionarse electrónicamente con las {AAPP} según {rand:el artículo 14.2 de |}la {l_39_2015}?",
"rights" : ["Sí{rand:|, siempre}."],
"wrongs" : [
"No.",
"Sí, {rand:salvo que la Ley especifique lo contrario|siempre que haya una obligatoriedad expresa|{rand:|salvo }en determinados casos|excepto que haya una exención expresa}.",
"Depende de la {select:1-2,y,sensibilidad|importancia} del trámite."
]
}, {
"question" : "¿Cuándo una persona física puede modificar el medio por el cual se comunican con las {AAPP} según {rand:el artículo 14 de |}la {l_39_2015}?",
"rights" : ["En todo momento{rand:|, una vez elegido un medio y éste no sea de obligado uso para dicho fin}."],
"wrongs" : [
"En cualquier momento.",
"Nunca puede modificar el medio por el cual se comunican con las {AAPP}{rand:|, una vez elegido será el medio que quede para dicho fin}.",
"{rand:Únicamente|Sólo|Sólamente} cuando haya una razón {rand:de peso|justificada} para ello.",
"{rand:Únicamente|Sólo|Sólamente} {rand:anualmente|mensualmente|una vez al {rand:mes|año}}.",
"{rand:Únicamente|Sólo|Sólamente} cuando lo permita la {AAPP}."
]
}, {
"question" : "¿En qué lengua se usará en los procedimientos tramitados por la {AGE} según {rand:el artículo 15 de |}la {l_39_2015}?",
"rights" : ["En castellano{rand:|, aunque las {CCAA} que tengan lengua cooficial podrán usarla en sus respectivos ámbitos territoriales{rand:|, a excepción de que en dicho trámite haya varios interesados y pudiere haber discrepancia en cuanto a la lengua, donde se tramitará en castellano}}."],
"wrongs" : [
"En castellano, aunque las {CCAA} que tengan lengua cooficial podrán usarla en sus respectivos ámbitos territoriales, a excepción de que en dicho trámite haya varios interesados y pudiere haber discrepancia en cuanto a la lengua, donde se tramitará en {rand:cualquier lengua oficial de la {EU}|{select:1-2,o,inglés|castellano}}.",
"En la lengua cooficial de la comunidad autónoma donde se tramite el procedimiento{rand:|, aunque en carencia de ésta usarán el castellano}{rand:|, a excepción de que en dicho trámite haya varios interesados y pudiere haber discrepancia en cuanto a la lengua, donde se tramitará en {rand:cualquier lengua oficial de la {EU}|{select:1-2,o,inglés|castellano}}}.",
"En la lengua que el interesado elija{rand:|, siempre que ésta sea {select:1-2,o,el castellano|una lengua cooficial autonómica}}.",
"En la lengua que la {AAPP} determine{rand:|, aunque en caso de discrepancia con el interesado, pueda ser cambiado al castellano}.",
"En {select:1-3,y,castellano|inglés|francés|alemán|gallego|catalán|euskera}{rand:| o cualquier otra lengua de la {EU}}."
]
}, {
"question" : "¿Según el artículo 15.3 de la {l_39_2015}, si los documentos debieran surtir efectos en el territorio de una Comunidad Autónoma donde sea cooficial esa misma lengua distinta del castellano:",
"rights" : ["No será precisa su traduccioń."],
"wrongs" : [
"Será precisa su traduccioń.",
"El interesado decidirá si se traduce al castellano o no.",
"Se tramitará en la lengua con la que se ha iniciado el procedimiento."
]
}, {
"question" : "¿Cuándo hay discrepancias en el idioma de un trámite con varios interesados según {rand:el artículo 15 de |}la {l_39_2015}, qué lengua se utilizará?",
"rights" : ["El castellano."],
"wrongs" : [
"La lengua cooficial de la comunidad autónoma donde se tramite el procedimiento.",
"La lengua que elija la mayoría de los interesados.",
"La lengua que la {AAPP} determine.",
"La lengua que elija el interesado que inició el procedimiento.",
"La lengua con la que se inició el procedimiento."
]
}, {
"question" : "¿Un procedimiento ha de ser traducido al castellano por solicitud de un interesado según {rand:el artículo 15 de |}la {l_39_2015}, cuando el trámite se haya iniciado en una lengua cooficial distinta del castellano?",
"rights" : ["Sí."],
"wrongs" : [
"No{rand:|, salvo excepciones reguladas por Ley}.",
"Sí, salvo que haya varios interesados y pudiere haber discrepancia en cuanto a la lengua.",
"No, salvo que la {AAPP} lo considere necesario para el buen desarrollo del procedimiento."
]
}, {
"question" : "¿Puede ser tramitado un procedimiento a una {AAPP} estatal en una lengua cooficial distinta del castellano según {rand:el artículo 15 de |}la {l_39_2015}?",
"rights" : ["No{rand:|, salvo que dicha {AAPP} se encuentre en especificada dentro de dicha Comunidad Autónoma origen de la lengua cooficial usada}."],
"wrongs" : [
"Sí, siempre que el interesado lo solicite.",
"Sí, siempre que todos los interesados lo soliciten.",
"Sí, cuando la {AAPP} lo considere oportuno.",
"Sí, cuando el trámite se inicie en una Comunidad Autónoma con lengua cooficial."
]
}, {
"question" : "¿Cuándo será obligatoria la comparecencia de las personas según {rand:el artículo 19 de |}la {l_39_2015}?",
"rights" : ["Cuando así lo establezca una norma con rango de Ley."],
"wrongs" : [
"Siempre que se inicie un procedimiento administrativo{rand:| y se estime oportuno su presencia en dicho procedimiento}.",
"Cuando lo solicite el interesado.",
"Cuando lo considere oportuno la {AAPP}.",
"Cuando se trate de procedimientos {select:1-2,o,sancionadores|tributarios}."
]
}, {
"question" : "¿Cuándo está obligada una Administración a dictar resolución expresa y a nortificarla según {rand:el artículo 21 de |}la {l_39_2015}?",
"rights" : ["En todos los procedimientos administrativos{rand:| salvo {select:1-4,o,pacto|conveni|declaración responsable|comunicación}}."],
"wrongs" : [
"{rand:{rand:Únicamente|Sólo|Sólamente} e|E}n procedimientos {select:1-3,o,{mix:y,sancionadores|tributarios}|iniciados {rand:de oficio|a instancia de parte}|regulados por Ley que lo exija}{rand:| salvo {select:1-4,o,pacto|convenio|declaración responsable|comunicación}}.",
"{rand:{rand:Únicamente|Sólo|Sólamente} c|C}uando lo solicite el interesado.",
"En {rand:algunos de|todos} los procedimientos administrativos{rand:|, sin excepción| salvo {select:1-4,o,pacto|convenio|declaración responsable|comunicación|agilidad de desarrollo del mismo|por solicitud expresa del interesado}}."
]
}, {
"question" : "¿Cuál es el plazo máximo en el que se debe notificar la resolución expresa de un procedimiento según {rand:el artículo 21 de |}la {l_39_2015}?",
"rights" : [
"La que venga reglada en la norma reguladora del correspondiente procedimiento{rand:|, la cual no podrá exceder de 6 meses{rand:| salvo que {select:1-2,o,una norma con rango de Ley establezca uno mayor|así venga previsto en el Derecho de la {EU}}}}.",
"En caso de no tener establecido un plazo específico, éste no podrá exceder de los 3 meses."
],
"wrongs" : [
"{rand:3 meses|{range:2-12} {rand:días|semanas|meses|años}|1 {rand:día|semana|mes|año}|La que venga reglada en la norma reguladora del correspondiente procedimiento}{rand:|, y no podrá exceder de {rand:3 meses|{range:2-12} {rand:días|semanas|meses|años}|1 {rand:día|semana|mes|año}}}{rand:| salvo que {select:1-2,o,una norma con rango de Ley establezca uno mayor|así venga previsto en el Derecho de la {EU}}}.",
"En caso de no tener establecido un plazo específico, éste no podrá exceder de los {rand:3 meses|{range:2-12} {rand:días|semanas|meses|años}|1 {rand:día|semana|mes|año}}{rand:| salvo que {select:1-2,o,una norma con rango de Ley establezca uno mayor|así venga previsto en el Derecho de la {EU}}}."
]
}, {
"question" : "Conforme a lo redactado en{rand:| el artículo 21{rand:| apartado 3|.3} de} la {l_39_2015}, cuando las normas reguladoras de los procedimientos no fijen el plazo máximo para recibir la notificación, éste será de:",
"rights" : ["3 meses."],
"wrongs" : ["{rand:6 meses|{range:2-12} {rand:días|semanas|meses|años}|1 {rand:día|semana|mes|año}}{rand:| salvo que {select:1-2,o,una norma con rango de Ley establezca uno mayor|así venga previsto en el Derecho de la {EU}}}."]
}, {
"question" : "¿En cuáles de los siguientes casos, la Administración, según {rand:el artículo 53 de |}la {l_39_2015}, realizará una resolución de declaración de circunstancia?",
"rights" : ["{Select:1-5,y,list:casos_resolucion_declaracion_de_circunstancia_bien}."],
"wrongs" : ["{Select:1-5,y,list:casos_resolucion_declaracion_de_circunstancia_bien|list:casos_resolucion_declaracion_de_circunstancia_mal}."]
}, {
"question" : "En el plazo máximo para recibir una notificación expresa, según {rand:|el artículo 21{rand:| apartado 3|.3} de }la {l_39_2015}, se contará en los procedimientos iniciados de oficio:",
"rights" : ["Desde la fecha del acuerdo {rand:del inicio del procedimiento|de iniciación}."],
"wrongs" : [
"Desde el día siguiente {rand:a la publicación|a la notificación|a la entrada en vigor|a la recepción por parte del interesado de la comunicación|al acuerdo} {rand:de iniciación|del inicio del procedimiento|de notificación}{rand:| {select:1-3,y,en el {BOE}|en el {BOP}|en el {DOGA}|en el tablón de anuncios de la Administración pertinente|al interesado}}.",
"Desde la fecha {rand:de la publicación|de la notificación|de la entrada en vigor|de la recepción por parte del interesado de la comunicación|del acuerdo} {rand:de iniciación|del inicio del procedimiento|de notificación}{rand:| {select:1-3,y,en el {BOE}|en el {BOP}|en el {DOGA}|en el tablón de anuncios de la Administración pertinente|al interesado}}.",
"Desde el {rand:mismo día|día siguiente} a aquél en que se notifique al interesado el acuerdo de {rand:notificación|iniciación}{rand:| del procedimiento}."
]
}, {
"question" : "¿Desde cuándo cuentan los plazos para una solicitud iniciada por un interesado según {rand:el artículo 21 de |}la {l_39_2015}?",
"rights" : ["Desde que ésta haya tenido entrada en el registro electrónico de la {mix:o,Administración|Organismo} competente para su tramitación."],
"wrongs" : [
"Desde {rand:el día siguiente|la fecha de {rand:notificación|publicación|recepción}} en el registro electrónico de la {select:1-2,o,Administración|Organismo} competente para su tramitación.",
"Desde {rand:|el día siguiente a }la fecha de recepción por parte del interesado de la comunicación de inicio del procedimiento.",
"Desde {rand:|el día siguiente a }la fecha de notificación al interesado del acuerdo de iniciación del procedimiento.",
"Desde {rand:|el día siguiente a }la fecha de publicación en el {rand:BOE|BOP|DOGA|tablón de anuncios de la Administración pertinente}."
]
}, {
"question" : "¿Cómo se puede iniciar un procedimiento administrativo según {rand:el artículo 21 de |}la {l_39_2015}?",
"rights" : ["{Mix:o,de oficio{rand:| por la Administración competente}|a {rand:|instancia de parte mediante }solicitud del interesado}."],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólo|Sólamente} }{select:1-3,o,de oficio{rand:| por la Administración competente}|a {rand:|instancia de parte mediante }solicitud del interesado|por parte de un tercero que requiere actuación {select:1-2,y,de la Administración|del interesado}}}."]
}, {
"question" : "¿Cuándo el órgano competente para resolver un procedimiento podrá habilitar los medios {mix:y,personales|materiales} para dicho procedimiento, según {rand:el artículo 21{rand:| apartado 5|.5} de }la {l_39_2015}?",
"rights" : ["Cuando {mix:o,el número de las solicitudes formuladas|las personas afectadas} pudieren suponer un incumplimiento del plazo máximo de resolución{rand:|, a propuesta razonada {mix:o,del órgano instructor|del superior jerárquico del órgano competente}}."],
"wrongs" : [
"Cuando {select:1-2,o,el número de las solicitudes formuladas|las personas afectadas} pudieren suponer un incumplimiento del plazo máximo de resolución{rand:|, sin necesidad de {select:1-2,ni,propuesta{rand:| razonada}|acuerdo} previo por parte {select:1-2,o,del órgano instructor|del superior jerárquico del órgano competente}}.",
"Cuando lo solicite el interesado{rand:| principal| que figura de primero}.",
"Cuando lo considere oportuno {rand:la Administración correspondiente|cualquiera de las {AAPP} con competencias en dicha materia}{rand:|, siempre que haya un acuerdo previo con un órgano ageno al procedimiento}.",
"Cuando se trate de procedimientos {select:1-2,o,sancionadores|tributarios}."
]
}, {
"question" : "¿Cuales de los siguientes grupos pueden acordar propuestas razonadas para habilitar medios {mix:y,personales|materiales} en un procedimiento según {rand:el artículo 21{rand:| apartado 5|.5} de }la {l_39_2015}?",
"rights" : ["{Select:1-2,y,el órgano instructor|el superior jerárquico del órgano competente}."],
"wrongs" : ["{Select:1-3,y,el órgano instructor|el superior jerárquico del órgano competente|el interesado principal|la Administración de la que depende el trámite correspondiente|las autoridades|el organismo creado específicamente para mediar con dichos fines}."]
}, {
"question" : "De conformidad con el artículo 22.2.c de la {l_39_2015}, el transcurso de plazo máximo legal para resolver un procedimiento y notificar la resolución, se suspenderá:",
"rights" : ["Cuando los interesados promuevan la recusación en cualquier momento de la tramitación de un procedimeinto, desde que esta se plantee hasta que sea resulta por el superior jerárquico del recusado."],
"wrongs" :["Cuando los interesados promuevan la {rand:abstención|recusación} {rand:{rand:después|antes}|en cualquier momento}{rand:| del trámite de audiencia} de la tramitación de un procedimeinto, desde que esta se plantee hasta que sea resulta por el {rand:inferior|superior} jerárquico del recusado."]
}, {
"question" : "¿En cuáles de los siguientes casos se suspenderá el plazo máximo para resolver un procedimiento según {rand:el artículo 22 de |}la {l_39_2015}?",
"rights" : ["{Cap:{rand:list:articulo_22_1_bien}}."],
"wrongs" : ["{Cap:{rand:list:articulo_22_2_bien}}."]
}, {
"question" : "¿En cuáles de los siguientes casos se podrá ser suspendido{rand:|, cómo posibilidad,} el plazo máximo para resolver un procedimiento según {rand:el artículo 22 de |}la {l_39_2015}, sin obligación expresa de dicha acción?",
"rights" : ["{Cap:{rand:list:articulo_22_2_bien}}."],
"wrongs" : ["{Cap:{rand:list:articulo_22_1_bien}}."]
}, {
"question" : "¿Cuál de los siguientes posibilidades puede ser el caso más importante en el que el plazo máximo de un procedimiento podría ser suspendido según {rand:el artículo 22 de |}la {l_39_2015}?",
"rights" : ["La recusación{rand:|, establecido en el apartado c del artículo 22.2}."],
"wrongs" : [
"{Select:1-2,o,la subsanación de deficiencias|la aportación de documentos} de juicio necesarios.",
"La obtención de un pronunciamiento {select:1-2,o,previo|preceptivo} de un órgano de la {EU}.",
"La existencia de un procedimiento no finalizado en el ámbito de la {EU} que condicione directamente el contenido de la resolución de que se trate.",
"La solicitud de informes preceptivos a un órgano de {select:1-2,o,la misma|distinta} Administración.",
"La realización de {select:1-3,o,pruebas técnicas|análisis contradictorios|dirimentes} propuestos por los interesados.",
"El inicio de negociaciones con vistas a la conclusión de un {select:1-2,o,pacto|convenio} en los términos previstos en la terminación convencional.",
"La obtención de un previo pronunciamiento por parte de un órgano jurisdiccional."
]
}, {
"question" : "¿En qué casos se puede duplicar el plazo máximo establecido para {mix:y,resolver|notificar} un procedimiento según {rand:el artículo 23 de |}la {l_39_2015}?",
"rights" : ["Excepcionalmente, cuando se hallan agotado los medios {mix:y,personales|materiales} disponibles{rand:| a los que se refiere el apartado 5 del artículo {rand:21|{rand:|21 }para la obligación de resolver}}{rand:|. Está sujeto a un acuerdo por parte {mix:o,del órgano completente|del órgano instructor|del superior jerárquico del órgano competente}}."],
"wrongs" : ["{Cap:{rand:|{rand:excepcionalmente|siempre y|habitualmente} }cuando {rand:se hallan agotado los medios {select:1-2,y,personales|materiales} disponibles|lo solicite el interesado|lo consideren oportuno las {AAPP}|lo considere oportuno la Administración correspondiente|se trate de procedimientos {select:1-2,o,sancionadores|tributarios}|halla varios interesados en el procedimiento}{rand:| referido en el apartado 5 del artículo {rand:21|{rand:|21 }para la obligación de resolver}}{rand:|. Está sujeto a un acuerdo por parte {select:1-3,o,del interesado|de la Administración correspondiente|de las autoridades|del funcionario responsable de la gestión del trámite correspondiente{rand:| dentro de la Administración donde se realice el trámite}|del órgano completente|del órgano instructor|del superior jerárquico del órgano competente}|, sin necesidad de {select:1-2,o,acuerdo|condición|obligación}{rand:| previa}}}."]
}, {
"question" : "¿Cuánto es el tiempo qeu se amplía el plazo máximo para {mix:y,resolver|notificar} un procedimiento según {rand:el artículo 23 de |}la {l_39_2015} cuando se hallan agotado los medios {mix:y,personales|materiales} de un procedimiento administrativo?",
"rights" : ["Se podrá duplicar su propio plazo máximo."],
"wrongs" : [
"Se podrá triplicar su propio plazo máximo.",
"Se podrá {rand:añadir|ampliar} un tiempo prudencial estimado para la resolución del procedimiento.",
"{rand:3 meses|{range:2-12} {rand:días|semanas|meses|años}|1 {rand:día|semana|mes|año}}.",
"De {serie:1-8} a {serie:2-12} {rand:días|semanas|meses|años}."
]
}, {
"question" : "¿Cómo se puede desestimar el acuerdo para el tiempo ampliado en un procedimiento administrativo cuyo plazo máximo de {mix:y,resolver|notificar} {rand:ha sido ampliado|se ha duplicado} según {rand:el artículo 23 de |}la {l_39_2015}?",
"rights" : [
"No se puede.",
"No cabrá recurso alguno."
],
"wrongs" : [
"Mediante recurso {select:1-3,o,de alzada|potestativo de reposición|contencioso-administrativo|extraordinario de revisión}{rand:|, siempre que éste lo apruebe una {rand:Administración|entidad{rand:| {select:1-2,o,pública|privada}}} independiente al proceso}.",
"Siempre{rand:|, no existe ninguna restricción al respecto| que así lo deseen los interesados del proceso| que vea necesaria la Administración correspondiente{rand:| para el buen desarrollo del trámite}}."
]
}, {
"question" : "¿Qué tipo de recursos se pueden aplicar sobre el acuerdo para el tiempo ampliado en un procedimiento administrativo cuyo plazo máximo de {mix:y,resolver|notificar} {rand:ha sido ampliado|se ha duplicado} según {rand:el artículo 23 de |}la {l_39_2015}?",
"rights" : [
"Ninguno.",
"No cabrá recurso alguno."
],
"wrongs" : [
"{Select:1-3,o,de alzada|potestativo de reposición|contencioso-administrativo|extraordinario de revisión}{rand:|, siempre que éste lo apruebe una {rand:Administración|entidad{rand:| {select:1-2,o,pública|privada}}} independiente al proceso}.",
"Cualquier recurso que así lo deseen los interesados del proceso{rand:|, o que vea necesaria la Administración correspondiente{rand:| para el buen desarrollo del trámite}}."
]
}, {
"question" : "¿En qué casos podrá ser objeto de ampliación un plazo ya vencido, según {rand:|el artículo 32 de }la {l_39_2015}?",
"rights" : ["En ninguno."],
"wrongs" : [
"Cuando lo solicite el interesado{rand:| principal| que figura de primero}.",
"Cuando lo considere oportuno {rand:la Administración correspondiente|cualquiera de las {AAPP} con competencias en dicha materia}{rand:|, siempre que haya un acuerdo previo con un órgano ageno al procedimiento}.",
"Cuando se trate de {select:1-3,y,misiones diplomáticas|oficinas consulares|procedimientos {select:1-2,o,sancionadores|tributarios}}."
]
}, {
"question" : "¿Quiénes de los siguientes pueden solcicitar la ampliación de los términos y plazos según {rand:|el artículo 32 de }la {l_39_2015}?",
"rights" : ["Los interesados."],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólo|Sólamente} }{select:1-3,y,el interesado{rand:| principal| que figura de primero}|la {AAPP} competente|un tercero que requiera actuación {select:1-2,y,de la Administración|del interesado}}{rand:| exclusivamente}}."]
}, {
"question" : "¿Cuál es el plazo máximo que puede ampliar la Administración los términos y plazos según el artículo 32 de la {l_39_2015}?",
"rights" : ["Un máximo de la mitad de los mismos{rand:|, siempre que no perjudiquen derechos de terceros}."],
"wrongs" : [
"Un máximo {rand:de la mitad|de un tercio|de un cuarto|de un quinto|de {range:2-4} quintos|de 3 cuartos|del doble|del triple} de los mismos{rand:|, siempre que no perjudiquen derechos de {select:1-3,ni,los interesados|terceros|personas implicadas}}.",
"{rand:3 meses|{range:2-12} {rand:días|semanas|meses|años}|1 {rand:día|semana|mes|año}}.",
"De {serie:1-8} a {serie:2-12} {rand:días|semanas|meses|años}."
]
}, {
"question" : "¿A qué tipos de procedimeintos va destinada la ampliación de los plazos según {rand:|el artículo 32 de }la {l_39_2015}?",
"rights" : ["{Select:1-4,o,misiones diplomáticas|oficinas consulares|a los que requiera cumplimentar algún trámite en el extranjero|en los que intervengan interesados residentes fuera de España}."],
"wrongs" : ["{Select:1-5,o,misiones diplomáticas|oficinas consulares|a los que requiera cumplimentar algún trámite en el extranjero|en los que intervengan interesados {rand:españoles|residentes {select:1-2,o,fuera|dentro} de España}|procedimientos {select:1-2,o,sancionadores|tributarios}}."]
}, {
"question" : "Por norma general. ¿Cómo se entiende el silecio administrativo a solicitud de un interesado, según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["Estimatorio.", "Positivo.", "Como estimación positiva de su solicitud."],
"wrongs" : [
"{rand:Negativo|Desestimatorio}{rand:|, requiere de siempre de una respuesta expresa de la Administración correspondiente}.",
"Como desestimación de su solicitud.",
"No se entiende ningún tipo de silencio administrativo{rand:|, requiere de siempre de una respuesta expresa de la Administración correspondiente}."
]
}, {
"question" : "¿Por qué, como norma general, el vencimiento del plazo máximo sin haberse notificado una resolución expresa en un procedimiento iniciado a solicitud de un interesado se entiende como {rand:estimatorio|positivo} según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : [
"Porque se considera que la Administración ha aceptado la solicitud del interesado.",
"Porque legitima al interesado o interesados para entederla estimada por silencio administrativo."],
"wrongs" : [
"Porque se considera que la Administración ha rechazado la solicitud del interesado.",
"Porque legitima al interesado o interesados para entederla desestimada por silencio administrativo.",
"Porque la Administración no tiene obligación de notificar una resolución expresa en estos casos.",
"En ningún caso se entiende como {mix:ni,estimatorio|positivo}{rand:|, requiere de siempre de una respuesta expresa de la Administración correspondiente}."
]
}, {
"question" : "¿En qué casos {rand:el silencio administrativo es {rand:negativo|desestimatorio}|no se aplicará el silencio administrativo {rand:estimatorio|positivo}} según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["{Cap:{rand:list:silencio_desestimatorio_bien}}."],
"wrongs" : ["{Cap:{rand:list:silencio_desestimatorio_mal}}."]
}, {
"question" : "¿En cuáles de los casos {rand:el silencio administrativo es {rand:negativo|desestimatorio}|no se aplicará el silencio administrativo {rand:estimatorio|positivo}} según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["{Select:1-6,o,list:silencio_desestimatorio_bien}."],
"wrongs" : ["{Select:1-6,o,list:silencio_desestimatorio_bien|list:silencio_desestimatorio_mal}."]
}, {
"question" : "¿Ante un recurso administrativo contra una resolución expresa dictada en un procedimiento iniciado a solicitud de un interesado, cómo se entenderá el silencio administrativo según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["Desestimatorio."],
"wrongs" : [
"Estimatorio.",
"Positivo.",
"Como estimación positiva de su solicitud.",
"No se entiende ningún tipo de silencio administrativo{rand:|, requiere de siempre de una respuesta expresa de la Administración correspondiente}."
]
}, {
"question" : "¿Qué se considera el doble silencio administrativo según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : [
"Cuando en un procedimiento iniciado a solicitud de un interesado, tras el vencimiento del plazo máximo sin haberse notificado una resolución expresa, se interpone un recurso administrativo contra dicha ausencia de resolución y transcurre el plazo máximo para resolver el recurso sin haberse notificado resolución expresa{rand:|, siempre que no se refiera a las materias enumeradas en las excepciones a la norma general del silencio administrativo}.",
"Cuando el recurso de alzada se haya interpuesto contra la desestimación por silencio administrativo de una solicitud por el transcurso del plazo, se entenderá estimado el mismo si, llegado el plazo de resolución, el órgano administrativo competente no dictase y notifique resolución expresa{rand:|, siempre que no se refiera a las materias enumeradas en las excepciones a la norma general del silencio administrativo}."
],
"wrongs" : [
"Cuando en un procedimiento iniciado {rand:de oficio por alguna Administración|a solicitud de un interesado}, tras el vencimiento del plazo máximo sin haberse notificado una resolución expresa, se interpone un recurso administrativo contra dicha ausencia de resolución y {rand:se {select:1-2,y,dicta|notifica} una resolución expresa {rand:que anula |{rand:|des}estimatoria d}el {rand:procedimiento|recurso}|transcurre el plazo máximo para resolver el recurso sin haberse notificado resolución expresa}{rand:|, siempre que no se refiera a las materias enumeradas en las excepciones a la norma general del silencio administrativo}.",
"Cuando el recurso de alzada se haya interpuesto contra la desestimación por silencio administrativo de una solicitud por el transcurso del plazo, se entenderá {rand:|des}estimado el mismo si, llegado el plazo de resolución, el órgano administrativo competente {rand:|no }{select:1-2,y,dictase|notifique} resolución expresa{rand:|, siempre que no se refiera a las materias enumeradas en las excepciones a la norma general del silencio administrativo}."
]
}, {
"question" : "¿Qué es el recurso de alzada según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["Un recurso administrativo que se interpone ante el superior jerárquico del órgano que dictó la resolución recurrida."],
"wrongs" : ["Un recurso {rand:|contencioso-}administrativo que se interpone ante {select:1-3,o,el mismo órgano que dictó la resolución recurrida|el Tribunal Supremo|n órgano ajeno{rand:| a la Administración} que dictó la resolución recurrida|el superior jerárquico del órgano que dictó la resolución recurrida}."]
}, {
"question" : "¿Qué se considera la estimación por silencio administrativo según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["A todos los efectos, la consideración de acto administrativo finalizador del procedimiento."],
"wrongs" : ["{Cap:{rand:{rand:A todos los efectos|En algunos casos|Excepcionalmente}, |}la }consideración de acto administrativo {rand:no |}{rand:finalizador|provisional|inicial} del procedimiento."]
}, {
"question" : "¿Por qué la estimación por silencio administrativo según {rand:el artículo 24 de |}la {l_39_2015} se considera a todos los efectos como acto administrativo finalizador del procedimiento?",
"rights" : ["Porque la resolución expresa posterior a la producción del acto sólo podrá dictarse de ser confirmatoria del mismo."],
"wrongs" : ["Porque la resolución expresa posterior a la producción del acto {rand:|no }podrá dictarse {rand:en cualquier caso|de ser {select:1-2,o,confirmatoria|revocatoria} del mismo}."]
}, {
"question" : "Según el artículo 24.1 de la {l_39_2015}. ¿Qué efecto tendrá el silencio administrativo en los procedimientos de ejercicio del derecho de petición a que se refiere el artículo 29 de la {ce78}?",
"rights" : ["Tendrá siempre efecto desestimatorio."],
"wrongs" : [
"Tendrá siempre efecto {rand:|des}estimatorio{rand:|, siempre que se establezca por Ley|, salvo que {rand:el interesado|la Administración} dicte lo contrario expresamente|, salvo que una norma con rango {select:1-3,o,de ley|legal|reglamentario} establezca lo contrario}.",
"Tendrá efecto estimatorio o desestimatorio {rand:de acuerdo con la regulación específica de cada Administración Pública establezca al respecto|según lo que decida la Administración correspondiente}.",
"No tendrá ningún efecto, requiriendo siempre una respuesta expresa de la Administración correspondiente."
]
}, {
"question" : "¿Dónde tiene validez el certificado conforme al silencio administrativo según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["En todo el territorio nacional."],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólo|Sólamente} }{select:1-3,o,en la comunidad autónoma|en el ámbito local|en la Administración}{rand:|{rand:|, únicamente} donde se haya expedido}}."]
}, {
"question" : "¿Qué es el certificado conforme al silencio administrativo según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["Es {rand:un documento|lo} que acredita la estimación por silencio administrativo de una solicitud."],
"wrongs" : [
"Es {rand:un documento|lo} que acredita la desestimación por silencio administrativo de una solicitud.",
"Es {rand:un documento|lo} que acredita la interposición de un recurso administrativo contra una resolución expresa dictada en un procedimiento iniciado a solicitud de un interesado.",
"Es {rand:un documento|lo} que acredita la interposición de un recurso de alzada contra la desestimación por silencio administrativo de una solicitud por el transcurso del plazo."
]
}, {
"question" : "¿Cuál es el plazo para expedir de oficio el certificado conforme al silencio administrativo según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["De 15 días."],
"wrongs" : [
"{rand:10 días|30 días|3 meses|6 meses|{range:2-60} {rand:días|semanas|meses}|1 {rand:día|semana|mes}}.",
"De {serie:1-8} a {serie:2-12} {rand:días|semanas|meses|años}.",
"No existe un plazo establecido para ello."
]
}, {
"question" : "¿Sobre qué y/o quién se puede hacer valer el silencio administrativo según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : [
"{rand:Toda|Sobre cualquier} persona {mix:o,física|jurídica} {mix:o,pública|privada}.",
"{rand:Todas las|Las} personas {mix:o,físicas|jurídicas} {mix:o,públicas|privadas}."
],
"wrongs" : ["{Cap:{rand:|{rand:Únicamente|Sólo|Sólamente} }{select:1-2,y,las personas {select:1-2,o,físicas|jurídicas}{rand:| {select:1-2,o,públicas|privadas}}|{rand:ciertas|las} {AAPP}}{rand:| exclusivamente}}."]
}, {
"question" : "¿Cuáles son los efectos que tiene la existencia del silencio administrativo según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : ["Los sólos efectos de permitir a los interesados la interposición del recurso {mix:o,administrativo|contencioso-administrativo} que resulte procedente."],
"wrongs" : [
"Los efectos de permitir a los interesados la interposición del recurso {select:1-2,o,administrativo|contencioso-administrativo} que resulte procedente{rand:|, así como la ejecución provisional de la resolución estimada por silencio administrativo}.",
"Los efectos de permitir a los interesados la interposición del recurso {select:1-2,o,administrativo|contencioso-administrativo} que resulte procedente{rand:|, así como la ejecución definitiva de la resolución estimada por silencio administrativo}.",
"Ningún efecto adicional al de la interposición del recurso {select:1-2,o,administrativo|contencioso-administrativo} que resulte procedente."
]
}, {
"question" : "¿Cómo se entiende que será la resolución posterior del silencio administrativo {rand:estimatorio|positivo} según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : [
"Como confirmatoria del mismo.",
"{rand:Positivo|Estimatorio}."
],
"wrongs" : [
"Como revocatoria del mismo.",
"{rand:Negativo|Desestimatorio}.",
"Depende {select:1-3,o,del procedimiento|la jurisdicción correspondiente|la jurisprudencia que pueda haber detrás}.",
"Como una resolución sin vinculación alguna cal sentido del silencio."
]
}, {
"question" : "¿Cómo se entiende que será la resolución posterior del silencio administrativo {rand:desestimatorio|negativo} según {rand:el artículo 24 de |}la {l_39_2015}?",
"rights" : [
"Como una resolución sin vinculación alguna cal sentido del silencio.",
"L{rand:o normal es que sea {rand:negativa|desestimatoria} pero l|}a Administración puede cambiar {rand:|de parecer y pasar }a ser {rand:estimatorio|positivo}{rand:|, sin vinculación}."
],
"wrongs" : [
"Como {rand:confirmatoria|revocatoria} del mismo.",
"{rand:Negativo|Desestimatorio|Positivo|Estimatorio}.",
"Depende {select:1-3,o,del procedimiento|la jurisdicción correspondiente|la jurisprudencia que pueda haber detrás}.",
"L{rand:o normal es que sea {rand:negativa|desestimatoria} y l|}a Administración la dejará como {rand:negativa|desestimatoria} sin vinculación."
]
}, {
"question" : "Según el artículo 25.1 de la {l_39_2015}, en los procedimientos iniciados de oficio en que la Administración ejerce potestades sancionadoras o, en general, de intervención, susceptibles de producir efectos desfavorables o de gravamen, si vence el plazo máximo estableciddo sin que se haya dictado y notificado resolución expresa:",
"rights" : ["Se producirá la caducidad."],
"wrongs" : [
"se producirá la prescripción.",
"Se entenderá {rand:des|}estimada la solicitud por silencio administrativo.",
"No se producirá ningún efecto, requiriendo siempre una respuesta expresa de la Administración correspondiente.",
"Los interesados que hubieren comparecido podrán enender {rand:des|}estimada sus pretensiones por silencio administrativo."
]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Ley 39/2015 - Título II - Articulado",
"group" : "kyman_39_2015_tii_articulado",
"queries" : [{
"question" : "¿De qué {rand:trata|va} el artículo 13 de la {l_39_2015}?",
"rights" : ["Derechos de las personas en sus relaciones con las {AAPP}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 14 de la {l_39_2015}?",
"rights" : ["{Mix:y,derecho|obligación} de relacionarse electrónicamente con las {AAPP}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 15 de la {l_39_2015}?",
"rights" : ["Lengua de los procedimientos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 19 de la {l_39_2015}?",
"rights" : ["Comparecencia de las personas."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 21 de la {l_39_2015}?",
"rights" : ["Obligación de resolver."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 22 de la {l_39_2015}?",
"rights" : ["Suspensión del plazo máximo para resolver."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 23 de la {l_39_2015}?",
"rights" : ["Ampliación del plazo máximo para {mix:y,resolver|notificar}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 24 de la {l_39_2015}?",
"rights" : ["Silencio administrativo en procedimientos iniciados a solicitud del interesado."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 25 de la {l_39_2015}?",
"rights" : ["Falta de resolución expresa en procedimientos iniciados de oficio."]
}, {
"question" : "¿De qué {rand:trata|va} el artículo 32 de la {l_39_2015}?",
"rights" : ["Ampliación de los términos y plazos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 39 de la {l_39_2015}?",
"rights" : ["Efectos de los actos administrativos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 53 de la {l_39_2015}?",
"rights" : ["Derechos del interesado en el procedimiento administrativo."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 68 de la {l_39_2015}?",
"rights" : ["{Mix:y,subsanación|mejora} de la solicitud."],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 86 de la {l_39_2015}?",
"rights" : ["Terminación convencional"],
"brothers_are_wrongs" : true
}, {
"question" : "¿De qué {rand:trata|va} el artículo 87 de la {l_39_2015}?",
"rights" : ["Actuaciones complementarias{rand:| de resolución}."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Ley 39/2015 - Título II - Articulado II",
"group" : "kyman_39_2015_tii_articulado",
"queries" : [{
"question" : "¿Qué artículo de la {l_39_2015} regulan los derechos de las personas en sus relaciones con las {AAPP}?",
"rights" : ["El artículo 13."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regula {mix:y,el derecho|la obligación} de relacionarse electrónicamente con las {AAPP}?",
"rights" : ["El artículo 14."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regula la lengua de los procedimientos?",
"rights" : ["El artículo 15."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan la comparecencia de las personas?",
"rights" : ["El artículo 19."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan la obligación de resolver?",
"rights" : ["El artículo 21."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan la suspensión del plazo máximo para resolver?",
"rights" : ["El artículo 22."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan la ampliación del plazo máximo para {mix:y,resolver|notificar}?",
"rights" : ["El artículo 23."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan el silencio administrativo en procedimientos iniciados a solicitud del interesado?",
"rights" : ["El artículo 24."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan la falta de resolución expresa en procedimientos iniciados de oficio?",
"rights" : ["El artículo 25."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan la ampliación de los términos y plazos?",
"rights" : ["El artículo 32."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan los efectos de los actos administrativos?",
"rights" : ["El artículo 39."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regulan los derechos del interesado en el procedimiento administrativo?",
"rights" : ["El artículo 53."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué artículo de la {l_39_2015} está intimamente relacionado el artículo {rand:13|{rand:|13 } de los derechos de las personas en sus relaciones con las {AAPP}} de la {l_39_2015}{rand:|, cuando una persona pasa a ser un interesado}?",
"rights" : ["Con el artículo 53."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regula la {mix:y,subsanación|mejora} de la solicitud?",
"rights" : ["El artículo 68."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015}} regula la terminación convencional?",
"rights" : ["El artículo 86."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué artículo de la {l_39_2015} regula las actuaciones complementarias{rand:| de resolución}?",
"rights" : ["El artículo 87."],
"brothers_are_wrongs" : true
}]
}]

View File

@ -0,0 +1,23 @@
[{
"origin" : "KyMAN",
"sources" : [
"https://boe.es/buscar/act.php?id=BOE-A-2015-10566",
"https://www.boe.es/eli/es/l/2015/10/01/40/con"
],
"title" : "Ley 40/2015 - Título I - Capítulo I",
"group" : "kyman_40_2015_t1_c1",
"group_variables" : {},
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Ley 40/2015 - Título I - Capítulo I - Articulado",
"group" : "kyman_40_2015_t1_c1_articulado",
"queries" : []
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Ley 40/2015 - Título I - Capítulo I - Articulado II",
"group" : "kyman_40_2015_t1_c1_articulado",
"queries" : []
}]

View File

@ -1,7 +1,11 @@
[{
"origin" : "Paco Barbié",
"title" : "Constitución - Estructura",
"source" : "https://www.youtube.com/watch?v=jll91s6qz6c",
"source" : [
"https://www.youtube.com/watch?v=jll91s6qz6c",
"https://www.boe.es/buscar/act.php?id=BOE-A-1978-31229",
"https://www.boe.es/eli/es/c/1978/12/27/(1)/con"
],
"queries" : [{
"question" : "¿Cuántos artículos tiene la {ce78}?",
"rights" : ["169 artículos."],

View File

@ -1 +1 @@
0.0.11
0.0.12