Вы находитесь на странице: 1из 17

MIGUEL .

TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-1
CONTENIDO DE LA LECCIN 4

EDICIN, COMPILACIN, VINCULACIN Y EJECUCIN DE PROGRAMAS

1. Introduccin 2
2. Creacin de un archivo fuente 2
2.1. Ejemplo 4.1 2
2.1.1. Definicin del problema 2
2.1.2. Planeacin de la solucin 3
2.1.3. Codificacin 3

3. Compilacin y vinculacin del programa 4
4. Errores de sintaxis 4
4.1. Ejemplos 4.2, 4.3, 4.4 5

5. Errores lgicos 6
5.1. Ejemplo 4.5 6

6. Ejemplos 4.5, 4.6, 4.7, 4.8, 4.9 6
7. Examen breve 4-1 13
8. Lo que necesita saber 14
9. Preguntas y problemas 14
9.1. Preguntas 14
9.2. Problemas 14

MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-2
LECCIN 4

EDICIN, COMPILACIN, VINCULACIN Y EJECUCIN DE PROGRAMAS

INTRODUCCIN

Un programa es un archivo que contiene instrucciones que le indican a la computa-
dora que hacer. Programar es el proceso de crear la lista de instrucciones que la computa-
dora debe ejecutar para realizar una tarea especfica. Para definir las instrucciones, se utiliza
un lenguaje de programacin tal como C++. Las instrucciones se ubican en un archivo
fuente, el cual es el listado del programa en el lenguaje que est utilizando.


Objetivos de esta leccin:

Conocer y utilizar el entorno de programacin de su compilador.
Crear su propio archivo de programa o archivo fuente.
Usar C++para crear un archivo o programa ejecutable.
Editar su archivo de programa para hacerle cambios o correcciones.
Reconocer y corregir errores de sintaxis.

En esta leccin se le pedir escribir, compilar, vincular y ejecutar sus primeros pro-
gramas C++. Si no est listo para hacerlo, tal vez sea una buena idea que se familiarice con
el funcionamiento de su sistema de cmputo en este momento. Deber saber cmo cargar
el compilador C++, ingresar y editar, compilar y vincular, depurar y ejecutar programas.
No se pretende ensearle los detalles de los enunciados C++, esto se ensear en otras
lecciones.

CREACIN DE UN ARCHIVO FUENTE

Cuando crea un programa, debe guardar las instrucciones que desea que la compu-
tadora ejecute en un archivo llamado archivo fuente. Para crear este archivo, debe utilizar
un editor de textos ASCI I , tal como el WordPad, que viene en su sistema operativo Win-
dows XP, y guardarlo como documento de texto-Formato MSDOS. No podr crear un pro-
grama utilizando procesadores de texto, tales como, Word o WordPerfect, ya que estos
agregan caracteres especiales para formatear el documento, como son: alineacin a los
mrgenes, texto en negritas, cursivas, subrayado, subndices, etc. Estos caracteres especia-
les no tienen ningn significado para su compilador, y por lo tanto, no puede procesarlos.

Ejemplo 4.1

DEFI NI CI ON DEL PROBLEMA

Utilizando el editor de textos de su compilador, capture el siguiente programa, al que llama-
remos PRI MERO.CPP. El objetivo de este programa es emitir en la pantalla del monitor, el
siguiente mensaje: ESCUELA SUPERI OR DE I NGENI ER A MECNI CA Y ELC-
TRI CA!
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-3

Salida: ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA!

Entrada: Ninguna.

Procesamiento: Ninguno.

PLANEACI ON DE LA SOLUCI ON

Pseudocdigo
Algoritmo Principal
primero( )
I NI CI O
Escribir( "ESCUELA SUPERIOR DE INGENIERIA MECNICA Y ELECTRCA!", saltar( 1 ) ).
FIN.

CODI FI CACI ON













Donde:

/* Indica principio de un comentario, y */ indica el final del comentario. El compilador no
traduce los comentarios a cdigo ejecutable. Estos se insertan para describir y explicar el
funcionamiento del programa.

