dsl_test 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 15a5ba4b5a7d359901ebafa672b0971b21d9112d45a9cec8b3767cef7dc22f55
4
+ data.tar.gz: 38f9b94549184842aca200c4df1f2fd90bd588295c9859c539a68f06fda4ccc6
5
+ SHA512:
6
+ metadata.gz: f88fc68f67ed94ac1f78816f4f2973e08e300d822cc4e95183e73c6917eb9c5b764722dc956149bd3beffb11d0f592b38be5348e26fdc4946a3ff911339909b3
7
+ data.tar.gz: b7487ac5e66e868c2356db560c07461440d76e8a25f4dd42fafabcd5e1779a727e95466dad828487b6625af6621d7848401731ab0985816fa5065953abf4d6ae
data/.gitignore ADDED
@@ -0,0 +1,8 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/CHANGELOG.md ADDED
@@ -0,0 +1,5 @@
1
+ ## [Unreleased]
2
+
3
+ ## [0.1.0] - 2021-02-16
4
+
5
+ - Initial release
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's dependencies in dsl_test.gemspec
6
+ gemspec
7
+
8
+ gem "rake", "~> 13.0"
data/Gemfile.lock ADDED
@@ -0,0 +1,19 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ dsl_test (0.1.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ rake (13.0.3)
10
+
11
+ PLATFORMS
12
+ x86_64-linux
13
+
14
+ DEPENDENCIES
15
+ dsl_test!
16
+ rake (~> 13.0)
17
+
18
+ BUNDLED WITH
19
+ 2.2.10
data/README.md ADDED
@@ -0,0 +1,63 @@
1
+ # DslTest
2
+
3
+ Lenguaje de Dominio Específico para la definición de un test.
4
+
5
+
6
+ ## Instalación
7
+
8
+ Agregar esta línea a el Gemfile de su aplicación:
9
+
10
+ ```ruby
11
+ gem 'dsl_test'
12
+ ```
13
+
14
+ Luego ejecute:
15
+
16
+ $ bundle install
17
+
18
+ O instalelo usted mismo:
19
+
20
+ $ gem install dsl_test
21
+
22
+ ## Uso
23
+ Esta librería permite la definición de un test, el test cuenta con un título principal.
24
+ La presentación se refiere al modo en el que el test se presenta, se tiene implementado el formato html para la interacción de las respuestas.
25
+ El resultado es donde se almacenará el resultado del test para la visualición con el usuario, se tiene implementado las opciones de html, texto plano o xlxs.
26
+ La pregunta viene definida por el enunciado, el tipo de pregunta,la imagen a la que se tiene que pasar la ruta del archivo jpg para su visualización y las respuestas tipo test.
27
+
28
+ ```
29
+ @test_bachillerato = Test.new("Test nivel Bachillerato") do
30
+ presentacion :presentar => "html"
31
+ resultado :guardar_resultado_en => "csv"
32
+ pregunta "¿Cuántas veces se debe repetir la secuencia para llevar al 'Pac-Man' hacia el fantasma por el camino señalado?",
33
+ :tipo => "Descomposición",
34
+ :imagen => "images/pregunta_descomposicion_bachillerato.jpg",
35
+ :respuestas => "\na)x 2\nb)x 1\nc)x 4\nd)x 3",
36
+ pregunta "Seleccione la respuesta correcta",
37
+ :tipo => "Abstracción",
38
+ :imagen => "images/pregunta_abstraccion_bachillerato.jpg",
39
+ :respuestas => "\na)1495\nb)9541\nc)4519\nd)4195",
40
+ pregunta "Las instrucciones deben llevar al 'Pac-Man' hacia el fantasma por el camino indicado. Se deben indicar los pasos a seguir con las instrucciones dadas.",
41
+ :tipo => "Diseño algorítmico",
42
+ :imagen => "images/pregunta_diseño_bachillerato.jpg",
43
+ :respuestas => "\na)A,C,A,A\nb)A,B,A,A\nc)A,A,C,A\nd)A,A,B,A",
44
+ pregunta "¿Qué falta en la siguiente secuencia de órdenes para que ‘Pac-Man’ avance por el camino comiendo el número indicado de fresas?",
45
+ :tipo => "Secuenciación",
46
+ :imagen => "images/pregunta_secuenciacion_bachillerato.jpg",
47
+ :respuestas => "\na)1 vez\nb)2 veces\nc)3 veces\nd)5 veces",
48
+ pregunta "¿Qué figura resulta de las siguientes instrucciones?",
49
+ :tipo => "Evaluación",
50
+ :imagen => "images/pregunta_evaluacion_bachillerato.jpg",
51
+ :respuestas => "\na)rombo\nb)rectángulo\nc)triángulo\nd)cuadrado",
52
+ end
53
+ ```
54
+
55
+ ## Desarrollo
56
+
57
+ Después de comprobar el repositorio, ejecute `bin/setup` para instalar las dependencias. También puede ejecutar `bin / console` para obtener un mensaje interactivo que le permitirá experimentar.
58
+
59
+ Para instalar esta gema en su máquina local, ejecute `bundle exec rake install`. Para lanzar una nueva versión, actualice el número de versión en `version.rb`, y luego ejecute` bundle exec rake release`, que creará una etiqueta git para la versión, enviará git commits y la etiqueta creada, y empujará el `. gem` archivo a [rubygems.org] (https://rubygems.org).
60
+
61
+ ## Colaboración
62
+
63
+ Los informes de errores y las solicitudes de extracción son bienvenidos en GitHub en https://github.com/alu0100547160/dsl_test.
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+ require "bundler/gem_tasks"
3
+ require "rspec/core/rake_task"
4
+
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "bundler/setup"
5
+ require "dsl_test"
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require "irb"
15
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/csv/usuario1.csv ADDED
@@ -0,0 +1 @@
1
+ usuario1,17,resa,respb,respc,respd,respe
data/csv/usuario8.csv ADDED
@@ -0,0 +1 @@
1
+ usuario8,17,resa,respb,respc,respd,respe
Binary file
data/dsl_test.gemspec ADDED
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+ # coding: utf-8
3
+ lib = File.expand_path("../lib", __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require "dsl_test/version"
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "dsl_test"
9
+ spec.version = DslTest::VERSION
10
+ spec.authors = ["Lisseth Vergaray Del Aguila"]
11
+ spec.email = ["alu0100547160@ull.edu.es"]
12
+
13
+ spec.summary = "Lenguaje de dominio específico para medir la habilidad del pensamiento computacional"
14
+ spec.description = "Esta DSL ayuda a definir un test con sus devidas preguntas"
15
+ spec.homepage = "https://github.com/Computational-Thinking/Test-PC-adultos.git"
16
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
17
+
18
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
19
+
20
+ spec.metadata["homepage_uri"] = spec.homepage
21
+ #spec.metadata["source_code_uri"] = "TODO: Put your gem's public repo URL here."
22
+ #spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
23
+
24
+ # Specify which files should be added to the gem when it is released.
25
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
26
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
27
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
28
+ end
29
+ spec.bindir = "exe"
30
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31
+ spec.require_paths = ["lib"]
32
+
33
+ # Uncomment to register a new dependency of your gem
34
+ spec.add_dependency "bundler", "~> 1.5"
35
+ spec.add_dependency "rake", "~> 12.3.3"
36
+ spec.add_development_dependency "rspec", "~> 3.0"
37
+
38
+ # For more information and examples about making a new gem, checkout our
39
+ # guide at: https://bundler.io/guides/creating_gem.html
40
+ end
data/lib/dsl_test.rb ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+ require "Test.rb"
3
+ require "version"
4
+
5
+ module DslTest
6
+ class Test
7
+ end
8
+ end
@@ -0,0 +1,145 @@
1
+ class Test
2
+
3
+ attr_accessor :name, :preguntas, :tipos, :imagenes, :respuestas, :respuesta_correcta, :formato_presentar, :formato_resultado
4
+
5
+ def initialize(name, &block)
6
+ @name = name
7
+ @preguntas = []
8
+ @tipos = []
9
+ @imagenes = []
10
+ @respuestas = []
11
+ @formato_presentar = []
12
+ @formato_resultado = []
13
+
14
+
15
+ if block_given?
16
+ if block.arity == 1
17
+ yield self
18
+ puts "yield self"
19
+ else
20
+ instance_eval(&block)
21
+ puts "instance_eval"
22
+ puts block.arity
23
+ end
24
+ end
25
+ end
26
+
27
+ def presentacion( options = {})
28
+ @formato_presentar << options[:presentar]
29
+
30
+ end
31
+
32
+ def resultado( options = {})
33
+ @formato_resultado << options[:guardar_resultado_en]
34
+ end
35
+
36
+ def pregunta(texto, options = {})
37
+ @preguntas << texto
38
+ @tipos << options[:tipo]
39
+ @imagenes << options[:imagen]
40
+ @respuestas << options[:respuestas]
41
+ end
42
+
43
+ def to_js
44
+
45
+ end
46
+
47
+ def to_html(name)
48
+ fileHtml = File.new("./views/#{@name}.html", "w+")
49
+ fileHtml.puts "<!DOCTYPE html>"
50
+ fileHtml.puts "<html lang='es-ES'>"
51
+ fileHtml.puts "<head>"
52
+ fileHtml.puts "<meta charset='UTF-8'>"
53
+ fileHtml.puts "<link rel=\"stylesheet\" href=\"test.css\">"
54
+ fileHtml.puts "<meta http-equiv='X-UA-Compatible' content='IE=edge'>"
55
+ fileHtml.puts "<meta name='viewport' content='width=device-width, initial-scale=1.0'>"
56
+ fileHtml.puts "<title>Documento</title>"
57
+ fileHtml.puts "</head>"
58
+ fileHtml.puts "<body>"
59
+ fileHtml.puts "<h1>#@name</h1>"
60
+ fileHtml.puts "<form action=\"\">"
61
+ fileHtml.puts "<label for=\"id_usuario\">Identificador:</label>"
62
+ fileHtml.puts "<input required type=\"text\" id=\"id_usuario\" name=\"id_usuario\">"
63
+ fileHtml.puts "<label for=\"edad\">Edad:</label>"
64
+ fileHtml.puts "<input required type=\"text\" id=\"edad\" name=\"edad\">"
65
+ @preguntas.each_with_index do |pregunta, index|
66
+ fileHtml.puts "<h3>#{index + 1}) #{pregunta}</h3>"
67
+ fileHtml.puts "<h3>#{@tipos[index]}</h3>"
68
+ fileHtml.puts "<img alt='Imagen pregunta #{index + 1}' src='../#{@imagenes[index]}'>"
69
+ respuestasLocal = @respuestas[index].split("\n")
70
+ fileHtml.puts "<input type ='radio' id='answer#{index + 1}_1' name='answer1' value='#{respuestasLocal[1]}' required>"
71
+ fileHtml.puts "<label for=\"answer1\">#{respuestasLocal[1]}</label><br>"
72
+ fileHtml.puts "<input type='radio' id='answer#{index + 1}_2' name='answer2' value='#{respuestasLocal[2]}' required>"
73
+ fileHtml.puts "<label for=\"answer2\">#{respuestasLocal[2]}</label><br>"
74
+ fileHtml.puts "<input type='radio' id='answer#{index + 1}_3' name='answer3' value='#{respuestasLocal[3]}' required>"
75
+ fileHtml.puts "<label for=\"answer3\">#{respuestasLocal[3]}</label><br>"
76
+ fileHtml.puts "<input type='radio' id='answer#{index + 1}_4' name='answer4' value='#{respuestasLocal[4]}' required>"
77
+ fileHtml.puts "<label for=\"answer4\">#{respuestasLocal[4]}</label><br>"
78
+ end
79
+ fileHtml.puts "<button type=\"submit\" onclick=\"submitForm(event)\">Enviar</button>"
80
+ fileHtml.puts "<script type=\"text/javascript\" src=\"./lib/dsl_test/index.js\"></script>"
81
+ fileHtml.puts "</form>"
82
+ fileHtml.puts "\t"
83
+ fileHtml.puts "</body>"
84
+ fileHtml.puts "</html>"
85
+ fileHtml.close()
86
+
87
+ fileHtml
88
+ end
89
+
90
+ def to_s
91
+ output = @name
92
+ output << "\n#{'=' * @name.size}\n\n"
93
+ @preguntas.each_with_index do |pregunta, index|
94
+ output << "#{index + 1}) #{pregunta}\n"
95
+ output << " #{@tipos[index]}\n"
96
+ output << " #{@imagenes[index]}\n"
97
+ output << " #{@respuestas[index]}\n"
98
+ output << "\n"
99
+ end
100
+ output
101
+ end
102
+
103
+ def to_texto
104
+ file = File.new("./views/test.txt", "w+")
105
+ file.puts "#@name"
106
+ file.puts "#{'=' * @name.size}\n\n"
107
+ @preguntas.each_with_index do |pregunta, index|
108
+ file.puts "#{index + 1}) #{pregunta}\n"
109
+ file.puts " #{@tipos[index]}\n"
110
+ file.puts " #{@imagenes[index]}\n"
111
+ file.puts " #{@respuestas[index]}\n"
112
+ file.puts "\n"
113
+ end
114
+ file
115
+ end
116
+
117
+ def to_csv(id,edad,respuestas = [])
118
+ filecsv = File.new("./csv/#{id}.csv", "w+")
119
+ filecsv.write "#{id}"
120
+ filecsv.write ","
121
+ filecsv.write "#{edad}"
122
+ filecsv.write ","
123
+ respuestas.each_with_index do |x, index|
124
+ filecsv.write x
125
+ if index <= respuestas.size - 2
126
+ filecsv.write ","
127
+ end
128
+ end
129
+
130
+ filecsv
131
+ end
132
+
133
+ def concatenar_csv
134
+ data = File.new("./data/Data.csv", "a")
135
+ #crea array de string con los elementos del directorio
136
+ archivos = Dir.children("./csv")
137
+ archivos.each_with_index do |filename,index|
138
+ File.open("./csv/#{filename}","r") {|file|
139
+ data.write file.read
140
+ data.write "\n"
141
+ }
142
+ end
143
+
144
+ end
145
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ require "dsl_test/Test.rb"
3
+
4
+ module DslTest
5
+ VERSION = "0.2.0"
6
+ end
@@ -0,0 +1,77 @@
1
+ <!DOCTYPE html>
2
+ <html lang='es-ES'>
3
+ <head>
4
+ <meta charset='UTF-8'>
5
+ <link rel="stylesheet" href="test.css">
6
+ <meta http-equiv='X-UA-Compatible' content='IE=edge'>
7
+ <meta name='viewport' content='width=device-width, initial-scale=1.0'>
8
+ <title>Documento</title>
9
+ </head>
10
+ <body>
11
+ <h1>Test nivel Bachillerato</h1>
12
+ <form action="">
13
+ <label for="id_usuario">Identificador:</label>
14
+ <input required type="text" id="id_usuario" name="id_usuario">
15
+ <label for="edad">Edad:</label>
16
+ <input required type="text" id="edad" name="edad">
17
+ <h3>1) ¿Cuántas veces se debe repetir la secuencia para llevar al 'Pac-Man' hacia el fantasma por el camino señalado?</h3>
18
+ <h3>Descomposición</h3>
19
+ <img alt='Imagen pregunta 1' src='../images/pregunta_descomposicion_bachillerato.jpg'>
20
+ <input type ='radio' id='answer1_1' name='answer1' value='a)x 2' required>
21
+ <label for="answer1">a)x 2</label><br>
22
+ <input type='radio' id='answer1_2' name='answer2' value='b)x 1' required>
23
+ <label for="answer2">b)x 1</label><br>
24
+ <input type='radio' id='answer1_3' name='answer3' value='c)x 4' required>
25
+ <label for="answer3">c)x 4</label><br>
26
+ <input type='radio' id='answer1_4' name='answer4' value='d)x 3' required>
27
+ <label for="answer4">d)x 3</label><br>
28
+ <h3>2) Seleccione la respuesta correcta</h3>
29
+ <h3>Abstracción</h3>
30
+ <img alt='Imagen pregunta 2' src='../images/pregunta_abstraccion_bachillerato.jpg'>
31
+ <input type ='radio' id='answer2_1' name='answer1' value='a)1495' required>
32
+ <label for="answer1">a)1495</label><br>
33
+ <input type='radio' id='answer2_2' name='answer2' value='b)9541' required>
34
+ <label for="answer2">b)9541</label><br>
35
+ <input type='radio' id='answer2_3' name='answer3' value='c)4519' required>
36
+ <label for="answer3">c)4519</label><br>
37
+ <input type='radio' id='answer2_4' name='answer4' value='d)4195' required>
38
+ <label for="answer4">d)4195</label><br>
39
+ <h3>3) Las instrucciones deben llevar al 'Pac-Man' hacia el fantasma por el camino indicado. Se deben indicar los pasos a seguir con las instrucciones dadas.</h3>
40
+ <h3>Diseño algorítmico</h3>
41
+ <img alt='Imagen pregunta 3' src='../images/pregunta_diseño_bachillerato.jpg'>
42
+ <input type ='radio' id='answer3_1' name='answer1' value='a)A,C,A,A' required>
43
+ <label for="answer1">a)A,C,A,A</label><br>
44
+ <input type='radio' id='answer3_2' name='answer2' value='b)A,B,A,A' required>
45
+ <label for="answer2">b)A,B,A,A</label><br>
46
+ <input type='radio' id='answer3_3' name='answer3' value='c)A,A,C,A' required>
47
+ <label for="answer3">c)A,A,C,A</label><br>
48
+ <input type='radio' id='answer3_4' name='answer4' value='d)A,A,B,A' required>
49
+ <label for="answer4">d)A,A,B,A</label><br>
50
+ <h3>4) ¿Qué falta en la siguiente secuencia de órdenes para que ‘Pac-Man’ avance por el camino comiendo el número indicado de fresas?</h3>
51
+ <h3>Secuenciación</h3>
52
+ <img alt='Imagen pregunta 4' src='../images/pregunta_secuenciacion_bachillerato.jpg'>
53
+ <input type ='radio' id='answer4_1' name='answer1' value='a)1 vez' required>
54
+ <label for="answer1">a)1 vez</label><br>
55
+ <input type='radio' id='answer4_2' name='answer2' value='b)2 veces' required>
56
+ <label for="answer2">b)2 veces</label><br>
57
+ <input type='radio' id='answer4_3' name='answer3' value='c)3 veces' required>
58
+ <label for="answer3">c)3 veces</label><br>
59
+ <input type='radio' id='answer4_4' name='answer4' value='d)5 veces' required>
60
+ <label for="answer4">d)5 veces</label><br>
61
+ <h3>5) ¿Qué figura resulta de las siguientes instrucciones?</h3>
62
+ <h3>Evaluación</h3>
63
+ <img alt='Imagen pregunta 5' src='../images/pregunta_evaluacion_bachillerato.jpg'>
64
+ <input type ='radio' id='answer5_1' name='answer1' value='a)rombo' required>
65
+ <label for="answer1">a)rombo</label><br>
66
+ <input type='radio' id='answer5_2' name='answer2' value='b)rectángulo' required>
67
+ <label for="answer2">b)rectángulo</label><br>
68
+ <input type='radio' id='answer5_3' name='answer3' value='c)triángulo' required>
69
+ <label for="answer3">c)triángulo</label><br>
70
+ <input type='radio' id='answer5_4' name='answer4' value='d)cuadrado' required>
71
+ <label for="answer4">d)cuadrado</label><br>
72
+ <button type="submit" onclick="submitForm(event)">Enviar</button>
73
+ <script type="text/javascript" src="./lib/dsl_test/index.js"></script>
74
+ </form>
75
+
76
+ </body>
77
+ </html>
@@ -0,0 +1,77 @@
1
+ <!DOCTYPE html>
2
+ <html lang='es-ES'>
3
+ <head>
4
+ <meta charset='UTF-8'>
5
+ <link rel="stylesheet" href="test.css">
6
+ <meta http-equiv='X-UA-Compatible' content='IE=edge'>
7
+ <meta name='viewport' content='width=device-width, initial-scale=1.0'>
8
+ <title>Documento</title>
9
+ </head>
10
+ <body>
11
+ <h1>Test para primero de carrera</h1>
12
+ <form action="">
13
+ <label for="id_usuario">Identificador:</label>
14
+ <input required type="text" id="id_usuario" name="id_usuario">
15
+ <label for="edad">Edad:</label>
16
+ <input required type="text" id="edad" name="edad">
17
+ <h3>1) Las instrucciones deben llevar al ‘Pac-Man’ hacia el fantasma por el camino indicado, ¿En qué paso de las instrucciones hay un error?</h3>
18
+ <h3>Descomposición</h3>
19
+ <img alt='Imagen pregunta 1' src='../images/pregunta_descomposicion_primero_carrera.jpg'>
20
+ <input type ='radio' id='answer1_1' name='answer1' value='a)Paso D' required>
21
+ <label for="answer1">a)Paso D</label><br>
22
+ <input type='radio' id='answer1_2' name='answer2' value='b) Paso A' required>
23
+ <label for="answer2">b) Paso A</label><br>
24
+ <input type='radio' id='answer1_3' name='answer3' value='c)Paso B' required>
25
+ <label for="answer3">c)Paso B</label><br>
26
+ <input type='radio' id='answer1_4' name='answer4' value='d)Paso C' required>
27
+ <label for="answer4">d)Paso C</label><br>
28
+ <h3>2) Seleccione la respuesta correcta</h3>
29
+ <h3>Abstracción</h3>
30
+ <img alt='Imagen pregunta 2' src='../images/pregunta_abstraccion_primero_carrera.jpg'>
31
+ <input type ='radio' id='answer2_1' name='answer1' value='a)☼▼↕ ►@◄↕▼☼' required>
32
+ <label for="answer1">a)☼▼↕ ►@◄↕▼☼</label><br>
33
+ <input type='radio' id='answer2_2' name='answer2' value='b)RECONOCER' required>
34
+ <label for="answer2">b)RECONOCER</label><br>
35
+ <input type='radio' id='answer2_3' name='answer3' value='c)@◄↕▼☼☼▼↕ ►' required>
36
+ <label for="answer3">c)@◄↕▼☼☼▼↕ ►</label><br>
37
+ <input type='radio' id='answer2_4' name='answer4' value='d)ERCONOCRE' required>
38
+ <label for="answer4">d)ERCONOCRE</label><br>
39
+ <h3>3) Se debe indicar cuántas y qué instrucciones se deben seguir para llevar al ‘Pac-Man’ hacia el fantasma.</h3>
40
+ <h3>Diseño algorítmico</h3>
41
+ <img alt='Imagen pregunta 3' src='../images/pregunta_diseño_primero_carrera.jpg'>
42
+ <input type ='radio' id='answer3_1' name='answer1' value='a)↓→ x 4' required>
43
+ <label for="answer1">a)↓→ x 4</label><br>
44
+ <input type='radio' id='answer3_2' name='answer2' value='b)→↓ x 5' required>
45
+ <label for="answer2">b)→↓ x 5</label><br>
46
+ <input type='radio' id='answer3_3' name='answer3' value='c)↓↓ x 5' required>
47
+ <label for="answer3">c)↓↓ x 5</label><br>
48
+ <input type='radio' id='answer3_4' name='answer4' value='d)↓→ x 5' required>
49
+ <label for="answer4">d)↓→ x 5</label><br>
50
+ <h3>4) ¿Qué instrucciones llevan al ‘Pac-Man’ hacia el fantasma por el camino marcado?</h3>
51
+ <h3>Secuenciación</h3>
52
+ <img alt='Imagen pregunta 4' src='../images/pregunta_secuenciación_primero_carrera.jpg'>
53
+ <input type ='radio' id='answer4_1' name='answer1' value='a) A' required>
54
+ <label for="answer1">a) A</label><br>
55
+ <input type='radio' id='answer4_2' name='answer2' value='b) B' required>
56
+ <label for="answer2">b) B</label><br>
57
+ <input type='radio' id='answer4_3' name='answer3' value='c) C' required>
58
+ <label for="answer3">c) C</label><br>
59
+ <input type='radio' id='answer4_4' name='answer4' value='d) D' required>
60
+ <label for="answer4">d) D</label><br>
61
+ <h3>5) ¿Qué figura resulta de ejecutar las instrucciones, teniendo en cuenta la posición del niño ?</h3>
62
+ <h3>Evaluación</h3>
63
+ <img alt='Imagen pregunta 5' src='../images/pregunta_evaluacion_primero_carrera.jpg'>
64
+ <input type ='radio' id='answer5_1' name='answer1' value='a) Círculo' required>
65
+ <label for="answer1">a) Círculo</label><br>
66
+ <input type='radio' id='answer5_2' name='answer2' value='b) Cuadrado' required>
67
+ <label for="answer2">b) Cuadrado</label><br>
68
+ <input type='radio' id='answer5_3' name='answer3' value='c) Triángulo' required>
69
+ <label for="answer3">c) Triángulo</label><br>
70
+ <input type='radio' id='answer5_4' name='answer4' value='d) Rombo' required>
71
+ <label for="answer4">d) Rombo</label><br>
72
+ <button type="submit" onclick="submitForm(event)">Enviar</button>
73
+ <script type="text/javascript" src="./lib/dsl_test/index.js"></script>
74
+ </form>
75
+
76
+ </body>
77
+ </html>
data/views/test.html ADDED
@@ -0,0 +1,77 @@
1
+ <!DOCTYPE html>
2
+ <html lang='es-ES'>
3
+ <head>
4
+ <meta charset='UTF-8'>
5
+ <link rel="stylesheet" href="test.css">
6
+ <meta http-equiv='X-UA-Compatible' content='IE=edge'>
7
+ <meta name='viewport' content='width=device-width, initial-scale=1.0'>
8
+ <title>Documento</title>
9
+ </head>
10
+ <body>
11
+ <h1>Test nivel Bachillerato</h1>
12
+ <form action="">
13
+ <label for="id_usuario">Identificador:</label>
14
+ <input required type="text" id="id_usuario" name="id_usuario">
15
+ <label for="edad">Edad:</label>
16
+ <input required type="text" id="edad" name="edad">
17
+ <h3>1) ¿Cuántas veces se debe repetir la secuencia para llevar al 'Pac-Man' hacia el fantasma por el camino señalado?</h3>
18
+ <h3>Descomposición</h3>
19
+ <img alt='Imagen pregunta 1' src='../images/pregunta_descomposicion_bachillerato.jpg'>
20
+ <input type ='radio' id='answer1_1' name='answer1' value='a)x 2' required>
21
+ <label for="answer1">a)x 2</label><br>
22
+ <input type='radio' id='answer1_2' name='answer2' value='b)x 1' required>
23
+ <label for="answer2">b)x 1</label><br>
24
+ <input type='radio' id='answer1_3' name='answer3' value='c)x 4' required>
25
+ <label for="answer3">c)x 4</label><br>
26
+ <input type='radio' id='answer1_4' name='answer4' value='d)x 3' required>
27
+ <label for="answer4">d)x 3</label><br>
28
+ <h3>2) Seleccione la respuesta correcta</h3>
29
+ <h3>Abstracción</h3>
30
+ <img alt='Imagen pregunta 2' src='../images/pregunta_abstraccion_bachillerato.jpg'>
31
+ <input type ='radio' id='answer2_1' name='answer1' value='a)1495' required>
32
+ <label for="answer1">a)1495</label><br>
33
+ <input type='radio' id='answer2_2' name='answer2' value='b)9541' required>
34
+ <label for="answer2">b)9541</label><br>
35
+ <input type='radio' id='answer2_3' name='answer3' value='c)4519' required>
36
+ <label for="answer3">c)4519</label><br>
37
+ <input type='radio' id='answer2_4' name='answer4' value='d)4195' required>
38
+ <label for="answer4">d)4195</label><br>
39
+ <h3>3) Las instrucciones deben llevar al 'Pac-Man' hacia el fantasma por el camino indicado. Se deben indicar los pasos a seguir con las instrucciones dadas.</h3>
40
+ <h3>Diseño algorítmico</h3>
41
+ <img alt='Imagen pregunta 3' src='../images/pregunta_diseño_bachillerato.jpg'>
42
+ <input type ='radio' id='answer3_1' name='answer1' value='a)A,C,A,A' required>
43
+ <label for="answer1">a)A,C,A,A</label><br>
44
+ <input type='radio' id='answer3_2' name='answer2' value='b)A,B,A,A' required>
45
+ <label for="answer2">b)A,B,A,A</label><br>
46
+ <input type='radio' id='answer3_3' name='answer3' value='c)A,A,C,A' required>
47
+ <label for="answer3">c)A,A,C,A</label><br>
48
+ <input type='radio' id='answer3_4' name='answer4' value='d)A,A,B,A' required>
49
+ <label for="answer4">d)A,A,B,A</label><br>
50
+ <h3>4) ¿Qué falta en la siguiente secuencia de órdenes para que ‘Pac-Man’ avance por el camino comiendo el número indicado de fresas?</h3>
51
+ <h3>Secuenciación</h3>
52
+ <img alt='Imagen pregunta 4' src='../images/pregunta_secuenciacion_bachillerato.jpg'>
53
+ <input type ='radio' id='answer4_1' name='answer1' value='a)1 vez' required>
54
+ <label for="answer1">a)1 vez</label><br>
55
+ <input type='radio' id='answer4_2' name='answer2' value='b)2 veces' required>
56
+ <label for="answer2">b)2 veces</label><br>
57
+ <input type='radio' id='answer4_3' name='answer3' value='c)3 veces' required>
58
+ <label for="answer3">c)3 veces</label><br>
59
+ <input type='radio' id='answer4_4' name='answer4' value='d)5 veces' required>
60
+ <label for="answer4">d)5 veces</label><br>
61
+ <h3>5) ¿Qué figura resulta de las siguientes instrucciones?</h3>
62
+ <h3>Evaluación</h3>
63
+ <img alt='Imagen pregunta 5' src='../images/pregunta_evaluacion_bachillerato.jpg'>
64
+ <input type ='radio' id='answer5_1' name='answer1' value='a)rombo' required>
65
+ <label for="answer1">a)rombo</label><br>
66
+ <input type='radio' id='answer5_2' name='answer2' value='b)rectángulo' required>
67
+ <label for="answer2">b)rectángulo</label><br>
68
+ <input type='radio' id='answer5_3' name='answer3' value='c)triángulo' required>
69
+ <label for="answer3">c)triángulo</label><br>
70
+ <input type='radio' id='answer5_4' name='answer4' value='d)cuadrado' required>
71
+ <label for="answer4">d)cuadrado</label><br>
72
+ <button type="submit" onclick="submitForm(event)">Enviar</button>
73
+ <script type="text/javascript" src="./lib/dsl_test/index.js"></script>
74
+ </form>
75
+
76
+ </body>
77
+ </html>
data/views/test.txt ADDED
@@ -0,0 +1,48 @@
1
+ Test nivel Bachillerato
2
+ =======================
3
+
4
+ 1) ¿Cuántas veces se debe repetir la secuencia para llevar al 'Pac-Man' hacia el fantasma por el camino señalado?
5
+ Descomposición
6
+ images/pregunta_descomposicion_bachillerato.jpg
7
+
8
+ a)x 2
9
+ b)x 1
10
+ c)x 4
11
+ d)x 3
12
+
13
+ 2) Seleccione la respuesta correcta
14
+ Abstracción
15
+ images/pregunta_abstraccion_bachillerato.jpg
16
+
17
+ a)1495
18
+ b)9541
19
+ c)4519
20
+ d)4195
21
+
22
+ 3) Las instrucciones deben llevar al 'Pac-Man' hacia el fantasma por el camino indicado. Se deben indicar los pasos a seguir con las instrucciones dadas.
23
+ Diseño algorítmico
24
+ images/pregunta_diseño_bachillerato.jpg
25
+
26
+ a)A,C,A,A
27
+ b)A,B,A,A
28
+ c)A,A,C,A
29
+ d)A,A,B,A
30
+
31
+ 4) ¿Qué falta en la siguiente secuencia de órdenes para que ‘Pac-Man’ avance por el camino comiendo el número indicado de fresas?
32
+ Secuenciación
33
+ images/pregunta_secuenciacion_bachillerato.jpg
34
+
35
+ a)1 vez
36
+ b)2 veces
37
+ c)3 veces
38
+ d)5 veces
39
+
40
+ 5) ¿Qué figura resulta de las siguientes instrucciones?
41
+ Evaluación
42
+ images/pregunta_evaluacion_bachillerato.jpg
43
+
44
+ a)rombo
45
+ b)rectángulo
46
+ c)triángulo
47
+ d)cuadrado
48
+
metadata ADDED
@@ -0,0 +1,118 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dsl_test
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Lisseth Vergaray Del Aguila
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2021-03-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.5'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 12.3.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 12.3.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ description: Esta DSL ayuda a definir un test con sus devidas preguntas
56
+ email:
57
+ - alu0100547160@ull.edu.es
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - ".gitignore"
63
+ - ".rspec"
64
+ - CHANGELOG.md
65
+ - Gemfile
66
+ - Gemfile.lock
67
+ - README.md
68
+ - Rakefile
69
+ - bin/console
70
+ - bin/setup
71
+ - csv/usuario1.csv
72
+ - csv/usuario8.csv
73
+ - data/Data.csv
74
+ - dsl_test-0.1.0.gem
75
+ - dsl_test.gemspec
76
+ - images/pregunta_abstraccion_bachillerato.jpg
77
+ - images/pregunta_abstraccion_primero_carrera.jpg
78
+ - images/pregunta_descomposicion_bachillerato.jpg
79
+ - images/pregunta_descomposicion_primero_carrera.jpg
80
+ - images/pregunta_diseño_bachillerato.jpg
81
+ - images/pregunta_diseño_primero_carrera.jpg
82
+ - images/pregunta_evaluacion_bachillerato.jpg
83
+ - images/pregunta_evaluacion_primero_carrera.jpg
84
+ - images/pregunta_secuenciacion_bachillerato.jpg
85
+ - images/pregunta_secuenciación_primero_carrera.jpg
86
+ - lib/dsl_test.rb
87
+ - lib/dsl_test/Test.rb
88
+ - lib/dsl_test/version.rb
89
+ - views/Test nivel Bachillerato.html
90
+ - views/Test para primero de carrera.html
91
+ - views/test.html
92
+ - views/test.txt
93
+ homepage: https://github.com/Computational-Thinking/Test-PC-adultos.git
94
+ licenses: []
95
+ metadata:
96
+ allowed_push_host: https://rubygems.org
97
+ homepage_uri: https://github.com/Computational-Thinking/Test-PC-adultos.git
98
+ post_install_message:
99
+ rdoc_options: []
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 2.4.0
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubyforge_project:
114
+ rubygems_version: 2.7.6
115
+ signing_key:
116
+ specification_version: 4
117
+ summary: Lenguaje de dominio específico para medir la habilidad del pensamiento computacional
118
+ test_files: []