Está en la página 1de 35

Carlos Nuez

Lgica Algortmica
Primer Parcial
05/04/2016
Segundo Parcial

10 Puntos
20 Puntos

15/03/2016 Extraordinario

03/05/2016 Extraordinario

17/05/2016

Zona
Proyecto 1

05 Puntos

Proyecto 2

05 Puntos

Cortos

05 Puntos

Tareas

05 Puntos
20 Puntos

Final
Proyecto final

10 Puntos

24/05/2016

Examen Final
05/07/2016

40 Puntos

21/06/2016 Recuperacion

Cambio fecha 14/06/2016


Programas para el curso

Borlean C++ 5.02


Visio

ALGORITMO
Es una sucesin de pasos ordenados que nos lleva a la solucin de un
problema

Algoritmo Informtico
Es una secuencia paso a paso de instrucciones numeradas a realizar y explica
cmo se debe procesar los datos para producir los resultados deseados. El
algoritmo responde a la pregunta Cul mtodo ha de emplearse para resolver
este problema?

Ejemplo
Desarrolle un algoritmo, diagrama de Flujos y programa en C++ de como
mostrar un mensaje en pantalla
Algoritmo
1. Inicio
1.1 Librera para mostrar mensajes
2. Mostrar Bienvenidos al curso de Lgica Algortmica
3. Finalizar
Diagrama de Flujos
inicio

Bienvenidos al
Curso de Lgica
Algortmica

Fin

Programa en C++

#include<iostream.h>
#include<conio.h>
int main (void)
{
gotoxy(10,6); cout<<Bienvenidos al Curso de Logica Algoritmica;
getch ();
return 0;
}

DIAGRAMA DE FLUJOS
Es un conjunto de figuras geomtricas que representa el corrimiento de cada
uno de los pasos del algoritmo, por lo que es importante colocar las flechas
hacia donde se dirige cada paso del algoritmo

Los smbolos del diagrama de flujos son los siguientes


FIGURAS DE LOS DIAGRAMAS DE FLUJOS

TERMINAL
Mostrar o
Imprimir
Entrada / Salida
Proceso

si

Decisin

no
Lneas de flujo

Conector

Proceso pero
de un mdulo o
funcin
Decisin
mltiple

Indica el principio y/o el fin de un


programa o algoritmo
Muestra cualquier mensaje nota o
resultado final de un programa o algoritmo
Indica una operacin de entrada o salida
de datos esta puede ser una variable
Indica un clculo o manipulacin de datos
proveniente de variables o de otros
clculos
Indica un punto en el cual el programa
algoritmo debe tomar una ruta
dependiendo de la respuesta que se le
indique entre dos soluciones
Se utilizan para conectar los smbolos del
diagrama de flujo e indican el flujo lgico
es importante dar la direccin donde se
dirige nuestro siguiente paso
Indica una entrada a, salida de, otra
parte de un diagrama de flujo o un punto
de conexin
Indica un proceso predefinido como es
llamar a una funcin para que d un
resultado
Cuando el flujo puede tomar diferentes
caminos y procesos, estos se pueden
ejecutar de manera individual

VARIABLES Y DECLARACIONES
Son espacios en memoria donde se guardan valores numricos y
alfanumricos, con las cuales podemos hacer clculos que pueden apuntar a

otras variables o mensajes en pantalla. Existe varios tipos de variables, entre


ellas tenemos
Enteras
Dobles

int variable1, variable2;


double variable 1, variable2;

Flotante

float variable1, variable2;

Carcter

char varaible1, variable2;

Y cuando tenemos valores constantes en C++ utilizamos un define el cual se


coloca en el conjunto de las libreras
EJEMPLO 2
Realice un algoritmo, diagrama de flujo y desarrollo en C++ de un programa
que calcule el rea de un cilindro tomando en cuenta que su frmula es

Area=2 rh

1. Inicio
2. Variables
2.1constante PI = 3.1416
2.2doble radio, altura, area;
3. Mostrar mensaje y leer variables
3.1mostrar Ingrese el valor del radio ;
3.2leer radio;
3.3mostrar Ingrese la altura ;
3.4leer altura;
4. calcular
4.1area = 2*PI*radio*altura;
5. mostrar El rea de un cilindro es: area;
6. fin

inicio

constante PI
doble radio,altura
area

Ingrese el valor del radio

Leer radio

Ingrese la altura

