OpenLLM-France/wikimedia huggingface dataset:
# Ejercicios: Tipos Simples de C++

1. Escribe un programa corto que pida al usuario que ingrese un valor Celsius, y entonces produzca un resultado en Fahrenheit. Este deberá usar QInputDialog para obtener el valor del usuario, y QMessageBox para producir el resultado. Después de esto, debe de imprimir una tabla de valores celsius a fahrenheit desde 0 hasta 100 con incrementos de 5 por la salida estándar.
2. si agregas #include <cstdlib>, puedes hacer uso de la función rand, esta genera una secuencia de enteros long pseudoaleatorios, en el rango de 0 a RAND_MAX, esto puede ser usado en muchas formas interesantes. Trabaja calculando el siguiente número en su secuencia desde el último número que fue generado. La función srand(unsigned int seed) establece su argumento como el valor de inicialización (seed) para la secuencia aleatoria. Escribe un programa corto que pruebe esta función permitiendo al usuario a proporcionar la semilla desde el teclado y entonces generar una lista de números pseudoaleatorios.
3. Un truco de esto es usar srand(time(0)) para sembrar la función rand. Debido a que time(0) devuelve el número de segundos desde algún punto inicial, la semilla será diferente cada vez que corras el programa. Esto te permitirá escribir programas que hagan uso exaustivo de patrones de comportamiento impredecibles. Escribe un programa que simule un juego de dados que el usuario pueda jugar con la computadora. Aquí están las reglas para aplicar a tu juego:
   * El juego es sobre repetir tiradas de un par de dados.
   * Cada dado tiene seis caras, numeradas desde 1 hasta 6.
   * El resultado de la tirada debe ser un número que sea el total de las dós caras superiores.
   * La primera tirada establece el numero del jugador.
   * Si ese número es 7 u 11 el jugador automáticamente gana.
   * Si ese número es 2, el jugador pierde automáticamente.
   * De lo contrario, el jugador sigue tirando hasta que la computadora gane (comparando sus números con los de ella) o pierda (tirando un 7 o un 11).
4. Escribe un programa que acepte dos valores desde el usuario (cliente): el monto total de la compra y el monto recibido como pago.
    Cada uno de esos valores puede ser almacenado en una variable del tipo double. Calcula y muestra el cambio que será devuelto al usuario. Expresa el cambio en términos de números de billetes de $100, billetes de $50, billetes de $20, monedas de $10, monedas de $5, monedas de $2, monedas de $1, monedas de 50ç, monedas de 20ç, monedas de 10ç, monedas de 5ç (Presumiblemente, esta salida debería ser enviada a la máquina que dispensa estos elementos automáticamente).
    Por ejemplo, si el total del monto de compra es $73.82 y el cliente paga con un billete de $100 entonces el cambio debería de ser: un billete de $20, una moneda de $5, una moneda de $1, una moneda de 10ç y una moneda de 5ç.
# 1.15 La Palabra Clave const

Declarar una entidad para ser const le dice al compilador que lo haga de "solo-lectura". const puede ser usado en muchos contextos, como veremos a continuación.
Debido a que no puede ser asignado también, un objeto const debe ser inicializado apropiadamente. Por ejemplo:
Trabajando con las declaraciones anteriores:
Los compiladores pueden tomar ventaja de un objeto que comienza como solo-lectura en varias maneras. Para enteros y algunos tipos simples, no es necesario el almacenamiento para ser alojados por un const a menos que su dirección sea dada. Por lo tanto, la mayoría de los compiladores trata de alojarlo en memoria estática.
Es un buen estilo de programación el usar entidades const en lugar de embeber expresiones constantes (algunas veces llamados números mágicos) en tu código. Esto te hará ganar flexibilidad más tarde cuando necesites cambiar los valores. En general, aislar constantes mejorará el mantenimiento de tus programas. Por ejemplo, en lugar de algo como esto:
Utiliza algo como esto:
# 1.16.1. Los operadores unarios & y *

