You are on page 1of 17

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO

FACULTAD DE INFORMATICA Y ELECTRONICA


ESCUELA DE INGENIERIA ELECTRONICA Y CONTROL DE
REDES INDUSTRIALES

INFORME DE PROYECTO FINAL

Control De Reserva de Aviones

ASIGNATURAS
PROGRAMACION I

ESTUDIANTE(S)
DANNY WALTER PILCO VALENTE -635
ALEX _________ESPINOZA-___

SEMESTRE
SEGUNDO/A

PERIODO ACADMICO
MES AO MES AO

INDICE
1.- Introduccin. ............................................................................................................................ 3
2.- Objetivo General ...................................................................................................................... 3
2.1. Objetivos Especficos .......................................................................................................... 3
3.- Justificacin. ............................................................................................................................. 3
4.- Marco Terico .......................................................................................................................... 4
Operaciones Bsicas .................................................................................................................. 4
Lenguajes de Programacin ...................................................................................................... 6
Estructuras de Control .............................................................................................................. 8
Programacin Estructurada o Modular ................................................................................... 10
5.- Implementacin de la Solucin .............................................................................................. 12
5.1.- Algoritmo/Codigo Fuente ............................................................................................... 12
5.2.- Funcionamiento del Programa ........................................................................................ 14
6.- Conclusiones .......................................................................................................................... 17
7.- Bibliografa. ............................................................................................................................ 17



1.- Introduccin.
Una calculadora es un dispositivo que se utiliza para realizar clculos aritmticos.
Aunque las calculadoras modernas incorporan a menudo un ordenador de propsito
general, se disean para realizar ciertas operaciones ms que para ser flexibles. Por
ejemplo, existen calculadoras grficas especializadas en campos matemticos grficos
como la trigonometra y la estadstica. Tambin suelen ser ms porttiles que la
mayora de los computadores, si bien algunas PDAs tienen tamaos similares a los
modelos tpicos de calculadora, de igual forma en la actualidad los dispositivos mviles
como: celulares, tablets y de ms usan por defecto una aplicacin similar. Se entiende
por operaciones bsicas a: suma, resta, multiplicacin y divisin. El principal uso de
una calculadora es el de reducir el tiempo en los procesos de cculo sobre todo
cuando son complejos.[1]

2.- Objetivo General
Disear un programa que permita realizar las cuatro operaciones bsicas como son:
suma, resta, multiplicacin y divisin
2.1. Objetivos Especficos
Identificar las cuatro operaciones bsicas.
Seleccionar el lenguaje de programacin ms adecuado.
Implementar el algoritmo o codigo necesario para desarrollar el
programa.
3.- Justificacin.
El desarrollo de un programa que permita realizar las 4 operaciones bsicas, permitir reducir
tiempos en los procesos de clculo, el desarrollo del mismo se lo realizara en el lenguaje de
programacin C++, lo que permitir ser ejecutado en cualquier maquina con un sistema
operativo Windows. Para la realizacin del mismo se usar programacin estructurada, es decir
con el uso de procedimientos y funciones; lo que permitir la reutilizacin de codigo y la
facilidad en cuanto al mantenimiento del mismo, por si fuera poco se usara estructuras de
control con la finalidad de evitar mal los ingresos de datos u operaciones invalidas, a la hora de
mostrar los resultados.



4.- Marco Terico
Operaciones Bsicas
Una operacin es un conjunto de reglas que permiten obtener otras cantidades o
expresiones, las operaciones fundamntales en la aritmtica son: suma, resta,
multiplicacin, divisin, potenciacin, radicacin y Logaritmacin. Lgicamente existen
operaciones bsicas de las cuales se pueden realizar varias alternativas para la consecucin
de nuevas operaciones; en este sentido las operaciones bsicas son: suma, resta,
multiplicacin y divisin.[2]
Smbolo Palabras que se usan
+ Suma, adicin, ms, juntar, incrementar, total
-
Resta, sustaer, sustraccin, menos, diferencia, decrecer, disminuir,
quitar, deducir
Multiplicacin, multiplicar, producto, por, veces
Divisin, dividir, cociente, cuntas veces cabe