Leer altura

area = 2*PI*radio*altura

El rea es: area

Fin

#include<iostream>
#include<conio>
#define pi 3.1416
int main (void)

{
double radio,altura,area;
gotoxy(10,6);cout<<"Ingrese el valor del radio [ ]";
gotoxy(38,6);cin>>radio;
gotoxy(10,8);cout<<"Ingrese la altura del cilindro [ ]";
gotoxy(43,8);cin>>altura;
area= 2*pi*radio*altura;
gotoxy(10,10);cout<<"El area de un cilindro es "<<area<<" Metros"<<endl;
getch();
return 0;
}
Tarea:

GAZAS O CICLOS DE REPETICION


Son estructuras que permiten al desarrollador repetir una acciona una y otra
vez, todo ciclo debe tener un inicio y un fin o por lo menos una opcin de salida
que permita frenar el ciclo, todo ciclo debe tener un valor entero o
alfanumrico, pero no acepta de tipo doubl o decimales, existen tres ciclos de
repeticin para cualquier paquete de programacin

FOR
WHILE
DO WHILE

CICLO DE REPETICION FOR


Repite una estructura n cantidad de veces definiendo el inicio y el tamao del
ciclo, los ciclos for funcionan nicamente con un valor determinado por lo que
se le puede estructurar cuando tenemos un conteo de datos fijos por ejemplo 1
a 10, 3 a 15 y su conteo puede ser de uno en uno, de dos en dos, de tres en
tres y as sucesivamente
Su algoritmo es de la siguiente manera:
1. Para i = 1 hasta N
2. Donde N = 10;

3. i= 1 y N=1
3.1Mostrar i N
3.2Comparar si i <= N
3.3Si es < N regresa a Para sumando a i+1 y N+1
3.4En caso contrario fin del ciclo
El diagrama de flujo del ciclo queda de la siguiente manera

Inicio

Para 1 hasta N

si
i<N
no
Fin
#include<iostream>
#include<conio>
int main (void)
{
int i;
for (i=1; i<=10; i++)
cout<<i<<"\n";
getch();
return 0;
}
FOR contando de dos en dos
#include<iostream>
#include<conio>
int main (void)
{
int i;
for (i=2; i<=10; i=i+2)
cout<<i<<"\n";
getch();
return 0;
}

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#define numeromayor 10

int main (void)


{

int contador;
cout<<"Numero Cuadrado
<<"------ --------

Cubo\n"

----"<<endl;

for(contador = 1; contador <= numeromayor; contador++)


cout<<setw(3)<<contador<<"

"

<<setw(3)<<contador * contador <<"

"

<<setw(4)<<contador * contador * contador <<endl;

getch();
return 0;
}
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<math.h>
#define numeromayor 10

int main (void)


{

int contador;
cout<<"Numero Cuadrado
<<"------ --------

Cubo\n"

----"<<endl;

for(contador = 1; contador <= numeromayor; contador++)


cout<<setw(3)<<contador<<"
<<setw(3)<<pow(contador,2) <<"

"
"

<<setw(4)<<pow(contador,3) <<endl;

getch();
return 0;
}

CICLO WHILE
Se construye cuando se necesita realiza una operacin una cantidad de veces
especifica o rango no especifico, su sintaxis es la siguiente
lista para inicializar ;
while (expresin )
lista para alterar;
instruccin;
la expresin en C++ es la siguiente
cuenta = 1;
while (cuenta < = 10)
cuenta ++;
cout<<cuenta;
y
cuenta = 1;
while (cuenta < = 10)
{
cout<<cuenta;
cuenta ++;
}

EJEMPLO
Basndonos en el ejemplo anterior donde se generan 10 nmeros y que luego
eleve al cuadrado y despus al cubo solo que realizarlo por un ciclo while

1. inicio
2. mientras contador = 1
3. mientras la expresin tiene valor menor o igual a contador regresar al
paso 2
2.1 mientras contador sea menor o igual a 10
2.2 contador = contador +1
2.3 mostrar num
2.4 mostrar num * num
2.5 mostrar num*num * num
4. si es valor falso ejecutar la siguiente instruccin
5. fin

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#define numeromayor 10

int main (void)


