Está en la página 1de 21

Prcticas de Programacin

Normas generales para su realizacin y entrega


Las prcticas de esta asignatura suponen el 50% de la nota final de la asignatura,
siempre que se supere el examen de teora con al menos un 5 sobre 10.
Cada sesin de prcticas tendr una duracin de 1 hora y 5 minutos!
En cada guin de prcticas se distinguen dos tipos de ejercicios:
"#ercicios de laboratorio: se corrigen en el laboratorio, en la sesin
correspondiente. Se realizan en presencia del profesor. No se pueden traer
ecos de casa, ni entregarlos con posterioridad.
"#ercicios propuestos: Se realizan en casa. !ara e"aluarlos, deber
entregarse una #e#oria de prcticas en papel, en la cual, para cada
e#ercicio$ se deber incluir la siguiente documentacin de %orma clara
y legible $en s%ad a& una plantilla para las #e#orias':
(. Enunciado del proble#a.
). *escripcin del algorit#o usando un diagra#a de flujo o pseudo+cdigo
$cuando se indi,ue'.
-. .digo fuente escrito en .//.
0. !ruebas del progra#a:
a. Eleccin de un banco pruebas para "erificar los resultados para
distintas co#binaciones de entradas.
b. 1uestra de la ejecucin del progra#a #ediante dos capturas de
pantalla representati"as de su ejecucin.
5. 2esponder a las cuestiones ,ue se indi,uen en su caso.
.ada #e#oria se co#pondr de los ejercicios propuestos de una o #s sesiones
de prcticas, seg3n indi,uen los profesores. Las #e#orias de prcticas se
entregarn en los plazos ,ue indi,ue el profesor, cada da de retraso en su
entrega supondr un punto menos en su cali%icacin!
Las prcticas tratan de guiar al alu#no para el estudio de la asignatura & el
aprendizaje de las erra#ientas del entorno de progra#acin para ,ue trate de
resol"er proble#as #s co#plejos $por eje#plo, los proble#as de clase de teor4a'
por su cuenta. .ual,uiera de los ejercicios propuestos en estos guiones es #s
sencillo ,ue los ,ue se encontrarn en el e5a#en de la asignatura, e incluso ,ue
los proble#as resueltos en clase de teor4a, &a ,ue la utilidad no es la de acer
dif4cil la tarea de progra#ar sino la de ejercitar una #etodolog4a.
1 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

La for#a correcta de lle"ar a cabo estos ejercicios de prcticas supone:
(. Leer el guin antes de la sesin de prcticas.
). Estudiar pre"ia#ente los conceptos de teor4a in"olucrados en el guin &a
e5puestos en clase.
-. 2ealizar los ejercicios de laboratorio en el aula de prcticas.
0. 2ealizar los ejercicios propuestos en casa & preparar la #e#oria de
prcticas.
5. Entregar la #e#oria i#presa al profesor en la feca ,ue se indi,ue & subir
a s%ad el cdigo fuente de los ejercicios propuestos $a tra"8s de
9Evaluacin->Mis trabajos:'.
El guin de prcticas a de traerse impreso en papel en cada sesin, no se
per#itir el acceso al laboratorio si no se lle"a el guin. 2ecuerde ,ue se asu#e
,ue el guin se a estudiado pre"ia#ente en casa.
No compliquen los programas innecesariamente, realicen lo ,ue se pide en
cada guin sin #s. Estos guiones son de dificultad creciente & pretenden ,ue la
abilidad de progra#ar se asi#ile paso a paso sin ad,uirir "icios.
-a copia de prcticas conlle.ar el suspenso en la asignatura$ y la
imposibilidad de realizar el examen posterior! "s pre%erible realizar menos
prcticas que arriesgarse a copiarlas!
2 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

