lunes, 3 de diciembre de 2018

Estructuras de control (While, Do while) 2.0 2T

Estructuras de control 2.0 2T

Vinculación Estructura Condición Interior Anidadas 

ObjetivoComprender 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.

EJEMLO:

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.