1
Facultad de ciencia, tecnología y ambiente
Ingeniería en sistemas
CRISTHEL CENTENO
Profesor:ElsnerGonzáles
Manual de Laboratorio de prog 1
Contenido
Lenguaje C++............................................................................................................................. 1
Elementos............................................................................................................................. 1
La función main() ............................................................................................................... 1
Comentarios...................................................................................................................... 1
Tipos de datos básicos en C++............................................................................................. 1
Tipo de datos básicos......................................................................................................... 1
Caracteres válidos.............................................................................................................. 1
Librerías de C++ ................................................................................................................. 2
Palabras reservadas ........................................................................................................... 5
Cout y cin.......................................................................................................................... 5
Sizeof ................................................................................................................................ 5
Arreglos............................................................................................................................. 7
Arreglo bidimensional ........................................................................................................ 7
Estructuras........................................................................................................................ 7
Arreglos de estructuras ...................................................................................................... 8
Lenguaje C...............................................................................................................................12
Elementos............................................................................................................................12
Comentarios.....................................................................................................................12
Identificadores..................................................................................................................12
Constantes .......................................................................................................................12
Sentencias........................................................................................................................13
Palabras reservadas ..........................................................................................................13
Printf y scanf.....................................................................................................................13
Precisión...........................................................................................................................14
Especificadores de conversión ...........................................................................................15
Otras funciones para leer y escribir. ...................................................................................15
Ficheros............................................................................................................................16
Estructuras de control.......................................................................................................17
Funciones.........................................................................................................................20
Ejerciciosen clase .............................................................................................................21
Tabla 2 ASCII............................................................................................................................. 8
Ilustración 1 Laboratorio_1........................................................................................................ 2
Ilustración 2 sizeof_C++............................................................................................................. 5
Ilustración 3 Tipos de datos........................................................................................................ 5
Ilustración 4 Laboratorio_3........................................................................................................ 6
Ilustración 5 Arreglo.................................................................................................................. 6
Ilustración 6 cadena de carácter................................................................................................. 6
Ilustración 7 Estructura.............................................................................................................. 7
Ilustración 8 Declaración de arreglos de estructuras.................................................................... 8
Ilustración 9Guardar datosen arreglos de estructuras................................................................. 8
1
Lenguaje C++
C++ esun lenguaje de programación diseñadoamediadosde losaños1980 por Bjarne Stroustrup.
La intenciónde sucreaciónfue el extenderal lenguaje de programación Cmecanismosque
permitenlamanipulaciónde objetos.Enese sentido,desde el puntode vistade los lenguajes
orientadosaobjetos,el C++es unlenguaje híbrido.
Elementos
La función main()
Una funciónC++ es un subprogramaque devuelve unvalor,unconjuntode valoresorealizauna
tarea específica.
Comentarios
Un comentarioescualquierinformaciónque se escribe el enprogramaparaproporcionar
informaciónde cualquiertipo.
Tipos de datos básicos en C++
El tipode dato determinalanaturalezadel valorque puedetomarunavariable.Untipode dato
define undominiode valoresylasoperacionesque se puedenrealizarconéstosvalores.C++
dispone de unoscuantostiposde datospredefinidos(simples) ypermiteal programadorcrear
otros tiposde datos.
Tipo de datos básicos
Int (Númerosenteros) Tamañoenbytes:2bytes(16 bits) Dominio:sontodoslosnúmerosenteros
entre losvalores -32.768 y 32.767
Float(Númerosreales)Tamañoenbytes:4 bytesDominio:sontodoslosnúmerosrealesque
contienenunacomadecimal comprendidosentre losvalores:3,4× 10-38 y 3,4 × 1038
Double (Númerosrealesmásgrandesque float) Tamañoenbytes:8bytesDominio:sontodoslos
números realesque contienenunacomadecimal comprendidosentrelosvalores:1,7 × 10-308 y
1,7 × 10308
Bool (Valoreslógicos)Tamañoenbytes:1 byte Dominio:dosúnicosvalores:{ true,false }
Char (Caracteresycualquiercantidadde 8 bits) Tamañoen bytes:1 byte Dominio:dígitos,letras
mayúsculas,letrasminúsculasysignosde puntuación.
Void(Nada.Sirve paraindicarunafunciónque nodevuelve valor)
Caracteres válidos
/ ! % ^ & * () - + {} []  ; : <> ¿ .
>, < ,>=, <=, ==, !=
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
A,B, C, D, E, F, G, H, I, J, K, L, M, N, O,P, K, R, S, T, U, V, W, X,Y, Z
a, b, c, d, e,f,g, h, i,j, k,l, m,n, o ,p,q,r, s, s,t, u, v, w,x,y, z.
2
Librerías de C++
Juntocon loscompiladoresde Cy C++, se incluyenciertosarchivosllamadosbibliotecasmas
comúnmente librerías.Lasbibliotecascontienenel códigoobjetode muchosprogramasque
permitenhacercosascomunes,comoleerel teclado,escribirenlapantalla,manejarnúmeros,
realizarfuncionesmatemáticas,etc.
Las bibliotecasestánclasificadasporel tipode trabajosque hacen,haybibliotecasde entraday
salida,matemáticas,de manejode memoria,de manejode textosycomoimaginarásexisten
muchísimas libreríasdisponiblesytodasconuna funciónespecífica.
¿Qué son exactamente laslibrerías?
En C++, se conoce como librerías(obibliotecas) aciertotipode archivosque podemosimportaro
incluirennuestroprograma.Estosarchivoscontienenlasespecificacionesde diferentes
funcionalidadesyaconstruidasyutilizablesque podremosagregaranuestroprograma,como por
ejemploleerdel tecladoomostraralgopor pantallaentre muchasotrasmás.
Al poderincluirestaslibreríascondefinicionesde diferentesfuncionalidadespodremos
ahorrarnosgran cantidadde cosas,imaginemosporejemploque cadavezque necesitemosleer
por teclado,debamosentoncescrearunafunciónque lohaga (algorealmente complejo),al poder
contar con laslibreríasenC++, podremoshacerusode una gran variedadde funcionesque nos
facilitaránlaviday aumentaránel modularidadde nuestroscódigos.
Las libreríasnoson únicamente archivosexternoscreadosporotros,tambiénesposible crear
nuestraspropiaslibreríasyutilizarlasennuestrosprogramas.Laslibreríaspuedentenervarias
extensionesdiferentes,lasmáscomunesson:.lib,.bpl,.a,.dll,.hyalgunasmásya no tan
comunes.
En conclusión:Laslibrearíassonarchivos(nosiempre externos) que nospermitenllevara cabo
diferentestareassinnecesidadde preocuparnosporcómose hacensinosimplementeentender
cómo usarlas.Las librearíasenC++ permitenhacernuestrosprogramasmásmodularesy
reutilizables,facilitandoademáscrearprogramascon funcionalidadesbastante complejasenunas
pocas líneasde código.
SintaxisparadeclararLibreríasenC++
La declaraciónde librerías,tantoenCcomo enC++, se debe haceral principiode todonuestro
código,antesde la declaraciónde cualquierfunciónolíneade código, debemosindicarleal
compiladorque libreríasusar,parael saberque términosestarancorrectosenla escriturade
nuestrocódigoycuálesno. La sintaxiseslasiguiente: #include<nombre de lalibrería>o
alternativamente #include "nombre de lalibrería".Cualquierade las2 formas esválidaenC++ (no
estoysegurosi enC sea válido),tenencuentaque siempreel nombre de lalibreríadebe irentre "
y " o entre < y>. En tu códigopuedesdeclarartodaslaslibreríasque quierasaunque enrealidad
no tienensentidodeclararunalibreríaque novasa usar entu programa,sinembargono existe
límite para esto.
LibreríasEstandar de C++ (StandarTemplate Libraryo STL)
A continuación,pondré algunasde laslibreríasde usomáscomún de C++ y que formanparte de
laslibreríasestándarde este lenguaje.
3
fstream:
Flujoshacia/desdeficheros.Permite lamanipulaciónde archivosdesdeel programar,tantoleer
como escribirenellos.
iosfwd:
Contiene declaracionesadelantadasde todaslasplantillasde flujosysustypedefsestándar.Por
ejemplo, ostream.
iostream:
Parte del a STL que contiene losalgoritmosestándar,esquizálamásusadae importante (aunque
no indispensable).
La bibliotecalist:
Parte de laSTL relativaacontenedorestipolist;listasdoblementeenlazadas
math:
Contiene losprototiposde lasfuncionesyotrasdefinicionesparael usoy manipulaciónde
funcionesmatemáticas.
memory:
Utilidadesrelativasalagestiónde memoria,incluyendoasignadoresypunterosinteligentes
(auto_ptr).
"auto_ptr" esuna clase que conformalalibreríamemoryy permite unfácil manejode punterosy
su destrucciónautomaticamente.
Bibliotecanew:
Manejode memoriadinámica
numeric:
Parte de lalibreríanuméricade la STL relativaaoperacionesnuméricas.
ostream:
Algoritmosestándarparalosflujosde salida.
queue:
Parte de laSTL relativaacontenedorestipoqueue (colasde objetos).
Libreríastdio:
Contiene losprototiposde lasfunciones,macros,ytipospara manipulardatosde entradaysalida.
Libreríastdlib:
Contiene losprototiposde lasfunciones,macros,ytipospara utilidadesde usogeneral.
string:
4
Parte de laSTL relativaacontenedorestipostring;unageneralizaciónde lascadenas
alfanuméricasparaalbergarcadenasde objetos.Muyútil parael fácil uso de lascadenasde
caracteres,pueseliminamuchasdelasdificultadesque generanloschar
typeinfo:
Mecanismode identificaciónde tiposentiempode ejecución
vector:
Parte de laSTL relativaaloscontenedorestipovector;unageneralizaciónde las matrices
unidimensionalesC/C++
forward_list
Esta libreríaesútil para implementarcongran facilidadlistasenlazadassimples.
list
Permite implementarlistasdoblemente enlzadas(listasenlazadasdobles) facilmente.
iterator
Proporcionaunconjuntode clasespara iterarelementos.
regex
Proporcionafácil accesoal uso de expresionesregularesparalacomparaciónde patrones.
thread
Útil para trabajarprogramaciónmultihilosycrearmúltipleshilosennuestraaplicación.
Nota:Para más informaciónsobre laslibreríasestandarde C++ y STL puedes ingresaraquí
¿Cómodeclararuna libreríaenC++?
Veamosa continuacióncomose haría la declaraciónde unascuantaslibreríasconocidas,recuerda
que se puedendeclarartodaslaslibreríasnecesariasysiempre debehacerse al comienzodel
códigofuente.
5
Palabras reservadas
Cout y cin
Se usan para la entraday salidade datosen lenguaje c++.
Sizeof
Proporcionalacantidadde almacenamiento,enbytes,necesariaparaalmacenarunobjetodel
tipodel operando.
Ilustración 2 sizeof_C++
6
Ilustración 3 Tipos de datos
Ilustración 4 Laboratorio_3
Puedenmodificarse losrangode valoresagregandolassiguientespalabras:
Short (Corto)
Largo (Largo)
Signe (Consigno)
Unsigne (Sinsigno)
7
Arreglos
Son tiposde datos complejos,abarcanunconjuntode variablesdel mismotipo
Para declararun arregloprimerose escribe el tipode dato,luegoel nombre,luegoel tamañoyse
le asignaun valor.
Ilustración 5 Arreglo
Al llamarun arreglosolose escribe el nombre,noes necesarioel tamaño.
Ilustración 6 cadena de carácter
Arreglo bidimensional
Es un arreglocon 2 dimensiones,enmemoriase guardancomosi fueranunamatriz
Para declararun arreglose escribe el tipode dato,el nombre del arreglo,el númerode filasy el
númerode columnas.
Para llamara un arreglose escribe el nombre yla ubicaciónde lafilay lacolumna
Estructuras
Las estructurasnos permitenagruparvariosdatos,que mantenganalgúntipode relación,aunque
seande distintotipo,permitiendomanipularlostodosjuntos,usandounmismoidentificador,o
cada uno por separado.
Cada objetode una estructurase denominaamenudocampoo elementos.
Para declararuna estructurase debe de escribirlapalabrastruct luegoel nombre yentre llavesse
declaranlasvariables.Debe declararsefueradel procesoprincipal.
8
Ilustración 7 Estructura
Tambiénpuedendeclaraseestructurasde tipoestructura“empleado”escribiendoel nombre de la
estructuraantesdel puntoy coma.
Arreglos de estructuras
Una vez que unaestructurase convierte enuntipode datoen el menúprincipal se declaraun
arreglode estructurasque va a guardar las mismasvariablesdependiendodeltamañodel arreglo.
Para declararun arreglode estructurase debe de escribirel tipode estructura,el nombre yentre
corchetes[] el tamañodel arreglo.
9
Ilustración 8 Declaración de arreglos de estructuras
Comopodemosverfames unaestructuradel tipostruct familiaryse le asignoun tamañode 3 lo
que significaque puede guardartodosestosdatospara3 personasdiferentesrecordandoque se
guarda desde el arreglo0 hastael 2.
10
Ilustración 9Guardar datos en arreglos de estructuras
Para guardar un datoprimerollamamosala estructurafam que esde tipofamiliar,dentrode la
familiarllamamosalaestructuradatosque es de tipopersonal yenesta estructuraguardamosel
dato enla variable nombre.
11
Tabla ASCII
Tabla 2 ASCII
ASCIIHex Símbolo
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
TAB
LF
VT
FF
CR
SO
SI
ASCII Hex símbolo
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
ASCIIHex Símbolo
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
(space)
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
ASCII Hex Símbolo
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
ASCIIHex Símbolo
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
ASCIIHex Símbolo
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
P
Q
R
S
T
U
V
W
X
Y
Z
[

]
^
_
ASCIIHex Símbolo
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
ASCII Hex Símbolo
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
•
12
Lenguaje C
Programa:La descripciónde los elementos,ladescripciónde accionesydescripciónde datos.
Dato: Es un conjuntode información.
C es un lenguaje de programación originalmente desarrollado por Dennis M.
Ritchie entre 1969 y 1972 en los Laboratorios Bell,2como evolución del anterior lenguaje B, a
su vez basado en BCPL.
Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos,
concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje
de programación más popular para crear software de sistemas, aunque también se utiliza para
crear aplicaciones.
Elementos
Comentarios
Sirvencomoinformaciónal programador.
Para que un textoseacomentariodebe estarentre lossímbolos/*(marcael comienzo) y*/
(marca el final de comentario).
Identificadores
Se usan para referenciarlasvariables,lasfunciones,lasetiquetasyotrosobjetosdefinidosporel
usuario.
El primercarácter debe serunaletrao un símbolosubrayadoy loscaracteressiguientespueden
serletras,números osímbolosde subrayado.Las minúsculasylasmayúsculasse tratancomo
distintas.
Un identificadornopuede serigual auna palabraclave de C y no debe tenerel mismonombre que
una funciónyaescritao que se encuentre enlabibliotecade C.
Constantes
Al contrarioque las variables,lasconstantesmantienensuvaloralo largode todoel programa.
Para indicaral compiladorque se tratade unaconstante,usaremosconst.
13
Ilustración 1 Laboratorio_1
Sentencias
Son lasinstrucciones,cadasentenciafinalizaconunpuntoy coma.
Palabras reservadas
Printf y scanf
Entada y salidade datosenlenguaje c.
14
Precisión
Salida
t espara tabulación.
%.4d indicaunenterocon4 cifras.
n esun saltode línea.
Salida
%.3f indicaque el
decimal vaa tener3
cifrasdespuésdel
punto.
15
Salida
t tabulación
%.5s va a imprimirse 5caracteresen
pantalla.
Especificadores de conversión
d, i= para enteros.
f,g, e, a= para decimales.
s= cadena.
c= caracter.
Otras funciones para leer y escribir.
Puts:Sirve paraimprimirenpantallaunacadenade caracteres.
Salida
Putchar: Imprime uncaracteren lapantalla.
Salida
gets:Lee una cadenade caracteres.
Salida
16
Getchar: lee uncaracter.
Salida
Ficheros
Se declarande la siguiente manera.
Con lapalabra reservadaFILEse escribe
un asteriscoyel nombre del archivo.
 r: sólolectura.El ficherodebe existir.
 w: se abre para escritura,se crea unficheronuevoose sobreescribe si yaexiste.
 a: añadir,se abre para escritura,el cursor se situaal final del fichero.Si el ficherono