Prctica 1/ "l entorno de programacin de 0x12e.Cpp 3+4
&equisitos pre.ios a la sesin de prcticas
El alu#no deber haber estudiado pre"ia#ente la #ateria correspondiente al ;e#a ): El
lenguaje C++ & haber ledo atenta#ente este guin antes del comienzo de la sesin!
5exto aconse#ado/ Libro de !roble#as de !rogra#acin, cap4tulo (. Editorial <=>.?1.
1. El entorno de programacin de wx-DevCpp
!ara la realizacin de las prcticas de la asignatura 9!rogra#acin: se utilizar el
entorno de progra#acin %5+*e".pp. *ico entorno es un soft%are de libre
distribucin $ttp:@@%5dsgn.sourceforge.net@' ,ue est sujeto a los t8r#inos de la
Licencia !3blica 6eneral $6!L' de 6NA.
6ig! 1! "ntorno de programacin 0x12e.Cpp
3 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

7n entorno de programacin consiste en un compilador acompa8ado de un
con#unto de utilidades para %acilitar la escritura del cdigo %uente$
compilacin$ e#ecucin y depuracin de programas! ;4pica#ente, un entorno
de progra#acin cual,uiera suele incluir:
An co#pilador
An editor de te5to para poder escribir el cdigo fuente
Ana biblioteca de funciones ,ue pode#os utilizar
An depurador con el ,ue poder detectar errores en los progra#as
<&uda sobre el lenguaje de progra#acin
%5+*e".pp es un Entorno de Desarrollo Integrado $>*E' para el lenguaje de
progra#acin .//, e5tensin del anterior *e"+.// ,ue per#ite:
*iseBo rpido de aplicaciones para Cindo%s con "entanas & dilogos.
.rear progra#as ejecutables para consola $o sea, progra#as para 1S+
*?S'.
.onfigurar di"ersos co#piladores
Las caracter4sticas de %5+*e".pp son :
>ncorpora el co#pilador 1ing% de 6...
>ncorpora un depurador basado en 6*D.
Soporta #3ltiples idio#as $uno de ellos, el castellano'.
;iene a&uda para el autoco#pletado del cdigo.
1antiene la lista de funciones definidas en el desarrollo del progra#a.
>ncorpora un gestor de pro&ectos $se usa cuando el progra#a se co#pone
de #s de un ficero fuente'.
El editor puede resaltar la sinta5is del cdigo.
.reacin de 1aEefile para la co#pilacin separada de arci"os fuente.
Soporta la actualizacin del soft%are & bibliotecas a tra"8s de >nternet.
2. Instalacin y Ejecucin del entorno
2.1 Descarga del software
!ara la realizacin de las prcticas, en pri#er lugar abr ,ue instalar el entorno
de progra#acin. El progra#a de instalacin puede descargarse de la %eb oficial
$ttp:@@%5dsgn.sourceforge.net@', o de s%ad $en Documentos->Software'.
La 3lti#a "ersin de %5+*e"cpp es la F.0.). Se aconseja ,ue descarguen el
arci"o 0xde.cpp9:!!;9%ull9setup!exe
4 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

2.2 Instalacin del software
<l instalar %5+*e".pp, tenga en cuenta:
(. Si el pa,uete descargado tiene e5tensin .i! o .rar,
desempaqu<telo antes de ejecutar el instalador. No lo ejecute
directa#ente sin aberlo dese#pa,uetado.
). 2ealice la instalacin como administrador del sistema, si es
posible
-. Seleccione una carpeta ,ue N? est8 incluida en "rc#ivos de
$rograma, preferible#ente en una carpeta ,ue cuelgue directa#ente del
directorio ra4z $por eje#plo, en c:@%5*e".pp'.
0. .uando el progra#a instalador pregunte si desea actualizar o
descargar los pa,uetes de >nternet, indique N' $si a& alg3n proble#a de
cone5in con los ser"idores la instalacin no llegar a co#pletarse'.
5. .uando el progra#a instalador le pregunte si desea crear una cac#%
de relleno de funciones indique N'.
Ana "ez instalado, el entorno puede personalizarse #odificando las o!ciones del
entorno dentro del #en3 de =erramientas. .o#o consejo, en pri#er lugar, se
reco#ienda instalar el idioma castellano en la aplicacin, para ello.
(. En el #en3 de 5ools 3=erramientas4 se escoge "n.ironment options.
). Se escoge la pestaBa de +nter%ace.
-. <4, en la opcin de -anguage, se puede ca#biar a "spa8ol 3castellano4
<de#s, se puede ca#biar la apariencia del cdigo fuente para ,ue sea #s fcil
detectar las distintas instrucciones ,ue aparecen en la construccin del cdigo,
resaltando en distinto color sus distintos s4#bolos. !ara ello, se ace lo siguiente:
(. En el #en3 de =erramientas se escoge opciones del "ditor.
). Se pinca en la pestaBa de >intaxis.
-. En la "entana ,ue aparece, escoged dentro de Pre1con%iguraciones, la
opcin .lassic. Esta configuracin, realza las distintas sentencias ,ue
pueden aparecer en un progra#a utilizando colores para distinguir las
palabras reser"adas de los literales, de los identificadores propios, etc. .on
ello se facilita la construccin de progra#as & la deteccin de errores a
si#ple "ista.
!or aora no necesitare#os usar las "entanas au5iliares ,ue aparecen en el editor
de 9!roject >nspector:. Las podre#os cerrar, teniendo en cuenta ,ue para "ol"erlas
a abrir se ace desde el #en3 =er.
5 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