Sumar.- Es juntar dos o ms nmeros (o cosas) para hacer un nuevo total.

Los nmeros que se suman
se llaman "sumandos":

Propiedades de la Suma:[3]
1. Asociativa:
El modo de agrupar los sumandos no vara el resultado.
(a + b) + c = a + (b + c)
2. Conmutativa:
El orden de los sumandos no vara la suma.
a + b = b + a
3. Elemento neutro:
El 0 es el elemento neutro de la suma porque todo nmero sumado con l da el mismo
nmero.
a + 0 = a
4.Elemento opuesto
Dos nmeros son opuestos si al sumarlos obtenemos como resultado el cero.
a a = 0
El opuesto del opuesto de un nmero es igual al mismo nmero.
La suma de nmeros naturales no cumple esta propiedad.

Restar.- quitar un nmero de otro.


Minuendo - Sustraendo = Diferencia

Minuendo: el nmero al que se le quita algo.
Sustraendo: el nmero que se quita.
Diferencia: el resultado de restar un nmero menos otro.
Propiedades de la Resta: [3]

No es Conmutativa:
a b b a


Multiplicar.- (en su forma ms simple) sumas repetidas.
Aqu vemos que 6+6+6 (tres 6s)
hacen 18
Tambin podemos decir que
3+3+3+3+3+3 (seis 3s) hacen 18

Pero puedes multiplicar por fracciones o decimales, eso va ms all de la simple idea de sumas
repetidas:
Ejemplo: 3.5 5 = 17.5
que quiere decir 3.5 veces 5, o 5 veces 3.5

Propiedades de la Multiplicacin: [3]
1. Asociativa:
El modo de agrupar los factores no vara el resultado
(a b) c = a (b c)
2. Conmutativa:
El orden de los factores no vara el producto.
a b = b a
3. Elemento neutro:
El 1 es el elemento neutro de la multiplicacin porque todo nmero multiplicado por l
da el mismo nmero.
a 1 = a
4. Elemento inverso:
Un nmero es inverso del otro si al multiplicarlos obtenemos como resultado el
elemento unidad.

La suma de nmeros naturales y de enteros no cumple esta propiedad.
5. Distributiva:
El producto de un nmero por una suma es igual a la suma de los productos de dicho
nmero por cada uno de los sumandos.
a (b + c) = a b + a c
6. Sacar factor comn:
Es el proceso inverso a la propiedad distributiva.
Si varios sumandos tienen un factor comn, podemos transformar la suma en
producto extrayendo dicho factor.
a b + a c = a (b + c)

Dividir.- repartir en partes o grupos iguales. Es el resultado de un "reparto equitativo".
La divisin tiene su propias palabras que aprenderse.
Tomemos el sencillo problema de dividir 22 entre 5. La respuesta es 4, y sobran 2. Aqu
te mostramos los nombres ms importantes:


O lo que es lo mismo:

Propiedades de la Divisin[3]
1. No es Conmutativo:
a : b b : a
2. Cero dividido entre cualquier nmero da cero.
0 : a = 0
3. No se puede dividir por 0.

