Download TRABAJO DE ALGORITMO CTT JESUS MONTES
Document related concepts
Transcript
TRABAJO DE ALGORITMO C++ ESTUDIANTE JESUS ALBERTO MONTES SANCHEZ LICENCIADA SANDY ROMERO CUELLO UNIGUAJIRA ING. SISTEMAS DIURNO I SEMETRES 2013 MAICAO -GUAJIRA 1. Que es un lenguaje de programación y cuál es su objetivo: Un lenguaje de programación es aquel elemento dentro de la informática q nos permite crear programas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposición del programador pará que este pueda comunicarse con los dispositivos de hardware y software existentes. Conjuntos de elementos y símbolos q permiten ejecutar una serie de acciones con las cuales contralamos el computador Objetivo: El lenguaje de programación tiene como objetivo el tratamiento de la información correctamente, con lo que se espera que un programa de el resultado correcto y no uno erróneo. Así que cada aplicación debe funcionar según lo esperado en términos de programación. Sean de códigos claros y legibles, con lo que si un programador inicia un programa y no lo termina, otro programador sea capaz de entender la codificación y poder terminarlo. Un código claro y legible facilita el mantenimiento de la aplicación o sistema. 2. Como se clasifican los lenguajes de programación de ejemplos Se pueden clasificar atendiendo a varios criterios, los principales son: Según el nivel de abstracción: Lenguajes de máquina: están escritos en códigos (código de maquina) directamente inteligibles por la maquina (computadora), siendo sus instrucciones cadenas binarias (0 y 1) .Este lenguajes hace referencia al lenguaje especifico de una computadora mientras que código de maquina hace referencia al modo en que se escriben los diferentes lenguajes de maquina El lenguaje ensamblador :Es un derivado del lenguaje maquina y está formado por abreviaturas de letras y números llamadas mnemotécnicos, con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina, como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria, las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener. Lenguaje de alto nivel: permite al programador escribir las instrucciones de un programa utilizando palabras o expresiones sintácticas muy similares al inglés. Por ejemplo, en C se pueden usar palabras tales como: case, if, for, while, etc. para construir con ellas instrucciones como: if( numero > 0 ) printf( "El número es positivo" ) que traducido al castellano viene a decir que: si numero es mayor que cero, entonces, escribir por pantalla el mensaje: "El número es positivo". Ésta es la razón por la que a estos lenguajes se les considera de alto nivel, porque se pueden utilizar palabras de muy fácil comprensión para el programador. En contraposición, los de bajo nivel son aquellos que están más cerca del "entendimiento" de la máquina. Otros lenguajes de alto nivel son: Ada, BASIC, COBOL, FORTRAN, Pascal, etc. Otra característica importante de los lenguajes de alto nivel es que, para la mayoría de las instrucciones de estos lenguajes, se necesitarían varias instrucciones en un lenguaje ensamblador para indicar lo mismo. De igual forma que, la mayoría de las instrucciones de un lenguaje ensamblador, también agrupa a varias instrucciones de un lenguaje de máquina. Figura - Relación entre las instrucciones de alto nivel, ensamblador y máquina. Lenguaje de medio nivel. Se trata de un término no aceptado por todos; pero a seguramente habrás oído que estos lenguajes se encuentran en un punto medio entre los dos anteriores, dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel. 3. Haga un cuadro comparativo entre lenguaje de programación estructurado y lenguaje de programación orientado a objetos: Lenguaje de programación LEUNGUJE DE PROGRAMACION ESTRUCTURADO LENGUAJE DE PROGRAMACION ORIENTEDA A OBJETOS La programación estructurada utiliza un número limitado de estructuras de control que minimizan la complejidad de los problemas y que reducen los errores. Ésta incorpora entre otros elementos: el diseño descendente, recursos abstractos y estructuras básicas. Un lenguaje es descrito como estructurado en bloque cuando tiene una sintaxis para encerrar estructuras entre palabras clave tipo corchete, o Se le conoce como paradigma o modelo de programación, esto significa que no es un lenguaje especifico o una tecnología si no una forma de programar mediante instrucciones. la de llaves {...} de C++ La programación estructurada es una forma de escribir programación de ordenador de forma clara, para ello utiliza únicamente tres estructuras: secuencial, selectiva e iterativa. La programación orientada a objetos, intenta simular el mundo real a través del significado de objetos que contiene características y funciones Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase de algoritmo propio del usuario. 4. Que es el lenguaje C++ y cuáles son sus fortalezas y características fundamentales. En la actualidad cuantas versiones de C++: Es un lenguaje de programación de propósito general que ofrece economía sintáctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje de muy alto nivel y más bien un lenguaje pequeño, sencillo y no está especializado en ningún tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado y sobre todo, se aprende rápidamente. En poco tiempo, un programador puede utilizar la totalidad del lenguaje. Fue diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Fortalezas del lenguaje C++ Lenguaje muy didáctico, gracias a este lenguaje puedes aprender muchos otros lenguajes con gran facilidad, como C#, Java, Visual Basic, Java script, PHP, entre otros. Es muy potente en lo que se refiere a creación de sistemas complejos, un lenguaje muy robusto. Permite elaborar aplicaciones sencillas como un "Hello World!" hasta sistemas operativos y mucho más, todo eso dependiendo del manejo del lenguaje. Actualmente, puede compilar y ejecutar código de C, ya viene con librerías para realizar esta labor. Es un lenguaje muy empleado, existen muchos tutoriales en línea, libros, códigos fuentes abiertos... hay material de sobra y basta para aprender lo necesario y mucho más con este lenguaje. Existen muchos algoritmos cuyo pseudocódigo se encuentra ya desarrollado en C++, de manera que puedes tomarlo y amoldarlo a tu solución (porque el que veas un fragmento de código no asegura que sea correcto al 100%). Características fundamentales Las principales características del Lenguaje C son: 1.-Tiene un conjunto completo de instrucciones de control. 2.-Permite la agrupación de instrucciones. 3.-Incluye el concepto de puntero (variable que contiene la dirección de otra variable). 4.-Los argumentos de las funciones se transfieren por su valor. 5.- E/S no forma parte del lenguaje, sino que se proporciona a través de una biblioteca de funciones. Permite la separación de un programa en módulos que admiten compilación independiente. Originalmente el Lenguaje C estuvo muy ligado al sistema operativo UNIX como se había mencionado antes que, en su mayor parte, está escrito en C. Más adelante se comenzó a utilizar en otros sistemas operativos para programar editores, compiladores, etc. Aunque se le conoce como un lenguaje de programación de sistemas, no se adapta mal al resto de aplicaciones. De hecho, hoy en día un alto porcentaje de software para ordenadores personales está escrito en Lenguaje C. Por ejemplo, el sistema operativo MS-DOS. Algunas de las características más importantes que definen el lenguaje y que han permitido que sea tan popular, como lenguaje de programación son: 1.-Tamaño pequeño. 2.-Uso extensivo de llamadas a funciones. 3.-Comandos breves (poco tecleo). 4.-Lenguaje estructurado. 5.-Programación de bajo nivel (nivel bit) 6.-Implementación de apuntadores - uso extensivo de apuntadores para la memoria, arreglos, estructuras y funciones Las diversas razones por la cual se ha convertido en un lenguaje de uso profesional son: 1.-El uso de constructores de alto nivel. 2.-El poder manejar actividades de bajo-nivel. 3.-El generar programas eficientes. 4.-La posibilidad de poder ser compilado en una variedad de computadoras, con pocos cambios (portabilidad). Versiones actuales Bajo Microsoft Windows Microsoft Windows Code::blocks Dev-C++ Visual c++ Wxdev-C++´ Zinjai Embarcadero codeGear Bajo Bajo DOS TURBO C remplazado por C++BUILDER Bajo GNU/Linux Code::blocks netBeans eclipse Geany Zinjai Kdevelop 5. Como es la estructura de un programa en C++, identifique cada uno de sus elementos. De un ejemplo de un programa: #include<iostream.h> #include<conio.h> Llamado de las diferentes librerías Main(){ Llamado a la función principal main, inicio del programa Char nom [30]; Declaración de variables en este caso de tipo carácter Cout<<"Digite su nombre"; Cuerpo del programa Cin>>nom; cout para escribir y cin para leer Cout<<"Como Estas "<<nom; Getch (); Funciona como un freno, espera que presione una tecla Return 0; Directiva de retorno return 0 } Se Indica el final del programa 6. Cuáles son los tipos de datos que existen en C++: Todos los programas gestionan algunos tipos de información que normalmente se pueden representar utilizando uno de los ocho (8) tipos de datos básicos de C y C++: texto o char, valores enteros o int, valores de coma flotante o flota, valores en como flotante de doble precisión o double (Long double), enumerados o enum, s i n v a l o r o void, punteros y booleanos. 1. Texto (tipo de dato char) está constituido por caracteres simples, como a, Z, ¿3 y cadenas, como “Esto es una prueba” (normalmente, de 8 bits o un byte por carácter, con un rango de 0 a 255). 2. Los valores enteros ( t i p o d e d a t o int) s o n a q u e l l o s n ú m e ro s q u e s e a p r e nd i e r o n a c o n t a r ( 1 , 4 , - 2 , 1 3 5 4 ) ; normalmente, tienen un tamaño de 16 bits, 2 bytes o una palabra, con rango de -32768 a 32767. En Windows 98 Windows NT, los valores enteros tienen un tamaño de 32 bits con un rango de 2147483648 a 2147483647. 3. Los valores en coma flotante (tipo de dato float) son números que tienen una parte fraccional, como por ejemplo pi (3,14159), y exponentes (7,563 1021). También se conocen como números reales (normalmente, son de 32 bits, 4 bytes 2 palabras, con un rango de +/-3,4E-38 a 3,4E+38). 4. Los valores en coma flotante de doble precisión (tipo de dato double) tienen un rango superior (normalmente de 64 bits, 8 bytes ó 4 palabras, con un rango de 1, 7E -308 a 1, 7E+308). Los valores en coma flotante Long doublé (doble precisión largos) son incluso más precisos (normalmente, tamaño de 80 bits ó 5 palabras, con un rango de+/-1,18E-4932 a 1,18E-4932). 5 .los tipos de datos enumerados (tipo de dato enum) permiten al usuario definir tipos de datos. 6. El tipo void se utiliza para especificar valores que ocupan cero bits y no tienen valor (este tipo también se puede utilizar para la creación de punteros genéricos. 7. El tipo de dato puntero no contiene información en el mismo sentido que el resto de los tipos de datos; en su lugar, cada puntero contiene la dirección de la posición de memoria que almacena el dato actual. 8. El tipo de dato bool, al que se le puede asignar las constantes true (Verdadero) y false (falso) RANGO DE LOS TIPOS DE DATOS Tipo Rango mínimo Rango máximo Char 0 255 Short -128 127 -32768 32767 Int Unsigned int 0 65535 Long -2147483648 2147483637 Float 3.4*(10-38) 3.4*(1038) Double 1.7*(10-308) 1.7*(10308) Long double 1.7*(10-308) 1.7*(10308) 7. Que es una librería en C++, enuncie las más importantes y diga para que sirven: En C++, se conoce como librerías (o bibliotecas) a cierto tipo de archivos que podemos importar o incluir en nuestro programa. Estos archivos contienen las especificaciones de diferentes funcionalidades ya construidas y utilizables que podremos agregar a nuestro programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre muchas otras más. Al poder incluir estas librerías con definiciones de diferentes funcionalidades podremos ahorrarnos gran cantidad de cosas, imaginemos por ejemplo que cada vez que necesitemos leer por teclado, Debamos entonces crear una función que lo haga (algo realmente complejo), al poder contar con las librerías en C++, podremos hacer uso de una gran variedad de funciones que nos facilitaran la vida y aumentarán la modularidad de nuestros códigos. Algunas de las librerías son: Librería fstream: Flujos hacia/desde ficheros. Permite la manipulación de archivos desde el programar, tanto leer como escribir en ellos. Librería iosfwd: Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs estándar. Por ejemplo ostream. Librería iostream: Parte del a STL que contiene los algoritmos estándar, es quizá la más usada e importante (aunque no indispensable). Librería list: Parte de la STL relativa a contenedores tipo list; listas doblemente enlazadas Librería math: Contiene los prototipos de las funciones y otras definiciones para el uso y manipulación de funciones matemáticas. Librería memory: Utilidades relativas a la gestión de memoria, incluyendo asignado res y punteros inteligentes (auto_ptr). Librería new: Manejo de memoria dinámica Librería numeric: Parte de la librería numérica de la STL relativa a operaciones numéricas. Librería ostream: Algoritmos estándar para los flujos de salida. Librería queue: Parte de la STL relativa a contenedores tipo que (colas de objetos). Librería stdio: Contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada y salida. Librería stdlib: Contiene los prototipos de las funciones, macros, y tipos para utilidades de uso general. Librería string: Parte de la STL relativa a contenedores tipo string; una generalización de las cadenas alfanuméricas para albergar cadenas de objetos. Muy útil para el fácil uso de las cadenas de caracteres, pues elimina muchas de las dificultades que generan los char Librería typeinfo: Mecanismo de identificación de tipos en tiempo de ejecución Librería vector: Parte de la STL relativa a los contenedores tipo vector; una generalización de las matrices unidimensionales C/C++ Las librerías no son únicamente archivos externos creados por otros, también es posible crear nuestras propias librerías y utilizarlas en nuestros programas. Las librerías pueden tener varias extensiones diferentes, las más comunes son: lib, .bpl, .a, .dll, h 8. Como se declara una librería. Como se declara una variable, una constante: Librería: #include<nombre de la librería y .h> Variable: int numero; char letra; Long enterolargo; float numeroflotante; Las constante: solo se asignan directamente igual se declara de la misma forma de las variables o se utilizan en el momento necesitado cuando es un numero o elemento fijo. 9. Como se asigna en c++ La asignación en C++ se hace con el símbolo (=) 10. como se lee y se escribe en C++ con la librería stdio.h Lectura: scanf (“%d”,&nom); Escritura: printf (“su nombre es: %d”, nom) Como se lee y se escribe en C++ con la librería iostream.h Lectura: cin>> nom; Escritura: cout<<”su nombre es:”<<nom; 12. Como se representan las primitivas secuenciales, condicionales incluyendo el DD y los ciclos repetitivos, para, mientras que y haga hasta. Condicional si: Los condicionales se determinan por la palabra if que significa si y la instrucción else que significa en caso contrario, en este caso bajo el condicional solo existe una línea, por consiguiente no se hace necesario ni abrir ni cerrar la instrucción { }, lo que pasaría en el caso de que hubiera, mas de una instrucción ej.: If (a>b) { .... ..... ... } Ciclo repetitivo para: For (A=1; A<=10; A++) Este ciclo se divide en tres partes principales A) La variable A toma un valor inicial de arranque, aunque c++, permite definir las variables en el mismo ciclo. B) A<=10; condición, de parada, para este caso que llegue a 10 C) A++; incremento, decimos que queremos incrementar la variable A en pasos de 1; se puede utilizar en sentido inverso A--, es decir decrementos. D) Como dentro del ciclo, no hay sino una instrucción, entonces no se requiere apertura ni cierre de llaves. Ciclos Mientras que (while) y ciclo haga hasta (do while) Sentencia while: esta sentencia de ciclo o bucle es muy sencilla pero muy potente, su estructura. While (<condición>) <sentencia> Puede ser también While (condición) { -------} Sentencia do while, este ciclo es muy utilizado cundo queremos realizar filtros (permitir el ingreso de datos dentro de un rango especificado) y cuando deseamos que se permita el ingreso al ciclo al menos una vez. Ejemplo: While (nota ¡=0) { do { Cout<<"entre una nota"; Cin>>nota; if (nota <0) || (nota >5) { cout<<"Error. Inténtelo nuevamente"; } } While (nota<0) || (nota >5); Al finalizar el ciclo do se cierra llaves l con un while, el cual termina con punto y coma. 13. Pase los cinco primeros algoritmos que tiene en su libreta a C++. 1) Hacer un algoritmo que me permita leer el nombre de una persona y saludar a esa persona por su nombre: “Saludar por el nombre “ #include<iostream.h> #include<conio.h> main () { char nom[45]; Cout<<"Digite su nombre"; Cin>>nom; Cout<<"Como Estas "<<nom; getch (); Return 0;} 2) Hacer un algoritmo que lea el sexo de una persona y me diga si es hombre o mujer: “Programa para leer un sexo y decir si es hombre o mujer” #include<iostream.h> #include<conio.h> main(){ int sexo; cout<<"por favor digite su sexo:\n 1 Para Masculino \n 2 Para Femenino \n ---> "; cin>>sexo; if(sexo==1){ cout<<"Eres un hombre"; }else if(sexo==1){ cout<<"Eres mujer"; }else cout<<"\nsexo no encontrado \nEsc para salir"; getch(); return 0; } 3) Hacer un algoritmo que lea una vocal y nos diga que vocal leyó: “Decir una vocal “ #include<iostream.h> #include<conio.h> main(){ char vocal; cout<<"Digite una vocal: "; cin>>vocal; cout<<"Su vocal es: "<<vocal; getch(); return 0; } 4) Hacer un algoritmo que me permita leer dos números, los sume y escriba el resultado: “Leer dos números y sumarlos” #include<iostream.h> #include<conio.h> main(){ int numero1, numero2, suma; Cout<<"digite un numero: "; Cin>>numero1; Cout<<"\ndigite otro numero: "; cin>>numero2; suma=numero1+numero2; cout<<"\nLa suma es: "<<suma; getch(); return 0;} 5) Diseñar un algoritmo que me permita calcular el área y el perímetro de un rectángulo: “Área Y Perímetro de Un Rectángulo” #include<iostream.h> #include<conio.h> main (){ Int base, altura, area,p; cout<<"Por favor digite la base: "; cin>>base; cout<<"\nPor favor digite la altura: "; cin>>altura; area=base*altura; p=2*(base*altura); cout<<"\nEl Area del Rectangulo es: "<<area; cout<<"\nEl Perimetro del Rectangulo es: "<<p; getch(); return 0; .