2. Instalar el manual de ayuda de C!!
Es #u& 3til instalar el #anual de referencia de .// para poder disponer de 8l en
caso de necesitar a&uda con alguna funcin, directi"a o co#ando en .//. *e esta
for#a, podre#os buscar infor#acin sobre los par#etros, funciones, ficeros de
inclusin necesarios, etc cuando este#os progra#ando.
!ara instalar el #anual de a&uda:
(. >r al #en3 =erramientas ? @uscar actualizaciones.
). Seleccionar el ser"idor de.pacAs!org $tercera opcin'
-. !ulsar c#ec& for u!dates
0. En la lista ,ue se desplegar a continuacin, seleccionar e instalar el
pa,uete 9CBB re%erence and *an pages:. El pa,uete se descargar e
instalar en %5+*e".pp.
5. En caso de ,ue tenga proble#as con el ser"idor de.pacAs!org $en
concreto con la "ersin portable', puede bajar el pa,uete indicado en 0
desde SC<* co#pri#ido 'note (ue en el S)"D el arc#ivo est*
com!rimido !or lo (ue debe descom!rimirlo tras descargarlo+. *espu8s de
desco#pri#irlo debe instalarlo desde Gerra#ientas H !acEage 1anager.
La instalacin de este pa,uete i#plica ,ue se copiarn unos arci"os de a&uda en
el directorio de instalacin de %5+*e".pp $en ..I2e.CppC=elp'.
;ras aber instalado el pa,uete, "a#os a configurar ,ue al pulsar 7( se
despliegue la a&uda conte5tual de .//. !ara ello:
(. Seleccionar )yuda ? Con%igurar *enu de )yuda.
). <Badir el ficero 9cpp!chm: $a& ,ue buscarlo en ..I2e.CppC=elp'
-. Gabilite las opciones: 9,uscar en el arc#ivo de a-uda la !alabra donde est*
!os: & 9"signa la funcin de ./:.
6 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

6ig! ;! "ntorno de programacin 0x12e.Cpp en castellano listo para usar
*espu8s de acer esto, &a esta#os preparados para e#pezar con el desarrollo de
la pri#era prctica.
7 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

. Creacin de un programa
.ada "ez ,ue "a&a#os a escribir un progra#a debere#os seguir una secuencia
de fases tal co#o la ,ue se describe a continuacin:
(. Escribir el cdigo fuente
). 6uardar el cdigo fuente
-. .o#pilar el cdigo fuente
0. Ejecutar el progra#a
5. =erificar el correcto funciona#iento
.1. Escritura y edicin del cdigo fuente
Lo pri#ero ,ue a& ,ue acer es escribir el cdigo fuente usando el editor de
te5tos integrado en el entorno. !ara crear un progra#a nue"o accede#os al #en3
)rchi.o & escoge#os la opcin Nue.o. En el #en3 e#ergente se elige la opcin
Cdigo 6uente. ? bien, bastar con pulsar el tercer icono del entorno e#pezando
por la iz,uierda:
6ig! D! +cono para crear un nue.o cdigo %uente
El cursor parpadear sobre la "entana de edicin. Ja pode#os e#pezar a escribir
el cdigo fuente del progra#a ,ue se desea desarrollar. .o#o eje#plo, "a#os a
escribir el algorit#o de !itgoras para calcular la ipotenusa de un tringulo
rectngulo dadas las longitudes de sus dos catetos. E#pezare#os escribiendo un
co#entario del progra#a:
8 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