existe,se crea.
 r+: lecturay escritura.El ficherodebe existir.
 w+: lecturay escritura,se crea unficheronuevoose sobreescribesi yaexiste.
 a+: añadir,lecturayescritura,el cursor se situaal final del fichero.Si el ficheronoexiste,
se crea.
 t: tipotexto,si no se especifica"t"ni "b", se asume por defectoque es"t"
 b: tipobinario.
fwrite:Sirve paraescribirundatoen el archivo.
fread:Lee datosdel fichero.
fprintf:Tiene lamismafunciónque printf perodentrode unfichero.
fscanf:Lee datosde unficheroal igual que fread.
Función fseek:
17
Esta funciónsirve parasituarel cursor del ficheroparaleero escribirenel lugardeseado.
El parámetroorigenpuede tenertresposiblesvalores:
SEEK_SET el desplazamientose cuentadesde el principiodel fichero.El primerbyte del fichero
tiene undesplazamientocero.
SEEK_CUR el desplazamientose cuentadesde laposiciónactual del cursor.
SEEK_END el desplazamientose cuentadesdeel final del fichero.
Función ftell:
Sintaxis:
longintftell(FILE*fichero);
La funciónftellsirve paraaveriguarlaposiciónactual del cursorde lectura/excriturade unfichero.
El valorde retornoserá esaposición,o -1 si hay algúnerror.
El parámetrode entradaes unpunteroa una estructura FILE del ficherodel que queremosleerla
posicióndel cursorde lectura/escritura.
Estructuras de control
If,else:
La instrucciónif …else permite controlarqué procesostienenlugar,típicamenteenfuncióndel
valorde unao varias variables,de unvalorde cálculoobooleano,ode las decisionesdel usuario.
La sintaxisaempleares:
if (condición) {
instrucciones
} else {
18
instrucciones
}
Switch:
La sentenciaswitchevalúalaexpresiónydependiendodel valorde laexpresión,asíse llevaráa
cabo un "caso" u otro.La sintanxisde SWITCHeslasiguiente:
switch(<variable>)
{
case <expresión_constante>: [<sentencias>][break;]
. . .
[default: [<sentencias>]]
}
switch(expresión){
case 1:
sentenciasaejecutarse encasode que expresiónvalga1;
break;
El númerode casos depende delnúmerode opciones.
19
While:
La condiciónescualquierexpresiónsimpleque al evaluarse devuelve el valorverdaderoofalso.El
bucle se repite mientrasla condiciónseaverdadera.Cuandoesfalsa,el programapasaa la
instrucciónsiguiente,despuésdel cuerpode laestructura.
La sintaxisde while es:
While (condición){
Sentencias;
}
Do while:
Los ciclosdo-whilesonunaestructurade control cíclica, loscualesnospermitenejecutarunao
variaslíneasde códigode formarepetitivasinnecesidadde tenerunvalorinicial e inclusoaveces
sinsiquieraconocercuándose va a dar el valor final,hastaaquíson similaresaloscicloswhile,sin
embargoel ciclodo-while nospermite añadirciertaventajaadicional yestaconsiste que nosdala
posibilidadde ejecutarprimeroel bloque de instruccionesantesde evaluarlacondiciónnecesaria.
La sintaxisde dowhile es:
do
{
........Bloque de Instrucciones............
}
while(condiciónde finalización);
20
for:
Es una estructurade control en programaciónenla que se puede indicarde antemanoel número
mínimode iteraciones que lainstrucciónrealizará.1Estádisponible encasi todoslos lenguajesde
programaciónimperativos.
For (i=0,i<10,i++ )
{
Sentencias;
}
Primerose inicializalavariable,luegose pone lacondiciónyal final el incrementoodecremento
dependiendodelproblema.
Funciones
Las funciones sonunconjuntode instruccionesque realizanunatareaespecífica.Engeneral
tomanciertosvaloresde entrada,llamadosparámetrosyproporcionanunvalorde salidaovalor
de retorno.
a) Aquellascuyotipode retornoes void(nulo),equiparablesaloque denominamosmódulo
genéricotipoprocedimiento.
21
b) Aquellascuyotipode retornoes un tipode dato (comoint,double ocualquierotro),
equiparablesaloque denominamosmódulogenéricotipofunción.
Para llamaruna funciónsolose escribe el nombre:
Ejercicios en clase
Este ejercicioconsistíaeningresarel sueldoosalariode unapersonaysi eramenorde mil se
aumentabaun15 por cientoy si era mayor se le aumentaun12 porcientodel salario.
22
Este programa consistíaen informaral estudiante segúnsupromedioysemestre,enque carreras
fue aceptado.
23
Este programa consistíaen venderproductosde diferentecategoríayconforme salgael total se le
aplicaráun descuento.
A cada productose le asignóunprecioy conforme el comprarase aumentabael costoa pagar en
la factura.
24
Este programa se basa a loque esbase de datos,crea un archivodonde se guardandatos de varias
personasyse muestranenunalista.
25
Almacenalosdatosde 2 atletasenun fichero,losguardaen unfichero,luegoloslee ylosvuelve a
mostrar.
26
Consiste eneliminarunempleadodependiendodelcódigo.
La lógicade este programaconsiste encrear2 ficheros,leemoslainformación,si esdiferente al
códigoque ingresamos,se guardaenun nuevofichero,luegoeste se renombraconel nombre del
que posee lainformaciónyse borra el original.
27
28
Esta parte del programaconsiste enmodificardatosde unregistroalmacenadoenel fichero.
29
Primerosolicitamosel códigodel registroque se deseaeliminar,si esdiferente loescribimosenun
nuevofichero,ysi esigual solicitamosel datoque deseamodificarse guardaen laestructuray lo
almacenamosenel fichero, se renombraconel nombre del archivooriginal yeste se borra.

