domingo, 5 de mayo de 2013

como programar con C++




Universidad Nacional Autónoma de Honduras
Unah-VS

Nombre:
            Carlos Roberto alegría Gonzales

Número de cuenta:
                20112001006

Asignatura:
                      Metodología de programación

Tema:
                     Como programar con c++

Catedrático:
                      Inge. Guillermo Borjas              
Sección:
                    1800          
Fecha de entrega:
                      06/05/2013
“La confía en ti mismo es el secreto del éxito”




                   
Introducción a la programación en C++

Introducción
Ahora presentaremos la programación en C++ , que facilita una metodología disciplinada para el diseño de programas. La mayoría de los programas en c++ que estudiara en este libro procesan información y muestra resultados. En este capítulo le presentaremos cinco ejemplos que demuestran cómo sus programas pueden mostrar mensajes y cómo pueden obtener información del usuario para procesarla. Los primeros tres simplemente muestran mensajes en la pantalla. El siguiente ejemplo obtiene dos números de un usuario, calcula su suma y muestra el resultado. La discusión que acompaña a este ejemplo le muestra cómo realizar varios cálculos aritméticos y guarda sus resultados para utilizarlos posteriormente. El quinto ejemplo demuestra los fundamentos de toma de decisiones, al mostrarle cómo comparar dos números y después mostrar mensajes con base en los resultados de la comparación. Analizaremos cada ejemplo, una línea a la vez, para ayudarle a aprender a programar en C++. Para ayudarle a aplicar las habilidades aprenderá aquí, proporcionamos muchos problemas de programación en los ejercicios de este capítulo.

Su primer programa en C++: imprimir una línea de texto
C++ utiliza notaciones que pueden parecer extrañar a los no programadores. Ahora consideraremos un programa simple que imprime una línea de texto (figura 2.1). Este programa ilustra varias características importantes del lenguaje C++. Consideraremos cada línea en forma detallada.           
                                                                                                                                           
      Las líneas 1 y 2
        //  Fig.  2.1: fig02_01.cpp
       //  Programa para imprimir texto.
Comienza con //, lo cual indica que el resto de la línea es un comentario. Los comentarios solo sirven para documentar nuestros programas y ayudan a que las otras personas, al leerlos, comprendan lo que queremos hacer con el código. Cuando la computadora "ve" un comentario, lo ignora y no realiza ninguna acción con el cuándo se ejecutan el programa; el compilador de c++ los ignora, por lo que no genera código objeto alguno en lenguaje máquina. El cometario programa para imprimir texto describe el propósito del programa. A un comentario que empieza con // se le llama cometario de una sola línea, ya que termina al final de la línea actual. [nota: también puede usar el estilo de C, en el cual un comentario (que posiblemente contenga muchas líneas) empieza con /* y termina con */.]

Buena práctica de programación 
Todo programa debe comenzar con un comentario que describa su propósito, autor, fecha y hora
La línea 3
 # include  <iostream> // permite al programa imprimir datos en la pantalla
Es una directiva del procesador, la cual es un mensaje para el preprocesador de C++. Las líneas que empiezan con # son procesadas que debe incluir en el programa el contenido del archivo de  encabezado de flujo de entrada/salida <iostream>.  Este archivo debe incluirse para cualquier programa que muestre datos en la pantalla, o que reciba datos del teclado mediante el uso de entrada/salida de fluidos al estilo C++.
Error común de programación 
Olvidar incluir el archivo de encabezado <iostream> en un programa que reciba datos del teclado, o que envíe datos a la pantalla, hace que el compilador genere un mensaje de error, ya que no puede reconocer las referencias a los componentes de los flujos (por ejemplo, cout).
La línea 4 es simplemente una línea en blanco. Los programadores usan líneas en blanco, caracteres de espacio y caracteres de tabulación (es decir, “tabuladores”) para facilitar la lectura de los programas. En conjunto, estos caracteres se conocen como espacio en blanco. Por lo general, el compilador ignora los caracteres de espacio en blanco para mejorar la legibilidad de los programas.

Buena práctica de programación
La línea 5
     // la función main comienza la ejecución del programa
es otro comentario de una sola línea, el cual indica que la ejecución del programa empieza en la siguiente línea.
Forma parte de todo programa en C++. Las paréntesis después de main indican que éste es un bloque de construcción denominado función. Los programas en C++ comúnmente consisten en una o más funciones y clases (como aprenderá en el capítulo 3). Sólo debe haber una función main en cada programa. La figura 2.1 contiene sólo una función. Los programas en C++ empiezan a ejecutarse en la función main, aun si main no es la primera función en el programa. La palabra clave int a la izquierda de main indica que “devuelve” en valor entero. Una palabra clave es una palabra en código reservada para C++, para un uso específico. En la figura 4.3 encontrará la lista completa de palabras clave de C++. Explicaremos lo que significa que una función “devuelva un valor” cuando le demostremos cómo crear sus propias funciones en la sección 3.5, y cuando estudiemos las funciones con mayor detalle en el capítulo 6. Por ahora, simplemente incluya la palabra clave int a la izquierda de main en todos sus programas.

