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