Entendido.

Este sitio utiliza cookies para analizar la navegación.Si continúa navegando se entiende que acepta su uso. Ver más detalles.

Logo

Aprende Web C++

Aprende a programar en C++ con Aprende-Web

Nociones Básicas

programación en C++ desde cero.


Buscar en Aprende Web

Traducir página

Visita nuestro blog:

bolg.aprende-web.net

y entérate de las novedades o deja un comentario.

Dudas y sugerencias:

aprendeweb@aprende-web.net



Sobre ésta página

Ültima modificación: 13-07-2018.

Visitas este mes: 1

Visitas el mes pasado:

logo
WEB-GRAFÍA

Mi agradecimiento a los siguientes sitios en los que me he basado para la elaboración de los manuales.:

cplusplus.com
Sitio oficial de C++: Informacion, Referencias, Tutorial, Foro. (En inglés)
Minidosis.org
Curso de C++ con videos y lecturas.
conclase.net
Curso de C++
programar ya
Curso de C++ desde cero
cprogramming.com
C++ Tutorial (inglés).
Entorno de desarrollo integrado
fergarciac.wordpress.com
Compiladores, intérpretes y Máquinas virtuales.
latecladeescape.com
el hacker.net
Programación
Desarrollo web
Manual de iniciación a la programación.

En los distintos manuales incluimosm más webgrafía especifica de cada sección.


Donativos

Si este sitio te parece interesante puedes contribuir con una pequeña aportación.





4. Estructuras de Control

4.7. Saltos de línea

Concepto

Logo C++ Basico

La forma de ejecutar el programa en C++ es secuencial, es decir, en principio las instrucciones o sentencias se ejecutan en el mismo orden en que están escritas, El programa va leyendo una sentencia tras otra y las va ejecutando en el mismo orden en que están escritas.

Tenemos en esto varias excepciones, comom son las estructuras de control que hemos visto hasta ahora. Las escructuras condicionales y los bucles hacen que la lectura del programa por parte del compilador no sea exactamente de una línea tras otra, ya que puede saltarse algunas líneas, y hacer que otras se repitan.

Sin embargo tenemos otros elementos que pueden alterar el flujo normal de lectura en el programa. Estos consisten en una serie de palabras clave, que se emplean para cambiar el flujo normal de lectura y hacer que en el programa haya un salto para seguir leyendo en otra línea o punto del programa.

Estas palabras clave son break, continue y goto. Veremos a continuación cómo se utilizan.


break: Salir de un bucle

Ya hemos visto el uso de la sentencia break; en la estructura switch, donde se escribe un break al final de cada opción, para poder salir del bloque y no ejecutar las siguientes opciones se escribe la sentencia break.

La sentencia break tiene también otro uso, y es el poder salir de un bucle antes de que este llegue a su finalización. Veamos esto mediante un ejemplo. Supongamos un bucle que escribe la tabla de multiplicar del 6, éste se escribe así:

int n=6; for (int i=1; i<=10; i++) { cout << n << " x " << i << " = " << n*i << endl; }

Aquí tras declarar e inicializar la variable n, la utilizamos para escribir mediante un bucle la tabla de multiplicar del 6. Para ello repetimos el bucle 10 veces.

Sn embargo sim añadimos la sentencia break al bucle, éste finaliza en cuanto el programa lee esta sentencia, por ejemplo:

int n=6; for (int i=1; i<=10; i++) { cout << n << " x " << i << " = " << n*i << endl; break; }

Aquí el bucle sólo se ejecutará una vez, ya que al encontrar la sentencia break; el programa sale del bucle.

Otra opción es hacer depender la sentencia break; de una condición, En el siguiente ejemplo el bucle debería escribir 10 líneas, pero sólo escribe 5 portque tiene un break que le hace salir en la línea 5.

1 2 3 4 5 6 7 8 9 10 11
#include<iostream>
using namespace std;

int main() {
    int n=6, i=1;
    while (i<=10) {
        cout << n  << " x " << i << " = " << n*i << endl;
        if (i==5) break;
        i++;
    }
}
sentencia break

