lunes, 5 de marzo de 2018

Estructura de un programa C++

Programa C++

¿Qué es C++?

Es un lenguaje de programación multiparadigma, puesto que permite programar de manera imperativa, orientada a objetos o genérica.

Es un lenguaje nacido a principios de los años 80, pero que ha ido adquiriendo popularidad a finales de esa década y a principios de la década de los 90, puesto que ha sido el lenguaje favorito para la creación de aplicaciones de escritorio, ofimática y de juegos, tipos de aplicaciones muy populares en esa época.

¿Cuál es la estructura de un programa en C++?

Estructura básica #include <iostream.h> Instrucciones declarativas #include <stdlib.h> [declaración de variables globales] int main() Función Principal { Aquí inicia el programa Cuerpo del programa(Instrucciones ) } Aquí finaliza el programa
3. Estructura básica Un programa en C++ se caracteriza por tener en su código una cabecera indispensable: main( ) #include ------ Archivo de cabecera [declaración de variables globales] int main ( ) ------ Cabecera de función, nombre de la función { … ------ Sentencias de la función. } tipo func1( ) { … } tipo func2( ) { … }
4. Archivo de cabecera • #include <librería_solicitada> • La parte del #include se refiere a la biblioteca de funciones que vamos a utilizar. Es decir para llamar a una biblioteca en particular debemos hacer lo siguiente: • #include <librería_solicitada> • El estándar de C++ incluye varias bibliotecas de funciones, y dependiendo del compilador que se esté usando, puede aumentar el número.
5. Archivo de cabecera • Existen archivos de cabecera estándar muy utilizados, por ejemplo: #include<iostream.h> contiene las funciones de ingresar y mostrar datos. #include<math.h> contiene las funciones matemáticas comunes. #include<time.h> contiene las funciones para tratamiento y conversión entre formatos de fecha y hora. #include<conio.h>: contiene los prototipos de las funciones, macros, y constantes para preparar y manipular la consola en modo texto en el entorno de MS-DOS®.
6. Archivo de cabecera #include<stdio.h>: contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada y salida. #include<stdlib.h>: contiene tipos, macros y funciones para la conversión numérica, generación de números aleatorios, búsquedas y ordenación, gestión de memoria y tareas similares. #include<string.h>: contiene los prototipos de las funciones y macros de clasificación de caracteres.
7. Declaración de variables globales • Una variable es un espacio reservado en el ordenador para contener valores que pueden cambiar durante la ejecución de un programa. • Los tipos determinan cómo se manipulará la información contenida en esas variables. • El tipo nos dice a nosotros y al compilador cómo debe interpretarse y manipularse la información binaria almacenada en la memoria de un ordenador.
8. Declaración de variables globales • Una variable global es aquella que se define fuera del cuerpo de cualquier función, normalmente al principio del programa, después de la definición de los archivos de biblioteca (#include), de la definición de constantes simbólicas y antes de cualquier función. El ámbito de una variable global son todas las funciones que componen el programa, cualquier función puede acceder a dichas variables para leer y escribir en ellas. Es decir, se puede hacer referencia a su dirección de memoria en cualquier parte del programa.
9. Cabecera de función • Una funcion es un conjunto de instrcciones que se la puede llamar desde el programa principal o desde otras funciones. • Todo programa en C++ comienza con una función main(), y sólo puede haber una. • Los paréntesis que le siguen contienen lo que se le va a mandar a la función. • En caso de colocarla palabra “void”, que significa vacío, se esta indicando que a la función main no se le está mandando nada, podría omitirse el void dentro de los paréntesis, el compilador asume que no se enviará nada. La llave que se abre significa que se iniciará un bloque de instrucciones.
10. Cabecera de función • Sintaxis para la declaración de una función: • Prototipo de función nombre de la función ( parámetros ); • Prototipo de la función: sirve para indicar que va a retornar la función, si va a retornar un entero, un double, un char, o simplemente no retorna nada ( void ). Esto es obligatorio • Parametros: son los datos que le enviamos a la funcion para que con ellos posiblemente desarrolle algo que necesitemos. Esto es opcional. • Ejemplo: • void ingresar(); • int suma_enteros ( int, int ); • float suma_numeros ( float, float );
11. Cuerpo del programa(Instrucciones ) • La definición del cuerpo de la función está formada por un bloque de sentencias o instrucciones, que esta encerrado entre llaves { }. • Las sentencias, también llamadas instrucciones: • a) definen la lógica de un programa o subprograma (subrutina), • b) manipulan los datos para producir el resultado deseado por el usuario del programa
12. Cuerpo del programa(Instrucciones ) • Instrucciones declarativas: Sirven para declarar librerias, variables, constantes, arreglos , punteros, estructuras… • Ejemplo: • #include <time.h> • short contador • Instrucciones de asignación: Sirven para dar valores a las variables, y llevan éste formato: • nombre_variable = expresión ; • Ejemplo: • x = a + 5
13. Cuerpo del programa(Instrucciones ) • Instrucciones repetitivas: Sirven para repetir una condición N veces, siempre y cuando la condición sea verdadera. • Instrucciones de entrada y salida de datos: El lenguaje C++ no tiene palabras reservadas para ingresar o mostrar datos, para ello usan recursos que se encuentran en las librerías. • Instrucciones selectivas: Son mediante las cuales podemos ejecutar diferentes acciones, como resultado de una expresión que estemos evaluando en ese momento y pueden ser: – Las selectivas simples – Las selectivas dobles – Las selectivas múltiples
14. tipo func1( ) • Las funciones deben declararse. • Una definición contiene además las instrucciones con las que la función realizará su trabajo, es decir, su código. • La sintaxis de una definición de función es: • [extern|static] <tipo_valor_retorno> <identificador> (<lista_parámetros>) { [sentencias] } • El identificador de la función. Es el nombre de la función. • Una lista de declaraciones de parámetros entre paréntesis. Los parámetros de una función son los valores de entrada (y en ocasiones también de salida).
15. tipo func1( ) • Opcionalmente, una palabra que especifique el tipo de almacenamiento, puede ser extern o static. • El tipo del valor de retorno, si no se establece, será int por defecto, aunque en general se considera una mala técnica de programación omitir el tipo de valor de retorno de una función.

