You are on page 1of 84

CENTRO DE BACHILLERATO TECNOLOGICO

industrial y de servicios Nº 4

CURSO DEL MODULO 1:
DESARROLLA SOFTWARE DE APLICACIÓN
UTILIZANDO PROGRAMACIÓN ESTRUCTURADA
CON ALMACENAMIENTO PERSISTENTE DE
DATOS
SUBMODULO 1:
DESARROLLA SOFTWARE UTILIZANDO PROGRAMACIÓN
ESTRUCTURADA

ING. HUMBERTO DE LA ROSA GUAJARDO. Enero 2016, Cd. Lerdo, Dgo.
humbdelarosa@gmail.com

1

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4

SUBMODULO 1: DESARROLLA SOFTWARE UTILIZANDO PROGRAMACIÓN ESTRUCTURADA.

CONTENIDO: 160 Hrs.

1. Conceptos, características y generalidades de principios de programación.
2. Identificación, análisis y resolución de problemas informáticos.
3. Algoritmos, Pseudocódigos, Simbología y Diagramación.
4. Herramientas de software FreeDFD y PSeint.
5. Fases de los problemas informáticos: Entrada, Proceso, Salida.
6. Lenguajes de programación.
7. Elementos de programación.
8. Programación en C++.
9. Resolución de ejercicios en C++.
10. Estructuras de Control en C++.
11. Estructuras de datos.
12. Archivos en C++.

COMPETENCIAS PROFESIONALES DEL SUBMÓDULO 1:
DESARROLLA SOFTWARE UTILIZANDO PROGRAMACIÓN ESTRUCTURADA.

COMPETENCIAS:

1. Soluciona Problemas.
2. Desarrolla diagramas de flujo de algoritmos.
3. Elabora Pseudocódigo de los diagramas de flujo.
4. Desarrolla el código en un lenguaje de programación estructurado.

2

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4

BIBLIOGRAFÍA:
JOYANES, Aguilar Luis. Programación en C++ algoritmos, estructuras de datos y objetos. McGraw Hill. España. 2003
Deitel, Harvey M, Deitel. Como programar en C++. Pearson. España, 2009.
PERRY, Greg. Aprendiendo programación orientada a objetos con C++ en 21 días. Prentice Hall. 1995.
BORES, Rosario, Román Rangel. Computación, metodología, lógica computacional y programación. Serie Schaum,
McGraw Hill. México, 1995.
FORSYTHE, I. Alexander / Thomas Kennan A. / Elliot Organick I. Lenguajes de diagramas de flujo. Limusa. México, 1989.
MANNINO, M. V.. Administración de bases de datos diseño y desarrollo de aplicaciones. McGraw Hill, 2007.
CUADRA, D., Castro, E., Iglesias, A. M., Martínez, P., Calle, F. J., De Pablo, C., y otros. Desarrollo de Bases de Datos.
Alfaomega Ra-Ma. España, 2008
HERNÁNDEZ Muñoz, Pedro. Visual Fox Pro 5. Desarrollo de aplicaciones. Osborne-McGraw Hill. España, 1998.
IGLESIAS, Rubén. Visual Fox Pro 5. Fundamentos y técnicas de programación. Rama Computec. Madrid, 1997.
MIKE, H. SQL Server 2008. Grupo Anaya Comercial. México, 2009.
HELM, S. Programación de Base de Datos Con MySQL y PHP. Alfaomega Marcombo. México, 2010.
KENDALL y Kendall. Análisis y diseño de sistemas. Prentice Hall. México, 1997.
MARTÍN, James. Objets-oriented Analysis & Design. Prentice Hall. USA, 1993.
PRESSMAN, Roger S. Ingeniería del Software. Un enfoque práctico. McGraw Hill. México, 2005.

http://www.elrincondelc.com/cursoc/cursoc.html
http://c.conclase.net/curso/index.php

3

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4

PROGRAMA DE PRÁCTICAS DEL MÓDULO 1 DE PROGRAMACIÓN: SUBMÓDULO 1

N° DESCRIPCIÓN PRODUCTOS DE APDZJE
1. ALGORITMOS CUALITATIVOS SIMPLES *.DOC ( 4 EJERCICIOS)
2. ALGORITMOS CUALITATIVOS COMPLEJOS *.DOC ( 4 EJERCICIOS)
3. ALGORITMOS CUANITATIVOS SIMPLES *.DOC ( 4 EJERCICIOS)
4. ALGORITMOS CUANITATIVOS COMPLEJOS *.DOC ( 4 EJERCICIOS)
5. SIMBOLOGIA PARA DIAGRAMAS DE FLUJO *.CDR (DOC C/ 21 SIMBOLOS)
6. ENTORNO DE DESARROLLO FreeDFD *.DOC (COMPONENTES)
7. ELABORACIÓN DE PSEUDOCODIGOS *.DOC ( 4 EJERCICIOS)
8. DIAGRAMAS DE FLUJO *.DFD ( 3 EJERCICIOS)
9. FREEDFD ALGORITMOS CUANTITATIVOS *.DFD ( 4 EJERCICIOS)
10. FREEDFD ALGORITMOS CUANTITATIVOS *.DFD ( 4 EJERCICIOS)
11. DIAGRAMAS A PARTIR DE PSEUDOCÓDIGOS *.DFD ( 4 EJERCICIOS)
12. PROBLEMA CALIFICACIÓN DE ALUMNOS *.DOC y *.DFD ( 3 EJERC)
13. ENTORNO BORLAND C++ *.CPP ( 2 EJERCICIOS)
14. MANEJO DE CONSTANTES Y VARIABLES EN C++ *.CPP ( 4 EJERCICIOS)
15. OPERACIONES DE ENTRADA Y SALIDA *.CPP ( 2 EJERCICIOS)
16. FUNCIONES MATEMATICAS *.CPP ( 3 EJERCICIOS)
17. FUNCIONES DE CARACTER *.CPP ( 2 EJERCICIOS)
18. USO DEL GOTOXY *.CPP ( 2 EJERCICIOS)
19. EJERCICIOS DE REFORZAMIENTO *.DFD *.CPP ( 4 EJERCICIOS)
20. CALCULO DE AREAS Y VOLUMENES FIG. GEOMETRICAS *.DFD *.CPP ( 4 EJERCICIOS)
21. ESTRUCTURAS SELECTIVAS IF SIMPLE Y DOBLE *.CPP ( 4 EJERCICIOS)
22. ESTRUCTURAS SELECTIVAS IF MULTIPLE *.CPP ( 2 EJERCICIOS)
23. ESTRUCTURAS SELECTIVAS SWITCH-CASE *.CPP ( 2 EJERCICIOS)
24. CICLOS FOR *.CPP ( 3 EJERCICIOS)
25. CICLOS WHILE *.CPP ( 2 EJERCICIOS)
26. ARREGLOS UNIDIMENSIONALES *.CPP ( 4 EJERCICIOS)
27. MATRICES *.CPP ( 2 EJERCICIOS)
28. METODOS DE ORDENAMIENTO *.CPP ( 2 EJERCICIOS)
29. PUNTEROS *.CPP ( 4 EJERCICIOS)
30. FUNCIONES Y PARAMETROS *.CPP ( 4 EJERCICIOS)
31. ESTRUCTURAS *.CPP ( 2 EJERCICIOS)
32. ARCHIVOS *.CPP ( 5 EJERCICIOS)

4