{

int contador;
cout<<"Numero Cuadrado
<<"------ --------

Cubo\n"

----"<<endl;

contador = 1;
while(contador <= numeromayor)
{
cout<<setw(3)<<contador<<"

"

<<setw(3)<<contador * contador <<"

"

<<setw(4)<<contador * contador * contador <<endl;


contador++;
}
getch();
return 0;
}

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<math.h>
#define numeromayor 10

int main (void)


{

int contador;
cout<<"por ciclo FOR \n";
cout<<"Numero Cuadrado
<<"------ --------

Cubo\n"
----"<<endl;

for(contador = 1; contador <= numeromayor; contador++)


cout<<setw(3)<<contador<<"
<<setw(3)<<pow(contador,2) <<"

"
"

<<setw(4)<<pow(contador,3) <<endl;

cout<<"\npor ciclo WHILE\n";


cout<<"Numero Cuadrado
<<"------ --------

Cubo\n"
----"<<endl;

contador = 1;
while(contador <= numeromayor)
{
cout<<setw(3)<<contador<<"
<<setw(3)<<pow(contador,2) <<"

"
"

<<setw(4)<<pow(contador,3) <<endl;
contador++;
}

getch();
return 0;
}

DO WHILE
Sirve para repetir una estructura completa en un bloque de programa o todo el
programa en si; esta estructura es de mucha utilidad cuando tenemos procesos
que queremos que se ejecuten hasta que el usuario de una orden diferente. Su
estructura es la siguiente
do
instruccin;
while (expresin);

no olvide el final;

Tanto las instrucciones while como las for evalan una expresin al inicio del
ciclo de repeticin; como tales siempre se usan para crear ciclos de prueba
preliminar. Los ciclos de prueba posterior, los cuales tambin se conocen como
ciclos controlados a la salida, pueden construirse de igual forma en C++. La
estructura bsica de un ciclo as, el cual se conoce como ciclo do while, Ntese
que un ciclo do while contina las iteraciones a travs del ciclo mientras la
condicin es verdadera y sale del ciclo cuando la condicin es falsa.

En C++, un ciclo do while de prueba posterior se crea usando una instruccin


do. Como su nombre implica, esta instruccin permite hacer algunas
instrucciones antes que sea evaluada una expresin al final del ciclo

Como con todos los programas en C++, la instruccin nica en do puede


reemplazarse por una instruccin compuesta. A continuacin se muestra un
diagrama de control de flujo que ilustra la operacin de la instruccin do.
ALGORITMO:
1. HAGA:
1.1INSTRUCCION1;
1.2INSTRUCCION2;
1.3MUESTRA resultado INSTRUCCION1;
1.4LEER OPCION
2. MIENTRAS OPCION SEA VERDADERA REGRESA PASO 1
3. CONTINUA EL FLUJO;
DIAGRAM DE FLUJO
INICIO

PROCESO
ANTERIOR

INSTRUCCION1

ES
SI
VERDADERA LA
CONDICION
NO
SIGUIENTE
INSTRUCCIN
EJEMPLO EN C++:
Desarrolle un programa que pueda calcular las temperaturas dadas en Celsius
a Fahrenheit
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
int main(void)
{
const int MAX_CELSIUS=50;
const int VAL_INICIAL=5;

const int TAMANIO_PASO=5;


int celsius;
double fahren;
cout<<"GRADOS GRADOS\n"
<<"CELSIUS FAHRENHEIT\n"
<<"------- ----------\n";
celsius = VAL_INICIAL;
cout<<setiosflags(ios::fixed)
<<setiosflags(ios::showpoint)
<<setprecision(2);
while(celsius<=MAX_CELSIUS)
{
fahren =(9.0/5.0)*celsius+32.0;
cout<<setw(4)<<celsius<<setw(13)<<fahren<<endl;
celsius=celsius+TAMANIO_PASO;
}
getch ();
return 0;
}
Ahora utilizando un DO WHILE
ALGORITMO:
1. INICIO
1.1constante fijo 32.0
2. VARIABLES
2.1DOUBLE celcius, fahren;
2.2CARACTER respuesta;
3. HAGA
3.1MOSTRAR Ingrese un temperatura en celcius: ";
3.2LEER celcius;
3.3CALCULAR fahren =(9.0/5.0)* celcius +contante fijo;
3.4MOSTRAR "La conversion a Fahrenheit es: "MOSTRARfahren
MOSTRAR" Grados";
3.5MOSTRAR Desea realizar otra conversion S/N [ ]"
3.6LEER respuesta;
4. MIENTRAS respuesta = s
5. FIN

