Vinculación Estructura Condición Interior Anidadas
Objetivo: Comprender y emplear primeramente en un lenguaje común y posteriormente empleando pseudocódigos, la estructura While.
Desarrollo:
La instrucción "While",(mientras) es una estructura de control repetitiva que puede impedir la ejecución de un conjunto de instrucciones, si la evaluación de la expresión relacional y/o lógica es falsa. Esto significa que se convierte en repetitiva únicamente cuando la evaluación de la condición es verdadera.
Significa que si la primera vez, que evalúa la expresión lógica, obtiene un valor "falso", entonces la secuencia de acciones no se realizaría nunca, pero si es verdadera "verdadera" entonces la secuencia de acciones se realizaría varias veces hasta que el valor de la expresión lógica sea falso.
Con respecto a la estructura Do While (Hacer mientras), es otra estructura repetitiva, la cual ejecuta al menos una vez su bloque repetitivo, a diferencia del while podía no ejecutar el bloque de instrucciones.
Esta estructura repetitiva se utiliza cuando conocemos de antemano que por lo menos una vez se ejecutará el bloque repetitivo.
La condición de la estructura está abajo del bloque a repetir, a diferencia del while que está en la parte superior.
Ambas estructuras tienen como finalidad, detener la instrucción planteada en el interior de ellas hasta lograr llegar obtener un valor “verdadero” o “falso” según el requerimiento del programa.
Cierre:
Mediante la técnica de conversación comento ejemplos de las estructuras selectivas y repetitivas.
Apunte personal:
Estructura Anidada
La instrucción: Si se utiliza para diseñar estructuras de selección que contengan más de 2 alternativas
Una sentencia SI_entonces puede contener otra estructura SI_entonces, y esta a su vez puede contener otra, y así sucesivamente; al mismo tiempo, dentro de cada estructura pueden existir diferentes acciones.
Las estructuras SI interiores a otras estructuras SI reciben el nombre de anidadas.
Si <condición> entonces
Si < condición2> entonces
Si <condición3> entonces
.
.
.
<acciones>
Fin_si
Fin_si
Fin_si
Estructuras anidadas:
Y acá el ejemplo completo con estructuras anidadas:
/*
* estructura2.c
*
* Julio César Brizuela <brizuelaalvarado@gmail.com> 2009
*
* para el wikilibro "Programación en C (fundamentos)"
* bajo licencia FDL, adaptado del Dominio Público
*
* Nombre Miembro Tipo
*
* Titulo char[30]
* Artista char[25]
* Precio float
* Total Canciones int
*/
#include <stdio.h>
#include <string.h>
/* creamos nuestra estructura con datos similares */
struct infopersona
{
char direccion[25];
char ciudad[20];
char provincia[20];
long int codigo_postal;
}; /* las estructuras necesitan punto y coma (;) al final */
/* creamos nuestra estructura empleado */
struct empleado
{
char nombre_empleado[25];
/* agregamos la estructura infopersona
* con nombre direcc_empleado
*/
struct infopersona direcc_empleado;
double salario;
}; /* las estructuras necesitan punto y coma (;) al final */
/* creamos nuestra estructura cliente */
struct cliente
{
char nombre_cliente[25];
/* agregamos la estructura infopersona
* con nombre direcc_cliente
*/
struct infopersona direcc_cliente;
double saldo;
}; /* las estructuras necesitan punto y coma (;) al final */
int main(void)
{
/* creamos un nuevo cliente */
struct cliente MiCliente;
/*inicializamos un par de datos de Micliente */
strcpy(MiCliente.nombre_cliente,"Jose Antonio");
strcpy(MiCliente.direcc_cliente.direccion, "Altos del Cielo");
/* notese que se agrega direcc_cliente haciendo referencia
* a la estructura infopersona por el dato direccion
*/
/* imprimimos los datos */
printf("\n Cliente: ");
printf("\n Nombre: %s", MiCliente.nombre_cliente);
/* notese la forma de hacer referencia al dato */
printf("\n Direccion: %s", MiCliente.direcc_cliente.direccion);
/* creamos un nuevo empleado */
struct empleado MiEmpleado;
/*inicializamos un par de datos de MiEmplado */
strcpy(MiEmpleado.nombre_empleado,"Miguel Angel");
strcpy(MiEmpleado.direcc_empleado.ciudad,"Madrid");
/* para hacer referencia a ciudad de la estructura infopersona
* utilizamos direcc_empleado que es una estructura anidada
*/
/* imprimimos los datos */
printf("\n");
printf("\n Empleado: ");
printf("\n Nombre: %s", MiEmpleado.nombre_empleado);
/* notese la forma de hacer referencia al dato */
printf("\n Ciudad: %s", MiEmpleado.direcc_empleado.ciudad);
return 0;
}
Desarrollo:
La instrucción "While",(mientras) es
una estructura de control repetitiva que puede impedir la ejecución de un
conjunto de instrucciones, si la evaluación de la expresión relacional y/o
lógica es falsa. Esto significa que se convierte en repetitiva únicamente
cuando la evaluación de la condición es verdadera.
Significa que si la primera vez, que evalúa la
expresión lógica, obtiene un valor "falso", entonces la secuencia de
acciones no se realizaría nunca, pero si es verdadera "verdadera"
entonces la secuencia de acciones se realizaría varias veces hasta que el valor
de la expresión lógica sea falso.
Con respecto a la estructura Do While (Hacer
mientras), es otra estructura
repetitiva, la cual ejecuta al menos una vez su bloque repetitivo, a diferencia
del while podía no ejecutar el bloque de instrucciones.
Esta estructura repetitiva se utiliza cuando
conocemos de antemano que por lo menos una vez se ejecutará el bloque
repetitivo.
La condición de la estructura está abajo del
bloque a repetir, a diferencia del while que está en la parte superior.
Ambas estructuras tienen como finalidad,
detener la instrucción planteada en el interior de ellas hasta lograr llegar
obtener un valor “verdadero” o “falso” según el requerimiento del programa.
En Anáhucan, con mi amigo Bruno, vimos un sistema para separar las pelotas de plástico en colores, y bajo una estructura de control se tenía dominio sobre la selección de pelotas y el color para cada bolsa.