PDF de programación - Tema 3: Estructuras de control

Imágen de pdf Tema 3: Estructuras de control

Tema 3: Estructuras de controlgráfica de visualizaciones

Publicado el 14 de Diciembre del 2018
216 visualizaciones desde el 14 de Diciembre del 2018
806,6 KB
57 paginas
Creado hace 3a (22/09/2016)
Tema 3. Estructuras de control

3.1. Secuencial

3.2. Selección

3.3. Repetición

2

Objetivos

• Objetivos del tema:

– Conocer y saber la utilidad de las tres estructuras de control

(secuencial, alternativa y repetitiva) en el paradigma de la

programación estructura.

– Aprender a utilizar las sentencias asociadas a las estructuras

de control y los algoritmos fundamentales basados en ellas.

– Aprender a identificar distintos

tipos de problemas y

desarrollar soluciones algorítmicas que los resuelvan.

– Todo ello utilizando el lenguaje C de forma estructurada.

Tema: Estructuras de control

3

Índice

• Secuencia

• Selección:

– if
– if ...else
– switch

• Repetición:

– while
– do … while
– for

Tema: Estructuras de control

4

Ejemplo. Programa con alternativa e iterativa

/* Programa que escribe los num primeros números naturales */

#include <stdio.h>
int main()
{

int contador, num;
printf("Escribe un numero entero: ");
scanf("%d", &num);
if (num <= 0) printf("numero incorrecto");
else {

contador = 1;
while (contador <= num)
{

printf ("%d \n", contador);
contador++;

}

}

return 0;

}

Tema: Estructuras de control

5

Estructura de Control: Secuencial

• Finalidad: conocer el conjunto de acciones y el orden en que

deben realizarse: de manera automática, una a una, en el orden en
que están escritas.

• Representación:

– Lenguaje C

{

}

sentencia 1;
sentencia 2;
.
.
.
sentencia N;

Bloque o

Sentencia compuesta

Tema: Estructuras de control

6

Estructura de Control: Alternativa

• Finalidad: permite elegir, de entre distintos grupos de

sentencias, cuál es la que se ejecuta.

• Tipos de Alternativas (o condicionales):

– Simple

– Doble

– Múltiple

Tema: Estructuras de control

7

Estructura de Control: Alternativa Simple

• Finalidad: permite realizar un conjunto de acciones solo cuando

se cumpla una determinada situación.

• Representación en el lenguaje C

if (condición)

sentencia

La condición es una expresión entera lógica.

La sentencia puede ser simple o compuesta (bloque).

Se

ejecutará sólo si la condición es verdadera (toma un valor distinto

de cero).

Tema: Estructuras de control

8
8

Alternativa Simple. Sintaxis

if (condición)

sentencia

Con una sentencia:

Con sentencia compuesta:

if (condición)

sentencia;

if (condición)
{

sentencia1;
sentencia2;


}

Tema: Estructuras de control

9
9

Estructura de Control: Alternativa Simple

Escribir un programa que lea un número

entero e

imprima su valor absoluto.

#include <stdio.h>
int main ( )
{

int num;
printf( “introduce un número entero: \n”);
scanf(“%d”, &num);

if (num < 0) num = -num ;

printf( “el valor absoluto es: %d\n”, num);
return 0;

}

Tema: Estructuras de control

10

Estructura de Control: Alternativa Simple

Escribir un programa C que lea un número, entre 0 y 10, que
indica una nota y escriba un mensaje de salida en el caso de
estar aprobado.

#include <stdio.h>
int main ( )
{

float nota;
printf(“Introduce la nota obtenida (0-10):”);
scanf(“%f”, &nota);
if (nota>=5)

printf(“\n Enhorabuena, has aprobado”);

return 0;

}

¿Qué hace el programa si el alumno suspende?

¿Cómo sabemos si el programa funciona correctamente?

Tema: Estructuras de control

11

Estructura de Control: Alternativa Doble

• Finalidad: permite realizar un conjunto de acciones u otras en
el caso de que se cumpla o no una determinada situación.

• Representación en el lenguaje C

if (condición) sentencia1 else sentencia2

condición es una expresión entera lógica.

sentencia1 es

o
compuesta), que se ejecutará si la condición es verdadera (toma
un valor distinto de cero).

ejecutable

sentencia

cualquier

(simple

sentencia2 es

cualquier

sentencia

compuesta), que se ejecutará si
cero).

ejecutable

