Está en la página 1de 12

Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina 1/12

Universidad Nacional del Litoral


Facultad de Ingeniera y Ciencias Hdricas
Departamento de Informtica

FUNDAMENTOS
DE PROGRAMACIN
Asignatura correspondiente al plan de estudios
de la carrera de Ingeniera Informtica
ANEXO 1
Intr!ducci"n a las
Herra#ientas de Desarr!ll!
Ing. Pablo Novara - 19/0/!010
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina 2/12
Intr!ducci"n a las
Herra#ientas de Desarr!ll!
Herramientas a utilizar
Para desarrollar un prorama utilizando !"" s#lo se re$uiere un editor de
te%tos para poder escri&ir el c#dio fuente 'por e(emplo el )loc* de Notas de
+indo,s- . un compilador 'en el sentido amplio de la pala&ra/ suele
conformarse por varios proramas- para poder enerar el e(ecuta&le0 Es decir/ el
compilador toma un arc1ivo de te%to con un c#dio fuente/ verifica si la sinta%is
es correcta . realiza los pasos necesarios para enerar el arc1ivo e(ecuta&le
correspondiente a dic1o c#dio 'traducir de !"" a lenua(e de m$uina-0 2in
em&aro/ en la prctica se suele utilizar aluna 1erramienta $ue intere un editor
. un compilador/ (unto con muc1as caracter3sticas adicionales destinadas a
&rindar comodidad . velocidad al proramador0 Estas 1erramientas se
denominan IDEs 'del inl4s5 Interated Development Enviroment 6 Entorno
Interado de Desarrollo-0
Un IDE inclu.e una interfaz visual/ $ue permite tra&a(ar con comodidad . $ue
se encara de dialoar internamente con el compilador/ el enlazador . dems
1erramientas0 De esta forma/ el proramador nunca de&e llamarlas
directamente/ sino $ue con solo 1acer un clic*/ la IDE enera . e(ecuta todos los
comandos necesarios para la compilaci#n . presenta los resultados de forma
adecuada0 Esto/ adems de ser ms rpido/ evita al proramador la necesidad
de recordar los numerosos parmetros $ue el compilador . el enlazador reci&en
. los reemplaza por un cuadro de diloo muc1o ms simple0 De iual manera/
simplifica otras tareas como la depuraci#n 'e(ecuci#n paso a paso/ inspecci#n de
varia&les/ etc0-/ o la edici#n/ . suele presentar adems/ diferentes asistencias
para la escritura del prorama/ como suerencias de autocompletado/ coloreado
de la sinta%is del c#dio fuente/ a.uda acerca del lenua(e/ etc0
"igura 1# I$%uierda# estructura de un I&'. &erec(a# e)emplo de I&' *+in)aI,
Es com7n para el usuario ine%perto confundir un IDE con un compilador/ .a
$ue en la ma.or3a de los productos de desarrollo todo el con(unto de
1erramientas necesarias se proveen e instalan (unto con la IDE/ . puede $ue el
proramador (ams necesite entrar en contacto directo con estas0
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina 3/12
8enta(as . desventa(as del uso de una IDE
!uando el alumno realiza su primeros pasos en un lenua(e de proramaci#n
es altamente recomenda&le $ue utilice una IDE0 De no 1acerlo/ de&er lidiar con
cuestiones relacionadas al proceso de compilaci#n . al mane(o de la linea de
comandos para el uso de un compilador en particular0 Es conveniente/ en una
primer etapa/ concentrarse en las cuestiones relacionadas al lenua(e . a la
l#ica de los pro&lemas a resolver0
2in em&aro/ un proramador avanzado de&e conocer con cierto detalle $u4
ocurre detrs de su IDE/ . c#mo se estiona internamente el proceso de
compilaci#n0 Estos conocimientos le a.udan a entender con ma.or rado de
profundidad el lenua(e/ . le permiten a&ordar pro.ectos de ma.or enveradura
donde intervenan distintos lenua(es/ &i&liotecas e%ternas/ se re$uiera soporte
para m7ltiples plataformas/ etc0
En esta primer u3a relacionada a las 1erramientas para la proramaci#n en
!""/ nos centraremos s#lo en la primer parte 'el uso de una IDE-0 El
conocimiento adicional so&re el proceso de compilaci#n ser tema de otro ane%o
ms adelante cuando el alumno dispona de cierto rado de e%periencia con el
lenua(e0
En este curso/ cada alumno es li&re de utilizar el IDE $ue desee0 2in
em&aro/ en esta u3a se presentar uno de ellos '9in(aI-/ $ue tiene la venta(a
de estar desarrollado dentro de la ctedra . pensando para su uso en el aula por
parte de estudiantes/ adems de ser de li&re distri&uci#n0
Introducci#n al uso de 9in(aI
9in(aI es un IDE para proramar en !"" inicialmente desarrollado para el
dictado de clases . para ser utilizado por estudiantes0 Invoca internamente al
compilador :!! para enerar los e(ecuta&les . se encuentra disponi&le/ como
2oft,are Li&re/ tanto para +indo,s como para :NU;Linu%0 !uenta con
numerosas facilidades de edici#n . asistencias para la codificaci#n/ as3 como un
sistema de depuraci#n interado . a.uda en castellano0 2e puede descarar
desde <http://zinjai.sourceforge.net-
1
0
1 ZinjaI es un sot!are en constante desarrollo" #or lo $ue es actuali%ado recuentemente& 'e
recomienda $ue (isite el sitio aun$ue )a dis#onga de una (ersin anterior de este ID* #ara
(eriicar si no existen nue(as actuali%aciones&
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina +/12
"igura !# Pgina de descarga de +in)aI
El proceso de instalaci#n en +indo,s es similar a la instalaci#n de cual$uier
otro prorama0 Para una instalaci#n normal se de&e e(ecutar el instalador/
aceptar la licencia . presionar siuiente tres veces0 El instalador copiar los
arc1ivos del IDE/ as3 como tam&i4n de =in:+ 'compilador/ depurador/ etc0-0
En :NU;Linu%/ no es necesario un proceso de instalaci#n del IDE0 2#lo se
de&e descomprimir el arc1ivo/ . lanzar el e(ecuta&le zin(ai dentro de la carpeta
con el mismo nom&re $ue se crear al descomprimir0 Para descomprimirlo/
puede utilizar aluna 1erramienta rfica 'como ar* o file>roller-/ o desde una
consola 'escri&iendo por e(emplo <tar >%zvf zin(ai>l?@>AB1BB@1C0tzD-0 El pa$uete
no inclu.e al compilador '""- ni al depurador 'd&-0 Los mismos/ de&ern ser
instalados con el estor de pa$uetes $ue corresponda se7n la distri&uci#n
'aptitude/ sinaptics/ installp*/ .um/ etc0-0
9in(aI presenta dos modos de tra&a(o5
!uando se inicia 9in(aI se encuentra en un modo pensado para
desarrollar rpidamente e(ercicios simples0 A$u3/ cada pestaEa 'cada
arc1ivo a&ierto- ser considerado un prorama diferente/ al compilar .
e(ecutar/ se considera s#lo la pestaEa actual0 Permite tra&a(ar sin
necesidad de crear un pro.ecto ni realizar confiuraci#n aluna0 Fampoco
es necesario 'aun$ue si recomenda&le- $ue ra&e su c#dio fuente0
!uando se crea un prorama simple/ se crea un 7nico arc1ivo0 El
e(ecuta&le de un prorama simple/ ser un arc1ivo con su mismo
nom&re/ pero con e%tensi#n 0&in o 0e%e 'se7n se utilice :NU;Linu% o
+indo,s- en el mismo directorio 'carpeta- $ue el fuente0
El otro modo/ $ue se utiliza cuando se a&re un pro.ecto/ no permite
tener ms de un prorama a&ierto al mismo tiempo/ . todos los fuentes
con $ue se tra&a(e pertenecern a un mismo pro.ecto0 El proceso de
compilaci#n tendr en cuenta todos los arc1ivos $ue pertenecen al
pro.ecto/ . las posi&ilidades de confiuraci#n del mismo sern muc1o
ms amplias $ue en el caso anterior0 !uando se crea un pro.ecto/ se
crea un nuevo directorio/ en el cual se uardarn el arc1ivo de
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina 5/12
confiuraci#n del pro.ecto/ los arc1ivos o&(etos . el e(ecuta&le/ . todos
los fuentes/ ca&eceras . otros arc1ivos $ue el usuario cree dentro de su
pro.ecto0
A continuaci#n se desarrollar paso a paso un e(emplo para crear un
prorama simple0 Este e(emplo est &asado en uno de los tutoriales de 9in(aI0
Puede encontrar ms . conocer otras caracter3sticas accediendo a los mismos a
trav4s del men7 de a.uda del prorama0
Primer prorama con 9in(aI
8amos a resolver un pe$ueEo e(ercicio para e(emplificar el mane(o &sico de
la interfaz0 El enunciado del e(ercicio ser3a5
.ealice un programa %ue permita calcular las races
de una funci/n cuadrtica.
Pas! $%
Lo primero $ue de&e 1acer/ es crear un nuevo prorama0 Para ello seleccione
la opci#n Nuevo... del men7 Arc(ivo0
2e desplear inmediatamente el Asistente para Nuevo Arc1ivo0 All3
seleccione la opci#n 0tili$ar Plantilla . 1aa clic* en el &ot#n !ontinuar0
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina ,/12
A continuaci#n seleccione la plantilla Prorama 122 en 3lanco . presione
1rear0
Esta acci#n cerrar el asistente . le a&rir una nueva pestaEa con el
es$ueleto de un prorama !"" 'inclu.e la ca&ecera iostream . define la funci#n
main-/ . le posicionar el cursor en la primer l3nea de la funci#n main para $ue
comience a escri&ir
A
0
2 Puede configurar ZinjaI para que al presionar Ctrl+N se cree automticamente un
nue!o programa utilizando la plantilla por defecto sin mostrar ninguno de los cuadros
del asistente.
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina -/12
Pas! &%
Lo siuiente $ue 1aremos ser escri&ir el prorama0 Una forma de resolver el
e(ercicio se presenta a continuaci#n5
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
float a,b,c;
cout<<"Ingrese los coeficientes A, B y C: ";
cin>>a>>b>>c;
float det = b*b-4*a*c;
if (det<0) {
float p_real = -b/(2*a);
float p_imag = sqrt(-det)/(2*a);
cout<<"Las raices son: "
<<p_real<<"+"<<p_imag<<"i y "
<<p_real<<"-"<<p_imag<<"i"<<endl;
} else {
float raiz1 = (-b+sqrt(det))/(2*a);
float raiz2 = (-b-sqrt(det))/(2*a);
cout<<"Las raices son: "<<raiz1<<" y
<<raiz2<<endl;
}
return 0;
}
=ientras escri&e/ no se preocupe por el sanrado de las lineas/ o&serve como
+in)aI acomoda el cursor en el luar adecuado cada vez $ue presiona enter
4
0
" Indentar el c#digo es una costum$re altamente recomenda$le% &a que facilita
enormemente la legi$ilidad del mismo.
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina ./12
Pas! '%
Para intentar e(ecutar el prorama presione "9/ o seleccione la opci#n
')ecutar del men7 ')ecutar0
Esta acci#n uarda el arc1ivo 'si a7n no tiene nom&re la 1ar en un directorio
temporal-/ lo compila/ . si la compilaci#n es e%itosa lo e(ecuta0 Aparecer en la
parte inferior de la ventana principal el Panel de Gesultados del !ompilador/ en
el cual se muestra el estado de la compilaci#n . los resultados de la misma0
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina //12
De&ido a $ue el c#dio copiado contiene un error 'no se 1a incluido la li&rer3a
cmat( para poder utilizar la funci#n s$rt-/ el r&ol de dic1o panel desplear la
secci#n 'rrores mostrando un error similar a H'sqrt' was not declared in
this scopeH 'Is$rtI no est declarado en este m&ito-0
Notar $ue adems de errores 'de sinta%is-/ pueden aparecer advertencias en
el panel de resultados de la compilaci#n0 Las advertencias '5arnings- no impiden
la compilaci#n del prorama '.a $ue la sinta%is no es incorrecta-/ pero indican
posi&les fuentes de error 'como usar una varia&le sin inicializarla-/ malas
prcticas 'como no cumplir parcialmente el estndar/ o declarar varia&les $ue no
se utilizan-/ u otras construcciones dudosas0 Pueden resultar 7tiles para
encontrar errores de l#ica0
Pas! (%
Haa do&le clic* so&re el error en el panel de compilaci#n . o&serve como en
el editor el cursor se desplaza 1acia la linea $ue lo provoc#/ . su&ra.a con ro(o la
funci#n a la cual el mensa(e de error 1ace referencia0
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina 10/12
Para solucionar el error de&er3a incluir la ca&ecera cmat1 al principio del
arc1ivo0 +in)aI puede 1acer esto automticamente0 Presione 1trl26 . o&serve
como +in)aI aEade la linea0
Otra forma de resolver el pro&lema ser3a presionar 7(ift2"1 para a&rir el
panel de a.uda rpida/ el cual &rinda informaci#n so&re los elementos estndar
del lenua(e/ as3 como e(emplos de uso . enlaces a elementos relacionados0
Pas! )%
Presione nuevamente "9 para correr el prorama0 Esta vez se compilar .
e(ecutar correctamente en una nueva ventana0 Lueo de finalizar la e(ecuci#n/
+in)aI informar el c#dio de retorno de su prorama 'el B de la l3nea final
Hreturn 0;H/ el cual sirve para sa&er si se e(ecut# correctamente- . esperar a
$ue presione enter una vez ms antes de cerrar la ventana/ para permitirle
o&servar los resultados0
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina 11/12
Otras consideraciones
Ata*!s de teclad! de utilidad
Es importante $ue el proramador se sienta c#modo con las facilidades de
edici#n $ue le &rinda la IDE $ue utiliza0 !onocer los ata(os de teclado para
acciones mu. frecuentes aumenta muc1o la velocidad de escritura del c#dio
evitando destinar tiempo a tareas tediosas o repetitivas $ue nada tienen $ue ver
con la l#ica del pro&lema0
A continuaci#n se listan alunas com&inaciones de teclas para aprovec1ar
me(or alunas facilidades de edici#n 9in(aI5
JK5 Este ata(o realiza todos los pasos necesarios para pro&ar un
prorama 'uardar/ compilar . e(ecutar-0 2i se presiona 21ift"JK/ se
evita el 7ltimo pasoL es decir/ s#lo se compila0 Esto sirve para sa&er si
el c#dio es sintcticamente correcto0
!trl"M5 2i la compilaci#n arro(a errores o advertencias/ con esta
com&inaci#n se pueden recorrer los mismos0 Al utilizarla/ se
selecciona un error . el cursor se posiciona en la l3nea $ue ocasion# el
mismo0 El error $ue se selecciona va variando en cada pulsaci#n0
!trl"H5 !omo se vio en el e(emplo/ esta com&inaci#n &usca la
ca&ecera $ue contiene la declaraci#n de una determinada clase/
funci#n/ varia&le o macro e inserta al principio del arc1ivo el Ninclude
$ue corresponda para poder utilizarla0 La pala&ra $ue se &usca es
siempre la seleccionada o la so&re la cual est el cursor de te%to0
!trl"L/ !trl"21ift"L5 La primera duplica la linea actual o las l3neas
seleccionadas0 Es 7til en muc1os casos en $ue el c#dio inclu.e
l3neas casi id4nticas 'por e(emplo/ en el clculo de las dos raices del
e(emplo anterior-/ e$uivale a copiar . pear esas l3neas0 La seunda
com&inaci#n elimina la l3nea actual o las l3neas seleccionadas0
!trl"F/ !trl"21ift"F5 estas com&inaciones desplazan la l3nea actual o
las l3neas seleccionadas una posici#n ms arri&a en el c#dio0 2irven
para mover framentos de c#dio lineas arri&a o a&a(o0
Anexo Unidad 5 Introduccin a las Herramientas de Desarrollo Pgina 12/12
!trl"D/ !trl"21ift"D5 Estas com&inaciones sirven para
comentar;descomentar respectivamente una o ms l3neas0
!trl"I5 Este ata(o corrie el indentado 'los espacios al principio de
cada l3nea- de un con(unto de l3neas para facilitar la lectura del c#dio0
21ift"J15 Estando posicionado con el cursor de te%to so&re una
pala&ra clave o identificador/ este ata(o invoca al panel de a.uda
rpida presentando un te%to de a.uda relacionado al mismo0
De+uraci"n c!n ,in*aI
!asi todos los IDEs e%istentes interan en ma.or o menor rado facilidades
para la depuraci#n0 Esto es/ permiten interrumpir la e(ecuci#n de un prorama
para evaluar varia&les o e%presiones/ modificarlas/ o&servar las llamadas a
funciones realizadas/ continuar paso por paso/ etc0
Para iniciar una sesi#n de depuraci#n en 9in(aI se de&e e(ecutar el prorama
de forma especial/ con la tecla JC en luar de JK0 Fodo lo $ue se puede 1acer
durante la depuraci#n est disponi&le en el men7 <Depuraci#nD o en los paneles
$ue aparecen al presionar JC0 2i un alumno posee e%periencia en la utilizaci#n
de 1erramientas de depuraci#n con otras IDEs/ puede e%plorar esta opciones0
En cual$uier caso/ una descripci#n ms detallada de las posi&ilidades . c#mo
aprovec1arlas ser motivo de otro ane%o cuando el alumno se encuentre ms
familiarizado con lo &sico presentado anteriormente . el lenua(e0

También podría gustarte