Una variable es un objeto con un nombre reconocido por el compilador. Un nombre de variable puede ser usado si este es el objeto en sí mismo. Por ejemplo, si decimos:
Podemos usar x para mantener el objeto integer cuyo valor es 5, y podemos manipular el objeto integer directamente a través del nombre x. Por ejemplo:
Un objeto (en el sentido más general) es un pedazo de memoria, el cual puede almacenar datos. Cada objeto tiene una dirección de memoria (donde los datos comienzan). El operador unario &, también conocido como el operador dirección-de, cuando es aplicado a cualquier objeto, retorna la dirección de memoria de ese objeto. Por ejemplo: &x devuelve la dirección de memoria de x.
Un objeto que almacena la dirección de memoria de otro objeto es llamado puntero. Decimos que el puntero apunta al objeto que almacenó la dirección de memoria.
En este ejemplo, y apunta al entero x. El asterisco (*) que le sigue a int indica que y es un puntero a int.
Aquí hemos inicializado el puntero int y a la dirección de la variable int x. Una de las características más poderosas de los punteros es esa, se sujetan a las reglas que exploraremos en breve, aquí es posible para un puntero de un tipo almacenar la dirección de un objeto de tipo diferente (pero relacionado).
Cero (0), también representado por la macro NULL en programas C, es un valor especial que puede ser asignado legalmente a un puntero, usualmente cuando este comienza a ser inicializado (o reinicializado). 0 no es la dirección de ningún objeto. Un puntero que almacena el valor 0 es llamado puntero nulo. often represented by the macro NULL in C programs, is a special value that can be legally assigned to a pointer, usually when it is being initialized (or re-initialized). 0 is not the address of any object. A pointer that stores the value 0 is called a null pointer. Stroustrup recomienda el uso de 0 más que el de la macro NULL en programas C++.
Un puntero a un tipo simple usa exáctamente la misma cantidad de memoria que el puntero a un gran objeto complicado. Esta medida es usualmente la misma que sizeof(int) en esa máquina.
El operador unario *, también conocido como el operador desreferenciado, cuando se aplica a un operador no-nulo. devuelve el objeto que la dirección almacenó por el puntero.
* Puede servir como un tipo de modificador, en un puntero de definición variable
* puede ser usado como el operador de desreferencia.

#### Ejemplo 1.23

int* px = 0 ; Modificador de tipo
Nombre de Archivo pointerdemo.cpp
Salida:
Cuando corremos el Ejemplo 1.23 en momentos diferentes, o en diferentes máquinas, los valores particulares pueden variar.
La variable x accede a sus datos directamente, pero la variable px accede al mismo dato indirectamente. Esto es porque la palabra indirigida es también usada para caracterizar el proceso de acceso a datos a través de un puntero. La relación entre las dos variables, x y px es ilustrada en la Figura 1.4.
# Ejercicios: Identificadores, Tipos y Literales

Modifica el el Ejemplo 1.5 para que, con una simple sentencia de salida, la salida se convierta en:
1.-
2.-
# Tipos Simples de C++

Los tipos simples soportados en C/C++ están listados en la Tabla 1.2.
C/C++ también proporciona un símbolo especial que significa la ausencia de información de tipo: void.
Los tipos simpres de C++ pueden (en su mayoría) ser modificados por las siguientes palabras clave que producen otros tipos simples:
* short
* long
* signed
* unsigned

#### Tabla 1.2

Plantilla:Tabla
Los compiladores de C++ te permiten omitir int desde short int, long int, y unsigned int. Puedes omitir signed desde la mayoría de los tipos, pues está por defecto.
De el rango de valores para las dependencias de tipo en particular sobre la arquitectura subrayada o la maquina en la que el compilador está corriendo, el estándar ANSI/ISO para C++ no especifica la medida (en bytes) de ninguno de estos tipos. Este solo garantiza que un tipo dado (p.e., int) no debería ser mas pequeño que uno de los que aparece sobre él (p.e., short) en la Tabla 1.2.
Existe un operador especial sizeof que devuelve el número de caracteres que una expresión dada requiere para el almacenamiento. A diferencia de la mayoría de las funciones, el operador sizeof puede tomar expresiones de valor o expresiones de tipo. El Ejemplo 1.16 muestra como puede ser usado sizeof y algunos de los valores que este retorna en un sistema x86 de 32-bits.