// Se utiliza tambin para hacer un comentario, cuenta a partir de donde se escribe hasta el
final de la lnea. Es til escribir algn comentario sobre el autor del programa. Si se tiene
alguna duda acerca del mismo, se sabe a quien recurrir por informacin.

La lnea #include <iostream.h>aparece al comienzo de cualquier programa que utilice la
biblioteca iostreampara realizar entrada o salida de informacin. Son directivasdirigidas
al preprocesador. El preprocesador es un programa que se ejecuta antes del compilador. Su
trabajo es manejar todas las directivasque controlan el cdigo fuente que es la entrada al
compilador. La directiva includeindica al preprocesador que copie el contenido del archivo
especificado en el programa. En esencia, el preprocesador reemplaza la directiva con el
contenido del archivo especificado. El archivo a incluir es iostream.h, que contiene las uti-
leras de salida que utilizar el programa. Los smbolos menor y mayor encierran el nom-
bre de los archivos indicando que son archivos del sistema que se encuentran en un directo-
rio especial del sistema.

La lnea void main( void ) da nombre a la funcin y especifica el tipo de resultado que de-
volver ( void ) y los datos que recibir ( void ). En un programa C++, la funcin con nom-
bre main es la primera funcin que se invoca cuando el programa se compila y ejecuta. Los
/* El siguiente programa : PRI MERO.CPP, visualiza por pantalla el mensaje:

ESCUELA SUPERI OR DE I NGENI ER A MECNI CA Y ELCTRI CA!

*/
// Autor: J uan Prez G.

#include<iostream.h> // Para cout

void main( void)
{
cout <<"ESCUELA SUPERI OR DE I NGENI ER A MECNI CA Y ELCTRI CA!" <<endl;
}// Fin de main( )
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-4
parntesis despus del nombre de la funcin se utiliza para delimitar los argumentos de la
funcin. En este programa, la funcin main( void )no requiere argumentos; por lo tanto,
entre los parntesis no se escribe nada o bien void.