DIAGRAMA DE FLUJO
INICIO
Constante fijo = 32.0
Double Celcius, Fahren
Carcter respuesta

HAGA (INICIO DE PROCESO)


Ingrese un temperatura
en celcius:

LEER celcius;
CALCULAR
fahren =(9.0/5.0)*
celcius +contante fijo;
"La conversin a Fahrenheit es: "
Variable Double fahren " grados";
Desea realizar otra conversion S/N [ ]

Leer
Variable carcter = respuesta

Mientras
si
Respuesta = s
no
FIN

PROGRAMA EN C++
#include<iostream.h>
#include<conio.h>
#define fijo 32.0
int main(void)
{
double celcius,fahren;
char respuesta;
do //Haga o hacer de nuevo
{
clrscr(); //limpia pantalla
gotoxy(10,3); cout<<"Ingrese un temperatura en celcius: ";
cin>>celcius;
fahren =(9.0/5.0)*celcius+fijo;

gotoxy(10,4); cout<<"La conversion a Fahrenheit es: "<<fahren<<"


Grados";
gotoxy(10,6); cout<<"Desea realizar otra conversion S/N [ ]";
gotoxy(46,6);cin>>respuesta;
}
while (respuesta =='s');
return 0;
}

#include<iostream.h>
#include<iomanip.h>
int main(void)
{
char respuesta;
double celsius, fahren;
do
{
cout<<"Ingrese un temperatura en celcius: ";
cin>> celsius;
fahren =(9.0/5.0)*celsius+32.0;
cout<<setiosflags(ios::fixed)
<<setiosflags(ios::showpoint)
<<setprecision(2);
cout<<"La conversion a Fahrenheit es: "<<fahren<<endl;
cout<<"\nDesea realizar otra conversion S/N [ ]";
cin>> respuesta;
}
while (respuesta =='s');
return 0;
}

ESTRUCTURAS DE DECISIN
Permiten alterar el flujo de control secuencial de maneras definidas para que
podamos tomar un camino en nuestro algoritmo o bien otra ruta segn sea la
manera en que se utilice cada estructura de seleccin, existen dos estructuras
de seleccin
Estas estructuras permiten en base a nuestro deseo o situacin tomar una ruta
entre dos opciones o dependiendo el caso entre mas de dos opciones, estas
estructuras sirven para validar variables, ejecutar procesos y la manera en que

se leen es: si la respuesta de lo decidido es psitivo que ejecute, en caso


contrario continuar con el proceso, existen dos estructuras de decisin:

If: permite seleccionar una opcin entre dos que se le presenta


CASE: permite seleccionar entre mas de dos opciones una ruta para
continuar el flujo

Aunque son muy parecidas su aplicacin depende mucho del caso a resolver.
ESTRUCTURA DE REPETICION IF ELSE
Es una de las estructuras mas utilizadas en programacin y puedo realizar una
validacin con ella o tomar una ruta de dos que se presentan
Indica al computador que efectu una serie de una o mas instrucciones
basadas en el resultado de una comparacin; esta estructura puede utilizarse
en situaciones como validar una variable si quisiramos que esta no tuviera
ningn numero negativo, su sintaxis es la siguiente

if( expresin )
instruccion1;
else
instruccin 2;

Algoritmo de IF ELSE

1. Instruccin previa
2. Evaluar la condicin
2.1si es verdadera ejecute instruccin1
2.1.1 Instruccin1;
2.1.2 Mostrar Resultado de Instruccion1;
2.2En caso contrario si es falsa ejecute instruccin2
2.2.1 Instruccin2;
3. Siguiente instruccin

DIAGRA DE FLUJO

INSTRUCCI
N
PREVIA

ES

NO (ELSE)

VERDADERA?

SI (SI)

INSTRUCCIO
N2

INSTRUCCIO
N1
CONTINUA
EL
PROCESO

EJEMPLO:
DESARROLLE UN PROGRAMA, QUE PUEDA CONVERTIR UNA TEMPERATURA EN
GRADOS FAHRENHEIT A GRADOS CELSIUS Y VISEVERSA, QUE EL PROGRAMA
PREGUNTE EN QUE RESULTADO DESEA LOS GRADOS SI EN EN FAHRENHEIT O
CELSIUS PARA ELLO UTILICE UN IF PARA REALIZAR ESTA VALUACION

