OpenLLM-France/wikimedia huggingface dataset:
# Programación en Ada/Paquetes

Los paquetes exportan mediante una interfaz bien definida tipos, objetos y operaciones y permiten ocultar su implementación, lo que proporciona al programador tipos abstractos de datos y subprogramas de manera transparente.
Los paquetes de Ada proporcionan:
* Abstracción de datos.
* Encapsulamiento.
* Compilación separada y dependiente.

## Especificación y cuerpo

El paquete consta de especificación (parte visible) y cuerpo (implementación que se oculta) y pueden compilarse por separado.
La sintaxis de su especificación es la siguiente:
La sintaxis del cuerpo de un paquete es la siguiente:
Un paquete permite agrupar declaraciones y subprogramas relacionados.

## Ejemplos

Por ejemplo, para implementar una pila de enteros:
En este caso, se tiene una interfaz que proporciona acceso a dos subprogramas para manejar la pila, aunque también se podrían haber exportado tanto tipos como objetos, constantes, tareas e incluso otros paquetes. Por ejemplo:
En este caso, el paquete no necesitaría cuerpo. Todos los elementos definidos en el paquete son accesibles, por lo que podríamos utilizar Sobre_Dias.TDia, Sobre_Dias.SAB, Sobre_Dias.JUE o Sobre_Dias.TDiaLaborable.

## Dependencia entre especificación y cuerpo

La especificación del paquete y el cuerpo pueden compilarse por separado. Mediante este encapsulamiento, ahora no es posible desde fuera modificar, por ejemplo, el valor de la cima de la pila, pues este objeto no es visible. Así se evita un mal empleo de la pila por alguien que pueda no conocer su implementación.
Si la especificación de un paquete contiene la especificación de un subprograma, entonces, el cuerpo del paquete debe contener el correspondiente cuerpo del subprograma. Sin embargo, pueden existir subprogramas dentro del cuerpo del paquete que no se declaren en su especificación, serían, por tanto, internos.
Destacar que dentro del cuerpo del paquete se inicializa el valor de la cima de la pila (después de begin). Esto sucede cuando se elabora el paquete. Si no necesita ninguna sentencia, se puede omitir el begin.

## Declaración y visibilidad

Los paquetes se pueden declarar en cualquier parte declarativa, es decir, en un bloque, subprograma o dentro de otro paquete. En el caso del ejemplo, para utilizar la pila de números enteros, se podría hacer así:
Dentro del paquete se puede llamar a Poner o a Pila_Enteros.Poner, pero fuera del paquete únicamente se puede llamar a dicho procedimiento de la forma Pila_Enteros.Poner. Además, las variables Max, Pila y Cima no son visibles.

## Importación de paquetes

Para la utilización de los paquetes desde otras unidades de compilación, se definen estas dos cláusulas:
* Cláusula use
* Cláusula with

## Manual de referencia de Ada

* Section 7: Packages
# Programación en Ada/Renombrado

El renombrado o redenominación se utiliza para dar a una entidad un identificador más conveniente en una determinada porción del programa. Se suele emplear para resolver ambigüedades y para evitar el uso de la notación punto. Para ello se emplea la palabra reservada renames. Por ejemplo:
Con ello se consigue utilizar indistintamente tanto "*" como ProductoEscalar (definido con anterioridad) para referirse a la misma función.
También se puede evitar la notación punto sin tener que importar todos los identificadores con la cláusula use:
El renombrado se puede utilizar con objetos (variables y constantes), excepciones, subprogramas, y paquetes. No se aplica a tipos, aunque un subtipo que no añade restricciones es equivalente a un renombrado.
Reseñar que el renombrado no corresponde a una sustitución de texto. La identidad del objeto se determina cuando se realiza el renombrado.

## Manual de referencia de Ada

* 8.5 Renaming Declarations
# Programación en Ada/Subunidades

