View
41
Download
4
Embed Size (px)
DESCRIPTION
LENGUAJE DE PROGRAMACION BORLAND C++
Citation preview
LENGUAJE LENGUAJE DE DE
PROGRAMACION BORLAND PROGRAMACION BORLAND C++C++
ESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL
Septiembre 2010Septiembre 2010
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
<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.
ESTRUCTURA SECUENCIAL
Tipos de sentencias secuenciales:
Sentencia de entrada: cin >> n ;
Sentencia de salida: cout << n ;
Sentencia de asignación: n = n +1;
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
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
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)
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
LENGUAJE DE PROGRAMACION C++LENGUAJE DE PROGRAMACION C++
Jerarquía de operadoresOperador 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
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.
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.
ESTRUCTURA SELECTIVA DOBLEESTRUCTURA SELECTIVA DOBLE
C. L.C. L.
sentencia_1V
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
ESTRUCTURAS SELECTIVAS ESTRUCTURAS SELECTIVAS
a) SELECCION SIMPLE
if if (nota > 10)
cout << “curso aprobado” ;
if (( numero%2)==0) cout << “El numero es par” ;
else cout << “El numero es impar” ;
b) SELECCION DOBLE
ESTRUCTURA SELECTIVA ANIDADAESTRUCTURA SELECTIVA ANIDADA
Problema 1: Diseñar un programa que permita leer tres notas y determinar la menor nota.
ESTRUCTURAS SELECTIVAS ESTRUCTURAS 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");gotoxy(15,4);cout<<"Bienvnido";gotoxy(15,6);cout<<"pc1="; cin>>pc1;gotoxy(15,7);cout<<"pc2="; cin>>pc2;gotoxy(15,8);cout<<"pc3="; cin>>pc3;menor = pc1;if (menor > pc2){ menor = pc2 ;}if (menor > pc3){ menor = pc3 ;}gotoxy (10,10);cout<<"menor nota="<<menor;pp= ((pc1+pc2+pc3)-menor)/2;gotoxy(10,12);cout<<"promedio="<<pp;gotoxy(20,20); cout<<"sr. desea continuar......? (s/n)" ;
cin>>resp ;}if (resp == 'n'){ clrscr(); system ("title diseñado por Luz");system ("color 2b");gotoxy(20,12); cout<<"gracias por consultar" ;gotoxy(20,14); cout<<"ud ha realizado = "<< nc<< " consultas";}getch();}
Problema2: Diseñar un programa que permita determinar el promedio de prácticas luego de eliminar la
menor nota.
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.
ESTRUCTURA SELECTIVA IF- ELSE ESTRUCTURA 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) sentencia3;
C. L.C. L.
F
V
ESTRUCTURA SELECTIVA MULTIPLEESTRUCTURA SELECTIVA MULTIPLE
SELECTORSELECTOR
Instrucción_11
Instrucción_n
N
Instrucción _2
SENTENCIA switch
2
instrucción default
FIN
La sentencia selectiva switch se utiliza para seleccionar unade varias alternativas.
La sentencia switch se utiliza cuando la selección se basaen el valor de una variable Simple o de una expresiónSimple denominada expresiónde control o selector.
El valor del selector debe serentero.
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.
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.
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> ;
breakbreak ; ;
}}
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” ;
}
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;}
ESTRUCTURAS REPETITIVASESTRUCTURAS REPETITIVAS
Sentencia while
Sentencia do – while
Sentencia for
Las estructuras que repiten una secuencia de sentencias Las estructuras que repiten una secuencia de sentencias
un número determinado de veces se denomina un número determinado de veces se denomina bucle o bucle 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.
while (condición lógica) sea verdad { Sentencia (s) ; }
INICIO
C. L.C. L.
Sentencia_1Sentencia_2Sentencia_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
#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 nentero positivo, luego calcular su factorial e imprimir su resultado.
SENTENCIA WHILE
Problema 4: Diseñar un programa que permita leer un número nentero positivo, luego calcular su factorial e imprimir su resultado.
SENTENCIA WHILE
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
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.
BUCLE
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
# 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
SENTENCIA WHILE
INICIO
Sentencia_1Sentencia_2
F
V
FIN
(i;<C. L.>;contador)
SENTENCIA FOR
c) REPETICION CON NUMERO DEFINIDO DE ITERACCIONES: for
BU CLE
PROCESO DE REPETICION
Sintaxis de la sentencia for :
for (inicialización; <condición lógica>; contador) {
<sentencia_1>;
<sentencia_2>; <sentencia_3>;
}
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.
Contador; es la instrucción a ejecutarse cuando se
termina cada interacción.
PROCESO DE REPETICION
c) REPETICION CON NUMERO DEFINIDO DE ITERACCIONES
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 nPositivo y luego mostrar su factorial.
SENTENCIA DO WHILE
Problema 8: Diseñar un programa que permita leer un número nPositivo y luego mostrar su factorial.
SENTENCIA DO WHILE