OpenLLM-France/wikimedia huggingface dataset:
# Gallego/Lección 2

| Lección 1 | 2 | BBB |
| > Siguiente | 2 | BBB |
| Indice | 2 | CCC |

## Expresiones

| Lee | Traducción Nós temos dezasete anos O home que está alí gañou catro medallas Aquelas mulleres están xubiladas |
| Nosotros tenemos diecisiete años El hombre que está allí ganó cuatro medallas Aquellas mujeres están jubiladas | Traducción Nós temos dezasete anos O home que está alí gañou catro medallas Aquelas mulleres están xubiladas |
| Ejercicio | INSTRUCCIONES |
| ¿Y tú de dónde eres? ¿Eres nuevo en el curso? ¿Te puedo ayudar en algo? ||
| Respuestas E ti de onde es? Es novo no curso? Pódoche axudar en algo? ||
No me molestes Déjame en paz Yo quiero eso
** Non me amoles
** Déixame en paz
** Eu quero iso
# Programación en Java/Índice

* Introducción
* Historia
* Instalación JDK
* Gestión de librerías y dependencias con Maven
* Características del lenguaje
* Primer programa
* Variables
** Literales
** La palabra reservada final
** Secuencias de Escape
** Arrays
* Operadores
** Operadores aritméticos
** Operadores relacionales
** Operadores booleanos
** Operadores de bits
** Operadores de asignación
** Operador cast
** Precedencia de operadores
* Estructuras de control
** Estructuras de selección
*** Sentencia if-else
*** Sentencia switch
*** Operador if-else
** Estructuras de iteración
*** Sentencia while
*** Sentencia do-while
*** Sentencia for
** Saltos
*** Sentencia break
*** Sentencia continue
* Funciones
** Parámetros de una función
** Cláusula return
** Funciones recursivas
* Programación Orientada a Objetos
** Clases
*** Ejemplos de Implementación
*** Ejercicios Prácticos
** Objetos
** Ciclo de vida de un objeto
** Paquetes
** Encapsulamiento
** Herencia
** Interfaces
** Polimorfismo
* Manejo de Excepciones
* Almacenamiento en Java
** La clase String
** La clase StringBuffer
** La clase StringTokenizer
** Vectores (Arreglos)
** Colecciones (JFC)
*** La clase ArrayList
*** La clase Vector
*** La clase Stack
*** La clase Hashtable
*** La clase HashSet
*** La clase LinkedList
*** La clase TreeMap
*** La clase StringTokenizer
* Entrada y Salida
** Imprimir en Pantalla
** Lectura del Teclado
* Interfaz Gráfica
** Componentes Swing
** Eventos
** Applets
* Threads
** ¿Qué es un thread?
** MPI en Java
* Comunicaciones mediante redes IP
* Acceso a bases de datos
** Acceso mediante JDBC
** Acceso mediante JPA
** Apache Derby
* OffScope
** J2EE
*** Servlets
*** JSP
*** Frameworks
**** Hibernate
**** Spring Framework
** Clusters Terracota
** Monitorización
** VisualVM (https://visualvm.dev.java.net/)
* Apéndices
** Palabras reservadas
** Convenciones
** Guía de estilo
** Crear un PDF en Java
** Implementación del algoritmo de Floyd en Java
** Implementación del Algoritmo de Kruskal en Java
* Prácticas
# Programación en Java/Threads

Para poder hablar de threads tenemos que hablar de procesos. Un proceso o tarea se puede entender como diferentes procedures corriendo a la vez, sin pensar en multiprocesadores, sincronizándose entre si. Un thread o hilo, es una tarea que se realiza que puede ser independiente o no del programa principal, no necesariamente debe mostrar sus resultados.
# Programación en JavaScript/Control

Una vez que nos sabemos manejar con variables y matrices, que son los datos de nuestros programas, debemos aprender a crear código, que es lo que hace que nuestro programa funcione.
Hasta ahora hemos visto cómo manejar los datos del programa, pero sólo con variables no podemos manejar un programa. Necesitamos escribir código fuente que nos permita conseguir que el programa haga cosas. Normalmente los programas tienen un flujo de ejecución: se ejecuta línea a línea, interpretándolas y comprobando el resultado de la ejecución. Pero a veces eso no es suficiente. A veces tenemos que controlar lo que hace el programa, permitiéndonos ejecutar un código u otro dependiendo de las circunstancias, o bien repetir el mismo código varias veces según unas condiciones concretas.
Cuando nos levantamos por la mañana, miramos por la ventana para decidir qué ropa nos ponemos. Decidimos entre una camisa blanca o un jersey azul dependiendo de si hace frío o no:
# Implementación de algoritmos de teoría de números/Test de primalidad de Fermat

El test de primalidad de Fermat es un algoritmo probabilístico que hace uso del pequeño teorema de Fermat. este teorema enuncia que si p es primo y a es coprimo con p, entonces a$^{p-1}$ - 1 es divisible por p. Esto también se puede expresar así:
    $a^{p-1}\equiv 1{\pmod {p}}$
Resulta que el recíproco de este teorema suele ser verdad, si p es compuesto, entonces a$^{p-1}$ es poco probable que sea congruente con 1 módulo p para un valor arbitrario de a. Sin embargo, tomando un número compuesto n y eligiendo un a coprimo con este, algunos números compuestos pueden hacer fallar este test. Estos números se denominan pseudoprimos.

## Algoritmo

Algoritmo: test de primalidad de Fermat
Orden de complejidad: ${\mathcal {O}}(k\times (\log n)^{2+\epsilon })$
Entrada: Un número natural n>1, el número k de veces que se ejecuta el test y nos determina la fiabilidad del test.
Salida: COMPUESTO si n es compuesto y POSIBLE PRIMO si n es un posible primo.
* Para $j\,\!$ desde $1\,\!$ hasta $k\,\!$ haga lo siguiente:
** $a\gets$ Función Genera_numero_aleatorio_en_intervalo$(1,n-1]\,\!$
** Si $a^{n-1}\not \equiv 1{\pmod {n}}$ entonces:
*** Retorne COMPUESTO
* Retorne POSIBLE PRIMO
Utilizando algoritmos rápidos de exponenciación modular, se puede comprobar que el tiempo de ejecución de este algoritmo es O(k × log$^2$n × log log n × log log log n), donde k representa el número de veces que se comprueba la congruencia para el número aleatorio a y n es el número a testear.
# Infomática Educacional/Educadores
## Educadores

Educadores son los seres humanos que forman o capacitan a otros seres humanos. Los educadores profesionales no son los únicos que forman y capacitan a otros. Los padres, los guías espirituales, los médicos y los pares también pueden formar y capacitar. La diferencia entre unos y otros se da en que los profesionales de la educación operan como parte de un sistema de educación formal e intencional.
Los educadores profesionales deben tener amplitud de visión, para orientarse y orientar a otros, para entender los vínculos que unen los fenómenos locales con los del resto del mundo, para ver amenazas que otros ignoran y oportunidades donde otros ven amenazas. En particular, los educadores profesionales deben ser capaces de ver las oportunidades que ofrecen las Tecnologías de Información y Comunicación para ser más efectivos y eficientes. Son guias que orientan a los estudiantes.
El wikilibro Informática Educacional es un instrumento de apoyo a los educadores en su rol de capacitadores.
'El uso de las computadoras en la educación
La utilidad de las computadoras en la actualidad está marcando hechos muy transcendentes en los diferentes segmentos de nuestra sociedad. La aparición de la Internet ha globalizado el planeta. La interacción hombre - máquina se volvió imprescindible; en este contexto la alfabetización digital se ha posicionado en primer lugar. Una sociedad conectada en grupos, una red que le permita la conexión, sin importar tiempo,espacio, lugar, etc. Las computadoras en la educación presentan enormes dimensiones de aprendizaje, son las herramientas de aprendizajes de educandos y educadores. Los sitios Web, los espacios de discusión, las aulas virtuales,los sistemas informáticos...., presentan enormes posibilidades de aprendizajes no sólo intuitiva o visual sino auditivo, táctil, etc. La revolución de Internet abre muchas posibilidades de innovación, recreación, planificación, proyección, análisis y/o tal vez ocio.
# Informática 4 de E.S.O.

* Unidad 1: Fundamentos de la Informática
* Enlaces
* Página de edición
# Implementación de algoritmos de teoría de números/Test de primalidad de Miller-Rabin

El test de primalidad de Miller-Rabin es un test de primalidad, es decir, un algoritmo para determinar si un número dado es primo, similar al test de primalidad de Fermat. Su versión original fue propuesta por G. L. Miller, se trataba de un algoritmo determinista, pero basado en la no demostrada hipótesis generalizada de Riemann; Michael Oser Rabin modificó la propuesta de Miller para obtener un algoritmo probabilístico que no utiliza resultados no probados.

## Implementación en distintos lenguajes de programación
### Python
### Java

For educational purpose only. See the official source code of BigInteger.isProbablePrime for a proper implementation on e.g. OpenJDK 7 or GNU classpath.

### Julia

En el lenguaje de programación Julia. Se encuentra en este repositorio.

## Referencias

* ↑ Miller, Gary (1975). «Riemann's Hypothesis and tests for primality». Journal of Computer and System Sciences 13 (3): pp. 300-317. doi:10.1016/S0022-0000(76)80043-8.
* ↑ Rabin, Michael (1980). «Probabilistic algorithm for testing primality». Journal of Number Theory 12 (1): pp. 128-138. doi:10.1016/0022-314X(80)90084-0.
# Impresora 3D Rostock 31000

* Hardware
* Software
* Motores
* Sitios relaccionados
* Enlaces
* Página de edición
# Individualidad

La Psiquis en el Proceso Salud-Enfermedad.

## Definición

En general existen diversos enfoques de esta definición, se trata de un concepto dependiente del estado espiritual del sujeto,de sus valores y su aspiración hacia lo trascendental (entiéndase Patria, Humanidad, familia, religión, etc.).Hay una sentencia latina que se identifica con el tema abordado, y reza "individuum est indivisum in se",que en español quiere decir: "el individuo es indiviso en sí-mismo".Viene a ser la cualidad de singularidad del sujeto.
Aunque sus características no pueden ser categorizadas es de índole concreta.Es la conciencia de la responsabilidad individual.Y esa conciencia es la que hace la diferencia entre un paciente en vicariación progresiva y uno en vicariación regresiva. Una vicariación progresiva si se asume una conducta INDIVIDUALISTA y una vicariación regresiva cuando se actúa de forma INDIVIDUAL.La individualidad, viene a ser garantía certera de la soberanía cognitiva (dada la relación entre conocimiento e individualidad como ya lo declaraba Spinoza) del paciente ante su padecimiento.
Decía John Stuart Mill (1806-1873):
"Cualquier cosa que sofoque la individualidad es despotismo, llámese como se llame."
Y es ciertamente déspotico que un paciente sofoque su individualidad, evitando que el organismo, la psiquis, la sociedad y el pensamiento sanen adecuadamente; entendiendo el proceso salud-enfermedad epistemológicamente y con alto sentido del servicio.
Podemos afirmar que la individualidad es una función integradora del Pensamiento(lo cognitivo),lo sentimental y lo conductual.Es realmente voluntaria y dirigida, plena de conciencia y control. El automatismo nunca será parte de la individualidad porque para ella siempre hay un problema a resolver y un obstáculo que superar.
Podemos establecer como "sinónimo metafórico" de la individualidad: la abstinencia ; entendida como acción de negarse a realizar aquello que daña.

## Características

I) hace uso de arquetipos.
II) surge de los condicionamientos y obstáculos del conocimiento, y el saber.
III) no es posible sin la sínthesis de lo aprendido.
IV) es de carácter didáctica, suponiendo la sapiencia en su centro.
V) hace a la persona autónoma y hace referencia a ser por si solo.