Lenguajes de Programacin
Un Lenguaje de Programacin es un conjunto de reglas, notaciones, smbolos y/o caracteres
que permiten a un programador poder expresar el procesamiento de datos y sus estructuras
en la computadora. Cada lenguaje posee sus propias sintaxis. Tambin se puede decir que un
programa es un conjunto de rdenes o instrucciones que resuelven un problema especfico
basado en un Lenguaje de Programacin.[4]
Clasificacion
Los lenguajes de bajo nivel:
Son lenguajes de programacin que se acercan al funcionamiento de una computadora. El
lenguaje de ms bajo nivel es, por excelencia, el cdigo mquina. A ste le sigue el lenguaje
ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria
de la computadora de forma directa.
Los lenguajes de medio nivel:
Hay lenguajes de programacin que son considerados por algunos expertos como lenguajes de
medio nivel (como es el caso del lenguaje C) al tener ciertas caractersticas que los acercan a
los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un
lenguaje ms cercano al humano y, por tanto, de alto nivel.
Los lenguajes de alto nivel:
Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por
elementos de lenguajes naturales, como el ingls.
En BASIC, el lenguaje de alto nivel ms conocido, los comandos como "IF CONTADOR = 10
THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a
10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado
que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en
realidad de una forma rgida y sistemtica.
Lenguaje C
Ms conocido para desarrollar software de sistemas y aplicaciones. Es un lenguaje muy
eficiente en este campo. El lenguaje de programacin C est disponible multitud de
plataformas diferentes, mucho ms que cualquier otro lenguaje. Adems, en principio, el
lenguaje de programacin C fue creado para fomentar la programacin independientemente
de la mquina. Es un lenguaje simple, flexible porque permite programar con multitud de
estilos, el lenguaje de programacin C te impide programar operaciones sin sentido, un
reducido conjunto de palabras clave, tiene acceso a memoria de bajo nivel, permite que los
datos relacionados se combinen y se manipulen como un todo, etc.
Lenguaje PASCAL:
Es un sistema de desarrollo de software que incluye un compilador y un entorno de desarrollo
integrado (IDE) para el lenguaje de programacin Pascal, desarrollado por Borland y liderado
por Philippe Kahn. Fue lanzado en 1983 para MS-DOS, CP/M, CP/M-86 y, posteriormente, para
Microsoft Windows, fue durante mucho tiempo la versin ms extendida del lenguaje Pascal.
Tambin hubo una versin de corta vida para Apple Macintosh.
Lenguaje Basic:
Es un lenguaje de programacin que se cre con fines pedaggicos, era el lenguaje que utilizan
las microcomputadoras de los aos 80. Actualmente sigue siendo muy conocido y tienen
muchsimos dialectos muy diferentes al original.
El BASIC es un lenguaje de programacin muy amplio, con una sintaxis fcil, estructura sencilla
y un buen conjunto de operadores. No es un lenguaje especfico, es polivalente, potente, se
aprende rpidamente, en poco tiempo cualquier usuario es capaz de utilizar casi la totalidad
de su cdigo.
Lenguaje C++
El C++ es un lenguaje orientado a objetos al que se le aadieron caractersticas y cualidades de
las que careca el lenguaje C. Fue creado en los aos 80 por Bjarne Stroustrup basando en el
lenguaje C. Para 1983 dicha denominacin cambi a la de C++. El C++ es uno de los lenguajes
ms potentes porque nos permite programar a alto y a bajo nivel, pero a su vez es difcil de
aprender porque es necesario hacerlo casi todo manualmente. El nombre fue propuesto por
Rick Masciatti, al utilizarse C++ fuera de los laboratorios donde se cre. Con el nombre de C++
que quiso dar a entender que el C++ es una extensin del lenguaje C.
Estructuras de Control
Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones;
sin embargo, existen tareas ms complejas que no pueden ser resueltas empleando un
esquema tan sencillo, en ocasiones es necesario repetir una misma accin un nmero
determinado de veces o evaluar una expresin y realizar acciones diferentes en base al
resultado de dicha evaluacin.[5]

Para resolver estas situaciones existen las denominadas estructuras de control que poseen las
siguientes caractersticas:
Una estructura de control tiene un nico punto de entrada y un nico punto de
salida.
Una estructura de control se compone de sentencias o de otras estructuras de
control.
Tales caractersticas permiten desarrollar de forma muy flexible todo tipo de algoritmos an
cuando slo existen tres tipos fundamentales de estructuras de control:
Secuencial.
Alternativa.
Repetitiva.

Secuencial
La estructura secuencial es la ms sencilla de todas, simplemente indica al procesador que
debe ejecutar de forma consecutiva una lista de acciones (que pueden ser, a su vez, otras
estructuras de control); para construir una secuencia de acciones basta con escribir cada
accin en una linea diferente. A continuacin se muestra una composicin secuencial de
acciones en notacin algortmica.
leer a
leer b
c <-a + b
escribir c
Estructura alternativa simple
Esta estructura permite evaluar una expresin lgica y en funcin de dicha evaluacin ejecutar
una accin (o composicin de acciones) o no ejecutarla; tambin se la suele denominar SI-
ENTONCES. A continuacin se muestra la notacin algortmica

si expresin lgica entonces
acciones
fin_si