El cuerpo de un paquete, subprograma o tarea puede ser "extraído" de la unidad o subunidad de biblioteca que lo engloba y compilarse por separado en lo que viene a denominarse subunidad. En la unidad que lo engloba, el cuerpo "extraído" se sustituye por un "resguardo" del cuerpo. Cualquier unidad de compilación puede tener subunidades.
En un ejemplo anterior, se construía un paquete de una pila de números enteros con dos procedimientos Poner y Quitar, que interesa compilar por separado, luego se escribiría:
A los subprogramas que se van a compilar aparte (Poner y Quitar) se les denomina subunidades. Su cuerpo deberá implementarse en otro fichero de esta forma:
Y de manera análoga se procedería con Quitar.
En el caso de que R sea subunidad de Q y ésta a su vez de P, que es una unidad de biblioteca, entonces la implementación de R debe comenzar con separate (P.Q).
Una subunidad depende de la unidad de la que fue separada y, por tanto debe compilarse después de ella.
La visibilidad dentro de la subunidad es exactamente igual que si no hubiera sido separada, es decir, por ejemplo, una cláusula with en la unidad principal se aplica a todas sus subunidades.
Si se necesita de una unidad únicamente dentro de una subunidad, a fin de no complicar las dependencias de compilación, se deberá incluir la cláusula with justo antes de la declaración subunidad, es decir, delante de separate (Pila_Enteros).

## Manual de referencia de Ada

* 10.1.3 Subunits of Compilation Units
# Programación en Ada/Sentencias y estructuras de control
## Clasificación de sentencias

* Simple:
** Secuencial:
*** Nula (null).
*** Asignación (X := Y;)
*** Llamada a procedimiento.
*** Código.
*** Llamada a punto de entrada (entry). En procesamiento paralelo.
*** Espera (delay).
*** Terminación abrupta (abort). En procesamiento paralelo.
** Control:
*** Terminación de bucle (exit).
*** Salto a etiquetas (goto). No recomendable.
*** Elevación de excepción (raise).
*** Retorno de subprograma (return).
* Compuesta:
** Secuencial:
*** Bloque.
*** Sentencia if.
*** Sentencia case.
*** Bucle (loop).
** Paralela:
*** Sentencia accept.
*** Sentencia select.

## Bloques

Ada distingue entre declaraciones, que introducen identificadores nuevos, y sentencias, que no lo hacen. El fragmento de texto más simple que incluye declaraciones y sentencias es un bloque.

### Ejemplo

Destacar que un bloque es una sentencia y cuando se ejecuta se elaboran las declaraciones contenidas en su parte declarativa (entre declare y begin) y después se ejecutan las sentencias del cuerpo (entre begin y end).
El ámbito de las variables declaradas en un bloque finaliza cuando termina dicho bloque.

## Bucles
### Sentencia de bucle simple (loop)
#### Ejemplo

Este bucle sólo se puede abandonar si alguno de los procedimientos levanta una excepción.
El bucle simple a menudo se acompaña de una sentencia exit para abandonar el bucle cuando se cumple una condición.

### Sentencia de bucle iterativo (for)
#### Ejemplo 2

Se desea desplegar los números del 10 al 1 de forma descendente

#### Ejemplo 3

Si bien Ada no acepta rangos en el for, estos se puede hacer mediante cálculos. Se desea mostrar los números pares comprendidos entre 1 y 10.

### Sentencia de bucle condicional (while)
#### Ejemplo
## Otras sentencias de control (goto, exit, return, abort)
### Sentencia goto

Antes de nada, decir que la utilización de sentencias goto se desaconseja totalmente. Ada posee estructuras de control adecuadas para evitar su uso. Si se soporta su utilización es por si se quiere traducir de otro lenguaje a Ada automáticamente.
Se especifica una etiqueta entre los símbolos << y >>, por ejemplo, <<Salto>>.
Se realiza el salto a dicha etiqueta con la sentencia goto Salto; que transferiría el control a la siguiente sentencia después de la etiqueta.
No puede usarse para transferir control fuera de un subprograma.

### Sentencia exit

Termina el bucle nombrado en la sentencia o, si no aparece, el bucle más próximo que la contiene. Su notación sintáctica es:

### Sentencia return

Termina la ejecución del subprograma más próximo que la contiene, tanto en procedimientos como en funciones donde, además, se utiliza para devolver el resultado de dicha función. Su notación sintáctica es:

### Sentencia abort

Se utiliza solo para tareas. Implica la terminación incondicional de las tareas que se especifiquen. Su notación sintáctica es:

## Manual de referencia de Ada

* Section 5: Statements
# Programación en Ada/Tareas
## Definición de tareas

