clase 03
DESCRIPTION
PROGRAMACION EN CTRANSCRIPT
Estructuras Condicionales
Clase 03
Tener en cuenta
int a=7,b=8,c=9,x,y,x = (a<b)*(b<c); //x es 1y=(a<c)*(c<a); //y es 0
Diagrama de Flujo
• El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso, con los siguientes símbolos básicos.
Sentencia, lectura, y escritura de datos
Inicio y Fin
Condicional
Flujo
Estructuras
• Estructura Secuencial • Estructura Condicional
Proposición IF ELSEif(expresion){ sentencia1; sentencia2; ........ }
Proposición IF ELSEif(expresion){ sentencia1; sentencia2; } sentencia3; sentencia4; sentencia5;
Proposición IF ELSE
if(expresion){ sentencia1; sentencia2;}else{ sentencia3; sentencia4; } sentencia5; sentencia6;
Proposición IF ELSE
if(exp.1){ sentencia1; }else if(exp.2){ sentencia2; }else if(exp.3){ sentencia3; }else{ sentencia4; }
Ejemplo 1• Escribir un algoritmo que pida dos números y saque el mayor de ellos
por pantalla, informando en el caso de que los dos números sean iguales.
#include<stdio.h>int a,b;int main(){ printf("Leer /n"); scanf("%d %d",&a,&b); if(a==b){ printf("Son iguales"); }else if(a>c){ printf("El mayores %d /n",a);
}else{ printf("El mayores %d /n",b);
} return 0;}
Ejemplo 2• Escribir un algoritmo que lea tres valores enteros distintos
y muestre por pantalla el mínimo y el máximo de ellos.
Ejemplo 2• Escribir un algoritmo que lea
tres valores enteros distintos y muestre por pantalla el mínimo y el máximo de ellos.
#include<stdio.h>int a,b,c;int main(){ printf("Leer /n"); scanf("%d %d %d",&a,&b ,&c); if(a>b){ if(a>c){ if(b>c){ printf("%d , % d ",c,a); }else{ printf("%d , % d ",b,a); } }else{ printf("%d , % d ",b,c); } }else{ if(c>b){ printf("%d , % d ",a,c); }else{ if(a>c){ printf("%d , % d ",c,b); }else{ printf("%d , % d ",a,b); } } } return 0;}
Pregunta 1
• Que muestre un menú que contemple las opciones 1=“Archivo”, 2=“Buscar” y 3=“Salir”, en caso de que no se introduzca una opción correcta se notificará por pantalla.
• Realizar un programa donde una persona puede manejar si tiene mas de 18 años tiene carnet de conducir y si es menor de 90 años.
• Que pida tres números y detecte si se han introducido en orden decreciente.
Tener en cuenta
int afloat bchar cscanf(« %d %c %f»,&a,&c,&b);
Pregunta 1
• Ingrese un entero, carácter y un float (en este orden), realizar operaciones matemáticas de acuerdo al carácter, si el carácter es «s» se suma, si es «r» se resta, si no reconoce el carácter se tiene que imprimir. Las operaciones son con el entero y el float.
Ejercicio 2
• Que muestre un menú donde las opciones sean “Equilátero”, “Isósceles” y “Escaleno”, pida una opción y calcule el perímetro del triángulo seleccionado.
Selección Múltiple
Proposición switchswith(expresion){ case 1: sentencia 1; sentencia 2; break; case 2: sentencia 3; break; case 3: sentencia 4; sentencia 5; sentencia 6; break; default: sentencia 7; break; }
Proposición switch#include <stdio.h>int main(){ char c ; printf("\n A = ADICIONAR A LA LISTA ") ; printf("\n B = BORRAR DE LA LISTA ") ; printf("\n O = ORDENAR LA LISTA ") ; scanf("%c",&c); switch (c) { case 'A' : printf("\nUD. SELECCIONO A") ; break ; case 'B' : printf("\nUD. SELECCIONO B") ; break ; case 'O' : printf("\nUD. SELECCIONO O") ; break ; default : printf("\nUD. NO SELECCIONO" ) ; break ; } return 0;}
#include <stdio.h>int main(){ char c ; printf("\n A = ADICIONAR A LA LISTA ") ; printf("\n B = BORRAR DE LA LISTA ") ; printf("\n O = ORDENAR LA LISTA ") ; scanf("%c",&c); switch (c){ case 'A' : printf("\nUD. SELECCIONO A") ; break ; case 'B' : printf("\nUD. SELECCIONO B") ; break ; case 'O' : printf("\nUD. SELECCIONO O") ; break ; default : printf("\nUD. NO SELECCIONO" ) ; break ; } return 0;}
Switch vs If Else#include <stdio.h>int main(){ char c ; printf("\n A = ADICIONAR A LA LISTA ") ; printf("\n B = BORRAR DE LA LISTA ") ; printf("\n O = ORDENAR LA LISTA ") ; scanf("%c",&c); if( c == 'A'){ printf("\nUD. SELECCIONO A") ; }else{ if( c == 'B'){ printf("\nUD. SELECCIONO B") ; }else{ if( c == 'O' ){ printf("\nUD. SELECCIONO O") ; }else{ printf("\nUD. NO SELECCIONO " ) ; } } } return 0; }
Ejercicio 1
• Que pida un número del 1 al 7 y diga el día de la semana correspondiente
Ejercicio 2
• Que muestre un menú donde las opciones sean “Equilátero”, “Isósceles” y “Escaleno”, pida una opción y calcule el perímetro del triángulo seleccionado.
Ejercicio 3
• Ingresar un numero del 1 al 12, y decir cuantos días tiene el mes seleccionado
Ejercicio 3
#include <stdio.h>int main() { int op; printf("Numero de mes (1-12)"); scanf("%d",&op); switch(op) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("El mes %i tiene 31",op); break;
case 4: case 6: case 9: case 11: printf("El mes %d tiene 31",op); break; case 2: printf("El mes %d tiene 28 o 29. es bisiesto",op); break; defaul: printf("NO EXISTE EL MES %d",op); } return 0;}