;ras estos co#entarios, escribire#os la seccin de inclusin de los ficeros de
cabecera ,ue son necesarios para construir correcta#ente el progra#a. En este
caso, son necesarios dos ficeros de cabecera, &a ,ue necesitare#os usar
funciones definidas en dos bibliotecas distintas:
iostream KL operaciones de entrada@salida $cout y cin'
cmath KL para la funcin ra4z cuadrada $sqrt()'.
!or consiguiente, se necesitan dos sentencias #include para el preco#pilador &
as4 poder utilizar las funciones correspondientes. <de#s aBadire#os la sentencia
using namespace std;para ob"iar el acceso a la salida & entrada estndares
$pantalla & teclado respecti"a#ente' con cout & cin:
El progra#a a realizar seguir el siguiente algorit#o:
(. !edir la longitud del lado( $cateto('
). !edir la longitud del lado) $cateto)'
-. .alcular la ipotenusa co#o
ipotenusa K raizMcuadrada$$cateto('
)
/$cateto)'
)
'
0. 1ostrar el resultado en la pantalla
<precia#os ,ue se necesitarn tres "ariables: cateto1, cateto2 &
hipotenusa. .o#o la funcin sqrt() se debe aplicar sobre "ariables reales, &
al fin & al cabo, el "a#os a #anejar por tanto "alores reales, declarare#os estas
"ariables co#o tales al inicio de la funcin principal.
<s4 pues, escribire#os la funcin principal, en la cual codificare#os el algorit#o
descrito #ediante instrucciones de .// despu8s de declarar las "ariables:
9 de 21
/* Programa para calcular la hipotenusa de un tringulo
rectngulo dada la longitud de sus lados.
Entradas la longitud de los lados (cateto1 y cateto2).
!alida la longitud de la hipotenusa (hipotenusa)
*/
#include "iostream#
#include "cmath#
using namespace std;
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

.2 "uardar el fic#ero fuente
;er#inada la fase de escritura del cdigo fuente, debe#os al#acenarlo en un
arci"o. !ara ello, debe#os acudir al #en3 )rchi.o & desde all4 seleccionar la
opcin (uardar. <parecer una nue"a "entana en la ,ue se debe escoger la
carpeta donde se guardar el arci"o, & se debe escoger un no#bre para dico
arci"o.
6ig! ! *enE para guardar el cdigo %uente
10 de 21
int main($oid)
%
// &eclaraci'n de $aria(les
dou(le cateto1) cateto2) hipotenusa;
// Pedir la longitud de los lados del tringulo
cout "" *+ntrodu,ca el -ateto 1 *;
cin ## cateto1;
cout "" *+ntrodu,ca el -ateto 2 *;
cin ## cateto2;
// -alcular la hipotenusa
hipotenusa.sqrt(cateto1*cateto1/cateto2*cateto2);
// 0ostrar el resultado
cout "" *1a hipotenusa mide * "" hipotenusa "" endl;
return 2;
3
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