La llave {al igual que los parntesis, se utilizan para agrupar cosas. En este caso, la llave
izquierda y la derecha que aparece al final de la funcin agrupan las sentencias del pro-
grama y constituyen la funcin. Esta funcin consta de una sentencia:

cout << "ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA!" << endl;

El operando cout es un objeto. Su definicin, junto con las descripciones de las operaciones
que se pueden aplicar sobre l, se encuentra en el archivo iostream.h. Los objetos descritos
en iostream.h forman parte de la biblioteca iostreamy se utilizan para realizar la entrada y
salida. cout es un flujo de salida y tpicamente se corresponde con la pantalla. El segundo
operando es una cadena de caracteres literal. Las cadenas de caracteres literales se encie-
rran entre dobles comillas. El operador <<inserta la cadena de caracteres en el flujo de sa-
lida. El resultado es que la cadena de caracteres ESCUELA SUPERIOR DE INGENIERA
MECNICA Y ELCTRICA! se enva a la pantalla. El tercer operando, endl, forma parte
tambin de la biblioteca iostreamy se denomina manipulador. Un manipulador es un valor
que se puede insertar en un flujo para indicar que se lleve a cabo alguna accin. El mani-
pulador endl inserta un carcter de nueva lnea en el flujo de salida (para que la siguiente
salida comience en una nueva lnea) y obliga a que toda la salida que ha sido enviada a la
pantalla se imprima inmediatamente.

COMPILACIN Y VINCULACIN DEL PROGRAMA

La computadora trabaja con combinaciones de ceros y unos (llamado lenguaje de
mquina), el cual representa la presencia o ausencia de seales elctricas. Antes de que
corra el programa, por lo tanto, debe de estar en lenguaje de mquina. Un programa espe-
cial llamado Compilador C++convierte su programa fuente en lenguaje de mquina lla-
mado programa objeto. Segn hemos visto en la leccin 1, una vez compilado el programa
debe de ser vinculado para tener un programa ejecutable. Compile y vincule el programa
PRIMERO.CPP. Si ha capturado el programa exactamente como se indica en el cuadro ante-
rior, el vinculador crear un archivo o programa ejecutable llamado PRIMERO.EXE. Si
ejecuta este programa, obtendr una ventana en el que ver el siguiente mensaje:

ESCUELA SUPERI OR DE I NGENI ER A MECNI CA Y ELCTRI CA!

Si el vinculador no crea el archivo PRI MERO.EXE y por el contrario visualiza men-
sajes de error en la pantalla, probablemente ha violado alguna regla de sintaxis de C++.
Corrija los errores y vuelva a compilar y vincular.

ERRORES DE SINTAXIS

Cada lenguaje natural: Ingls, Francs, Alemn, Espaol tienen un conjunto de re-
glas llamadas sintaxis, las cuales debe de respetar. En Espaol, por ejemplo, las frases
normalmente terminan con un punto, signo de admiracin o signo de interrogacin. De
igual manera, toda frase comienza con mayscula. En C++la sintaxis usa punto y coma,
parntesis, llaves y muchos otros caracteres. Cuando olvida o no utiliza uno de estos carac-
teres, el compilador C++visualiza un mensaje de error en su pantalla que describe el error
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-5
y el nmero de lnea de su programa fuente. El compilador C++no puede crear un progra-
ma objeto hasta que corrija todos los errores de sintaxis.

Ejemplo 4.2

Para comprender mejor el proceso de detectar y corregir errores de sintaxis, capture el si-
guiente programa y llmele SI NTAXI S1.CPP. Este programa contiene un error de sintaxis:
la cadena de caracteres Utilice comillas en los mensajes no se encerr entre comillas.

CODI FI CACI ON












Cuando compile este programa, su compilador visualizar mensajes de error. Los mensajes
de error diferirn de un compilador a otro. En el caso del compilador Borland C++ versin
5, los mensajes que aparecen son los siguientes:

Undefined symbol utilice
Statement missing ;

Observe como, a pesar de que slo existe un error, el compilador puede sealar ms de uno.

Ejemplo 4.3

Corrija agregndole las comillas al mensaje y llame al programa corregido SIN-
TAXI S2.CPP. Compile, vincule y ejecute nuevamente.

CODI FI CACI ON













/* El siguiente programa: SI NTAXI S1.CPP, pretende enviar un mensaje, pero el mismo
no se escribe entre comillas, por lo tanto se envan mensajes de error en
tiempo de compilacin.
*/

#include <iostream.h> // Para cout

void main ( void )
{
cout <<Utilice comillas en los mensajes <<endl;
}// Fin de main( )
/* El siguiente programa: SI NTAXI S2.CPP, corrige el error del programa SI NTAXI S1.CPP,
escribiendo el mensaje entre comillas.
*/

#include <iostream.h> // Para cout

void main( void )
{
cout <<" Utilice comillas en los mensajes" <<endl;
}// Fin de main( )
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-6
Ejemplo 4.4

Es tambin importante hacer notar que C++, distingue las letras o palabras en maysculas
de las minsculas. Como regla general, la mayora de las palabras que C++utiliza estn en
minsculas. El siguiente programa, al que llamaremos, MAYUSCULA.CPP, tiene como ob-
jetivo mostrar como C++es sensible al uso de las maysculas y minsculas. main(), por
ejemplo, es el nombre de una funcin que identifica a la primera lnea ejecutable de un pro-
grama C++. En nuestro programa MAYUSCULA.CPP cambiaremos sta palabra por
Main (la M en mayscula). Capture, compile, vincule y ejecute el programa siguiente y ob-
serve los mensajes de error que el compilador emite:

CODI FI CACI ON












La versin 5 de Borland C++emite el siguiente mensaje:
Undefined symbol _Main
Para corregir el error basta cambiar la palabra Main por main y volver nuevamente a
compilar, vincular y ejecutar.

ERRORES LGICOS

Como hemos visto, si se violan algunas de las reglas de sintaxis del lenguaje C++,
el compilador emitir mensajes de error y su programa no ser compilado. Conforme sus
programas se hagan ms complejos, habr ocasiones en que su programa ser compilado
correctamente, sin embargo, no har en forma correcta la tarea que deseaba que realizara.

Ejemplo 4.5

El siguiente programa, UNALI NEA.CPP, pretende visualizar dos mensajes en dos lneas.
Capture, compile, vincule y corra el programa UNALI NEA.CPP:

/* El siguiente programa: MAYUSCULA.CPP, escribe el nombre de la funcin main( )
de la siguiente manera: Main( ) (la M en mayscula), como consecuencia el compilador
emite un mensaje de error.
*/

#include <iostream.h> // Para cout

void Main( void )
{
cout <<"Este programa no se compila." <<endl;
}// Fin de main( )

MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-7
CODI FI CACI ON









En la pantalla ver el siguiente texto:

Esta es la lnea uno.Esta es la lnea dos.

Lo que indudablemente no es lo que esperaba.

Cuando su programa no trabaja como desea, se dice que contiene un error lgico.
En cuyo caso debe tratar de descubrir el error y corregirlo. El proceso de corregir los erro-
res lgicos en su programa se conoce con el nombre de depuracin. Existen varias tcnicas
que puede utilizar para localizar los errores lgicos dentro de su programa, una de ellas es
examinar el programa lnea por lnea hasta que localice el error, a este proceso se le conoce
con el nombre de prueba de escritorio. En el caso del programa UNALI NEA.CPP, la prueba
de escritorio, revelar que el primer enunciado cout carece de una instruccin para que
avance a la siguiente lnea, esto se logra con endl o \n, de la siguiente manera:

cout <<"Esta es la lnea uno." <<endl;

o bien

cout <<"Esta es la lnea uno.\n" ;

Corrija el programa UNALI NEA.CPP, agregando el manipulador endl, como se
muestra arriba. Compile, vincule y ejecute nuevamente.

Como comentario final, es importante saber que es posible que un programa sea
correctamente compilado (no hay errores de sintaxis), pero que no pueda vincularse por no
poder localizar algunas de las rutinas que se desean agregar al programa.

Para continuar practicando con el manejo del entorno de su compilador C++se re-
solvern los siguientes programas.

Ejemplo 4.6

DEFI NI CI ON DEL PROBLEMA

Leer el importe de la compra que introduce el usuario por el teclado. Calcular el impuesto
que se paga si se sabe que es del 15% sobre el importe de la compra y mostrar este resulta-
do en la pantalla del monitor.
/* El siguiente programa: UNALI NEA.CPP, contiene un error lgico. El programa
se compila correctamente, pero no hace lo que se espera de l: escribir en
lnea separadas, dos mensajes.
*/

#include <iostream.h> // Para cout

void main( void )
{
cout <<"Esta es la lnea uno." ;
cout <<"Esta es la lnea dos.";
}// Fin de main( )

MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-8

Salida:

Introducir el importe de la compra: 875.89
El impuesto a pagar es de : 131.784

Entrada: importeCompra.

Procesamiento: impuesto = importeCompra * TASA_I MPUESTO.

PLANEACI ON DE LA SOLUCI ON

Pseudocdigo
Algoritmo Principal
impuesto( )
I NI CI O
Real impuesto, importeCompra.
const real TASA_I MPUESTO =0.15.

Escribir( "I ntroducir el importe de la compra: " ).
Leer( importeCompra ).

impuesto =importeCompra * TASA_I MPUESTO.

Escribir( "El impuesto a pagar es de: ", impuesto ).
FIN.

CODI FI CACI ON


















La sentencia:

cin >>importeCompra;

Espera a que se introduzca un nmero desde el teclado. Cuando se teclea un valor, este se
convierte al formato correspondiente (en nuestro ejemplo, a punto flotante) y se almacena
/* Leer el importe de la compra que introduce el usuario por el teclado. Calcular
el impuesto que se paga si se sabe que es del 15% sobre el importe de la compra
y mostrar este resultado en la pantalla del monitor.
*/

#include<iostream.h> // Para cout y cin

void main( void )
{
float impuesto, importeCompra;
const float TASA_I MPUESTO =0.15;

cout <<"I ntroducir el importe de la compra: ";
cin >>importeCompra;

impuesto =importeCompra * TASA_I MPUESTO;

cout <<"El impuesto a pagar es de : " <<impuesto;
}// Fin de main( )
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-9
en el objeto importeCompra. El primer operando, cin, es un objeto. Al igual que cout su de-
finicin, junto con las operaciones aplicadas sobre l se encuentran en el archivo ios-
tream.h. El objeto cin representa un flujo de entrada y se corresponde normalmente con el
teclado. El operador >>se denomina operador de extraccin y permite extraer un valor de
un flujo de entrada. El valor extrado se almacena en el operando de la derecha. El efecto
resultante es que el nmero introducido por el teclado se lee y se almacena en importe-
Compra.

Ejemplo 4.7

DEFI NI CI ON DEL PROBLEMA

Dado un punto de coordenada x( entero) situado sobre una recta de pendiente m (entero) y
b (entero) su interseccin con el eje de las ys, calcular el valor de la coordenada y.

Salida:

Introducir el valor de la pendiente(entero) : 3
Introducir el valor de la interseccin con el eje y (entero) : 5
Introducir el valor de la coordenada x (entero) : 4

Coordenada y =17
Coordenada x = 4
pendiente =3
interseccin ys =5

Entrada: coordenadaX, coordenadaY, pendiente, interseccionY.

Procesamiento: coordenadaY = pendiente* coordenadas+ interseccionY.

PLANEACI ON DE LA SOLUCI ON

Pseudocdigo
Algoritmo Principal
calcularY( )
I NI CI O
ent coordenadaX, coordenadaY, pendiente, interseccionY.

Escribir( " I ntroducir el valor de la pendiente (entero) : " ).
Leer( pendiente ).
Escribir( " I ntroducir el valor de la interseccin con el eje y (entero) : " ).
Leer( interseccionY ).
Escribir( " I ntroducir el valor de la coordenada x (entero) : " ).

Leer( coordenadaX).
Saltar( 1 ).

coordenadaY =pendiente * coordenadaX +interseccionY.

Escribir( " Coordenada y =", coordenadaY, saltar( 1 ) ).
Escribir( " Coordenada x =", coordenadaX, saltar( 1 ) ).
Escribir( "Pendiente =", pendiente, saltar( 1 ) ).
Escribir( " I nterseccin ys =", interseccionY, saltar( 1 ) ).
FIN.

MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-10
CODI FI CACI ON
























Ejemplo 4.8

DEFI NI CI ON DEL PROBLEMA

Calcular la circunferencia y el rea de un crculo de radio dado.

Salida:

Introducir el radio del crculo: 2.45

Circunferencia: = 15.3938

Crculo =18.8574

Entrada: radio.

Procesamiento: Circunferencia =PI * 2 * radio.
Circulo =PI * radio * radio.

/* Dado un punto de coordenada x (entero) situado sobre una recta de pendiente
m(entero) y b (entero) su interseccin con el eje de las y's, calcular el
valor de la coordenada y.
*/

#include <iostream.h> // Para cout y cin

void main( void )
{
int coordenadaX, coordenadaY, pendiente, interseccionY;

cout <<"I ntroducir el valor de la pendiente (entero) : " ;
cin >>pendiente;
cout <<"I ntroducir el valor de la interseccin con el eje y (entero): ";
cin >>interseccionY;
cout <<"I ntroducir el valor de la coordenada x (entero) : ";
cin >>coordenadaX;
cout <<endl;

coordenadaY =pendiente * coordenadaX +interseccionY;

cout <<"Coordenada y =" <<coordenadaY <<endl;
cout <<"Coordenada x =" <<coordenadaX <<endl;
cout <<"Pendiente =" <<pendiente <<endl;
cout <<"I nterseccin y's =" <<interseccionY <<endl;
}//Fin de main( )
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-11
PLANEACI ON DE LA SOLUCI ON

Pseudocdigo
Algoritmo Principal
circArea( )
I NI CI O
Real areaCir, circunferencia, radio.
const real PI =3.14159.

Escribir( " I ntroducir el valor del radio : " ).
Leer( radio ).
Saltar( 1 ).

circunferencia =PI * 2 * radio.
areaCir =PI * radio * radio.

Escribir( " Circunferencia =", circunferencia, saltar( 1 ) ).
Escribir( " Crculox =", areaCir, saltar( 1 ) ).
FIN.

CODI FI CACI ON



















Ejemplo 4.9

DEFI NI CI ON DEL PROBLEMA

Calcular la velocidad promedio de un coche que viaja por una carretera, conociendo el va-
lor del kilometraje inicial en que se encuentra, el valor del kilometraje final en que estar
en un cierto tiempo.

Salida:

Todos los datos de entrada son enteros!

/* Calcular la circunferencia y el rea de un crculo de radio dado. */

#include <iostream.h> // Para cout y cin

void main( void )
{
float areaCir, circunferencia, radio;
const float PI =3.14159;

cout <<"I ntroducir el valor del radio : ";
cin >>radio;
cout <<endl;

circunferencia =PI * 2 * radio;
areaCir =PI * radio * radio;

cout <<"Circunferencia =" <<circunferencia <<endl;
cout <<"Crculo =" <<areaCir <<endl;
}// Fin de main( )
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-12
Introducir el valor del kilometraje inicial (kilmetros) : 321
Introducir el valor del kilometraje final (kilmetros) : 458
Tiempo transcurrido ( hh mm ss ) : 2 15 36

Distancia recorrida = 137
Tiempo = 2 horas 15 minutos 36 segundos
velocidad promedio = 60.6195 kph

Entrada: marcaI nic, marcaFin, horas, minutos, segundos.

Procesamiento: distanciaRecorrida =marcaFin marcaI nic.
tiempo =horas +minutos / 60 +segundos / 3600.
velProm=distanciaRecorrida / tiempo.

PLANEACI ON DE LA SOLUCI ON

Pseudocdigo
Algoritmo Principal
velocidad( )
I NI CI O
ent marcaI nic, marcaFin, horas, minutos, segundos, distanciaRecorrida.
Real tiempo, velProm.

Escribir( " Todos los datos de entrada son enteros! " , saltar( 2 )).
Escribir( " I ntroducir el valor del kilometraje inicial (kilmetros) : " ).
Leer( marcaI nic ).
Escribir( " I ntroducir el valor del kilometraje final (kilmetros) : " ).
Leer( marcaFin).
Escribir( " Tiempo transcurrido (hh mm ss): " ).
Leer( horas, minutos, segundos).
Saltar( 1 ).

distanciaRecorrida =marcaFin marcaI nic.
tiempo =horas +minutos / 60.0 +segundos / 3600.0
velocidad =distanciaRecorrida / tiempo.


Escribir( " Distancia recorrida = ", distanciaRecorrida,
saltar( 1 ) ).
Escribir( " Tiempo =" , horas, " horas " , minutos,
" minutos " , segundos, " segundos , saltar( 1 ) ).
Escribir( "Velocidad promedio =", velProm, kph, saltar( 1 ) ).
FIN.

MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-13
CODI FI CACI ON
































EXAMEN BREVE 11
/* Calcular la velocidad promedio de un coche que viaja por una carretera, conociendo
el valor del kilometraje inicial en que se encuentra, el valor del kilometraje
final en que estar en un cierto tiempo.
*/

#include <iostream.h> // Para cout y cin

void main( void )
{
int marcaI nic, marcaFin, horas, minutos, segundos, distanciaRecorrida;
float tiempo, velProm;

cout <<"Todos los datos de entrada son enteros!" <<endl <<endl;
cout <<"I ntroducir el valor del kilometraje inicial (kilmetros): " ;
cin >>marcaI nic;
cout <<"I ntroducir el valor del kilometraje final (kilmetros) : ";
cin >>marcaFin;
cout <<"Tiempo transcurrido (hh mm ss): ";
cin >>horas >>minutos >>segundos;
cout <<endl;

distanciaRecorrida =marcaFin - marcaI nic;
tiempo =horas +minutos / 60.0 +segundos / 3600.0;
velProm =distanciaRecorrida / tiempo;

cout <<" Distancia recorrida =" <<distanciaRecorrida <<endl;
cout << "Tiempo =" <<horas <<" horas " <<minutos <<
" minutos " <<segundos <<" segundos " <<endl;
cout <<"Velocidad promedio =" <<velProm<<" kph" <<endl;
}//Fin de main( )
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-14
LO QUE NECESITA SABER

En esta leccin aprendi a crear, compilar, vincular y ejecutar programas en C++.
Antes de continuar con la siguiente leccin, asegrese de haber comprendido los siguientes
conceptos:

q q Los programas contienen una lista de instrucciones que la computadora ejecutar.
q q Los programas en C++se guardan en archivos fuentes con la extensin cpp.
q q El compilador convierte el programa C++a lenguaje de mquina que el sistema com-
prende.
q q C++contiene un conjunto de reglas del lenguaje llamado sintaxis.
q q Si rompe una regla de la sintaxis , el compilador visualizar un mensaje describiendo el
error.
q q Debe corregir todos los errores de sintaxis para que el compilador cree un programa
objeto, que pueda ser vinculado con otras rutinas.
q q C++es sensible a maysculas y minsculas.

PREGUNTAS Y PROBLEMAS

PREGUNTAS

1. Qu es lo que se imprime (si es que se imprime algo) cuando se ejecutan las siguientes instrucciones de
C++? Si no se imprime nada, entonces responda nada. Suponga que x =2 y y =3.
a. cout <<x;
b. cout <<x +x;
c. cout <<x =;
d. cout <<x = <<x;
e. cout <<x +y << = <<y +x;
f. z =x +y;
g. cin >>x >>y;
h. //cout <<\n;
2. Qu imprime el siguiente cdigo?
Cout <<*\n**\n***\n****\n*****\n;

PROBLEMAS

1. Escriba una sola instruccin C++que logre lo siguiente:
a. Solicite al usuario que introduzca un entero. Termine su mensaje de solicitud con dos puntos (:), se-
guido por un espacio, y deje el cursor despus del espacio.
b. Lea un entero que el usuario introduzca desde el teclado y almacene su valor en la variable entera
edad
c. Imprima en una lnea el mensaje: Este es un programa en C++.
d. Imprima en dos lneas el mensaje: Este es un programa en C++, terminando la primera en la parte
que dice programa.
e. Imprima el mensaje: Este es un programa en C++dejando cada palabra del mensaje en una lnea
diferente.
f. Imprima el mensaje: Este es un programa en C++separando las palabras con tabulaciones. (El
modificador de salida es el carcter de escape \t).
2. Escriba instrucciones (o comentarios) que logren lo siguiente:
a. Indique que el programa calcular el producto de tres enteros.
b. Pdale al usuario que introduzca t res enteros.
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-15
c. Lea del teclado tres enteros y gurdelos en las variables x, y, y z. (El enunciado para leer desde el
teclado es cin >>nombreVariable1 >>nombreVariable2 >>nombreVariable3).
d. Calcule el producto de los tres enteros contenidos en las variables x, y, y z y asigne el resultado a la
variable resultado.
e. Imprima en pantalla El producto es seguido del valor de la variable resultado.
3. Por medio de las instrucciones que escribi en el problema 2, escriba un programa completo que calcule
y visualice el producto de tres enteros.
4. Escriba un enunciado que haga lo siguiente:
a. Imprima el mensaje: Teclee dos nmeros.
b. Asigne el producto de las variables b y c a la variable a.
c. Indique que el programa efecta un clculo de nmina ejemplo (es decir, ponga un texto que ayude a
documentar el programa).
d. Introduzca tres valores enteros desde el teclado y crguelos en las variables a, b y c.
5. Escriba un programa que le pida al usuario que introduzca dos nmeros, que obtenga dichos nmeros y
que imprima la suma, el producto, la diferencia y el cociente de ambos.
6. Escriba un programa que imprima los nmeros del 1 al 4 en la misma lnea, separando con un espacio
cada par de nmeros adyacentes . Escriba el programa empleado los siguientes mtodos:
a. Por medio de una instruccin de salida con un operador de insercin de flujo (>>).
b. Por medio de una instruccin de salida con cuatro operadores de insercin de flujo.
c. Por medio de cuatro instrucciones de salida.
7. Escriba un programa que imprima un recuadro, un valo, una flecha y un diamante, como sigue:

********* *** * *
* * * * *** * *
* * * * ***** * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
********* *** * *

8. Despliegue en la pantalla un patrn de tablero de ajedrez empleando ocho instrucciones de salida; des-
pus despliegue el mismo patrn con la menor cantidad posible de instrucciones.

* * * * * * **
* * * * * * **
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *

9. Escriba un programa que calcule los cuadrados y cubos de los nmeros 0 al 10 e imprima, separando con
tabulaciones, la siguiente tabla de valores:
MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-16

Nmeros Cuadrado Cubo
0
1
2
3
4
5
6
7
8
9
10
0
1
4
9
16
25
36
49
64
81
100
0
1
8
27
64
125
216
343
512
729
1000

10. El inters sobre una tarjeta de crdito suele ser bastante alto. La mayora de las compaas que manejan
tarjeta de crdito calculan el inters sobre un saldo diario medio. A continuacin, se presenta un algorit-
mo que calcula el saldo diario medio y el inters mensual sobre una tarjeta de crdito.

a. Multiplicar el saldo neto mostrado en el estado de la cuenta por el nmero de das del ciclo de factu-
racin.
b. Multiplicar el importe pagado por el nmero de das que faltan hasta la fecha de vencimiento del ci-
clo de facturacin.
c. Restar la cantidad obtenida en el inciso b de la cantidad calculada en el inciso a.
d. Dividir el resultado obtenido en el paso c entre el nmero de das en el ciclo de facturacin. Este va-
lor es el saldo diario medio.
e. Calcular el inters para el periodo de facturacin multiplicando el saldo diario medio por el inters
mensual.

A continuacin, se presenta un ejemplo que ilustra este algoritmo. Suponga que el estado de cuenta de su
tarjeta de crdito muestra un saldo anterior de $957.00. Once das antes del final del periodo de factura-
cin se hace un pago de $575.00. El ciclo de facturacin para este mes es de 31 das y el inters mensual
es del 1.32%. Los clculos a realizar para obtener el inters a pagar son los siguientes:

a. 957 31 =29,667
b. 575 11 =6,325
c. 29,667 6,325 =23, 342
d. 23, 342 / 31 =752.97
e. 752.970.0132 =9.94

MIGUEL . TOLEDO MARTNEZ
FUNDAMENTOS LECCIN 4
4-17
EXAMEN BREVE 4-1

1. Un ________________ es un conjunto de instrucciones que le indican a la computadora que
hacer.
2. ___________________ es el proceso de crear la lista de instrucciones que la computadora debe
ejecutar para realizar una tarea especfica.
3. Para definir las instrucciones, utiliza un ___________________, tal como C++.
4. Las instrucciones se ubican en un _______________________, el cual contiene el listado del
programa en el lenguaje que est utilizando.
5. Un programa especial llamado _________________ convierte el archivo fuente en
___________________.
6. Al conjunto de reglas que forman parte de un lenguaje de programacin se le conoce con el
nombre de ________________________.
7. Cuando su programa no hace lo que plane que realizara, se dice que contiene un
___________________.
8. El proceso de corregir los errores lgicos se conoce con el nombre de ___________________.
9. Una de las tcnicas para corregir los errores lgicos, se conoce con el nombre de
_________________________.

RESPUESTAS EXAMEN BREVE 4-1

1. Un programa es un conjunto de instrucciones que le indican a la computadora que hacer.
2. Programar es el proceso de crear la lista de instrucciones que la computadora debe ejecutar
para realizar una tarea especfica.
3. Para definir las instrucciones, utiliza un lenguaje de programacin, tal como C++.
4. Las instrucciones se ubican en un archivo fuente el cual contiene el listado del programa en el
lenguaje que est utilizando.
5. Un programa especial llamado compilador convierte el archivo fuente en programa objeto en
lenguaje de mquina.
6. Al conjunto de reglas que forman parte de un lenguaje de programacin se le conoce con el
nombre de sintaxis.
7. Cuando su programa no hace lo que planeo que realizara, se dice que contiene un error lgico.
8. El proceso de corregir los errores lgicos se conoce con el nombre de depuracin.
9. Una de las tcnicas para corregir los errores lgicos, se conoce con el nombre de prueba de
escritorio.

Вам также может понравиться