En Ada, a la unidad de proceso secuencial que puede ser ejecutada paralelamente se le denomina task. Es la representación explícita de un proceso (o tarea).
Como en otras construcciones, la tarea de Ada presenta una especificación (interfaz con el exterior) y un cuerpo (descripción del comportamiento dinámico).
La sintaxis de la especificación de una tarea es:
La sintaxis del cuerpo de una tarea es:
Por ejemplo, dos procesos que escriben un texto por pantalla:
En este caso, el orden de los mensajes que aparecen en pantalla es totalmente impredecible, depende del sistema en el que se ejecuten. Ni siquiera es predecible si las frases que vayan apareciendo serán completas o serán truncadas, esto es debido a que el sistema puede decidir suspender la ejecución de alguna tarea en cualquier instante de tiempo y la sentencia Put no es atómica. Ambas tareas comenzarán su ejecución simultáneamente (al menos lógicamente) justo después del begin del procedimiento.

## Ciclo de vida y tipos

Hay dos tipos de tareas, según su ciclo de vida:
* Tareas estáticas:
** Dependen del bloque donde se declaran.
** Se activan justo antes de que se ejecuten las instrucciones del bloque donde fueron declaradas.
** Terminan cuando todas sus tareas hijas terminen y llegue a su última instrucción.
* Tareas dinámicas (mediante punteros):
** Dependen del bloque donde se define el tipo puntero.
** Se activan con la sentencia new.
** Las tareas hijas pueden seguir existiendo cuando se termine su progenitora.
Existen atributos asociados a las tareas, entre otros:
* Tarea'Callable indica falso si la tarea está completada o terminada, en otro caso (ejecutándose o suspendida), verdadero.
* Tarea'Terminated indica verdadero si la tarea ha terminado.
Indicar tan sólo, que una tarea se puede terminar abruptamente mediante la sentencia abort y para redirigir una llamada a un punto de entrada que esté encolada hacia otra cola, se emplea la sentencia requeue.

## Ejemplo

Para un sistema de control de presión y temperatura, se puede realizar el control de ambas magnitudes simultáneamente:
En el preciso instante en el que comienza a ejecutarse el procedimiento, hay tres procesos ejecutándose simultáneamente, el procedimiento y las dos tareas.

## Manual de referencia de Ada

* Section 9: Tasks and Synchronization
# Programación en Ada/Sobrecarga

En Ada se puede utilizar un identificador con más de un significado. Esto es lo que se conoce como sobrecarga. Los identificadores que se pueden sobrecargar son:
* Literales enumeración.
* Operadores.
* Subprogramas.

## Sobrecarga de literales de enumeración

Se pueden emplear identificadores iguales en distintos tipos enumeración, por ejemplo:

## Sobrecarga de operadores

También se puede utilizar una función para definir una operación y sobrecargar cualquiera de los operadores ya establecidos excepto /= (que toma su valor a partir del operador =, pero que puede redefinirse si el valor de retorno no es de tipo Boolean). Por ejemplo, se puede hacer una función "*" que multiplique escalarmente dos vectores:
Las reglas a cumplir a la hora de sobrecargar un operador son:
* No cambiar la sintaxis.
* No cambiar el número de parámetros de un operador (recuérdese que + y - pueden ser unarios o binarios).
* La precedencia se mantiene.
Por otro lado, una recomendación muy importante es no definir un operador para un nuevo tipo dándole un significado distinto al del operador predefinido. Es decir, + siempre ha de representar conceptos relacionados con la adición; *, multiplicación; and, conjunción, etc.

## Sobrecarga de subprogramas

Un subprograma sobrecargará un significado ya existente siempre que su especificación sea suficientemente diferente, es decir, pueden existir dos subprogramas con el mismo identificador siempre que se distingan por el número o tipo de sus parámetros. Por ejemplo:

## Manual de referencia de Ada

* 6.6 Overloading of Operators
* 8.6 The Context of Overload Resolution
# Aprende de Windows/Modificación del boot.ini
## Modificación del archivo Boot.ini

La edición del archivo puede resultar peligrosa, pues de resultar dañado este archivo, se podría tener que reinstalar todo el sistema, con la consiguiente pérdida de datos.
Para editar el archivo boot.ini se deberán seguir estos pasos:
* Hacer clic con el botón derecho del ratón en Inicio > Mi PC y elegir Propiedades.
* En Opciones avanzadas, hacer clic en Configuración, debajo de Inicio y recuperación.
* Para editar manualmente el archivo con las opciones de inicio, hacer clic en Editar en Inicio del sistema.
Alternativamente, se puede optar por utilizar la orden bootcfg de la línea de comandos de Windows, y escribir lo siguiente:
* Hacer clic en Inicio y en Ejecutar.
* Escribir cmd cuando se pida un recurso de la red para abrir.
* En la línea de comandos, escribir bootcfg/?

### Añadir un sistema operativo

