ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

UNIDAD III ESTRUCTURA DE CONTROL


Enviado por   •  7 de Noviembre de 2019  •  Prácticas o problemas  •  3.991 Palabras (16 Páginas)  •  116 Visitas

Página 1 de 16

UNIDAD III

ESTRUCTURA DE CONTROL

3.1 PROPOSICIONES Y BLOQUES

PROPOSICIÓN: Sentencias en C que terminan con un punto y coma.

x = 0 ;

Ya que C es un lenguaje estructurado, soporta bloques de código

BLOQUES: Serie de sentencias o proposiciones agrupadas entre llaves { }, conectadas lógicamente, que la computadora trata como una unidad.

Son una unidad lógica: una sentencia no se puede ejecutar sin la otra.

Pueden ser también llaves que encierran a una función o proposiciones múltiples después de un if, else, while o for.

ESTRUCTURAS DE CONTROL:

Se pueden dividir en tres categorías:

1.- Instrucciones condicionales: IF y SWITCH

2.- Sentencias de control de bucle: WHILE, FOR, y DO-WHILE.

3.- Instrucción de bifurcación incondicional: GOTO.

3.2 IF-ELSE

La proposición IF-ELSE se utiliza para expresar decisiones, la sintaxis es:

if (condición)

sentencia1;

else

        sentencia2;

condición: expresión que se evalúa para ver si es Verdad o Falsa

else: Es opcional.

Funcionamiento de if:

  • Si condicion = V o 1, se ejecutará la sentencia o bloque que forma el objetivo de if.
  • De lo contrario si existe else, la computadora ejecutará la sentencia o bloque que es el objetivo de else.
  • Solo el código asociado con if o el else se ejecutará –Nunca ambos.
  • El objetivo de if como de else, pueden ser sentencias simples o bloques de sentencias.

* Recordar que un if o else, con varias sentencias, estas deberán colocarse entre llaves.

PROGRAMA DE EJEMPLO 10

/*PROGRAMA CONVERSOR DE NUMEROS

  VERSION 1

  CONDICIONAL IF*/

#include

#include

void main ()

{

int opcion, valor;

clrscr ();

printf("                             PROGRAMA VERSION 1\n");

printf("CONVERSION:\n");

printf("        1: DECIMAL A HEXADECIMAL\n");

printf("           2: DECIMAL A OCTAL\n");

printf("           3: DECIMAL A OCTAL\n");

printf("           4: OCTAL A DECIMAL\n");

printf("\nINTRODUZCA UNA OPCION:  ");

scanf ("%d", &opcion);

if (opcion==1)

        {

        printf("INTRODUZCA UN VALOR DECIMAL: \n");

        scanf ("%d", &valor);

        printf("%d EN HEXADECIMAL ES: %x", valor, valor);

        }

if (opcion==2)

        {

        printf("INTRODUZCA UN VALOR HEXADECIMAL: \n");

        scanf ("%x", &valor);

        printf("%x EN DECIMAL ES: %d", valor, valor);

        }

if (opcion==3)

        {

        printf("INTRODUZCA UN VALOR DECIMAL: \n");

        scanf ("%d", &valor);

        printf("%d EN OCTAL ES: %o", valor, valor);

        }

if (opcion==4)

        {

        printf("INTRODUZCA UN VALOR OCTAL: \n");

        scanf ("%o", &valor);

        printf("%o EN DECIMAL ES: %d", valor, valor);

        }

getch ();

}

PROGRAMA DE EJEMPLO 11

/*PROGRAMA QUE MUESTRA SENTENCIA IF-ELSE*/

#include

#include

void main ()

{

int i;

clrscr();

printf("INTRODUZCA UN NUMERO: \n");

scanf ("%d", &i);

if (i<0)

        printf("EL NUMERO ES NEGATIVO\n");

else

        printf("EL NUMERO ES POSITIVO O CERO");

getch();

}

ESCALONADOR IF-ELSE-IF

if  (condición)

        sentencia;

else if (condición)

        sentencia;

else if (condición)

        sentencia;

.

.

.

else

        sentencia;

Funcionamiento de if-else-if:

  • La computadora evalúa las expresiones condicionales desde arriba y va descendiendo.
  • Cuando la computadora encuentra una condición verdadera, ejecuta la sentencia asociada y salta el resto de la escalera.
  • Si no son verdad ninguna condición se ejecutará el else final, este actúa como condición por defecto, es decir por si fallan todas las anteriores.
  • Si no hay else final y son falsas las otras condiciones, no se hace nada.

En la primera versión del programa  cada sentencia de if se evaluaba en secuencia, aunque alguna de las primeras sentencias hubiera sido verdadera, sin embargo la evaluación de todos los ifs, no es ni muy eficiente ni muy elegante, por lo que el siguiente programa resuelve este problema. En esta versión del escalonador if-else-if, tan pronto como aparece una sentencia if, se sobrepasan el resto de las sentencias, se puntean.

PROGRAMA DE EJEMPLO 12

/*PROGRAMA CONVERSOR DE NUMEROS

...

Descargar como (para miembros actualizados)  txt (18.5 Kb)   pdf (244 Kb)   docx (22.7 Kb)  
Leer 15 páginas más »
Disponible sólo en Clubensayos.com