## Procesos

i) Mathesis: punto de vista material, descomposición del objeto.
ii) Antíthesis: punto de vista ideal,"idealización" del objeto.
iii) Sínthesis: punto de vista espiritual, integración de los procesos anteriores en aspiraciones elevadas
iv) Mathesis: experimentación o praxis de la sínthesis conseguida así como la implicación de su realización.
# Presentación

Este es un Wikilibro que estamos escribiendo los estudiantes que cursan Teoría de Grafos en la Pontificia Universidad Javeriana. Por lo pronto es sólo un esbozo y está en un estado embrionario. En la medida en que el seminario avance, el texto lo hará también. Por favor, considere mirar la página de discusión y participe de la construcción de este proyecto.
El enfoque que se sigue en este curso intenta brindar una aproximación práctica con un énfasis en las implementaciones computacionales de algunos programas para grafos. En ese sentido hemos intentado seguir el orden de presentación de la inspiradora obra de Richard Johnsonbaugh, Matemáticas Discretas, sin embargo hemos apelado a texto original o cubierto bajo licencia GFDL, o cualquier otra que permita colocar dichos contenidos de acuerdo al espíritu del proyecto Wikibooks.

## Introducción

La teoría de grafos es una rama de las matemáticas que examina las propiedades de los grafos.
Un grafo en matemáticas e informática es una generalización del concepto simple de un conjunto de puntos, llamados vértices.