¿Qué es la programación modular?
Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras más sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación ya que programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología del divide y vencerás o programación top-down.

Es evidente que si esta metodología nos lleva a tratar con subproblemas, entonces también tengamos la necesidad de poder crear y trabajar con subprogramas para resolverlos. A estos subprogramas se les suele llamar módulos, de ahí viene el nombre de programación modular. En Pascal disponemos de dos tipos de módulos: los procedimientos y las funciones.


¿Qué es una libreria?

En informática, una biblioteca (del inglés library) es un conjunto de implementaciones funcionales, codificadas en un lenguaje de programación, que ofrece una interfaz bien definida para la funcionalidad que se invoca.
A diferencia de un programa ejecutable, el comportamiento que implementa una biblioteca no espera ser utilizada de forma autónoma (un programa sí: tiene un punto de entrada principal), sino que su fin es ser utilizada por otros programas, independientes y de forma simultánea. Por otra parte, el comportamiento de una biblioteca no tiene por qué diferenciarse demasiado del que pudiera especificarse en un programa. Es más, unas bibliotecas pueden requerir de otras para funcionar, pues el comportamiento que definen refina, o altera, el comportamiento de la biblioteca original; o bien la hace disponible para otra tecnología o lenguaje de programación.
Las bibliotecas pueden vincularse a un programa (o a otra biblioteca) en distintos puntos del desarrollo o la ejecución, según el tipo de vínculo que se quiera establecer, tal y como se detalla en el apartado de "Tipos".
La mayoría de los sistemas operativos modernos proporcionan bibliotecas que implementan los servicios del sistema. De esta manera, estos servicios se han convertido en una "materia prima" que cualquier aplicación moderna espera que el sistema operativo ofrezca. Como tal, la mayor parte del código utilizado por las aplicaciones modernas se ofrece en estas bibliotecas.


¿Es una función un módulo de código?
¿Qué es un módulo?

El cuarto elemento fundamental de nuestro viaje por la programación está representado por la programación modular. En realidad, esta técnica no es estrictamente necesaria ya que con lo que hemos visto hasta ahora podés crear programas interesantes y útiles. Sin embargo, cuando los programas se vuelven más complejos y más extensos, se hace más difícil rastrear los errores y analizar su funcionalidad. Con este fin necesitamos disponer de una técnica que nos permita concentrarnos realmente en los problemas que debemos resolver con nuestro programa y abstraernos de los detalles particulares y de la parafernalia técnica que hace funcionar a la computadora. De algún modo esta tarea la cumplen Python, BASIC, etc. ya que con sus funciones incorporadas y predeterminadas evitan que nosotros debamos tratar directamente con el hardware de la computadora para realizar diversas tareas típicas como leer un archivo, comprobar que una tecla se ha presionado, etc.
El objetivo de la programación modular es extender las capacidades predeterminadas de un lenguaje mediante porciones de código empacadas en diferentes módulos, los cuales pueden ser fácilmente insertados en nuestros programas. La primera forma de programación modular fue la subrutina que era un bloque de código al cual se podía saltar (similar a la instrucción GOTO que hemos mencionado antes) y una vez ejecutado el bloque, el programa devolvía el control a la instrucción siguiente a la que había producido la llamada. Esta técnica modular se conoce con el nombre de procedimiento o función. En Python y en otros lenguajes, el término módulo tiene un significado especial que explicaremos más adelante; mientras tanto veamos más en detalle las funciones.
La utilización de funciones
Antes de analizar cómo crear una función veamos cómo se utilizan las diversas funciones predeterminadas que vienen incorporadas en cualquier lenguaje de programación (conocidas en general comobibliotecas).
Ya hemos utilizado varias funciones y hemos listado otras en la sección dedicada a los operadores. Ahora veremos qué tienen en común todas ellas y cómo podemos utilizarlas en nuestros programas.

No hay comentarios.:

Publicar un comentario