lenguaje de programacion borland c++ phpapp02

38
LENGUAJE LENGUAJE DE DE PROGRAMACION BORLAND C++ PROGRAMACION BORLAND C++ ESTRUCTURAS DE CONTROL ESTRUCTURAS DE CONTROL Septiembre 2010 Septiembre 2010

Upload: laenetgalumettejosephjuniorpaul

Post on 22-Jun-2015

37 views

Category:

Documents


4 download

DESCRIPTION

LENGUAJE DE PROGRAMACION BORLAND C++

TRANSCRIPT

Page 1: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

LENGUAJE LENGUAJE DE DE

PROGRAMACION BORLAND PROGRAMACION BORLAND C++C++

ESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL

Septiembre 2010Septiembre 2010

Page 2: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 3: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

<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.

Page 4: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

ESTRUCTURA SECUENCIAL

Tipos de sentencias secuenciales:

Sentencia de entrada: cin >> n ;

Sentencia de salida: cout << n ;

Sentencia de asignación: n = n +1;

Page 5: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 6: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 7: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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)

Page 8: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 9: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 10: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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.

Page 11: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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.

Page 12: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 13: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 14: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

ESTRUCTURA SELECTIVA ANIDADAESTRUCTURA SELECTIVA ANIDADA

Problema 1: Diseñar un programa que permita leer tres notas y determinar la menor nota.

Page 15: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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.

Page 16: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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.

Page 17: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 18: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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.

Page 19: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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.

Page 20: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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.

Page 21: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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 ; ;

}}

Page 22: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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” ;

}

Page 23: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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;}

Page 24: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

ESTRUCTURAS REPETITIVASESTRUCTURAS REPETITIVAS

Sentencia while

Sentencia do – while

Sentencia for

Page 25: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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.

Page 26: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 27: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

#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

Page 28: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

Problema 4: Diseñar un programa que permita leer un número nentero positivo, luego calcular su factorial e imprimir su resultado.

SENTENCIA WHILE

Page 29: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 30: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 31: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 32: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

# 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

Page 33: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

SENTENCIA WHILE

Page 34: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

INICIO

Sentencia_1Sentencia_2

F

V

FIN

(i;<C. L.>;contador)

SENTENCIA FOR

c) REPETICION CON NUMERO DEFINIDO DE ITERACCIONES: for

BU CLE

Page 35: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

PROCESO DE REPETICION

Sintaxis de la sentencia for :

for (inicialización; <condición lógica>; contador) {

<sentencia_1>;

<sentencia_2>; <sentencia_3>;

}

Page 36: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 37: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

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

Page 38: LENGUAJE   DE   PROGRAMACION  BORLAND C++  phpapp02

Problema 8: Diseñar un programa que permita leer un número nPositivo y luego mostrar su factorial.

SENTENCIA DO WHILE