En nuestro caso, seleccionare#os la carpeta lla#ada Cpractica1 & guardare#os el
cdigo fuente con el no#bre de pitagoras. *ebe#os elegir ,ue el ficero se
al#acene con e5tensin !cpp, lo ,ue indica ,ue contiene un cdigo fuente del
lenguaje .// $. !lus !lus'.
Ana "ez introducida esta infor#acin se pulsa el botn (uardar. El #en3 descrito
slo aparece la pri#era "ez ,ue se guarda un arci"o nue"o al ,ue a3n no se le
ab4a asignado un no#bre. En el futuro, al elegir la accin (uardar en el #en3
)rchi.o se produce la actualizacin del ficero, conser"ando el no#bre original
del #is#o.
+*P'&5)N5": <un,ue a,u4 e#os guardado el ficero al acabar la fase de
escritura del cdigo fuente, >" &"C'*+"N2) ,ue durante el proceso de
construccin del progra#a se guarde el cdigo con relati"a frecuencia. <s4
e"itare#os la p8rdida de infor#acin producida por ca4das de la tensin el8ctrica o
despistes del progra#ador. <de#s, el proceso de al#acenar es si#ple & rpido si
se utiliza el acceso por #edio de co#binacin de teclas, &a ,ue basta con pulsar
$Ctrl!1>'.
.. Compilar el programa
*espu8s de escribir & guardar el cdigo fuente a& ,ue traducirlo a cdigo
#,uina para obtener un arci"o ejecutable. En realidad, lo ,ue a,u4 lla#a#os
fase de co#pilacin tiene asociada tres procesos ,ue se ejecutan de for#a
secuencial & auto#tica en el entorno de %5+*e".pp:
(. Se aplican sobre el ficero fuente las #odificaciones ,ue indican las
directi"as de preprocesa#iento indicadas en cdigo fuente inicial.
). Este cdigo fuente #odificado se traduce a un lenguaje inter#edio
conocido co#o cdigo objeto. <l cdigo objeto le falta incluir el cdigo
#,uina de las funciones ,ue se an utilizado. En nuestro eje#plo, el
cdigo objeto ser el cdigo #,uina a e5pensas de conocer el cdigo
#,uina asociado a las sentencias de entrada & salida con cout, & cin
$,ue se encuentran en la biblioteca asociada a iostream' & sqrt() $,ue
se encuentra en la biblioteca #ate#tica asociada a cmath'. Este segundo
paso es el ,ue estricta#ente ablando se conoce co#o 9co#pilacin:.
!ara ,ue el proceso de co#pilacin se realice de for#a correcta & se
obtenga el cdigo objeto, es necesario ,ue el cdigo fuente no contenga
errores sintcticos. Si a!arecen errores0 es necesario volver a la fase de
11 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

edicin0 corregir los errores0 guardar de nuevo el cdigo fuente - re!etir la
fase de com!ilacin. En una prctica posterior nos centrare#os en la
correccin de errores. En el eje#plo propuesto no debe aparecer ning3n
error, a #enos ,ue a&a escrito incorrecta#ente el progra#a.
-. < partir del cdigo objeto & el cdigo de las funciones de la biblioteca del
entorno, se genera un ficero ejecutable #ediante el proceso de enlazado.
Esta 3lti#a fase, co#pleta el cdigo objeto aBadiendo los trozos de cdigo
#,uina ,ue ,uedaban pendientes de resol"er. El ficero ejecutable tiene
el #is#o no#bre ,ue el no#bre del ficero fuente, pero ca#biando su
e5tensin por !exe.
Estos tres procesos se realizan secuencial#ente en este entorno, bien accediendo
al #en3 "#ecutar & escogiendo la opcin Compilar, o bien #ediante la
co#binacin de teclas $Ctrl!16F'.
.o#o resultado de esta fase, en la pestaBa &esultado de la compilacin debe
aparecer algo si#ilar a lo ,ue #uestra la siguiente figura &, ade#s, en la pestaBa
de Compilador no debe aparecer ning3n error! Esto indica ,ue e#os conseguido
generar un ficero ejecutable.
6ig! 5! Pesta8a de &esultado de la Compilacin
12 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