ALGORITMO
1. Inicio
2. VARIABLES
2.1DOUBLE temperatura, fahren, celsius;
2.2CHAR respuesta;

3.
4.
5.
6.

HAGA
MOSTRAR Introduzca la temperatura a convertir [ ];
LEER temperatura;
SI temperatura es <= 0; //si la variable fahren es menor o igual a cero
6.1MOSTRAR No puede ingresar nmeros negativos o con valor
cero;
6.2CONTRARIO fahren = (9.0/5.0)*temperatura + 32.0;
6.2.1 MOSTRAR cout<< la temperatura equivalente en
Fahrenheit es:MOSTRAR fahren;
7. MOSTRAR Desea realizar otra temperatura [s/n] [ ];
8. LEER respuesta;
9. MIENTRAS
9.1respuesta = S regrese al paso 3
9.2salir MIENTRAS
10.FIN

DIAGRAMA DE FLUJO

INICIO
DOUBLE faharen,
celsius, temperatura;
CHAR respuesta;
Introduzca laTemperatura
a convertir [ ]
LEER temperatura
SI
temperatura
<= 0
No

si

fahren = (9.0/5.0)

No

puede ingresar nmeros


*temperatura + 32.0;
Negativos o con valor cero
la temperatura equivalente
en Fahrenheit es:MOSTRAR
Desea realizar otra
temperatura [s/n] [ ]
LEER respuesta

SI

MIENTRAS
respuesta =s
NO
FIN

#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
int main (void)
{
double temperatura, fahren, celsius;
char respuesta;
do
{
clrscr();
cout<<"Ingrese la temperatura a convertir [ ]";
cin>>temperatura;
if (temperatura <= 0)
{
cout<<"No puede ingresar numeros negativos o con valor cero";
}
else

{
fahren = (9.0/5.0)*temperatura + 32.0;
cout<<"\nla temperatura equivalente en Fahrenheit
"<<fahren<<endl;
}
cout<<"\nDesea realizar otra temperatura [s/n] [ ]";
cin>>respuesta;
}
while(respuesta =='s');
return 0;
}

es:

#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
int main (void)
{
char tipotemp, seleccion;
float temperatura, fahren, celsius;
do
{
clrscr();
gotoxy(5,5);cout<<"Introduzca la temperatura a convertir [ ] ";
gotoxy(44,5);cin>>temperatura;
gotoxy(5,7);cout<<"Introduzca una f si la temperatura esta en grados
Fahrenheit";
gotoxy(5,8);cout<<"o una c si la temperatura esta en grados Celsius [ ] ";
gotoxy(55,8);cin>> tipotemp;
//establecer el formato de salida de resultados
cout<<setiosflags(ios::fixed)
<<setiosflags(ios::showpoint)
<<setprecision(2);
if (tipotemp == 'f')
{
fahren = (9.0/5.0)*temperatura + 32.0;
gotoxy(5,11);cout<<"la temperatura equivalente en Fahrenheit es: "
<<fahren<<endl;
}
else
{
celsius = (5.0/9.0)*(temperatura - 32.0);
gotoxy(5,11);cout<<"la temperatura equivalente en Celsius es: "
<<celsius<<endl;
}

gotoxy(5,14);cout<<"Desea realizar otra conversion de temperatura [s/n]


[ ]";
gotoxy(58,14);cin>>seleccion;
}
while(seleccion =='s');
return 0;
}

SWITCH CASE
Es una instruccin de seleccin mltiple que permite al desarrollador tomar un
camino entre varias opciones, es una manera fcil de utilizar un if con la
diferencia que este se selecciona de acuerdo a lo seleccionado por el usuario y
este se va comparando con cada uno de los elementos hasta que encuentra el
igual, el case permite colocar variables tanto numricas como carcter y
permite repetir las variable pero se debe tomar en cuenta que se ubicara en la
primera que encuentre, su estructura es la siguiente:

Switch(expresion)
{
case valor1:
instruccin;
.
.
Break;
case valor2:
Instruccin;
.
.
Break;
case valor3:
instruccin;
.
.
.
.

Break;
.
.
default:
instruccin;
.
.
}

case 1:
instruccin;
.
.
Break;

EJEMPLO
Desarrolle un algoritmo, diagrama de flujos y programa en C++ de un proceso
que muestra un men para que posteriormente se elija que operacin se desea
realizar, las operaciones son suma, resta, multiplicacin y divisin, al
seleccionar cada una esta debe pedir ingresar dos nmeros, al ingresarlos debe
mostrar la operacin que se selecciono

