1 / 27

CAPITULO III. PROGRAMACIÓN ESTRUCTURADA

CAPITULO III. PROGRAMACIÓN ESTRUCTURADA. E n algunos programas los enunciados son ejecutados uno después del otro, en el orden en que están escritos; a esto se le conoce como ejecución secuencial . Los ejemplos anteriores son de este tipo de ejecución.

bing
Download Presentation

CAPITULO III. PROGRAMACIÓN ESTRUCTURADA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CAPITULO III. PROGRAMACIÓN ESTRUCTURADA En algunos programas los enunciados son ejecutados uno después del otro, en el orden en que están escritos; a esto se le conoce como ejecución secuencial. Los ejemplos anteriores son de este tipo de ejecución. En este capitulo veremos ejemplos donde podremos decidir que enunciado ejecutar y así romper la ejecución secuencial, a esto se le conoce como transferencia de control. De aquí nació lo que hoy se conoce como programación estructurada, la cual se puede llevar a cabo por medio de estructuras de control.

  2. En el lenguaje C existen 2 tipos de estructuras de control. • Estructuras de selección • Estructura If • Estructura If/else • Estructura Switch • Estructuras de repetición • Estructura for • Estructura while • Estructura do/while

  3. ESTRUCTURA DE SELECCIÓN IF Esta estructura de selección ejecuta una o varias acciones si la condición es verdadera, se le conoce como estructura de selección simple. Su sintaxis es: if (condicion) accion; if (condicion) { accion1; accion2; … }

  4. Ejemplo del uso de la estructura if #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { float n1,n2,n3; floatprom; printf("PROGRAMA QUE DEMUESTRA EL USO DE LA ESTRUCTURA IF\n\n\n"); printf("Escribe la calificacion 1:"); scanf_s("%f",&n1); printf("Escribe la calificacion 2:"); scanf_s("%f",&n2); printf("Escribe la calificacion 3:"); scanf_s("%f",&n3); prom = (n1+n2+n3)/3; if (prom>=6) printf("\nTu promedio es %f, aprobaste", prom); if (prom<6) printf("\nTu promedio es %f, reprobaste", prom); _getch(); }

  5. ESTRUCTURA DE SELECCIÓN IF/ELSE Esta estructura de selección permite ejecutar acciones en caso de que se cumple la condición o en caso de que no se cumpla, se le conoce como estructura de selección doble. Su sintaxis es: if (condicion) accion; else accion; if (condicion) { accion1; accion2; … } else { accion1; accion2; … }

  6. Ejemplo del uso de la estructura if/else #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { float n1,n2,n3; floatprom; printf("PROGRAMA QUE DEMUESTRA EL USO DE LA ESTRUCTURA IF\n\n\n"); printf("Escribe la calificacion 1:"); scanf_s("%f",&n1); printf("Escribe la calificacion 2:"); scanf_s("%f",&n2); printf("Escribe la calificacion 3:"); scanf_s("%f",&n3); prom = (n1+n2+n3)/3; if (prom>=6) printf("\nTu promedio es %f, aprobaste", prom); else printf("\nTu promedio es %f, reprobaste", prom); _getch(); }

  7. ESTRUCTURA DE SELECCIÓN SWITCH Esta estructura se le conoce como estructura de selección múltiple, debido a que puede seleccionar una de múltiples opciones. Su sintaxis es: switch (condicion){ case opcion1: acciones; … break; case opcion2: acciones; … break; case opcion3: acciones; … break; … case opcionN: acciones; … break; default: acciones; … break; }

  8. #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { intdia; printf("Escribe un dia de la semana:"); scanf_s("%d",&dia); switch(dia){ case 1: printf("\nEldia es Lunes"); break; case 2: printf("\nEldia es Martes"); break; case 3: printf("\nEldia es Miercoles"); break; case 4: printf("\nEldia es Jueves"); break; case 5: printf("\nEldia es Viernes"); break; case 6: printf("\nEldia es Sabado"); break; case 7: printf("\nEldia es Domingo"); break; default: printf("\nEl dia para este numero no existe"); break; } _getch(); }

  9. ESTRUCTURA DE REPETICION WHILE Es una estructura de repetición que le permite al programador indicar que se repita una o varias acciones mientras una condición sea verdadera. Su sintaxis es: valor inicial; while (condición) { accion1; accion2; … acciónN; nuevo valor; }

  10. #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { float promedio; int contador, calif, total; total = 0; contador = 0; printf ("Teclea una calificacion, -1 para terminar el programa: "); scanf_s("%d", &calif); while (calif != -1) { total = total + calif; contador = contador + 1; printf ("Teclea una calificacion, -1 para terminar el programa: "); scanf_s("%d", &calif); } if (contador != 0) { promedio = (float)total/contador; printf("\nTotal de calificaciones: %d", contador); printf("\nEl promedio es %.2f",promedio); } else printf("\nNo hubo calificaciones"); _getch(); }

  11. #include "stdafx.h" #include "conio.h" #include <iostream> usingstd::cout; usingstd::cin; usingstd::endl; int _tmain(intargc, _TCHAR* argv[]) { int aprobados = 0, reprobados = 0, estudiantes = 1, resultado; while (estudiantes <= 10) { printf("Escribe el resultado (1=aprobo, 2=reprobo): "); cin>>resultado; if (resultado == 1){ aprobados = aprobados + 1; } else{ reprobados = reprobados + 1; } estudiantes = estudiantes + 1; } cout<<"\nAprobados "<<aprobados<<endl; cout<<"\nReprobados "<<reprobados<<endl; _getch(); }

  12. OPERADORES DE ASIGNACION El lenguaje C dispone de varios operadores de asignación para abreviar las expresiones de asignación. Por ejemplo: c = c+3 Puede ser abreviado utilizando el operador de asignación += c += 3 En la siguiente figura aparecen los operadores de asignación aritméticos

  13. OPERADORES INCREMENTALES Y DECREMENTALES El lenguaje C tiene el operador incremental ++, y el operador decremental--, tales operadores se muestran en la siguiente tabla. Si una variable a es incrementada en 1, el operador incremental ++ puede ser utilizado como a++ en vez de las expresiones c = c+1 o c+=1. Si los operadores incrementales o decrementales son colocados antes de una variable, se conocen como operadores de preincremento o predecremento, respectivamente. Si los operadores incrementales o decrementales se colocan después de una variable, se conocen como operadores de postincremento o postdecremento, respectivamente.

  14. #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { int c; c=4; printf("%d\n",c); printf("%d\n",c++); printf("%d\n\n\n",c); printf("%d\n",c); printf("%d\n",++c); printf("%d\n",c); _getch(); }

  15. ESTRUCTURA DE REPETICION FOR La estructura de repetición for es una estructura de repetición controlada por contador. Su sintaxis es: for (valor_inicial; valor_final; incremento/decremento) { accion1; accion2; … accionN; }

  16. Estructura FOR Estructura WHILE #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { int x=1; while (x<=10){ printf("%d\n",x); x++; } _getch(); } #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { int x; for (x=1; x<=10; x++) printf("%d\n",x); _getch(); }

  17. #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { intx,sum=0; for(x=2;x<=50;x+=2){ printf("%d\n",x); sum+=x; } printf("\n\nLa suma es: %d",sum); _getch(); } Ejercicio: Una persona invierte $1000 en una cuenta de ahorros, la cual gana un interés del 5% mensual, además el interés se queda en deposito dentro de la cuenta. Obtener la cantidad de dinero de la cuenta en un año.

  18. ESTRUCTURA DE REPETICION DO/WHILE Esta estructura de repetición es similar a la estructura while, la diferencia es que while evalúa la condición al inicio, mientras que do/while evalúa la condición al final de la estructura. Su sintaxis es: valor inicial; do { accion1; accion2; … acciónN; nuevo valor; } while (condición);

  19. Estructura do/while #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { int x=1; do{ printf("%d\n",x); x++; }while (x<=10); _getch(); } Estructura while #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { int x=1; while (x<=10){ printf("%d\n",x); x++; } _getch(); } Estructura for #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { int x; for (x=1; x<=10; x++) printf("%d\n",x); _getch(); }

  20. ENUNCIADOS BREAK Y CONTINUE Los enunciados break y continue se usan para modificar el flujo de control. El enunciado break cuando se utiliza en la estructura while, for do/while y switch causa la salida inmediata de dicha estructura. La ejecución del programa continua con el enunciado que se encuentre inmediatamente después de dicha estructura. Generalmente se usa break para escapar en forma prematura de un ciclo o saltar el resto de una estructura swtich.

  21. #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { int a; for (a=1; a<=10; a++){ if (a==7) break; printf("%d\n",a); } printf("\nSeinterrumpio el ciclo cuando a = %d\n", a); _getch(); }

  22. El enunciado continue, cuando se ejecuta en una estructura while, for, do/while, salta los enunciados restantes del cuerpo de dicha estructura, y ejecuta la siguiente iteración del ciclo. #include "stdafx.h" #include "conio.h" int _tmain(intargc, _TCHAR* argv[]) { int a; a=0; while (a<10){ a++; if (a==6){ continue; } printf("%d\n",a); } printf("\nUtilice continue para no imprimir 6\n"); _getch(); }

  23. OPERADORES LOGICOS Hasta ahora hemos estudiado solo condiciones simples, como por ejemplo: prom>6 contador!=0 estudiantes<=10 a==7 Hemos hecho estas condiciones en base a los operadores: >, <, >=, <=, == y !=. Cada decisión probaba una sola condición, si quisiéramos probar varias condiciones al tomar una decisión, tendríamos que ejecutar estas pruebas en un enunciado por separado, o en estructuras if/else anidadas. C proporciona operadores logicos que pueden ser utilizados para formar condiciones mas complejas, al combinar condiciones simples. Los operadores logicos son: && (and), || (or) y ! (not); los cuales tienen las siguientes tablas de verdad.

  24. #include "stdafx.h" #include "conio.h" #include <iostream> usingstd::cout; usingstd::cin; usingstd::endl; int _tmain(intargc, _TCHAR* argv[]) { intcal,grado; cout<<"Cual es tu calificacion (6 - 10):"<<endl; cin>>cal; cout<<"En que grado de primaria estas (1 - 6):"<<endl; cin>>grado; if (cal>8 && grado>=4) cout<<"\nTu beca es de $3000"<<endl; if (cal>8 && grado<4) cout<<"\nTu beca es de $2000"<<endl; if (cal<=8 && grado>=4) cout<<"\nTu beca es de $1000"<<endl; if (cal<=8 && grado<4) cout<<"\nTu beca es de $500"<<endl; _getch(); }

  25. #include "stdafx.h" #include "conio.h" #include <iostream> usingstd::cout; usingstd::cin; usingstd::endl; int _tmain(intargc, _TCHAR* argv[]) { int edad; cout<<"Cual es tu edad"<<endl; cin>>edad; if (edad<4) cout<<"\nEres un bebe"<<endl; elseif (edad<10) cout<<"\nEres un niño"<<endl; elseif (edad<15) cout<<"\nEres un puberto"<<endl; elseif (edad<22) cout<<"\nEres un adolescente"<<endl; elseif (edad<35) cout<<"\nEres un adulto"<<endl; elseif (edad<50) cout<<"\nEstas envejeciendo"<<endl; elseif (edad<70) cout<<"\nEres un anciano"<<endl; elseif (edad<90) cout<<"\nEstas a punto de morir"<<endl; else cout<<"\nYa no deberias de existir"<<endl; _getch(); }

More Related