Bucles:
El bucle for se utiliza para repetir un conjunto de sentencias un número de veces fijado de antemano.
Se necesita una variable contadora, un valor inicial, un valor final y un incremento.
En este código que te pongo a continuación, es un programa que
realiza la media de 5 números introducidos por el usuario. Este código
esta realizado en c++ y utilizo un bucle while para resolverlo.
06 | int contador, valor, suma, inicio, final; |
12 | while (contador <= final){ |
13 | cout << "Introduce el número " << contador << ": \n" ; |
18 | media = suma / (final *1.0); |
19 | cout << "La media es " << media << endl; |
La sentencia for permite la construcción de una forma compacta de
los ciclos controlados por contador, aumentando la legibilidad del
código. Su sintaxis es la siguiente:
for (i=valor inicial; i<=valor final; i++){
sentencias
}
Suponemos que i es una
variable entera, tenemos un valor inicial un valor final y un
incremento. En lenguaje convencional esto se diría de la siguiente
manera: para i igual a valor inicial hasta i menor o igual que valor
final, realiza las sentencias luego aumenta i y revisa la condición.
Como ejemplo te voy a poner el programa anterior pero realizado con el blucle for:
04 | int contador, valor, suma, inicio, final; |
09 | for (contador=inicio ; contador <= final ; contador++){ |
10 | cout << "Introduce el número " << contador << "o: \n" ; |
14 | media = suma / (final*1.0); |
15 | cout << "La media es " << media << endl; |
¿De que depende que el bucle se repita 5 veces? Como puedes comprobar
las veces que se repite depende del programador. Él decide el valor
inicial, el valor final y el operador relacional (según el que pongas
variará las veces que se repita el bucle, no es lo mismo < que
< = ).
Ejemplo: Programa que escribe 9 veces “hola”
2 | for (i = 1; i <= 9; i++) |
Este ejemplo hace lo mismo pero, cambio los valores iniciales y finales y la condición:
2 | for (i = 0; i < 10; i++) |
Excepciones:
Una excepción es posible error que puede ocurrir debido a una mala entrada
por parte del usuario, un mal funcionamiento en el hardware, un
argumento inválido para un cálculo matemático, etc. Para remediar esto,
el programador debe estar atento y escribir los algoritmos necesarios
para evitar a toda costa que un error de excepción pueda hacer que el
programa se interrumpa de manera inesperada. C++ soporta una forma más
directa y fácil de ver tanto para el programador como para los revisores
del código en el manejo de excepciones que su símilar en el C estándar y
esta consiste, tratándose del lenguaje C++, en el mecanismo try, throw y catch.
Palabras reservadas (funciones):
try: bloquea para detectar excepciones.
throw: un manejador para manejar excepciones de throw.
catch: manda el mensaje y ejecuta el programa como si nada.
La lógica del mecanismo mencionado consiste en:
- Dentro de un bloque try se pretende evaluar una o más expresiones y si dentro de dicho bloque se produce un algo que no se espera se lanza por medio de throw una excepción, la misma que deberá ser capturada por un catch específico.
- Puesto que desde un bloque try pueden ser lanzados diferentes tipos de errores de excepción es que puede haber más de un catch para capturar a cada uno de los mismos.
- Si desde un try se lanza una excepción y no existe el mecanismo catch para tratar dicha excepción el programa se interumpirá abruptamente despues de haber pasado por todos los catchs que se hayan definido y de no haber encontrado el adecuado.
- Los tipos de excepciones lazados pueden ser de un tipo primitivo tal como: int, float, char,
etc. aunque normalmente las exepciones son lanzadas por alguna clase
escrita por el usuario o por una clase de las que vienen incluidas con
el compilador.
No hay comentarios:
Publicar un comentario