1. Inicio
2. VARIABLES
2.1CHAR operacin;
2.2Double a,b;
3. MOSTRAR
3.1Seleccione una operacin matemtica a realizar
3.2A. SUMA
3.3B. RESTA
3.4C. MULTIPLICACION
3.5D. DIVISION
3.6E. VERSION
3.7F. DESARROLLADORES
3.8Escriba la operacion que selecciono [ ];
4. LEER operacin;
5. SWITCH operacion
5.1CASE A
5.1.1 MOSTRAR Ingrese dos nmeros
5.1.2 LEER a,b;
5.1.3 MOSTRAREl resultado de la suma es a+b;

5.2CASE B
5.2.1 MOSTRAR Ingrese dos nmeros
5.2.2 LEER a,b;
5.2.3 MOSTRAREl resultado de la resta es a-b;
5.3CASE C
5.3.1 MOSTRAR Ingrese dos nmeros
5.3.2 LEER a,b;
5.3.3 MOSTRAREl resultado de la multiplicacion es a*b;
5.4CASE D
5.4.1 MOSTRAR Ingrese dos nmeros
5.4.2 LEER a,b;
5.4.3 MOSTRAREl resultado de la division es a/b;
5.5CASE E
5.5.1 MOSTRAR Version 1.0
5.6CASE F
5.6.1 MOSTRAR 5212-807 Almunos de Logica Algoritmica ;
6. FIN SWITCH
7. FIN

INICIO
CHAR operacin;
Double a,b;
Seleccione una operacin matemtica a realizar
A. SUMA
B. RESTA
C. MULTIPLICACION
D. DIVISION
Escriba la operacion que selecciono [ ]
LEER operacin
SWITCH
operacion

MOSTRAR
MOSTRAR
MOSTRAR
MOSTRAR
MOSTRAR
MOSTRAR
Ingrese dos nmeros; Ingrese dos nmeros; Ingrese dos nmeros;
Ingrese dos nmeros;
Version 1.0
5212-807
LEER a,b;
LEER a,b;
LEER a,b;
LEER a,b;
Almunos de
MOSTRAR
MOSTRAR
MOSTRAR
MOSTRAR
Logica
Algoritmica
El resultado de la
El resultado de la
El resultado de la
El resultado de la
suma es a+b;
resta es a-b;
multiplicacin a*b;
division es a/b;

FIN

#include<iostream.h>
#include<conio.h>
int main (void)
{
char operacion, respuesta;
double a, b;
gotoxy(18,3);cout<<"SELECCIONE
LA
OPCION
TRABAJAR";
gotoxy(33,5);cout<<"A. SUMA";
gotoxy(33,6);cout<<"B. RESTA";
gotoxy(33,7);cout<<"C. MULTIPLICACION";
gotoxy(33,8);cout<<"D. DIVISION";
gotoxy(33,9);cout<<"E. VERSION";
gotoxy(33,10);cout<<"F. DESARROLLADORES";
gotoxy(18,12);cout<<"ESCRIBA SU OPCION [ ]";
gotoxy(37,12);cin>>operacion;
switch(operacion)
{
case 'A':
clrscr();
cout<<"Ingrese dos numeros: \n";
cin>>a>>b;
cout<<"El resultado de la suma es: "<<(a+b);
break;
case 'B':
clrscr();
cout<<"Ingrese dos numeros: \n";
cin>>a>>b;
cout<<"El resultado de la resta es: "<<(a-b);
break;
case 'C':

QUE

DESEA

clrscr();
cout<<"Ingrese dos numeros: \n";
cin>>a>>b;
cout<<"El resultado de la multiplicacion es: "<<(a*b);
break;
case 'D':
clrscr();
cout<<"Ingrese dos numeros: \n";
cin>>a>>b;
cout<<"El resultado de la division es: "<<(a/b);
break;
case 'E':
clrscr();
cout<<"Vesion 1.0 ";
break;
case 'F':
clrscr();
cout<<"5212-807 Almunos de Logica Algoritmica ";
break;
}
cout<<"\n\nDesea ejecutar de nuevo S/N [ ]";
cin>>respuesta;
getch ();
return 0;
}

