Académique Documents
Professionnel Documents
Culture Documents
industrial y de servicios N 4
1
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
COMPETENCIAS:
1. Soluciona Problemas.
2. Desarrolla diagramas de flujo de algoritmos.
3. Elabora Pseudocdigo de los diagramas de flujo.
4. Desarrolla el cdigo en un lenguaje de programacin estructurado.
2
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
BIBLIOGRAFA:
JOYANES, Aguilar Luis. Programacin en C++ algoritmos, estructuras de datos y objetos. McGraw Hill. Espaa. 2003
Deitel, Harvey M, Deitel. Como programar en C++. Pearson. Espaa, 2009.
PERRY, Greg. Aprendiendo programacin orientada a objetos con C++ en 21 das. Prentice Hall. 1995.
BORES, Rosario, Romn Rangel. Computacin, metodologa, lgica computacional y programacin. Serie Schaum,
McGraw Hill. Mxico, 1995.
FORSYTHE, I. Alexander / Thomas Kennan A. / Elliot Organick I. Lenguajes de diagramas de flujo. Limusa. Mxico, 1989.
MANNINO, M. V.. Administracin de bases de datos diseo y desarrollo de aplicaciones. McGraw Hill, 2007.
CUADRA, D., Castro, E., Iglesias, A. M., Martnez, P., Calle, F. J., De Pablo, C., y otros. Desarrollo de Bases de Datos.
Alfaomega Ra-Ma. Espaa, 2008
HERNNDEZ Muoz, Pedro. Visual Fox Pro 5. Desarrollo de aplicaciones. Osborne-McGraw Hill. Espaa, 1998.
IGLESIAS, Rubn. Visual Fox Pro 5. Fundamentos y tcnicas de programacin. Rama Computec. Madrid, 1997.
MIKE, H. SQL Server 2008. Grupo Anaya Comercial. Mxico, 2009.
HELM, S. Programacin de Base de Datos Con MySQL y PHP. Alfaomega Marcombo. Mxico, 2010.
KENDALL y Kendall. Anlisis y diseo de sistemas. Prentice Hall. Mxico, 1997.
MARTN, James. Objets-oriented Analysis & Design. Prentice Hall. USA, 1993.
PRESSMAN, Roger S. Ingeniera del Software. Un enfoque prctico. McGraw Hill. Mxico, 2005.
http://www.elrincondelc.com/cursoc/cursoc.html
http://c.conclase.net/curso/index.php
3
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
4
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Nota importante:
Cada trabajo especifico debes subirlo en forma individual a plataforma, solo un archivo por actividad, sin exceder 2 Mb el
tamao mximo de cada archivo, con el nombre especficamente asignado y el texto debe contener: Portada (misma que
se incluye en la primera parte, en Contenido), que incluya tus datos personales (Escuela, especialidad, logo, nombre del
mdulo, nombre del alumno, nmero de lista, grupo, No y nombre de la actividad, nombre del facilitador, lugar y fecha),
Desarrollo de la actividad y por limo al final, debes incluir un prrafo de al menos 5 lineas con: Conclusiones
Personales (el contenido ntegro del archivo nunca debe exceder un mximo de 6 cuartillas).
5
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Se informa que algunas de las competencias evaluadas en este mdulo son: responsabilidad y honestidad, por lo que
deteccin de copia o plagio de algn archivo de plataforma y/o prctica (parcial o ntegro) por parte de cualquier
alumno ser motivo de reprobacin del submdulo en cuestin.
Los alumnos realizan cuestionamientos a los equipos expositores a fin de resolver dudas, as mismo el facilitador
apoya complementando cada explicacin expuesta por los equipos, al final deber guardarse y subirse el documento
electrnico correspondiente de esta actividad de equipo, adems debe cuidar los lineamientos de tamao de archivo
y fecha de cierre, previamente descritos para efectos de evaluacin.
Nota importante: Solo cada responsable de equipo debe subir la presentacin a la plataforma acadmica, en
representacin del mismo, por ello, deber contener la lista con los nombres de todos los participantes ordenados por
apellidos en orden alfabtico en su portada.
6
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
PROCESOS COMPUTACIONALES
CUANTIITATIVOS:
ALGORITMO: CALCULO DEL PROMEDIO DE 3 NUMEROS:
1. Inicio.
2. Ingresar 1 nmero.
3. Ingresar 2 nmero.
4. Ingresar 3 nmero.
5. Sumar los 3 nmeros.
6. Dividir entre 3 la suma de los nmeros.
7. Devolver cociente obtenido.
8. Fin.
PSEUDOCDIGO:
1. Inicio.
2. Leer 1 nmero: N1;
3. Leer 2 nmero: N2;
4. Leer 3 nmero: N3;
5. SUM=N1+N2+N3;
6. PROM=SUM/3
7. Escribir Promedio de 3 nmeros: ; PROM
8. Fin
As mismo debern crear una presentacin electrnica en Power Point que incluya en la 1 diapositiva: portada (con
logo de la escuela, especialidad, grupo, nombre de la actividad, integrantes del equipo por num. de lista de c/u y el
tema abordado), el nmero de diapositivas depender del grado dificultad del problema planteado y debern
nombrar el archivo:(AGGNLXX.PPTX), ( M1= Mdulo1, GG= N Gpo 2 dgitos, NL: El nmero de lista del
representante del trio y XX: N actividad en 2 dgitos), una ltima diapositiva que debe incluir Comentarios de Equipo.
7
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Los alumnos realizan cuestionamientos a los equipos expositores a fin de resolver dudas, as mismo el facilitador
apoya complementando cada explicacin expuesta por los equipos, al final deber guardarse y subirse el documento
electrnico correspondiente de esta actividad de equipo, adems debe cuidar los lineamientos de tamao de archivo
y fecha de cierre, previamente descritos para efectos de evaluacin.
Nota importante: Solo cada responsable de equipo debe subir la presentacin a la plataforma acadmica, en
representacin del mismo, por ello, deber contener los nombres de todos los participantes ordenados por nmero de
lista en su portada.
NOTA IMPORTANTE: DATOS QUE DEBEN CONTAR TODOS LOS DOCUMENTOS DE PRCTICAS:
NOMBRE DE LA ESCUELA.
NOMBRE DEL ALUMNO, NL, GPO, ESPECIALIDAD.
NOMBRE Y NMERO DE LA PRCTICA.
NOMBRE DEL FACILITADOR.
CONCLUSIONES (Este apartado debe aparecer al final de tu prctica, que genere un documento del tipo *.DOC *.CDR,
es una descripcin o prrafo de 5 lneas donde describa que utilidad te gener haber realizado esos ejercicios).
acadmica para efectos de evaluacin (Cada uno de los 4 ejercicios de Algoritmo y Pseudocdigo iniciar en pgina nueva
sin incluir conclusiones).
1. CONVERSION DE PESOS A DLARES.
2. COMPRA DE UN ARTCULO: INGRESAR ARTCULO, Y COSTO UNITARIO DEL PRODUCTO, PROCESAR, IVA, TOTAL A
PAGAR, DEVOLVER: ARTICULO COMPRADO Y CALCULO DESGLOSADO: COSTO, IVA, y TOTAL A PAGAR.
3. CALCULO DE REA DE UN TRIANGULO RECTNGULO.
4. CALCULO DE LA SUPERFICIE DE UN CRCULO.
Para ello, debern crear una presentacin electrnica en Power Point que incluya en la 1 diapositiva: portada (con
logo de la escuela, especialidad, grupo, nombre de la actividad, integrantes del equipo por num. de lista de c/u y el
tema abordado), las siguientes 3 diapositivas la representacin del problema, utilizando las 3 tcnicas de
diagramacin mencionadas y nombrar el archivo:(AGG_NL.PPTX), ( A= Mdulo1, GG= N Gpo 2 dgitos, NL: El
nmero de lista del representante del equipo), una ltima diapositiva que debe incluir Comentarios de Equipo.
Los alumnos realizan cuestionamientos a los equipos expositores a fin de resolver dudas, as mismo el facilitador
apoya complementando cada explicacin expuesta por los equipos, al final deber guardarse y subirse el documento
electrnico correspondiente de esta actividad de equipo, adems debe cuidar los lineamientos de tamao de archivo
y fecha de cierre, previamente descritos para efectos de evaluacin.
Nota importante: Solo cada responsable de equipo debe subir la presentacin a la plataforma acadmica, en
representacin del mismo, por ello, deber contener la lista con los nombres de todos los participantes ordenados por
apellidos en orden alfabtico en su portada.
9
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
ELABORAR LA SIMBOLOGA PARA DIAGRAMAS DE FLUJO EN COREL DRAW CON BREVE DESCRIPCIN DE CADA
SMBOLO.
10
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Los alumnos elaboran el documento AGGNL106. DOC, en que describen cada uno de los elementos del entorno del
FreeDFD Mens, submens, Barra de herramientas y cada uno de sus elementos, adems hacen correlacin de smbolos
utilizados en la Diagramacin de flujos y las diferencias aplicadas por FreeDFD, incluir imagen del entorno del FreeDFD y
conclusiones personales al final del reporte.
1. Inicio. 1. Inicio.
2. Proporcionar Base del tringulo. 2. Leer BT. INICIO
3. Ingresar Altura del tringulo. 3. Leer AT.
()() ()()
4. SUP= 4. SUP= BT, AT
2 2
5. Desplegar Superf triangulo=, SUP 5. ESCRIBIRSuperf triangulo=, SUP
6. Fin 6. Fin SUP=(BT*AT)/2
DICCIONARIO DE DATOS:
SUPERFICIE TRIANGULO
SUP
BT: Base del tringulo rectngulo.
AT: Area del tringulo rectngulo.
SUP: Superficie del tringulo. FIN
11
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
PRCTICA N8:
Realizar los Diagramas de flujo con la herramienta FreeDFD de los ejercicios 2-4 propuestos en las figuras anteriores con
los nombres:
1. AGGNL108.DFD 4. AGGNL108A.PSC
2. AGGNL109.DFD 5. AGGNL109A.PSC
3. AGGNL110.DFD 6. AGGNL110A.PSC
Los alumnos realizan cuestionamientos a los equipos expositores a fin de resolver dudas, as mismo el facilitador
apoya complementando cada explicacin expuesta por los equipos, al final deber guardarse y subirse el documento
electrnico correspondiente de esta actividad de equipo, adems debe cuidar los lineamientos de tamao de archivo
y fecha de cierre, previamente descritos para efectos de evaluacin.
Nota importante: Solo cada responsable de equipo debe subir la presentacin a la plataforma acadmica, en
representacin del mismo, por ello, deber contener los nombres de todos los participantes ordenados por Apellido
en forma alfabtica en su portada.
12
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
PRCTICA N9:
Realizar los Diagramas de flujo con la herramienta FreeDFD de los 4 ejercicios de Algoritmos cuantitativos propuestos en
la prctica 3 con los nombres:
1. AGGNL111.DFD
2. AGGNL112.DFD
3. AGGNL113.DFD
4. AGGNL114.DFD
PRCTICA N10:
Realizar los Diagramas de flujo con la herramienta FreeDFD de los 4 ejercicios de Algoritmos cuantitativos propuestos en
la prctica 4 con los nombres:
1. AGGNL115.DFD
2. AGGNL116.DFD
3. AGGNL117.DFD
4. AGGNL118.DFD
PRCTICA N11:
Realizar los Diagramas en la herramienta FreeDFD los siguientes ejercicios propuestos en la la figura de abajo, con los
nombres:
1. AGGNL119.DFD
2. AGGNL120.DFD
3. AGGNL121.DFD
4. AGGNL122.DFD
crucigrama, por ltimo, no olvide anotar conclusiones personales al final de su documento a subir en plataforma
acadmica.
NOTA IMPORTANTE: Accesar a los crucigramas solo si se va a resolver estos, ya que el sistema deja registro de acceso y
solo ser vlido el primer intento, en caso contrario se anular quien registre ms de 1 intento y la calificacin ser cero.
ACT 5. ACTIVIDAD EN PLATAFORMA: QUIZ EN LINEA PRINCIPIOS DE LA PROGRAMACIN.
Actividad de plataforma virtual EDMODO, consistente en un cuestionario en lnea que tiene tiempo lmite para su
resolucin, (Sub01: 20 minutos y 100 puntos) las preguntas pueden ser de los tipos: Complemento, True/False
(Verdadero/Falso), Relacionar columnas y Opcin mltiple, para ello despus de contestar cada pregunta pulse el
smbolo > que aparece en la parte superior y continuar con la siguiente pregunta hasta finalizar
Especificaciones de los tipos y nombres de archivos a subir en servidor para efectos de evaluacin:
AGGNL122.PSC: PSEUDOCDIGO
AGGNL123.DFD: DIAGRAMA EN FreeDFD
14
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
II UNIDAD
LENGUAJE PROGRAMACIN PROGRAMACIN ESTRUCTURADA C++:
ESTRUCTURA DE UN PROGRAMA, TIPOS DE DATOS, LIBRERAS, FUNCIONES PREDEFINIDAS,
OPERACIONES DE ENTRADA Y SALIDA Y ESTRUCTURAS DE CONTROL.
Comentarios vertidos deben ser breves, claros y concretos, adems los alumnos pueden corregir conceptos inprecisos
manifestados por otros compaeros, as mismo deber evitarse confrontaciones personales y no utilizar lenguaje obsceno
ni ofensivo, manteniendo en todo momento una actitud de cordialidad respeto.
Los alumnos integrados por binas, investigan, elaboran y resuelven correctamente el siguiente cuestionario, a fin de
recuperar conocimientos previos, debiendo elaborar individualmente un documento electrnico de Word con el nombre
(AGG_NL.DOC), (donde A corresponde a Mdulo 1, GG= N Gpo en 2 dgitos, NL: N lista, a 2 digitos) y definiendo los
siguientes conceptos:
1. Describir Lenguaje C++.
2. Definir tipos de datos en C++.
3. Describir Archivos de Cabecera.
4. Explicar Funciones Predefinidas y mencionar 10 ms comunes.
5. Definir Funcin principal de un programa en C++.
6. Explicar como se realizan las operaciones de entrada y salida de datos en C++.
7. Describir Estructuras de Control y su utilidad en C++.
8. Que son Instrucciones Secuenciales.
9. Describir Estrcuturas de Control Selectivo.
10. Describir Estrcuturas de Control Repetitivo.
15
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Los alumnos resuelven individualmente el crucigrama propuesto en la liga especificada para esta actividad, misma
que no deber exceder de un tiempo no mayor de 15 min. correctamente, en cada palabra puede solicitar hasta un
mximo de 2 caracteres o pistas de la respuesta correcta para no ser penalizado, as mismo una vez resuelto el
crucigrama, no cerrar la pantalla con el resultado, ya que debes capturar la pantalla con la calificacin legible,
cuando se despliegue el resultado obtenido (pulse las teclas Alt+Impr pantalla), misma que es el registro o evidencia
de resolucin del mismo.
Para ello, debe elaborar individualmente un documento de Word con el nombre (AGGNLXX.DOC), en el que debes
pegar la imagen previamente capturada del crucigrama, as mismo liste y defina cada uno de los trminos correctos
del crucigrama, por ltimo, no olvide anotar conclusiones personales al final de su documento a subir en plataforma
acadmica.
Los alumnos integrados por equipos de 5, elaboran documento electrnico de Powerpoint, nombre (AGGNLXX.PPTX), (donde A
corresponde a Mdulo 1, GG= N Gpo en 2 dgitos, NL: N lista, a 2 digitos y XX: N actividad en 2 dgitos) , sobre conceptos
relevantes del entorno de Desarrollo de Borland C++ propuesto por el Facilitador, en que detallen los siguientes aspectos:
Barra de Men.
Pantalla de ejecucin o
corrida del programa.
Escritorio.
Nota importante :
Subir a plataforma, el archivo de la actividad, sin exceder 2 Mb el tamao del archivo, con el nombre asignado y
el Contenido, especfico, que debe apegarse a las instrucciones previamente descritas sin omitir Conclusiones de equipo.
16
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
CODIGO ASCII
17
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
PRCTICA N13:
ENTORNO DE BORLAND C++:
El Facilitador expone a los alumnos la instalacin del IDE de Borland C++, los elementos principales, mens, submnus y
forma de aplicacin de la herramienta de software, adems codificar y ejecutar correctamente los siguientes ejemplos de
programas en C++.
AGGNL124.CPP
AGGNL125.CPP
18
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
El docente eligir 3 de las investigaciones mejor documentadas, y solo las mejores podrn exponer el tema a sus compaeros, lo que
acreditar la participacin correspondiente, los alumnos pueden cuestionar a los equipos ponentes a fin de resolver dudas, as mismo
el facilitador apoya complementando cada una de exposiciones, los equipos debern guardar y subir el documento electrnico con el
nombre (AGG_NL.PPTX), previamente detallado, cuidando lineamientos de contenido, tamao de archivo, num. diapositivas y fecha
de cierre, previamente descritos para efectos de evaluacin.
La ltima diapositiva debe incluir Comentarios de Equipo, as tambin, los temas sern abordados solo uno por equipo y previa
asignacin del facilitador docente.
Nota importante: Solo el representante de equipo debe subir la presentacin a la plataforma acadmica, conteniendo los nombres de
integrantes organizados por orden alfabtico de Apellido en su portada.
PRCTICA 14:
MANEJO DE CONSTANTES Y VARIABLES: Codificar, depurar, verificar, ejecutar individual, los archivos correctos y subir al
servidor de red acadmica para efectos de evalucin los siguientes programas en C++:
AGGNL126.CPP
19
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL127.CPP
Aplicando los conceptos de constantes y variables de los ejercios anteriores: codificar (incluyendo los comentarios
correspondientes), depurar, verificar y ejecutar correctamente los siguientes programas en C++:
AGGNL128.CPP AGGNL129.CPP
20
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Los alumnos durante la sesin de exposiciones realizan cuestionamientos a los equipos ponentes a fin de resolver dudas, as mismo el
facilitador apoya complementando cada una de exposiciones, los equipos debern guardar y subir el documento electrnico con el
nombre (AGGNLXX.PPTX), previamente detallado, cuidando lineamientos de contenido, tamao de archivo, num. diapositivas y
fecha de cierre, previamente descritos para efectos de evaluacin.
La ltima diapositiva debe incluir Comentarios de Equipo, as tambin, los temas sern abordados solo uno por equipo y previa
asignacin del facilitador docente.
Nota importante: Solo el representante de equipo debe subir la presentacin a la plataforma acadmica, conteniendo los nombres de
integrantes organizados por nmero de lista en su portada.
PRCTICA 15:
OPERACIONES DE ENTRADA Y SALIDA DE DATOS: Codificar en C++, depurar, verificar, ejecutar, individualmente,
c/archivo correctamante y subir al servidor de red acadmica para efectos de evalucin los siguientes programas en C++:
AGGNL130.CPP
Programa de conversin de Grados Fahrenheit a Grados Centgrados y Grados Kelvin
PSEUDOCODIGO DICCIONARIO DE DATOS
1. Inicio. GF: Grados Farenheit
2. Leer Grados Fahrenheit a convertir: , GF GC: Grados Centgrados
3. GC=(GF-32)*0.556 GK: Grados Kelvin
4. GK=GC+273
5. Escribir GF, Fahrenheit= , GC Centgrados Flotantes: GF, GC, GK
6. Escribir GF, Fahrenheit= , GK Kelvin
7. Fin
21
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL131.CPP
2
Programa Clculo de cantidad de Block y costo total a pagar dependiendo de los Mt de muro requeridos.
PSEUDOCODIGO DICCIONARIO DE DATOS
1. Inicio. mt2: mts cuadrados muro.
2. Escribir PROGRAMA PARA EL CALCULO Y COSTO DE BLOCK PARA MUROS sb: superficie del block.
3. Escribir Dimensin del block 15x40x20 (grosor x alto x ancho en cm.) cu: costo unitario block.
4. Leer Mt2 de Muro a construir: mt2 b: nmero de blocks.
5. sb=0.4*0.2 Costobloc: costo total de
6. cu=10 los blocks.
7. b= mt2/SB
8. costobloc=b*cu
9. Escribir Blocks requeridos: , b
10. Escribir Costo total de los Blocks sin IVA: costobloc
11. Fin
Los alumnos integrados por binas, investigan, elaboran y resuelven correctamente el siguiente cuestionario, a fin de
recuperar conocimientos previos, debiendo elaborar individualmente un documento electrnico de Word con el nombre
(AGG_NL.DOC), (donde A corresponde a Mdulo 1, GG= N Gpo en 2 dgitos, NL: N lista, a 2 digitos) y subirla a esta
plataforma acadmica en internet y definiendo los siguientes conceptos:
1. Diferenciar Instruccin de comando en C++.
2. Explique diferencias entre un compilador y un intrprete.
3. Cite y defina secuencias de escape en C++.
4. Describir que es inicializar variables y su importancia.
5. Explicar que son las sentencias de asignacin.
6. Diferencias las directivas #include y #define.
7. Mencionar utilidad de math.h.
8. Diferenciar archivos *.C de los *.CPP.
9. Describir diferencias entre un error lgico y uno de regresin.
10. Explicar un error en tiempo de ejecucin.
Nota importante:
Aplica mismas indicaciones de los trabajos de plataforma especificados: archivo no exceder 2 Mb, nombre segn
especificaciones, y contener: Portada, que incluya tus datos personales (Escuela, especialidad, logo, nombre del mdulo,
nombre del alumno, nmero de lista, grupo, No y nombre de la actividad, nombre del facilitador, lugar y fecha),
Desarrollo: y al final, debes incluir sus: Conclusiones personales, recuerda que el contenido ntegro del archivo nunca
exceder el mximo de 6 cuartillas).
PRCTICA 16:
CODIFICAR FUNCIONES DE math.h: Codificar en C++, depurar, verificar, ejecutar, en forma individual, cada uno de los
archivos correctos y subir al servidor de red acadmica para efectos de evalucin los siguientes programas en C++:
22
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL132.CPP
AGGNL133.CPP
23
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL134.CPP
PRCTICA 17:
CODIFICAR FUNCIONES DE ctype.h: Codificar en C++, depurar, verificar, ejecutar, en forma individual, cada uno de los
archivos correctos y subir al servidor de red acadmica para efectos de evalucin los siguientes programas en C++:
AGGNL135.CPP
24
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL136.CPP
La programacin actual recomienda la tcnica de la programacin modular, es decir dividir el problema principal en
pequeos fragmentos o mdulos a fin de facilitar la solucin de problema planteado, los mdulos en C++ son
denominados funciones o clases, por ello los programas en C++ se escriben combinando funciones nuevas que los
programadores generan adems de las funciones predefinidas o preempacadas que son disponibles a partir de las
bibliotecas estndar de C++, que contienen un vasto conjunto de funciones que permiten realizar clculos matemticos
comunes, manipulacin de cadenas y caracteres, operaciones de entrada/salida de datos y comprobaciones de errores
entre otras de manera simplificada y muchas otras operaciones de gran utilidad, simplificando el trabajo de los
programadores.
25
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Sobre el uso de "cin", que es el nico canal de entrada predefinido, tenemos que aclarar cmo se usa, aunque a lo
mejor ya lo has adivinado.
Donde cada variable ir tomando el valor introducido mediante el teclado. Los espacios y los retornos de lnea actan
como separadores.
26
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
FUNCIN PRUEBA
int isalpha (int c) Letra mayscula o minscula.
int isdigit (int c) Dgito Decimal.
int isupper (int c) Letra mayscula (A-Z).
int islower (int c) Letra minuscule (a-z).
int iscntrl (int c) Carcter de control.
int isxdigit (int c) Dgito hexadecimal.
int isprint (int c) Carcter imprimible incluyendo espacio.
int isgraph (int c) Carcter imprimible excepto espacio.
int isspace (int c) Espacio, avance de pgina, nueva lnea, retorno de
carro, tabulacin, tabbulacin vertical.
int ispunct (int c) Carcter imprimible no espacio, dgito o letra.
int toupper (int c) Convierte a letras maysculas.
int tolower (int c) Convierte a letras minsculas.
Nota: la mayora de las funciones numricas se incluyen en los archivos math.h, y stdlib.h .
FUNCIN DESCRIPCIN
FUNCIN DESCRIPCIN
27
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
LOGARTMICAS Y EXPONENCIALES:
FUNCIN DESCRIPCIN
exp (x) , expl (x) Calcula exponencial de ex e es la base de logaritmos
naturales con valor de 2.718282, expl se declara como long double.
log (x) , logl (x) Calcula el Log natural de x ; logl (long double).
log10 (x) , log10l (x) Logaritmo decimal de x.
ALEATORIAS:
FUNCIN DESCRIPCIN
rand (void) Genera nmeros aleatorios variando de 0 a Rand_Max
Este ltimo se define en stdlib.h como 2E15-1.
rand (void) Esta macro inicializa el generador de nmeros aleatorios con
la semilla obtenida a partir de la funcin time, por lo que ]
requiere de archivo de cabecera time.h.
srand (semilla) Inicializa el generador de nmeros aleatorios, ya que este
fija el punto de inicio para la generacin de series aleatorias.
random (num) Genera un nmero aleatorio dentro de un rango especificado
(0 y el limite max. definido por num).
FECHA Y HORA:
Para habilitar estas funciones se requiere el archivo de cabecera time.h que define estructuras, macros y funciones para
la manipulacin de fecha y hora.
FUNCIN DESCRIPCIN
clock Devuelven la hora actual como el nmero de segundos
_strdate transcurridos desde la medianoche del 1 de Enero de 1970
_strtime (GMT).
clock (void) Determina el tiempo de procesador transcurrido desde el
inicio de la ejecucin del programa.
time (hora) Obtiene la hora actual.
localtime (hora) Convierte la fecha y hora en una estructura de tipo tm.
mktime (t) Convierte la hora en formato de calendario.
28
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
PRCTICA 18:
USO DE LA INSTRUCCIN GOTOXY DINAMICA: Codificar en C++, depurar, verificar, ejecutar, en forma individual, cada
uno de los archivos correctos y subir al servidor de red acadmica para efectos de evalucin los siguientes programas en
C++:
AGGNL137.CPP
Analizar el presente ejercicio ya que el facilitador solicitar explicacin del proceso, para ello se sugiere investigas sobre
el tema Ciclos en la programacin de C++.
29
HOJA DE CODIFICACIN
0 10 20 30 40 50 60 70 80
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
30
COLORES DE FONDO Y DE TEXTO
CONSTANTE VALOR SIGNIFICADO DE FONDO O DE TEXTO
BLACK 0 Negro Ambos
BLUE 1 Azul Ambos
GREEN 2 Verde Ambos
CYAN 3 Can Ambos
RED 4 Rojo Ambos
MAGENTA 5 Magenta Ambos
BROWN 6 Marrn Ambos
LIGHTGRAY 7 Gris Claro Ambos
DARKGRAY 8 Gris Oscuro Slo para texto
LIGHTBLUE 9 Azul Claro Slo para texto
LIGHTGREEN 10 Verde Claro Slo para texto
LIGHTCYAN 11 Can Claro Slo para texto
LIGHTRED 12 Rojo Claro Slo para texto
LIGHTMAGENTA 13 Magenta Claro Slo para texto
YELLOW 14 Amarillo Slo para texto
WHITE 15 Blanco Slo para texto
BLINK 128 Parpadeo Slo para texto
31
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
PRCTICA 19:
EJERCICIOS DE REFORZAMIENTO: Realizar Codificacin, (Diagramas en FreeDFDCodificar en C++ opcional), depuracin,
verificacin, ejecucin, de cada ejercicio individualmente correctamente y subir al servidor de red acadmica para
efectos de evalucin los siguientes programas en C++:
FUNCIONES MATEMTICAS
AGGNL138A.DFD
AGGNL138.CPP
AGGNL139A.DFD
AGGNL139.CPP
AGGNL140A.DFD
Tan (x) AGGNL140.CPP
AGGNL141A.DFD
Exp (x) AGGNL141.CPP
PRCTICA 20:
CALCULO DE AREAS Y VOLUMENES DE FIGURAS GEOMETRICAS: Realizar diagrama y codificacin correspondientes.
AGGNL142A.DFD
AGGNL142.CPP
A: Area
V: Volumen
: 3.141592
R: Radio
h: Altura del cilindro
AGGNL143A.DFD
AGGNL143.CPP
A: Area
V: Volumen
: 3.141592
R: Radio
h: Altura del cono
g: Generatriz
AGGNL144A.DFD
AGGNL144.CPP
A: Area
V: Volumen
: 3.141592
I: Arista
AGGNL145A.DFD
AGGNL145.CPP
A: Area
V: Volumen
: 3.141592
r: Radio
32
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Aquellas que definen y controlan el flujo de ejecucin de un programa o funcin, estas permiten combinar instrucciones
o sentencias individuales en una unidad lgica con procedimientos de entrada y salida.
Todos los ejemplos y ejercicios vistos hasta ahora se ejecutan en modo secuencial, instrucciones sucesivas, siendo til
solo en programas sencillos, sin embargo no siempre es recomendable este tipo de programacin para todos los casos,
ya que existe problemas que requieren se ejecuten ciertas sentencias solo en algunos casos, donde el flujo de ejecucin
se bifurca, para esto existen las estructuras de control las cuales se dividen en 3 grupos:
1. Secuenciales.
2. Selectivas.
3. Repetitivas.
ESTRUCTURAS DE CONTROL SECUENCIAL:
Definida como una secuencia finita de acciones hasta obtener un resultado coherente. Su ejecucin se realiza en el orden
en que se presentan las instrucciones, desde el inicio hasta el final del programa.
<sentencia_1>;
<sentencia_2>;
-----------
< sentencia_n>;
SI SI
OPC=1 Accin_A OPC=1 Accin_A
NO NO
Accin_B
33
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Sintaxis:
if (condicin lgica )
ACCION_A;
else
ACCION_B;
PRCTICA 21:
CONTROL SELECTIVO IF-THEN SIMPLE, DOBLE: Codificar en C++, depurar, verificar, ejecutar, en forma individual, cada
uno de los archivos correctos y subir al servidor de red acadmica para efectos de evalucin los siguientes programas:
AGGNL146.CPP
AGGNL147.CPP
34
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL148.CPP AGGNL149.CPP
PRCTICA 22:
CONTROL SELECTIVO IF-THEN MULTIPLE: Codificar en C++, depurar, verificar, ejecutar, en forma individual, cada uno de
los archivos correctos y subir al servidor de red acadmica para efectos de evalucin los siguientes programas en C++:
AGGNL150.CPP
35
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL151.CPP
36
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Sentencia de control selectivo de C++ utilizada para la eleccin de una opcin entre mltiples alternativas, siendo
especialmente til cuando la seleccin se basa en el valor de la variable de control o selector, esta se evala y compara
con cada etiqueta case, el selector debe ser un dato de tipo ordinal (int, char, bool pero no flota ni string) y cada
etiqueta debe ser diferente.
break : es instruccin que dentro del switch (seleccin mltiple) determina el final de cada case u alternativa.
default : Instruccin que dentro del switch determina las acciones a realizar cuando el valor introducido en la variable de
control es falso a cualquier de los valores reconocidos en case.
REGLAS DE USO:
case etiqueta(n) :
sentencia(s);
break;
default:
sentecia(s); // optativo
}
37
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
PRCTICA 23:
CONTROL SELECTIVO SWITCH-CASE: Codificar en C++, depurar, verificar, ejecutar, en forma individual, cada uno de los
archivos correctos y subir al servidor de red acadmica para efectos de evalucin los siguientes programas en C++:
AGGNL152.CPP
AGGNL153.CPP
38
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
INICIO
COD_ASCII
VALORES POSIBLES
X = COD_ASCII
NO
130 =
X= 130 SI SI X= 162 160 =
COD_ASCII=X
161 =
162 =
SI 163 =
X= 160 SI
164 =
X= 163
165 =
SI
SI
X= 161 SI
X= 164
X= 165
OPCIN NO
VALIDA !
FIN DEL
PROGRAMA
FIN
Sentencias
Existen 2 modalidades de establecer la sentecia for para establecer los bucles estas son por incremento y por
decremento, tambin conocidas como formato ascendente y formato descendente.
Ejemplo:
for (r=1; r<=80; r++)
for (r=1; r=max; r--)
PRCTICA 24:
CICLOS FOR: Codificar en C++, depurar, verificar, ejecutar, en forma individual, cada uno de los archivos correctos y subir
al servidor de red acadmica para efectos de evalucin los siguientes programas en C++:
AGGNL154.CPP
AGGNL155.CPP
AGGNL156.CPP
40
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Opcin1:
while (condicin)
Sentencia; Cuerpo del bucle
Verdadera
Condicin_Bucle sentencia(s) Opcin2:
while (condicin)
{
Falsa Sentencia1;
Sentencia2;
. Cuerpo del bucle
.
.
SentenciaN;
}
El cuerpo del bucle se repetir mintras la expresin lgica (condicin del bucle) sea verdadera, al ser falsa se sale del
bucle y se ejecuta la siguiente sentencia del programa.
Debes contestar cada pregunta y al final pulsar el botn: Enviar todo y terminar de la parte baja de la pgina para
que genere la calificacin de todas tus respuestas del cuestionario,
41
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Nota importante: si excedes el tiempo de resolucin o tienes alguna falla con tu navegador y no cierras la actividad
puede provocar que el resultado de tu calificacin se vea afectado, por lo que debes asegurarte no tener virus en tu
pc no abrir ms pginas y utilizar un navegador libre de problemas para este fin.
PRCTICA 25:
CICLOS WHILE y DO-WHILE: Codificar en C++, depurar, verificar, ejecutar, en forma individual, cada uno de los archivos
correctos y subir al servidor de red acadmica para efectos de evalucin los siguientes programas en C++:
AGGNL157.CPP
AGGNL158.CPP
PSEUDOCODIGO DIAGRAMA AGGNL158.DFD
1. INICIO.
2. ESCRIBIR TABLAS DE MULTIPLICAR 1 al 10, CICLO WHILE
3. OPC=S;
4. MIENTRAS (OPC_=S || OPC=s)
5. ESCRIBIR QUE TABLA DE MULTIPLICAR DESEAS ?:
6. LEER FAC1
7. FAC2=1
8. MIENTRAS FAC2<=10
9. PRODUCTO=FAC1*FAC2
10. ESCRIBIR FAC1, X, FAC2, =, PRODUCTO
11. FAC2=FAC2+1
12. MIENTRAS FAC2>10
13. ESCRIBIR CONTINUAR s/n ? :
14. LEER CONT
15. OPC=CONT
16. FIN MIENTRAS
17. FIN MIENTRAS
18. ESCRIBIR FIN DEL PROGRAMA
19. FIN.
42
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
III UNIDAD
ESTRUCTURAS DE DATOS COMPLEJAS:
ARRAYS, ESTRUCTURAS DE DATOS PUNTEROS Y MANEJO DE ARCHIVOS.
Comentarios vertidos deben ser breves, claros y concretos, adems los alumnos pueden corregir conceptos inprecisos
manifestados por otros compaeros, as mismo deber evitarse confrontaciones personales y no utilizar lenguaje obsceno
ni ofensivo, manteniendo en todo momento una actitud de cordialidad respeto.
Nota importante:
Aplica mismas indicaciones de los trabajos de plataforma especificados: archivo no exceder 2 Mb, nombre segn
especificaciones, y contener: Portada, que incluya tus datos personales (Escuela, especialidad, logo, nombre del mdulo,
nombre del alumno, nmero de lista, grupo, No y nombre de la actividad, nombre del facilitador, lugar y fecha),
Desarrollo: y al final, debes incluir sus: Conclusiones, donde todo el contenido ntegro del archivo nunca exceder el
mximo de 6 cuartillas).
Se reitera que algunas de las competencias evaluadas en este mdulo son: responsabilidad y honestidad, por lo que
deteccin de copia o plagio de algn archivo de plataforma y/o prctica (parcial o ntegro) por parte de cualquier
alumno ser motivo de reprobacin del submdulo en cuestin.
43
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
LOS VECTORES:
Tambin conocidos como Vectores o Listas, son datos estructurados que contienen un nmero de elementos
finitos, tamao fijo homogeneidad en sus elementos y se caracterizan por presentar un ndice.
Ejemplo:
Nombre del Arreglo Indice Contenido VECTOR : NOM
NOM [1] : R [ 1 ] R
NOM [2] : O [ 2 ] O
NOM [3] : B [ 3 ] B
NOM [4] : E [ 4 ] E
NOM [5] : R [ 5 ] R
NOM [6] : T [ 6 ] T
NOM [7] : O [ 7 ] O
ARRAYS PARALELOS:
Arreglos diversos que utilizan el mismo ndice para referirse a trminos comunes capaces de procesarse
simultaneamente.
Ejemplo:
El docente elegir 3 de las investigaciones mejor documentadas, y solo las mejores podrn exponer el tema a sus compaeros, lo que
acreditar la participacin correspondiente, los alumnos pueden cuestionar a los equipos ponentes a fin de resolver dudas, as mismo
el facilitador apoya complementando cada una de exposiciones, los equipos debern guardar y subir el documento electrnico con el
nombre (AGNLXX.PPTX), previamente detallado, cuidando lineamientos de contenido, tamao de archivo, nm. diapositivas y fecha
de envo, previamente descritos para efectos de evaluacin.
La ltima diapositiva debe incluir Comentarios de Equipo, as tambin, los temas sern abordados solo uno por equipo y previa
asignacin del facilitador docente.
Nota importante: Solo el representante de equipo debe subir la presentacin a la plataforma acadmica, conteniendo los nombres de
integrantes organizados por nmero de lista en su portada.
44
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL159.CPP
AGGNL160.CPP
45
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL161.CPP
46
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL162.CPP
ALGORITMO :
DICCIONARIO DE DATOS :
1. INICIO.
2. N=5
3. TOT=0 1. N=5 Constante que determina el lmite
4. ESCRIBIR Introduce elementos del Arreglo: mximo de iteraciones del ciclo I.
5. PARA (I=0; I<=N; I++)
6. ESCRIBIR I+1, Elemento:
2. I : Variable int de control del ciclo FOR.
7. LEER NUMS[ I ] 3. NUMS[N] : Arreglo tipo int del programa.
8. TOT+=NUMS[ I ] 4. TOT : Variable int que aloja el total de la
9. SIGUIENTE I
10. PARA (I=0; I<=N; I++)
suma de los elementos en el arreglo.
11. ESCRIBIR Elemento: [, I, ] = , NUMS[ I ]
12. SIGUIENTE I
13. ESCRIBIR LA SUMA DE TUS , N, NUMS= , TOT
14. FIN
DIAGRAMA DE FLUJO:
BSQUEDA EN VECTORES:
ACCESO A UN ARRAY:
Existen 2 mtodos de acceso a lectura y escritura de los elementos de un arreglo:
ACCESO DIRECTO:
Al realizar operaciones de lecto/escritura a un elemento especfico del array.
ACCESO SECUENCIAL:
Este tipo de acceso realiza un recorrido por cada uno de los elementos de todo el arreglo en la operacin de
lecto/escritura deseada.
47
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
En este ltimo caso, requieren de estructuras de repeticin para el acceso a toda la estructura o array y es comn que el
compilador de C++ enva mensajes de error cuando el ciclo y el nmero de elementos del mismo no coinciden, por lo que
se debe cuidar que estos coincidan siempre.
LAS CADENAS Y SUS FUNCIONES.
Tambin denominadas "strings" (en ingls), una cadena en C es un conjunto de caracteres, o valores de tipo "char",
terminados con el carcter nulo, es decir el valor numrico 0. Internamente se almacenan en posiciones consecutivas de
memoria. Este tipo de estructuras recibe un tratamiento especial, y es de gran utilidad y de uso continuo.
Cuando se declara una cadena hay que tener en cuenta que se debe reservar una posicin para almacenar el carcter
nulo, de modo que si se desea almacenar la cadena "HOLA", tendremos que declarar la cadena como: char Saludo[5];
Tambin nos ser posible hacer referencia a cada uno de los caracteres individuales que componen la cadena,
simplemente indicando la posicin. Por ejemplo el tercer carcter de nuestra cadena de ejemplo ser la 'L', podemos
hacer referencia a l como Saludo[2]. Los ndices tomarn valores empezando en el cero, as el primer carcter de
nuestra cadena sera Saludo[0], que es la 'H'.
Una cadena puede almacenar informaciones como nombres de personas, mensajes de error, nmeros de telfono, etc.
La asignacin directa slo est permitida cuando se hace junto con la declaracin. Por ejemplo:
char Saludo[5];
Saludo = "HOLA"
Producir un error en el compilador, ya que una cadena definida de este modo se considera una constante, como
veremos en el captulo de "arrays" o arreglos.
char Saludo[5];
Saludo[0] = 'H';
Saludo[1] = 'O';
Saludo[2] = 'L';
Saludo[3] = 'A';
Saludo[4] = '\000';
48
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
ARREGLOS BIDIMENSIONALES
Tambin conocidos como Matrices o Tablas, son Arreglos de 2 subndices o 2 dimensiones, al igual que los
unidimensionales, sus subndices deben ser datos tipo ordinal o tipo subrango, para la ubicacin y almacenamiento de un
valor, deben definirse 2 subndices uno para la fila y otro para la columna, y no requieren ser subrango del mismo tipo.
Ejemplo: CALIF [4] [4]
1 2 3 4
COLUMNAS
ARRAYS MULTIDIMENSIONALES:
Arreglos que poseen ms de 2 Dimensiones o subndices (Quick Basic permite 60 ndices) Lenguaje C no limita el
nmero de subndices dentro de este tipo de estructuras.
Ejemplo:
1 PV[1] [1] [1] PV[1] [2] [1] PV[1] [3] [1] PV [1] [4][1]
PV [2] [4] [2]
FILAS 2 PV[2] [1] [1] PV[2] [2] [1] PV[2] [3] [1] PV[2] [4] [1]
PV [3] [3] [3]
3
O
3
PV[3] [1] [1] PV[3] [2] [1] PV[3] [3] [1] PV[3] [4] [1]
D
2
N
O
1
1 2 3 4
F
C O L U M N A S
49
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
ACT 13. ACTIVIDAD EN PLATAFORMA: INVESTIGACIN Y EXPOSICIN DE DATOS COMPLEJOS Y ARCHIVOS EN C++.
Los alumnos integrados en equipos, realizan investigacin, diseo y exposicin de una presentacin
electrnica en Power Point que conste de 11 diapositivas como mximo, incluyendo portada (logo de la
escuela, especialidad, grupo, nombre de la actividad, integrantes del equipo, num. de lista de c/u y el tema
abordado), que exponga uno de los siguientes tpicos, que se asignarn de manera especfica por el
facilitador a cada equipo:
Los alumnos durante la sesin de exposiciones realizan cuestionamientos a los equipos ponentes a fin de
resolver dudas, as mismo el facilitador apoya complementando en cada una de las exposiciones y los
equipos debern guardar y subir el documento electrnico con el nombre ( AGGNLXX.PPTX), as mismo,
deben reenviar la informacin a los dems equipos para su retroalimentacin, tambin en la elaboracin de
la presentacin, cada equipo cuida los lineamientos de: contenido, forma, tamao de archivo, num. de
dispositivas y fecha de cierre, previamente descritos para efectos de evaluacin.
La ltima diapositiva debe incluir Comentarios de Equipo, as tambin, los temas sern abordados solo uno
por equipo y previa asignacin del facilitador docente.
Nota importante: Solo cada representante de equipo debe subir la presentacin a la plataforma acadmica,
en representacin del mismo, por ello, esta debe contener los nombres de todos los participantes en su
portada.
50
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL163.CPP
51
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL163.CPP
52
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
TAREA DE INVESTIGACION
1. Explicar el objetivo de la directiva iomanip.h .
2. Definir las funciones setiosflags, ios::showpoint, ios::fixed, ios::right, set(X), , setfill (*), setprecision (X).
3. Explicar ejercicio 162 y 163.
4. Definir Recursividad.
5. Mtodo de Ordenacin por insercin.
6. Mtodo de Ordenacin Fusin (merge).
7. Mtodo de Ordenacin Montculo o pila (heap).
8. Mtodo de Ordenacin Shell
9. Mtodo de Ordenacin por intercambio.
10. Mtodo de bsqueda secuencial y binaria.
La ordenacin o clasificacin de los arrays es una de las tareas ms usuales en la mayora de los programas que utilizan
estas estructuras de datos, este es el procedimiento mediante el cual los elementos del arreglo son dispuestos en un
orden especificado, ejemplo, numrico, alfabtico, etc., ejemplo:
25 1 35
13 5 25
15 7 22
22 8 15
35 13 13
8 15 8
5 22 7
7 25 5
1 35 1
53
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Diccionario de datos :
Nombre Tipo Uso
lista Cualquiera Lista a ordenar
TAM Constante entera Tamao de la lista
i Entero Contador
j Entero Contador
temp Similar que los elementos de la lista Para realizar los intercambios
Pseudocdigo en C:
1. for (i=1; i<TAM; i++)
2. for j=0 ; j<TAM - 1; j++)
3. if (lista[j] > lista[j+1])
4. temp = lista[j];
5. lista[j] = lista[j+1];
6. lista[j+1] = temp;
Mtodo de Seleccin:
Este mtodo tienen como caractersticas la bsqueda del elemento menor de un vector lista, el cual se intercambia con
el elemento ubicado en la primera posicin de la lista, posteriormente se busca el segundo elemento ms pequeo, se
intercambia con el segunco elemento de la lista y el proceso se repite nuevamente hasta concluir el ltimo elemento y se
ordene toda la lista.
Diccionario de datos :
Nombre Tipo Uso
lista Cualquiera Lista a ordenar
TAM Constante entera Tamao de la lista
i Entero Contador
pos_mem Entero Posicin del menor elemento de la
lista
temp Similar que los elementos de la lista Para realizar los intercambios
Pseudocdigo en C:
1. for (i=0; i<TAM-1; i++)
2. pos_men = Menor(lista, TAM, i);
3. temp = lista[i];
4. lista[i] = lista [pos_men];
5. lista [pos_men] = temp;
Nota
Menor(lista, TAM, i) es una funcin que busca el menor elemento entre las posiciones i y TAM-1. La bsqueda es
lineal (elemento por elemento). No lo incluyo en el pseudocdigo porque es bastante simple.
54
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Diccionario de Datos :
Nombre Tipo Uso
Lista Cualquiera Lista a ordenar
inf Entero Elemento inferior de la lista
Sup Entero Elemento superior de la lista
elem_div Similar que los elementos de la Elemento divisor
lista
i Entero Contador a izquierda
j Entero Contador a derecha
cont Entero Variable cont para continuar con valor
=1
Pseudocdigo :
Nombre Procedimiento: OrdRap
Parmetros:
lista a ordenar (lista)
ndice inferior (inf)
ndice superior (sup)
// Inicializacin de variables
1. elem_div = lista[sup];
2. i = inf - 1;
3. j = sup;
4. cont = 1;
55
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
56
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL164.CPP
57
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL165.CPP
58
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
1000 1004
1001
1002
1003
1004
..
.
59
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL166.CPP
1001
Pre 1000
999 Pre contiene el valor
de
100, que es la Dx de
*p es el valor del elemento
101 al que apunta PVta por lo
PVta 100 12.50 que *p toma el valor de
99 12.50
Direccin de Memoria
Baja
60
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Memoria de la Computadora
Si tienes bien claro lo que es la memoria del computadora puedes saltarte esta seccin. Pero si confundes la memoria
con el disco duro o no tienes claro, A lo largo de la experiencia con las computadoras se ha encontrado con mucha gente
no tiene claro cmo funciona una computadora. Cuando hablamos de memoria nos estamos refiriendo a la memoria
RAM del ordenador. Son unas pastillas que se conectan a la placa base y nada tienen que ver con el disco duro. El disco
duro guarda los datos permanentemente (hasta que se rompe) y la informacin se almacena como ficheros. Nosotros
podemos decirle al ordenador cundo grabar, borrar, abrir un documento, etc. La memoria Ram en cambio, se borra al
apagar la computadora. La memoria Ram la usan los programas sin que el usuario de stos se de cuenta. Para hacernos
una idea, hoy en dia la memoria se mide en MegaBytes (suelen ser 16, 32, 64, 128Mb) y los discos duros en GigaBytes
(entre 3,4 y 70Gb, o mucho ms).
Hay otras memorias en la computadora aparte de la mencionada. La memoria de video (que est en la tarjeta grfica), las
memorias cach (del procesador, de la placa...).
Al declarar una variable estamos diciendo a la computadora que nos reserve una parte de la memoria para almacenarla.
Cada vez que ejecutemos el programa la variable se almacenar en un sitio diferente, eso no lo podemos controlar,
depende de la memoria disponible y otros factores misteriosos. Puede que se almacene en el mismo sitio, pero es mejor
no fiarse. Dependiendo del tipo de variable que declaremos el ordenador nos reservar ms o menos memoria. Como
vimos anteriormente los tipos de datos cada tipo de variable ocupa ms o menos bytes. Por ejemplo si declaramos un
char, el ordenador nos reserva 1 byte (8 bits). Cuando finaliza el programa todo el espacio reservado queda libre.
Existe una forma de saber qu direcciones nos ha reservado la computadora. Se trata de usar el operador & (operador de
direccin). ejemplo: Declaramos la variable 'a' y obtenemos su valor y direccin. Para mostrar la direccin de la variable
usamos el oprador &. Y el valor se muestra en hexadecimal.
No hay que confundir el valor de la variable con la direccin donde est almacenada la variable. La variable 'a' est
almacenada en un lugar determinado de la memoria, ese lugar no cambia mientras se ejecuta el programa. El valor de la
variable puede cambiar a lo largo del programa, lo cambiamos nosotros. Ese valor est almacenado en la direccin de la
variable. El nombre de la variable es equivalente a poner un nombre a una zona de la memoria. Cuando en el programa
escribimos 'a', en realidad estamos diciendo, "el valor que est almacenado en la direccin de memoria a la que
llamamos 'a'".
Los alumnos resuelven individualmente el crucigrama propuesto indicado en la liga en la plataforma virtual Moodle para
esta actividad especfica, mismo que deber resolverse correctamente en un tiempo no mayor de 15 min., en cada
palabra puede solicitar hasta un mximo de 2 caracteres o pistas de la respuesta correcta para no ser penalizado, as
mismo una vez resuelto el crucigrama (verifica que no tengas activado el bloqueo de ventanas emergentes), no cerrar la
pantalla con el resultado, ya que debes capturar la pantalla con la calificacin legible, cuando se despliegue el resultado
obtenido (pulse las teclas Alt+Impr pantalla), misma que es el registro o evidencia de resolucin del mismo.
Para ello, debe elaborar individualmente un documento de Word con el nombre (AGGNLXX.DOC), en el que debes pegar
la imagen previamente capturada del crucigrama, as mismo liste y defina cada uno de los trminos correctos del
crucigrama, por ltimo, no olvide anotar conclusiones personales al final de su documento a subir en plataforma
acadmica.
61
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL167.CPP
TAREA DE INVESTIGACION
1. Explique que diferencia existe en las direcciones de memoria los punteros de &val1...&val5, asi mismo con la
direccin de memoria de la variable valor del ejercicio 167.CPP
2. Explicar como se comportan los punteros en datos int (numricos) y en datos tipo char del ejercicio 168.CPP
3. Explique diferencias entre variable por valor y variable por referencia.
4. Definir la funcion strcpy
62
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
del asterisco (*) , por lo que invariablemente cuando aparezca un asterisco (*), en una declaracin de variable, esto
define una variable puntero.
Formato: tipo de dato apuntado *identificador puntero
Ejemplos:
int *cuenta Puntero a un tipo entero char *texto Puntero a un tipo carcter
Long *pventa Puntero a un tipo entero largo float *calif Puntero a un tipo flotante
Inicializacin de punteros.
C++ no inicializa los punteros en su declaracin (No les define valor) por lo que es necesario inicializarlos previamente a
su utilizacin y ello proporciona la direccin del dato correspondiente, y solo hasta que este proceso se haya realizado,
podr ser utilizado para asignar direcciones de memoria, para asignar una direccin de memoria (dx) a un puntero, como
se mencion anteriormente, se utiliza el operador &, cuando se ha definido un puntero, el asterisco del puntero indica
(contenido de) la memoria apuntada por el puntero debiendo ser del tipo especificado.
Inicializacin esttica:
Recibe este nombre ya que la asignacin de memoria requerida para almacenar el valor es fijo y no puede desaparecer.
Una vez que la variable es definida, el compilador establece suficiente memoria para almacenar un valor del tipo de dato
especificado. La memoria permanece reservada para esta variable y no puede ser utilizada para otra coso durante la
ejecucin del programa, el puntero a esa variable puede ser cambiado pero no su cantidad de memoria reservada.
Indireccin de punteros:
Como se mencion, despus de declarar una variable puntero, este debe inicializarse y posteriormente utilizarse para
direccionar algn tipo de dato en memoria, el uso de un puntero para obtener el valor que apunta, el dato apuntado se
denomina indireccionar el puntero (desreferenciar el puntero) para ello se utiliza el operador de indireccin que no es
otra cosa que un operador de sobrecarga.
PUNTEROS A ENTEROS.
Los punteros se enlazan a tipos de datos especficos, de modo que C++ verifica si se asigna la direccin de un tipo de dato
al tipo correcto de puntero, de tal manera que si se declara un puntero flota, no se le puede asignar la direccin de un
carcter o un entero.
C++ requiere que las variables puntero direccionen realmente variables del mismo tipo de dato que est ligado a los
punteros en sus declaraciones.
Aritmtica de Punteros:
Los punteros permiten solo 2 operaciones aritmticas en las que pueden utilizarse los punteros y estas son suma y resta,
para entender que ocurre con la aritmtica de punteros, sea P1 un puntero a un entero con valor actual de 2000 y
asumamos que los enteros son de 2 bytes de longitud despus de la expresin:
P1++;
P1 contiene 2002, no 2001 ! Cada vez que se incrementa P1, apunta al siguiente entero, lo mismo ocurre al
decrementar, ejemplo
P1-- ;
Hace que P1 tenga el valor de 1998, asumiendo que previamente era 2000.
Cada vez que se incrementa un puntero, este apunta a la posicin de memoria del siguiente elemento de su tipo base.
Cada vez que se decrementa, apunta a la posicin de memoria del elemento anterior. Con punteros a caracteres, esto
frecuentemente hace que parezca una aritmtica normal, sin embargo, el resto de los punteros o decrecen en la longitud
del tipo de datos a los que apuntan.
63
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL168.CPP
PUNTEROS A ARRAY.
Como se ha descrito hasta ahora, los arrays y los punteros tienen una estrecha relacin en lenguaje C++, ya que se puede
direccionar arrays como si fueran punteros y viceversa y ello implica que pueden almacenar cadenas de datos en
elementos de arrays y sin los punteros eso no es posible, ya que no existe en C++ el dato tipo cadena (string) comun de
otros lenguajes, unicamente constantes de cadena.
Un nombre de array es un puntero, considere el siguiente ejemplo:
Si visualiza lista [ 0 ] observara que su contenido es 10, pero si visualiza *lista como el nombre de array es un puntero,
tambin observar que su contenido es 10, por lo que:
64
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
PUNTEROS A CADENAS.
La inicializacin de un array de punteros a cadenas se ejemplifica como el caso a continuacin:
char *meses [12] = {Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto,
Septiembre, Octubre, Noviembre, Diciembre};
Los punteros se utilizan sustituyendo los ndices de los arrays ejemplo:
AGGNL169.CPP
El estudio de las cadenas es til para profundizar en la relacin entre apuntadores y arreglos. Facilita, adems la
demostracin de cmo algunas de las funciones estndar de cadenas de C pueden ser implementadas. Finalmente
ilustraremos cmo y cuando los apuntadores pueden y deben ser pasados a una funcin. En C, las cadenas son arreglos
de caracteres. Esto no es necesariamente cierto para otros lenguajes. En Basic, Pascal, Fortran y en otros lenguajes, una
65
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
cadena tiene definido su propio tipo de datos. Pero en C, esto no es as. En C una cadena es un arreglo de caracteres
terminado con un carcter binario de cero (escrito como \0). Para comenzar escribiremos algo de cdigo, el cual si bien
es preferido para propsitos meramente ilustrativos, probablemente no lo escribirs en un programa real. Consideremos
por ejemplo:
char mi_cadena[40];
mi_cadena [0] = 'T';
mi_cadena [1] = 'e';
mi_cadena [2] = 'd':
mi_cadena [3] = '\0';
Si bien uno nunca construira cadenas de este modo, el resultado final es una cadena que es en realidad un arreglo de
caracteres terminado con un caracter nul. Por definicin, en C, una cadena es un arreglo de caracteres terminado con el
carcter nul. Hay que tener cuidado con que nul no es lo mismo que NULL. El nul se refiere a un cero definido por la
secuencia de escape \0. Esto es, que ocupa un byte de memoria. El NULL, por otra parte, es el nombre de la macro
usada para inicializar apuntadores nulos. NULL est definido en un archivo de cabecera del compilador de C, mientras
que nul puede no estar definido del todo. Ya que al estar escribiendo cdigo como el de arriba gastaramos mucho
tiempo, C permite dos modos alternativos de llegar al mismo resultado. El primero sera escribir: char mi_cadena [40] =
{'T', 'e', 'd', '\0',};
Pero es conveniente: char mi_cadena [40] = "Ted";
Cuando usamos las comillas dobles, en lugar de las simples usadas en los ejemplos anteriores, el carcter nul (\0) se
aade automticamente al final de la cadena. En cualquiera de los casos descritos arriba sucede la misma cosa,. El
compilador asigna un bloque continuo de memoria de 40 bytes de longitud para alojar los caracteres y los inicializa de tal
manera que los primeros 4 caracteres son Ted\0.
66
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Por ejemplo, si hacemos una funcin que busque el nmero de telfono de una persona en una base de datos,
podramos llamarla "busca_telefono" o "BuscaTelefono".
Una lista de declaraciones de parmetros entre parntesis. Los parmetros de una funcin son los valores de
entrada (y en ocasiones tambin de salida). Para la funcin se comportan exactamente igual que variables, y de
hecho cada parmetro se declara igual que una variable. Una lista de parmetros es un conjunto de
declaraciones de parmetros separados con comas. Puede tratarse de una lista vaca. En C es preferible usar la
forma "func(void)" para listas de parmetros vacas. En C++ este procedimiento se considera obsoleto, se usa
simplemente "func()"..
Un cuerpo de funcin que representa el cdigo que ser ejecutado cuando se llame a la funcin. El cuerpo de la
funcin se encierra entre llaves "{}"
Una funcin muy especial es la funcin "main". Se trata de la funcin de entrada, y debe existir siempre, ser la que tome
el control cuando se ejecute un programa en C. Los programas Windows usan la funcin WinMain() como funcin de
entrada. Existen reglas para el uso de los valores de retorno y de los parmetros de la funcin "main", en este momento
solo usaremos como "int main()" o "int main(void)", con un entero como valor de retorno y sin parmetros de entrada. El
valor de retorno indicar si el programa ha terminado sin novedad ni errores retornando cero, cualquier otro valor de
retorno indicar un cdigo de error.
67
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL170.CPP
68
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL171.CPP
Main()
Funcin4 Funcin5
69
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
PASO DE PARMETROS.
PARMETROS DE UNA FUNCION:
El paso de parmetros en C++ es un mecanismo importante dentro de las funciones ya que a partir de el se permite la
transferencia de los valores entre las variables de las distintas funciones en un programa, por defecto sino se especifican
los parmetros, no existe transferencia de los valores entre las funciones.
C++ Reconoce 2 mtodos para transferir valores de las variables entre las distintas funciones en un programa, estos son:
1. Parmetros por Valor.
2. Parmetros por Referencia.
70
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL173.CPP
71
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
ESTRUCTURA:
Es una coleccin de datos de uno o ms de elementos denominados miembros, donde cada miembro puede ser un tipo
de dato diferente.
La estructura puede contener cualquier nmero de miembros, donde cada uno tiene un nombre nico y es llamado
nombre del miembro, en otros lenguajes de programacin tambin se les conoce con el nombre campos y la estructura
son denominadas Bases de Datos, ejemplos de aplicacin de las estructuras.
DEFINICION DE CAMPO.
MIEMBRO TIPO DE DATO MIEMBRO TIPO DE DATO
CAMPO
Titulo Array de caracteres longitud =30 Marca Array de caracteres longitud =15
Autor Array de caracteres longitud =35 Modelo Array de caracteres longitud =10
Editorial Array de caracteres longitud =25 Fecha_Fabrica Entero
Edicin Entero Motor Array de caracteres longitud =10
Pags Entero Cilindros Entero
Precio Flotante Tipo Array de caracteres longitud =15
Capac Entero
Uso Array de caracteres longitud =10
Placa Array de caracteres longitud =12
Costo Flotante
DEFINICION DE ESTRUCTURA.
La estructura es un tipo de dato definido por el usuario, en funcin de las necesidades especficas que requiera, por ello
debe declararse en forma previa o antes de ser utilizada, su formato de declaracin y sintaxis es la siguiente:
struct <nom_estructura>
{
tipo_dato1 nombre_miembro1;
tipo_dato2 nombre_miembro2;
tipo_dato3 nombre_miembro3;
tipo_dato_n nombre_miembro_n;
};
Ejemplo:
struct BIBLIOTECA;
{
char Titulo [30];
72
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Definicin: establece o define un rea de memoria para cada variable de una estructura de acuerdo al formato declarado
las variables de una estructura pueden definirse de 2 formas:
Ejemplo de Declaracin-Definicin :
Caso 1:
La DECLARACIN de la Estructura o se incluye en el programa, en forma previa a la funcin principal main ( ), la cual se
inicia con la palabra reservada struct <nombre de la estructura> , a menudo se refiere al nombre de la estructura como
su etiqueta en el ejemplo que establecemos es llamada DIR, posteriormente se definen los miembros o elementos de la
estructura, especificando el tipo de dato y el nombre de cada miembro.
La declaracin finaliza con el punto y coma, ya que la declaracin de una estructura es considerada por C++ como una
sola sentencia.
1. struct DIR
{
char nom[30];
char calle[40];
char ciudad [20];
char edo [3]
unsigned long int codigo;
};
Cabe destacar que en este punto del cdigo, realmente an no se ha definido ninguna variable del tipo estructura (la
definicin de la variable reserva el espacio de memoria que es requerido) que reconoce el compilador de C++ por lo que
debe incluirse al final de la declaracin de la estructura, en la seccin de declaracin de variables o antes utilizar la
estructura, una lnea que defina a la variable, en nuestro caso incluir la lnea:
struct DIR info_dir;
nom 30 bytes
calle 40 bytes
ciudad 20 bytes info_dir
edo 3 bytes
codigo 4 bytes
73
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
CASO 2:
En este caso se declara la estructura en primer trmino, y la definicin de variables se incluye inmediatamente despus
de la llave de cierre
2. struct DIR
{
char nom[30];
char calle[40];
char ciudad [20];
char edo [3]
unsigned long int codigo;
} a_info, b_info, c_info;
Como ya se mencion anteriormente la estructura de datos es una coleccin de datos de tipos diferentes que se
referencan bajo un nico nombre, proporcionando un medio eficaz para mantener junta la informacin relacionada.
La declaracin de la estructura forma parte de la plantilla que puede utilizarse para crear variables de estructura, las
variables que componen la estructura llamados miembros, elementos o en algunos casos campos de la estructura. En
general, cada elemento de la estructura est relacionado lgicamente con los otros, ejemplo la informacin de un
directorio (nombre y direccin) seran representados como una tpica estructura.
Otro ejemplo tradicional de una estructura es el registro de una nomina: un "empleado" es descrito por un set de
atributos tales como el nombre, direccin, numero de seguro social, salario, etc.
Algunas de estas en cambio podran ser estructuras: un nombre tiene varios componentes, como es una direccin y an
un salario.
Las estructuras ayudan a organizar complicados datos, particularmente en programas largos, porque en muchas
situaciones de ellas permiten un grupo de variables relacionadas para ser tratadas como una unidad en vez de entidades
separadas.
Inicializacin: Almacenamiento de datos en una estructura, en la que se definen o asignan valores dentro de la seccin
de cdigo de un programa, incluso en la propia declaracin de la estructura, un ejemplo de esta forma de asignacin de
datos en una estructura lo vemos en el ejercicio LP2NL_03.CPP.
Asignacin directa: Forma de almacenamiento de datos en una estructura, en la que se define el valor a el o los
miembros especficos de una estructura, para ello se recurre de los operadores punto y operador puntero.
74
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
Lectura desde el teclado: Este procedimiento permite que el usuario introduzca valores o datos de entrada en forma
interactiva a cada miembro y elementos de una estructura desde el propio teclado, esta es la forma ms comnmente
utilizada desde cualquier sistema.
AGGNL174.CPP
75
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
TAREA DE INVESTIGACION
1. Explicar la funcin del operador sizeof durante la utilizacin de una estructura.
2. Defina y diferencia los accesos de datos de las estructuras mediante el operador de punto y el operador
puntero.
3. Defina String, Null ( \ 0 ).
4. Describa las funciones : cin.get( ) y cout.put( ).
5. Determine la funcin strcpy.
6. Explicar que importancia tien el uso de ARRAYS de Estructuras sobre las otras opciones.
7. Explicar estructuras anidadas.
8. Diferenciar Variables Estticas de Variables Dinmicas.
LECTURA: Esta operacin se realiza mediante el apoyo de los operadores punto y/o operador puntero, empleando la
sentencia de entrada (cin>>).
SALIDA: La recuperacin de informacin de una estructura se realiza a partir de una sentencia de asignacin o utilizando
la sentencia de salida (cout<<), al igual que en el caso anterior se requiere el uso de los operadores punto y/o operador
puntero.
NOTA: En operaciones de entrada-salida de datos desde el teclado tiene la limitante que al manejar la introduccin de
variables tipo char, estas no deben incluir espacios en blanco, ya que cualquier palabra precedida del espacio en blanco
se perder al ser introducida desde el teclado y no podr recuperarse el dato tipo char completo.
ARREGLOS DE ESTRUCTURAS.
La utilizacin de Arreglos de estructuras, es el mtodo ms conveniente para almacenar archivos completos por ejemplo
el inventario de un almacn, el historial acadmico de grupos, la nmina de empleados de una empresa, los costos y
precios de artculos de una tienda departamental, etc.
Por esta razn, los arreglos de estructuras proporcionan la forma ms prctica de almacenar un conjunto de datos
diversos del mismo o diferentes tipos, todo ellos agrupados en una estructura denominada ARREGLO DE ESTRUCTURA.
La creacin de un arreglo de estructuras es similar a un arreglo de otros tipos y muchos programadores de C++ utilizan el
mtodo de los array de estructuras para almacenar datos en un archivo de disco, ya que se pueden introducir y calcular
los datos en este tipo de estructuras, su almacenamiento en memoria y en disco y su facilidad para operaciones de
lectura.
Del ejercicio LP2NL_06.CPP el Arreglo de estructura el nmero de elementos del arreglo est definido por la constante b,
la cual permite incrementar su valor conforme a las necesidades del usuario, sin la necesidad de tener que modificar ms
cdigo, de otra manera, tambin vlida se pudo haber definido el nm. de elementos del mismo al definir la variable de
estructura:
Calificas calif[b];
Calificas calif[100];
76
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL175.CPP
As mismo los miembros de las estructuras pueden ser arreglos, recomendndose tener precausiones al acceder a los
elementos individuales del arreglo.
77
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
TIPOS DE ARCHIVOS EN C.
78
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
entrada y put, define la posicin donde se producir la operacin de salida, en cada operacin el apuntador avanza
automticamente.
AGGNL176.CPP
1. Nota: Para que este programa funcione debers crear con el Editor de Bloc de Notas el Archivo:PREVIO.TXT, y
debers insertar las siguientes lneas de texto:
Contenido del Archivo de Texto PREVIO.TXT
Nombre del Alumno, NL, Gpo. Especialidad.
Centro de Bachillerato Tecnolgico industrial y de servicios N 4
PROGRAMACIN ESTRUCTURADA C++
Nombre del Maestro.
2. As mismo, debes crear con el bloc de notas el archivo: NEWFILE.TXT, en este no escribirs ningn contenido o
texto, pero debers observar y analizar lo que sucede con este archivo despus de la 1 corrida.
TAREA DE INVESTIGACION:
1. Explicar conclusiones del contenido del archivo NUEVO.TXT despus de ejecutar 176.CPP.
2. Determine la funcin de la palabra reservada : cin.getline
3. Describir caractersticas de 25 tipos de archivos (segn tipo de extensin).
4. Explicar Jerarqua de datos (Pag 704 Deitel & Deitel).
5. Determine la funcin de eof y que funcin tiene en un archivo.
6. Definir las funciones de las biblitecas de flujo: iostream, ifstream, ofstream y fstream.
7. Explicar sobrecarga de operadores en C++.
79
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
DECLARACION.
ARCHIVOS DE ACCESO SECUENCIAL, ENTRADA Y SALIDA DE ARCHIVOS:
La operaciones de E/S de C++ requieren de la utilizacin del archivo de cabecera fstream.h en el que se definen, como ya
se mencion las clases ifstream, ofstream y fstream.
La clase ifstream deriva de la clase istream que permite que los usuarios accesen a los archivos en modo de entrada en
operaciones de lectura de archivos, mientras que la clase ofstream deriva de la clase ostream y permite a los usuarios
acceder a las clases ifstream y ofstream, permitiendo con ello a los usuarios, acceder a operaciones de entrada y salida
de datos, debiendo por ello, utilizar adecuadamente las clases ifstream y ofstream con un manejo de archivos correcto.
ios
istream ostream
fstream
La entrada y salida en C se lleva a cabo mediante el uso de funciones de biblioteca; no hay palabras clave de C que
realicen operaciones de entrada y salida. Los conjuntos completos de funciones de E/S definidos por C y C++ son:
1. El sistema de E/S definido por el ANSI, tambin denominado sistema de archivos con bffer (a veces se
utilizan tambin los trminos con formatos de alto nivel).
2. El sistema de E/S es tipo UNIX, a veces referido como un sistema de archivos sin bffer (sin formato). El
sistema de E/S tipo UNIX fue creado para los primeros compiladores de C, que furon desarrollados bajo
UNIX.
3. Algunas funciones de E/S de bajo nivel que operan directamente sobre el hardware de la computadora.
80
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
APERTURA Y MANIPULACION.
APERTURA:
Para que un programa realice operaciones de Lectura o Escritura en disco, requiere: ABRIR un archivo, este proceso
identifica la posicin del archivo, en el caso de un archivo de texto C++ en operacin de lectura, se crea un objeto o flujo
de la clase ifstream, para abrir un archivo de escritura el objeto creado es de la clase ofstream, pudindose utilizar los
nombres de los flujos que se crean con los operadores de insercin y extraccin .
Ejemplo de apertura de archivo para lectura, al inicio de cada ejecucin del programa debe incluirse la sentencia:
ifstream archen (demo );
El objeto ifstream se llama archen, que se asocia con un nombre para su localizacin y apertura del archivo.
Ejemplo de apertura de archivo para escritura, al inicio de cada ejecucin del programa debe incluirse la sentencia:
ofstream archsal (demo.out, ios_base::out);
AGGNL177.CPP
NOTA: Despus de ejecutar el archivo utilizando el editor de bloc de notas, observa el contenido de DIR.TXT y efectua
tus conclusiones.
81
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL178.CPP
82
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
ENTRADA/SALIDA BINARIA:
get :
Miembro de la funcin istream su funcin es leer el flujo de entrada byte a byte (carcter)
put:
Proporciona un mtodo de sacar (escribir) un carcter en el flujo de salida put( ), acepta argumentos de tipo char y
devuelve objetos de la clase ostream.
AGGNL179.CPP
El siguiente cuestionario consta de 20 preguntas de opcin mltiple, emparejamiento, falso y verdadero y respuesta
breve (solo las palabras necesarias y lgicas de cada respuesta), se sugiere contestar en MAYSCULAS, su resolucin
deber realizarse en solo un intento y con un tiempo lmite de duracin de 30 min.
Debes contestar cada pregunta y al final pulsar el botn: Enviar todo y terminar de la parte baja de la pgina para que
genere la calificacin de todas tus respuestas del cuestionario
83
ESPECIALIDAD PROGRAMACIN: MDULO 1 CBTis 4
AGGNL180.CPP
84