Manual c

  • 1.
    1 Facultad de ciencia,tecnología y ambiente Ingeniería en sistemas CRISTHEL CENTENO Profesor:ElsnerGonzáles Manual de Laboratorio de prog 1
  • 2.
    Contenido Lenguaje C++............................................................................................................................. 1 Elementos.............................................................................................................................1 La función main() ............................................................................................................... 1 Comentarios...................................................................................................................... 1 Tipos de datos básicos en C++............................................................................................. 1 Tipo de datos básicos......................................................................................................... 1 Caracteres válidos.............................................................................................................. 1 Librerías de C++ ................................................................................................................. 2 Palabras reservadas ........................................................................................................... 5 Cout y cin.......................................................................................................................... 5 Sizeof ................................................................................................................................ 5 Arreglos............................................................................................................................. 7 Arreglo bidimensional ........................................................................................................ 7 Estructuras........................................................................................................................ 7 Arreglos de estructuras ...................................................................................................... 8 Lenguaje C...............................................................................................................................12 Elementos............................................................................................................................12 Comentarios.....................................................................................................................12 Identificadores..................................................................................................................12 Constantes .......................................................................................................................12 Sentencias........................................................................................................................13 Palabras reservadas ..........................................................................................................13 Printf y scanf.....................................................................................................................13 Precisión...........................................................................................................................14 Especificadores de conversión ...........................................................................................15 Otras funciones para leer y escribir. ...................................................................................15 Ficheros............................................................................................................................16 Estructuras de control.......................................................................................................17 Funciones.........................................................................................................................20 Ejerciciosen clase .............................................................................................................21 Tabla 2 ASCII............................................................................................................................. 8
  • 3.
    Ilustración 1 Laboratorio_1........................................................................................................2 Ilustración 2 sizeof_C++............................................................................................................. 5 Ilustración 3 Tipos de datos........................................................................................................ 5 Ilustración 4 Laboratorio_3........................................................................................................ 6 Ilustración 5 Arreglo.................................................................................................................. 6 Ilustración 6 cadena de carácter................................................................................................. 6 Ilustración 7 Estructura.............................................................................................................. 7 Ilustración 8 Declaración de arreglos de estructuras.................................................................... 8 Ilustración 9Guardar datosen arreglos de estructuras................................................................. 8
  • 4.
    1 Lenguaje C++ C++ esunlenguaje de programación diseñadoamediadosde losaños1980 por Bjarne Stroustrup. La intenciónde sucreaciónfue el extenderal lenguaje de programación Cmecanismosque permitenlamanipulaciónde objetos.Enese sentido,desde el puntode vistade los lenguajes orientadosaobjetos,el C++es unlenguaje híbrido. Elementos La función main() Una funciónC++ es un subprogramaque devuelve unvalor,unconjuntode valoresorealizauna tarea específica. Comentarios Un comentarioescualquierinformaciónque se escribe el enprogramaparaproporcionar informaciónde cualquiertipo. Tipos de datos básicos en C++ El tipode dato determinalanaturalezadel valorque puedetomarunavariable.Untipode dato define undominiode valoresylasoperacionesque se puedenrealizarconéstosvalores.C++ dispone de unoscuantostiposde datospredefinidos(simples) ypermiteal programadorcrear otros tiposde datos. Tipo de datos básicos Int (Númerosenteros) Tamañoenbytes:2bytes(16 bits) Dominio:sontodoslosnúmerosenteros entre losvalores -32.768 y 32.767 Float(Númerosreales)Tamañoenbytes:4 bytesDominio:sontodoslosnúmerosrealesque contienenunacomadecimal comprendidosentre losvalores:3,4× 10-38 y 3,4 × 1038 Double (Númerosrealesmásgrandesque float) Tamañoenbytes:8bytesDominio:sontodoslos números realesque contienenunacomadecimal comprendidosentrelosvalores:1,7 × 10-308 y 1,7 × 10308 Bool (Valoreslógicos)Tamañoenbytes:1 byte Dominio:dosúnicosvalores:{ true,false } Char (Caracteresycualquiercantidadde 8 bits) Tamañoen bytes:1 byte Dominio:dígitos,letras mayúsculas,letrasminúsculasysignosde puntuación. Void(Nada.Sirve paraindicarunafunciónque nodevuelve valor) Caracteres válidos / ! % ^ & * () - + {} [] ; : <> ¿ . >, < ,>=, <=, ==, != 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 A,B, C, D, E, F, G, H, I, J, K, L, M, N, O,P, K, R, S, T, U, V, W, X,Y, Z a, b, c, d, e,f,g, h, i,j, k,l, m,n, o ,p,q,r, s, s,t, u, v, w,x,y, z.
  • 5.
    2 Librerías de C++ Juntoconloscompiladoresde Cy C++, se incluyenciertosarchivosllamadosbibliotecasmas comúnmente librerías.Lasbibliotecascontienenel códigoobjetode muchosprogramasque permitenhacercosascomunes,comoleerel teclado,escribirenlapantalla,manejarnúmeros, realizarfuncionesmatemáticas,etc. Las bibliotecasestánclasificadasporel tipode trabajosque hacen,haybibliotecasde entraday salida,matemáticas,de manejode memoria,de manejode textosycomoimaginarásexisten muchísimas libreríasdisponiblesytodasconuna funciónespecífica. ¿Qué son exactamente laslibrerías? En C++, se conoce como librerías(obibliotecas) aciertotipode archivosque podemosimportaro incluirennuestroprograma.Estosarchivoscontienenlasespecificacionesde diferentes funcionalidadesyaconstruidasyutilizablesque podremosagregaranuestroprograma,como por ejemploleerdel tecladoomostraralgopor pantallaentre muchasotrasmás. Al poderincluirestaslibreríascondefinicionesde diferentesfuncionalidadespodremos ahorrarnosgran cantidadde cosas,imaginemosporejemploque cadavezque necesitemosleer por teclado,debamosentoncescrearunafunciónque lohaga (algorealmente complejo),al poder contar con laslibreríasenC++, podremoshacerusode una gran variedadde funcionesque nos facilitaránlaviday aumentaránel modularidadde nuestroscódigos. Las libreríasnoson únicamente archivosexternoscreadosporotros,tambiénesposible crear nuestraspropiaslibreríasyutilizarlasennuestrosprogramas.Laslibreríaspuedentenervarias extensionesdiferentes,lasmáscomunesson:.lib,.bpl,.a,.dll,.hyalgunasmásya no tan comunes. En conclusión:Laslibrearíassonarchivos(nosiempre externos) que nospermitenllevara cabo diferentestareassinnecesidadde preocuparnosporcómose hacensinosimplementeentender cómo usarlas.Las librearíasenC++ permitenhacernuestrosprogramasmásmodularesy reutilizables,facilitandoademáscrearprogramascon funcionalidadesbastante complejasenunas pocas líneasde código. SintaxisparadeclararLibreríasenC++ La declaraciónde librerías,tantoenCcomo enC++, se debe haceral principiode todonuestro código,antesde la declaraciónde cualquierfunciónolíneade código, debemosindicarleal compiladorque libreríasusar,parael saberque términosestarancorrectosenla escriturade nuestrocódigoycuálesno. La sintaxiseslasiguiente: #include<nombre de lalibrería>o alternativamente #include "nombre de lalibrería".Cualquierade las2 formas esválidaenC++ (no estoysegurosi enC sea válido),tenencuentaque siempreel nombre de lalibreríadebe irentre " y " o entre < y>. En tu códigopuedesdeclarartodaslaslibreríasque quierasaunque enrealidad no tienensentidodeclararunalibreríaque novasa usar entu programa,sinembargono existe límite para esto. LibreríasEstandar de C++ (StandarTemplate Libraryo STL) A continuación,pondré algunasde laslibreríasde usomáscomún de C++ y que formanparte de laslibreríasestándarde este lenguaje.
  • 6.
    3 fstream: Flujoshacia/desdeficheros.Permite lamanipulaciónde archivosdesdeelprogramar,tantoleer como escribirenellos. iosfwd: Contiene declaracionesadelantadasde todaslasplantillasde flujosysustypedefsestándar.Por ejemplo, ostream. iostream: Parte del a STL que contiene losalgoritmosestándar,esquizálamásusadae importante (aunque no indispensable). La bibliotecalist: Parte de laSTL relativaacontenedorestipolist;listasdoblementeenlazadas math: Contiene losprototiposde lasfuncionesyotrasdefinicionesparael usoy manipulaciónde funcionesmatemáticas. memory: Utilidadesrelativasalagestiónde memoria,incluyendoasignadoresypunterosinteligentes (auto_ptr). "auto_ptr" esuna clase que conformalalibreríamemoryy permite unfácil manejode punterosy su destrucciónautomaticamente. Bibliotecanew: Manejode memoriadinámica numeric: Parte de lalibreríanuméricade la STL relativaaoperacionesnuméricas. ostream: Algoritmosestándarparalosflujosde salida. queue: Parte de laSTL relativaacontenedorestipoqueue (colasde objetos). Libreríastdio: Contiene losprototiposde lasfunciones,macros,ytipospara manipulardatosde entradaysalida. Libreríastdlib: Contiene losprototiposde lasfunciones,macros,ytipospara utilidadesde usogeneral. string:
  • 7.
    4 Parte de laSTLrelativaacontenedorestipostring;unageneralizaciónde lascadenas alfanuméricasparaalbergarcadenasde objetos.Muyútil parael fácil uso de lascadenasde caracteres,pueseliminamuchasdelasdificultadesque generanloschar typeinfo: Mecanismode identificaciónde tiposentiempode ejecución vector: Parte de laSTL relativaaloscontenedorestipovector;unageneralizaciónde las matrices unidimensionalesC/C++ forward_list Esta libreríaesútil para implementarcongran facilidadlistasenlazadassimples. list Permite implementarlistasdoblemente enlzadas(listasenlazadasdobles) facilmente. iterator Proporcionaunconjuntode clasespara iterarelementos. regex Proporcionafácil accesoal uso de expresionesregularesparalacomparaciónde patrones. thread Útil para trabajarprogramaciónmultihilosycrearmúltipleshilosennuestraaplicación. Nota:Para más informaciónsobre laslibreríasestandarde C++ y STL puedes ingresaraquí ¿Cómodeclararuna libreríaenC++? Veamosa continuacióncomose haría la declaraciónde unascuantaslibreríasconocidas,recuerda que se puedendeclarartodaslaslibreríasnecesariasysiempre debehacerse al comienzodel códigofuente.
  • 8.
    5 Palabras reservadas Cout ycin Se usan para la entraday salidade datosen lenguaje c++. Sizeof Proporcionalacantidadde almacenamiento,enbytes,necesariaparaalmacenarunobjetodel tipodel operando. Ilustración 2 sizeof_C++
  • 9.
    6 Ilustración 3 Tiposde datos Ilustración 4 Laboratorio_3 Puedenmodificarse losrangode valoresagregandolassiguientespalabras: Short (Corto) Largo (Largo) Signe (Consigno) Unsigne (Sinsigno)
  • 10.
    7 Arreglos Son tiposde datoscomplejos,abarcanunconjuntode variablesdel mismotipo Para declararun arregloprimerose escribe el tipode dato,luegoel nombre,luegoel tamañoyse le asignaun valor. Ilustración 5 Arreglo Al llamarun arreglosolose escribe el nombre,noes necesarioel tamaño. Ilustración 6 cadena de carácter Arreglo bidimensional Es un arreglocon 2 dimensiones,enmemoriase guardancomosi fueranunamatriz Para declararun arreglose escribe el tipode dato,el nombre del arreglo,el númerode filasy el númerode columnas. Para llamara un arreglose escribe el nombre yla ubicaciónde lafilay lacolumna Estructuras Las estructurasnos permitenagruparvariosdatos,que mantenganalgúntipode relación,aunque seande distintotipo,permitiendomanipularlostodosjuntos,usandounmismoidentificador,o cada uno por separado. Cada objetode una estructurase denominaamenudocampoo elementos. Para declararuna estructurase debe de escribirlapalabrastruct luegoel nombre yentre llavesse declaranlasvariables.Debe declararsefueradel procesoprincipal.
  • 11.
    8 Ilustración 7 Estructura Tambiénpuedendeclaraseestructurasdetipoestructura“empleado”escribiendoel nombre de la estructuraantesdel puntoy coma. Arreglos de estructuras Una vez que unaestructurase convierte enuntipode datoen el menúprincipal se declaraun arreglode estructurasque va a guardar las mismasvariablesdependiendodeltamañodel arreglo. Para declararun arreglode estructurase debe de escribirel tipode estructura,el nombre yentre corchetes[] el tamañodel arreglo.
  • 12.
    9 Ilustración 8 Declaraciónde arreglos de estructuras Comopodemosverfames unaestructuradel tipostruct familiaryse le asignoun tamañode 3 lo que significaque puede guardartodosestosdatospara3 personasdiferentesrecordandoque se guarda desde el arreglo0 hastael 2.
  • 13.
    10 Ilustración 9Guardar datosen arreglos de estructuras Para guardar un datoprimerollamamosala estructurafam que esde tipofamiliar,dentrode la familiarllamamosalaestructuradatosque es de tipopersonal yenesta estructuraguardamosel dato enla variable nombre.
  • 14.
    11 Tabla ASCII Tabla 2ASCII ASCIIHex Símbolo 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 A B C D E F NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI ASCII Hex símbolo 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US ASCIIHex Símbolo 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F (space) ! " # $ % & ' ( ) * + , - . / ASCII Hex Símbolo 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 0 1 2 3 4 5 6 7 8 9 : ; < = > ? ASCIIHex Símbolo 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F @ A B C D E F G H I J K L M N O ASCIIHex Símbolo 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F P Q R S T U V W X Y Z [ ] ^ _ ASCIIHex Símbolo 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F ` a b c d e f g h i j k l m n o ASCII Hex Símbolo 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F p q r s t u v w x y z { | } ~ •
  • 15.
    12 Lenguaje C Programa:La descripcióndelos elementos,ladescripciónde accionesydescripciónde datos. Dato: Es un conjuntode información. C es un lenguaje de programación originalmente desarrollado por Dennis M. Ritchie entre 1969 y 1972 en los Laboratorios Bell,2como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Elementos Comentarios Sirvencomoinformaciónal programador. Para que un textoseacomentariodebe estarentre lossímbolos/*(marcael comienzo) y*/ (marca el final de comentario). Identificadores Se usan para referenciarlasvariables,lasfunciones,lasetiquetasyotrosobjetosdefinidosporel usuario. El primercarácter debe serunaletrao un símbolosubrayadoy loscaracteressiguientespueden serletras,números osímbolosde subrayado.Las minúsculasylasmayúsculasse tratancomo distintas. Un identificadornopuede serigual auna palabraclave de C y no debe tenerel mismonombre que una funciónyaescritao que se encuentre enlabibliotecade C. Constantes Al contrarioque las variables,lasconstantesmantienensuvaloralo largode todoel programa. Para indicaral compiladorque se tratade unaconstante,usaremosconst.
  • 16.
    13 Ilustración 1 Laboratorio_1 Sentencias Sonlasinstrucciones,cadasentenciafinalizaconunpuntoy coma. Palabras reservadas Printf y scanf Entada y salidade datosenlenguaje c.
  • 17.
    14 Precisión Salida t espara tabulación. %.4dindicaunenterocon4 cifras. n esun saltode línea. Salida %.3f indicaque el decimal vaa tener3 cifrasdespuésdel punto.
  • 18.
    15 Salida t tabulación %.5s vaa imprimirse 5caracteresen pantalla. Especificadores de conversión d, i= para enteros. f,g, e, a= para decimales. s= cadena. c= caracter. Otras funciones para leer y escribir. Puts:Sirve paraimprimirenpantallaunacadenade caracteres. Salida Putchar: Imprime uncaracteren lapantalla. Salida gets:Lee una cadenade caracteres. Salida
  • 19.
    16 Getchar: lee uncaracter. Salida Ficheros Sedeclarande la siguiente manera. Con lapalabra reservadaFILEse escribe un asteriscoyel nombre del archivo.  r: sólolectura.El ficherodebe existir.  w: se abre para escritura,se crea unficheronuevoose sobreescribe si yaexiste.  a: añadir,se abre para escritura,el cursor se situaal final del fichero.Si el ficherono existe,se crea.  r+: lecturay escritura.El ficherodebe existir.  w+: lecturay escritura,se crea unficheronuevoose sobreescribesi yaexiste.  a+: añadir,lecturayescritura,el cursor se situaal final del fichero.Si el ficheronoexiste, se crea.  t: tipotexto,si no se especifica"t"ni "b", se asume por defectoque es"t"  b: tipobinario. fwrite:Sirve paraescribirundatoen el archivo. fread:Lee datosdel fichero. fprintf:Tiene lamismafunciónque printf perodentrode unfichero. fscanf:Lee datosde unficheroal igual que fread. Función fseek:
  • 20.
    17 Esta funciónsirve parasituarelcursor del ficheroparaleero escribirenel lugardeseado. El parámetroorigenpuede tenertresposiblesvalores: SEEK_SET el desplazamientose cuentadesde el principiodel fichero.El primerbyte del fichero tiene undesplazamientocero. SEEK_CUR el desplazamientose cuentadesde laposiciónactual del cursor. SEEK_END el desplazamientose cuentadesdeel final del fichero. Función ftell: Sintaxis: longintftell(FILE*fichero); La funciónftellsirve paraaveriguarlaposiciónactual del cursorde lectura/excriturade unfichero. El valorde retornoserá esaposición,o -1 si hay algúnerror. El parámetrode entradaes unpunteroa una estructura FILE del ficherodel que queremosleerla posicióndel cursorde lectura/escritura. Estructuras de control If,else: La instrucciónif …else permite controlarqué procesostienenlugar,típicamenteenfuncióndel valorde unao varias variables,de unvalorde cálculoobooleano,ode las decisionesdel usuario. La sintaxisaempleares: if (condición) { instrucciones } else {
  • 21.
    18 instrucciones } Switch: La sentenciaswitchevalúalaexpresiónydependiendodel valordelaexpresión,asíse llevaráa cabo un "caso" u otro.La sintanxisde SWITCHeslasiguiente: switch(<variable>) { case <expresión_constante>: [<sentencias>][break;] . . . [default: [<sentencias>]] } switch(expresión){ case 1: sentenciasaejecutarse encasode que expresiónvalga1; break; El númerode casos depende delnúmerode opciones.
  • 22.
    19 While: La condiciónescualquierexpresiónsimpleque alevaluarse devuelve el valorverdaderoofalso.El bucle se repite mientrasla condiciónseaverdadera.Cuandoesfalsa,el programapasaa la instrucciónsiguiente,despuésdel cuerpode laestructura. La sintaxisde while es: While (condición){ Sentencias; } Do while: Los ciclosdo-whilesonunaestructurade control cíclica, loscualesnospermitenejecutarunao variaslíneasde códigode formarepetitivasinnecesidadde tenerunvalorinicial e inclusoaveces sinsiquieraconocercuándose va a dar el valor final,hastaaquíson similaresaloscicloswhile,sin embargoel ciclodo-while nospermite añadirciertaventajaadicional yestaconsiste que nosdala posibilidadde ejecutarprimeroel bloque de instruccionesantesde evaluarlacondiciónnecesaria. La sintaxisde dowhile es: do { ........Bloque de Instrucciones............ } while(condiciónde finalización);
  • 23.
    20 for: Es una estructuradecontrol en programaciónenla que se puede indicarde antemanoel número mínimode iteraciones que lainstrucciónrealizará.1Estádisponible encasi todoslos lenguajesde programaciónimperativos. For (i=0,i<10,i++ ) { Sentencias; } Primerose inicializalavariable,luegose pone lacondiciónyal final el incrementoodecremento dependiendodelproblema. Funciones Las funciones sonunconjuntode instruccionesque realizanunatareaespecífica.Engeneral tomanciertosvaloresde entrada,llamadosparámetrosyproporcionanunvalorde salidaovalor de retorno. a) Aquellascuyotipode retornoes void(nulo),equiparablesaloque denominamosmódulo genéricotipoprocedimiento.
  • 24.
    21 b) Aquellascuyotipode retornoesun tipode dato (comoint,double ocualquierotro), equiparablesaloque denominamosmódulogenéricotipofunción. Para llamaruna funciónsolose escribe el nombre: Ejercicios en clase Este ejercicioconsistíaeningresarel sueldoosalariode unapersonaysi eramenorde mil se aumentabaun15 por cientoy si era mayor se le aumentaun12 porcientodel salario.
  • 25.
    22 Este programa consistíaeninformaral estudiante segúnsupromedioysemestre,enque carreras fue aceptado.
  • 26.
    23 Este programa consistíaenvenderproductosde diferentecategoríayconforme salgael total se le aplicaráun descuento. A cada productose le asignóunprecioy conforme el comprarase aumentabael costoa pagar en la factura.
  • 27.
    24 Este programa sebasa a loque esbase de datos,crea un archivodonde se guardandatos de varias personasyse muestranenunalista.
  • 28.
    25 Almacenalosdatosde 2 atletasenunfichero,losguardaen unfichero,luegoloslee ylosvuelve a mostrar.
  • 29.
    26 Consiste eneliminarunempleadodependiendodelcódigo. La lógicadeeste programaconsiste encrear2 ficheros,leemoslainformación,si esdiferente al códigoque ingresamos,se guardaenun nuevofichero,luegoeste se renombraconel nombre del que posee lainformaciónyse borra el original.
  • 30.
  • 31.
    28 Esta parte delprogramaconsiste enmodificardatosde unregistroalmacenadoenel fichero.
  • 32.
    29 Primerosolicitamosel códigodel registroquese deseaeliminar,si esdiferente loescribimosenun nuevofichero,ysi esigual solicitamosel datoque deseamodificarse guardaen laestructuray lo almacenamosenel fichero, se renombraconel nombre del archivooriginal yeste se borra.