MODULARIDAD
Es realizar un algoritmo y/ programa por partes, en otras palabras por
algoritmos o programas que al unirse forman un programa completo, C++ es
uno de los pioneros en trabajar por mdulos, el trabajar por mdulos tambin
se define como desarrollar por objetos
OBJETO
Es una persona, ente, cosa o un elemento que tiene caractersticas iguales con
otros de su clase pero que existe un dato que lo hace diferenciarse entre los
dems, un objeto se puede y debe relacionarse con otros objetos, un objeto se
compone de muchas caracteristicas que lo describen.

FUNCIONES
Son programas dentro de un programa principal, este tipo de programacin
atiende a llamadas a funcin y para su buen desarrollo se declara un prototipo
de funcin que es una accin similar a la declaracin de variables, se debe
hacer una declaracin de prototipo por cada una de las funciones, y las

funciones (programas) se desarrollan fuera del cuerpo del programa, existen


dos maneras de realizar funciones:

Devuelve un valor este tipo de funciones realiza su operacin y


devuelve un dato que sirve para el desarrollo de otras funciones
Resuelve su contenido en si misma esta funcin realiza su operacin
y su resultado se resuelve dentro de ella misma y no devuelve valor para
ninguna funcin

Ejemplo para C++


En este ejemplo podemos ver un cuerpo de programa y donde realizaremos la
declaracin del prototipo de funcin
#include<iostream.h>
void EJEMPLO1 (int, int, int, double, int, char, double); // prototipo cuando
devuelve un valor
void EJEMPLO2 (); // prototipo cuando se resuelve por si misma
int main (void)
{
Int a,b,c,d;}
Char m;
Double x,y;
EJEMPLO1(a, b, c x, d,m,y); // llamada a funcin cuando devuelve un valor
EJEMPLO2();// llamada a funcin cuando se resuelve por si misma
return 0;
}
EJEMPLO1(int x, int y, int z, doubl a, int w, char i, int k);
{
Return variableresultado;
}
EJEMPLO1();
{
return;
}

PROTOTIPO DE FUNCION
Es la declaracin de una funcin, la cual ser creada fuera de cuerpo del
programa pero se debe declarar antes de realizarla excepto si esta se
desarrolla antes del cuerpo del programa, el formato de la declaracin es el
siguiente

void NombreDeFuncion (int, double, char, int); // es cuando se le


ingresan valores y devuelve un valor ya operado

void NombreDeFuncion ();// es cuando se ejecuta una operacin sobre si


misma

LLAMADA A UNA FUNCION


Lo nico que se debe hacer es colocar el nombre de la funcin seguido de un
parntesis en blanco si la funcin se resuelve por si sola, en el caso de que
ingrese datos para operar, debe colocarse el tipo de variable que ingresa con
las variables que asignara el en cuerpo del programa se colocan en el orden
que se desea operar en la funcin, mientras que en la funcin como ya se
defini en la llamada que variables se ocuparan, en la funcin en si puedo
cambiar el nombre de las variables