Para añadir un sistema operativo al menú de boot.ini se debe escribir en la línea de comandos:
siendo «Descripción del Sistema Operativo» el nombre del nuevo sistema operativo a añadir al menú, e ID# el identificador numérico.

### Eliminar un sistema operativo

Para eliminar un sistema operativo del menú inicio se deberá escribir en la línea de comandos:
donde ID# es el conector alfabético del sistema operativo que se desea quitar del menú.
La Consola de recuperación de Windows 2000 y XP dispone de una versión modificada de la orden bootcfg que igualmente permite efectuar tareas sobre el archivo Boot.ini cuando por problemas en el arranque del sistema es imposible acceder a la interfaz gráfica de Windows para corregir corrupciones de este archivo. Este comando tiene una función que puede explorar los discos duros en busca de instalaciones de Windows NT, Windows 2000 y Windows XP, y, a continuación, agregarlas a un archivo Boot.ini existente o reconstruir un nuevo archivo Boot.ini si no existe ninguno.
* ↑ Implantación de Sistemas Operativos. Raya Cabrera, José Luis y Raya González, Laura. Editoral Ra-Ma. Paracuellos de Jarama, Madrid. 2010 (ISBN: 978-84-7897-980-6) (pag. 113)
* ↑ «Cómo modificar el archivo Boot.ini en Windows XP». Soporte Microsoft. Consultado el 28 de octubre de 2010.
* ↑ «Explicación del comando Bootcfg y sus usos». Soporte Microsoft. Consultado el 20 de julio de 2013.
# Aprender PHP

php es la principal tecnologia detras de la web 2.0 el objetivo de este curso es que aprendas a programar apps del lado del servidor empezaremos viendo las bases del servidor

## Contenido

* Instalar PHP
* Bases del lenguaje
** PHP y el comando echo
** Comentarios
** Finalización de instrucciones
** Info de nuestro servidor
* Variables
** Definir Variables
** Variables y formularios
** Enteros y coma flotante
** Booleanos
** Recabar informaciṕn de nuestros visitantes
* Cadenas
* Operadores
** Aritméticos
** Pre y post incremento y decremento
** De cadenas
** De asignaciṕn
** De comparación
** Lógicos
* Control
** If
** for
** switch
** while
** Do while
** Go To
** foreach
* Funciones
* Inclusión de ficheros
* Matrices
** Tipos de matrices
** Crear matrices varios tipos
* Fechas
** Hora
** Día
** Mes
** año
** Otros comandos relacionados con fechas
* Sesiones
* Orientación a Objetos
# Aprender a leer planos

En este wikilibro encontraras la documentación consistente en conjunto de convenciones (líneas, texto, colores) que se representan en papel y/o en algún dispositivo de consulta, con la finalidad de
entender como se desarrollo o se desarrollan ciertas actividades en la Ingeniería.
Este wikilibro Aprenderas a leer planos, enfocado principalmente a la industria de la construcción, ¡claro! para quien se atreva a leerlo.
# Aprende de Windows/Nuevas opciones en el menú enviar a

No te ha pasado que a veces copias muchas cosas a una misma carpeta de tu máquina y ya estás cansado de tener que ir hasta ella cada vez que le vas agregar algo nuevo. No sería cómodo agregar esa carpeta al menú: Enviar a (es uno de los que aparece al seleccionas algo con el clic derecho), pues aquí te muestro como se hace:

## En Windows XP

* Primero que todo crea un acceso directo de la carpeta que quieras agregar al menú Enviar a
* Ve a Inicio/ Ejecutar/ Sendto y pulsa Aceptar (te abrirá un Explorer con las aplicaciones de Enviar a). También puedes buscar esta carpeta en C: / Documents and Settings/nombre de tu cuenta de usuario/SendTo ,es preferible que busques la carpeta de la otra forma ya que esta está oculta y para poder verla tendrías que hacer lo siguiente:
** En el Explorer ir a Herramientas/Opciones de Carpeta/ Ver/ Archivos y carpetas ocultas/ Marcar ``Mostrar todos los archivos y carpetas ocultos´´
* Por ultimo corta la carpeta creada anteriormente en el escritorio y pégala en la carpeta SendTo

## En Windows 7

Todos los pasos son iguales la única diferencia es la ubicación de la carpeta ``Sendto´´ que se encuentra en: C:\Users\Yoandy Isse(nombre de usuario)\AppData\Roaming\Microsoft\Windows\SendTo

## ACLARACIONES

