c++ cap 4
CODIFICANDO CON CONDICIONALES Y CICLOS
En apartados anteriores se ha establecido una introducción a la codificación y el concepto
básico de bifurcación y ciclos. En este capítulo trataremos de brindar ejemplos específicos de
codificación en ambos rubros.
4.1. Un proceso de decisión sencillo
Recordemos el diagrama básico de la decisión:
sí
instrucciones
no (opcional)instrucciones
Todas las condiciones preguntan acerca de una condición (if). Una respuesta afirmativa
provocará que se realice el bloque de instrucciones indicada; en caso contrario se realiza un
segundo bloque de instrucciones (else). El primer bloque de instrucciones es obligatorio, mientras
el segundo es opcional. Para indicar el inicio y final de cada bloque se emplean llaves; dichasllaves pueden omitirse si el bloque está compuesto por una sola instrucción.
En pseudocódigo se expresaría de la siguiente forma:
si (condición)
bloque 1 de instrucciones
en caso contrario
bloque 2 de instrucciones
termina si
La estructura básica a nivel código es la siguiente:
if (calificacion >= 6)
printf("aprobado);
else
printf("reprobado");
Reflexión 4-1. Cuidados básicos alutilizar else
Aunque la estructura básica de una condicial es sencilla debe tenerse cuidado en
algunos aspectos:
a) La condición debe ser precisa. Por ejemplo: if (calificacion >= 6) es
equivalente a if (calificacion > 5) si la variable calificacion es de tipo
entero, pero no son equiparables si calificacion es de tipo decimal.
b) Cuidado con la sintaxis: la condición se pone entre paréntesis yno lleva coma
después de la misma.
c) Debe de evitarse "duplicar" la condición en lugar de emplear else. El siguiente
código es válido:
if (calificacion >= 6)
printf("aprobado);
if (calificacion < 6)
printf("reprobado");
pero dificultaría el mantenimiento del código. Si la calificación mínima aprobatoria
cambiara a 8, entonces habría que modificar el dato en dos lugares y podría dar pie aerrores si se hiciera en uno solo.
Reflexión 4-2. Utilizar condicionales para validar datos
Es muy buena idea utilizar las condicionales para validar la consistencia de la
información. Por ejemplo: si se pide una fecha, verificar que no se esté
proporcionando un dato equivocado (Vg. 30 de febrero).
A continuación, un ejemplo para determinar el área de un triángulo. Como se ha manejado ensecciones anteriores, se presenta el requerimiento, datos de prueba y código. Observe que la
condicional se utilizó para validar que el triángulo sí puede ser construido.
Paso 1. requerimientos del usuario:
Hacer un programa que reciba los tres lados de un triángulo y devuelva su área. El área queda
determinada bajo la siguiente fórmula:
s = (a + b + c) / 2
____________________
área = √s * (s – a) * (s – b) * (s-c) , donde a, b y c son las longitudes de los lados.
Ejemplo: si los lados valieran 6, 8 y 10, s valdría 16 y el área valdría 24.
Paso 2: diseño preliminar de la pantalla que se obtendrá al finalizar el programa.
Bienvenido.
Este programa obtiene el área de un triángulo a partir de sus
datos.
Teclee sus datos separados por un espacio.
6 8 10
El área deltriángulo es de 24.0
Oprima cualquier tecla para terminar…
Paso 3. diseño del lote de pruebas que se aplicará al terminar el programa.
Datos del usuario
6 8 10
35 9
Resultado esperado
El área del triángulo es de 24.0.
No puede formarse un triángulo de esas dimensiones.
Paso 4. elaborar el algoritmo.
comentario: pseudocódigo para obtener el área de un triángulo
desplegar el texto“Bienvenido”
solicitar los 3 lados del triángulo al usuario
comentario: antes de calcular verificamos si puede hacerse el triángulo
si (a > b + c) ó (b > a + c) ó (c > a + b)
Despliega “No puede formarse un triángulo de esas dimensiones”
en caso contrario
s = (a + b + c) / 2
_________
√ s * (s – a) * (s – b) * (s-c)
área =
desplegar área
despliega “Oprima cualquier tecla para terminar…”...
Regístrate para leer el documento completo.