.$ %ase de prue&as
Ano podr4a pensar ,ue una "ez ,ue se tiene el ficero ejecutable el proble#a &a
est ter#inado. Sin e#bargo esto no es as4. ;ras el proceso de co#pilado se
re,uiere una fase de pruebas para co#probar ,ue el progra#a es correcto. En
esta fase se intenta "erificar ,ue el algorit#o planteado resuel"e el proble#a
propuesto.
!ara lle"ar a cabo esta fase, es necesario ejecutar el progra#a & co#probar ,ue
los resultados ,ue obtiene son los esperados.
!ara ejecutar un progra#a ,ue e#os co#pilado basta con pulsar la co#binacin
de teclas $.trl.+7(0' o bien seleccionar la opcin "#ecutar del #en3 "#ecutar.
La ejecucin del progra#a se realizar en una "entana de 1S+*?S. El progra#a
se detendr en a,uellos puntos del #is#o donde se re,uiera la interaccin del
usuario para poder proseguir, es decir, en las operaciones de lectura de datos a
tra"8s del dispositi"o estndar de entrada. En nuestro caso, se detendr en las
dos operaciones cin. En el resto de instrucciones, la ejecucin del progra#a
continua asta el final sin pausa. La introduccin de datos #ediante la sentencia
cin se ace sie#pre de la #is#a #anera: pri#ero se introduce el "alor deseado &
despu8s se pulsa la tecla &"57&N.
6ig! G! "#ecucin del programa
<l ejecutar nuestro progra#a desde el entorno, obser"are#os ,ue tras pulsar la
tecla &"57&N despu8s de introducir el segundo de los datos solicitados, la
.entana de e#ecucin desaparece sin que d< tiempo a .er el resultado %inal.
La razn es ,ue el progra#a finaliza & eli#ina la "entana de ejecucin de 1S+
*?S por,ue no se indica ,ue el progra#a se ,uede parado. !ara ,ue la "entana
no desaparezca de golpe tras #ostrar el resultado, pode#os #odificar el cdigo
fuente aBadiendo una instruccin ,ue pro"o,ue la detencin del progra#a asta
pulsar una tecla, justo despu8s de escribir el resultado tal co#o se #uestra en la
7igura F.
13 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

6ig! :! "#ecucin del programa con pausa al %inal
!ara aBadir esta parada, utilizare#os una instruccin ,ue espere a ,ue el usuario
pulse una tecla. *ica instruccin es system("pause"). <s4, bastar con aBadir
estas instrucciones al final del progra#a antes de la instruccin de retorno:
6ig! H! *odi%icacin %inal del cdigo %uente
<Badir una parada antes de acabar el progra#a en realidad slo es 3til o
necesario cuando el progra#a se ejecuta desde el entorno de progra#acin. Si
8ste se ejecuta directa#ente desde una "entana abierta de 1S*?S, 8sta no se
cierra asta ,ue lo decida el usuario, aun,ue el progra#a a&a concluido. Nota/
para que al usar system() no se produzca ningEn error al compilar$ debe
a8adir al principio la directi.a/ #include <cstdlib>
=ol"e#os a guardar el cdigo $Ctrl!1>', co#pila#os $Ctrl!16F' & si no a& errores
ejecuta#os $Ctrl!1610'. Si las #odificaciones se an realizado de for#a correcta,
aora el progra#a se detendr para ,ue poda#os obser"ar el resultado. !ara
ter#inar la ejecucin, pulsa#os la tecla &"57&N.
El cdigo fuente co#pleto de nuestro progra#a debe ser final#ente si#ilar al
#ostrado en la siguiente 7igura:
14 de 21
...
// 0ostrar el resultado
cout "" *1a hipotenusa mide * "" hipotenusa "" endl;
//4acer una parada antes de terminar
system(*pause*);
return 2;
3
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

6ig! F! Cdigo %uente %inal
15 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

<ora &a pode#os ejecutar el progra#a & "er el resultado obtenido por el
algorit#o i#ple#entado. <ntes de darlo por ter#inado, debere#os "erificar ,ue el
progra#a es correcto realizando un conjunto de pruebas, o sea, co#probando ,ue
calcula el "alor de la ipotenusa correcta#ente. !ara ello, debe#os ejecutar el
progra#a "arias "eces, utilizando distintos "alores de entrada en cada ocasin, &
co#probando ,ue se obtiene el resultado correcto $contrastando con el "alor
obtenido #ediante una calculadora, por eje#plo'. !ara acer esta co#probacin
usare#os la siguiente tabla co#o banco de pruebas $"erificare#os ,ue los
resultados obtenidos con nuestro progra#a coinciden con los de la tabla':
5abla para comprobar el programa
Cateto 1 Cateto ; =ipotenusa
- 0 5
( 5 5.0NN
).F 0.- 5.0FF
(.)5 ).F5 -.0)
lado1 lado; hi
Ana "ez superada la fase de pruebas, pode#os considerar ,ue se a concluido
con la fase inicial del desarrollo del soft%are pero, Odnde se encuentra el ficero
ejecutableP
!or defecto, el ficero ejecutable se crea en el #is#o directorio donde se
al#acen el ficero fuente $pitagoras!cpp'. !ara #ostrar ,ue el ficero generado
es independiente del entorno de progra#acin, ace#os lo siguiente:
1. <brir una "entana de *i PC.
2. Situarse en la carpeta dnde se guardo el cdigo fuente, es decir,
=/CprogramCpractica1
3. Gacer doble clic sobre el ficero pitagoras!exe.
$. Cerrar ventanas de edicin
.uando se desea escribir un nue"o progra#a despu8s de aber concluido un
progra#a es con"eniente eli#inar del entorno los cdigos fuentes relacionados
con el trabajo anterior. !ara ,ue desaparezcan dicos arci"os fuente se usa la
operacin de cerrar "entanas. E5isten "arias posibilidades para realizar dica
tarea:
16 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

