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.