## Tabla de Contenidos

* Conceptos Previos:
** Relaciones de recurrencia
** Algoritmo
*** Notación
*** Algoritmo de Euclides
*** Complejidad de algoritmos
* Historia
* Problemas y algoritmos
* Referencias externas

## Proyecto: Redes Semánticas

¿Cómo pensamos los humanos?. Algunas teorías como la conexionista dicen que el conocimiento en nuestras cabezas está representado como redes, y que cada palabra dentro de la red significa de acuerdo a las relaciones que establece con otras palabras en la red. Los significados están dados entonces por las conexiones que una palabra tiene con otras e incluso por el peso de esta conexión. Este parece ser un buen proyecto para teoría de grafos entonces.
ver más sobre el proyecto de Redes Semánticas
# Ingeniería de fabricación

* Transformación del material
** Moldeo
*** Fundición
*** Pulvimetalurgia
*** Moldeo por inyección
** Conformado o deformación plástica
*** Laminación
*** Forja
*** Extrusión
*** Estirado
*** Conformado de chapa
*** Encogimiento
** Procesos con arranque de materia
*** Mecanizado
**** Torneado
**** Fresado
**** Taladrado
**** Cepillo de carnero
**** Cepilladora
*** Electroerosión
** Procesos con aporte de material (rapid prototyping )
*** Soldadura
** Acabados
*** Rebabeo
*** Acabado con lima
*** Esmerilado
*** Rectificado
*** Desbaste abrasivo
*** Sandblasting
*** Pulido/bruñido
*** Lapeado
* Tratamientos térmicos
** Templado
** Revenido
** Recocido
** Normalizado
** Cementación
** Nitruración
* Tratamientos superficiales
** Pasivado
** Pavonado
** Galvanizado
** Barnizado
** Pintado
** Aceitado
** Cromado
** Zincado
** Plateado
** Niquelado
# Interfaces Gráficas de Usuario/Text Boxes