Error común de programación
Omitir el punto y coma al final de una instrucción de C++ es un error de sintaxis. (De nuevo, las directivas del preprocesador no terminan en un punto y coma.) La sintaxis de un lenguaje de programación especifica las reglas para crear programas apropiados en ese lenguaje. Un error de sintaxis ocurre cuando el compilador encuentra código que viola las reglas del lenguaje C++ (es decir, su sintaxis). Por lo general, el compilador genera un mensaje de error para ayudarnos a localizar y corregir el código incorrecto. A los errores de sintaxis también se les llama errores del compilador, errores en tiempo de compilación o errores de compilación, ya que el compilador los detecta durante la fase de compilación. No podrá ejecutar su programa sino hasta que corrija todos los errores de sintaxis que contenga. Como veremos más adelante, algunos errores de compilación no son errores de sintaxis.
La línea 10
return 0;   //  indica que el programa terminó con éxito
Es uno de varios medios que utilizaremos para salir de una función. Cuando se utiliza la instrucción return al final de main, como se muestra aquí, el valor 0 indica que el programa ha terminado correctamente. En el capítulo 6 veremos las funciones con detalle, y comprenderá las razones para incluir esta instrucción. Por ahora, simplemente incluya esta instrucción en cada programa, o de lo contrario el compilador puede producir una advertencia en algunos sistemas. La llave derecha, }, (línea 12) indica el fin de la función main.

Buena práctica de programación
Muchos programadores hacen que el último carácter que debe imprimir una función sea una nueva línea (\n). Esto asegura que la función deje el cursor de la pantalla colocado al inicio de una nueva línea. Las convenciones de esta naturaleza fomentan la reutilización de software; un objetivo clave en el desarrollo de software.

                       

                            Instrucciones de control: parte I

Introducción
Antes de escribir un programa que dé solución a un problema, es necesario tener una comprensión detallada de todo el problema, además de una metodología cuidadosamente planeada para resolverlo. Al escribir un programa, también debemos comprender los tipos de bloques de construcción disponibles, y emplear las técnicas comprobadas para construir programas. En este capítulo y en el capítulo 5. Instrucciones de control: parte 2, hablaremos sobre estas cuestiones cuando presentemos la teoría y los principios de la programación estructurada. Los conceptos aquí presentados son imprescindibles para crear clases efectivas y manipular objetos.
En este capítulo presentamos las instrucciones if, if . . . else y while de C++, tres de los bloques de construcción que permiten a los programadores especificar la lógica requerida para que las funciones miembro realicen sus tareas. Dedicamos una parte de este capítulo (y de los capítulos 5 y 7) para desarrollar más la clase Libro Calificaciones que presentamos en el capítulo 3. En especial, agregamos una función miembro a la clase Libro Calificaciones que utiliza instrucciones de control para calcular el promedio de un conjunto de calificaciones de estudiantes. Otros ejemplo demuestra formas adicionales de combinar instrucciones de control para resolver un problema similar. Presentamos los operaciones de asignación de C++, y exploramos los operadores de incremento y decremento. Estos operadores adicionales abrevian y simplifican muchas instrucciones de los programas.

Algoritmos
Cualquier problema de computación puede resolverse ejecutando una serie de acciones en un orden específico. Un procedimiento para resolver un problema en términos de
1.     Las acciones a ejecutar y
2.     El orden en el que se ejecutan estas acciones
Se conoce como un algoritmo. El siguiente ejemplo demuestra que es importante especificar de manera correcta el orden en el que se ejecutan las acciones.
Considere el “algoritmo para levantarse y arreglarse” que sigue un ejecutivo para levantarse de la cama e ir a trabajar: (1) levantarse; (2) quitarse la pijama; (3) bañarse; (4) vestirse; (5) desayunar; (6) transportarse al trabajo. Esta rutina logra que el ejecutivo llegue al trabajo bien preparado para tomar decisiones críticas. Suponga que los mismos pasos se realizan en un orden ligeramente distinto: (1) levantarse; (2) quitarse la pijama; (3) vestirse; (4) bañarse; (5) desayunar; (6) transportarse al trabajo. En este caso nuestro ejecutivo llegará al trabajo todo mojado. Al proceso de especificar el orden en el que se ejecutan las instrucciones (acciones) en un programa de computadora, se le llama control del programa. En este capítulo investigaremos el control de los programas mediante el uso de las instrucciones de control de C++.

