martes, 19 de julio de 2022

4.- ESTRUCTURAS RAMIFICADAS

En curso pasado ya hablamos de las estructuras condicionales, capaces de crear ramificaciones en una estructura secuencial dependiendo de que se cumpla o no una determinada condición. La sintaxis de dicha estructura es casi universal en todos los lenguajes de programación

if (expresión){
acción 1;
acción 2;
....
}
else {
acción 1;
acción 2;
}


Estudie este programa de ejemplo
#include <stdio.h>
main(){
float n,millas,km;
int option;
printf("Escoge la opcion:");
printf("\n 1: Kilometros a millas         ");
printf("\n 2: Millas a kilometros         ");
scanf("%d",&option);
if (option==1){
printf("Introduce los kilometros:   ");
scanf("%f",&n);
millas=n/1.609;
printf("Las millas son: %f",millas);
}
else {
printf("Introduce las millas:    ");
scanf("%f",&n);
km=n*1.609;
printf("Los km son: %f",km);
scanf("%f",&km);
}

}

Las expresiones condicionales pueden ser de muy diferente índole. Es muy común que existan los operadores
== igual
> mayor
< menor
>=mayor o igual
<= menor o igual
!= distinto de 
Pero también se pueden enlazar condiciones mediante operadores lógicos
&& Y
| | O
El operador && se puede sustituir por una estructura condicional compleja denominada if anidados. En la cual existe una condición en el interior de otra condición.
Finalmente, cuando se quieren realizar diferentes acciones dependiendo del valor de una determinada variable se puede utilizar la condición múltiple switch. Veámos como ejemplo el siguiente programa:
#include <stdio.h>
main(){

float n1,n2;
float suma, resta, multiplicacion, division;
char option;

printf("\n Introduce el primer numero:   ");
scanf("%f", &n1);
printf("\n Introduce el segundo numero:   ");
scanf("%f", &n2);

   printf("\n opcion 1 suma, 2 resta, 3 multiplicacion, 4 division         ");
scanf("%d", &option);
switch (option){
case 1:
suma=n1+n2;
printf ("\n La suma es %f:      ", suma);
scanf("%f", &suma);
break;
case 2:
resta=n1-n2;
printf ("\n La resta es %f:   ", resta);
scanf("%f", &resta);
break;
case 3:
multiplicacion=n1*n2;
printf ("\n La multiplicacion es %f:      ", multiplicacion);
scanf("%f", &multiplicacion);
break;
case 4:
division=n1/n2;
printf ("\n La division es %f:   ", division);
scanf("%f", &division);
break;
default:
printf ("\n Error opcion incorrecta");
break;
}
}

ACTIVIDADES

1.- Estudie detenidamente el código de los dos ejemplos y realice un análisis a partir del cual pueda dibujar su diagrama de flujo
2.- Diseñe y compile un programa usando C++ que dado 3 números cualesquiera los ordene de mayor a menor. (NOTA: Comience diseñando el programa con 2 números y luego realice las variaciones pertinentes para 3). ¿Podría hacerlo con más números? ¿Qué modificaciones precisaría el programa?

No hay comentarios:

Publicar un comentario

3.- CONTROL DE CALIDAD

ACTIVIDADES 1.- ¿Cuáles son las diferencias entre tolerancia y error de la medida? 2.- Busca en Internet aparatos utilizados en el ...