Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 11

GUA DEL TUTORIAL DE LENGUAJE C Y LaBWINDOWS

1. INTRODUCCIN.
Concepto. LabWindows/CVI es un entorno de desarrollo integrado para
prograadores en lengua!e C. "e basa #undaentalente en un entorno intera$ti%o para
desarrollo de prograas & unas librer'as de #un$iones para $rear apli$a$iones de
ad(uisi$i)n de datos & $ontrol de instruentos. *de+s de un $on!unto de ,erraientas
so#tware para la ad(uisi$i)n- an+lisis & presenta$i)n.
.l uso de LabWindows/CVI es par$ialente intuiti%o/ por lo (ue se puede traba!ar $on
0l sin ne$esidad de ser un prograador e1perientado. .n esta gu'a aprendereos a
usar el LabWindows/CVI & los $on$eptos b+si$os para prograar en Lengua!e C.
2. 3RI4.RO" 3*"O" CON L*5WINDOW".
2.1. *brir un Nuevo Proyecto. Una %e6 instalado el LabWindows/CVI 7* partir de
a(u' nos re#erireos a 0l sipleente $oo CVI8- lo abrios & nos saldr+ una
pantalla pare$ida a esta9
*(u' ,a& dos en:s a tener en $uenta9 Open & New. .l priero sir%e para abrir
pro&e$tos &a e1istentes para odi#i$ar su $)digo #uente/ ientras (ue el segundo es
para abrir ar$,i%os nue%os. .n nuestro $aso- nos interesa ,a$er $li$; en Project. *s'
abrireos una nue%a %entana9
.sta %entana $orresponde al ar$,i%o pr!. CVI reali6a los prograas $oo pro&e$tos/
es de$ir- $obina %arios ar$,i%os (ue- en $on!unto- generan el prograa deseado.
.stos ar$,i%os son9
<.$=>*r$,i%o (ue $ontiene el $)digo #uente del prograa.
<.aws=>*r$,i%o (ue $ontiene las librer'as usadas en el $)digo #uente.
<pr!=>*r$,i%o (ue une el ar$,i%o .$ $on el .aws para generar el e!e$utable .e1e.
*,ora lo (ue teneos (ue ,a$er es guardar el ar$,i%o pr!/ para eso nos %aos a
File/Save untitled *.prj as- le poneos el nobre (ue (ueraos & los guardaos.
2.2. *brir un archivo .c. Una %e6 $reado & guardado el ar$,i%o pr! ,a llegado el
oento de abrir un ar$,i%o $on e1tensi)n .$ & %er la 6ona de traba!o. Iros a
File/New/Source(*.c) & os saldr+ una %entana nue%a9
La 6ona de la dere$,a es donde se es$ribe el $)digo #uente- &a llegareos a eso. 3riero
%aos a guardar nuestro ar$,i%o .$. "i os %ais a File/Save untitled1.c as- le pon0is un
nobre & listo. CVI os ,abr+ abierto la ubi$a$i)n donde guardasteis el ar$,i%o pr! por
de#e$to. 3ara ,a$er #un$ionar el prograa los tres ar$,i%os deben estar !untos/ as' (ue ni
se os o$urra guardar el ar$,i%o .$ en otro sitio.
?. L*" V*RI*5L."
?.1. Con$epto. Las %ariables son palabras %in$uladas a un tipo de datos (ue
le indi$an al CVI el nmero de ytes (ue debe reservar para di$,a
%ariable.
?.2. Tipos de datos. "on los siguientes9
Tipo Bytes reservados: Utilidad:
char 1 Byte nenteros pequeos o
caracteres
int 2 Bytes nenteros desde -327!
a "3277
lon# int $ Bytes nent.del orden de %il
%illones
&oat $ Bytes ndeci%ales 3.$e-3! a
3.$e3!
dou'le ! Bytes ndeci%ales de do'le
precisi(n )11 d*#itos de
precisi(n+
lon# dou'le 1, Bytes ndeci%ales aun
%ayores
Re$ordar (ue un 5&te $ontiene @ bits. 3ondreos un e!eplo9
char prueba;
.sto $rea una %ariable llaada ApruebaB de tipo $,ar/ es de$ir- tendr+ 1 5&te 7@5its8 de
ala$enaiento. Dependiendo de lo (ue se (uiera ,a$er se tendr+ (ue usar un tipo de
datos u otro.
@. LO" CO4*NDO"
@.1. Con$epto. .n $ual(uier lengua!e de prograa$i)n e1istenten una
serie de palabras o $on!untos de palaras reservadas a las (ue se les ,a
asignado por de#e$to una #un$i)n deterinada. De #ora (ue- $uando el
prograa es e!e$utado- esas palabras reali6an :ni$aente la #un$i)n (ue se le
,a dado. * di$,as palabras reser%adas se les llaa $oandos.
3ara e%itar $on#usiones es re$oendable $ono$er las palabras reser%adas &
sus #un$iones.
@.2. Lista de $oandos. Los +s usados son9
Coando Cun$i)n
Int ain 4ar$a el ini$io del prograa.
7Debe ,aber $oo 'nio uno8.
print#78 4uestra en pantalla un te1to o
%alor de una %ariable o $on!unto
de %ariables
s$an#78 Captura un %alor introdu$ido por
te$lado & lo guarda en una
%ariable sele$$ionada.
get$,ar78 .l prograa se (ueda esperando a
(ue se pulse la te$la .NT.R.
w,ile78 .!e$uta una l'nea o l'neas de
$)digo ientras (ue la $ondi$i)n
#i!ada sea %+lida.
do...w,ile78 Variante de w,ile- en la (ue las
l'neas de $)digo se e!e$utan antes
de $oprobar (ue la $ondi$i)n es
%+lida.
#or78 Reali6a una l'nea o l'neas de
$)digo una & otra %e6 ientras se
$upla una $ondi$i)n dada.
swit$,78 Nos perite elegir entre %arias
op$iones.
brea; Rope el bu$le.
$ontinue Contin:a $on el bu$le.
I#78 Reali6a una serie de l'neas de
$oando si se $uple la
$ondi$i)n
I#...else Reali6a una serie de l'neas de
$oando si se $uple la
$ondi$i)n & otras en $aso de (ue
no se $upla
e1it Cinali6a el prograa
independienteente de si est+
dentro de un bu$le.
.stos $oandos se $oprenden e!or si se %en en #un$ionaiento/ as' (ue
%aos a reali6ar nuestro prier $)digo usando algunos de los $oandos
e1puestos.
D. .L*5OR*CIN D. UN 3ROER*4*.
5.1. Paso 1: Introdu$$i)n de ain. Fa ,eos di$,o antes (ue main es la
palabra reser%ada (ue ini$ia el prograa/ es de$ir- $uando un
prograa se e!e$ute- nuestro ordenador epe6ar+ a leer l'neas de
$)digo desde el main ,a$ia adelante. 3or tanto- lo priero (ue ,a&
(ue ,a$er $uando se %a a es$ribir un $)digo #uente es introdu$ir el
ain. Los en:s de CVI nos dan la op$i)n de in$luir el ain
dire$taente sin tener (ue es$ribirlo/ para eso iros a !dit/"nsert
#onstruct/$ain. Os saldr+ algo $oo esto9
.l $)digo %a despu0s del main & antes del return.
5.2. Paso 2. .stru$tura del prograa. 3rograar es $oo $o$inar9 teneos
unos ingredientes 7$oandos8 (ue al $obinarlos nos dan $oo
resultado la $oida #inal 7prograa8/ pero- para poder llegar ,asta ese
punto antes ,a& (ue saber (u0 se %a a $o$inar. 3rograar es siilar9 si
no sabes (ue prograas nun$a lograr+s sa$ar algo en $laro.
3ara esta o$asi)n os a,orrar0 el traba!o de pensar en un prograa & os
propondr0 uno9 .laborareos un prograa (ue nos pida la
introdu$$i)n de dos n:eros & luego nos de!e elegir entre reali6ar
alguna de las opera$iones arit0ti$as 7sua- resta- ultipli$a$i)n o
di%isi)n8 & nos uestre en pantalla el resultado de di$,a opera$i)n.
3ara no liarnos- ireos paso por paso pensando $)o ,a$er $ada
parte.
5.3. Paso 3. Introdu$ir los n:eros. Lo priero (ue nos pide el prograa
es eter dos n:eros/ as' (ue lo noral es (ue se epie$e por a,'.
.ntre todos los $oandos (ue %ios antes los (ue nos sir%en para esto
son el print#- por(ue uestra te1to en pantalla- & el s$an#- por(ue
$aptura datos etidos por el te$lado9
print#7GHn 4.NU9G8/
print#7GHn Introdu$e el prier nueroIG8/
s$an#7GJl#G-Kn18/
print#7GHn Introdu$e el segundo nueroIG8/
s$an#7GJl#G-Kn28/
Vaos a anali6ar esta parte del $)digo9
La priera l'nea nos ostrar+ en pantalla el te1to L4.NU9M/ la
doble $oilla al prin$ipio & #inal son obligatorias & el Hn es para
eter un salto de l%nea- se puede poner al prin$ipio o al #inal.
Las dos siguientes l'neas uestran en pantalla el te1to LIntrodu$e
el prier nueroM & a $ontinua$i)n el s$an# se (ueda esperando
(ue te$leeos un %alor nu0ri$o (ue guardar+ en una %ariable
dada- en este $aso n1- (ue ser+ de tipo l# 7long #loat8. La ra6)n de
(ue es$o!aos el tipo de datos long #loat es por(ue adite
n:eros de$iales 7en $aso de (ue el resultado de alguna
opera$i)n tenga parte de$ial- nos la ostrar+8.
La dos siguientes l'neas son iguales (ue las anteriores- solo (ue
$orresponden al segundo nuero.
"i intent+seos e!e$utar el prograa nos dar'a un error. N3or (u0O
3ues por(ue ,eos (uerido eter dos %alores en dos %ariables (ue
a:n no e1isten. *s' (ue al te1to anterior ,abr'a (ue in$luirle la
$rea$i)n de las %ariables n1 & n&9
doule n1' n&(
print#7GHn 4.NU9G8/
print#7GHn 1 Introdu$e el prier nueroIG8/
s$an#7GJl#G-Kn18/
print#7GHn 2 Introdu$e el segundo nueroIG8/
s$an#7GJl#G-Kn28/
.l tipo de datos doule es otro nobre para el tipo de datos lon)
*loat 7"e usa double en %e6 de long #loat para e%itar $on#usiones
$on el tipo de datos #loat8. Las %ariables siempre se declaran al
principio del $)digo #uente.
"i e!e$utaos a,ora el prograa s' (ue #un$ionar+/ solo (ue
$uando etaos los dos n:eros el prograa terina por(ue &a
no ,a& +s $)digo.
5.4. Paso 4. Crear el en: de opera$iones. La elabora$i)n ser'a siilar a
lo ,e$,o antes- solo (ue a,ora teneos %arias op$iones a elegir & una
a$$i)n a reali6ar %in$ulada a $ada una. N"o& el :ni$o (ue se ,a dado
$uenta de (ue estaos ante una $ondi$ionalO .spero (ue no.
Cono$eos %arios tipos de $ondi$ionales & dependiendo de lo (ue
(uereos ,a& (ue elegir uno/ $oo (uereos (ue nos uestre el
en: priero & luego- seg:n se ,a&a es$ogido- ,a$er una opera$i)n
arit0ti$a u otra- teneos (ue usar un doP w,ile789
doQ
print#7GHn 4.NU D. O3.R*CION."9G8/
print#7GHn 1 "U4*G8/
print#7GHn 2 R."T*G8/
print#7GHn ? DIVI"ONG8/
print#7GHn @ 4ULTI3LIC*CIONG8/
print#7GHn D "*LIRG8/
print#7GHn .li!a una op$ionIG8/
s$an#7GJdG-Kres8/
Rw,ile7resSI1KKresSI2 KKresSI?KKresSI@KKresSID8/
Coo %eis- ostraos en pantalla las op$iones & el scan* del #inal
espera la respuesta. Lo guardar+ $oo un %alor nu0ri$o entero &
en la %ariable res (ue- ob%iaente- tendreos (ue de$lararla al
prin$ipio/ $oo (uereos un n:ero entero sen$illo- $on una
%ariable de tipo int es su#i$iente.
La $ondi$i)n del w,ile %iene a de$ir (ue si el %alor de res es
distinto de 1- 2- ?-@ & D se %uel%e al prin$ipio del doP w,ile.
NOT*9 TI signi#i$a distinto de el %alor dado. F KK es la
e(ui%alente a una puerta l)gi$a F en C.
5.5. Paso 5. Reali6a$i)n de las distintas opera$iones. Fa teneos el en:
de las opera$iones/ a,ora ,a& (ue reali6arlas. Coo di$,as
opera$iones est+n %in$uladas al en: & este al doPw,ile- las
opera$iones tienen (ue ir dentro del $ondi$ional- pero- N$)o
%in$ulaos el %alor dado a la %ariables res $on las distintas
opera$ionesO "e podr'a ,a$er usando $ondi$ionales i* o usando un
swit$,. Lo ,areos de las dos aneras9
D.D.1. Con i#9
i# 7resII18 res2In1Un2/
i# 7resII28 res2In1=n2/
i# 7resII?8 res2In1/n2/
i# 7resII@8 res2In1<n2/
i# 7resIID8 Q
print#7GHnHnVas elegido salir.3ulsa .NT.R para
$ontinuarG8/
get$,ar78/
w,ile7get$,ar78SIWHnW8/
return X/
R
Nue%aente- teneos (ue de$larar una %ariables- llaada res2 &
de tipo int- al prin$ipio del prograa. .l resto del prograa es
bastante intuiti%o- e1$epto el de la op$i)n resIID- (ue
anali6areos9
Lo priero es sen$illo9 uestra en pantalla el te1to. Lo segundo-
el get$,ar78- ,a$e (ue el ordenador se (uede esperando (ue se
pulse .NT.R para seguir le&endo el $)digo. La ter$era l'nea es un
$ondi$ional w,ile (ue di$e (ue $uando se de un .NT.R se lipie
el bu#er 7eoria ala$enada de las %ariables8/ se ,a$e para de!ar
la eoria %a$'a & e%itar errores. F la :ltia es un return (ue
,a$er terinar el prograa.
D.D.2. Con swit$,9
swit$,7res8Q
$ase 19
res2In1Un2/
brea;/
$ase 29
res2In1=n2/
brea;/
$ase ?9
re2In1/n2/
brea;/
$ase @9
re2In1<n2/
brea;/
$ase D9
print#7GHnHnVas elegido salir.3ulsa .NT.R para
$ontinuarG8/
get$,ar78/
w,ile7get$,ar78SIWHnW8/
return X/
de#ault9
print#7GHnHn.lige $orre$taenteG8/
R
.l swit$, llaa a las distintas op$iones $ase 7%an pre$edidos de
doble punto en %e6 del t'pi$o punto & $oa8- (ue tienen un brea;
para salir del bu$le. .l :ltio $aso- ade+s- debe lle%ar un
$oando llaado de*ault (ue sir%e para reini$iar el bu$le en $aso
de (ue se eta un %alor no estable$ido. 3robarlo dando a la
%ariable res un %alor distinto a 1- 2- ?- @ ) D.
5.6. Paso 6. Ver el resultado de la opera$i)n elegida. Todo esto no sir%e de
nada sino podeos asegurarnos de (ue el prograa #un$iona/ por eso
,a& (ue ,a$er (ue el %alor de res2 sea ostrado en pantalla tras ,a$er
la opera$i)n elegida. * estas alturas &a ten0is (ue saber (ue esto se
,ar'a $on un print#9
print#7AHn .l resultado esIJdB-res28/
*nali$eos. "abeos (ue print# nos ostrar+ en pantalla lo (ue est+
entre $oillas- pero- N(u0 es eso del JdO 3ues es la #ora de de$irle
al ordenador (ue (uereos (ue nos uestre el %alor de alguna
%ariable $reada. NCu+lO- pues la (ue indi$aos tras la $oa9 el res2.
5.7. Paso 7. Reini$io del prograa. T0$ni$aente nuestro prograa
estar'a #inali6ado- pero un $ual(uier prograa de $+l$ulo (ue se
apre$ie debe tener la op$i)n de poder reini$iarse para eter %alores
nue%os. NC)o ,ar'aos estoO .st+ $laro (ue es un $ondi$ional- pero
se trata de un $ondi$ional (ue a#e$ta a todo el prograa/ de odo (ue
la :ni$a op$i)n ser'a un doP w,ile. 3ara (ue lo %e+is bien- pondr0
todo el $)digo de nuestro prograa & en ro!o el $)digo del doP
w,ile9
Yin$lude Zansi[$.,>
Yin$lude Z$%irte.,>
int ain 7int arg$- $,ar <arg%\]8

Q
i# 7InitCVIRT. 7X- arg%- X8 II X8
return =1/ /< out o# eor& </
double n1- n2/
int res-res2-p/
doQ
print#7GHn 4.NU9G8/
print#7GHn 1 Introdu$e el prier nueroIG8/
s$an#7GJl#G-Kn18/
print#7GHn 2 Introdu$e el segundo nueroIG8/
s$an#7GJl#G-Kn28/
doQ
print#7GHn 4.NU D. O3.R*CION."9G8/
print#7GHn 1 "U4*G8/
print#7GHn 2 R."T*G8/
print#7GHn ? DIVI"ONG8/
print#7GHn @ 4ULTI3LIC*CIONG8/
print#7GHn D "*LIRG8/
print#7GHn .li!a una op$ionIG8/
s$an#7GJdG-Kres8/
swit$,7res8Q
$ase 19
res2In1Un2/
brea;/
$ase 29
res2In1=n2/
brea;/
$ase ?9
res2In1/n2/
brea;/
$ase @9
res2In1<n2/
brea;/
$ase D9
print#7GHnHnVas elegido salir.3ulsa .NT.R para
$ontinuarG8/
get$,ar78/
w,ile7get$,ar78SIWHnW8/
return X/
de#ault9
print#7GHnHn.lige $orre$taenteG8/
R
Rw,ile7resSI1KKresSI2 KKresSI?KKresSI@KKresSID8/
print#7GHn .l resultado esIJdG-res28/
print#7GHn ^uieres introdu$ir %alores nue%osO Hn1."IHn2.NOHnG8/
s$an#7GJdG-Kp8/
Rw,ile7pII18/
w,ile7get$,ar78SIWHnW8/
return X/
R
"i la $ondi$i)n del while se da- el do se reini$ia &- $on 0l- todo el prograa/ sino-
el prograa terina.
NOT*9 ,asta (ue $o!as ,abilidad prograando te re$oiendo (ue pongas al lado
de $ada l'nea $oentarios en los (ue digas (ue ,a$e esa l'nea. Va& dos tipos de
$oentarios9
Tipo de $oentario Cun$i)n
// Introdu$e $oentarios de taa_o
+1io de una l'nea
/<P..</ Introdu$e $oentarios de taa_o
e1tenso 7+s de una l'nea8
Los $oentarios no son le'dos por el ordenador $uando e!e$uta el prograa.
.l lengua!e C tiene +s $osas- pero de ini$io esto es lo +s #undaental. .n las
siguientes gu'as ireos apliando ,ori6ontes.

También podría gustarte