+ !ulsar la opcin Cerrar del #en3 )rchi.o. Esto cierra el docu#ento ,ue se
encuentra acti"o en el editor del entorno.
+ !ulsar sobre el editor ,ue se desea cerrar con el botn dereco del ratn &
elegir la opcin Cerrar.
17 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

'. Ejercicios a evaluar por el profesor
Ga aprendido a instalar el entorno de progra#acin & c#o usarlo para escribir,
co#pilar & ejecutar un progra#aQ &a puede e#pezar a realizar progra#as usted
solo. !rocure escribir los progra#as tal & co#o se a e5puesto en este guin, es
decir, con co#entarios, con un cdigo legible, etc.
Es #u& i#portante ,ue "erifi,ue ,ue sus progra#as son correctos, diseBando
sie#pre un banco de pruebas adecuado & representati"o. Es #u& abitual ,ue se
entreguen progra#as ,ue, aun,ue co#pilan sin errores, no resuel"en el proble#a
solicitado & ,ue, por tanto, se califican co#o incorrectos. .uando pruebe un
progra#a debe intentar introducir datos ,ue puedan resultar conflicti"os para "er si
el progra#a da el resultado correcto en dicos casos $por eje#plo, si a&
di"isiones, co#probar ,ue ocurre si el di"isor es cero, o introducir "alores grandes
o pe,ueBos para "er si se sale de rango, etc'.
.uando ter#ine el ejercicio de laboratorio & a&a co#probado ,ue el progra#a
funciona correcta#ente a"ise al profesor para ,ue lo califi,ue.
.uando co#pile sus pri#eros progra#as, probable#ente obtendr #ensajes ,ue
le indicarn ,ue el co#pilador a detectado algunos errores ,ue debe corregir, &a
,ue de otra for#a no podr generarse el progra#a ejecutable. ;enga en cuenta
,ue el pro%esor IN' "> 7N C'*P+-)2'& C'N P)5)>J &, aun,ue al principio
se encuentre algo confuso, debe acostu#brarse desde el principio a corregir estos
errores de co#pilacin usted #is#o: la #a&or parte de esos errores sern si#ples
errores tipogrficos #u& fciles de corregir: falta cerrar unas co#illas, ol"id un
punto & co#a, escribi #al el no#bre de una "ariable, escribi una "ariable con
tilde, etc.
18 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

