OpenLLM-France/wikimedia huggingface dataset:
# Quenya

El quenya (pronunciado [ˈkwe.ɲa]) es un idioma artificial creado por el filólogo inglés y autor de "El Señor de los Anillos", "El Hobbit", etc., J.R.R. Tolkien (1892-1973). En los escritos de Tolkien, el quenya es la lengua nativa de los Altos Elfos. Se inspiró en el finés y el latín. Posee nueve casos gramaticales (nominativo, genitivo, posesivo, dativo, alativo, ablativo, locativo, instrumental y respectivo) y cinco tiempos verbales; uno de ellos es el aoristo, llamado igual que el tiempo pasado griego.
Puede decirse que este wikilibro describe el Neo-Quenya, ya que ni Tolkien ni nadie más terminó el Quenya. Muchos de los conceptos presentados aquí se basaron en solo unos ejemplos.
Existe una versión para imprimir de este wikilibro.

## Elementos del Quenya

* Verbos
* Artículos
* Sustantivos
* Adjetivos
* Adverbios
* Pronombres
* Números
* Sintaxis
* Tengwar

## Enlaces externos

Ardalambion: http://lambenor.free.fr/ardalambion/
Instituto Lingüístico Lambenor: http://lambenor.free.fr/
>>Quenya
# Matemáticas/Carrusel

* Función y = x$^x$
* Matemáticas
* Generalidades •
* Álgebra •
* Aritmética •
* Álgebra Lineal •
* Álgebra Abstracta •
* Álgebra Conmutativa •
* Didáctica •
* Lógica •
* Sistema Métrico Decimal •
* Combinatoria •
* Teoría de anillos •
* Matrices •
* Teoría de grupos •
* Ecuaciones •
* Geometría •
* Definiciones •
* Precálculo •
* Cálculo en una variable •
* Matemática Discreta •
* Programación Lineal •
* Teoría de conjuntos •
* Enlaces pendientes •
* Bachillerato LOGSE •
* Historia •
* Biografías
* Índice - Introducción - Enlaces
# Programación en Ada/Visibilidad

Una entidad es visible en un punto dado si se puede utilizar su identificador para referirse a ella en dicho punto. La diferencia con el ámbito es que éste es la región de texto donde una determinada entidad es visible.
En el caso de una declaración de una variable, no se puede utilizar el identificador hasta que no se haya terminado su declaración (por ejemplo, sería ilegal la declaración I: Integer := I +1;) ya que no es visible hasta que no se haya terminado de declarar.
Como ejemplo, en el caso de un bloque:
En este caso, la visibilidad de la I externa se ve ocultada cuando se hace visible a la I interna. Sin embargo, si se dota de nombre al bloque, se puede hacer referencia a una variable supuestamente ocultada con la notación punto:
Igualmente se puede hacer con bucles y, por supuesto, con subprogramas y paquetes, pues deben poseer un identificador.
En el caso de una entidad declarada en la parte no privada de la especificación de un paquete, se aplican las mismas reglas dentro del paquete pero, fuera del mismo, la entidad no es visible a menos que se escriba el nombre del paquete mediante la notación punto o, alternativamente, se escriba una cláusula use.

## Reglas de visibilidad

Una declaración es directamente visible en un lugar determinado cuando su nombre, sin notación punto, es suficiente para referenciarla. La visibilidad puede ser inmediata o mediante una cláusula use.
Los identificadores visibles en un punto son aquellos visibles antes de considerar ninguna cláusula use más aquellos que se hacen visibles debido a las cláusulas use.
La regla básica es que un identificador de un paquete se hace visible mediante una cláusula use si el mismo identificador no está también en otro paquete con otra cláusula use, por supuesto, siempre que el identificador no sea ya visible. Si no se cumple, hay que recurrir a la notación punto.
Se aplica una regla ligeramente diferente cuando todos los identificadores son subprogramas o literales enumeración. En este caso, un identificador que se hace visible mediante una cláusula use no puede ocultar nunca otro identificador, aunque sí puede sobrecargarlo.

## Manual de referencia de Ada

* 8.3 Visibility
# Programación en Ada/Ámbito