Seudocódigo
El seudocódigo (o “imitación” de código) es un lenguaje informal que ayuda a los programadores a desarrollar algoritmos sin tener que preocuparse por los estrictos detalles de la sintaxis del lenguaje C++. El seudocódigo que presentaremos aquí es especialmente útil para desarrollar algoritmos que se convertirán en porciones estructuradas de programas en un lenguaje de programación de computadoras.
El seudocódigo no se ejecuta en las computadoras. En lugar de ello, ayuda al programador a “organizar” un programa antes de intentar escribirlo en el lenguaje de programación como C++. Este capítulo presenta varios ejemplos de cómo utilizar el seudocódigo para desarrollar programas en C++.
El estilo de seudocódigo que presentaremos consiste solamente en caracteres, de manera que los programadores pueden escribir el seudocódigo convenientemente, utilizando cualquier programa editor de texto. La computadora puede producir una copia recién impresa de un programa de seudocódigo bajo demanda. Un programa de seudocódigo preparado de manera cuidadosa pueden convertirse fácilmente en su correspondiente programa en C++. En muchos casos, esto requiere tan sólo reemplazar las instrucciones en seudocódigo con sus instrucciones equivalentes en C++. 
Por lo general, el seudocódigo describe sólo las instrucciones ejecutables, que representan las acciones que ocurren después de que un programador convierte un programa de seudocódigo a C++, y el programa se ejecuta en una computadora, Las declaraciones (que no tienen inicializadores, o que no implican llamadas a un constructor) no son instrucciones ejecutables. Por ejemplos, la declaración.  
Int i ;  
Indica al compilador el tipo de la variable i y lo instruye para que reserve espacio en memoria para esa variable. Esta declaración no hace que ocurra ninguna acción (como una operación de entrada, salida o un cálculo) cuando el programa se ejecuta. Por lo general no incluimos las declaraciones de variables en nuestro seudocódigo. Sin embargo, algunos programadores optan por enlistar las variables y mencionar sus propósitos al principio de sus programas en seudocódigos.
Veamos un ejemplo de seudocódigo que se puede escribir para ayudar a un programador a crear un programa de suma de la figura 2.5. Este seudocódigo (figura 4.1) corresponde al algoritmo que recibe como entrada dos enteros del usuario, suma estos enteros y muestra su suma en pantalla. Aunque mostramos aquí el listado completo en seudocódigo, le mostraremos cómo crear seudocódigos a partir de un problema más adelante en este capítulo. Las líneas 1 y 2 corresponden a las instrucciones 13 y 14 de la figura 2.5. Observe que las instrucciones en seudocódigo son simplemente instrucciones en lenguaje cotidiano que representan la tarea que se debe realizar en C++. De igual forma, las líneas 4 y 5 corresponden a las instrucciones en las líneas 16 y 17 de la figura 2.5, las líneas 7 y 8 corresponden a las instrucciones en las líneas 19 y 21 de la figura 2.5.

                         

                            Instrucciones de control: parte 2


Introducción
El capítulo 4 nos introdujo a los tipos de bloques de construcción disponibles para solucionar problemas. Utilizamos dichos bloques de construcción para emplear las técnicas ya comprobadas, de la construcción de programas. En este capítulo continuaremos nuestra presentación de la teoría, ya comprobadas, de la programación estructurada, presentando el resto de las instrucciones de control en C++. Las instrucciones de control que estudiaremos aquí y las que vimos en el capítulo 4 son útiles para crear y manipular objetos. Continuaremos con nuestra énfasis anticipado sobre la programación orientada a objetos, que empezó con una discusión de los conceptos básicos en el capítulo 1, además de muchos ejemplos y ejercicios de código orientado a objetos en los capítulos 3 y 4.
En este capítulo demostraremos las instrucciones while y for, explotaremos los fundamentos acerca de la repetición controlada por contador. Dedicaremos una parte de este capítulo a expandir la clase de Libro Calificaciones que presentamos en los capítulos 3 y 4. En especial, crearemos una versión de la clase Libro Calificaciones que utiliza una instrucción switch para contar el número de calificaciones equivalentes de A, B, C, D y F, en un conjunto de calificaciones numéricas introducidas por el usuario. Presentaremos las instrucciones de control de programa break y continue. Hablaremos sobre los operadores lógicos, que nos permiten utilizar expresiones condicionales más complejas en las instrucciones de control. Por último, veremos un resumen de las instrucciones de control de C++ y las técnicas ya probadas de solución de problemas que presentamos en este capítulo y en el capítulo 4.

Fundamentos de la repetición controlada por contador
Esta sección utiliza la instrucción de repetición while, presentada en el capítulo 4, para formalizar los elementos requeridos para llevar a cabo la repetición controlada por contador. Este tipo de repetición requiere
1.     El nombre de una variable de control (o contados de ciclo)
2.     El valor inicial de la variable de control
3.     La condición de continuación de ciclo, que evalúa el valor final de la variable de control (es decir, determina si el ciclo debe continuar o no)
4.     El incremento (o decremento) con el que se modifica la variable de control cada vez que pasa por el ciclo.
Considere el programa simple de la figura 5.1, que imprime los números del 1 al 10. La declaración en la línea 9 nombra a la variable de control (contador), la declara como entera, reserva espacio para ella en memoria y las establece a un valor inicial de 1. Las declaraciones que requieren inicialización son, en efecto, instrucciones ejecutables. En C++ es más preciso llamar a una declaración que también reserva memoria (al igual que la declaración anterior) una definición.