Publicidad
Publicidad

Más contenido relacionado

Publicidad

Lenguaje Borland C - Estructuras de Control

  1. LENGUAJELENGUAJE DEDE PROGRAMACIONPROGRAMACION BORLAND C++BORLAND C++ ESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL Septiembre 2010Septiembre 2010
  2. ESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL El presente capítulo trata de la sintaxis de las principales Estructuras de Control del Lenguaje de Programación Borland C++ Los programa son escritos usando los tres tipos de estructuras: • Secuenciales • Selectivas • Repetitivas
  3. <sentencia_1>; <sentencia_2>; - - - - - - - - - - - -- < sentencia _n >; ESTRUCTURAS SECUENCIALES Definida como una secuencia finita de acciones hasta obtener un resultado coherente. Su ejecución se realiza en el orden en que se presentan las instrucciones, desde el inicio hasta el final del programa.
  4. ESTRUCTURA SECUENCIAL Tipos de sentencias secuenciales: Sentencia de entrada: cin >> n ; Sentencia de salida: cout << n ; Sentencia de asignación: n = n +1;
  5. La estructura de selección se utiliza para alterar el flujo de control secuencial de un programa, mediante la evaluación de una condición lógica. Una condición lógica se expresa como una expresión relacional, donde cada operando pueden ser una constante o una variable y los operadores relacionales deben ser uno de los expuestos en la tabla de operadores de relación. ESTRUCTURAS SELECTIVASESTRUCTURAS SELECTIVAS
  6. LENGUAJE DE PROGRAMACION C++LENGUAJE DE PROGRAMACION C++ Operadores de Relación Operador Significado Ejemplo en C++ Significado a == b igualdad X = = y X es igual a y a != b desigualdad X! = y X es diferente de y a < b Menor que X >y X es mayor que y a > b Mayor que X < y x es menor que y a <= b Menor o Igual que X > = y X es mayor o igual que a >= b Mayor o Igual que X< = y X es menor o igual que y
  7. ESTRUCTURAS SELECTIVASESTRUCTURAS SELECTIVAS Estructura Selectiva Simple: Sentencia if (Una alternativa) Estructura Selectiva Doble: Sentencia if-else (Dos alternativas) Estructura Selectiva Múltiple: Sentencia switch (Varias alternativas)
  8. LENGUAJE DE PROGRAMACION C++LENGUAJE DE PROGRAMACION C++ Operadores Incremento y Decremento Los casos en que una variable es incrementada o disminuida en uno , C++ proporciona dos operadores unitario. Usando el operador de incremento, ++, -- (operador) n = n + 1; se reemplaza por la expresión n++ ó ++n n = n - 1; se reemplaza por la expresión n-- ó --n numero = valor ++; // incrementa valor en 1
  9. LENGUAJE DE PROGRAMACION C++LENGUAJE DE PROGRAMACION C++ Jerarquía de operadores Operador Asociatividad ( ) De izquierda a derecha ! De izquierda a derecha * / % De izquierda a derecha + - De izquierda a derecha < <= > >= De izquierda a derecha == != De izquierda a derecha && De izquierda a derecha // De izquierda a derecha = += *= /n %= De izquierda a derecha
  10. LENGUAJE DE PROGRAMACION C++LENGUAJE DE PROGRAMACION C++ Operadores Lógicos ! Negación lógica NOT lógico && Y lógico AND ((5<13) &&(5>4) Para que sea verdad sus dos operandos deben ser verdad || O lógico OR (4<2) || (3<5) Para que sea verdad basta que un operando sea verdad.
  11. ESTRUCTURA SELECTIVA SIMPLEESTRUCTURA SELECTIVA SIMPLE INICIO C. L.C. L. <sentencias_1> Sentencia_2 V F La sentencia selectiva simple evalúa una (condición lógica). La evaluación de la condición lógica representa un sólo valor Verdad o Falso. • Si la condición lógica es verdadera se ejecuta la sentencia_1 y luego la sentencia_2. • Si al evaluar la condición lógica es falsa sólo se ejecuta la sentencia_2. if (condición lógica) sentencia ; SENTENCIA if C. L.C. L.
  12. ESTRUCTURA SELECTIVA DOBLEESTRUCTURA SELECTIVA DOBLE C. L.C. L. sentencia_1 V sentencia_2 F FIN SENTENCIA if - else if (condición lógica ) sentencia_1 ; else sentencia_2 ; La sentencia selectiva doble evalúa una condición lógica . Si la condición lógica es verdadera se ejecuta la sentencia_1. • Si la condición lógica es evaluada como falsa se ejecuta la sentencia_2
  13. ESTRUCTURAS SELECTIVASESTRUCTURAS SELECTIVAS a) SELECCION SIMPLE ifif (nota > 10) cout << “curso aprobado” ; if (( numero%2)==0) cout << “El numero es par” ; else cout << “El numero es impar” ; b) SELECCION DOBLE
  14. ESTRUCTURA SELECTIVA ANIDADAESTRUCTURA SELECTIVA ANIDADA Problema 1: Diseñar un programa que permita leer tres notas y determinar la menor nota.
  15. ESTRUCTURAS SELECTIVASESTRUCTURAS SELECTIVAS #include <iostream.h> // PARA USAR cin, cout #include <conio.h> // PARA USAR gotoxy(), clrscr() #include <stdlib.h> // PARA USAR exit (1) void main () { int pc1,pc2,pc3,menor,nc=0; float pp; char resp = 's'; while (resp =='s') {nc++ ; clrscr(); gotoxy(40,5);cout<<"ud. es el visitante numero="<<nc; system ("title diseñado por Luz"); system ("color 1b"); Problema2: Diseñar un programa que permita determinar el promedio de prácticas luego de eliminar la menor nota.
  16. ESTRUCTURA SELECTIVA DOBLEESTRUCTURA SELECTIVA DOBLE (Observaciones)(Observaciones) 1. La condición lógica es una expresión que será evaluada como verdadera o falsa. La expresión puede ser simple (una condición) o compuesta, la cual está formada por varias condiciones simples conectadas por los operadores lógicos. 2. Siempre se usa paréntesis encerrando a la condición lógica a evaluarse. 3. Las estructuras if se pueden anidar, es decir; puede existir una estructura if dentro de otra.
  17. ESTRUCTURA SELECTIVA IF- ELSEESTRUCTURA SELECTIVA IF- ELSE ANIDADASANIDADAS C. L.C. L. V F if (condición lógica 1) sentencia1; else if (condición lógica 2) sentencia2; else if (condición lógica 3) C. L.C. L. F V
  18. ESTRUCTURA SELECTIVA MULTIPLEESTRUCTURA SELECTIVA MULTIPLE SELECTORSELECTOR Instrucción_1 1 Instrucción_n N Instrucción _2 SENTENCIA switch 2 instrucción default FIN La sentencia selectiva switch se utiliza para seleccionar una de varias alternativas. La sentencia switch se utiliza cuando la selección se basa en el valor de una variable Simple o de una expresión Simple denominada expresión de control o selector. El valor del selector debe ser entero.
  19. ESTRUCTURA SELECTIVA MULTIPLEESTRUCTURA SELECTIVA MULTIPLE (Reglas de Uso)(Reglas de Uso) 1. La variable selector o expresión de control no puede ser: string o real. 2. La sentencia swith requiere un valor compatible con entero. El valor puede ser variable, una constante, una llamada de función o una expresión. 3. El valor después de cada etiqueta case debe ser una constante. 4. El final del enunciado case está marcado típicamente con un break. Dicha sentencia permite que el programa abandone la estructura switch omitiendo los demás casos. 5. La etiqueta default indica al programa lo mismo que la sentencia else en la secuencia de if anidados, es decir; se ejecuta cuando el usuario edita un valor que no esta en la lista de valores.
  20. ESTRUCTURA SELECTIVA MULTIPLEESTRUCTURA SELECTIVA MULTIPLE (Observaciones)(Observaciones) 6. La variable selector o expresión de control no puede ser: string o real. 8. Cuando se requiere realizar una misma acción para distintos valores de la expresión evaluada, se coloca una sentencia case por cada valor. Sin ninguna acción, y la acción común se pone al final. Ejemplo: Switch (a) { Case 1:case 2:case 3: cout<<“ sentencia para valor 1, 2 y 3” ; break ; Case 4: cout<<“sentencia para valor 4” ; break; } 7. La etiqueta default indica al programa lo mismo que la sentencia else en la secuencia de if anidados, es decir; se ejecuta cuando el usuario edita un valor que no esta en la lista de valores.
  21. switch (selector) { caso valor_ 1 : <sentencia_1> ; break ; caso valor_ 2 : <sentencia_2> ; break ; caso valor_n : <sentencia_n ; break ; default <sentencia_default> ;default <sentencia_default> ;
  22. ESTRUCTURA SELECTIVA MULTIPLEESTRUCTURA SELECTIVA MULTIPLE SwitchSwitch (día) { case 1: cout<<“Lunes” ; break ; case 2: cout<<“Martes” ; break ; case 3: cout<<“Miercoles” ; break ; case 4: cout<<“Jueves” ; break ; case 5: cout<<“Viernes” ; break case 6: cout<<“Sábado” ; break ; case 7: cout<<“Domingo” ; break ; default: cout<<“No es un día de la semana” ;
  23. ESTRUCTURA SELECTIVA MULTIPLEESTRUCTURA SELECTIVA MULTIPLE switch (c) { case 'A': fa++; break; case 'E': fe++; break; case 'I': fi++; break; case 'O': fo++; break; case 'U': fu++; break; }
  24. ESTRUCTURAS REPETITIVASESTRUCTURAS REPETITIVAS Sentencia while Sentencia do – while Sentencia for
  25. Las estructuras que repiten una secuencia de sentenciasLas estructuras que repiten una secuencia de sentencias un número determinado de veces se denominaun número determinado de veces se denomina bucle obucle o lazoslazos, y se llama ITERACCIÓN al hecho de repetir la, y se llama ITERACCIÓN al hecho de repetir la ejecución de una secuencia de sentencias.ejecución de una secuencia de sentencias. SENTENCIAS REPETITIVAS Corresponde a la ejecución repetida de una secuencia de sentencias, mientras se cumple una determinada condición. Poseen una sola entrada y una sola salida.
  26. while (condición lógica) sea verdad { Sentencia (s) ; } INICIO C. L.C. L. Sentencia_1 Sentencia_2 Sentencia_3 FIN V F SENTENCIA WHILE a) BUCLE CON ENTRADA CONTROLADA La sentencia WHILE permite evaluar una condición lógica y ejecuta el cuerpo del bucle si la condición lógica es verdad. Si la condición lógica de control es falsa no se ejecuta el cuerpo del bucle. B U C L E
  27. #include<iostream.h> #include<conio.h> Void main() {int fact=1,n,minumero; gotoxy(8,4);cout<<" Ingrese un numero : ";cin>>n; minumero=n; while (n>0) { fact=fact*n; n--; } gotoxy(15,6);cout<<"El factorial de "<<minumero <<" es ="<<fact; getche(); } Problema 3: Diseñar un programa que permita leer un número n entero positivo, luego calcular su factorial e imprimir su resultado. SENTENCIA WHILE
  28. Problema 4: Diseñar un programa que permita leer un número n entero positivo, luego calcular su factorial e imprimir su resultado. SENTENCIA WHILE
  29. while(n>0) // descompongo el numero n ingresado { d=n%10; nd=nd+1; If (d%2==0) { par++; sump+=d; } else { impar++; sumimpar+=d; } inv=inv*10+d; n=n/10; } Problema 5: Escribir un programa que lea un número compuesto por más un dígito y luego mostrar: total de dígitos, total de dígitos pares e impares, número invertido, total de suma de dígitos pares e impares respectivamente. . SENTENCIA WHILE
  30. do { sentencia_1; sentencia_2; sentencia _n; } while (condición lógica) (“sea falsa”) INICIO C. L.C. L. Sentencia_1 Sentencia_2 Sentencia_3 F V FIN SENTENCIA DO WHILE b) BUCLE CON SALIDA CONTROLADA La sentencias do - while evalúa una condición lógica después de ejecutar el cuerpo del blucle do, que se ejecutará en secuencia repetitiva hasta que, la condición lógica tome un valor de falso. El cuerpo del bucle se ejecuta por lo menos una vez porque la condición se evalúa después de la ejecución del bucle repetitivo. B U C L E
  31. Problema 6: Diseñar un programa que permita leer un número n y calcule la suma acumulada de la serie: 1+2+3..n. El usuario ingresa el número de términos a sumar. SENTENCIA WHILE
  32. # include < iostream.h > #include <conio.h> Void main() { int cont=1,suma=0,n; cout<<"Ingrese numero de términos"; cin>>n; do { suma+=cont; cont++; } while (cont<=n); cout<<"la suma es :"<<suma; getch(); } SENTENCIA DO WHILE
  33. SENTENCIA WHILE
  34. INICIO Sentencia_1 Sentencia_2 F V FIN (i;<C. L.>;contador) SENTENCIA FOR c) REPETICION CON NUMERO DEFINIDO DE ITERACCIONES: for B U C L E
  35. PROCESO DE REPETICION Sintaxis de la sentencia for : for (inicialización; <condición lógica>; contado { <sentencia_1>; <sentencia_2>; <sentencia_3>; }
  36. Inicialización; indica las condiciones iniciales cuando se inicia el bucle. <condición>; se evalúa antes de cada iteracción. Si es verdadera, se ejecuta el bloque de instrucciones, en caso contrario se termina la estructura y se transfiere el control a la sentencia siguiente. PROCESO DE REPETICION REPETICION CON NUMERO DEFINIDO DE ITERACCIONES
  37. Solucion // factoria.cpp #include<iostream.h> #include<conio.h> void main() { int n, factorial=1,i; clrscr(); gotoxy(10,4);cout<<" CALCULANDO FACTORIAL"; gotoxy(12,6);cout<<" Ingrese un numero :" ;cin>>n; for(i=1;i<=n;i++) factorial=factorial*i; gotoxy(12,8);cout<<"el factorial de "<<n<<" es = "<<factorial; getche(); } Problema 7: Diseñar un programa que permita leer un número n Positivo y luego mostrar su factorial. SENTENCIA DO WHILE
  38. Problema 8: Diseñar un programa que permita leer un número n Positivo y luego mostrar su factorial. SENTENCIA DO WHILE

Notas del editor

  1. case 2: cout&amp;lt;&amp;lt;“Martes” ; break
  2. case 2: cout&amp;lt;&amp;lt;“Martes” ; break
Publicidad