Cada declaración tiene asociada una porción del texto del programa que se denomina ámbito de la declaración. En dicha porción es el único lugar donde se puede hacer referencia a dicha declaración. El ámbito de una declaración consiste en:
Resumiendo, como ejemplo:
Para la cláusula with también se define un ámbito, que consiste en la región declarativa de su declaración si aparece delante de la declaración de una unidad de biblioteca y en el cuerpo si aparece delante de un cuerpo.
Para la cláusula use: si actúa como una declaración, su ámbito es la porción de la región declarativa que empieza justo después de la cláusula y finaliza junto con dicha región declarativa; si actúa como cláusula de contexto, su ámbito es el mismo que el de la cláusula with.

## Manual de referencia de Ada

* 8.2 Scope of Declarations
# Programación en C++

Si tienes algún comentario, crítica, elogio o sugerencia acerca del material incluido en este wikilibro puede usar la página de discusión, para ello puede hacer clic sobre las pestañas de arriba en donde aparece la palabra discusión.

## :Tabla de contenido:

* Introducción
* Capítulo 1: Lo más básico
* Capítulo 2: Iteraciones y decisiones
* Capítulo 3: Estructuras I
* Capítulo 4: Funciones
* Capítulo 5: Streams ( entrada y salida de datos )
* Capítulo 6: Arrays y cadenas de texto
* Capítulo 7: Desarrollo Orientado a Objetos
* Capítulo 8: Objetos y Clases
* Capítulo 9: Sobrecargado de operadores
* Capítulo 10: Herencia
* Capítulo 11: Funciones virtuales y Polimorfismo
* Capítulo 12: Punteros
* Capítulo 13: Estructuras II
* Capítulo 14: Plantillas
* Capítulo 15: Excepciones
* Capítulo 16: Biblioteca Estándar de Plantillas (STL)
* Capítulo 17: Analisis y Diseño orientado a Objetos
** Introducción al desarrollo de Software
** Analisis del Problema
** Diseño de la solución (software)
** Representación del problema y la solución (notación)
* Capítulo 18: Problemas Resueltos

## Enlaces externos

* Tutorial de C++
* Tutoriales y descripciones de funciones
* Uno de los mejores sitios sobre C++ (en inglés)
* Posible estándar de creación de código (en inglés)

## Bibliografía

* Cómo programar en C/C++, H.M. Deitel, P.J. Deitel, Ed. Prentice Hall
* Aprenda C++, Jeese Liberty, David Howard, Ed. Anaya
* Programming, Principles and Practice using C++, Bjarne Stroustrup, Ed. Addison Wesley, 2009, ISBN 0321543726
# Programación en C++/Analisis y Diseño orientado a Objetos/Diseño de la solución (software)