#### Ejemplo 1.16

* char *charp = array1; El puntero al primer elemento del array.
* cout << "sizeof qint32 = " << sizeof (qint32) << "\n"; Garantizado para ser en todas las plataformas de 32 bits.
* cout << "sizeof qint64 = " << sizeof(qint64) << '\n'; Garantizado para ser en todas las plataformas de 64 bits.
* cout << "sizeof qchar = " << sizeof (QChar) << endl;' Dos veces tan grande como un caracter.
* cout << "qstring.length = " << qstring.length << endl; Para # de bytes, nos aseguramos de tomar en cuenta la medida de QChar
Salida:
Nota quye todos los punteros son de la misma medida, independientemente de su tipo.
En la salida, podemos ver que sizeof(qstring) tiene solo 4 bytes, pero es una clase compleja que utiliza memoria dinámica, entonces podemos llamar a length para obtener el número de caracteres usado para almacenar la cadena. Bajo la cubierta, QString comparte memoria con otras cadenas que tienen el mismo valor, por ello, después de una copia, la memoria dinámica no permanece exclusivamente para un objeto QString.
Los rangos de valores para los tipos integrales (bool, char, int) son definidos en el archivo de cabecera estándar limits.h. Dentro de una instalación típica de *nix este archivo puede ser encontrado en un subdirectorio de /usr/include.
* ↑ Para una mayor discusión sobre las diferencias entre tipos integrales con signo y sin signo, revisa la Sección 18.4.
* ↑ en la mayoría de los sistemas, un caracter simple es un byte
# Exercicios: Punteros y acceso de Memoria

* Predice la salida del Ejemplo 1.25:

#### Ejemplo 1.25

2. Modifica el Ejemplo 1.23 para hacer algo de aritmética con el valor apuntando a jp. Asigna el resultado al alojamiento dentro del puntero de memoria para ip, e imprime el resultado. Imprime los valores de salida desde diferentes lugares dentro del programa. Investiga como reaccionan tu compilador y sistema en tiempo de ejecución a la colocación de las sentencias de salida.
# main y Argumentos de Línea de Comandos

main es una función (Capítulo 5) que es llamada al inicio del programa. Si el programa acepta argumentos de línea de comandos, debemos definir main con su lista de parámetros completa.
C permite flexibilidad en la forma en como los argumentos son definidos dentro de main, por ello podrás ver que está definido en na variedad de formas:
* int main(int argc, char* argv)
* int main(int argc, char ** argv)
* int main(int argCount, char * const argValue)
Todas las formas de arriba son válidas, y todas ellas definen dos parámetros. Esos parámetros contienen información perteneciente a la reconstrucción de los argumentos de la línea de comandos pasados dentro del programa desde el proceso padre (una consola de línea de comandos, un administrador de ventanas, etc.) El Ejemplo 1.17 es un programa main simple que imprime sus arcumentos de línea de comando.

#### Ejemplo 1.17

argValue, o argv para resumir, es un array bidimensional (Sección 21.4) de cadena. argCount, o argc para resumir, es el número de arreglos de caracter dentro de argv. argv contiene cada cadena de línea de comando como un ítem dentro de su array.
int main “devuelve” un entero, que debería ser 0 si todo ha ido bien, o un código de error distinto de cero si algo salió mal.
Si corremos este programa con argumentos de línea de comandos, veremos algo como esto en la salida:
El primer argumento es el nombre de la ruta del ejecutable, Los otros argumentos son tomados desde la línea de comandos como cadenas separadas por espacios o tabulaciones. Para pasar una cadena que contenga espacios en un argumento simple, debes encerrar la cadena entre comillas.
# Programación en PHP/Certificación/Arrays
## Arrays