Las text box o cajas de texto son herramientas utilizadas para ingresar, muestra o edita texto o numeros, su diseño es algo simple, es una caja en blanco donde con solo realizar un click dentro de está nos dara acceso para ingresar cualquier tipo de caractér del teclado. Su principal caracteristica es dejar ingresar datos sin limites de formatos o restriccion alguna, a menos que se programe para que reciba un tipo de formato especifico.

## Uso

Los text boxes tiene muchos usos algunos de ellos son:
* Como una simple linea que se utilizara para ingresar o editar cadenas de texto.
* Programandola para que reciva un tipo de formato especifico, es decir, para que reciva valores solo numericos para la clave de un producto.
* Se puede utilizar para trabajar conjuntamente con un boton, es decir, para que cuando el boton se ejecute el text box muestre lo que se selecciono o lo que se necesita.
* Como multiples lineas para guardar multiples cadenas de texto.
* Como un control numerico para editar o ingresar estos(numeros).
* Para ingresar contraseñas de forma segura.
* Para mostrar cadenas cortas.
* Para mostrar cadenas largas.

### Uso correcto

* Ser flexible con el formato de ingreso de datos.
* Limitar la cantidad de texto que se pueda ingresar, solo cuando sea necesario y se pueda.
* Programar el cursor al final del texto para la seleccion completa del mismo.
* Utilizar un cuadro de texto de varias lineas para permitir el ingreso de mas texto.
* Sacar un mensaje de error(en caso de que se produzca), especificando como se debe de hacer.