//problema 1
{ int main int suma,x,; suma=0; for(x=1;x<=19;x=x+2); { suma=suma+x; { cout<<"suma="<<suma; return 0; }
# Programación en C++/Analisis y Diseño orientado a Objetos

* Introducción al desarrollo de Software
* Analisis del Problema
* Diseño de la solución (software)
* Representación del problema y la solución (notación)
# Surinam en Imágenes/Colección/117

| « Anterior | Índice | Siguiente » |
# Surinam en Imágenes/Colección/118

| « Anterior | Índice | Siguiente » |
# Surinam en Imágenes/Colección/119

| « Anterior | Índice | Siguiente » |
# Surinam en Imágenes/Colección/120

| « Anterior | Índice | Siguiente » |
# Surinam en Imágenes/Colección/124

| « Anterior | Índice | Siguiente » |
# Surinam en Imágenes/Colección/116

| « Anterior | Índice | Siguiente » |
# Surinam en Imágenes/Colección/123

| « Anterior | Índice | Siguiente » |
# Surinam en Imágenes/Colección/121

| « Anterior | Índice | Siguiente » |
# Surinam en Imágenes/Colección/12

| « Anterior | Índice | Siguiente » |
# Surinam en Imágenes/Colección/122

| « Anterior | Índice | Siguiente » |
# Programación en Java/Funciones

Queremos depositar todo nuestro dinero ganado como programadores. Hay dos bancos que compiten por nuestros dividendos. El primero, lo llamamos "Banco A", nos ofrecen un interés con una tasa mensual del 1 % mas una bonificación final del 5%. El segundo, el "Banco B", nos ofrece una tasa del 1,5 %.
Como buenos programadores realizamos un algoritmo para obtener el mayor beneficio. El programa calculará el monto obtenido en un período de 12 meses con un cálculo de interés compuesto. Para darnos una mejor idea de lo que tenemos que hacer realizamos el algoritmo principal.
Al monto inicial le sumamos las sucesivas capitalizaciones que ganamos mes a mes, hasta llegar a un período de 12 meses.
Con este algoritmo probado, realizamos el programa:
Si observamos el código, notaremos que repetimos el mismo algoritmo por cada banco. Esto ocurrirá cada vez que tengamos que realizar un cálculo de intereses. Si la elección se extendiera a, por ejemplo, cinco bancos, tendríamos que copiar el algoritmo para cada uno de ellos. Para no tener que repetir una y otra vez lo mismo, podemos recurrir a una técnica muy utilizada en programación: dividir el código en funciones.
Una función es un conjunto de instrucciones que ejecutan una rutina y devuelven un resultado. El resultado puede depender de parámetros de entrada.
Un función se construye de la siguiente manera:
Se debe definir el tipo de dato del resultado y el nombre que identifica a la función. Ademas, opcionalmente se pueden definir parámetros de entrada con el tipo de dato y su nombre.
Una función permite que reutilicemos un algoritmo. En el caso de nuestro problema bancario, podemos reutilizar el cálculo de interés aplicándolo a cada banco. Veamos como se construye esta función:
Necesitamos definir ciertos datos de entrada para ejecutar el algoritmo. Vamos a necesitar el monto inicial, la tasa de interés y el período. A su vez definimos el tipo de datos del resultado. La función nos devuelve el monto final, entonces el tipo de dato es double. Para identificar a la función le hemos puesto el nombre de interesCompuesto.
Para utilizar la función en el programa la llamamos por su nombre. Como esta nos devuelve un resultado, tendremos que almacenarlo en una variable que tenga un tipo de dato compatible con el resultado.
Debemos pasar los parámetros como se han definido, en el mismo orden y con el mismo tipo de dato.
Conociendo como se arma y se invoca una función, estamos listos para utilizarla en nuestro programa.
# Programación en Java/Historia

Hacia 1991 Sun Microsystems patrocinó un proyecto interno de investigación al que llamaron Green, el cual terminó por generar un lenguaje basado en C++ al que su creador, James Gosling, llamó Oak (roble en inglés), muy posiblemente a raíz de que frente de la ventana de su oficina se podía ver una gran roble. Posteriormente se descubrió que ya existía un lenguaje de programación con el mismo nombre. Más adelante un grupo de amigos le sugirieron a James bautizar al lenguaje con el nombre de Java (variedad de café propio de la isla Java en Indonesia) y es el nombre que lleva hasta la fecha.
Pero el proyecto Green afrontó varias dificultades. El mercado para los dispositivos electrónicos inteligentes de uso doméstico no era tan rentable y su crecimiento no era tan rápido a principios de los noventa como Sun había anticipado. Por lo tanto el proyecto corría el riesgo de cancelarse. Pero por fortuna, la popularidad de World Wide Web (internet) tuvo su gran esplendor hacia 1993 y Sun Microsystems combino el potencial de Java con internet para agregar contenido dinámico, como interactividad y animaciones, a las páginas Web. Este fue el gran detonante para la popularidad de Java.
Sun microsystems anunció formalmente a Java en una importante conferencia en mayo de 1995. Java llamó la atención de la comunidad de negocios debido al fenomenal interés en World Wide Web. En la actualidad, Java se utiliza para desarrollar aplicaciones empresariales a gran escala, para mejorar la funcionalidad de los servidores Web, para proporcionar aplicaciones para los dispositivos domésticos (como teléfonos y asistentes digitales personales) y para muchos otrás necesidades.
Java paso a ser parte de Oracle hacia 2010 cuando esta adquirió las acciones de Sun mycrosystems por mas de 5.710 millones de dolares.

## Referencias

* ↑ Java: How to Program, 9th Edition (Deitel), ISBN: 978-0132222204, pag 8
* ↑ http://tecnologia.elpais.com/tecnologia/2009/04/20/actualidad/1240216080_850215.html
# Programación en Java/Funciones recursivas

Las funciones recursivas son aquellas que se invocan a si mismas en algún momento de su ejecución.
En análisis de Algoritmos las técnicas recursivas se usan mucho para la solución de Problemas. Esta forma en analisis de Algoritmos es llamada Divide y Venceras.
Para poder resolver un problema de forma recursiva es necesario saber alguna solucion no recursiva para alguno de los casos mas sencillos. "Usamos la solucion más simple para resolver un problema más complejo."
Así, todo método recursivo debe tener al menos una sentencia que devuelva un resultado (la solución del caso más sencillo) y las sentencias necesarias para acercarse en cada invocación a ese caso.
La recursión permite programar algoritmos aparentemente complicados con un código simple y claro, ahorrando trabajo al programador. A simple vista parece la solución perfecta para muchos problemas, pero hay que tener en cuenta que en ocasiones ralentizará el programa en exceso. Por ejemplo, la función factorial en forma recursiva:
La misma función en forma iterativa:
Como puede observarse, la función iterativa sólo recorre un bucle while, mientras que la recursiva invoca un método nuevo hasta que número vale 1 (Esto requiere un trabajo considerablemente mayor por parte del ordenador).
La recursión es por lo tanto una potente herramienta en programación, pero hay que saber diferenciar cuando es útil y cuando no.

## Recursión mutua

Este en un ejemplo de recursión mutua. Se trata de un programa que devolverá true o false si el parámetro número es respectivamente, impar o par (en el caso de que invoquemos la función impar(número)).
Al leer el código de una sola de las funciones, no se aprecia la recursión pero existe igualmente. La recursividad es una técnica que puede utilizarse en lugar de la iteración para resolver determinados tipos de problemas.
FUENTE: Aprende a programar java desde cero
# Programación en Java/Herencia

La herencia es un principio fundamental de la Programación Orientada a Objetos (POO) ya que esta permite la creacion jerarquias. Con el uso de la herencia puedes crear una clase general para definir los atributos comunes de objetos relacionados. Herencia en Java
La idea de la herencia es permitir la creación de nuevas clases basadas en clases existentes. Cuando heredamos de una clase existente, reusamos (o heredamos) métodos y campos, y agregamos nuevos campos y métodos para cumplir con la situación nueva. Cada vez que encontremos la relación "es-un" entre dos clases, estamos ante la presencia de herencia.
La clase ya existente es llamada superclass, o clase base, o clase padre. La clase nueva es llamada subclase, clase derivada, o clase hija.
A través de la herencia podemos agregar nuevos campos, y podemos agregar o sobre montar métodos (override). Sobre montar un método es redefinirlo en la case heredada.
Estudio de ejemplos: ManagerTest.java Destacar uso de super para invocar al constructor de la clase base y para invocar a métodos sobremontados.
Jerarquía de Herencia
Polimorfismo
En Java una variable o nombre usado para referirse a un objeto de una clase X puede usarse para referirse a cualquier objeto de cualquier subclase de la clase X.
Por ejemplo: Si tenemos Employee e; e= new Employee(...); o e= new Manager(...); Esto también aplica a arreglos de Employee, cuyas entradas podrían referirse a instancias de cualquier subclase de Employee. El inverso no es válido. No se puede asignar una instancia de la superclase a un nombre para la subclase.
Esta es una forma de polimorfismo por que e puede referirse a un Employee o a un Manager.
Ligado Dinámico
Al momento de la compilación el compilador intenta resolver el método que corresponde según su nombre y parámetro. Si la superclase y la clase base tiene definido el mismo método ¿Cuál se llama?. Si el método en la clase declarada para la variable no es privado, static, o final, se invocará en forma dinámica. Esto es, se invocará el método definido según el objeto referenciado por el nombre y no según la declaración del nombre. Por ello, si una clase derivada redefine el mismo método, éste será invocado.
Casting
Cómo podemos acceder a los métodos definido en una clase derivada pero no en la base? Se debe hacer un cambio de tipo forzado. Por ejemplo:
Usando e no podemos acceder a los métodos sólo presentes en Manager. Si queremos hacerlo, usamos:
Clases Abstractas (abstract classes)
public abstract class Forma {
ver PersonTest.java
Superclase Object
Ver (alumnos) EqualsTest.java
Programación Genérica (Generic Programming)
static int find (Object [ ] a , Object key) {
Referencias
http://profesores.elo.utfsm.cl/~agv/elo330/2s04/lectures/JAVA/Herencia_en_Java.html
# Programación en Java/Introducción

Java es un lenguaje de programacion orientado a objetos el cual fue diseñado para ser portable en diversas plataformas (lenguaje multiplataforma). Fue desarrollado por Sun Microsystems y se diseño tomando como patrón el lenguaje de programación C++. La característica predominante de java es su adecuación a internet, la cual le permitió crear, incrustar programas, gráficas interactivas y otros efectos en las páginas web.

### Características de java

* Sencillo
* Seguro
* Portable
* Orientado a objetos
* Robusto
* Multihilos
* Alto rendimiento
* Dinámico
* Distribuido
* Normalizado
Java debe su sintaxis a C y consecuentemente sus caracteristicas de programación enfocada objetos gracias a C++. Java no es solo un lenguaje de programación, sino toda una plataforma; sin embargo en este material, salvo indicación expresa, se estará haciendo referencia al lenguaje de programación como tal. Desarrollado por Sun Microsystems (actualmente propiedad de Oracle), Java.

## Referencias

* ↑ Varios.1001 tips para programar en java.Editorial McGraw-Hill.ISBN 1-884133-32-0
* ↑ Steven Holzner. La bibilia de Java 2. editorial Anaya. página 30. ISBN 84-415-1037-7
* ↑ Introducción a la sintaxis básica en Java https://javamagician.com/basicos/sintaxis-java/
* ↑ Helbert Schildt. Java manual de referencia. Editorial McWraw-Hill.ISBN 0-07-226385-7
# Programación en Java/Imprimir en Pantalla

Para imprimir por pantalla se hace uso del objeto System.out, que representa la salida estándar. Típicamente este objeto se corresponde con la pantalla u otra salida especificada en las variables de entorno del sistema en el que se ejecuta.
El objeto System.out es del tipo java.io.PrintStream y, por ello, dispone de métodos para escribir con formato en el flujo de salida, usualmente el monitor. Los más interesantes son: print, método sobrecargado que puede recoger cualquier tipo de datos básico, cadena u objeto; println, idéntico a print salvo en que imprime un salto de línea final; o format, que permite escribir los datos ajustándose a un determinado formato, de modo similar a cómo lo hace el printf de C.
Así, la sentencia para imprimir por pantalla y dar dos salto de línea, el salto de línea propio del método y el indicado por '\n', es:
Lo siguiente imprime el texto por pantalla con un único salto de línea:
También podemos concatenar objetos de tipo String antes y luego imprimirlos, por ejemplo:
El mensaje sería: Este es el mensaje: Hola
Cuando un objeto se concatena con una cadena o se imprime por pantalla, para su representación se hace una llamada implícita a la implementación que haga de su método toString.
# Programación en Java/Info

Java no es solo un lenguaje de programación, sino toda una plataforma; sin embargo en este material, salvo indicación expresa, se estará haciendo referencia al lenguaje de programación como tal. Desarrollado por Sun Microsystems (actualmente propiedad de Oracle), Java es un lenguaje de programación orientado a objetos (P.O.O) y es considerado de propósito general.
# Programación en Java/Interfaces

Las interfaces son uno de los mecanismos que dispone Java para establecer las características que debe cumplir una clase para que sea apta para un determinada necesidad de una aplicación. Podría decirse que las interfaces son plantillas de métodos que deben incluir determinadas clases.
Veamos primero los detalles y luego profundizaremos sobre la necesidad de estas construcciones.
Desde el punto de vista estructural, una interface es una construcción similar a una clase que carece de implementación en sus métodos. La palabra reservada del lenguaje para declarar este tipo de construcciones es interface.
Como puede observarse el método dibujar termina en "punto y coma" y no tiene ningún código de implementación (obsérvese que no incorpora llaves a continuación).
Posteriormente podremos declarar clases que cumplan (implementen) la interface, para ello, en la declaración de la clase emplearemos la palabra implements seguida del nombre de la inteface a implementar:
Una clase (Rectangulo) implementa una interface (Dibujable) cuando además de declararlo con la palabra implements tiene todos los métodos (en este ejemplo, el método dibujar) declarados en la interface.
A partir de este momento, podremos emplear variables de la interface (Dibujable) para hacer referencia a objetos de las clases que la implementan (Rectangulo). Y mediante esa variable podremos ejecutar los métodos (dibujar) del objeto asignado a la variable.
El compilador solamente permitirá asignar referencias a objetos cuya clase implemente la interface. De esta forma se garantiza que todos los métodos ejecutables con la variable estarán disponibles en el objeto.
Las interfaces permiten la realización de polimorfismo, ya que podremos tratar de una misma forma objetos de clases diferentes. Esto es así porque si estos objetos implementan la misma interface, en ella se recoge el conjunto de métodos que tienen en común y por lo tanto se pueden ejecutar con variables de la interface.
# Estadística/Literatura

Bibliografía.
* Calot, Gérard; Curso de estadística descriptiva (1988); Thomson Paraninfo,S.A.; ISBN 84-283-0563-3
* Casas Sánchez, José Miguel; Fórmulas y tablas estadísticas (2004); Editorial Centro de Estudios Ramón Areces, S.A.; ISBN 84-8004-658-9
* Casas Sánchez, José Miguel; Tablas y fórmulas estadísticas (1996); Editorial Centro de Estudios Ramón Areces, S.A.; ISBN 84-8004-213-3
* Cuadras Avellana, Carlos María; Problemas de probabilidades y estadística (1991); PPU, S.A.; ISBN 84-7665-742-0
* Cuadras Avellana, Carlos María; Problemas de probabilidades y estadística. (1983); PPU, S.A.; ISBN 84-86130-06-9
* Cuadras, Carles M.; Problemas de probabilidades y estadística; Ediciones Universitarias de Barcelona, S.L.; ISBN 84-89607-09-5
* Muro Sáenz, Fernando; Estadística práctica. (1988); Muro Sáenz, Fernando; ISBN 84-404-1560-5
* Pérez Díez de los Ríos, José Luis; Modelos probabilísticos y tablas estadísticas (1993); AUTOR-EDITOR 9; ISBN 84-604-5056-2
* Pérez Díez de los Ríos, José Luis; Modelos probabilísticos y tablas estadísticas (2000); Mergablum. Edición y Comunicación, S. L.; ISBN 84-95118-14-9
* 50 (más menos) 10 horas de bioestadística (1994); Martín Andrés, A.; Díaz del Castillo, Juan de Dios.; Capitel Ediciones, S.L; ISBN 84-7487-068-2
* Bioestadística amigable (2006); Martínez-González, Miguel Ángel; Sánchez Villegas, Almudena; Faulín Fajardo, Francisco Javier.; Ediciones Díaz de Santos, S.A.;ISBN 84-7978-791-0
* Bioestadística para las ciencias de la salud (+) (2004); Martín Andrés, A.; Luna del Castillo, Juan de Dios.; Capitel Ediciones, S.L; ISBN 84-8451-018-2
* Fundamentos de probabilidad (2006); Martín-Pliego López, Francisco Javier; Ruiz-Maya Pérez, Luis.; Thomson Paraninfo, S.A.; ISBN 84-9732-500-1
* Lecciones de cálculo de probabilidades (1988); Quesada, Vicente; García Pérez, Alfonso.; Ediciones Díaz de Santos, S.A.; ISBN 84-86251-84-2
* Quimiometria (2005); Mongay Fernández, Carlos.; Universidad de Valencia. Servicio de Publicaciones.; ISBN 84-370-5923-2
* Tratamiento de datos (2006); Guisande González, Cástor.; Ediciones Díaz de Santos, S.A.; ISBN 84-7978-736-8
* Visauta Vinacua, Bienvenido; Batallé Descals, Pere; Tablas estadísticas (1986); PPU, S.A.; ISBN 84-7665-057-4
# Estadística con múltiples variables e Introducción al lenguaje R

Wikilibros:Estadística con múltiples variables e introducción al lenguaje R