Los arrays o arreglos pueden ser interpretados como una sucesion o matriz de números. Por ejemplo, cuando necesitamos tener un conjunto de varias variables, entonces podemos usar un array.
Por ejemplo: Quiero declarar una matrices que contenga colores, en el código agrego:
$colores=array('blanco','negro','azul'); Esto es un vector que es interpretado así:
en el lugar 0 tengo el string 'blanco', en el lugar 1 tengo el string 'negro', en el lugar 2 tengo el string 'azul',
OBS:De este ejemplo cabe observar que los arrays comienzan en el valor 0, osea que la primer celda es la cero.
Pero PHP es un lenguaje bastante libre en este sentido, puesto que puedo declarar un arreglo por celda, aunque sea escalar este no tiene por que ser consecutivo (mi primer celda puede ser la 20 continuar en la 100, y así).
El arreglo va guardando en celdas de memoria la información que le vamos agregando.
Los arrays en PHP pueden ser Escalares o Asociativos.
Los Escalares poseen indices enteros, a diferencia de los Asociativos que puede ser una palabra que la identifique.
Maneras de declarar un array vectorial:
$arreglo='algo';/*esta forma agrega a la ultima posición del array un elemnto*/ $arreglo2[1]='algo';//asigno a la celda '1' el valor 'algo' $arreglo=array(1,2,3,4,5);//declaro el arreglo en un solo paso
Estas formas de declarar los arreglos también pueden utilizarse para los Asociativos. Por Ej; $colores['rojo']=1 o $colores=array('rojo'=>'1,.....etc;
Accediendo al contenido de un array
Para acceder a un array tenemos que apuntar a la celda de memoria que contenga el dato buscado. Por ejemplo: echo $colores[1];//esto mostrara blanco (siguiendo el primer ejemplo)
Cabe destacar que un string puede ser interpretado como un array.
Veamos este ejemplo:
$str="Hola soy una prueba"; echo $str[1];//esto mostrara en pantalla la letra 'o', puesto que esa letra esta en la posición 1 del arreglo
Para poder imprimir todos los valores almacenados en el array, podemos usar una función como foreach.
Por ejemplo;
$colores=array('blanco','negro','azul'); foreac h($colores as $c){
# Programación en PHP/Estructura if

La estructura if es muy sencilla.
Ejemplo Lógico:
Ejemplo PHP:
Se puede complementar con else o else if este último se utiliza cuando queremos tener varios controles por si el primero no coincide, mira el siguiente condicional así secuencialmente hasta que entra. else siempre va al final !
Ejemplo Lógico:
Ejemplo PHP:
# Programación en PHP/Certificación/Seguridad

La seguridad en PHP se basa en varios aspectos. En este punto trataremos de ver cuales son estos aspectos y cómo afrontarlos. Una buena web de referencia es PHP Security Consortium
Aspectos de seguridad en la programación PHP:
La comunicación entre el cliente y el servidor ...

## La comunicación entre el cliente y el servidor

El uso más extendido del lenguaje PHP es para la realización de aplicaciones cliente-servidor. Estas aplicaciones se componen de dos partes (el cliente y el servidor).
El servidor es dónde se ubica la aplicación (ficheros php) y la base de datos.
El cliente es el usuario que mediante un navegador web se conecta al servidor para realizar las diferentes operaciones sobre los datos (consultar, añadir, modificar, borrar, etc)
Por defecto, los datos que se envían y reciben del servidor web no se encriptan y cualquiera que tenga acceso al medio físico que nos conecta al servidor puede obtener los datos enviados entre el cliente y el servidor.
Para solucionar este problema existe SSL (Secure Socket Layer). SSL lo que hace es cifrar la comunicación entre el navegador cliente y el servidor web. Esto es por ejemplo entre el Mozilla Firefox y el servidor apache con SSL.
La ventaja de este sistema es que desde el punto de vista del programador PHP no tiene que hacer nada. Sólo exigir que su aplicación se ubique en un servidor con SSL y que se utilice un navegador con soporte para SSL.
La mayoría de navegadores web tienen soporte para SSL y identifican que nuestras comunicaciones están siendo cifradas activando un icono con forma de candado situado normalmente en la parte inferior derecha de nuestro navegador web.
# Programación en PHP/Comentarios

Los comentarios en php son muy similar a los comentarios en C, C++ y Perl. Permite comentarios de una sola línea (de dos formas) y comentarios multilineas.
Los comentarios son escrituras fueras de la programación, lo que significa que el intérprete de PHP no ejecuta nada sobre esas líneas, las cuales tienen como única utilidad especificar al programador en turno ciertas instrucciones, anotaciones o notas mentales de quien hizo el código.
Las etiquetas para comentarios en php son: "//", "#", /*....*/ Ejemplo:
# Programación en PHP/Ejemplos/redondear un numero
## Aqui esta como redondear un numero con PHP

Funcion:
<?php
function redondeado ($numero, $decimales) {
$factor = pow(10, $decimales);
return (round($numero*$factor)/$factor); }
Como usarla: <?php echo redondeado(15.256,0); ?>
en el primer campo de la funcion estara el numero a redondear: 15.256 y en el segundo campo esta el numero de decimales 0.
dara como resultado 15
# Programación en PHP/Ejemplos/Calcular edad
## Calcular edad con PHP Con Funciones
### Introducción

Un cálculo muy solicitado en muchas ocasiones es el de calcular la edad. Es un calculo sencillo una vez tienes en cuenta algunos factores imprescindibles.
Si has nacido en 1980 y estamos en el 2000 tendrías 20 años siempre que hayas sobrepasado el día y el mes de tu nacimiento. Sabiendo esto generaremos dos if que restaran un año en el caso de no cumplir con la condición.

### Código PHP

Como veis es un código muy simple donde tendréis que sustituir las variables "$dianaz=2" "$mesnaz=6" y "$anonaz=1983" por la fecha de nacimiento a calcular para que os sea completamente útil.
Una manera más elegante y compacta de hacerlo puede ser:
Llamando a la función CalculaEdad con la fecha en formato YYYY-mm-dd como parámetro, nos devuelve la edad de una persona nacida en esa fecha. Ej: CalculaEdad("1945-11-22");
# Italiano/Anexo/¿Porqué estudiar Italiano?
## ¿Por qué estudiar italiano? / Perchè imparare l'italiano?

El italiano es el idioma oficial de Italia y San Marino, y es un idioma oficial en Ticino y Grigioni y en partes de Suiza. Es también el segundo idioma en la Ciudad del Vaticano, después del latín y en algunas áreas en Istria, Eslovenia y Croacia tiene una pequeña minoría italoparlante.
El italiano es "el idioma de la música"; es importante par sentir la música; hay muchas obras musicales en este idioma, entre las que sobresalen las óperas.
El italiano es enseñado mundialmente en muchas escuelas alrededor del mundo; en partes de Canadá es, después del francés, es el segundo idioma más estudiado. En Estados Unidos y en el Reino Unido se sitúa cuarto, y en Japón es el tercero idioma más estudiado. Es el quinto idioma más estudiado mundialmente, y además, es muy fácil para hispanohablantes.
# Italiano/Gramática

* Pronunciación y Alfabeto
* Artículos
* Sustantivos
* Pronombres
* Adjetivos
* Preposiciones
* Conjunciones
* Verbos
* Referencia de conjugación de verbos
* Verbos irregulares
* Comparativos y superlativos
* Condicional (Periodi ipotetici)
* Modificadores (Sufijos)
Gramática Esta página contiene todo el texto del capítulo de «Gramática»
# Italiano/Enlaces

* Aprender italiano online
* Gramática y tratamiento italiano / un blog con lecciones en italiano
* Diccionario italiano-inglés online
* Matdid, material didáctico en italiano, Scuola d'italiano, Roma
* Lecciones de vocabulario italiano online
* Wikimedia Commons alberga contenido multimedia acerca de «Italiano».
# Italiano/Diseño
## Trazado del Wikillibro

Este Wikillibro contiene 3 partes principales, que son las lecciones, los capítulos y los niveles.
Niveles es la categoría más grande. Tiene grandes volúmenes de información y contienen varios capítulos. Hay 3 niveles: Principiante, Intermedio y Avanzado.
Capítulos vienen después y son más pequeños que los niveles, pero son más largos que las lecciones. Cada capítulo contiene tres o cuatro lecciones.
Lecciones son las secciones finales y más pequeñas, pero las más importantes. Las lecciones contienen información que el lector deberá saber y utilizar para hablar, leer, escribir y vivir la lengua italiana.

## Trazado de la lección

Cada lección puede incluir:
* Un corto sumario sobre lo que aprenderá el lector
* Una o dos piezas de conversación
* Vocabulario
* Ejercicios
* Una lección final de revisión
# Definición

YouTube es un popular sitio Web en Internet donde el principal atractivo es la capacidad que les ofrece a los usuarios para "subir" sus archivos de video a la Web sin tener que pagar por el servicio o conocer complejos lenguajes de programación.
Por el otro lado, permite a los visitantes poder visualizar cualquier video subido por otro usuario utilizando un método de envío del video similar al streaming, esto quiere decir que el usuario puede visualizar videos de larga duración sin tener que descargar todo el video antes.
YouTube es un claro ejemplo de las aplicaciones Web 2.0 las cuales se pueden resumir en "el usuario genera el contenido", también es un claro ejemplo de las nuevas formas de hacer negocio en Internet, pues en muy corto tiempo YouTube fue adquirido por Google por una suma record.
Este sistema no es el único que existe, hay varias versiones de videos bajo demanda como MSN Video, Google Video y muchos otros más que surgieron a partir del éxito de YouTube.

# Ejemplos y aplicaciones mas conocidas

No disponibles.

# Ventajas y desventajas del uso de You Tube

Las ventajas son que se pueden ver videos de todo el Mundo. Y las Desventajas son que tus videos quedan expuestos a todo publico.
# Web 2.0 ¿Que es?

Web 2.0 es un término que se refiere a la segunda generación de la World Wide Web, centrada en la capacidad de las personas para colaborar y compartir información en línea. A diferencia de la Web 1.0, que se caracterizaba por sitios web estáticos y unidireccionales, la Web 2.0 introduce una serie de cambios y mejoras que promueven la interactividad y la participación del usuario.

# Características más importantes

* Interactividad y participación del usuario: Los usuarios no son solo consumidores de contenido, sino también creadores y colaboradores. Pueden generar contenido, compartirlo y interactuar con otros usuarios.
* Plataformas de redes sociales: Sitios como Facebook, X, Instagram y LinkedIn permiten a los usuarios conectarse, compartir información y colaborar de manera interactiva.
* Blogs y wikis: Herramientas como Blogger, WordPress y Wikipedia permiten a los usuarios crear y editar contenido fácilmente, promoviendo la colaboración y el intercambio de conocimientos.
* Etiquetado y folksonomías: Los usuarios pueden etiquetar contenido con palabras clave, lo que facilita la organización y búsqueda de información.
* Aplicaciones web dinámicas: Las aplicaciones web se volvieron más interactivas y responsivas, utilizando tecnologías como AJAX para mejorar la experiencia del usuario.
* Mashups: Combinación de datos y servicios de diferentes fuentes para crear nuevas aplicaciones y servicios.
* Economía de la participación: Modelos de negocio que aprovechan la contribución de los usuarios, como el contenido generado por el usuario, las reseñas y la colaboración en masa (crowdsourcing).
# Wikichicos/Alfabeto con animales

-- 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 -- Autores
# Matemáticas/Precálculo

* Números y polinomios
* Funciones y propiedades
* Derivadas, reglas y teoremas
Texto completo de este capítulo Esta página contiene todo el texto del capítulo de «Precálculo»
* 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