1. 4. Bucles
1.1. 4.1. while
1.1.1. Se emplea while cuando se desea que una sección de un programa se repita mientras se cumpla una cierta condición.
1.2. 4.2. do-while
1.2.1. Es una alternativa a while y comprueba la condición tras dar una primera pasada.
1.3. 4.3. Contadores
1.3.1. Se puede usar un while para crear un contador, una variable que aumenta de un valor a otro para descubrir cuantas veces ha ocurrido algo.
1.4. 4.4. for
1.4.1. for agrupa el valor inicial, el incremento y la comprobación de finalización.
1.5. 4.5. Incremento y decremento
1.5.1. La operación "incrementar una variable" en C++ tiene una notación especial para indicarla de forma abreviada.
1.6. 4.6. Otras operaciones aritméticas abreviadas
1.6.1. Es frecuente aumentar disminuir el valor de una variable en varias unidades, existe una notación número=número+5 y número+=5.
1.7. 4.7. Declarar una variable dentro de for
1.7.1. C++ permite declarar una variable en distintos puntos del programa.
1.8. 4.8. Bucles sin fin
1.8.1. En ocasiones se pude provocar que un bucle no tenga salida, bien porque sea incorrecto el incremento de la variable que lo controla.
1.9. 4.9. Interrumpir un bucle
1.9.1. Se puede salir de un bucle antes de tiempo empleando la orden break.
1.10. 4.10. Bucles aninadados
1.10.1. Los bucles se pueden anidar, es decir, incluir junto dentro de otro.
2. 6. Ficheros
2.1. 6.1. Escritura en un fichero de texto
2.1.1. Se usa cout para guardar datos y los datos se vuelcan a un ofstream.
2.2. 6.2. Lectura de un fichero de texto
2.2.1. A la hora de leer un fichero, este será un ifstream y la lectura se realizará con >> similar a cin.
2.3. 6.3. Leer toda una línea, incluyendo espacios
2.3.1. Si se desea leer una línea se pude usar getline.
2.4. 6.4. Lectura hasta el final del fichero
2.4.1. Para leer el fichero se deberá comprobar si se ha alcanzado su .eof ().
2.5. 6.5. Pedir el nombre al usuario
2.5.1. No es necesario que el nombre del fichero esté prefijado en el programa.Lo más frecuente es pedirlo como "Dime el nombre del fichero".
2.6. 6.6. Errores en el acceso a ficheros
2.6.1. Para comprobar si ha existido algún error en el acceso a fichero se puede utilizar su .fail() .
2.7. 6.7. Contacto con los ficheros binarios
2.7.1. Los ficheros binarios son ficheros con información de cualquier tipo.
3. 1. Lenguajes, copiladores e intérpretes
3.1. 1.1. Lenguajes de bajo nivel y alto nivel
3.1.1. Lenguajes de bajo nivel: máquina, 0s y 1s.
3.1.2. De alto nivel: similar al humano.
3.2. 1.2 Copiladores e intérpretes
3.2.1. Compilador: herramienta que traduce lenguaje de alto nivel a lenguaje máquina creando un archivo ejecutable.
3.2.2. Intérprete: traduce de forma secuencias cada línea del programa a lenguaje máquina.
3.3. 1.3. Pseudocódigo
3.3.1. El objetivo de la seguridad informática es proteger los recursos valiosos de una organización.
3.4. 1.4 Lenguajes más extendidos
3.4.1. Son: C, C++,C#, PHP, Java, JavaScript, Python.
3.5. 1.5 Hola, mundo
3.5.1. Es el primer programa que se suele crear cuando se empieza a trabajar con un lenguaje de programación.
3.6. 1.6 Estructura de un programa en C++
3.6.1. // Primer programa de ejemplo en C++
3.6.2. #include <iostream>
3.6.3. int main ()
3.6.4. { y }
3.6.5. std::cout << "Hola, Mundo " ;
3.6.6. return 0;
3.7. 1.7. Probar un programa en LliureX
3.7.1. En LliureX, al igual que en la mayoría de distribuciones de Linux, existen editores de texto preinstalados en el sistema, y también compiladores de algunos de los lenguajes más extendidos.
3.8. 1.8 Probar un programa en Windows
3.8.1. Para probar un programa en Windows es necesario descargar un entorno de desarrollo que incluya tanto editor como compilador.
4. 2. Un programa que calcula
4.1. 2.1. Realizar operaciones prefijadas
4.1.1. Operaciones sencillas como suma, resta, multiplicación y división.
4.2. 2.2. Escribir varios textos
4.2.1. Es posible escribir varios mensajes con una única orden cout.
4.3. 2.3. Escribir en varias líneas
4.3.1. std:: endl hace posible que un texto aparezca en una línea y otro en la línea siguiente.
4.4. 2.4. Pedir datos al usuario
4.4.1. std::cin es na orden que se emplea para leer datos.
4.5. 2.5. Evitar escribir std::
4.5.1. Añadir namespace hace posible que el programa no se haga muy extendido.
4.6. 2.6. Números con decimales
4.6.1. Se usa float para escribir números que contengan decimales.
4.7. 2.7. Funciones matemáticas
4.7.1. Raíz cuadrada: sqrt(x)
4.7.2. x elevado a y: pow(x, y)
4.7.3. Coseno: cos(x)
4.7.4. Seno: sin(x)
4.7.5. Tangente: tan(x)
4.7.6. Exponencial de x (elevado a x): exp(x)
4.7.7. Logaritmo natural (o neperiano) en base e: log(x)
4.7.8. Logaritmo en base 10: log10(x)
5. 5. Estructuras básicas de datos
5.1. 5.1. Contacto con los arrays
5.1.1. Una array es un conjunto de elementos del mismo tipo. Estos elementos tendrán el mismo nombre y ocuparán el mismo espacio contiguo en la memoria.
5.2. 5.2. Una array para almacenar datos
5.2.1. Se emplea un array para guardar datos que debe introducir el usuario y que deberán ser manipulados.
5.3. 5.3. Arrays y física: vectores
5.3.1. Muchas magnitudes físicas se expresan mediante vectores. Estos vectores se selen expresar como arrays.
5.4. 5.4. Arrays bidimensionales
5.4.1. Es posible declarar arrays de dos o más dimensiones.
5.5. 5.5. Arrays y matemáticas: matrices
5.5.1. Los arrays bidimensionales se emplean para guardar matrices cuando es necesario resolver problemas matemáticos más complejos.
5.6. 5.6. Valores iniciales de arrays
5.6.1. No se debe dar por sentado que los datos de un array tengan valor inicial 0, ya que pueden contener "basura" y lo mismo ocurrirá con las variables simples.
5.7. 5.7. Arrays sobredimensionados
5.7.1. En ocasiones, no se sabe la cantidad de datos que se van a almacenar. Una primera aproximación sencilla puede ser emplear una array de gran tamaño y llevar un contador de la cantidad de datos que realmente contiene.
6. 3. Toma de decisiones
6.1. 3.1. if
6.1.1. Se emplea if (condición) sentencia; : para comprobar si se cumple una determinada condición.
6.2. 3.2. Operadores relacionales: <,<=, >, >=, ==, !=
6.2.1. El símbolo > se emplea para comprobar si un número es mayor que otro. El símbolo < se utiliza para comprobar si un número es menor que otro. El símbolo == significa la igualdad entre dos números. El símbolo <= representa que es menor o igual que un número. El símbolo >= expresa mayor o igual que de un número. El símbolo != significa distinto de un número.
6.3. 3.3. El caso contrario: else
6.3.1. else indica lo que debe hacer el programa si no se cumple una condición.
6.4. 3.4. Sentencias compuestas
6.4.1. if permite ejecutar una única sentencia en caso de que se cumpla una condición. Cuando sea necesario ejecutar varias órdenes deberán agruparse entre llaves.
6.5. 3.5. Encadenar condiciones: &&, ||, !
6.5.1. && significa y.
6.5.2. ! significa no.
6.5.3. || significa o.
6.6. 3.6. Operador condicional: ?
6.6.1. Virus: software cuyo objetivo es causar danos en un sistema.
6.7. 3.7. switch
6.7.1. Se emplea switch para analizar varios valores posibles de una misma variable.
7. 7. Funciones
7.1. 7.1. Los problemas de un código repetitivo
7.1.1. Es habitual que algunas tareas deban repetirse varias veces en distintos puntos de un programa. En estos casos, volver a teclear varias veces el mismo fragmento de código no suele ser la solución óptima. Para ello hay dos maneras:
7.1.1.1. Se puede descomponer en bloques, los cuales reciben el nombre de <<funciones>>.
7.1.1.2. Se pude crear un bloque subrayar que dé esos pasos repetitivos.
7.2. 7.2. Una primera función
7.2.1. Para crear un bloque con nombre hay que precederlo de void y detallar entre llaves los pasos que debe dar.
7.3. 7.3. Parámetros de una función
7.3.1. Resulta práctico indicar a la función ciertos datos con los que se desea trabajar. Como con la función subrayar, que puede mejorarse para que no se escriba siempre veinte guiones.
7.4. 7.4. Valor devuelto por un función
7.4.1. Es deseable que una función realice una serie de cálculos y devuelva el resultado de esos cálculos con el fin de poder usarlo desde cualquier parte del programa. La función será int y terminará con return.
7.5. 7.5. Modificar el valor de un parámetro
7.5.1. En caso de que se intente modificar el valor de un dato que un a función reciba como parámetro, los cambios no se conservan cuando sale de dicha función. Esto no supondrá una gran limitación ya que bastará con indicar un tipo de datos distinto de void y usar una orden return. Para otra situación se empleará &.