"#ercicios de laboratorio 35 puntos4
Estos ejercicios debe realizarlos en el laboratorio durante la sesin de prcticas.
.uando ter#ine, debe a"isar al profesor para ,ue los re"ise & califi,ue.
"#ercicio 1
Si no lo a eco toda"4a, debe leer el guin tran,uila#ente, siguiendo todos los
pasos indicados para escribir el progra#a usado co#o eje#plo. .uando acabe,
a"ise al profesor para ,ue lo co#pruebe. No pregunte asta aber le4do el guin &
aber co#pletado todos los pasos: todo lo necesario para completar este
e#ercicio .iene explicado en el guin.
"#ercicio ;
*esarrolle un progra#a ,ue i#ple#ente el algorit#o 97uerza:, es decir, ,ue
calcule el "alor de la fuerza a partir de la #asa & la aceleracin, sabiendo ,ue la
descripcin algor4t#ica es:
(. !edir el "alor de la #asa
). !edir el "alor de la aceleracin
-. .alcular la fuerza co#o #asa R aceleracin.
0. 1ostrar el resultado en pantalla.
*efina todas las "ariables enteras $int'
N?;<: 2ealizar los siguientes pasos en el entorno de %5+*e"c//:
(. .rear un nue"o arci"o fuente $Ctrl!1N'.
). Escribir el cdigo fuente usando el editor.
-. 6uardarlo con el no#bre %uerza!cpp $Ctrl!1>'.
0. .o#pilar el cdigo para generar el ejecutable $Ctrl!16F'.
5. Ejecutar el progra#a & co#probar ,ue los resultados coinciden con los
#ostrados en la tabla usada co#o banco de pruebas.
19 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

5abla para comprobar el programa
*asa )celeracin 6uerza
0 0 0
0 N 0
N 0 0
(0 ( (0
(0 ) )0
(00 (0 (000
(00 50 5000
()0 S0 F)00
20 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1

"#ercicios propuestos 35 puntos4
Estos ejercicios debe realizarlos en casa & sern calificados a tra"8s de una
#e#oria ,ue entregar al profesor, tal & co#o se indica en las pginas iniciales de
este guin $normas generales de realiacin - entrega'. Estos ejercicios, junto con
los propuestos en la segunda sesin de prcticas se incluirn en una #e#oria de
prcticas, la cual a de entregarse al profesor antes del co#ienzo de la tercera
sesin de prcticas.
"#ercicio propuesto 1!1
2ealizar un progra#a ,ue deter#ine el rea & el "olu#en de una esfera a partir
del "alor de su radio. Ase "ariables reales de doble precisin $double'. Siga los
pasos descritos en los ejercicios de laboratorio adaptndolos a las peculiaridades
de este proble#a $diseBe un banco de pruebas adecuado al proble#a particular
con al #enos 5 pruebas con "alores distintos, por eje#plo, "erificando ,ue el
resultado es correcto co#parando por eje#plo con una calculadora'.
"#ercicio propuesto 1!;
2ealizar un progra#a ,ue capte dos n3#eros enteros a & b & #uestre en pantalla
el resultado de la siguiente e5presin:
!ru8belo al #enos 5 "eces usando "alores distintos para a & b, "erificando la
correccin del resultado. &esponda a las siguientes cuestiones: OTu8 ocurre si
el di"isor es 0P O!or ,u8P O.#o podr4a e"itarseP O.#o podr4a#os calcular el
cociente real en "ez del enteroP
&ecuerde/
(. Siga las nor#as co#entadas en la pri#era pgina acerca de la
docu#entacin a entregar en la #e#oria por cada uno de los ejercicios
propuestos $eleccin de un banco de pruebas, capturas de pantalla, etc'.
). ;odo se e"al3a, no basta con entregar una copia del cdigo fuente al
profesor o subirlo a s%ad.
-. En el caso de las capturas de pantalla se aconseja ,ue in"iertan los colores
para aorrar tinta de i#presora.
0. La #e#oria debe entregarse al profesor i#presa en papel para su
calificacin.
5. *ebe subir a s%ad el codigo fuente de todos los ejercicios propuestos ,ue
realice $en la seccin de 9E"aluacin+L 1is trabajos:'.
21 de 21
P&'(&)*)C+,N
6rado en 74sica
7acultad de .iencias
Prctica 1
(a+b)
3
(ab)
2

También podría gustarte