FORO EN LÍNEA: DIAGNÓSTICO “PRINCIPIOS DE PROGRAMACIÓN”. (donde A corresponde a Módulo 1. Mencione 3 formas de representar Diagramas en la programación? 14. Mencione 3 lenguajes de programación. Los alumnos. así mismo deberá evitarse confrontaciones personales y no utilizar lenguaje obsceno ni ofensivo. que incluya tus datos personales (Escuela. Cite 5 lenguajes utilizados por el hombre. No y nombre de la actividad. 11. Describa los 3 Lenguajes básicos reconocidos en la programación y características de cada uno.DOC). Explique que es FreeDFD? Nota importante: Cada trabajo especifico debes subirlo en forma individual a plataforma. ACT 1. Explique la fase: Documentación? 8. claros y concretos.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 SUBMODULO 1: DESARROLLA SOFTWARE UTILIZANDO PROGRAMACIÓN ESTRUCTURADA. Los alumnos integrados por binas. investigan y elaboran y resuelven correctamente el siguiente cuestionario. reconozca. GG= N° Gpo en 2 dígitos. nombre del facilitador. Verificación y Depuración? 6. a 2 digitos y XX: N° actividad en 2 dígitos) y subirla a esta plataforma académica en internet y definiendo los siguientes conceptos: 1. 10. Explique la fase: Codificación? 5. además los alumnos pueden corregir conceptos inprecisos manifestados por otros compañeros. a fin de recuperar conocimientos previos. especialidad. solo un archivo por actividad. nombre del alumno. ACT 2. Describa la fase: Análisis del Problema? 3. Determine la fase: Diseño en un problema informático? 4. logo. Explique que entiendes por Identificación y Resolución de un problema? 2. ACTIVIDAD EN PLATAFORMA: CUESTIONARIO EN BINAS: CONCEPTOS Y GENERALIDADES DE LA PROGRAMACIÓN. nombre del módulo. Cual es la utilidad tienen los Algoritmos y la Diagramación? 3. analizan los cuestionamientos siguientes y expresan respuestas personales sobre: PRINCIPIOS DE PROGRAMACIÓN: 1. Los comentarios vertidos deben ser breves. Cite 10 operadores que Ud. 4. número de lista. debes incluir un párrafo de al menos 5 lineas con: Conclusiones Personales (el contenido íntegro del archivo nunca debe exceder un máximo de 6 cuartillas). Explicar que es la Compilación? 12. Ejecución. en Contenido). lugar y fecha). Define Lenguaje? 9. I UNIDAD GENERALIDADES DE LA PROGRAMACIÓN: PROBLEMAS INFORMATICOS. grupo. NL: N° lista. manteniendo en todo momento una actitud de cordialidad respeto. Que es un programa de cómputo? 2. recuperan conocimientos previos sobre la programación sin consultar en ningún medio. con el nombre específicamente asignado y el texto debe contener: Portada (misma que se incluye en la primera parte. 15. sin exceder 2 Mb el tamaño máximo de cada archivo. 5 . Que utilidad tiene un Diagrama de Flujo? 13. Desarrollo de la actividad y por úlimo al final. Determine las etapas: Compliación. debeiendo elaborar individualmente un documento electrónico de Word con el nombre (AGGNLXX. Exprese en forma algebráica una suma. ALGORITMOS. Describa la fase: Mantenimiento? 7. PSEUDOCÓDIGOS Y DIAGRAMACIÓN.

Extraer del horno. salami y chorizo). nombre de la actividad. Fin 6 . 4. Colocar gato. con el nombre (AGGNL. Obtener ingredientes (Harina. especialidad. 6. orégano. Agregar queso rallado. grupo. al final deberá guardarse y subirse el documento electrónico correspondiente de esta actividad de equipo. 5. presentan y exponen en clase un problema cualitativo simple y su solución de acuerdo a la metodología utilizada en informática. Hornear por 20 min. Guardar llanta ponchada y herramienta en cajuela. ALGORITMO: ELABORAR UNA PIZZA DE CARNES FRIAS: 1. 8. 11. salchicha. una última diapositiva que debe incluir Comentarios de Equipo y remitirla al facilitador via email en la fecha indicada. ( A= Módulo 01. Retirar gato. Los alumnos integrados en equipos de 5. deberá contener la lista con los nombres de todos los participantes ordenados por apellidos en orden alfabético en su portada. 4. 2. esta debe incluir en la 1ª diapositiva: portada (con logo de la escuela. una o 2 láminas en que expongan su problema. de ser presentación electrónica. 12. salsa de tomate. Mezclar la salsa de tomate. para ello.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Se informa que algunas de las competencias evaluadas en este módulo son: responsabilidad y honestidad. así mismo el facilitador apoya complementando cada explicación expuesta por los equipos. además debe cuidar los lineamientos de tamaño de archivo y fecha de cierre. Retirar llanta ponchada. 7. Reposar mezla de masa por 30 min. integrantes del equipo por num. Elaborar torta plana de aproximadamente 45 cms de diámetro con el rodillo. por ello. GG= N° Gpo 2 dígitos. Mezclar Harina. Extraer herramienta y llanta repuesto de la cajuela. 8. previamente descritos para efectos de evaluación. 7. de lista de c/u y el tema abordado). Colocar llanta de repuesto en su lugar y asegurar. ALGORITMOS: (CUALITATIVOS Y CUANTITATIVOS) CUALITATIVOS: ALGORITMO: REMPLAZAR UNA LLANTA PONCHADA: 1. levadura. sal y orégano. 5. Nota importante: Solo cada responsable de equipo debe subir la presentación a la plataforma académica. por lo que detección de copia o plagio de algún archivo de plataforma y/o práctica (parcial o íntegro) por parte de cualquier alumno será motivo de reprobación del submódulo en cuestión. 9. Inicio. Inicio 2.PPTX). Agregar carnes frías y chorizo. NL: a 2 dígitos del representante del equipo. Los alumnos realizan cuestionamientos a los equipos expositores a fin de resolver dudas. Agregar la mezcla de salsa de tomate sobre la torta. ACTIVVIDAD EN CLASE: PROPUESTA DE SOLUCIÓN DE UN PROBLEMA COTIDIANO. Fin. reposar por 15 min y consumir pizza. levadura y sal con agua tibia (consistencia no pegajosa pero suave). 3. en representación del mismo. esta actividad pueden realizar en láminas para rotafolio o mediante una presentación electrónica en Power Point para exponer su planteamiento. 10. jamon. 3. sal. 6.de ser en láminas de rotafolio. queso.

2. Escribir “Promedio de 3 números: “. 7. Leer “2° número: “ N2. Ingresar 1° número. Leer CatetoOP 3. ( M1= Módulo1. 5. 5. nombre de la actividad. 2. Leer CatetoADY 4. 3. Leer “3° número: “ N3. Ingresar 2° número. PSEUDOCÓDIGO: 1. SUM=N1+N2+N3. 2. 6. presentan y exponen en clase la solución de un problema físico y/o matemático simple y su solución mediante un Algoritmo cuantitativo y su respectivo Pseudocódigo. Desplegar resultado de la Hipotenusa. Sumar los 3 números. 4. 8. Así mismo deberán crear una presentación electrónica en Power Point que incluya en la 1ª diapositiva: portada (con logo de la escuela. el número de diapositivas dependerá del grado dificultad del problema planteado y deberán nombrar el archivo:(AGGNLXX. Inicio.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PROCESOS COMPUTACIONALES ENTRADA PROCESO SALIDA CUANTIITATIVOS: ALGORITMO: CALCULO DEL PROMEDIO DE 3 NUMEROS: 1. Fin CatetoADY PSEUDOCÓDIGO: 1. HIPO ACT 3. 4. Inicio. Fin. 5. PROM=SUM/3 7. 2. 7 . Calcular HIPOTENUSA=√???????? 2 + ????????? 2 5. Proporcionar CatetoOP 3. Dividir entre 3 la suma de los números. HIPO=SQRT((????????)2 + (?????????)2 ).PPTX). Escribir “Resultado de la Hipotenusa: “. ACTIVIDAD EN PLATAFORMA: PROPUESTA DE SOLUCIÓN DE UN PROBLEMA FISICO Y/O MATEMÁTICO. grupo. 6. Ingresar 3° número. especialidad. integrantes del equipo por num. Inicio. NL: El número de lista del representante del trio y XX: N° actividad en 2 dígitos). una última diapositiva que debe incluir Comentarios de Equipo. Fin ALGORITMO: CALCULO DE HIPOTENUSA DE UN TRIANGULO RECTANGULO. Leer “1° número: “ N1. Proporcionar CatetoADY Hipotenusa 4. Los alumnos integrados por equipos. 3. CatetoOP 6. PROM 8. Inicio. GG= N° Gpo 2 dígitos. de lista de c/u y el tema abordado). Devolver cociente obtenido. 1.

en representación del mismo. GPO. PRÁCTICA N°2: AGGNL102. PRÁCTICA N°1: AGGNL101.DOC EJERCICIOS DE ALGORITMOS CUANTITATIVOS: Los alumnos en forma individual elaboran documento de Word con nombre especificado arriba los siguientes Algoritmos y Pseudocódigos. Determinar que son las Constantes? 9. ESPECIALIDAD. CUESTIONARIO DE COMPLEMENTO (ACTIVIDAD INDIVIDUAL): 1. Describir que es Diagramación? 6. 5. Describir una Variable? 8. Explicar que es una sentencia de asignación y representar un ejemplo de estas. AGENDA ACTIVIDADES PERSONALES DE 1 DIA POR HORA 6:00-23:00 HRS. Diferenciar Desiciones de Ciclos en la programación.CDR. REALIZAR REIRO DE UN CAJERO AUTOMÁTICO.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Los alumnos realizan cuestionamientos a los equipos expositores a fin de resolver dudas. Nota importante: Solo cada responsable de equipo debe subir la presentación a la plataforma académica. PREPARAR SANDWICH. 11. 3. que se te proponen a continuación (definir fórmulas a aplicar). 14. NL. 2. Citar y explicar 3 tipos de errores en la programación. 12. así mismo el facilitador apoya complementando cada explicación expuesta por los equipos. NOMBRE DEL FACILITADOR. además debe cuidar los lineamientos de tamaño de archivo y fecha de cierre. deberá contener los nombres de todos los participantes ordenados por número de lista en su portada. 10. Explicar que es Pseudocódigo? 4. ELABORAR UN PASTEL.DOC Elaborar los 4 Algoritmo en documento Word indicado con los siguientes ejercicios que se te proponen a continuación: 1. 4. CREAR CUENTA DE EMAIL EN HOTMAIL. que genere un documento del tipo *. es una descripción o párrafo de 5 líneas donde describa que utilidad te generó haber realizado esos ejercicios). 7. Explicar que son Operadores y citar 5. Definir Programación lineal. Determinar Algoritmo y citar sus características? 2. NOMBRE Y NÚMERO DE LA PRÁCTICA. 15. CONCLUSIONES (Este apartado debe aparecer al final de tu práctica. ELABORAR UNA LIMONADA. 1. NOMBRE DEL ALUMNO. Explicar que son las iteraciones en un ciclo. PRÁCTICA N°3: AGGNL103. 13. 3.DOC ó *. REALIZAR LLAMADA EN TELEFONO PÚBLICO. Diferenciar Algoritmo de Pseudocódigo. Describir que es control flujo de un programa. así mismo deberá subir al Servidor de red académica para efectos de evaluación (Algoritmo por página sin incluir conclusiones). Explicar que importancia tienen las Estructuras de Control dentro de la Programación.DOC EJERCICIOS DE ALGORITMOS CUALITATIVOS: Los alumnos en forma individual elaboran un documento de Word con nombre especificado arriba los siguientes Algoritmos. 4. previamente descritos para efectos de evaluación. así mismo subir al Servidor de red 8 . Diferenciar un Algoritmo Cualitativo de uno Cuantitativo? 3. por ello. NOTA IMPORTANTE: DATOS QUE DEBEN CONTAR TODOS LOS DOCUMENTOS DE PRÁCTICAS: NOMBRE DE LA ESCUELA. COMPRAR ANTIBIOTICO EN LA FARMACIA. 2. al final deberá guardarse y subirse el documento electrónico correspondiente de esta actividad de equipo.

2. COMPRA DE UN ARTÍCULO: INGRESAR ARTÍCULO. SI ES > DE 1000. TOTAL A PAGAR. las siguientes 3 diapositivas la representación del problema. PRECIO DE VENTA.00 APLICAR DESCUENTO DEL 15%. Para ello. 1. Los alumnos integrados por equipos de 5. 4. NOMINA SEMANAL: INGRESAR NOMBRE DEL TRABAJADOR. CONVERSION DE PESOS A DÓLARES. los ejercicios propuestos a continuación: 1. una última diapositiva que debe incluir Comentarios de Equipo. deberán crear una presentación electrónica en Power Point que incluya en la 1ª diapositiva: portada (con logo de la escuela. CALCULAR DESCUENTO. CUOTA IMSS 12%. además debe cuidar los lineamientos de tamaño de archivo y fecha de cierre. especialidad. Y DEVOLVER ARTICULO. SI EL TRABAJADOR LABORA 6 DIAS OTORGAR EL PAGO DEL SÉPTIMO DÍA Y DESCONTAR DE LOS INGRESOS TOTALES EL IMSS E INFONAVIT. al final deberá guardarse y subirse el documento electrónico correspondiente de esta actividad de equipo. 3. ACTIVIDAD DE CLASE: TÉCNICAS DE DIAGRAMACIÓN. ISPT: 5% E INFONAVIT 8%. de lista de c/u y el tema abordado).DOC Elaborar Algoritmos y Pseudocódigos en documento Word especificado. 2.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 académica para efectos de evaluación (Cada uno de los 4 ejercicios de Algoritmo y Pseudocódigo iniciar en página nueva sin incluir conclusiones). investigan un ejemplo de solución de un problema compuatacional (Algoritmo cuantitativo) y lo exponen en clase utilizando los tipos de diagramas: 1. CALIFICACIONES: INGRESAR 3 CALIFICACIONES. TABLA DE MULTIPLICAR DEL DE UN NÚMERO DEFINIDO DURANTE LA EJECUCIÓN DEL PROGRAMA. Y COSTO UNITARIO DEL PRODUCTO. en representación del mismo. ( A= Módulo1. DEDUCCIONES Y TOTAL DE PAGO QUE RECIBE EL TRABAJADOR. deberá contener la lista con los nombres de todos los participantes ordenados por apellidos en orden alfabético en su portada.00 APLICAR 30% DE DESCUENTO. Warnier Orr. previamente descritos para efectos de evaluación. 3. CALCULO DE ÁREA DE UN TRIANGULO RECTÁNGULO. Diagrama de Flujo. Nassi Shneiderman. CALCULO DE LA SUPERFICIE DE UN CÍRCULO. integrantes del equipo por num. 4. Nota importante: Solo cada responsable de equipo debe subir la presentación a la plataforma académica.00. CALCULAR TOTAL DE INGRESOS. IVA. CONSIDERAR COMO DATOS PERCEPCIÓN/DIA $ 55. Los alumnos realizan cuestionamientos a los equipos expositores a fin de resolver dudas. y TOTAL A PAGAR. por ello. NL: El número de lista del representante del equipo). grupo. PRÁCTICA N°4: AGGNL104. GG= N° Gpo 2 dígitos. DIAS LABORADOS. IVA. 9 . MONTO DEL DESCUENTO Y TOTAL A PAGAR.PPTX). VENTA CON DESCUENTO: INGRESAR ARTICULO Y COSTO DEL ARTICULO. 2. SI ESTE ES <=$1000. 3. nombre de la actividad. OBTENER EL PROMEDIO Y DEVOLVER RESULTADO CON SALIDA DE CALIFICACIÓN CON LA ETIQUETA APROBADO/REPROBADO DEPENDIENDO DEL PROMEDIO OBTENIDO. así mismo el facilitador apoya complementando cada explicación expuesta por los equipos. PROCESAR. utilizando las 3 técnicas de diagramación mencionadas y nombrar el archivo:(AGG_NL. DEVOLVER: ARTICULO COMPRADO Y CALCULO DESGLOSADO: COSTO.

10 .ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PRÁCTICA N°5: AGGNL105. DOC ELABORAR LA SIMBOLOGÍA PARA DIAGRAMAS DE FLUJO EN COREL DRAW CON BREVE DESCRIPCIÓN DE CADA SÍMBOLO.

Proporcionar Base del triángulo. Inicio. DOC ENTORNO DE DESARROLLO DE FreeDFD: El facilitador describe la Interfaz del FreeDFD. SUP 6. SUP 5. 1. además hacen correlación de símbolos utilizados en la Diagramación de flujos y las diferencias aplicadas por FreeDFD. DOC. submenús. Menús. ESCRIBIR“Superf triangulo=”. 3. AT: Area del triángulo rectángulo. EJEMPLO CÁLCULO DEL ÁREA DEL TRIÁNGULO RECTÁNGULO ALGORITMO PSEUDOCÓDIGO DIAGRAMA DE FLUJO 1. forma de accesar y uso. Ingresar Altura del triángulo. 2. barra de herramientas. SUP: Superficie del triángulo.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PRÁCTICA N°6: AGGNL106. Leer BT. Los alumnos elaboran el documento AGGNL106. (????)(??????) (??)(??) 4. AT 2 2 5. SUP= 4. INICIO 3. Inicio. Fin 6. submenús. incluir imagen del entorno del FreeDFD y conclusiones personales al final del reporte. Barra de herramientas y cada uno de sus elementos. 2. en que describen cada uno de los elementos del entorno del FreeDFD Menús. Fin SUP=(BT*AT)/2 DICCIONARIO DE DATOS: “SUPERFICIE TRIANGULO” SUP BT: Base del triángulo rectángulo. Desplegar “Superf triangulo=”. FIN 11 . SUP= BT. Leer AT.

grupo. especialidad. DOC En la práctica 7. Nota importante: Solo cada responsable de equipo debe subir la presentación a la plataforma académica. Los alumnos integrados por equipos de 3. las siguiente diapositiva la pantalla del FreeDFD con los 20 elementos mencionados.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PRÁCTICA N°7: AGGNL107. AGGNL109A.DFD 6. AGGNL110. crear una presentación electrónica en Power Point que incluya en la 1ª diapositiva: portada (con logo de la escuela. por ello.DFD 4.PPTX A= Módulo1. PRÁCTICA N°8: Realizar los Diagramas de flujo con la herramienta FreeDFD de los ejercicios 2-4 propuestos en las figuras anteriores con los nombres: 1. en el que realizan los PSEUDOCÓDIGOS de los 4 diagramas propuestos en la figura siguiente. una última diapositiva que debe incluir Comentarios de Equipo. AGGNL108A.DFD 5. AGGNL108. previamente descritos para efectos de evaluación. Los alumnos realizan cuestionamientos a los equipos expositores a fin de resolver dudas. nombre de la actividad. deberá contener los nombres de todos los participantes ordenados por Apellido en forma alfabética en su portada.PSC 2. en las siguientes las necesarias para definir la función de los 20 elementos referidos y nombrar el archivo:(AGG_NL. proponen la resolución de un problema computacional (Algoritmo cuantitativo) resuelto mediante la herramienta FreeDFD y definen 20 elementos del entorno de trabajo de la misma. en representación del mismo. al final deberá guardarse y subirse el documento electrónico correspondiente de esta actividad de equipo. AGGNL110A. GG= N° Gpo 2 dígitos. de lista de c/u y el tema abordado). Para ello. 12 .PSC ACTIVIDAD DE CLASE: ENTORNO DE FreeDFD. los alumnos en forma individual elaboran un documento de Word con el nombre indicado. además debe cuidar los lineamientos de tamaño de archivo y fecha de cierre. así mismo el facilitador apoya complementando cada explicación expuesta por los equipos.PSC 3. integrantes del equipo por num. NL: El número de lista del representante del trio). AGGNL109.

deben contestar solo en MAYUSCULAS SIN ACENTOS. correctamente la actividad. correspondiente a la 4 actividad.DFD PRÁCTICA N°11: Realizar los Diagramas en la herramienta FreeDFD los siguientes ejercicios propuestos en la la figura de abajo. AGGNL117.DFD 2.DFD 2. AGGNL116. AGGNL113. en cada palabra puede solicitar hasta un máximo de 2 caracteres o pistas de la respuesta correcta para no ser penalizado. cuando se despliegue el resultado obtenido (pulse las teclas Alt+Impr pantalla). debe elaborar individualmente un documento de Word con el nombre (AGGNLXX. AGGNL119. Para ello. AGGNL114.DFD 4.DFD 4.DFD 3.DFD ACT 4.DFD 4. Para ello. AGGNL120. AGGNL118. en un tiempo no mayor de 15 min. no cerrar la pantalla con el resultado. AGGNL115. misma que es el registro o evidencia de resolución del mismo. ya que debes capturar la pantalla con la calificación legible.DFD 3.DFD 2.DOC).ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PRÁCTICA N°9: Realizar los Diagramas de flujo con la herramienta FreeDFD de los 4 ejercicios de Algoritmos cuantitativos propuestos en la práctica 3 con los nombres: 1. así mismo una vez resuelto el crucigrama (verifica que no tengas activado el bloqueo de ventanas emergentes). AGGNL112. con los nombres: 1. en el que debes pegar la imagen previamente capturada del crucigrama. ACTIVIDAD EN PLATAFORMA: CRUCIGRAMA “PRINCIPIOS DE LA PROGRAMACIÓN”. AGGNL111.DFD 3.DFD PRÁCTICA N°10: Realizar los Diagramas de flujo con la herramienta FreeDFD de los 4 ejercicios de Algoritmos cuantitativos propuestos en la práctica 4 con los nombres: 1. AGGNL122. AGGNL121. así mismo liste y defina cada uno de los términos correctos del 13 . Los alumnos en forma individual escriben sus datos personales solicitados y resuelven el CRUCIGRAMA propuesto en la liga de enlace.

realizan el diseño y exposición de una presentación electrónica en Power Point con nombre: (AGGNLXX.DFD: DIAGRAMA EN FreeDFD 14 . 5. la última diapositiva. Actividad de plataforma virtual EDMODO. ya que de no apegarse al desarrollo de esta técnica el equipo será evaluado con un cero “0” en esta actividad) para ello la presentación deberá contar con Diapositiva 1: portada con los mismos datos y requisitos descritos en presentaciones anteriores. para ello deben elaborar el Pseudocódigo y el Diagrama de flujo en FreeDFD. NC: Número de Control. Diapositiva 2: o desarrollo. en caso contrario devolver la etiqueta Calif2: Calificación de la materia 2 “REPROBADO” Calif3: Calificación de la materia 3. no olvide anotar conclusiones personales al final de su documento a subir en plataforma académica. Mat1: Materia 1. Devolver Prom Mat5: Materia 5. ya que el sistema deja registro de acceso y solo será válido el primer intento. Mat3: Materia 3. ACTIVIDAD EN PLATAFORMA: QUIZ EN LINEA “PRINCIPIOS DE LA PROGRAMACIÓN”. que contenga un Mapa conceptual (Se sugiere ver y analizar el ejemplo que se encuentra en la sección Contenido del Curso: “Elaboración de Mapas Conceptuales” que se proporciona al inicio de esta plataforma académica. ACT 5.PPTX). Prom: Promedio de las 5 calificaciones. Ingresar: Especialidad y semestre. Algoritmo. incluir conclusiones de equipo. True/False (Verdadero/Falso). Nom: Nombre del Alumno. (se sugiere ver decisiones) con las indicaciones siguientes: OPERACIONES A REALIZAR DICCIONARIO DE DATOS Ingresar num. Nom Mat2: Materia 2. por último. deberá contener el Mapa conceptual con los elementos que se especifican y en Diapositiva3: conclusiones de equipo. Operaciones: obtener el promedio de las 5 calificaciones. NOTA IMPORTANTE: Accesar a los crucigramas solo si se va a resolver estos. Pseudocódigo. Relacionar columnas y Opción múltiple. para ello después de contestar cada pregunta pulse el símbolo > que aparece en la parte superior y continuar con la siguiente pregunta hasta finalizar ACT 6. 4. Diagramación. consistente en un cuestionario en línea que tiene tiempo límite para su resolución. Los alumnos integrados en equipos de 5. Sem: Semestre. Debiendo subir cada representante a plataforma. 2. Calif4: Calificación de la materia 4. Variables y Constantes. Especificaciones de los tipos y nombres de archivos a subir en servidor para efectos de evaluación: AGGNL122. (Sub01: 20 minutos y 100 puntos) las preguntas pueden ser de los tipos: Complemento. Problema informático.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 crucigrama. aplicando especificaciones descritas para efectos de evaluación. Devolver datos: MatX y CalifiX (5). Devolver datos: NC. en caso contrario se anulará quien registre más de 1 intento y la calificación será cero. De control. Esp: Especialidad. Ingresar : 5 calificaciones. Condición: Si el Prom es => 6 Devolver la etiqueta Calif1: Calificación de la materia 1. Mat4: Materia 4. PRACTICA N°12: Los alumnos resuelven un problema de CALIFICACIONES DE ALUMNOS. Calif5: Calificación de la materia 5. ACTIVIDAD EN PLATAFORMA: MAPA CONCEPTUAL “PRINCIPIOS DE LA PROGRAMACIÓN”. la diapositiva de desarrollo deberá contener lo siguientes elementos relacionados a continuación: MAPA CONCEPTUAL. Subir documento electrónico a plataforma académica. nombre del alumno.PSC: PSEUDOCÓDIGO AGGNL123. 1. 3. Devolver datos : Especialidad y semestre. Ingresar: 5 Materias. “APROBADO”.

Describir Estructuras de Control y su utilidad en C++.DOC). Explicar Funciones Predefinidas y mencionar 10 más comunes. 10. Describir Archivos de Cabecera. 15 . (donde A corresponde a Módulo 1. Los alumnos integrados por binas. 2. Describir Estrcuturas de Control Repetitivo. Comentarios vertidos deben ser breves. debiendo elaborar individualmente un documento electrónico de Word con el nombre (AGG_NL.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 II UNIDAD LENGUAJE PROGRAMACIÓN PROGRAMACIÓN ESTRUCTURADA C++: ESTRUCTURA DE UN PROGRAMA. Describir Estrcuturas de Control Selectivo. Que importancia tiene el Código Binario en la programación? 3. Los alumnos. OPERACIONES DE ENTRADA Y SALIDA Y ESTRUCTURAS DE CONTROL. ACTIVIDAD DE CLASE: EVALUACIÓN DIAGNÓSTICA: GENERALIDADES DE LA PROGRAMACIÓN ESTTRUCTURADA EN C++. además los alumnos pueden corregir conceptos inprecisos manifestados por otros compañeros. ACTIVIDAD EN PLATAFORMA: 2° FORO EN LINEA: “LENGUAJES DE PROGRAMACIÓN ESTRUCTURADA”. Que son reglas de sintaxis y su importancia en la programación. 8. Que son Instrucciones Secuenciales. así mismo deberá evitarse confrontaciones personales y no utilizar lenguaje obsceno ni ofensivo. 5. Describir Lenguaje C++. a fin de recuperar conocimientos previos. 5. Definir tipos de datos en C++. ACT 7. Describa 5 características de los Lenguaje de Alto nivel? 4. FUNCIONES PREDEFINIDAS. Cite 3 Lenguajes de alto nivel. Definir Función principal de un programa en C++. 4. elaboran y resuelven correctamente el siguiente cuestionario. investigan. Describa la utilidad del Lenguaje? 2. 6. Explicar como se realizan las operaciones de entrada y salida de datos en C++. recuperan conocimientos previos sobre la programación sin consultar en ningún medio. a 2 digitos) y definiendo los siguientes conceptos: 1. LIBRERÍAS. 3. manteniendo en todo momento una actitud de cordialidad respeto. TIPOS DE DATOS. NL: N° lista. analizan los cuestionamientos siguientes y expresan respuestas personales sobre: PROGRAMACIÓN C++: 1. 9. claros y concretos. 7. GG= N° Gpo en 2 dígitos.

Escritorio.PPTX). no cerrar la pantalla con el resultado. sin exceder 2 Mb el tamaño del archivo. ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 ACT 8. específico. (donde A corresponde a Módulo 1. ya que debes capturar la pantalla con la calificación legible. elaboran documento electrónico de Powerpoint. Pantalla de ejecución o corrida del programa. misma que no deberá exceder de un tiempo no mayor de 15 min. en que detallen los siguientes aspectos: 1. así mismo una vez resuelto el crucigrama. no olvide anotar conclusiones personales al final de su documento a subir en plataforma académica. con el nombre asignado y el Contenido. GG= N° Gpo en 2 dígitos. Barra de Herramientas.DOC). en cada palabra puede solicitar hasta un máximo de 2 caracteres o pistas de la respuesta correcta para no ser penalizado. Requerimientos necesarios para ejecutar la aplicación. Barra de Título. ACTIVIDAD DE PLATAFORMA: “IDE DEL BORLAND C++ PARA WINDOWS”. sobre conceptos relevantes del entorno de Desarrollo de Borland C++ propuesto por el Facilitador. Archivo CPP codificado en editor del IDE. correctamente. ACTIVIDAD EN PLATAFORMA: CRUCIGRAMA ”ELEMENTOS DE LA PROGRAMACIÓN ESTRUCTURADA EN C++". nombre (AGGNLXX. Los alumnos resuelven individualmente el crucigrama propuesto en la liga especificada para esta actividad. Nota importante : Subir a plataforma. debe elaborar individualmente un documento de Word con el nombre (AGGNLXX. Elementos de la ventana principal del IDE de C++. NL: N° lista. en el que debes pegar la imagen previamente capturada del crucigrama. Barra de Menú. 16 . a 2 digitos y XX: N° actividad en 2 dígitos) . el archivo de la actividad. por último. 3. Ventana de mensajes y depuración. Descripción de Menús y Submenús. así mismo liste y defina cada uno de los términos correctos del crucigrama. 2. Mencionar otros IDE similares y características Grales. ACT 9. Para ello. misma que es el registro o evidencia de resolución del mismo. 4. Los alumnos integrados por equipos de 5. cuando se despliegue el resultado obtenido (pulse las teclas Alt+Impr pantalla). que debe apegarse a las instrucciones previamente descritas sin omitir Conclusiones de equipo.

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 CODIGO ASCII 17 .

h. 6. 7.h. 9. Desescribir el comando printf. subménus y forma de aplicación de la herramienta de software. 11.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PRÁCTICA N°13: ENTORNO DE BORLAND C++: El Facilitador expone a los alumnos la instalación del IDE de Borland C++. Diferenciar main de int main. Definir el comando getch(). menús. Analizar y comparar los ejercicios anteriores y explicar las diferencias. 18 . Determinar que es la función principal en C++ y cuando debe utilizarse. los elementos principales. Describir los archivos de cabecera: iostream. 4. 2.CPP AGGNL125. 5. 8. 3. Explicar el comando return 0.h y stdio. AGGNL124. Que son los comentarios en C++. 13. Explicar 5 reglas sintácticas básicas en un programa en C++. 10. conio. Explicar operaciones de salida en C++. Describir directiva de inclusión en C++. Citar 10 diferencias entre los Lenguajes C y C++. además codificar y ejecutar correctamente los siguientes ejemplos de programas en C++.CPP ACTIVIDAD DE COMPLEMENTO (Actividad individual): 1. 12. Explicar el comando cout.

previamente detallado. realizan investigación y exposición del tema único que se especifica. desarrollo (texto resumido. Nota importante: Solo el representante de equipo debe subir la presentación a la plataforma académica. así mismo el facilitador apoya complementando cada una de exposiciones. tamaño de archivo. con imágenes relacionadas). los alumnos pueden cuestionar a los equipos ponentes a fin de resolver dudas. los temas serán abordados solo uno por equipo y previa asignación del facilitador docente. así también. que se asignarán de manera específica por el facilitador a cada equipo : 1. diapositivas y fecha de cierre. verificar. PRÁCTICA 14: MANEJO DE CONSTANTES Y VARIABLES: Codificar.PPTX). Los alumnos integrados en equipos de 5. al final conclusiones de equipo.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 ACTIVIDAD DE CLASE: CONCEPTOS DE LA PROGRAMACIÓN EN C++ . los archivos correctos y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: AGGNL126. depurar. ejecutar individual.CPP 19 . La última diapositiva debe incluir Comentarios de Equipo. conteniendo los nombres de integrantes organizados por orden alfabético de Apellido en su portada. lo que acreditará la participación correspondiente. cuidando lineamientos de contenido. que expongan uno de los siguientes tópicos. Modelo Arquitectura Segmentada de John Von Newman El docente eligirá 3 de las investigaciones mejor documentadas. previamente descritos para efectos de evaluación. los equipos deberán guardar y subir el documento electrónico con el nombre (AGG_NL. y solo las mejores podrán exponer el tema a sus compañeros. num. debiendo elaborar para ello una presentación electrónica en Power Point que conste de 11 diapositivas como máximo que incluya: Portada (ya especifiicada).

CPP Aplicando los conceptos de constantes y variables de los ejercios anteriores: codificar (incluyendo los comentarios correspondientes).CPP 20 .ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL127. depurar.CPP AGGNL129. verificar y ejecutar correctamente los siguientes programas en C++: AGGNL128.

misma que será asignada por el Facilitador.556 GK: Grados Kelvin 4. Nota importante: Solo el representante de equipo debe subir la presentación a la plataforma académica. GK 6. uso de los paréntesis. formas de introducir valores a una variable. Operadores reconocidos por C++ y su orden de precedencia. GF: Grados Farenheit 2. Programación Visual y la Programación Orientada a Objetos. stdlib. así también. “ ° Fahrenheit= “. Diferencias entre la Programación lineal. GF GC: Grados Centígrados 3. Inicio.h. Escribir GF. Fin 21 .h. 7. 2. Los alumnos durante la sesión de exposiciones realizan cuestionamientos a los equipos ponentes a fin de resolver dudas. 5. GC=(GF-32)*0. al final conclusiones de equipo. tamaño de archivo. “ ° Fahrenheit= “. Escribir GF. Diferencias entre los Lenguajes C y C++. ctype. Estructura de un Programa en C++ (ejemplificado) y definir Tokens (identificadores. GC “ ° Centígrados” Flotantes: GF. GC. PRÁCTICA 15: OPERACIONES DE ENTRADA Y SALIDA DE DATOS: Codificar en C++. float. diapositivas y fecha de cierre. La última diapositiva debe incluir Comentarios de Equipo. Diferencias entre los Lenguajes bajo nivel. GK=GC+273 5. verificar.PPTX). que se asignarán de manera específica por el facilitador a cada equipo : 1. conio. Leer “Grados Fahrenheit a convertir: “. que expongan uno de los siguientes tópicos. 10. nivel medio y alto nivel. ejecutar. Archivos de cabecera y especificar características de iostream. con imágenes relacionadas). GK “ ° Kelvin” 7.h. así mismo el facilitador apoya complementando cada una de exposiciones. Funciones en C++ (predefinidas y definidas por usuario). desarrollo (texto resumido.h. ACTIVIDAD EN PLATAFORMA: PRESENTACIÓN CONCEPTOS DE LA PROGRAMACIÓN EN C++ . operadores). realizan investigación y exposición de uno de los temas en la relación indicada en la actividad. math. Los alumnos integrados en equipos.h. 3. palabras reservadas. debiendo elaborar para ello una presentación electrónica en Power Point que conste de 11 diapositivas como máximo que incluya: Portada (ya especifiicada).ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 ACT 10. depurar. Operaciones de entrada y salida en C++ y operadores de flujo de entrada y operadores de flujo de salida. previamente detallado. Tipos de datos reconocidos por C++ y sus características requerimientos de Ram y rango numérico. los equipos deberán guardar y subir el documento electrónico con el nombre (AGGNLXX. conteniendo los nombres de integrantes organizados por número de lista en su portada. los temas serán abordados solo uno por equipo y previa asignación del facilitador docente. 6. c/archivo correctamante y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: AGGNL130. cuidando lineamientos de contenido. 4.h y string. 9. Declaración de Datos constantes y Variables y tipos de variables 8.h. individualmente.CPP Programa de conversión de Grados Fahrenheit a Grados Centígrados y Grados Kelvin PSEUDOCODIGO DICCIONARIO DE DATOS 1. previamente descritos para efectos de evaluación. num. Programación Estructurada.

verificar.CPP. lugar y fecha). 4. 7. b= mt2/SB 8. especialidad. logo. Diferenciar Instrucción de comando en C++.C de los *. debiendo elaborar individualmente un documento electrónico de Word con el nombre (AGG_NL. 8. y contener: Portada. No y nombre de la actividad.h: Codificar en C++. Diferenciar archivos *. Mencionar utilidad de math. que incluya tus datos personales (Escuela. Escribir “Dimensión del block 15x40x20 (grosor x alto x ancho en cm. Describir que es inicializar variables y su importancia. Los alumnos integrados por binas. elaboran y resuelven correctamente el siguiente cuestionario.2 Costobloc: costo total de 6. costobloc=b*cu 9. nombre del módulo. a 2 digitos) y subirla a esta plataforma académica en internet y definiendo los siguientes conceptos: 1.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL131. (donde A corresponde a Módulo 1. Escribir “Costo total de los Blocks sin IVA: “ costobloc 11. mt2: mts cuadrados muro. PSEUDOCODIGO DICCIONARIO DE DATOS 1. Diferencias las directivas #include y #define. Escribir “PROGRAMA PARA EL CALCULO Y COSTO DE BLOCK PARA MUROS” sb: superficie del block. Explicar un error en tiempo de ejecución. 4. cada uno de los archivos correctos y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: 22 . 2. b 10. GG= N° Gpo en 2 dígitos.4*0. Explique diferencias entre un compilador y un intérprete. nombre del alumno. Desarrollo: y al final. Escribir “Blocks requeridos: “. 5. debes incluir sus: Conclusiones personales. Describir diferencias entre un error lógico y uno de regresión. investigan. recuerda que el contenido íntegro del archivo nunca exceder el máximo de 6 cuartillas). PRÁCTICA 16: CODIFICAR FUNCIONES DE math. depurar. nombre según especificaciones. ejecutar. grupo. Nota importante: Aplica mismas indicaciones de los trabajos de plataforma especificados: archivo no exceder 2 Mb. 2. cu=10 los blocks. 7. 5.CPP 2 Programa Cálculo de cantidad de Block y costo total a pagar dependiendo de los Mt de muro requeridos. sb=0. NL: N° lista. Explicar que son las sentencias de asignación. Leer “Mt2 de Muro a construir: “ mt2 b: número de blocks. nombre del facilitador. Fin ACTIVIDAD DE CLASE: “CUESTIONARIO REGLAS PARA EL DISEÑO DE PROGRAMAS EN C++”. 6. a fin de recuperar conocimientos previos. Inicio. número de lista.h. 10. en forma individual.) cu: costo unitario block.DOC). 9. Cite y defina secuencias de escape en C++. 3. 3.

CPP 23 .CPP AGGNL133.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL132.

depurar. en forma individual. ejecutar.CPP PRÁCTICA 17: CODIFICAR FUNCIONES DE ctype.h: Codificar en C++. cada uno de los archivos correctos y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: AGGNL135.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL134. verificar.CPP 24 .

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL136. simplificando el trabajo de los programadores. que contienen un vasto conjunto de funciones que permiten realizar cálculos matemáticos comunes. operaciones de entrada/salida de datos y comprobaciones de errores entre otras de manera simplificada y muchas otras operaciones de gran utilidad. por ello los programas en C++ se escriben combinando funciones nuevas que los programadores generan además de las funciones predefinidas o preempacadas que son disponibles a partir de las bibliotecas estándar de C++. manipulación de cadenas y caracteres.CPP LIBRERIAS (FUNCIONES DE BIBLIOTECA) La programación actual recomienda la técnica de la programación modular. 25 . Funciones estándar o predefinidas: Son archivos o bibliotecas estándar de funciones en tiempo de ejecución que proporcionan soporte a las operaciones más comunes y que se incluyen en todas las versiones de C++. es decir dividir el problema principal en pequeños fragmentos o módulos a fin de facilitar la solución de problema planteado. dentro de un programa se pueden incluir mediante la sentencia : #include y para el uso de una función correspondiente al archivo de cabecera se debe conocer sus argumentos y valores de retorno. estas funciones permiten realizar operaciones con solo una llamada a la función sin necesidad de escribir el código fuente. todas las funciones de un mismo grupo se declaran en el mismo archivo de cabecera. los módulos en C++ son denominados funciones o clases.

siguiendo el flujo del agua.  Manipulación de memoria. para su utilización de cualquiera de estas funciones se debe incluir el archivo de cabecera: #include <ctype.  Interfaz. que es el único canal de entrada predefinido.  Manipulación de cadenas. y la dirección en que se mueve. pero aún no estamos en disposición de acceder a ellas.  Fecha y Hora.  Matemáticas : Operaciones matemáticas.  Búsqueda. En esta librería se definen algunas de las funciones aplicables a los "streams". canal de salida de errores. todas devuelven un valor verdadero (diferente de cero) o falso (cero). tenemos que aclarar cómo se usa. Sobre el uso de "cin".  Control de procesos.  Visualización de ventanas de texto. y además mantendrán su orden.  Diagnóstico : Proporciona rutinas de depuración incorporadas. Por ejemplo.  Gráficos. Los espacios y los retornos de línea actúan como separadores. FUNCIONES DE CARÁCTER <ctype. Donde cada variable irá tomando el valor introducido mediante el teclado. Imagina un canal por el que circula agua. estos se moverán hasta el final de canal.h> : Define el grupo de funciones para la manipulación de caracteres.  cerr. canal de salida de diario o anotaciones.  Clasificación : Procesos de ordenamiento. Cualquier cosa que soltemos en el agua: "hola". : Operaciones estándar de programas.  cout.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Grupos de FUNCIONES de BIBLIOTECA más comunes:  E/S : Utilizada para operaciones de entrada/salida.h> 26 . " " o endl.h> : En el contexto de C++ todo lo referente a "streams" puede visualizarse mejor si usamos un símil como un río o canal de agua.  Rutinas Std. canal de entrada estándar. Los operadores "<<" representarían el agua. Esta es la idea que se quiere transmitir cuando se llama "stream" a algo en C++. Baste decir de momento que existen cuatro "streams" predeterminados:  cin. la salida del canal es la pantalla. si echamos al canal objetos que floten. seguirá flotando hasta llegar a la pantalla. canal de salida estándar.  Diversas FUNCIONES DE BIBLIOTECA MÁS UTILIZADAS DE C++ FUNCIONES DE FLUJO DE ENTRADA-SALIDA <iostream.  Conversión : Rutinas de conversión de caracteres y cadenas. los objetos flotantes serán los argumentos que queremos extraer del ordenador o del programa.  clog.  Directorios. en C++ el canal de salida es "cout". aunque a lo mejor ya lo has adivinado.

int islower (int c) Letra minuscule (a-z). y stdlib. Logarítmicas. int isdigit (int c) Dígito Decimal.14159. tan (x) Calcula tangente del ángulo x (expresado en rads). floor (x) Redondeo por defecto. atan (x) Calcula a rco tangente de x. int isspace (int c) Espacio.h . Trigonométricas. las funciones matemáticas disponibles son: 1. nueva línea. int isprint (int c) Carácter imprimible incluyendo espacio. esta debe ser >= a cero TRIGONOMÉTRICAS: FUNCIÓN DESCRIPCIÓN acos (x) Calcula arco coseno de x (x debe estar entre 1 y –1). retorno de carro.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 FUNCIÓN PRUEBA int isalpha (int c) Letra mayúscula o minúscula. fabs (x) Devuelve valor absoluto de x (positivo). Aleatorias. int isgraph (int c) Carácter imprimible excepto espacio. dígito o letra. int ispunct (int c) Carácter imprimible no espacio.h. Exponenciales. y pow (x. FUNCIONES NUMÉRICAS <math. fmod (x. int isupper (int c) Letra mayúscula (A-Z). int isxdigit (int c) Dígito hexadecimal. 5. FUNCIONES MATEMÁTICAS <math.h>: FUNCIÓN DESCRIPCIÓN ceil (x) Redondeo al entero más próximo. int iscntrl (int c) Carácter de control. Matemáticas. cos (x) Calcula coseno del ángulo x (expresado en rads). int toupper (int c) Convierte a letras mayúsculas.h> : C++ permite realizar prácticamente cualquier operación aritmética. sin (x) Calcula seno del ángulo x (expresado en rads).y) Eleva la potencia de X sqrt (x) Obtiene raíz cuadrada de x. 27 . tabbulación vertical. 2. avance de página. int tolower (int c) Convierte a letras minúsculas. 3.y) Calcula resto flotante de la división x/y. asin (x) Calcula a rco seno de x. Nota: la mayoría de las funciones numéricas se incluyen en los archivos math. tabulación. Para transformar un ángulo de grados a radianes (Grados)Pi/180 Pi=3. 4.

logl (long double). Describa 5 Funciones de caracteres de C++. Explicar el comando char(x). 4. localtime (hora) Convierte la fecha y hora en una estructura de tipo tm. 11. log (x) . log10 (x) . rand (void) Esta macro inicializa el generador de números aleatorios con la semilla obtenida a partir de la función time. Describa operador unitario. logl (x) Calcula el Log natural de x . expl se declara como long double. ya que este fija el punto de inicio para la generación de series aleatorias. Definir manipuladores de salida y describir 6. 14. 10. time (hora) Obtiene la hora actual. 12. Describir Programa Objeto.718282.h que define estructuras. 3. 9. gotoxy. 5. 15.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 LOGARÍTMICAS Y EXPONENCIALES: FUNCIÓN DESCRIPCIÓN exp (x) . Explicar secuencias de escape y citar 10 con su definición c/u.h. 13. 28 . Describir sobrecarga de operadores y ejemplificar. y llaves ( { } ) en un programa en C++. Cite y explique 5 funciones numéricas reconocidas en C++ y defina 2 de cada una.h: (clrscr. definido por num). log10l (x) Logaritmo decimal de x. ACTIVIDAD DE COMPLEMENTO (Actividad individual): 1. mktime (t) Convierte la hora en formato de calendario. 8. 16.h como 2E15-1. wherex y window). Defina Recursividad. textcolor. ALEATORIAS: FUNCIÓN DESCRIPCIÓN rand (void) Genera números aleatorios variando de 0 a Rand_Max Este último se define en stdlib. FECHA Y HORA: Para habilitar estas funciones se requiere el archivo de cabecera time.). Defina 7 funciones habilitadas por conio. FUNCIÓN DESCRIPCIÓN clock Devuelven la hora actual como el número de segundos _strdate transcurridos desde la medianoche del 1 de Enero de 1970 _strtime (GMT). 6. cite y defina 5 de estas. Determine que son las funciones de fecha y hora. 2. expl (x) Calcula exponencial de ex e es la base de logaritmos naturales con valor de 2. macros y funciones para la manipulación de fecha y hora. Determinar Programa Ejecutable. clock (void) Determina el tiempo de procesador transcurrido desde el inicio de la ejecución del programa. Explicar el uso de los signos: Punto y coma (. getch. 17. srand (semilla) Inicializa el generador de números aleatorios. random (num) Genera un número aleatorio dentro de un rango especificado (0 y el limite max. 7. Definir Programa de Cómputo. por lo que ] requiere de archivo de cabecera time. Determinar que son los operadores binarios y su utlidad en C++. getpass. Explicar que es un Programa Fuente. Diferenciar una sentencia de inicialización de una de asignación.

depurar. verificar.CPP Analizar el presente ejercicio ya que el facilitador solicitará explicación del proceso. cada uno de los archivos correctos y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: AGGNL137. 29 . para ello se sugiere investigas sobre el tema Ciclos en la programación de C++.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PRÁCTICA 18: USO DE LA INSTRUCCIÓN GOTOXY DINAMICA: Codificar en C++. en forma individual. ejecutar.

HOJA DE CODIFICACIÓN 0 10 20 30 40 50 60 70 80 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 30 .

nulo (ASCII 0) 31 . 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 Cían Ambos RED 4 Rojo Ambos MAGENTA 5 Magenta Ambos BROWN 6 Marrón Ambos LIGHTGRAY 7 Gris Claro Ambos DARKGRAY 8 Gris Oscuro Sólo para texto LIGHTBLUE 9 Azul Claro Sólo para texto LIGHTGREEN 10 Verde Claro Sólo para texto LIGHTCYAN 11 Cían Claro Sólo para texto LIGHTRED 12 Rojo Claro Sólo para texto LIGHTMAGENTA 13 Magenta Claro Sólo para texto YELLOW 14 Amarillo Sólo para texto WHITE 15 Blanco Sólo para texto BLINK 128 Parpadeo Sólo para texto CARACTERES SECUENCIA DE ESCAPE \a Alarma \b Retriceso \f Avance página \n Retorno de carro y avance de línea \r Retorno de carro \t Tabulación \v Tabulación vertical \\ Barra invertida \? Signo interrogación \ Comillas dobles \ooo Número en octal \xhh Número en Hexadecimal \0 Cero.

141592 R: Radio h: Altura del cilindro AGGNL143A. depuración.DFD AGGNL142. de cada ejercicio individualmente correctamente y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: FUNCIONES MATEMÁTICAS AGGNL138A. verificación. ejecución.CPP A: Area V: Volumen : 3. (Diagramas en FreeDFDCodificar en C++ opcional).141592 r: Radio 32 .DFD √? AGGNL139.DFD AGGNL145.DFD Tan (x) AGGNL140.CPP A: Area V: Volumen : 3.141592 I: Arista AGGNL145A. AGGNL142A.CPP ? AGGNL139A.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PRÁCTICA 19: EJERCICIOS DE REFORZAMIENTO: Realizar Codificación.DFD AGGNL143.CPP A: Area V: Volumen : 3.CPP AGGNL141A.CPP A: Area V: Volumen : 3.141592 R: Radio h: Altura del cono g: Generatriz AGGNL144A.DFD AGGNL144.CPP AGGNL140A.DFD ?? AGGNL138.DFD Exp (x) AGGNL141.CPP PRÁCTICA 20: CALCULO DE AREAS Y VOLUMENES DE FIGURAS GEOMETRICAS: Realizar diagrama y codificación correspondientes.

ESTRUCTURAS DE CONTROL SECUENCIAL: Definida como una secuencia finita de acciones hasta obtener un resultado coherente. estas permiten combinar instrucciones o sentencias individuales en una unidad lógica con procedimientos de entrada y salida. donde el flujo de ejecución se bifurca. Selectivas. Todos los ejemplos y ejercicios vistos hasta ahora se ejecutan en modo secuencial. para esto existen las estructuras de control las cuales se dividen en 3 grupos: 1. 3. sin embargo no siempre es recomendable este tipo de programación para todos los casos. 2. instrucciones sucesivas. desde el inicio hasta el final del programa. siendo útil solo en programas sencillos. Si al evaluar la condición lógica es falsa se ignora la ACCION_A y continua el flujo normal del programa. Si la condición lógica es verdadera se ejecuta la ACCION_A y continua el flujo normal del programa. <sentencia_1>. CONDICIÓN SELECTIVA SIMPLE CONDICIÓN SELECTIVA DOBLE Flujo original Flujo original SI SI OPC=1 Acción_A OPC=1 Acción_A NO NO Acción_B CONDICIÓN SELECTIVA SIMPLE La sentencia selectiva simple evalúa una condición lógica.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 ESTRUCTURAS DE CONTROL EN C++ Aquellas que definen y controlan el flujo de ejecución de un programa o función. ya que existe problemas que requieren se ejecuten ciertas sentencias solo en algunos casos. La evaluación de la condición lógica representa un sólo valor Verdad o Falso. Sintaxis: if (condición lógica ) ACCION_A. <sentencia_2>. CONDICIÓN SELECTIVA DOBLE La sentencia selectiva doble evalúa una condición lógica Si la condición lógica es verdadera se ejecuta la ACCION_A. Repetitivas. ----------- < sentencia_n>. Secuenciales. ESTRUCTURAS DE CONTROL SELECTIVO (SIMPLE Y DOBLE) IF: C++ reconoce a la sentencia IF como la estructura de control selectivo principal y presenta 2 alternativas: cuando la condición se cumple o cuando esta no se cumple. Si la condición lógica es evaluada como falsa se ejecuta la ACCION_B 33 . Su ejecución se realiza en el orden en que se presentan las instrucciones.

CPP AGGNL147. cada uno de los archivos correctos y subir al servidor de red académica para efectos de evalución los siguientes programas: AGGNL146. en forma individual. DOBLE: Codificar en C++. depurar. PRÁCTICA 21: CONTROL SELECTIVO IF-THEN SIMPLE. ejecutar. else ACCION_B.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Sintaxis: if (condición lógica ) ACCION_A. verificar.CPP 34 .

CPP PRÁCTICA 22: CONTROL SELECTIVO IF-THEN MULTIPLE: Codificar en C++. verificar. cada uno de los archivos correctos y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: AGGNL150. ejecutar.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL148. depurar.CPP AGGNL149.CPP Aplicar manipulador de salida de datos a 2 dígitos decimales 35 . en forma individual.

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL151.CPP 36 .

La etiqueta default indica al programa lo mismo que la sentencia else en la secuencia de if anidados. El valor puede ser variable. el selector debe ser un dato de tipo ordinal (int. // optativo } 37 . 5. Ejemplo: Formato de la estructura de contro switch-case: switch (selector) { case etiqueta(1) : sentencia(s). La variable selector o expresión de control no puede ser: string o real. 4. 6. una llamada de función o una expresión. El valor después de cada etiqueta case debe ser una constante. es decir. char. break.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 SENTENCIA DE CONTROL SELECTIVO SWITCH-CASE (OPCIÓN MÚLTIPLE) Sentencia de control selectivo de C++ utilizada para la elección de una opción entre múltiples alternativas. siendo especialmente útil cuando la selección se basa en el valor de la variable de control o selector. es decir. 7. se ejecuta cuando el usuario edita un valor que no esta en la lista de valores. La sentencia swith requiere un valor compatible con entero. y la acción común se pone al final. una constante. break : es instrucción que dentro del switch (selección múltiple) determina el final de cada case u alternativa. se coloca una sentencia case por cada valor. bool pero no flota ni string) y cada etiqueta debe ser diferente. La variable selector o expresión de control no puede ser: string o real. El final del enunciado case está marcado típicamente con un break. La etiqueta default indica al programa lo mismo que la sentencia else en la secuencia de if anidados. REGLAS DE USO: 1. 8. se ejecuta cuando el usuario edita un valor que no esta en la lista de valores. Cuando se requiere realizar una misma acción para distintos valores de la expresión evaluada. 2. 3. Sin ninguna acción. default: sentecia(s). Dicha sentencia permite que el programa abandone la estructura switch omitiendo los demás casos. default : Instrucción 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. case etiqueta(n) : sentencia(s). break. esta se evalúa y compara con cada etiqueta case.

ejecutar.CPP AGGNL153. en forma individual.CPP 38 . cada uno de los archivos correctos y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: AGGNL152.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PRÁCTICA 23: CONTROL SELECTIVO SWITCH-CASE: Codificar en C++. verificar. depurar.

Parte de Iteración: Contiene la expresión lógica que determina que el bucle realice las iteraciones de las sentencias mientras que la expresión sea verdadera. lo que permite dentro de un programa repetir un grupo de sentencias un número de veces determinada o que estos se repitan cuando las condiciones se cumplan. 4. también denominadas Ciclos ó Bucles. CICLOS FOR (Controlado por contador) Ciclos en los que el número de iteraciones se conocen anticipadamente por lo que se les denomina bucles controlados por contador. 2. Factor de Incremento/Decremento: Es el valor que se modificará la variable de control en cada iteración hasta su límite. CondiciónIteración. Sentencias: Son las distintas instrucciones que se ejecutarán durante cada iteración hasta cumplir el número de iteraciones definidos por el ciclo. Inicialización: La variable de control debe tomar un valor inicial pudiendo ser bucles simples o múltiples. 3. Otra de las estructuras de control básicas dentro de la programación son las estructuras de control repetitivo. Incremento) 39 . en estos las sentencias se ejecutan un número fijo de veces. Formato: for (Inicialización.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 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 “Ñ” “OPCIÓN NO VALIDA !” “FIN DEL PROGRAMA” FIN SENTENCIAS DE CONTROL REPETITIVO (CICLOS). BUCLE: Construcción de un programa que repite una o más sentencias CUERPO DEL BUCLE: Conjunto de sentencias dentro de un programa que se repiten definidamente ITERACIÓN: Cada repetición que presenta el bucle o ciclo. Estos ciclos cuenta de 4 fases importantes: 1.

r++) for (r=1. en forma individual. r=max. verificar.CPP AGGNL155. Ejemplo: for (r=1. r--) PRÁCTICA 24: CICLOS FOR: Codificar en C++. cada uno de los archivos correctos y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: AGGNL154.CPP AGGNL156. ejecutar.CPP 40 . también conocidas como formato ascendente y formato descendente. r<=80.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Sentencias Existen 2 modalidades de establecer la sentecia for para establecer los bucles estas son por incremento y por decremento. depurar.

41 . } El cuerpo del bucle se repetirá mintras la expresión lógica (condición del bucle) sea verdadera. al ser falsa se sale del bucle y se ejecuta la siguiente sentencia del programa. ACT 11. emparejamiento. y respuesta breve (solo las palabras necesarias y lógicas de cada respuesta no agregar símbolos a los argumentos de los comandos). debes contestar solo en MAYÚSCULAS SIN ACENTOS. Sentencia2. . la cual se evalúa antes de que se ejecute el bucle. Formato : Opción1: while (condición) Sentencia. Cuerpo del bucle Verdadera Condición_Bucle sentencia(s) Opción2: while (condición) { Falsa Sentencia1.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 CICLOS WHILE (Controlado por condición) Estructura de control repetitivo que se ejecuta cuando la condición es verdadera. Debes contestar cada pregunta y al final pulsar el botón: Enviar todo y terminar de la parte baja de la página para que genere la calificación de todas tus respuestas del cuestionario. además el número de iteraciones es controlada por condición. El siguiente cuestionario consta de 20 preguntas pueden ser del tipo: falso y verdadero. SentenciaN. opción múltiple. ACTIVIDAD EN PLATAFORMA: CUESTIONARIO EN LÍNEA: LENGUAJE ESTRUCTURADO EN C++. su resolución deberá realizarse en solo un intento y con un tiempo límite de duración de 30 min. . Cuerpo del bucle .

42 . FIN. MIENTRAS FAC2>10 13. ESCRIBIR ”CONTINUAR s/n ? : ” 14. por lo que debes asegurarte no tener virus en tu pc no abrir más páginas y utilizar un navegador libre de problemas para este fin. ESCRIBIR “FIN DEL PROGRAMA” 19. FIN MIENTRAS 18. ejecutar. depurar. FAC2.CPP AGGNL158. “X”. PRÁCTICA 25: CICLOS WHILE y DO-WHILE: Codificar en C++. CICLO WHILE” 3. OPC=CONT 16. FAC2=1 8. LEER FAC1 7. “=”. PRODUCTO 11. MIENTRAS (OPC_=’S‘ || OPC=’s‘) 5.DFD 1. FAC2=FAC2+1 12. INICIO. LEER CONT 15. PRODUCTO=FAC1*FAC2 10. cada uno de los archivos correctos y subir al servidor de red académica para efectos de evalución los siguientes programas en C++: AGGNL157. MIENTRAS FAC2<=10 9.CPP PSEUDOCODIGO DIAGRAMA AGGNL158. FIN MIENTRAS 17. ESCRIBIR “QUE TABLA DE MULTIPLICAR DESEAS ?: ” 6. ESCRIBIR “TABLAS DE MULTIPLICAR 1 al 10. OPC=’S’. ESCRIBIR FAC1. en forma individual.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Nota importante: si excedes el tiempo de resolución o tienes alguna falla con tu navegador y no cierras la actividad puede provocar que el resultado de tu calificación se vea afectado. 2. verificar. 4.

6. (donde A corresponde a Módulo 1. Para que sirve la función DEPURACIÓN del Ide de C++ y sus operaciones: a. elaboran y resuelven correctamente el siguiente cuestionario. Arreglos en C++ importancia y aplicaciones? 2. NL: N° lista. logo. c. Que diferencia existe si esos 10 datos los introducimos en un arreglo. número de lista. 5. Nota importante: Aplica mismas indicaciones de los trabajos de plataforma especificados: archivo no exceder 2 Mb. manteniendo en todo momento una actitud de cordialidad respeto. Comentarios vertidos deben ser breves. donde todo el contenido íntegro del archivo nunca exceder el máximo de 6 cuartillas). Citar 3 ejemplos de aplicación de las estructuras. Conceptos generales de los archivos en C++. 10. grupo. nombre del módulo. por lo que detección de copia o plagio de algún archivo de plataforma y/o práctica (parcial o íntegro) por parte de cualquier alumno será motivo de reprobación del submódulo en cuestión. 3. Se reitera que algunas de las competencias evaluadas en este módulo son: responsabilidad y honestidad. 5. así mismo deberá evitarse confrontaciones personales y no utilizar lenguaje obsceno ni ofensivo. 7. debiendo elaborar individualmente un documento electrónico de Word con el nombre (AGGNL. Explique los datos alojados en el ejercicio PENL_45. y contener: Portada. ACTIVIDAD EN PLATAFORMA: 3° FORO EN LINEA: ARREGLOS ESTRUCTURAS Y ARCHIVOS. Añadir variable vigilada. 9. claros y concretos. especialidad. debes incluir sus: Conclusiones. Describir los métodos de acceso a un arreglo en operaciones de Lectura/Escritura. Explique que sucedería si en un programa con una variable X a partir de un ciclo introducimos 10 veces datos. Bidimensionales y Multidimensionales. además los alumnos pueden corregir conceptos inprecisos manifestados por otros compañeros. Ejecutar hasta el cursor.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 III UNIDAD ESTRUCTURAS DE DATOS COMPLEJAS: ARRAYS. b. 8. Explique diferencias entre Array de caracteres y Cadena y expréselo gráficamente. 2. Describir 3 métodos de ordenamiento clásicos en la programación. nombre según especificaciones. lugar y fecha). nombre del facilitador. que incluya tus datos personales (Escuela. Explicar que son las Bases de Datos y sus componentes: Registros y Campos. Los alumnos individualmente.DOC). consultan en medios impresos y/o electrónicos. ACT 12. 4. No y nombre de la actividad. nombre del alumno. investigan. Los alumnos. Definir: Arrays: Unidimensionales. Describir las Estructura de datos. 43 . Explicar Punteros de C++ 4. GG= N° Gpo en 2 dígitos. ESTRUCTURAS DE DATOS PUNTEROS Y MANEJO DE ARCHIVOS. ACTIVIDAD DE CLASE: EVALUACIÓN DIAGNÓSTICA: GENERALIDADES DE LOS DATOS ESTRUCTURADOS EN C++. analizan los cuestionamientos siguientes y expresan respuestas personales sobre: DATOS COMPLEJOS EN C++: 1. Entrar a siguiente instrucción.CPP. a 2 digitos) y subirla a esta plataforma académica en internet y definiendo los siguientes conceptos: 1. Desarrollo: y al final. a fin de recuperar conocimientos previos. Cite 5 características de los elementos en un arreglo. 3.

previamente detallado.0 [I] NOM [ I ] CALIF[ I ] NOM[2] B CALIF [2] 6.5 [ 1 ] ALBERTO 8. así también. conteniendo los nombres de integrantes organizados por número de lista en su portada. al final conclusiones de equipo.0 NOM[3] C CALIF [3] 7. los temas serán abordados solo uno por equipo y previa asignación del facilitador docente.5 [ 2 ] BRENDA 6.5 NOM[5] E CALIF [5] 10. que se asignarán de manera específica por el facilitador a cada equipo: 2. así mismo el facilitador apoya complementando cada una de exposiciones.0 [ 4 ] DARIO 7.0 [ 5 ] ESTEBAN 10 [ 6 ] FERNANDO 9 ACTIVIDAD DE CLASE: CONCEPTOS DE LA PROGRAMACIÓN EN C++ (VIA EMAIL AL FACILITADOR). con imágenes relacionadas). y solo las mejores podrán exponer el tema a sus compañeros.5 NOM[4] D CALIF [4] 7. tamaño fijo homogeneidad en sus elementos y se caracterizan por presentar un índice. La última diapositiva debe incluir Comentarios de Equipo. núm. los alumnos pueden cuestionar a los equipos ponentes a fin de resolver dudas. Nota importante: Solo el representante de equipo debe subir la presentación a la plataforma académica. 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 términos comunes capaces de procesarse simultaneamente.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 ARRAYS UNIDIMENSIONALES (VECTORES O LISTAS): LOS VECTORES: También conocidos como Vectores o Listas.2 NOM[6] F CALIF [6] 9. debiendo elaborar para ello una presentación electrónica en Power Point que conste de 11 diapositivas como máximo que incluya: Portada (ya especificada). cuidando lineamientos de contenido. Los alumnos integrados en equipos de 5. que expongan uno de los siguientes tópicos. lo que acreditará la participación correspondiente. previamente descritos para efectos de evaluación. tamaño de archivo. 44 . desarrollo (texto resumido. son datos estructurados que contienen un número de elementos finitos. Ejemplo: NOM[1] A CALIF [1] 8. diapositivas y fecha de envío. realizan investigación y exposición del tema único que se especifica. Modelo Arquitectura Segmentada de John Von Newman El docente elegirá 3 de las investigaciones mejor documentadas.2 [ 3 ] CARMEN 7.PPTX). los equipos deberán guardar y subir el documento electrónico con el nombre (AGNLXX.

CPP AGGNL160.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL159.CPP 45 .

CPP 46 .ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL161.

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4

AGGNL162.CPP
ALGORITMO :
DICCIONARIO DE DATOS :
1. INICIO.
2. N=5
3. TOT=0 1. N=5 Constante que determina el límite
4. ESCRIBIR “Introduce elementos del Arreglo: “ máximo 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:

BÚSQUEDA EN VECTORES:
ACCESO A UN ARRAY:
Existen 2 métodos de acceso a lectura y escritura de los elementos de un arreglo:
ACCESO DIRECTO:
Al realizar operaciones de lecto/escritura a un elemento específico del array.
ACCESO SECUENCIAL:
Este tipo de acceso realiza un recorrido por cada uno de los elementos de todo el arreglo en la operación de
lecto/escritura deseada.
47

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4

En este último caso, requieren de estructuras de repetición para el acceso a toda la estructura o array y es común que el
compilador de C++ envía mensajes de error cuando el ciclo y el número de elementos del mismo no coinciden, por lo que
se debe cuidar que estos coincidan siempre.
LAS CADENAS Y SUS FUNCIONES.

También denominadas "strings" (en inglés), una cadena en C es un conjunto de caracteres, o valores de tipo "char",
terminados con el carácter nulo, es decir el valor numérico 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.

La manera de definir una cadena es la siguiente: char Saludo[5];

Cuando se declara una cadena hay que tener en cuenta que se debe reservar una posición para almacenar el carácter
nulo, de modo que si se desea almacenar la cadena "HOLA", tendremos que declarar la cadena como: char Saludo[5];

Cuatro caracteres para "HOLA" y uno extra para el carácter '\000'.

También nos será posible hacer referencia a cada uno de los caracteres individuales que componen la cadena,
simplemente indicando la posición. Por ejemplo el tercer carácter de nuestra cadena de ejemplo será la 'L', podemos
hacer referencia a él como Saludo[2]. Los índices tomarán valores empezando en el cero, así el primer carácter de
nuestra cadena sería Saludo[0], que es la 'H'.

Una cadena puede almacenar informaciones como nombres de personas, mensajes de error, números de teléfono, etc.

La asignación directa sólo está permitida cuando se hace junto con la declaración. 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 capítulo de "arrays" o arreglos.

La manera correcta de asignar una cadena es:

char Saludo[5];
Saludo[0] = 'H';
Saludo[1] = 'O';
Saludo[2] = 'L';
Saludo[3] = 'A';
Saludo[4] = '\000';

O bien: char Saludo[5] = "HOLA";

48

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4

ARREGLOS BIDIMENSIONALES

También conocidos como Matrices o Tablas, son Arreglos de 2 subíndices o 2 dimensiones, al igual que los
unidimensionales, sus subíndices deben ser datos tipo ordinal o tipo subrango, para la ubicación y almacenamiento de un
valor, deben definirse 2 subíndices uno para la fila y otro para la columna, y no requieren ser subrango del mismo tipo.
Ejemplo: CALIF [4] [4]

Calif [1] [1]
8 7 6 5 Filas
8 7 8 9
7 9 6 9
6 8 8 7
Calif [4] [4]
Columnas

AGRUPACION DE LAS VARIABLES EN UNA ARREGLO BIDIMENSIONAL:

FILAS 1 V [1] [1] V [1] [2] V [1] [3 ] V [1] [4]

2 V [2] [1] V [2] [2] V [2] [3] V [2] [4]

3 V [3] [1] V [3] [2] V [3] [3] V [3] [4]
4 V [4] [1] V [4] [2] V [4] [3] V [4] [4]

1 2 3 4
COLUMNAS

ARRAYS MULTIDIMENSIONALES:

Arreglos que poseen más de 2 Dimensiones o subíndices (Quick Basic permite 60 índices) Lenguaje C no limita el
número de subíndices 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 PROGRAMACIÓN: MÓDULO 1 CBTis 4

ACT 13. ACTIVIDAD EN PLATAFORMA: INVESTIGACIÓN Y EXPOSICIÓN DE DATOS COMPLEJOS Y ARCHIVOS EN C++.

Los alumnos integrados en equipos, realizan investigación, diseño y exposición de una presentación
electrónica en Power Point que conste de 11 diapositivas como máximo, 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 tópicos, que se asignarán de manera específica por el
facilitador a cada equipo:

1. Arrays definición, clasificación y aplicación.
2. Métodos de ordenamiento en C++.
3. Apuntadores, concepto, aplicación e importancia.
4. Parámetros por Valor y Parámetros por referencia de una función.
5. Estructura de datos, conceptos, declaración y aplicación.
6. Archivos, definición, tipos y aplicación en C++.

Los alumnos durante la sesión 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 deberán guardar y subir el documento electrónico con el nombre ( AGGNLXX.PPTX), así mismo,
deben reenviar la información a los demás equipos para su retroalimentación, también en la elaboración de
la presentación, cada equipo cuida los lineamientos de: contenido, forma, tamaño de archivo, num. de
dispositivas y fecha de cierre, previamente descritos para efectos de evaluación.

La última diapositiva debe incluir Comentarios de Equipo, así también, los temas serán abordados solo uno
por equipo y previa asignación del facilitador docente.

Nota importante: Solo cada representante de equipo debe subir la presentación a la plataforma académica,
en representación del mismo, por ello, esta debe contener los nombres de todos los participantes en su
portada.

50

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL163.CPP 51 .

CPP 52 .ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL163.

Método de Ordenación Montículo o pila (heap). METODOS DE ORDENACIÓN MÁS COMUNES: Método de Burbuja o Bubblesort: Método más fácil de ordenación. el valor más pequeño flota hasta la parte superior del array como si fuera una burbuja en un líquido 53 . 10. 9. 4. ejemplo. 2. La ordenación o clasificación de los arrays es una de las tareas más usuales en la mayoría de los programas que utilizan estas estructuras de datos. setfill (*). ios::fixed. Método de Ordenación por intercambio. 7. algoritmo que consiste en comparar cada elemento del arreglo en parejas. 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 Lista desordenada Lista ordenada ascendente Lista ordenada descendente Otros ejemplos de listas ordenadas podemos observar: cuentas de un banco. ALGORITMOS BASICOS DE ORDENACIÓN Y BÚSQUEDA. set(X). ios::right. dentro de la programación existen métodos de ordenación en los arreglos dentro de los cuales destacan: 1. Explicar el objetivo de la directiva iomanip. Explicar ejercicio 162 y 163. 3. 2. Método de Ordenación por inserción. sus valores se intercambian entre si. Rápido (quick sort). ios::showpoint. Fusión (merge). 6. Definir Recursividad. agenda telefónica. Ordenación por inserción. 7. este es el procedimiento mediante el cual los elementos del arreglo son dispuestos en un orden especificado. etc. Selección. búsqueda secuencial y binaria. Método de Ordenación Fusión (merge). . Método de búsqueda secuencial y binaria. 6. 5. numérico. Montículo o pila (heap). 4. si los valores no están ordenados correctamente.. 3. setprecision (X). Shell 8. Ordenación por intercambio. Método ordenación por burbuja.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 TAREA DE INVESTIGACION 1. alfabético. Método de Ordenación Shell 9. 8.h . 5. Definir las funciones setiosflags.

4. for (i=1.1. for j=0 . i++) 2. lista[i] = lista [pos_men]. Nota Menor(lista. if (lista[j] > lista[j+1]) 4. 5ª : 2-1-3-4-5 7. 3ª : 3-4-2-1-5 Repitiendo este proceso vamos obteniendo los siguientes resultados: 5. 4ª : 3-2-1-4-5 6. No lo incluyo en el pseudocódigo porque es bastante simple. i++) 2. lista [pos_men] = temp. j++) 3. 6. i) es una función que busca el menor elemento entre las posiciones i y TAM-1. posteriormente se busca el segundo elemento más pequeño. i). lista[j] = lista[j+1]. 54 . 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. temp = lista[j]. lista[j+1] = temp. TAM. i<TAM. TAM. for (i=0. 6ª : 1-2-3-4-5 Método de Selección: Este método tienen como características la búsqueda del elemento menor de un vector ó lista. Lista original : 4-3-5-2-1 2. pos_men = Menor(lista. 3. 1ª pasada : 3-4-5-2-1 3. 5. 5.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Diccionario de datos : Nombre Tipo Uso lista Cualquiera Lista a ordenar TAM Constante entera Tamaño de la lista i Entero Contador j Entero Contador temp Similar que los elementos de la lista Para realizar los intercambios Pseudocódigo en C: 1. i<TAM-1. 2ª : 3-4-2-5-1 4. temp = lista[i]. La búsqueda es lineal (elemento por elemento). Diccionario de datos : Nombre Tipo Uso lista Cualquiera Lista a ordenar TAM Constante entera Tamaño de la lista i Entero Contador pos_mem Entero Posición del menor elemento de la lista temp Similar que los elementos de la lista Para realizar los intercambios Pseudocódigo en C: 1. el cual se intercambia con el elemento ubicado en la primera posición de la lista. Ejemplo del ordenamiento Bubblesort: 1. j<TAM .

A. finalizado este proceso la lista queda ordenada. i = inf . elem_div = lista[sup]. al que llamaremos contador por la derecha. 2. 3. El algoritmo es éste: Recorres la lista simultáneamente con i y j: por la izquierda con i (desde el primer elemento). Cuando lista[i] sea mayor que el elemento de división y lista[j] sea menor los intercambias. Hoare en 1960. al que llamaremos contador por la izquierda. j = sup. Buscar la posición de ordenamiento. Ordenar los elementos de la lista a cada lado del elemento de división. 55 . Analizando un poco más se obtiene un procedimiento mucho más efectivo. pero se utilizan versiones iterativas para mejorar su rendimiento (los algoritmos recursivos son en general más lentos que los iterativos. generandose virtualmente 2 sublistas separadas. Realizar este procedimiento en forma recursiva para cada sublista mientras tengan un largo mayor que 1. 4. El algoritmo original es recursivo. cont = 1. desarrollada por C. 1ª pasada : 1-3-5-2-4 3. 3. 3ª : 1-2-3-5-4 5. y consumen más recursos).1. de un lado quedan todos los elementos menores que el elegido y del otro lado todos los mayores. 4. 2.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Ejemplo del ordenamiento: 1. Lista original : 4-3-5-2-1 2. porque sabemos que a un lado los elementos son todos menores y al otro son todos mayores (o habrían sido intercambiados).R. 2ª : 1-2-5-3-4 4. Repites esto hasta que se crucen los índices. Se elige un elemento de la lista. El algoritmo fundamental es el siguiente: 1. y por la derecha con j (desde el último elemento). pudiendo ser cualesquiera y que se denomina elemento de división. El punto en que se cruzan los índices es la posición adecuada para colocar el elemento de división. Se utilizan dos índices: i. 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 Pseudocódigo : Nombre Procedimiento: OrdRap Parámetros: lista a ordenar (lista) índice inferior (inf) índice superior (sup) // Inicialización de variables 1. y j. y los que están a su derecha son mayores. 4ª : 1-2-3-4-5 Método Ordenamiento Rápido Quicksort: Método que tiene como características ser la técnica de búsqueda más rápida conocida. Al finalizar este procedimiento el elemento de división queda en una posición en que todos los elementos a su izquierda son menores que él.

Para resumir te muestro cómo va quedando la lista: Segunda sublista: lista[4]-lista[6] 7-5-6 5-7-6 5-6-7 Para cada nueva sublista se retorna sin hacer cambios (se cruzan los índices). while (lista[++i] < elem_div). Intercambiamos: 1-3-7-6-2-5-4 Avanzamos por la izquierda y la derecha: 1-3-7-6-2-5-4 3 es menor que 4: avanzamos por la izquierda. OrdRap (lista. lista[sup] = temp. 5-3-7-6-2-1-4 Comparamos con el 5 por la izquierda y el 1 por la derecha.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 // Verificamos que no se crucen los límites 5. 20. OrdRap (lista. 10. while (lista[--j] > elem_div). i . Tenemos lo siguiente: 1-3-2 1 es menor que 2: avanzamos por la izquierda. while (cont) 8. if (inf >= sup) 6. if (i < j) 11. Como se intercambiaron los índices termina el ciclo. temp = lista[i]. temp = lista[i].). 9. 18. 13. retornar. else 15. 17. Ahora intercambiamos lista[i] con lista[sup] (pasos 16-18): 1-3-2-4-7-5-6 Aplicamos recursivamente a la sublista de la izquierda (índices 0 . 5-3-7-6-2-1-4 5 es mayor que cuatro y 1 es menor. porque los índices se cruzaron. cont = 0. // Copiamos el elemento de división // en su posición final 16. 3 es mayor: avanzamos por la derecha. Se intercambia lista[i] con lista[sup]: 1-2-3 Al llamar recursivamente para cada nueva sublista (lista[0]-lista[0] y lista[2]-lista[2]) se retorna sin hacer cambios (condición 5. sup).1). 12.2). 2 es menor que 4: nos mantenemos ahí. lista[i] = lista[sup]. // Clasificamos la sublista 7. Finalmente. lista[j] = temp. 1-3-2-6-7-5-4 Avanzamos por ambos lados: 1-3-2-6-7-5-4 En este momento termina el ciclo principal. 14. lista[i] = lista[j]. inf. i + 1. // Aplicamos el procedimiento // recursivamente a cada sublista 19. 1-3-7-6-2-5-4 7 es mayor que 4 y 2 es menor: intercambiamos. cero (0) y el tamaño de la lista menos 1 como parámetros. Ejemplo : La primera llamada debería ser con la lista. al retornar de la primera llamada se tiene el arreglo ordenado: 1-2-3-4-5-6-7 56 .

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL164.CPP 57 .

CPP 58 .ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL165.

2. 3. con este tipo de datos los programas pueden realizar muchas tareas que no sería posible mediante el uso de otros tipos de datos. Tipo y Dirección de memoria. 4. RAZONES QUE JUSTIFICAN EL USO DE LOS PUNTEROS: 1. 2. M toma la dirección de memoria de la variable cuenta. es una técnica poderosa de programar que permite eficientar y flexibilizar los programas permitiendo que C y C++ sea poderoso. 3. esta es la dirección interna en la memoria de la computadora. esa posición 1000 contendrá el valor 1004. solo que hasta ahora nos hemos acostumbrado a imprimir solo su contenido. Proporcionan soporte a estructuras de datos complejas como son listas enlazadas y árboles binarios. se dice que la primera variable apunta a la segunda. Figura ilustra este caso. PUNTERO: Variable que contiene direcciones de otras variables. * Operador monario que devuelve el valor de la variable localizada en la dirección que sigue. En esa posición de memoria se almacenan los datos a los que apunta el puntero. Un puntero es una variable como cualquier otra. Un puntero apunta a una variable de memoria. 2. 1. Dx de memoria Contenido 1000 1004 1001 1002 1003 1004 . por ejemplo si una variable en la posición 1004 está apuntanda por otra variable situada en la posición 1000. la sig. DEFINICION DE VARIABLES PUNTEROS. OPERADORES PUNTEROS Existen dos operadores especiales de punteros: & y *.. Mejora la eficiencia de las rutinas en los programas. 59 . Si una variable contiene la dirección de otra variable. 4. se tiene acceso mediante el operador de dirección & por lo que también es posible imprimir la dirección de memoria. por lo tanto m recibe la dirección de cuenta.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 USO BASICO DE APUNTADORES. . hasta ahora todas las variables reconocidas en nuestro curso de programación contienen valores de datos a diferencia de los punteros cuyos valores representan direcciones de memoria donde los datos se almacenan. esta se asocia a propiedades conocidas como son: Nombre. & es un operador monario (solo necesita un operando) que devuelve la dirección de memoria de su operando ejemplo: M=&cuenta . Se utilizan para soportar rutinas de asignación dinámica de memoria. Cuando se declara una variable. A está última. la dirección no tiene nada que ver con el valor de cuenta. siendo un operador complementario de & REGLAS DE LOS PUNTEROS: 1. El uso de los punteros o apuntadores. Proporcionan los medios por los cuales las funciones pueden modificar sus argumentos de llamada. Una variable puntero contiene una dirección que apunta a otra posición de memoria.

en el caso de un dato tipo entero esta ocupa 2 bytes de memoria. 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. Utilizado como de un tipo de declaración de parámetros de una función declara la referencia de la variable. Cada vez que es declarada una variable. por ello el uso de los punteros propicia la eficacia de los programas ya que en si estos. Dirección de Memoria Alta 1001 Pre 1000 999 Pre contiene el valor de 100. 2. asocian el valor con la dirección de memoria. 3.CPP REGLAS DEL OPERADOR & El carácter & presenta diferentes usos en C++: 1.50 Dirección de Memoria Baja SENTENCIAS QUE UTILIZAN VARIABLES PUNTEROS. Utilizado como sufijo de un tipo en una declaración de una variable. 60 . ese espacio se ubica en una posición específica de memoria denominada dirección de memoria cuando es necesario hacer uso del valor variable el compilador accesa automáticamente a la dirección de memoria.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL166. declara la variable como sinónimo de la variable inicializada. Utilizado como prefijo de un nombre de variable devuelve la dirección de memoria. el compilador reserva una dirección de memoria para almacenar el dato (contenido de la variable).

Y el valor se muestra en hexadecimal. Dependiendo del tipo de variable que declaremos el ordenador nos reservará más o menos memoria. mismo que deberá resolverse correctamente en un tiempo no mayor de 15 min. lo cambiamos nosotros.4 y 70Gb. 128Mb) y los discos duros en GigaBytes (entre 3. Cuando hablamos de memoria nos estamos refiriendo a la memoria RAM del ordenador. cuando se despliegue el resultado obtenido (pulse las teclas Alt+Impr pantalla). "el valor que está almacenado en la dirección de memoria a la que llamamos 'a'". Pero si confundes la memoria con el disco duro o no tienes claro. Los alumnos resuelven individualmente el crucigrama propuesto indicado en la liga en la plataforma virtual Moodle para esta actividad específica. pero es mejor no fiarse. Ese valor está almacenado en la dirección de la variable. 64. Son unas pastillas que se conectan a la placa base y nada tienen que ver con el disco duro. ACT 14. ya que debes capturar la pantalla con la calificación legible. Cuando finaliza el programa todo el espacio reservado queda libre. No hay que confundir el valor de la variable con la dirección donde está almacenada la variable. La memoria Ram la usan los programas sin que el usuario de éstos se de cuenta.). no olvide anotar conclusiones personales al final de su documento a subir en plataforma académica. Para hacernos una idea.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Memoria de la Computadora Si tienes bien claro lo que es la memoria del computadora puedes saltarte esta sección. La memoria Ram en cambio. se borra al apagar la computadora. así mismo liste y defina cada uno de los términos correctos del crucigrama. abrir un documento. en cada palabra puede solicitar hasta un máximo de 2 caracteres o pistas de la respuesta correcta para no ser penalizado. Se trata de usar el operador & (operador de dirección). las memorias caché (del procesador. ejemplo: Declaramos la variable 'a' y obtenemos su valor y dirección. Existe una forma de saber qué direcciones nos ha reservado la computadora.. Para ello.. La variable 'a' está almacenada en un lugar determinado de la memoria.DOC). etc. el ordenador nos reserva 1 byte (8 bits). borrar. Cuando en el programa escribimos 'a'. PUNTEROS. depende de la memoria disponible y otros factores misteriosos. El valor de la variable puede cambiar a lo largo del programa. La memoria de video (que está en la tarjeta gráfica). eso no lo podemos controlar. Cada vez que ejecutemos el programa la variable se almacenará en un sitio diferente. en el que debes pegar la imagen previamente capturada del crucigrama. ese lugar no cambia mientras se ejecuta el programa. Para mostrar la dirección de la variable usamos el oprador &. o mucho más). en realidad estamos diciendo. 61 . Nosotros podemos decirle al ordenador cuándo grabar. A lo largo de la experiencia con las computadoras se ha encontrado con mucha gente no tiene claro cómo funciona una computadora. Como vimos anteriormente los tipos de datos cada tipo de variable ocupa más o menos bytes. así mismo una vez resuelto el crucigrama (verifica que no tengas activado el bloqueo de ventanas emergentes). hoy en dia la memoria se mide en MegaBytes (suelen ser 16. por último. Puede que se almacene en el mismo sitio. debe elaborar individualmente un documento de Word con el nombre (AGGNLXX. ESTRUCTURAS Y ARCHIVOS”. Por ejemplo si declaramos un char.. Al declarar una variable estamos diciendo a la computadora que nos reserve una parte de la memoria para almacenarla. de la placa. ACTIVIDAD EN PLATAFORMA: CRUCIGRAMA ”ARREGLOS. 32. no cerrar la pantalla con el resultado. El disco duro guarda los datos permanentemente (hasta que se rompe) y la información se almacena como ficheros. Hay otras memorias en la computadora aparte de la mencionada. El nombre de la variable es equivalente a poner un nombre a una zona de la memoria. misma que es el registro o evidencia de resolución del mismo.

asi mismo con la dirección de memoria de la variable valor del ejercicio 167. Explicar como se comportan los punteros en datos int (numéricos) y en datos tipo char del ejercicio 168.CPP 2. 4.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL167. los punteros deben declararse antes de su utilización. Definir la funcion strcpy DECLARACION DE VARIABLE PUNTERO... por lo que después de su identificador debe preceder por el símbolo 62 . Como cualquier variable. Explique que diferencia existe en las direcciones de memoria los punteros de &val1. Explique diferencias entre variable por valor y variable por referencia.CPP 3.&val5. este tipo de variables debe indicar al compilador el tipo de dato al que apunta el puntero.CPP TAREA DE INVESTIGACION 1.

Con punteros a caracteres. podrá ser utilizado para asignar direcciones de memoria. Aritmética de Punteros: Los punteros permiten solo 2 operaciones aritméticas en las que pueden utilizarse los punteros y estas son suma y resta. Inicialización estática: Recibe este nombre ya que la asignación de memoria requerida para almacenar el valor es fijo y no puede desaparecer. lo mismo ocurre al decrementar. Los punteros se enlazan a tipos de datos específicos. apunta a la posición de memoria del elemento anterior. cuando se ha definido un puntero. el compilador establece suficiente memoria para almacenar un valor del tipo de dato especificado. sin embargo. esto frecuentemente hace que parezca una aritmética normal. C++ requiere que las variables puntero direccionen realmente variables del mismo tipo de dato que esté ligado a los punteros en sus declaraciones. Cada vez que se decrementa. el resto de los punteros o decrecen en la longitud del tipo de datos a los que apuntan. de modo que C++ verifica si se asigna la dirección de un tipo de dato al tipo correcto de puntero. el asterisco del puntero indica (contenido de) la memoria apuntada por el puntero debiendo ser del tipo especificado. se utiliza el operador &. para asignar una dirección de memoria (dx) a un puntero.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 del asterisco (*) . Cada vez que se incrementa un puntero. por lo que invariablemente cuando aparezca un asterisco (*). este apunta a la posición de memoria del siguiente elemento de su tipo base. La memoria permanece reservada para esta variable y no puede ser utilizada para otra coso durante la ejecución del programa. 63 . el puntero a esa variable puede ser cambiado pero no su cantidad de memoria reservada. de tal manera que si se declara un puntero flota. no 2001 ! Cada vez que se incrementa P1. como se mencionó anteriormente. no se le puede asignar la dirección de un carácter o un entero. el dato apuntado se denomina indireccionar el puntero (desreferenciar el puntero) para ello se utiliza el operador de indirección que no es otra cosa que un operador de sobrecarga. el uso de un puntero para obtener el valor que apunta. este debe inicializarse y posteriormente utilizarse para direccionar algún tipo de dato en memoria. C++ no inicializa los punteros en su declaración (No les define valor) por lo que es necesario inicializarlos previamente a su utilización y ello proporciona la dirección del dato correspondiente. ¡ P1 contiene 2002. asumiendo que previamente era 2000. en una declaración de variable. después de declarar una variable puntero. ejemplo P1-. para entender que ocurre con la aritmética de punteros. y solo hasta que este proceso se haya realizado. Una vez que la variable es definida. sea P1 un puntero a un entero con valor actual de 2000 y asumamos que los enteros son de 2 bytes de longitud después de la expresión: P1++. Hace que P1 tenga el valor de 1998.. Indirección de punteros: Como se mencionó. esto define una variable puntero. apunta al siguiente entero. PUNTEROS A ENTEROS. Formato: tipo de dato apuntado *identificador puntero Ejemplos: int *cuenta Puntero a un tipo entero char *texto Puntero a un tipo carácter Long *pventa Puntero a un tipo entero largo float *calif Puntero a un tipo flotante Inicialización de punteros.

CPP PUNTEROS A ARRAY.* ( lista +4 ) Array almacenado en memoria Si visualiza lista [ 0 ] observara que su contenido es 10. también observará que su contenido es 10. 40. 20.* ( lista +1 ) [3] 30 <-----. pero si visualiza *lista como el nombre de array es un puntero. Lista ---> [ 0 ] Memoria [1] 10 <-----. por lo que: 64 .* ( lista +2 ) [3] 40 <-----. los arrays y los punteros tienen una estrecha relación 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. Como se ha descrito hasta ahora. Un nombre de array es un puntero. considere el siguiente ejemplo: int lista [5] = {10. unicamente constantes de cadena.* ( lista +3 ) [4] 50 <-----.* lista [2] 20 <-----. ya que no existe en C++ el dato tipo cadena (string) comun de otros lenguajes.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL168. 50 }. 30.

Pascal. “Junio”. “Octubre”. PUNTEROS A CADENAS. Esto no es necesariamente cierto para otros lenguajes. un elemento cada vez durante su ejecución o mediante funciones tales como strcpy(). En C. Fortran y en otros lenguajes. En Basic. “Diciembre”}. “Agosto”. una 65 . no una variable puntero y por ello no puede cambiarse el valor de un nombre array. “Mayo”. “Marzo”. ello explica por que no se pueden reasignar a un arreglo durante la ejecución del programa.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 lista +0 apunta a Lista [ 0 ] lista +1 apunta a Lista [ 1 ] lista +2 apunta a Lista [ 2 ] lista +3 apunta a Lista [ 3 ] lista +4 apunta a Lista [ 4 ] Ventajas de los punteros: El nombre de un arreglo es una constante puntero. Finalmente ilustraremos cómo y cuando los apuntadores pueden y deben ser pasados a una función. Solo puede asignarse valores a un array en tiempo de declaración. como no pueden cambiarse las constantes. “Noviembre”.CPP El estudio de las cadenas es útil para profundizar en la relación entre apuntadores y arreglos. La inicialización de un array de punteros a cadenas se ejemplifica como el caso a continuación: char *meses [12] = {“Enero”. “Julio”. las cadenas son arreglos de caracteres. Los punteros se utilizan sustituyendo los índices de los arrays ejemplo: AGGNL169. “Septiembre”. “Febrero”. “Abril”. además la demostración de cómo algunas de las funciones estándar de cadenas de C pueden ser implementadas. Facilita.

El primero sería escribir: char mi_cadena [40] = {'T'. El “nul” se refiere a un cero definido por la secuencia de escape ‘\0’. Cuando se precisen varias palabras para conseguir este efecto existen varias reglas aplicables de uso común. las funciones static pueden no estarlo.. En C. una cadena es un arreglo de caracteres terminado con el carácter nul.}. Hay que tener cuidado con que nul no es lo mismo que NULL. la otra. Consideremos por ejemplo: char mi_cadena[40]. C permite dos modos alternativos de llegar al mismo resultado. esto no es así. Cuando usamos las comillas dobles. de momento no entraremos en este particular. por defecto será "int". 'd'. mi_cadena [1] = 'e'. DEFINICION Y DECLARACION DE FUNCIONES. Tienen un uso muy específico. que ocupa un byte de memoria. en C. Si no se especifica es "extern". consiste en escribir la primera letra de cada palabra en mayúscula y el resto en minúsculas. En C una cadena es un arreglo de caracteres terminado con un carácter binario de cero (escrito como \0). El “NULL”. } En general. Formato de declaración: Tipo_devuelto Nombre_Función (Lista de parámetros) { Declaración de variables. poner nombres que indiquen. Esto es. aunque pueden complicarse en ciertos casos:  Opcionalmente. el carácter nul (‘\0’) se añade automáticamente al final de la cadena. 'e'. Para comenzar escribiremos algo de código. Las funciones son un conjunto de instrucciones que realizan una tarea específica. que se utilizan en muchos programas C++. Es muy recomendable. Una consiste en separar cada palabra con un "_". las funciones pueden declararse y definirse. probablemente no lo escribirás en un programa real. 66 . el resultado final es una cadena que es en realidad un arreglo de caracteres terminado con un caracter nul. Ya que al estar escribiendo código como el de arriba gastaríamos mucho tiempo. Las funciones declaradas como extern están disponibles para todo el programa.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 cadena tiene definido su propio tipo de datos. lo mencionaremos posteriormente. puede ser "extern" o "static". Por definición.  El nombre de la función. y que permitan interpretar qué hace el programa con sólo leerlo. por momento sólo usaremos funciones externas. NULL está definido en un archivo de cabecera del compilador de C. Una declaración es simplemente una presentación. una definición contiene las instrucciones con las que realizará su trabajo la función. que puede ser "void". 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. mi_cadena [0] = 'T'. En C++ es obligatorio indicar el tipo del valor de retorno. En cualquiera de los casos descritos arriba sucede la misma cosa. aunque en general se considera se recomienda no omitir el tipo de valor de retorno. Si bien uno nunca construiría cadenas de este modo. y son una herramienta muy valiosa.  Modificadores opcionales. mi_cadena [2] = 'd': mi_cadena [3] = '\0'. mientras que nul puede no estar definido del todo. por otra parte. En general toman unos valores de entrada. si no se establece. si no necesitamos valor de retorno. el cual si bien es preferido para propósitos meramente ilustrativos. Pero en C. y se menciona porque es parte de la declaración. aunque tanto unos como el otro puede no existir. una palabra que especifique el tipo de almacenamiento. es el nombre de la macro usada para inicializar apuntadores nulos. llamados parámetros y proporcionan un valor de salida o valor de retorno. qué es lo que hace la función.  El tipo del valor de retorno. la definición de una función se compone de las siguientes secciones. en lugar de las simples usadas en los ejemplos anteriores. '\0'. su contenido. Pero es conveniente: char mi_cadena [40] = "Ted". Al igual que con las variables. sentencia(s).

La definición de la función se hace más adelante o más abajo. El ejemplo de prototipo anterior sería igualmente válido y se podría poner como: int Mayor(int.". Una lista de parámetros es un conjunto de declaraciones de parámetros separados con comas. Por ejemplo: int Mayor(int a. Los nombres de los parámetros son opcionales. c.  Una lista de declaraciones de parámetros entre paréntesis. Existen reglas para el uso de los valores de retorno y de los parámetros de la función "main". El cuerpo de la función se encierra entre llaves "{}" Una función muy especial es la función "main". En contraposición las funciones declaradas "static" sólo son accesibles dentro del fichero fuente donde se definen. cualquier otro valor de retorno indicará un código de error. Los programas Windows usan la función WinMain() como función de entrada. pero las funciones son "extern" por defecto. Consiste en una definición de la función sin cuerpo y terminado con un ". operador de preprocesador. 3. b. Los parámetros de una función son los valores de entrada (y en ocasiones también de salida). en este momento solo usaremos como "int main()" o "int main(void)". PROTOTIPO DE UNA FUNCION : Un prototipo es una declaración de una función. o se incluyen estos prototipos desde un fichero externo. Sirve para indicar al compilador los tipos de retorno y los de los parámetros de una función. y se incluyen como documentación y ayuda en la interpretación y comprensión del programa. La estructura de un prototipo es: <tipo> func(<lista de declaración de parámetros>). En C es preferible usar la forma "func(void)" para listas de parámetros vacías.int). Normalmente. 2. Declaración de datos. Lista de parámetros. En C++ este procedimiento se considera obsoleto. de modo que compruebe si son del tipo correcto cada vez que se use esta función dentro del programa. podríamos llamarla "busca_telefono" o "BuscaTelefono".ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Por ejemplo. int b). Cuerpo de la función. Para la función se comportan exactamente igual que variables. Explicar características de la estructura de una función: a. ya que el prototipo no los usa. Importancia dentro de las funciones en la programación estructurada. Esto sólo indica que en algún lugar del programa se definirá una función "Mayor" que admite dos parámetros de tipo "int" y que devolverá un valor de tipo "int". y debe existir siempre. las funciones se declaran como prototipos dentro del programa. Lo habitual es hacerlo después de la función "main". Ejemplo de un programa con uso de una función sin retorno de valores: 67 . Se trata de la función de entrada. aunque se encuentren en otros ficheros fuente del mismo programa. (usando la directiva "#include". Paso de parámetros. TAREA DE INVESTIGACION 1.) Ya se mencionó más arriba. e. f. será la que tome el control cuando se ejecute un programa en C. con un entero como valor de retorno y sin parámetros de entrada. y de hecho cada parámetro se declara igual que una variable.. No es necesario escribir nombres para los parámetros. Tipo de resultado. En otro lugar del programa habrá una definición completa de la función. d. Esto quiere decir que son accesibles desde cualquier punto del programa. Explique 3 reglas para nombrar una función. Valor devuelto. El valor de retorno indicará si el programa ha terminado sin novedad ni errores retornando cero. En C++ es obligatorio usar prototipos. o para hacer las conversiones de tipo cuando sea necesario. si hacemos una función que busque el número de teléfono de una persona en una base de datos. Puede tratarse de una lista vacía.  Un cuerpo de función que representa el código que será ejecutado cuando se llame a la función. se usa simplemente "func()".

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL170.CPP 68 .

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL171.CPP RELACIÓN Y JERARQUÍA DE LAS FUNCIONES EN C++ Main() Función1 Función2 Función3 Función4 Función5 69 .

el compilador transfiere una copia de los valores definidos como parámetros de la función original. por defecto sino se especifican los parámetros. estos son: 1. Parámetros por Referencia. Parámetros por Valor. 2. no existe transferencia de los valores entre las funciones.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 PASO DE PARÁMETROS. PARÁMETROS DE UNA FUNCION: El paso de parámetros 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. C++ Reconoce 2 métodos para transferir valores de las variables entre las distintas funciones en un programa.CPP 70 . AGGNL172. Paso de Parámetros por Valor: Método para transferir el valor a una variable entre funciones en un programa de C++ en que la función que recibe los parámetros.

DIFERENCIAS ENTRE PARÁMETROS POR VALOR Y REFERENCIA: 1. las asignaciones a parámetros por referencia. Los parámetros por valor (sin &) reciben copias de los argumentos transferidos.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 Paso de Parámetros por Referencia: Método de transferencia entre las variables de las funciones en un programa en que se transfiere la dirección de memoria (referencia) la cual contiene datos que pueden ser modificados. C++ permite el uso de punteros para implementar parámetros por referencia.CPP 71 . AGGNL173. cambian los valores de los argumentos originales. En una función. para este caso particular se utiliza el signo & (ampersand) precedido al nombre de variable especificada de esta forma. C no ofrece la transferencia por referencia. 5. 3. Los parámetros por referencia. 2. 4. (con &) reciben direcciones de memoria. nunca cambian el argumento original pasado a los parámetros. La asignación a parámetros por valor de una función. Todos los parámetros en C pasan por valor.

ESTRUCTURA: Es una colección de datos de uno o más de elementos denominados miembros. Ejemplo: struct BIBLIOTECA.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 CONCEPTO. donde cada uno tiene un nombre único y es llamado nombre del miembro. su formato de declaración y sintaxis es la siguiente: struct <nom_estructura> { tipo_dato1 nombre_miembro1. }. tipo_dato_n nombre_miembro_n. { char Titulo [30].00 Tipo : Coupé Capac : 5 Uso : Particular Placa : FBX56-590685 Costo : 190000. donde cada miembro puede ser un tipo de dato diferente. LIBROS DE BIBLIOTECA REGISTRO DE VEHÍCULOS Titulo : Programación_C++ Marca : Chrysler Autor : Luis_Joyanes Modelo : Stratus Editorial : Mc_Graw_Hill Fecha_Fabrica : 2003 Edicion : 2002 Motor : Gasolina Pags : 529 Cilindros : 4 Precio : 328. tipo_dato3 nombre_miembro3. 72 . por ello debe declararse en forma previa o antes de ser utilizada.00 DEFINICION DE CAMPO. ejemplos de aplicación de las estructuras. 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 Edición 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. en función de las necesidades específicas que requiera. La estructura puede contener cualquier número de miembros. La estructura es un tipo de dato definido por el usuario. en otros lenguajes de programación también se les conoce con el nombre campos y la estructura son denominadas Bases de Datos. DECLARACION Y USO DE ESTRUCTURAS. tipo_dato2 nombre_miembro2.

DEFINICIÓN DE VARIABLES DE ESTRUCTURAS: Para acceder a una Estructura. Cabe destacar que en este punto del código. Estructura info_dir en memoria : nom 30 bytes calle 40 bytes ciudad 20 bytes info_dir edo 3 bytes codigo 4 bytes 73 . }. char edo [3] unsigned long int codigo. en nuestro caso incluir la línea: struct DIR info_dir. }. struct DIR { char nom[30]. 2. en forma previa a la función principal main ( ). por lo que deben considerar los siguientes conceptos: Declaración y Definición. sin reservar espacio en memoria. int Edicion. se utiliza una variable(s) que deben definirse después de la declaración de la estructura. ya que la declaración de una estructura es considerada por C++ como una sola sentencia. char calle[40]. realmente aún no se ha definido ninguna variable del tipo estructura (la definición 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 declaración de la estructura. char Editorial [25]. 1. en la sección de declaración de variables o antes utilizar la estructura. Listando el nombre de la estructura precedida de las variables correspondientes en cualquier lugar del programa previo a su utilización. char ciudad [20]. posteriormente se definen los miembros o elementos de la estructura. una línea que defina a la variable. especificando el tipo de dato y el nombre de cada miembro. La declaración finaliza con el punto y coma. int Pags. Listándolas inmediatamente después llave de cierre de la declaración de la estructura. a menudo se refiere al nombre de la estructura como su etiqueta en el ejemplo que establecemos es llamada DIR. flota Precio. la cual se inicia con la palabra reservada struct <nombre de la estructura> . Declaración: especifica el nombre y formato de la estructura de datos. Ejemplo de Declaración-Definición : Caso 1: La DECLARACIÓN de la Estructura o se incluye en el programa. Definición: 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: 1.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 char Autor [35].

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 CASO 2: En este caso se declara la estructura en primer término.nom=”JUAN PEREZ JUÁREZ” info_dir. struct DIR { char nom[30]. char calle[40]. numero de seguro social. 3. Algunas de estas en cambio podrían ser estructuras: un nombre tiene varios componentes.CPP. La declaración de la estructura forma parte de la plantilla que puede utilizarse para crear variables de estructura. salario. char edo [3] unsigned long int codigo. Asignación directa. dirección. cada elemento de la estructura está relacionado lógicamente con los otros. En general. b_info. char ciudad [20]. se referencían utilizando el operador. y la definición de variables se incluye inmediatamente después de la llave de cierre 2. ALMACENAMIENTO DE DATOS EN UNA ESTRUCTURA: Las estructuras permiten el almacenamiento de datos a partir de varios procedimientos: 1. Lectura de datos desde el teclado Inicialización: Almacenamiento de datos en una estructura. Las estructuras ayudan a organizar complicados datos. Como ya se mencionó anteriormente la estructura de datos es una colección de datos de tipos diferentes que se referencían bajo un único nombre. como es una dirección y aún un salario. CONSTRUCCION DE UNA ESTRUCTURA EN C. elementos o en algunos casos campos de la estructura. etc. particularmente en programas largos. en la que se definen o asignan valores dentro de la sección de código de un programa. REFERENCIA A LOS ELEMENTOS DE UNA ESTRUCTURA Los elementos individuales de una estructura también conocidos como campos. para ello se recurre de los operadores punto y operador puntero. las variables que componen la estructura llamados miembros. (“operador punto”). Todos los elementos o campos que se almacenan en la estructura son expresados en forma similar. } a_info. proporcionando un medio eficaz para mantener junta la información relacionada. Inicialización. Asignación directa: Forma de almacenamiento de datos en una estructura. 74 . 2. ejemplo la información de un directorio (nombre y dirección) serían representados como una típica estructura. c_info. un ejemplo de esta forma de asignación de datos en una estructura lo vemos en el ejercicio LP2NL_03. 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.codigo=12345. incluso en la propia declaración de la estructura. porque en muchas situaciones de ellas permiten un grupo de variables relacionadas para ser tratadas como una unidad en vez de entidades separadas. en el siguiente ejemplo al campo código postal de la estructura info_dir se le asigna el valor sig: Info_dir. en la que se define el valor a el o los miembros específicos de una estructura.

esta es la forma más comúnmente utilizada desde cualquier sistema.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 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. AGGNL174.CPP 75 .

Explicar que importancia tien el uso de ARRAYS de Estructuras sobre las otras opciones. Diferenciar Variables Estáticas de Variables Dinámicas.CPP el Arreglo de estructura el número de elementos del arreglo está definido por la constante b. Del ejercicio LP2NL_06.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 TAREA DE INVESTIGACION 1. Defina String. La utilización de Arreglos de estructuras. Describa las funciones : cin. es el método más conveniente para almacenar archivos completos por ejemplo el inventario de un almacén. los costos y precios de artículos de una tienda departamental. su almacenamiento en memoria y en disco y su facilidad para operaciones de lectura. 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. el historial académico de grupos. SALIDA: La recuperación de información de una estructura se realiza a partir de una sentencia de asignación o utilizando la sentencia de salida (cout<<). ya que se pueden introducir y calcular los datos en este tipo de estructuras. 6.put( ). de elementos del mismo al definir la variable de estructura: Calificas calif[b]. NOTA: En operaciones de entrada-salida de datos desde el teclado tiene la limitante que al manejar la introducción de variables tipo char. Defina y diferencia los accesos de datos de las estructuras mediante el operador de punto y el operador puntero. Null ( ’ \ 0 ’ ). sin la necesidad de tener que modificar más código.get( ) y cout. los arreglos de estructuras proporcionan la forma más práctica de almacenar un conjunto de datos diversos del mismo o diferentes tipos. 5. de otra manera. la cual permite incrementar su valor conforme a las necesidades del usuario. Explicar la función del operador sizeof durante la utilización de una estructura. todo ellos agrupados en una estructura denominada ARREGLO DE ESTRUCTURA. 3. 4. Determine la función strcpy. 2. ARREGLOS DE ESTRUCTURAS. 8. empleando la sentencia de entrada (cin>>). Calificas calif[100]. Por esta razón. La creación de un arreglo de estructuras es similar a un arreglo de otros tipos y muchos programadores de C++ utilizan el método de los array de estructuras para almacenar datos en un archivo de disco. estas no deben incluir espacios en blanco. 7. al igual que en el caso anterior se requiere el uso de los operadores punto y/o operador puntero. LECTURA Y RECUPERACIÓN DE DATOS DE UNA ESTRUCTURA: LECTURA: Esta operación se realiza mediante el apoyo de los operadores punto y/o operador puntero. etc. ACCESO A LOS MIEMBROS DE UNA ESTRUCTURA DE DATOS. Explicar estructuras anidadas. 76 . la nómina de empleados de una empresa. también válida se pudo haber definido el núm.

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL175. 77 . recomendándose tener precausiones al acceder a los elementos individuales del arreglo.CPP Así mismo los miembros de las estructuras pueden ser arreglos.

h para aplicar métodos asociados para la creación de archivos y manejo de operación entrada y salida de archivos. donde el sistema de E/S de C++ requiere de los punteros get. Archivos Binarios: Archivos que almacenan flujos de bits. En ambos casos los datos son manipulados en un flujo que puede ser reversible en operaciones de entrada o salida. Archivo Gráfico: Datos o bits agrupados en palabras de 32 bits que representan pixeles de colores. por ello se hace necesario que la información manipulada desde cualquier programa sea alojada de manera permanente en la computadora teniendo como recurso para tal fin los ARCHIVOS. tales como una unidad de disco magnético u óptico. pueden existir de diferentes tipos. ALGUNOS TIPOS DE ARCHIVOS COMUNES : Archivos de Texto: Datos o conjunto de bits agrupados en bytes reconocidos por el código ASCII.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 TIPOS DE ARCHIVOS EN C. se describe generalmente en términos de un puntero de archivo o apuntador que define la posición actual de un archivo.EXE. ofstream y fstream. este tipo de archivos es procesado por software especializado en el manejo de gráficos. registros. el almacenamiento de los mismos en variables y en arreglos se ha efectuado a la memoria por lo que son datos temporales.COM y *. que también incluye a iostream. Archivos de Salida: Flujo de datos que se transfieren a un dispositivo u operación de salida. ARCHIVOS POR EL TIPO DE DIRECCIONAMIENTO: Archivos de Entada: Secuencia de bytes que se introducen a un dispositivo de almacenamiento y realizan una operación de entrada de datos. que especifica la posición en que se producirá la operación de 78 . estos almacenan datos en función a la dirección de memoria de la computadora. que no ponen atención al código Ascii o la separación de espacios en blanco. que pueden ser procesados por cualquier editor estándar de texto. enumerados. TIPOS DE ACCESO A LOS ARCHIVOS: Acceso Directo: Procedimiento en los que se realizan operaciones de entrada o salida de datos contenidos en una estructura tales como Arrays. etc. Acceso Secuencial: Procedimiento de lectura o escritura progresiva de inicio a fin a todos los datos o elementos y/o datos contenidos en los archivos. C++ posee las clases: ifstream. ARCHIVOS: Secuencia de bits almacenados en algún dispositivo de memoria secundaria. son los más adecuados. Acceso Aleatorio: Acceso común en el manejo de base de datos que permite elegir registros específicos en los archivos. En los que se permite obtener o transferir información a un elemento en particular. CONCEPTOS GRALES. Archivos Ejecutables: Archivo que contiene un programa compilado y linkeado capaz de ser ejecutado desde el sistema operativo generalmente poseen extensiones *. archivos. DE ARCHIVOS Como se han manejado hasta ahora los datos de los programas. que se incluyen en el archivo de cabecera fstream.h. una unidad de cinta y reconocido por la computadora.

pero deberás observar y analizar lo que sucede con este archivo después de la 1ª corrida. 4. Explicar conclusiones del contenido del archivo NUEVO.CPP. Nota: Para que este programa funcione deberás crear con el Editor de Bloc de Notas el Archivo:PREVIO. en cada operación el apuntador avanza automáticamente. Especialidad. define la posición donde se producirá la operación de salida. ofstream y fstream. debes crear con el bloc de notas el archivo: NEWFILE. Explicar sobrecarga de operadores en C++.CPP 1. Definir las funciones de las biblitecas de flujo: iostream. 7.TXT después de ejecutar 176. Describir características de 25 tipos de archivos (según tipo de extensión).TXT. Determine la función de eof y que función tiene en un archivo. y deberás insertar las siguientes líneas de texto: Contenido del Archivo de Texto PREVIO. 5. Determine la función de la palabra reservada : cin. AGGNL176. Explicar Jerarquía de datos (Pag 704 Deitel & Deitel). Así mismo. ifstream. TAREA DE INVESTIGACION: 1. en este no escribirás ningún contenido o texto. 6. 79 .TXT Nombre del Alumno. Centro de Bachillerato Tecnológico industrial y de servicios Nº 4 PROGRAMACIÓN ESTRUCTURADA C++ Nombre del Maestro. Gpo. NL. 2. 2.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 entrada y put.getline 3.TXT.

si existen datos previos este modo ubica en la marca eof y allí inicia a adjuntar datos. get. utilizar adecuadamente las clases ifstream y ofstream con un manejo de archivos correcto.TXT creado en el ejercicio 10 y la operación de ios::out (en la modalidad out y su diferencia del modo app). si existen datos. debiendo por ello. Explicar 10 características generales de la entrada-salida BINARIA. ios::out Modo salida. que furon desarrollados bajo UNIX. también denominado sistema de archivos con búffer (a veces se utilizan también los términos con formatos de alto nivel).ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 8. fail. mientras que la clase ofstream deriva de la clase ostream y permite a los usuarios acceder a las clases ifstream y ofstream. 12. acceder a operaciones de entrada y salida de datos. put. JERARQUÍA DE CLASES DE E/S DE FLUJO ios istream ostream ifstream iostream ofstream fstream La entrada y salida en C se lleva a cabo mediante el uso de funciones de biblioteca. El sistema de E/S es tipo UNIX. 9. ARCHIVOS DE ACCESO SECUENCIAL. no hay palabras clave de C que realicen operaciones de entrada y salida. El sistema de E/S definido por el ANSI. estos se eliminan y remplazan por los nuevos. DECLARACION. El sistema de E/S tipo UNIX fue creado para los primeros compiladores de C. a veces referido como un sistema de archivos sin búffer (sin formato). 2. eof. 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. ofstream y fstream. 3. read y write de C++. Los conjuntos completos de funciones de E/S definidos por C y C++ son: 1. close. permitiendo con ello a los usuarios. ios::nocreate Genera un error si no existe archivo. ios::noreplace Genera un error si el archivo existe.h en el que se definen. como ya se mencionó las clases ifstream. Describir conclusiones de DIR. ios::trunc Trunca el archivo a 0 si ya existe. ios::binary Archivo se abre en modo binario. ENTRADA Y SALIDA DE ARCHIVOS: La operaciones de E/S de C++ requieren de la utilización del archivo de cabecera fstream. Algunas funciones de E/S de bajo nivel que operan directamente sobre el hardware de la computadora. 11. Explicar las funciones miembro: open. ios::ate Modo abrir y buscar fin de archivo. Describa Acceso Aleatorio de los archivos. 80 . ios::app Modo añadir. Modalidades en que pueden operar los archivos en operaciones de Entrada/Salida: ios::in Modo entrada. 10. good. Explicar la función de la palabra reservada return.

en el caso de un archivo de texto C++ en operación de lectura. El objeto ifstream se llama archen. Ejemplo de apertura de archivo para lectura. este proceso identifica la posición del archivo. observa el contenido de DIR. que se asocia con un nombre para su localización y apertura del archivo. al inicio de cada ejecución del programa debe incluirse la sentencia: ifstream archen (“demo” ).out”. requiere: ABRIR un archivo.CPP NOTA: Después de ejecutar el archivo utilizando el editor de bloc de notas. APERTURA: Para que un programa realice operaciones de Lectura o Escritura en disco. se crea un objeto o flujo de la clase ifstream. 81 .TXT y efectua tus conclusiones. ios_base::out). Ejemplo de apertura de archivo para escritura.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 APERTURA Y MANIPULACION. al inicio de cada ejecución del programa debe incluirse la sentencia: ofstream archsal (“demo. pudiéndose utilizar los nombres de los flujos que se crean con los operadores de inserción y extracción . AGGNL177. para abrir un archivo de escritura el objeto creado es de la clase ofstream.

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL178.CPP 82 .

emparejamiento. Debes contestar cada pregunta y al final pulsar el botón: Enviar todo y terminar de la parte baja de la página para que genere la calificación de todas tus respuestas del cuestionario 83 . PUNTEROS. El siguiente cuestionario consta de 20 preguntas de opción múltiple. falso y verdadero y respuesta breve (solo las palabras necesarias y lógicas de cada respuesta). AGGNL179. acepta argumentos de tipo char y devuelve objetos de la clase ostream.ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 ENTRADA/SALIDA BINARIA: get : Miembro de la función istream su función es leer el flujo de entrada byte a byte (carácter) put: Proporciona un método de sacar (escribir) un carácter en el flujo de salida put( ). se sugiere contestar en MAYÚSCULAS. ESTRUCTURAS Y ARCHIVOS”.CPP ACT 15. su resolución deberá realizarse en solo un intento y con un tiempo límite de duración de 30 min. ACTIVIDAD EN PLATAFORMA: CUESTIONARIO EN LÍNEA: ”ARREGLOS.

ESPECIALIDAD PROGRAMACIÓN: MÓDULO 1 CBTis 4 AGGNL180.CPP 84 .