if (expresin lgica) then
acciones
end if

Estructura alternativa doble
La estructura alternativa doble es similar a la anterior con la salvedad de que en este tipo de
estructura se indican acciones no slo para la rama verdadera sino tambin para la falsa;
es decir, en caso de la expresin lgica evaluada sea cierta se ejecutan una accin o grupo de
acciones y en caso de que sea falsa se ejecuta un grupo diferente.

si expresin lgica entonces
acciones
si no
acciones
fin_si

Estructura multialternativa
Esta estructura evala una expresin que pueda tomar n valores (enteros, caracteres y lgicos
pero Nunca reales) y ejecuta una accin o grupo de acciones diferente en funcin del valor
tomado por la expresin selectora.

La sintaxis de esta estructura es la siguiente:
segun expresin
caso valor1:
accin 1
caso valor2:
accin 2
...
caso valorN:
accin n
otro caso:
accin
fin segn

Estructura Repetitiva desde-hasta
Esta estructura permite repetir la ejecucin de una accin o de un grupo de acciones un
nmero determinado de veces; la sintxis es la siguiente:

desde ndice <-inicio hasta fin [con paso valor] hacer
accin
fin desde

do indice=inicio, fin, paso
accin
end do



Estructura repetitiva mientras
Esta estructura repite una accin o grupo de acciones mientras una expresin lgica sea cierta;
la sintxis es la siguiente:

mientras expresin lgica hacer
accin
fin desde

do while (expresin lgica)
accin
end do



Estructura repetitiva repetir-hasta
Esta estructura repite una accin o grupo de acciones hasta que una expresin lgica sea
cierta; la sintxis en la notacin algortmica es la siguiente:

repetir
accin
hasta expresin lgica


Programacin Estructurada o Modular
Consiste en una tcnica de programacin que consiste en subdividir un programa grande en
varios subprogramas, estos subprogramas pueden ser procedimientos o funciones.
Procedimientos C++
Un camino para dividir un gran programa en partes ms pequeas es el uso de los llamados
procedimientos.
Un procedimiento es un grupo de instrucciones, variables, constantes, etc, que estan
diseados con un propsito particular y tiene su nombre propio.
Es decir un procedimiento es un mdulo de un programa que realiza tareas especficas y que
no puede regresar valores a la parte principal del programa u otro procedimiento que lo est
invocando.
Despus de escribir un procedimiento se usa su propio nombre como una sola instruccin o
llamada al procedimiento.
Los procedimientos se podrn escribir despus del cuerpo principal del programa utilizando el
formato:
void NomProc(){instrucciones;};
Pero tambin los procedimientos debern declararse antes del main como lo muestra el
programa ejemplo.
Sin embargo el procedimiento se construye antes del main() entonces no hay necesidad de
declararlo antes.
Un programa puede tener tantos procedimientos como se deseen para hacer una llamada o
invocacin al procedimiento durante la ejecucin de un programa solo se deber escribir el
nombre del procedimiento y los parntesis en blanco.
Funciones c++
Una funcion es un modulo de un programa separado del cuerpo principal, que realiza una
tarea especifica y que puede regresar un valor a la parte principal del programa u otra funcion
o procedimiento que la invoque.
La forma general de una funcion es:
Tipodato Nomfun(parametros)
{
cuerpo de instrucciones;
return [dato,var,expresion];
}
Donde tipodato especifica el tipo de dato que regresara la funcin.
La instruccin RETURN es quien regresa un y solo un dato a la parte del programa que la este
llamando o invocando, sin embargo es de considerar que return puede regresar un dato, una
variable o una expresin algebraica(no ecuacin o formula) como lo muestran los siguientes
ejemplos;
a) return 3.1416;
b) return area;
c) return x + 15/2;
La lista de parametros formales es una lista de variables separadas por comas (,) que
almacenaran los valores que reciba la funcion, estas variables actuan como locales dentro del
cuerpo de la funcion.
Aunque no se ocupen parametros los parntesis son requeridos.
INSTRUCCION RETURN
Dentro del cuerpo de la funcin deber haber una instruccin return cuando menos para
regresar el valor, esta instruccin permite regresar datos.
Recordar ademas que cuando se llame una funcin debera haber una variable que reciba el
valor que regresara la funcin, es decir generalmente se llama una funcin mediante una
sentencia de asignacion, por ejemplo resultado=funcion(5, 3.1416);