o
la condición es falsa (igual a

(simple

Tema: Estructuras de control

12

Alternativa Doble. Sintaxis

if (condición) sentencia1 else sentencia2

Con una sentencia:

Con sentencia compuesta:

if (condición)
sentencia1;

else

sentencia2;

if (condición)

{

}
else

{

}

sentencia1.1;
sentencia1.2;


sentencia2.1;
sentencia2.2;


Tema: Estructuras de control

13
13

Estructura de Control: Alternativa Simple

Escribir un programa C que lea un número, entre 0 y 10, que
indica una nota y escriba un mensaje de salida indicando si
está aprobado o suspenso.

#include <stdio.h>

int main ( )

{

}

float nota;

printf(“Introduce la nota obtenida (0-10):”);

scanf(“%f”, &nota);

if (nota>=5)

printf(“\n Enhorabuena, has aprobado”);

else printf(“\n Estas suspenso”);

return 0;

Tema: Estructuras de control

14

Estructura de Control: Alternativa Doble

Escribir un programa C que lea dos números enteros distintos
e indique cuál de los dos es mayor, el primer número o el
segundo.

#include <stdio.h>
int main ( )
{

int n1, n2;
printf( “introduce dos números enteros: \n”);
scanf(“%d%d”, &n1, &n2);

if (n1 > n2)

printf( “el mayor es el primero: %d”, n1);

else

printf( “el mayor es el segundo: %d”, n2);

return 0;

}

Tema: Estructuras de control

15

Estructura de Control: Alternativa Doble Anidada

Escribir un programa C que lea dos números enteros distintos e
indique cuál de los dos es mayor, el primer número, el segundo
o si son iguales.
#include <stdio.h>
int main ( )
{

int n1, n2;
printf( “introduce dos números enteros: \n”);
scanf(“%d %d”, &n1, &n2);

if (n1 > n2)

printf( “el mayor es el primero: %d”, n1);

else if (n2 > n1)

printf( “el mayor es el segundo: %d”, n2);

else printf( “los dos números son iguales);

return 0;

}

Tema: Estructuras de control

16

Estructura de Control: Alternativa Doble Anidada

Alternativa if doble anidada

• Una de las sentencias (sentencia1 y/o sentencia2) es a su vez

una sentencia if.

• Cuando se anidan alternativas dobles puede haber

ambigüedad, la regla de correspondencia es:

un else se asocia al if anterior más cercano que no tenga

asociado otro else. Para romper la regla se usan { }

Tema: Estructuras de control

17

Estructura de Control: Alternativas

Escribir un programa C que lea tres números enteros distintos e

indique cuál es el mayor de los tres con un mensaje en pantalla

Tema: Estructuras de control

18

Estructura de Control: Alternativa Múltiple

Estructura if-else-if

– Se utiliza para expresar más claramente las distintas alternativas.

– Si hay que elegir entre una lista de opciones, y únicamente

una de ellas es válida:

if (cond1) sentencia1;
else

if (cond2) sentencia2;

else

if (cond1) sentencia1;

else

if (cond2) sentencia2;

Equivale a:

else

if (cond3) sentencia3;

if (cond3) sentencia3;

else sentencia4;

else sentencia4;

}

Tema: Estructuras de control

19

Estructura de Control: Alternativa Múltiple

El formato de la sentencia switch es:

switch ( selector ) {

case constante1: [sentencia 1]
case constante2: [sentencia 2]

[default: sentencia n]

[break;]
[break;]

[break];

}

Selector: expresión de tipo ordinal (int o char). Se evalúa y se compara con

cada una de las etiquetas case.

Cada constante es un valor único del tipo del selector.
default: Si el valor del selector no coincide con ninguna de las constantes se

ejecuta sentencia n

Se evalúa el selector y se compara, por orden, con cada una de las
constantes del case. Si se encuentra el valor, se ejecutan la secuencia de
instrucciones asociadas con el case, hasta que se encuentra la instrucción
break o el final de la instrucción switch.

Tema: Estructuras de control

20

Estructura de Control: Alternativa Múltiple

Dado el siguiente programa codificarlo empleando la sentencia switch.

#include <stdio.h>

int main()

{

int num;

printf( "Introduce un número " );

scanf( "%d", &num );

if ( num==1 ) printf( "Es un uno\n" );

else if ( num==2 ) printf( "Es un dos\n" );

else

if (num==3) printf ( "Es un tres\n" );

else printf( "No era ni 1, ni 2, ni 3\n" );

return 0;

}
Tema: Estructuras de control

21

Estructura de Control: Alternativa Múltiple

Y codificado con la estructura if-else-if …

#include <stdio.h>
int main()
{

int num;
printf("Introduce un número ");
scanf("%d", &num);

if (num==1) printf("Es un uno\n");

else if (num==2) printf("Es un dos\n");

else if (num==3) printf("Es un tres\n");

else printf ("No era ni 1, ni 2, ni 3\n");

return 0;

}

Tema: Estructuras de control

22

Estructura de Control: Alternativa Múltiple

#include <stdio.h>

int main()

{

int num;
printf( "Introduce un número " );
scanf( "%d", &num );
switch( num ) {

case 1: printf( "Es un uno\n" );

break;

case 2: printf( "Es un dos\n" );

break;

case 3: printf( "Es un tres\n" );

break;

default: printf( "No es ni 1, ni 2, ni 3\n" );

}
return 0;

}

Tema: Estructuras de control

23
23

Estructura de Control: Iterativas

• Finalidad:

permite la repetición de una acción o un grupo de acciones .

• Componentes de un ciclo:

– valores iniciales

– condición de finalización

– cuerpo del ciclo

• Tipos de acciones iterativas.

– Mientas:

while

– Hacer … Mientras : do … while

– Para:

for

Tema: Estructuras de control

24

Estructura de Control: Iterativa Mientras

Representación en el lenguaje C

while (condición)

sentencia

condición es una expresión entera lógica que controla la secuencia
de repetición. Se evalúa antes de ejecutar la sentencia.

sentencia simple o compuesta, se ejecuta cuando la condición es
verdadera (distinta de cero).

El cuerpo del bucle while se ejecutará cero o más veces

Tema: Estructuras de control

25

Estructura de Control Iterativa

Ejemplo. Escribir los 10 primeros números naturales

#include <stdio.h>
int main()
{

int contador;
contador = 1;
while (contador <= 10)
{

printf ("%d \n", contador);
contador++;

}
return 0;

}

Tema: Estructuras de control

26

Estructura de Control Iterativa

Ejemplo. Escribir los 10 primeros números naturales

#include <stdio.h>
int main()
{

int contador;
contador = 0;
while (contador < 10)
{

contador++;
printf ("%d \n", contador);

}
return 0;

}

Tema: Estructuras
  • Links de descarga
http://lwp-l.com/pdf14531

Comentarios de: Tema 3: Estructuras de control (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad