Identificadores y variables en programación
Identificadores y variables en programación
Identificadores
Es un conjunto de caracteres que se utilizan para identificar cualquier entidad del programa
1 1os
identificadores pueden ser combinaciones entre letras y números. Los identificadores representan los
nombres de los objetos de un programa (constantes, variables, tipos de datos, procedimientos, funciones)
41; Deben comenzar con letra o "_11 y no pueden contener espacios en blanco.
t; Letras, dígitos y caracteres subrayados ("_11 ) están permitidos después del primer caracter.
Como conclusión, un identificador es un método que se utiliza para nombrar las celdas de memoria en la
computadd{~ en lugar de la dirección de memoria.
1
Constantes
Son todos los valores que no están sujetos a cambios en la comprobación del algoritmo ni en /a ejecución
del programa, reciben un valor y este no pude ser modificado. Por ejemplo: DiasMes = 30, Impuesto (IVAJ
= 15, etc.
Variables
Son los espacios de memoria que se pueden modificar durante la ejecución del programa. Contrario de las
constantes, estas reciben un valor que puede ser modificado cuantas veces sea necesario. Ejemplo: Edad,
sueldo, precio, etc.
Operadores de asignación
Considera A =5 y B = 10
-
Urnd 1d 1
Operadores de comparación
Considera A = 5 y B = 10
~
< Menor qul' /\
t - - - - - - - - l --
<= M en oro igua l que /\ 11
r - - - - - - + - - -- f r " ''
> M ay o r que /\ • íl 1,,1 ,,,.
>= M ayo r o ig ual que /\ > 11 f , ,1 ,,,..
Igual qu e /\ fj
f •"'•''
!= Diferente qu e /\ I B Írll C
Operadores lógicos
11 Operador lógico or como verdadero y devuelve false cuan do todas sus expre~1one-:
son evaluadas como falsa s.
Devuelve true cuando la expresión evaluada es false o cero, en
Operador lógico not
caso contrario devuelve false.
.\ . :- 2·-f•-.. J.:-·0 ·1. st? mu~stran algunas de las librerías de uso más común de C++ Y que forman parte de las
' ::- -e 2s t?StJ·1dar de este lenguaje.
-t fstream: Flujos hacia/ desde ficheros. Permite la manipulación de archivos desde el programa,
t3· 1 t0 l¿er como escribir en ellos .
.,.. iostream: Es utili.:ada para operaciones de entrada/salida. Su nombre es un acrónimo de lnpu~/
Output Strearn .
.,.. math: Contiene los prototipos de las funciones y otras definiciones para el uso y manipulación de
f1..;n ciones matemáticas.
'f' new: provee los operadores new y delete y otras funciones y tipos que componen los elementos
fu ndamentales para el manejo de memoria en C++.
'f' numeric: Provee algoritmos para el procesamiento numérico.
't ostream: Algoritmos estándar para los flujos de salida.
'f' Librería stdio: Contiene los prototipos de las funciones, macros y tipos para manipular datos de
entrada y salida.
'f' Librería stdlib: Contiene los prototipos de las funciones, macros y tipos para utilidades de uso
general.
.,. string: Provee las clases y plantillas estándares de C++ para trabajar con cadena de caracteres.
Muy útil para el fácil uso de las cadenas de caracteres, pues elimina muchas de las dificultades que
generan los char.
.. regex: Proporciona fácil acceso al uso de expresiones regulares para la comparación de patrones.
'+ thread : Útil para trabajar programación multihilos y crear múltiples hilos en nuestra aplicación-
Unidad 1
::·. ~=--~~ Lb'"o ;e está haciendo uso de Microsoft Visual Studio Community 2019 que es un completo IDE
-==-x~.e; r, e y gratuito que puede ser utilizado para crear aplicaciones modernas para Windows, Android e
íOS, ;-::~--¿$ de ap?:[Link] web y servicios en la nube.
-:-¡_•¿; "u:ir ~n r,rcgrama en Visual C++ 2019, realice las siguientes instrucciones:
--.g--e:.e: a Visual Studio 2019 .
.Z =--- l~ ve ... ~ra [Link], de click en Crear un proyecto.
~~~/1\W,~.f'·,r,,',c,
~ ¡:.,..,.,¿~...ut'.U,$1t'
15) Abrir un proyecto o una
14/1 ¼~f,(J')-21 solución
,..:;.i:,,,:,,'~/,Mrw(,Gt".~F,,.r.u:.r-h'r,,'..t.0r, ~ u n Mdu-lO~ O ~drVISol.W Studo
""'1
:;: ~~~a,.. 12J1/2('/j~6TSJ.
:91~~4"'<,f'-"f',¡t:~/..d,,,,rJou-v~
~ Abrir una carpeta focal
:¡: ,. ,. . .,. . . «:o«..--;é.~~~-;:11'. ,2/f/lt}'J~OHt ~Y~IW~c6di,gom~arpeU,
,. ~~,v.;:-,,../v-..isóer1/f>~.. ~~,,.,..a..,.,.-;
:¡:· E«,-~~,;at\ 1l/t/l01?12'11,
, - .,,,.Y,::.-::y#!"'......~'bfr,¿rf'..,f,IJJ',j,.,,.t.,~
•~ Crear un proyecto
:;:: Mlb{7_J,~.,,rr(tl'(1(1
~UNpwrtlbdep,o,tc:toconLI~
~[Link]¡»raamerm.,
,, ,,,..,,_,.-q,._../~,,._,. 'l4i+[Link]:~
11·1120nor,r,
Conti,,uuwicbdlgo ♦
c.: fr:r g ,,E:;e: ::.elE:ccíonar e++, de click en Aplicación de consola y, a continuación, click en el botón
Siguiente:
)(
Crear un proyecto
,:] =(=~=~~,~
<4 '1/,NJt.,,,, httbto
t] :;:;:::;;:[Link]•f!MtW•ndoww1.....,~ -1NWf'<JJntN:'[Link].
C.•~(~
~j
-
:=::~~::·:::
, .....
Programacion 1
4. 5 . 1, en ubicac1on
Salario . , se leccione la carpeta donde desee
E·1 ·,ombre del p1 oy ecto csc1 iba Fare -click en
ntinuación, e 1 b o tón Crear.
gLa d,1 r e 1p10\CCto V, a co
Y.
Ul!l.:ltd6.,
__...,....,,
: : C~, l.l ~udón >' rl P'O)'Mto ~ el mismo directorio
Atr~s C,nr
- - - ---
~
5
-- - ~ -
pantalla
- -- dónde -escribirá
1 - el cod1go,
, . por defa ult se mostrará el código del progra11a
Se ~astrara
Hola mundo. aSi lo eJecuta
. se mos t rar á el mensaje Helio World!.
Comentario
114 Fares_Sal.nol
Fare~[Link] "° X
1 '.: 1/
S:r.,,2 SaO,.ol
3
1/
~
Fares_Salariol.
. • cpp (Ámbito
" "global)
ac<hi,o <oatioo, _la foa<ióa •·-- -" .. - L~a-e-:j-ec_u_c~io="n=1'"+'•·
1
4 #include <iostream>
5 Se llama a la librería
.,
6 - int main() iostream
6
{ std:: cout « "Hello World! \ n"; } - . Entre los {} se escribirá
}
el código del programa
// EJ·ecutar programa . ..
¡¡ Depurar programa. . Ctrl + FS o mend Depurar> Iniciar ~in depurar
. FS o menú Depurar> Iniciar depurac1on
1
// 2 IJse a ven anpriroeros
• pasos: l. Use la ventana del EAploractor d~ soluc
11 Sunerenc als parta • ~. " " hplo,.,,. pa,a
- 11 'º"'"'" 'º"
•I coot.-01 d• Códlg
II
, : "" i, " " ' " " a, "lida naea ,., la ><liaa a. '""Pilac1<>n Y
4 Use la ventana listad~ ~rrores para ver lo~ errores
º'"'' .,
II 0 a l',oy,c-to > Agregar nuevo elemento para crear n1,evo-. a ,hh~~ d
~. Vaya
// , . '" ¡ M,.,,
poea ,oboe , Obefr •sto """'"'"· " " a A' ,hho ' A
►
Ejemplos:
1.
Elabore un prog1ar11a que solicite co,110 d,lto de entrada el nomb1e y sueldo mensua ,
empleado y devuelva corno 11•,ultado el nombre de la persona seguido del sueldo de un
1•Heilo
este ejemplo, abra el provecto Fares_Salariol y sustituya la línea de código std::couthora.
« par
World!\n"; y cambie por el contenido que se muestra en la siguiente imagen .
Unr l,td 1
lrtlf\ ,,,,1.,11,,1,¡,p• 1 )(
~-- - - - - ------ - ----- ---
l'\l 1,11, ,, •,111.111,,1 1A1nl1ll 11•1I ,1, ,J¡
1,,, •11111111 1 ,1,¡, 1 1, ,ol,111111111!1!•111 1,1,111111111 ml11' 11 f111l,111Jtl
/ ,, •• , 111 11 1 11 1 11,J,
1,1 t 1 111 1 v,11,111,
11
,'
1
1111,1I v•,111•lil111
l l,1,11 v•,1111\11111•,1,
111 / ·~\, lit \t .11 11 1 llP1tll11·,, tll'I f'l!l pl tid llfl V [Link] 1(1
,,,
1',
"''d
,·11 1,, v,11• t ,1h 1, , vN111,1
"I mpl1 ,11ln ''
1
1•11111:
11 1 l11 Vlllllll:
18
l'l 11 /I 1
11 ( l t ,H' 1 1 '•111' t d11 dP 1 , 111p 11• . 11111 V
,\,
1 1
d 1111,H ''""' t tJ
1l // 1•11 l ,1 V,11•l,1l1l1• V'•llr•l(lo
.!1
n
.n
/ / t ,1 l, 111.11• 1• l •.,¡ l ,11• lt1 Jllll ' f1111 •,1
v•.111• 111<,1' ,1 v•.11" 1do / lll / ll:
<.i Cada línea de código finaliza con un punto y coma (;). Los comentarios son omitidos por el
compilado r.
c., la llnc>a using namespace std; lndic.,1 .il c.on1pll,1tlor Clllt' dC' <'Sl\' ,1rdm~, ,e thCn ~lemcnto
de> la bibliot<'c a C++ Standard. Sin t",t,1 lírw.i, t .id.i µ.il.1l>r,1 cl,1vt dt' l.1 btbl otpc- 1 t, idr, 1
qut> ir pr Pu•dicfa di> std:: p,H ,1 dt>11ot.11 '> ll ,1111l>itn . flor Pit•111µk1 : L.1 l11w.i ck c-6,lrg< , cout ,
"E'mpl ,~ado:n « endl; t P11d r 1.i qui' 1",t r 1l>i1 ',P .i !iÍ std::cout ,, "Eniplc,tdo:..., . . , endl;
:.1 ~" <)n11t1• uslnt name5paCl, std¡ ,
c., 11 <u111,rnd<J cout ·•· u:.u ¡>.t1<1 l111p1i111i1 1'11 l.1 :., ,!11d.1 ••~t,111d,11 dl• <.• fl oµer,,dor ,, lnd1 . . ,1 .rl .,t
e 11111pilad<,1 qu<', 11v11• c1 Id• ,1 l1d c1 1•• t á11d,11 l111fu 111 q111• P) l ;'\ 1 :-.11 dt•ll•ch,
u l ¡_¡ 1ns t1111, 1011 cin • tt 1Jtil11,1 p t1 u p, 11111\11 li1 c1111~d.1 1h <f,tlC>'i ,1 tr,11.l>-. cf._•t 1(•l l,1d,1, t.1111bién
pr•1 tt-111 •1 P ,11 t" po, 10 1il' 11111111H 1 • 11td
u loda• l.1:, 11,:.,11 uu 10111 ~ d1• (; ♦ .+ d1 l.>P 11 1, 1111111dr , ll 1111111,1y111111.1 y l,ld ,1-. l,1 s , 1pl1, ,1rlont"-. dt•
C+ + d1• b1 •11 1 011t<'111•1 ,111 ,t lw111 6 11 1nai n() . 1 ~tc1 !11111 l(Í11 t•~ l,1 qu,• ,•1p,.ig,.1111,11'Jt'l ut. 1 ,11 inicio.
1odo 1•1 < ód1go d1• IH • :,, , ,H, 1 ~1 1,lr, d, • d, nl ii ht() p.11 .i qu,• ~<' pt11•d.1 u-.,11 .
Pror.1, un " ion 1
.• ,r· 1111,1111,1 l,1 lírw.i Ymw•v<· ,,1 ciw,or d la ',lnu·
1' , 1 11111 1 l.t (1•1t. IC!nt~1,1 l•ll
l ,1 p,1l,d11,11 l,1, ·1• l,1ull 1••· •, 11 • • 1 ' 'I• 1,, 1111 , ulnc ,H 11n t•l<'tnc•ntr, \n cJr•ntro dr
1 11111 i•dllnh•l\111 11•1 ,11111•1111.11 ,, 11111 ' ' una
11111 •,1 . \111 ,
11 , 1111 ¡1111 c¡1wcndl.
J \ 1 "' ' ¡1 11 1ll ,111 1 1 1, 1 lll 1 dll,
1 , 1111 ' 1\ .I l'll 11 ' '
b. \'11' 'lt1 ¡,_ i'" i•I l,1111111 lkpur.,dor locnl d<' Wlndows.
11 1•rr,1111h •n1,1-. Extrn slone~
1 ,, 11 ,¡ ,ll,u 111•1n1i.11 l'1llt•li,1 /\11,111 ,.ir
. ► 1)1•1111r,1dor loc,11 dc Wlndows •
;,. \ ,•,,111d1·,1
',Ut' ldll:
\',11\H\
/\\t''•'t)1lt'1l \ \l'l)t 1 \11) ',\ll 1 ltltl l)tll',I tlt 1
:
1
ll.-1' ,
□-
1 : \l'1·lly1•, 1 ll',i'l'P\\l',llll.H lll11 l y I l \l'1·ug1·.1 l y l l .'0 l '1\1 ,11·,.. 1 l ,11 1,' 1 r ,,
,\l.\"• ,,d,\l'io\,t'Xt' (Pl'tHt'...,,ll til.,0) •.1• lt'l't't) t(l!l 1'1 t11di¡•,11 íl.
l\\l'.l qlH' \., t tH\',td.l •,t' t i1•1·1·1 1 .iul [Link] i, .1111t•ril t' t 11,111dc1 '.1• d,·I 11 1"· 1 1
1
ut',\\ \111\, h.1hi \ \t,, l.1 tlllt iu11 lh'l't'.illlit•11t,1~, ,opt itir1t'', -!)1•¡ 111·; 1 , t•
1
dllll,111,1\ \[Link]\t'nt,, lii tun•.tlld tll,)1Hit1 ~,, dt•I i,·111• \,1 tl,,1it1r ,11 1 11 11.
l'l't'" itlllt' l ll,l ltlll it'I' t t'l l ,l 11,lt'\l l t'l'l',11' l'', t ,1 Vt'll t ,ltl,l.
Observa don:
Al L'j~cut,11 ~I p1 og1 ,1111..1 e introducir un nombre y un apellido, separado por espacios :;2
puedt' obs~1 , ,,, que el primc>1 nombre corresponde ol nombre del empleado y el apei,¡d.:,
c:on L'~µondt' ,11 !--,11,11 io. [ .._te p1 oble1nü se c'i,1 porque el comando cin sok1rnente Jcept.:i unc1
p::11:lb1 J . Rt•1n1t,1~e ,1 l,1 ~1guk>ntt' im,,gen µ-11-.1 comprcnch:,r:
111¡,\,·,i.l,,
:\ 11 •. 111.!1 .1 1,111 •.
',111 l d1, Mostró el resultidO
:\ l 1 1 l l1 1 l t, sin soltcitar ti
)¡,_ • t •
1 1
, 1 1 ( 1 11 , \ 11' '. t 1, \ 1 11l11 · .1 : \\ 1
1
sueldo men5t.1'
Urud 1d 1
s+ [Link]()
'+ cin. tgntJrf;( j
-. dn. getlin'!O
[Link]()
Ej~mplo.
(Árnbít9 9lob:.il)
-11 :,, ~--~··"/.;r:;,_,. ,.,, ,<..f,;J ~ t;,:;t<i r;rd11vo <;9n1;[Link]. l:.i ·fiJn<:ión
;, / / ,. :,! , , f.¿ ~. J<•".. 1J",J (,f¡ ,,h-J fH'9í~NJtrJ:J cm111,,•n.1,:.i y t"'rmj n:.l :.ihi.
//11/•', 4 ',;, ,., ¡;:.,r •'<:.:iJ,:., •;J ,;w11..<•n1d9 <m1.r<" cCJ rojJ,la';
,..,.1..,.,,,..,. // "''';: ~ .-r ,~,.,,t; ,¿;9 f,'</úJ1?T'"; (()1flpl()1;CJ! n J
/,~-" .,...:; ',.J/1,W✓, ( ; ; / / 1, <,J'V) ., , . t)1_jJj //J d,n -w•t
1 J
X 1
:1JI,'''~;,; ;.,; 1, 1,,f 141; ,,;w¡JJi,1,;; /"J..Ji,1.,11dr.1 ldtP •, NurnlHl' 111t1odt1cid0
,',-; " ' / ' ' ¡ I J 11)1•¡)¡ fJ/•' li¡fl J,, j, t,,J~ A.
1
l 111rr1t•1.1 l1•ttc1 tkl
',,r", 11 ' J .. J f)•H ,J
J
~,,., 1 1; "' -. 1 ' 1 11 1111 J IJlJ,H , , ,
nornbrt•
-
Programación 1
cin. Ignore(}
Se utiliza para ignorar lo que hay en el buffer (espacio de me moría _en el. que - ~ a r.-.a,. na-
3
manera temporal) y no saltar la lectura de datos cuando cambia de string mt
Si se crea un programa que solicite la edad y después el nombre, eso significa que P" m ro :.e dc1. ,
un número y después una caden~; el programa a la hora de imprimir no lo haría Ó" a rr.a ~r
"ª que no permitiría que el usuario ingrese esa cadenn (en e~te ca;.o su nombre) Cua 'o SP ~ -
teclado un valor numérico y se presiona la tecla 'enter' esta a !iU ve, ingresa el ca'"a'ter d f
'endl' y como los valores numéricos son leídos con el método que cin» extrae del fi;;/J de f~•r
el valor numérico y descarta el caracter 'endl' que hará que permanezcg en el buffe
lectura, y cuando se lea el dato "nombre" del programa, 1~ función getline() tomará el pr rr: ~r - a~a....
encuentre, en este caso 'endl' y lo que se tendrá será una cadena vacía.
cí[Link]() se puede utilizar sin parámetros o con 2, uno para la cal"'tidad de caracte -es que se g:-.!J ·
Y el otro para decir hasta cual ca racter se va a ignorar.
En la instrucción [Link](l00,'h') se indica que va a ignorar 100 caracteres o :iasta ega" a 1-a '°"'"ª 'r.,.
Ejemplo: Haga un programa que solicite como dato de entrada el primer nombre y (Q-S e:.~ a;,-e d:,s
muestre como resultado la inicial del nombre y del segundo apellido.
dn. f!l~tllnc()
~t' 111ilit,í ~i.11 d qrn' t.'I u:-u,11 iu ~Hh'd.i ln11 ndlH lt Cdcl<'l1<1'., dt• c: Ir;1c l<!n~!>. gctllne() tiene dos sintaxis.
-t [Link](vnrlnbll', lonnituci, carnctm- do fin):
u Variobll•: Hl'Pt l'"l'lll.1 1,, v.i1 [Link]• qlH' rc•ro1w1 ·¡í lot, ddlO!, Introducido<, por el usuario.
\J Lont~itud: l'~ t.'I [Link] dl' c,1rnc1t'I'<'~ que puedt• tomc.1r la Vílriélblc.
u Carnctcr de fin: Mu1.'st1\1 l'I c,mkter que finc1lizt1rá la cüdcna al momento que lo ingrese el
usu,ffio, 1-wr lo gt'llt.'t'til 0s 'enter' el que se representa como 'n' (di agonal n).
'+ getline(cin,variable);
Ejemplos:
l. Elabore un programa que solicite como dato de entrada el nombre completo del empleado, el
sueldo mensual y el número de horas extras trabajadas. Debe mostrar, como salida, el nombre
del empleado y el total que ha ganado por horas extras.
1
24 cin >> vhorastrabajadas;
25
26 ¡¡ Calcular el salario por hora
27 1 vsuelhora = vsueldo / 30 / 8;
28
29 ¡¡ calcular sueldo hora extras
30 vsueldohora_extra = vsuelhora * 1.5 * vhorastrabajadas;
31
32 ¡¡ Mostr;ir c>l total g,1n,1do Pn hor.i, Pxtr,1,
33 cout << nombre•• "tiPnP ganado por hora~ extrJ~: "
34 << vsueldohora_extra << endl e, endl;
35
36 system("pause");
1 rl."turn 0¡
37
38 }
Programación 1
Sueldo: U000
Horas trabajadas: 25
Jose Luic; Heniandez Mondragon tiene ganado por hor·c1s extrc1s: 2031.25
2 C ee un p,.ograma que solicite como dato de entrada el nombre del usuario Y muestre como sa ~
un sall.. do, seguido del numero de caracteres que tiene el nombre ingresado.
PruebaStr"ng cpp -Q X
~ PruebaSt, 1ng • (Ámbíto glo_
ba_l_)~~~-- - - - 1
1 2// [Link]: Este archivo contiene la función
2 .l//"main" . La ejecución del programa comienza y termina ahí.
3
4 El#incluae <string>
5 •inc 1 ude <iostream>
6 using namespace std;
s r- int main () {
9 : cout << "Escribe tu nombre " J.
10 string nombre;
11 getline(cin, nombre);
12 cout « "Hola " « nombre « endl;
13 int num = [Link]();
cout « "\n\n Tu nombre tiene " « num
14
15
16
1 « " caracteres" « endl ,< endl;
17 system( "pause" );
18 return 0;
19 }
En este programa se declara la vari abl e nombre de tipo string y se utiliza getline para introducir
los datos, es importante incluir la librería string para hacer uso de getline y poder trabaj ar con lo;:
datos de tipo string.
En la instrucción int num = nom bre. size (); se hace uso del método size() par.1 alrnacem:ir en num
el número de caracteres ingresados en la variab le nombre.
l li, \. 1 i\ 11 •, 1 r 11 I t ,1 i , 11 ,
1 !J /,l "t•, l
Unid d 1
Estrategia de aprendizaje # 4