5.- Implementacin de la Solucin
El programa ser desarrollado en lenguaje C++, se utilizara programacin estructurada,
es decir el uso de procedimientos y funciones que facilitara el manteniendo del mismo
y permitir la reutilizacin del codigo. Se usarn estructuras de control para evitar mal
el ingreso de datos y evitar as problemas a la hora de mostrar los resultados.
El manejo del programa ser a travs de un men de opciones, en donde el usuario
podr discernir entre las cuatro operaciones bsicas: suma, resta, multiplicacin y
divisin; posterior a la seleccin el programa solicitara el ingreso de los datos (de
requerimiento y bajo control solo nmeros), Una vez finalizado el programa permitir
interactuar con el usuario con el fin de reutilizar el programa o salir completamente
del mismo.

5.1.- Algoritmo/Codigo Fuente

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{
float num1,num2, res;
int op;
char mnsg;

do
{
system("cls"); //clrscr();
cout<<" ********** OPERACIONES **************"<<endl;
cout << "Introduzca el 1er numero";
cin>>num1;
cout << "Introduzca el 2do numero";
cin>>num2;

cout <<endl<<endl<< "MENU DE OPCIONES"<<endl;
cout << "1. Suma"<<endl;
cout << "2. Resta"<<endl;
cout << "3. Multiplicacion"<<endl;
cout << "4. Divisin"<<endl;
cout << "5. Salir"<<endl;
cout<<endl<<"OPCION=> ";
cin>>op;

switch (op)
{
case 1:{
res=num1+num2;
cout<<"El resultado de la suma es: "<<res;
break;
}
case 2:{
res=num1-num2;
cout<<"El resultado de la resta es: "<<res;
break;
}
case 3:{
res=num1*num2;
cout<<"El resultado de la multimplicacin es: "<<res;
break;
}
case 4:{
res=num1/num2;
cout<<"El resultado de la divisin es: "<<res;
break;
}
case 5:{
cout<<"GRACIAS POR USAR ESTE PROGRAMA ";
break;
}
default:{
cout<<"Opcion no existe";
}
}

cout<<endl<<endl<<" Desea cerrar el programa S/N: ";
cin>>mnsg;

}
while (mnsg == 'N' || mnsg == 'n');

getch();
return 0;
}

5.2.- Funcionamiento del Programa
1.- Ingresos de los Datos

2.- Men de Opciones

3.- Muestra el resultado segn la operacin escogida




4.- Interactividad con el usuario

5.- decisin por (N):

6.- decisin por (S):

7.- Control de ingreso de datos:

6.- Conclusiones
Se logr determinar que para el desarrollo de program se loo realizara en el
lenguaje de programacin c++, mediante el uso de compilador denominado
BORLAND C++ 2005
Se ha conseguido la implementacin de un programa que realice las funciones
de una calculadora bsica.
Mediante el uso de estructuras de control se consigui controla el mal acceso
de los datos, evitando ingresarse letra y smbolos especiales.
El programa ha sido funcional en sistemas operativos como: Windows xp,
Windows 7 (32 bits), Windows 7 (64 bits) y Windows 8(32 bits.)



7.- Bibliografa.
[1]. que es una calculadora http://es.wikipedia.org/wiki/Calculadora
[2]. Operaciones Artimenticashttp://www.disfrutalasmatematicas.com/definiciones-
basicas-matematicas.html
[3].Propiedades de las
Operacioneshttp://www.ditutor.com/numeros_naturales/operaciones.html
[4]. Lenguajes de Programacion, http://www.monografias.com/trabajos99/historia-
y-definicion-lenguajes-programacion/historia-y-definicion-lenguajes-
programacion.shtml
[5]. Estruturas de Control. http://di002.edv.uniovi.es/~dani/asignaturas/apuntes-
leccion4.PDF
[6] Procedimeitos, http://www.programacionfacil.com/cpp:procedimientos
[7]Funciones, http://www.programacionfacil.com/cpp/funciones

You might also like