EJEMPLO
Como transformar un programa a una funcin, que recibe datos para devolver
un valor y un funcin que trabaja por si sola, el programa trata sobre ingresar
tres variables y el programa debe indicar cual de las tres es la mayor y adems
indicar que variable fue
PROGRAMA ORIGINAL (refiere al programa hecho sin funcion)
#include<iostream.h>
#include<conio.h>
int main (void) //cuerpo del programa
{
int x, y, z, numeromayor;
char variable, respuesta;
do
{
clrscr();
cout<<"Ingrese el primer numero: ";
cin>>x;
cout<<"\nIngrese el segundo numero: ";
cin>>y;
cout<<"\nIngrese el segundo numero: ";
cin>>z;
if (x >= y && x >=z)
{
numeromayor = x;
variable = 'X';
}

else
if (y >= x && y >=z)
{
numeromayor = y;
variable = 'Y';
}
else
{
numeromayor = z;
variable = 'Z';
}
cout<<"\n El maximo de los numeros es "
<<numeromayor<<" y su variable es "<<variable<<endl;
cout<<"\n Desea eejecutar de nuevo s/n ";
cin>>respuesta;
} // fin do
while(respuesta =='s'||respuesta =='S');
return 0;
} // fin Del cuerpo programa
PROGRAMA EN FUNCION QUE DEVUELVE UN VALOR
#include<iostream.h>
#include<conio.h>
void mayorque (int, int, int); //prototipo de funcion
int main (void) //cuerpo del programa
{
int x, y, z;
char respuesta;
do
{
clrscr();
cout<<"Ingrese el primer numero: ";
cin>>x;
cout<<"\nIngrese el segundo numero: ";
cin>>y;
cout<<"\nIngrese el segundo numero: ";
cin>>z;
mayorque(x, y, z); //llamada a funcion
cout<<"\n Desea ejecutar de nuevo s/n ";
cin>>respuesta;
} // fin do
while(respuesta =='s'||respuesta =='S');
return 0;
}
void mayorque(int a, int b, int c)
{
char variable;
int numeromayor;

if (a >= b && a >=c)


{
numeromayor = a;
variable = 'X';
}
else
if (b >= a && b >=c)
{
numeromayor = b;
variable = 'Y';
}
else
{
numeromayor = c;
variable = 'Z';
}
cout<<"\n El maximo de los numeros es "
<<numeromayor<<" y su variable es "<<variable<<endl;
return;
} // fin de la funcin
PROGRAMA EN FUNCION QUE SE RESUELVE POR SI SOLA
#include<iostream.h>
#include<conio.h>
void mayorque (); //prototipo de funcion
int main (void) //cuerpo del programa
{
mayorque (); //llamada a funcion
getch ();
return 0;
} // fin Del cuerpo programa
void mayorque ()
{
int x, y, z, numeromayor;
char variable, respuesta;
do
{
clrscr();
cout<<"Ingrese el primer numero: ";
cin>>x;
cout<<"\nIngrese el segundo numero: ";
cin>>y;
cout<<"\nIngrese el segundo numero: ";
cin>>z;
if (x >= y && x >=z)
{
numeromayor = x;
variable = 'X';

}
else
if (y >= x && y >=z)
{
numeromayor = y;
variable = 'Y';
}
else
{
numeromayor = z;
variable = 'Z';
}
cout<<"\n El maximo de los numeros es "
<<numeromayor<<" y su variable es "<<variable<<endl;
cout<<"\n Desea eejecutar de nuevo s/n ";
cin>>respuesta;
} // fin do
while(respuesta =='s'||respuesta =='S');
}

#include<iostream.h>
#include<conio.h>
void mayorque (); //prototipo de funcion
void MENU ();
int main (void) //cuerpo del programa
{
MENU (); //llamada a funcion
getch ();
return 0;
} // fin Del cuerpo programa
void MENU()
{
char operacion, respuesta;
clrscr ();
gotoxy(18,3);cout<<"SELECCIONE LA OPCION QUE DESEA
TRABAJAR";
gotoxy(23,5);cout<<"A. PRGRAMA QUE INDICA EL MAYOR DE TRES
NUMEROS";
gotoxy(23,7);cout<<"B. VERSION";
gotoxy(23,9);cout<<"C. DESARROLLADORES";
gotoxy(18,11);cout<<"ESCRIBA SU OPCION [ ]";
gotoxy(37,11);cin>>operacion;
switch(operacion)
{
case 'A':
clrscr();

mayorque ();
break;
case 'B':
clrscr();
cout<<"Vesion 1.0 ";
break;
case 'C':
clrscr();
cout<<"5212-807 Almunos de Logica Algoritmica ";
break;
}
cout<<"\n\nDesea ejecutar de nuevo S/N [ ]";
cin>>respuesta;
return;
}
void mayorque ()
{
int x, y, z, numeromayor;
char variable, respuesta;
do
{
clrscr();
cout<<"Ingrese el primer numero: ";
cin>>x;
cout<<"\nIngrese el segundo numero: ";
cin>>y;
cout<<"\nIngrese el segundo numero: ";
cin>>z;
if (x >= y && x >=z)
{
numeromayor = x;
variable = 'X';
}
else
if (y >= x && y >=z)
{
numeromayor = y;
variable = 'Y';
}
else
{
numeromayor = z;
variable = 'Z';
}
cout<<"\n El maximo de los numeros es "
<<numeromayor<<" y su variable es "<<variable<<endl;
cout<<"\n Desea eejecutar de nuevo s/n ";
cin>>respuesta;
} // fin do

while(respuesta =='s'||respuesta =='S');


MENU ();
}

Tarea
#include<math.h>
Raiz cuadrada sqrt(raiz)
Elevar a una potencia pow(numero, exponente)

También podría gustarte