### Uso incorrecto

* Ingresar cadenas en el formato erroneo(si tiene restriccion).
* No conservar el modelo de datos de entrada, puede causar confusion al usuario.
* No desactivar la linea de texto para efectos de reediccion o cualquier otro uso que el usuario le quiera dar.

### Referencias

* http://msdn.microsoft.com/en-us/library/aa511258.aspx
* https://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AppleHIGuidelines/Intro/Intro.html#//apple_ref/doc/uid/TP30000894-TP6
# Interfaces Gráficas de Usuario/Sliders

Un slider o deslizador permite elegir entre un rango estable de valores. Este contiene una barra que hace posible visualizar el rango, donde unas líneas de graduación muestran los valores opcionales y un indicador selecciona el valor actual.

## Uso

Es adecuado cuando se tiene una cantidad de valores numéricos con un límite establecido y se debe seleccionar únicamente uno de ellos, o también cuando se desean obtener o manipular datos relativos para el usuario donde debe seleccionar entre un máximo y un mínimo. Un deslizador puede ser linear o Circular.

### Uso correcto

* Siempre que sea posible de una respuesta inmediata luego de que el usuario realice la selección.
* Usar un Slider es adecuado si se conoce una cantidad máxima y una cantidad mínima y si se puede representar mediante intervalos.
* Utilice un deslizador si desea que sus usuarios puedan definir valore como por ejemplo el Volumen, el brillo, o la resolución de Pantalla. Este es un control de interacción del usuario así, que si este no puede modificarlo opte por otro control.
* Use el deslizador en el sentido ordinario, si un valor es siempre representado con sentido vertical, use este sentido.
* Dependiendo de la cultura establezca el valor máximo o mínimo a la derecha o a la izquierda
* Opte por un tamaño donde el usuario pueda tener fácil acceso a sus valores, el que establece por defecto es adecuado.

### Uso incorrecto

* Usar un textBox u otro control y un slider para la misma función.
* Usar el tamaño del indicador muy pequeño dificultando el acceso a este.
* No omitir etiquetas que son claras como en algunos casos poner valor máximo y valor mínimo, ya que con solo uno de estos el otro se deduce.
* No Utilizar una etiqueta de valor cuando el usuario necesita conocer el valor exacto.
* Mostrar Marcas de Graduación Cuando para el usuario no es importante conocer la magnitud, o cuando no son necesarios los valores precisos.

### Referencias

http://msdn.microsoft.com/en-us/library/aa511258.aspx
http://www.formauri.es/arrobamasmas/Cursos/index.php?apdo=0402&curso=4_02_00&cap=4c
https://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/AppleHIGuidelines/Intro/Intro.html#//apple_ref/doc/uid/TP30000894-TP6
# Interfaces Gráficas de Usuario/Status Bars

El control StatusBar permite incluir en nuestros proyectos, barras de estado.Los controles de barra de estado, están divididos y formados por paneles. La función de estos paneles es mostrar algún tipo de información.

## Barra de estado

La barra de estado comprende cuatro regiones programables.

### Realimentación

Muestra el texto. Puede establecer y recuperar el texto, mostrar texto estático, y resaltar el texto mostrado.

### Progress Bar

Muestra el progreso incremental para operaciones rápidas, como guardar un solo archivo en el disco.

### Animación

Muestra una animación en bucle continuamente, lo que indica un uso prolongado o una operación de duración indeterminada (por ejemplo, la construcción de varios proyectos en una solución).

### Diseñador

Muestra la información pertinente a la edición, tal como el número de línea o número de columna de la posición del cursor.