Tras compilar y ejecutar el archivo, comprobamos que el bucle no se ejecuta hasta el final, sino que se sale de él en cuanto encuentra una sentencia break.

La sentencia break; se escribe siempre aislada es decir, break;, sin nada más, y sólo se puede poner en bucles o en la estructura switch.


continue : saltar una repetición.

La sentencia continue;se usa también dentro de un bucle, de forma parecida a break;, sin embargo aquí no se sale del bucle, sino que se saltan todas las instrucciones del bucle desde que la encontramos hasta la siguiente repetición. También podemos incluirla dentro de una condiional para que afecte sólo a algunas instrucciones del bucle.

Por ejemplo en el siguiente bucle:

for (int i=1; i<=30; i++) { if (i%2==1) continue; cout << i << " - "; }

Sólo se escribirá el número cuando éste sea par, ya que la sentencia continue; afecta a las repeticiones impares, y hace que en éstas haya un salto desde la sentencia continue; hasta la siguiente repetición. Observa cómo con la operación módulo elegimos los números impares para aplicarles la sentencia continue; .

Veamos el ejemplo con el programa completo:

1 2 3 4 5 6 7 8 9 10 11 12
#include<iostream>
using namespace std;

int main() {
    int n;
    cout << "Escribe un numero : ";
    cin >> n;
    for (int i=1; i<=n; i++) {
        if (i%2==1) continue;
        cout << i << " - ";
    }
}
sentencia continue

Tras compilar y ejecutar el programa, éste le pide al usuario que escriba un número. El programa escribirá todos los números pares desde el 2 hasta el número que le hemos dado.

goto : salto hacia otro punto.

La sentencia goto es un poco más complicada. Puede ponerse en cualquier punto del programa, y da un salto hacia otro punto, en el cual hemos puesto una referencia.

para ello escribimos goto seguido de una referencia. Como referencia podemos escribir cualquier palabra (siempre que no sea reservada, ni use caracteres raros), por ejemplo:

goto salto1;

Después en otro punto del programa escribiremos la referencia seguida de dos puntos:

salto1:

La referencia puede estar tanto antes como después del goto. Hay que tener cuidado, cuando el salto es hacia atrás, de no crear un bucle infinito, ya que el programa volverá otra vez a la sentencia goto. Vemos aquí un ejemplo en el que se crea un bucle. Para salir de él el usuario debe pulsar la tecla "s".

1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include<iostream>
using namespace std;

int main() {
    cout << "Uso de goto : escribe s para salir" << endl;
    char c='a';
    salto1:
    cin >> c;
    if (c=='s') goto salto2;
    cout << "Esto no es una s. Escribe s para salir." << endl;
    goto salto1;
    salto2:
    cout << "Has escrito s. Programa acabado." << endl;
}
sentencia continue

Tras compilar y ejecutar el programa, este le pide al usuario que escriba una "s" para salir de él. Si se escribe otra cosa, se entra en un bucle en el que se vuelve a pedir que se escriba una "s".

Tanto para seguir en el bucle, como para salir de él empleamos sentencias goto. Observa cómo la primera de ellas (salto1), crea el bucle al ir hacia atrás, mientras que la segunda (salto2), permite salir del bucle cuando se cumplen ciertas condiciones.

El uso de goto no está muy recomendado, ya que siempre que se pueda se recomienda utilizar otros mecanismos, como pueden ser los bucles o las funciones , que veremos más adelante.






En la siguiente página veremos cómo podemos combinar las estructuras de control, anidando unas con otras.

Estructuras anidadas



Manual Básico de C++

Anterior siguiente ... Siguiente siguiente


imprimir esta página

Página creada por ANYELGUTI.

Sugerencias: aprendeweb@aprende-web.net. Envia un manda un correo

Visita nuestro blog par saber en qué estamos trabajando: Aprende Web Blog

Más sobre anyelguti en http://anyelguti.16mb.com