Vous êtes sur la page 1sur 7

Estructuras de Control

El paradigma de programacin estructurada se basa en el uso de tres estructuras de control


que permiten tres formas nicas para el control de la ejecucin de un programa, su forma
diagramtica se ve como sigue:
La secuencia

La condicin

if ( ) {

if ( ) { } else {

La repeticin

for( ) { }
while( ){ }

do{ }while( )

Observa que cada estructura tiene la caracterstica de tener un nico punto de entrada y un nico
punto de salida. Esto te permite pensar en trminos de procesos independientes,
es decir que termina un proceso y empieza otro.

Secuencia: Como se ha visto en los programas anteriores (secuenciales), la ejecucin de un


programa se realiza de arriba hacia abajo, es decir pasa secuencialmente de una instruccin a la
siguiente y a la siguiente o de una estructura condicional o de repeticin a lo que sigue, que
puede ser otra clusula secuencial, un condicin o repeticin.

Sentencias condicionales
#include <stdio.h>
int main (){
int x;
printf(Dame un numero: );
scanf(%d,&x);
if (x > 0) {
printf(El numero %d es positivo,x);
}
return 0;

La sentencia if
nos permite elegir si se ejecuta o no un bloque de
instrucciones dada una condicin.
if (x > 0) {
printf(El numero %d es positivo, x);
}
-Utiliza una expresin lgica x > 0
-Valor de la expresin lgica verdadero o falso

Bloque de instrucciones dado que


se cumple la condicin
{ }
Nota que aunque estas clusulas de control utilizan parnesis para encerrar las expresiones lgicas
y de control, estas NO son funciones.
Cuaderno de Trabajo programacin con lenguaje C por Mtra. Maria Araceli Nivn Zaghi se distribuye
bajo una Licencia Creative Commons Atribucin-NoComercial-SinDerivar 4.0 Internacional.

79

Expresin lgica:
Es aquella expresin formada por constantes, variables, operadores y conectores lgicos.
Las expresiones lgicas son evaluadas en la UAL8 y obtienen un valor true (verdadero) o false
(falso).
Una lista corta <no completa> tanto de los operadores como de conectores lgicos, los operadores
compuestos se escriben juntos:
Operadores lgicos: <
<=
==
!=
>
>=
!
Conectores lgicos:

y (and)
V &&
V &&
F &&
F &&

V
F
V
F

V
F
V
F

menor
y menor igual
igual
no igual
mayor
mayor igual
not (negacin)
&& and (y)
| | or
()

V
V
F
F

o (or)
|| V
|| F
|| V
|| F

Ejemplo:
#include <stdio.h>
void main (){
int x;
printf(Dame un numero: );
scanf(%d,&x);
if (x >= 0) {
printf(El numero %d es positivo, x);
} else {
printf(El numero %d es negativo, x);
}
}

a< b
a <= b
c == a
c != a
b > a
b >= a
!(c > 5)

equivale c <= 5

a < b && a > c


a<b || a>c

V
F
V
F

Tablas de Verdad sirven para evaluar


expresiones lgicas que contienen conectores
lgicos.

< if > ms la sentencia <else>


Una sentencia if permite ejecutar otro bloque
diferente de cdigo en el caso de que la condicin
no se cumpla.
Nota que la sentencia else
(Puedes leerla como si no)
Tambin encierra con { } su propio bloque de
instrucciones.
Al bloque else se le conoce como bloque de
omisin pues al no contar con una condicin, el
control de flujo entrar en todo caso en donde no se
cumpla el if.

En el lenguaje c, cualquier expresin ya sea aritmtica o ya sea lgica tiene un valor booleano:
En el lenguaje C falso se produce si el valor de una expresin es cero y verdadero si tiene un valor distinto de cero.
Cuaderno de Trabajo programacin con lenguaje C por Mtra. Maria Araceli Nivn Zaghi se distribuye
bajo una Licencia Creative Commons Atribucin-NoComercial-SinDerivar 4.0 Internacional.

80

Identacin de instrucciones
Identar es recorrer o dejar una pequea sangra cada que se inicia un bloque hasta que termina.
La identacin es necesaria para identificar las estructuras que integran los distintos procesos al
momento de leerlos.
La forma de identacin es:

Instruccin 1{
Instruccin 2
Instruccin 3
..
}
Instruccin 4

#include<stdlib.h>
int main( ){
float nota;
printf ("Dame una nota: ");
scanf ("%f", &nota);
if (nota > 9){
printf("Sobresaliente");
}else if(nota >= 7){
printf("Bueno);
}else if(nota >= 5){
printf("Aprobado");
}else{
printf ("Reprobado);
}
return 0;

las instrucciones dentro de cada bloque


se recorren

al terminar regresan al nivel anterior

La sentencia <else if> o < if > de escalera


En la sentencia else (y si no) puede a la vez
depender de una nueva condicin sobre la misma.
Es decir, podemos aumentar las posibilidades de
decisin adems del simple si o no, por lo que es
posible incluir el
} else if ( ){
Un if de escalera puede o no terminar con un else
simple o de omisin, segn la lgica del programa.
}else{
Que es todo lo dems que no haya cumplido
algunas de las condiciones, lgicamente un else
siempre va al final.

Escribe las expresiones lgicas correspondientes:


Expresin lgica

verdadero/falso

22 es mayor que 13
22.5 no es menor que 3.44
'c' no es mayor que 'f'
"coche" no es igual que "Coche"
33 mayor igual que 34 y 22 no es menor
que 14
9 mayor que 3 y 8 mayor que 9
9 igual que 3 y 8 mayor igual que 6
9 igual que 3 8 mayor igual que 6
9 mayor que 3 y 8 mayor igual que 9
9 menor que 3 y 8 mayor que 9
33.0 es mayor igual que 33
32 igual a (22+10) o 32 igual a (12+20)
Cuaderno de Trabajo programacin con lenguaje C por Mtra. Maria Araceli Nivn Zaghi se distribuye
bajo una Licencia Creative Commons Atribucin-NoComercial-SinDerivar 4.0 Internacional.

81

Escribe un programa que pida dos nmeros enteros y que calcule su divisin.
Muestra si la divisin es exacta o no. No hacer la divisin si el divisor es cero. Por Ej.
Utiliza el operador mdulo (%) para saber el residual.
Escribe el dividendo: 14
Escribe el dividendo: 20
Escribe el dividendo: 52.4

Escribe el divisor: 5
Escribe el divisor: 4
Escribe el divisor: 0

La divisin no es exacta. Cociente: 2;


La divisin es exacta.
Cociente: 5
ERROR

Residuo: 4

RAM

Cuaderno de Trabajo programacin con lenguaje C por Mtra. Maria Araceli Nivn Zaghi se distribuye
bajo una Licencia Creative Commons Atribucin-NoComercial-SinDerivar 4.0 Internacional.

87

Escribe un programa que calcule el gasto de agua en una vivienda dado el nmero de litros
consumidos, siendo el sistema de cobro como sigue:
- Hay una cuota fija mensual de $600
- Los primeros 50 litros de consumo se cubren por la cuota fija.
- Despus de los 50 y hasta los 200 litros de consumo, se cobra el litro adicional a $1.00
- Despus de los 200 litros se cobra el litro adicional a $3.00
- Si la persona presenta tarjeta de Adulto Mayor o pensionado, se le hace un descuento del 50%
RAM

Cuaderno de Trabajo programacin con lenguaje C por Mtra. Maria Araceli Nivn Zaghi se distribuye
bajo una Licencia Creative Commons Atribucin-NoComercial-SinDerivar 4.0 Internacional.

88

Escribe un programa que dados los lados de un tringulo te diga si es equiltero, issceles o
escaleno.
RAM

Cuaderno de Trabajo programacin con lenguaje C por Mtra. Maria Araceli Nivn Zaghi se distribuye
bajo una Licencia Creative Commons Atribucin-NoComercial-SinDerivar 4.0 Internacional.

90

Sentencia switch( ) - case


Permite seleccionar entre mltiples alternativas posibles, semejante al if de escalera pero ms
compacta y til cuando se trata de evaluar una variable tipo entera o carcter.
#include <stdio.h>
void main( ){
int seleccion;
printf(Selecciona [1,2,3]: );
scanf(%d, &seleccion);
switch (seleccion) {
case 1: printf(UNO);
break;
case 2: printf(DOS);
break;
case 3: printf(TRES);
break;
}

Variable del switch:


seleccion
Casos:
1, 2 o 3
break:
sale del switch al terminar la
accin.
Qu es lo que veremos en la pantalla?

}
#include <stdio.h>
void main( ){
char respuesta;
printf(Respuesta [s / n]: );
scanf(%c, &respuesta);
switch (respuesta) {
case s:
case S: printf(SI);
break;
case n:
case N: printf(SI);
break;
default: printf(Error);
}

Variable del switch:


respuesta
Casos:
s, S, n, N
Caso SIN break:
entra al caso y continua
con el
siguiente, hasta encontrar un
break.
default:
caso de omisin todo lo dems
Qu es lo que hace este programa?

Escribe el programa completo.


printf(Calificacin: );
scanf(%d, &nota);
switch (nota) {
void main()
case 0:case 1:case 2:case 3:case 4:
case 5:case 6:
case 7:case 8:
case 9:case 10:
default:
int nota;
printf(Suspendido);
printf(Suficiente);
printf(Bien);
printf(Sobresaliente);
printf(Error);

Cuaderno de Trabajo programacin con lenguaje C por Mtra. Maria Araceli Nivn Zaghi se distribuye
bajo una Licencia Creative Commons Atribucin-NoComercial-SinDerivar 4.0 Internacional.

91

Vous aimerez peut-être aussi