## Como programar un StatusBar

Para agregar los barras de estado se debe escribir el siguiente codigo.
private void CreateMyStatusBar {

## Uso incorrecto

Una StatusBar seria poco recomendable de utilizar para mostrar mensajes de alerta que sean muy importantes que vea el usuario, debido a que los mensajes que se muestran en una StatusBar no son muy llamativos y en muchos casos pasan inadvertidos.

## Referencias

http://msdn.microsoft.com/es-es/library/system.windows.forms.statusbar(v=vs.80).aspx http://msdn.microsoft.com/en-us/library/bb166795(v=vs.80).aspx http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-statusbar.htm
# Interfaces Gráficas de Usuario/Tabs

Los tabs son controles comúnmente utilizados para incorporar amplias cantidades de información en una misma ventana, mejorando la presentación y el orden de esta. Las tabs (pestañas) proporcionan una manera de presentar la información correspondiente en páginas separadas.

## Uso

Los tab control se usan, entre otras cosas, para agrupar información según sus características, relevancia o clasificación dentro de un mismo contexto. Si se tiene mucha información por mostrar en una misma ventana y no se tiene suficiente espacio, la mejor solución son los tabs, porque permiten la mejor distribución de los datos y la compresión de lo que está ahí se facilita.

### Uso correcto

* En cuanto a interfaz, se utilizan las tabs verticales si hay 8 o mas de ellas, y horizontales si existen 7 o menos.
* Uso adecuado de los tabs se presenta cuando la información se encuentra jerarquizada o clasificada según su importancia, y con su división correspondiente.
* Es correcto utilizarlo en programas donde el usuario necesite editar o modificar tamaños, colores, formas, etc, así cada una de las anteriores características puede estar en un tab por separado.
* Para mostrar varios documentos en una misma ventana, los tabs pueden utilizarse perfectamente.
* Por practicidad, si un programa tiene mas de 3 ventanas, lo ideal será agruparlas en 3 tabs, asi se entorpece menos la ejecución de él y se gana en espacio y organización.

### Uso incorrecto

* Uso incorrecto en cuanto a visualización es poner varias pestañas horizontales de forma que se necesite desplazamiento. La colocación de tabs es mas vistosa si va dirigida en sentido vertical; horizontalmente es difícil su legibilidad.
* Implementar tabs verticales y horizontales en una misma ventana.
* Utilizar el tab para la funcionalidad de un button o un listbox.
* En cuanto a interfaz, otro uso incorrecto es darle a los tabs aspecto de botones de comando, listas, etc.
* Ponerle iconos a los tabs. Esto genera desorden visual y consume espacio en la pantalla.

### Excepciones

Puede utilizarse iconos reconocibles, en caso de tener poco espacio para mostrar las etiquetas.

## Referencias

http://msdn.microsoft.com/es-es/library/aa511493.aspx#guidelines
http://msdn.microsoft.com/es-es/library/3khbf7zd(v=vs.80).aspx
# Interfaces Gráficas de Usuario/Radio Buttons

La Radio buttons se utiliza para presentar al usuario un conjunto de opciones mutuamente excluyentes entre si es decir, si el usuario selecciona un componente radioBUTTON todos los demas componentes radioButton en la forma se desmarcan o deseleccionan solos, es por esta razon que decimos que radiobotones son mutuamente excluyentes.
son botones redondos con punto en su centro, el cual representa su estado de selección

## uso correcto

- Utilice los radio buttons si se tiene suficiente espacio en la pantalla y las opciones son lo suficientemente importantes. De lo contrario, utilice lista desplegable.
- por lo general se usan dentro de un group box para identificar que elementos son los de la selección
- se recomienda que siempre una de las opciones del radio button este seleccionada por defecto para facilitar su uso en caso de que un usuario omita este control en un formulario
- siempre que utilice los radio buttons asegurece de dejar claro las opciones

## uso incorrecto

- no haga uso anidado de los radio button, para ello existen otros controes
- no utilice los radio buttons cuando las opciones a seleccionar son demaciado extensas como lista de paises.