* Este truco solo se ha probado en Windows XP
* Después que ya hayas copiado la carpeta a SendTo puedes cambiarle el nombre y el ícono si lo deseas.
* También puedes eliminar opciones del menú: Enviar a, en la carpeta de SendTo
* Si quieres que las opciones de Sendto aparezcan para todos los usuarios realiza los mismos pasos pero en el usuario ``Default´´
# Aprender a leer planos/Las planillas
## Introducción

Las planilas permiten detallar las características de elementos que se repiten. Por ejemplo la "planila de locales" es un listado de todos los locales de una obra (El elemento que se repite es el local) donde se pude detallar para cada uno en particular que revestimientos lleva, que altura tiene, tipo de zócalos, etc.
# Aprender a leer planos/Los esquemas
### Introducción

Los esquemas son la forma de representar gráficamente la composición de un objeto,como puede ser cualquier aparato electrónico (tv,radio,computadora, etc...) ó instalación(eléctrica,fontanería,gas,etc..) El esquema está compuestos por un grupo de símbolos que en conjunto,nos esta indicando de los elementos de que se compone el aparato ó instalación aque representa para su funcionamiento. algunos símbolos van acompañados de una nomenglatura que nos indica las características del elemento representado como puede ser por ejemplo una resistecia donde una forma de representarla es un rectangulo a la que le podemos añadir el valor óhmico como su potencia en watios,etc.

### Detalles constructivos

todavía no hay información aun seguimos en búsqueda
# Introducción

Este wikilibro Aprenderas a leer planos, enfocado principalmente a la industria de la construcción.
En la industria de producción, llamesé construcción, maquila, diseño o servicio es indispensable tener la capacidad de entender "la documentación de obra" que es toda aquella información como planos, planillas, listados, etc. que sirven de instrucción para llevar a cabo la obra.
En este wikilibro encontraras la documentación consistente en conjunto de convenciones (líneas, texto, colores) que se representan en papel y/o en algún dispositivo de consulta, con la finalidad de
entender como se desarrollo o se desarrollan ciertas actividades en la Ingeniería.

## Motivación

En el mundo de la construcción, muchas veces los obreros se ven limitados en su crecimiento dentro de la obra por su poca destreza para leer planos, esta dificultad suele estar asociada con las carencias educativas del estado, por lo que es probable que no tengan acceso a un libro que les ayude a entender como se deben leér los planos.

## Finalidad

La finalidad de este wikilibro es que la información contenida aquí, circule libremente para todos y el lector encuentre alguna aplicación práctica para dicha información, con el sincero deseo de que les seá útil.
# Artes culinarias/Recetas/Ensalada de coditos

| Cantidad para 10 personas ? Kcal / 100g | Glosario A - B - C - D - E - F - G - H - I - J - K - L - M - N - Ñ - O - P - Q - R - S - T - U - V - W - X - Y - Z Navegar por categorías Aves | Carne | Cereales | Frutas | Legumbres | Mariscos | Pan | Pescados | Setas | Verduras | Postres | Regímenes | Zonas geográficas | 30 minutos |
| | Glosario A - B - C - D - E - F - G - H - I - J - K - L - M - N - Ñ - O - P - Q - R - S - T - U - V - W - X - Y - Z Navegar por categorías Aves | Carne | Cereales | Frutas | Legumbres | Mariscos | Pan | Pescados | Setas | Verduras | Postres | Regímenes | Zonas geográficas | Dificultad: |
| | Precio: ? |
| Ingredientes 500 gramos de pasta tipo "coditos" 1 cucharada de aceite de oliva 1 taza de mayonesa 1 cucharada de mostaza 1/4 de taza de cebolla en corte brunoise 1 cucharada de vinagre de sidra 1/2 cucharadita de tomillo en polvo 1/2 taza de jamón cortado en tiras finas 1/4 de taza de nueces pecanas en trocitos 1/2 taza de chiles pimientos cortados en trocitos 1 taza de brócoli cortado en trocitos sal y pimienta al gusto | Procedimiento Cocinar los coditos en agua con sal (1 cucharada de sal por litro de agua) y escurrirlos (extraerles el agua) Mezclar con aceite de oliva y sazonar al gusto Mezclar en un recipiente hondo la mayonesa, cebolla, mostaza, vinagre y tomillo, y sazonar al gusto con sal y pimienta Al tener la mezcla lista, mezclar con la pasta Combinar el jamón, las nueces, los chiles pimientos y el brócoli Servir frío |