Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CAMPUS TOLUCA
Instrucciones condicionales
Sentencia if…else
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
La utilizamos cuando tenemos una condición que nos arroja dos resultados:
Verdadero o Falso.
Por ejemplo: Escribir un programa en C que lea una edad e indique si la persona
puede votar o no
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
#include <stdio.h>
Operadores condicionales
int main(){
Las condiciones que van dentro de los paréntesis usan
float saldo, deposito, retiro;
operadores condicionales, que son los siguientes: <, >, <=, >=,
saldo = 300;
==, !=.
printf("Cuanto deposita: ");
(Menor, mayor, menor-igual, mayor-igual, igual, diferente)
scanf("%f", &deposito);
En el siguiente ejemplo utilizamos una instrucción if…else y un
saldo = saldo + deposito;
operador menor-igual <=
printf("Cuanto retira: ");
Ejemplo: Realizar programa que utilice un saldo lea un deposito,
scanf("%f", &retiro);
agrege el deposito al saldo, lea un retiro, verifique que hay
if (retiro <= saldo){
suficiente saldo. Si hay suficiente saldo, realiza la operación.
saldo = saldo - retiro;
printf ("Su nuevo saldo es: %.2f",
saldo);
}
else{
printf("No hay suficiente saldo");
}
}
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Ifs anidados
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
#include <stdio.h>
int main() El primer if utiliza un operador
{ igual == para determinar si el
int n; número es cero. (Tiene que escribir
printf("Escriba un numero"); ==, si escribe un solo signo = está
scanf("%d", &n); indicando una operación de
if (n==0){ asignación, no de comparación).
printf("Es nulo"); Cuando no es cero (la parte else)
} quiere decir que es positivo o
else negativo. Para saber si es positivo o
if (n<0){ negativo usamos otro if. En este
printf("Es negativo"); segundo if solo tenemos que
preguntar si es menor que cero
else{ (n<0), la parte else por lógica indica
printf("Es positivo"); que el número es positivo.
}
}
}
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Operadores lógicos
Los operadores lógicos son Y, O, y NO (AND, OR y NOT). En
lenguaje C se utilizan estos símbolos: &&, || y !
Se utilizan para que evaluar dos o más condiciones en un solo if.
Vea el siguiente ejemplo:
Hacer un programa que realice descuentos en base a lo
siguiente:
•Si la compra es menor a 500 no hay descuento
•Si es entre 500 y 1000, 10% de descuento
•Si es entre 1000 y 2000, 20% de descuento
•Si es mayor a 2000, 30% de descuento
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Operador AND
Tabla de verdad
V && V = V
V && F = F
F&& V =F
F && F= F
Si el usuario introdujera el valor de compra de 1200, y la
instrucción fuese:
if (compra >= 500 && compra < 1000)
la primera condición sí da verdadero (compra es mayor que
500), pero la segunda da falso (compra no es menor que 1000),
por lo que la sentencia completa da falso y no se ejecutaría la
sección de código correspondiente.
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Comparación de cadenas en C
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Operador OR || (Ó)
.
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Tabla de verdad
V || V = V
V || F = V
F || V = V
F || F = F
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
El control de flujo se logra mediante instrucciones iterativas o cíclicas, donde una secuencia de instrucciones se ejecuta una y
otra vez mientras se cumpla una condición. Cuando esa condición no se cumple, se finaliza la ejecución de la estructura de
iteración (García, 2002).
Ciclo For
Un ciclo for es una estructura de iteración. Esto quiere decir que nos permitirá ejecutar una
instrucción (o serie de instrucciones) un número determinado de veces.
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Ciclo while
Un ciclo while realiza un conjunto de instrucciones mientras una condición sea cierta
(sea diferente de 0). Cuando la instrucción es 0 (o falso) se suspende la ejecución del
ciclo.
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
#include <stdio.h>
int main(){
int saldo=0, deposito=0, retiro=0, opcion=0; Explicación: La variable que controla el ciclo es opción, que
printf("Introduzca saldo inicial: "); inicialmente tiene un valor de 0.
scanf("%d", &saldo);
while(opcion != 5){
Se utiliza la instrucción while para evaluar si la variable opción es
printf("===Bienvenido al banco===");
printf("\nElija una opcion"); diferente de 5, el valor con el que se cierra el programa
printf("\n1. Depositar"); (while(opcion != 5)).
printf("\n2. Retirar");
printf("\n3. Ver saldo");
printf("\n4. Abonar intereses");
printf("\n5. Salir"); Mientras no sea 5 se muestra el menú y se ejecutan las opciones.
printf("Su opcion: "); Cuando el usuario escribe 5, el programa realiza la opción 5, y
scanf("%d", &opcion);
finaliza.
if (opcion == 1){
printf("Monto a depositar: ");
scanf("%d", &deposito);
saldo = saldo + deposito;
}
if (opcion == 3){
printf("\nSu saldo es: %d", saldo);
}
if (opcion == 5){
printf("\nGracias por usar este programa");
}
Docente:} Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Ciclo do-while
La principal diferencia con los otros dos ciclos (for y while) es que el ciclo do-while evalúa
la condición al final del bloque de instrucciones.
Esto implica que realizará por lo menos 1 vez el conjunto de instrucciones que forman el
cuerpo del ciclo.
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Ciclos anidados
Dado que una instrucción iterativa puede incluir cualquier tipo de instrucción, un ciclo puede
contener a otro ciclo en su cuerpo de instrucciones.
Ejemplo: Se desea leer las calificaciones de 5 alumnos, por cada alumno se leen 3 calificaciones.
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Ejemplo: Se desea leer 10 calificaciones aceptando únicamente las calificaciones que estén en el rango de 0 a 10.
#include <stdio.h> Explicación: Se utiliza un for para las 10
int main(){
int calif=0;
calificaciones.
int erronea=0;
int i; Ahora bien, para aceptar únicamente
for (i = 1; i<=10; i++){ calificaciones válidas se utiliza un do-while. Si usas
do{ un if, también realiza la validación, pero continúa
printf("\nEscriba una calificacion correcta: con la siguiente calificación. Un do-while vuelve a
"); pedir (una y otra vez) la calificación, mientras no
scanf("%d", &calif); se le de una calificación correcta. En este ejemplo
if (calif <0 || calif > 10){
erronea=1;
se utiliza una varible centinela llamada errónea,
printf("\nLa calificacion es erronea, que es inicializada en 0 (no es errónea). Se utiliza
introduzca de nuevo: "); un if para hacer la evaluación de si el número está
} fuera del rango. Si está fuera del rango errónea se
else{ cambia a 1. Volverá a pedir la calificación
erronea = 0; mientras errónea tenga ese valor de 1.
}
} while (erronea != 0); La única forma de que errónea vuelva a ser cero
printf("\nGracias!!");
}
es dando una calificación correcta.
} Docente: M en ED. Carmen Fabiola Jiménez Govea
Docente: Departamento de Sistemas y Computación
TECNOLÓGICO NACIONAL DE MÉXICO
CAMPUS TOLUCA
Docente: Docente: M en ED. Carmen Fabiola Jiménez Govea Departamento de Sistemas y Computación