GUAI DOCENTE SUBMODULO_1

130
Submódulo II E ec ua aná s s s coqu m cos a a eche y p oduc os ác eos Página 1 de 98 Técnico en Informática Técnico en Producción Módulo III Desarrollo de sistemas básicos de información Submódulo I Aplica los principios de programación en la solución de problemas. l í rl r i tr f r i ll f t r li i fi i íi l l r t l t

Transcript of GUAI DOCENTE SUBMODULO_1

Módulo IITecno og a pa a a conse vac ón y ans o mac ón de a eche

Submódulo IIE ec ua aná s s s coqu m cos a a eche y p oduc os ác eos

Página 1 de 98

Técnico enInformática

Técnico enProducción

Módulo IIIDesarrollo de sistemas básicos de información

Submódulo I Aplica los principios de programación en la solución de

problemas.l í r l r i tr f r i l l

f t r li i fi i í i l l r t l t

Versión 2.0Noviembre, 2009

Página 2 de 98

Página 3 de 98

Técnico en Informática

Víctor Gabriel Puc Ibarra María Félix Roldan López Alejandro Rey Sarabia FloresMariana Rogero Macías

YucatánHidalgoBaja California SurZacatecas

Adriana García Ortíz Coordinador

Una vez concluido este submódulo, el alumno tendrá las competencias necesarias para solucionar problemas, diseñando algoritmos, diagramas de flujo y pseudocódigos, desarrollando programas en base a las estructuras secuenciales, repetitivas y condicionales de un lenguaje de programación, considerando la depuración de los procedimientos resultantes, así como, la ejecución de programas, que requieren cierto grado de orden y responsabilidad. En virtud de lo cual esta competencia está considerada en el nivel 2.

Página 5 de 98Página 4 de 98

Página 6 de 98

Técnico en Informática

Módulo III Desarrollo básico de sistemas básicos de información

Submódulo I Aplica los principios de programación en la solución de problemas

Competencia 1 Competencia 21. Desarrolla el proceso de solución de

un problema.2. Codifica la solución del problema en un

lenguaje de programación estructurado.

Atributos de la Competencia Atributos de la Competencia1.1. Identifica el problema1.2. Análiza el problema.1.3. Elabora algoritmos de la solución

del problema.1.4. Elabora diagramas de flujo de la

solución del problema.1.5. Crea pseudocódigo de la

solución del problema.1.6. Prueba de escritorio de la

solución del problema.

2.1. Elementos básicos del lenguaje de programación estructurado. Manipulación básica de datos.

2.2. Utiliza estructuras de control.

Competencia 33. Pone a punto el programa mediante

el uso de un editor del lenguaje deprogramación estructurado.

Atributos de la Competencia3.1. Captura y edición del programa.3.2. Compila el programa, depura el

programa, y ejecuta el programa.

Página 8 de 98

Esta guía contiene una serie de elementos importantes para que el alumno recopile conocimientos previos a la creación de sistemas y desarrolle uno de los atributos de la de competencia, más interesantes que tiene la informática que es la resolución de problemas, mediante diferentes herramientas, utilizando la creatividad y aplicación de la lógica. Actualmente con la aplicación tecnológica en los procesos productivos, administrativos, contables, financieros, económicos y educativos, por lo cual la informática sobre todo en el área de programación todos los días se trabaja para satisfacer las necesidades de las empresas o de pequeñas organizaciones con el fin de agilizar las actividades, reducir tiempos y optimizar utilidades.

El submódulo se complementa con dos submódulos: “Diseñar sistemas de información” y “Elaborar sistemas de información mediante un lenguaje de programación visual”, utilizando las aplicaciones actuales. Lo que en su conjunto te proporciona las herramientas para la creación de todo tipo de sistemas básicos de información.

Todas las competencias que integran el submódulo se desarrollan en un contexto práctico, en función de los sitios de inserción laboral, sin olvidar la aplicación de conocimientos de formación básica como el idioma inglés, así como herramientas tecnológicas como el internet.

En función de la disponibilidad tecnológica del plantel, así como de la iniciativa de tu propia formación, todas las actividades incluidas en esta guía de aprendizaje, se tiene que desarrollar en áreas de cómputo del plantel, o en su caso, espacios públicos o privados que te permitan acceder a esta tecnología.

Como parte de la evaluación para determinar si haz logrado ser competente en esta área de formación, se utilizan instrumentos de evaluación que reciben el nombre de guías de observación para las evidencias de desempeño y las listas de cotejo, sin dejar en un lado algunas autoevaluaciones para reforzar los conocimientos.

El éxito es como un tren, todos los días pasa pero si no te subes, se subirá otro.Animo y lucha por lo que deseas.

Compañero facilitador, a fin de incrementar los conocimientos teóricos y prácticos de los alumnos, se sugiere que tengas una visita o viaje de estudio guiada con los alumnos, a empresas que desarrollen software para computadoras y se implanten sistemas de información, como son: centros de cómputo, oficinas (del sector público, privado y social) e instituciones educativas, en su defecto llevar un conferencista experto en el tema.

Página 10 de 98

1Desarrolla el proceso de solución de un problema.

1. Mi primer problema2. Formalizando la solución

1. Encontrando problemas2. Llegando a la solución

1. Resolviendo problema2. Herramientas de solución

1. ¡Problemas a mí!2. Solución de problemas

Página 12 de 98

Desde su aparición en el planeta el ser humano se ha enfrentado a un mundo de diversos problemas, desde los originados en la naturaleza, como los que surgen de su propia dinámica social y cultural.

Ahora, en la sociedad contemporánea, es evidente cómo la solución a problemas ha llevado al ser humano a incursionar en lo mas pequeño de la materia y la energía como puede ser el genoma humado, y la física cuántica, hasta los confines del tiempo y el espacio, como el telescopio Hubble, para

escudriñar el trasfondo del universo y presenciar además los vestigios de la primera explosión a mas de 14 mil millones de años-luz de distancia.

La vida cotidiana está inmersa de problemas, muchos de los cuales ni siquiera sospechamos de su existencia, cruzar una avenida, buscar empleo, preparar una comida, organizar una fiesta, reparar un electrodoméstico, hasta como aprender a manejar un vehículo, o que un bebe aprenda a caminar, son problemas cuya solución se debe encontrar. Como en una telaraña de múltiples dimensiones estamos inmersos en un universo de problemas. Aprender a resolver problemas es también un problema.

Es fantástica la capacidad del ser humano de resolver problemas: desde arrebatarle a los dioses las fórmulas para su aprovechamiento y control, domesticar los ríos transformando las topografías, cabalgando en diminutos artefactos para recoger polvo estelar, o descifrando el código humano, haciendo transparentes a la vista los cuerpos opacos, mirando con la claridad del día la noche, y contrayendo tiempo y espacio, en virtud de las comunicaciones y la cibernética en general, por mencionar algunos ejemplos.

También en el reino animal hay evidencias de como ciertos animales resuelven problemas, dando indicios de lo que llamaríamos inteligencia, algunos tipos de simios elaboran herramientas para recolectar insectos, o utilizan herramientas como piedras por ejemplo para romper nueces, o extraer algas de un río por medio de una vara.

Como condición previa a resolver un problema es necesario que el alumno se familiarice con el tema de los problemas y sus soluciones en general, llevando una metodología general que luego se adaptará para el trabajo en el computador utilizando los modernos enfoques orientados a objetos y haciendo énfasis en la solución algorítmica, teniendo en mente que las soluciones serán implementadas en un lenguaje de programación orientado a objetos en un computador.

Página 14 de 98

ATRIBUTOS DE LA COMPETENCIA

1.1. Identifica el problema1.2. Análiza el problema.

RESULTADO DE APRENDIZAJE

El alumno soluciona problemas utilizando la lógica computac

Se recomienda al facilitador que a través de una exposición informe:

• Los resultados de aprendizaje.• Las competencias a desarrollar.• Las evidencias de desempeño y producto esperado.• Las técnicas e instrumentos de evaluación, y• Realiza una actividad para asegurarse de la comprensión de los puntos

expuestos.

Nombre Mi primer problema No. 1

Instrucciones para el Alumno

Resuelve de manera correcta lo que se te pide a continuación.

Saberes a adquirir

< Identifica el problema.

< Análiza el problema

Manera Didáctica de

Lograrlos

Mediante la socialización, soluciona un problema. Mediante

exposición por parte del facilitador se dan los pasos a resolver.

Investiga los siguientes términos y anótalas en la siguiente tabla:

Término ConceptoProblema:

Análisis:

Metodología:

Identificar:

Resolución:

Realiza en tu cuaderno un cuadrosinóptico de los tipos de problemas.

Se recomienda al facilitador que mediante una exposición explique una técnica de solución sistemática de problemas y que revisen elanexo 1.

Página 16 de 98

Página 15 de 98

Página 16 de 98

Nombre Encontrando problemas. N

Instrucciones para el Alumno

Observa las siguientes imágenes e identifica la problemática y comentaconclusiones.

Actitudes a formar

OrdenManera

Didáctica de Lograrlas

A través de las imágenes mostradas.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métodoestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, comprencada uno de sus pasos contribuye al alcance de un objetivo.

Imagen 1

Se recomienda al facilitador que explique la importancia de las entradas, metodología de solución y salidas.

Imagen 2

Imagen 3

Página 18 de 98

Imagen 4

Nombre Resolviendo problema No.

Instrucciones para el Alumno

Analiza el siguiente problema, en base a los datos que se presentan, anota cualos datos de entrada, desarrolla un método de solución y obtén los datos de salida

Actitudes a formar

OrdenManera

Didáctica de Lograrlas

Resuelve correctamente la problemática planteada.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, comcomo cada uno de sus pasos contribuye al alcance de un objetivo.

Recuerda lo siguiente:

Que datos de entrada se

tienen

Que operaciones

se deben realizar

Que resultados obtienes

Página 20 de 98

Problema 1. Pedro tiene en su reloj las 9:00 a.m. y quiere saber que hora será, después de trascurrir 1998 horas y cuantos días pasaron.Entrada: Operaciones: Salida:

Problema 2. Luis tiene un terreno de forma rectangular de 10 metros de ancho y 6 metros de largo, desea ponerle piso de cemento a todo, él quiere saber cuantos bultos de cemento ocupará si por cada metro cuadrado se lleva un bulto de cemento colocándolo con un grosor de 5cm, ¿le puedes ayudar?Entrada: Operaciones: Salida:

Nombre ¡Problemas a mí! No.

Competencia aDesarrollar

Desarrolla el proceso de solución de un problema.

Atributos de laCompetencia

1.1. Identifica el problema.1.2. Análiza el problema.

Instrucciones para el Alumno

Analiza con detenimiento cada uno de los problemas y encuentra la solmanera ordenada, identifica las entradas, utiliza un método para la resoluciónlas salidas.

Instrucciones para el Docente

Verifica que el alumno desarrolle cada uno de los pasos indicados y resuelproblemas de manera correcta.

Recursos materiales de

apoyoEquipo de cómputo, cuaderno, lápiz, bibliografía.

Actitudes a formar OrdenManera

Didáctica de Lograrlas

Resuelve correctamente la problemática planteada.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de méestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, cocomo cada uno de sus pasos contribuye al alcance de un objetivo.

Página 22 de 98

Problema 1. Coloca un número en cada cuadro, teniendo en cuenta que:

a) 3, 6, 8, están en la horizontal superior. b) 5, 7, 9, están en la horizontal inferior.c) 1, 2, 3, 6, 7, 9, no están en la vertical izquierda. d) 1, 3, 4, 5, 8, 9, no están en la vertical derecha.

Problema 2. Un niño, se come un pastel y medio, en un minuto y medio. ¿Cuántos niños hacen falta para comer 60 pasteles en media hora?

Problema 3. A lo largo de una carretera hay cuatro pueblos seguidos: los Rojos viven al lado de los Verdes pero no de los Grises; los Azules no viven al lado de los Grises.¿Quiénes son los vecinos de los Grises?

Problema 4. De cuatro corredores de atletismo se sabe que C ha llegado inmediatamente detrás de B, y D ha llegado en medio de A y C. ¿Calcula el orden de llegada?

Se recomienda al facilitador que considere ejercicios de algoritmos de actividades cotidianas como por ejemplo: hacer una gelatina, construcción de los cimientos de una casa, solicitud de una tarjeta de crédito entre otros.

ATRIBUTOS DE LA COMPETENCIA

a. Elabora algoritmos de solución del problema.b. Elabora diagramas de flujo de la solución del problema. c. Crepseudocódigo de la solución del problema.d. Prueba de escritorio de la solución del problema.

RESULTADO DE APRENDIZAJE

El alumno soluciona problemas utilizando la lógica computac

Compañero facilitador, se sugiere que realices una presentación electrónica donde expongas, los atributos de la competencia que se van ha desarrollar los alumnos a lo largo de este

Página 24 de 98

Nombre Formalizando la solución. No.

Instrucciones para el Alumno

Realiza lo que se pide a continuación.

Saberes a adquirir

< Algoritmos para la solución del problema.

< Diagramas de flujo para la solución del problema.

< Pseudocódigospara la solución del problema.

< Pruebas de escritorio.

Manera Didáctica de

Lograrlos

Mediante socialización como formalizar la solución. Median

exposición podel facilitador se dan las diferentes técnicas para fola solución.

Completa la siguiente tabla.

Algoritmo:

Características de un algoritmo:

Estructura de un algoritmo:

Investiga que es un diagrama de flujo:

Anota la descripción de cada uno de los símbolos que se utilizan en los diagramas de flujo.

SÍMBOLO DESCRIPCIÓN

Se recomienda al facilitador verificar que la descripción del símbolo corresponda a la figura.

Página 26 de 98

Complenta correctamente el siguiente esquema.

¿Qué es?

¿Para qué se utiliza?

Pseudocódigo ¿Cómo esta constituido?

Se recomienda al facilitador hacer una explicación referente a la prueba de escritorio.

Nombre Llegando a la solución. No.

Instrucciones para el Alumno

Analiza el siguiente problema y observa la metodología de solución

Actitudes a formar

OrdenManera

Didáctica de Lograrlas

Observa y analiza la solución.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, cocomo cada uno de sus pasos contribuye al alcance de un objetivo.

Problema 1. Operaciones aritméticas.Entrada: A, BMétodo: aplicar formulas de suma(S=A+B), resta(R=A-B), producto(P=A*B) y división(D=A/B).Salida: S, R, P, D

ALGORITMO1.- INICIO2.- LEER A, B3.- SUMA A MÁS B Y ASÍGNALO A S4.- RESTA A MENOS B Y ASÍGNALO A R5.- MULTIPLICA A POR B Y ASÍGNALO A P6.- DIVIDE A ENTRE B Y ASÍGNALO A D7.- ESCRIBIR S, R, P, D8.- FIN

Página 28 de 98

Problema 2. Operaciones aritméticas.PSEUDOCÓDIGO DIAGRAMA DE FLUJO

00: COMENZAR:10: PEDIR A20: LEER A30: PEDIR B40: LEER B50: S= A+B60: R= A-B70: P= A*B80: D= A/B90: Escribir S, R, P, D100: FIN

INICIO

Leer A, B

S= A+ B

R= A - B

P = A * B

D = A / B

Escribir

FIN

Se recomienda al facilitador explicar otros ejercicios resolviéndolos en el pizarrón.

Nombre Herramientas de solución. No.

Instrucciones para el Alumno

Analiza el siguiente problema, en base a los datos que se presentan, reaalgoritmo, un diagrama de flujo, un pseudocódigo o la prueba de escritorio deal recuadro en blanco.

Actitudes a formar

OrdenManera

Didáctica de Lograrlas

Resuelve correctamente la problemática planteada.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, comcomo cada uno de sus pasos contribuye al alcance de un objetivo.

Página 30 de 98

Problema 1. Calcula el perímetro de un círculo

ALGORITMO DIAGRAMA DE FLUJO

INICIO

Leer diámetro

pi = 3.1416

P= pi * diámetro

EscribirP

FIN

PSEUDOCÓDIGO

Problema 2. Calcula el área de trapecio.

ALGORITMO

1. Inicio.

2. Lee la base mayor, base menor y altura.

3. Suma la base mayor y la base menor, asignarlo a sum.

4. Multiplica sum por altura, asignarlo a multi.

5. Dividir multi entre dos y asignarlo a área

6. Escribir área

7. Fin

DIAGRAMA DE FLUJO

PSEUDOCÓDIGO

Página 32 de 98

Problema 3. Calcula el volumen de un cubo.

ALGORITMO DIAGRAMA DE FLUJO

PSEUDOCÓDIGO

10 comenzar

20 pedir lado

30 leer lado

40 v=lado*lado*lado

50 escribir v

60 fin

Problema 4. Convierte de ºc a ºf.

ALGORITMO DIAGRAMA DE FLUJO

PSEUDOCÓDIGO

Página 34 de 98

Problema 5. Calcula el IVA de una compra de 3 artículos.

ALGORITMO DIAGRAMA DE FLUJO

PSEUDOCÓDIGO

Nombre Solución de problemas. No.

Competencia aDesarrollar

Desarrolla el proceso de solución de un problema.

Atributos de laCompetencia

2.1. Elabora algoritmos de la solución del problema.2.2. Elabora diagramas de flujo de la solución del problema.2.3. Crea pseudocódigo de la solución del problema.2.4. Prueba de escritorio de la solución de un problema.

Instrucciones para el Alumno

Analiza con detenimiento cada uno de los problemas y realiza un algordiagrama de flujo, un pseudocódigo y la prueba de escritorio correspondiente

Instrucciones para el Docente

Verifica que el alumno desarrolle cada uno de los procesos indicados y que resuelve los problemas de manera correcta.

Recursos materiales de

apoyo

Equipo de cómputo, cuaderno, lápiz, bibliografía, apuntes del facilitado

Actitudes a formar OrdenManera

Didáctica de Lograrlas

Resuelve correctamente la problemática planteada.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir dmétodos establecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, cocomo cada uno de sus pasos contribuye al alcance de un objetivo.

Página 36 de 98

Problema 1. Calcula el salario de un empleado, si este trabaja 8 horas diarias y gana45 pesos la hora, ¿Cuánto sería en un día, cuanto en una semana (sin domingo) y cuánto en una quincena?

Problema 2. Pida un número en horas y lo convierte a segundos, minutos e imprimir los resultados.

Problema 3. Calcula el promedio de 5 números.

En esta competencia se abordaron dos contenidos muy importantes, uno de ellos se trato las diferentes maneras que tienen los alumnos para enfrentar determinados problemas, lo substancial que es saber analizar e identificar la problemática; el otro es aprender a trabajar con las diferentes herramientas para solución de problemas con una secuencia lógica.

Cabe mencionar que los algoritmos se componen de enunciados claramente determinados orientados a llegar a un final, los diagramas de flujo es una herramienta gráfica compuesta de simbología la cual identifica cada uno del proceso, el pseudocódigo es otra herramienta que se asemeja a la codificación de un programa en un lenguaje de programación con ciertas restricciones.

El contenido o competencia se puede evaluar empleando los diferentes instrumentos listas de cotejo para los productos y guías de observación para los desempeños y la adquisición de nuevos conocimientos con algunas autoevaluaciones.

2

Página 38 de 98

Codifica la solución del problema en un lenguaje de programación estructurado.

3. Mis primeros pasos4. Programación

6. Comenzar a trabajar en C7. Controlando la vida

3. Asigna nombres4. Programas y más programas

3. Resolviendo problemas4. Codificación efectiva

La codificación de la solución de un problema en un lenguaje estructurado es lo que se pretende en esta segunda competencia, donde el alumno es capaz, después de haber analizado la problemática tenga la habilidad derealizar el código para obtener los resultados deseados.

Actualmente el desarrollo de programas es una de las actividades mas sobresalientes en el área informática, ya que en la mayoría de las áreas se crean día con díaprogramas que ayudan al ser humano a facilitar las tareas cotidianas repetitivas o de cálculos muy complejos para una persona, en cambio la maquina cuenta con un microprocesador capaz de realizar millones de instrucciones por segundo.

Nuestro segundo contenido o competencia está enfocada a codificar algoritmos empleando un lenguaje de programación que en nuestro caso utilizaremos el lenguaje c++, para mostrar todos los ejemplos y ejercicios ya que es uno de los más usados pero sobre todo tiene una gran facilidad.

Al dominar los atributos de la competencia y ponerlas en práctica ordenadamente, tú podrás también adquirir los conocimientos sobre tipos de archivos, programación estructurada, sintaxis y semántica del lenguaje C, palabras reservadas, variables y constantes, estructuras de control del lenguaje C, funciones y arreglos.

Manejando estas habilidades dentro de una empresa, podrás tener un reconocimiento muy grande, ya que podrás proponer propuestas de mejora para el software que se maneja, así como, realizar programas nuevos que facilitaran el trabajo diario. Las actividades que aquí se presentan son para que comprendas de manera fácil todos estos atributos de la competencia y puedas llegar a un grado de dificultad más complejo.

Página 40 de 98

ATRIBUTOS DE LA COMPETENCIA

2.1. Elementos básicos del lenguaje de programación estructuraManipulación básica de datos.

RESULTADO DE APRENDIZAJE

El alumno maneja adecuadamente los elementos del lenguaje de programC++.

Se recomienda al docente realizar una exposición electrónica donde indique la importancia de los atributos de la competencia, donde se explique la importancia de ellos en el campo laboral.

Nombre Mis primeros pasos. No. 3

Instrucciones para el Alumno

Realiza correctamente lo que se pide a continuación.

Saberes a adquirir

< Lenguaje de programación.< Tipos de lenguajes.< Lenguaje estructurado.< Lenguaje C.< Programas.< Tipos de programas.< Tipos de datos.< Variables.< Tipos de variables.< Constantes.< Tipos de constantes.< Identificadores.< Elementos del lenguaje C.

Manera Didáctica de

Lograrlos

Investigación,lectura previa y exposiciones.

El alumno investiga y realiza un resumen en su cuaderno: ¿Qué es un lenguaje de programación?, ¿Cuántos tipos de lenguajes existen?, ¿Cuáles son los lenguajes estructurados?, anota 5 nombres lenguajes estructurados, su descripción y la historia del lenguaje C.

Se recomienda al facilitador mediante una exposición, se puede apoyar con una presentación en PowerPoint, donde explique la clasificación de los lenguajes de programación.

Página 42 de 98

Completa las siguientes tablas.

Programa:

Tipos de programas:

Programas lineales:

Programas alternativos:

Programas cíclicos:

Instrucción:

Clasificación de las instrucciones:

Instrucciones de declaración:

Instruccionesprimitivas:

Instrucciones de entrada:

Instrucciones de asignación:

Instrucciones de salidas:

Instrucciones decontrol:

Instrucciones alternativas:

Instrucciones repetitivas:

Instrucciones compuestas:

TipoTamaño

aproximado en bits Rango

Charunsigned char signed charintunsigned int signed int short intunsigned short int signed short int long intsigned long int unsigned long int floatdoublelong double

Variable:

Tipos de variables:

Variables locales:

Variables globales:

Constante:

Tipos de constante:

Constantes literales:

Constantes enteras:

Constantes carácter:

Constantes reales:

Constante cadena:

Página 44 de 98

Constantes definidas:

Constantes enumeradas:

Constantes declaradas:

Identificadores:

Investiga, comenta y llega a un acuerdo con tu facilitador ¿Cuál es la estructura básica de un programa en lenguaje C?

Se recomienda al facilitador mediante una exposición, identificar las partes que conforman un programa en el lenguaje C y comentarlo a los alumnos.

Teclas de acceso rápido en el editor de C

F1F2F3ALT+X

ALT+F9CTRL.+F9ALT+F3ALT+O

Estructura de un programa de lenguaje C:

Se recomienda al facilitador mediante una exposición, se puede apoyar con una presentación en PowerPoint, donde explique como se instala el lenguaje C y como entrar al editor del lenguaje C

Página 46 de 98

Nombre Comenzar a trabajar en C. No.

Instrucciones para el Alumno

Identifica y analiza la estructura de un programa en C. Visualiza las ventanaeditor del lenguaje C por menú.

Actitudes a formar OrdenManera

Didáctica de Lograrlas

Mediante exposiciones.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de méestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, cocomo cada uno de sus pasos contribuye al alcance de un objetivo.

#include<stdio.h>Encabezado Librerías #include<stdlib.h>

#include<conio.h>int a,b,c,d,e,suma,pro;

Zona de Variables float num1,num2,num3,num4,num5;char letra_uno,letra_dos,letra_tres;

Función de inicio main( ) Llave de inicio {

Función limpiar pantalla clrscr( );gotoxy(1,1);printf(“Hola”); gotoxy(10,5);printf(“dame num 1:); scanf(“%d”,&a); gotoxy(10,7);printf(“dame num 2:);

Cuerpo del Programa scanf(“%d”,&b); gotoxy(10,9);printf(“dame num 3:); scanf(“%d”,&c);suma=a+b+c;gotoxy(10,11);printf(“la suma es:%d,suma);getch( );

Llave de fin }

Pantallas del lenguaje C

Pantalla principal Menú File

Menú Edit Menú Search

Menú Run Menú Compile

Página 48 de 98

Menu Debug Menú Project

Menú Options Menú Windows

Menú Help

Se recomienda al facilitador fortalezca las opciones básicas menú.

Nombre Asigna nombres No.

Instrucciones para el Alumno Resuelve lo que se te pide a continuación.

Actitudes a formar

OrdenManera

Didáctica de Lograrlas

Analiza y contesta en las tablas.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, comcomo cada uno de sus pasos contribuye al alcance de un objetivo.

1. Que nombre de variable le darias a los siguentes enunciados.

DESCRIPCION RESPUESTASA El valor monetario de una casa.B El promedio de un alumno.C La edad de un alumno.D El nombre completo de un maestro.E La cantidad de productos comprados.

2. Describe que realiza cada una de las líneas del siguiente código.

CÓDIGO RESPUESTA#include <stdio.h>#include <conio.h>main(){

int edad;

Página 50 de 98

clrscr();}

Página 50 de 98

3. Contesta correctamente las siguientes preguntas.

PREGUNTA RESPUESTAS

A¿Cuál es el lenguaje de bajo nivel?

B¿El lenguaje C, que tipo de lenguaje es?

C¿Cuáles son los nombres de los menus dellenguaje C?

D¿Cuál es el método abreviado paracompilar el código de un programa?

E¿Cuál es el método abreviado paraejecutar el código de un programa?

F¿Cuál es la extension por default que utilizael lenguaje C en un archivo de código fuente?

4. De las siguientes operaciones, anota que tipo de dato sería el adecuado.3456 + 8490 = 11946 3.1416 * 319.0000 534500 / 237.90 + 500

Nombre Resolviendo problemas. No.

Competencia aDesarrollar

Codifica la solución del problema en un lenguaje de programación estruc

Atributos de laCompetencia

2.1 Elementos básicos del lenguaje de programación estructurado. Manipubásica de datos.

Instrucciones para el Alumno

Plantea una solución, en base a una situación real, donde describes las (tanto de entrada como de salida), y su tipo de dato correspondienoperaciones y realiza el pseudocódigo.

Instrucciones para el Docente

Explique como pasar las operaciones del pseudocódigo al compilador de C.

Recursos materiales de

apoyoEquipo de computo, cuaderno y lápiz

Actitudes a formar OrdenManera

Didáctica de Lograrlas

Aplica los conocimientos mediante la resolución de problemas.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir dmétodos establecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, cocomo cada uno de sus pasos contribuye al alcance de un objetivo.

Problema 1. Realiza un programa que sume dos números y nos imprima el resultado.

Página 52 de 98

Problema 2. Realiza un programa que pida un número e imprima el cubo de él.

Página 52 de 98

Problema 3. Realiza un programa que nos pida el radio de un circulo y nos diga cuál es el perímetro y la área.

Problema 4. Realiza un programa que pida un número, le sume 20, lo divida entre 2 e imprima el resultado.

Problema 5. Realiza un programa que pida el salario de una persona y le aumente el10% e imprima el resultado.

Problema 6. ¿Cuál es el área de un triangulo, si usted va a pedir la base y la altura?

Problema 7. Realiza un programa que lea tres datos y los imprima al revés.

Problema 8. Realiza un programa que pida un número, lo multiplique por 5 e imprima el resultado.

Problema 9. Realiza un programa que lea un número en pies y calcule e imprima su equivalente en yardas, pulgadas, centímetros y metros. 1pie=12 pulgadas, 1yarda=3 pies, 1pulgada=2.54cm y 1metro=100cm.

ATRIBUTOS DE LA COMPETENCIA

2.2 Utiliza estructuras de control.

RESULTADO DE APRENDIZAJE

El alumno realiza programas que contengan estructuras de control lenguaje C++.

Se recomienda al docente realice una exposición electrónica, donde indique la importancia del tema o habilidad, donde se muestre la importancia de ellos en el campo laboral.

Página 54 de 98

Nombre Programación. No.

Instrucciones para el Alumno

Realiza correctamente lo que se indica a continuación.

Saberes a adquirir

< Operadores.< Librerías básicas.< Sentencias de

entrada y salida.< Sentencias de

control.< Funciones.< Arreglos.

Manera Didáctica de

Lograrlos

Realiza en lenguaje C dprogramas contemplando lestructuras básicas: secu(asignación cálculo y sumaselectivas (simples, compuestas y múltiples) y repet(simples, compuestas y múltip

Completa los datos donde se requiera, en las siguientes tablas.

Operador:

Operadores Aritméticos:

Operador Acción-+*%/

Operadores relacionales:

Operador Acción>>=<<===!=

Operadores incremento y decrementoIncremento decremento++n --nn += 1 n -= 1 n = n + 1 n = n -1

Operadores lógicos:&&!¦¦

Operadores de asignación: A = BA *= B A /= BA %= B A += B A -= B

Precedencia de Operadores( )! ++ --* / %< <= > >=== !=&&¦¦= += - = etc.Nota: la precedencia se realiza de izquierda a derecha.

Librerías del lenguaje C

ALLOC.HBIOS.H CTYPE.H DOS.H FCNTL.H GRAPHICS.H LIMITS.H TIME.H MATH.H PROCESS.H SHARE.H STDARG.H STDIO.H STRING.H SYS\TIMEB.H

ASSERT.HCONIO.H DIR.H ERRNO.H FLOAT.H IO.HSYS\TYPES.H MEM.H SETJMP.H SIGNAL.H STDDEF.H STDLIB.H SYS\STAT.H VALUES.H

Investiga y realiza una presentación electrónica de las funciones de entrada y salida que maneja el lenguaje C y realiza una exposición frente a grupo, con ejemplos.

Página 56 de 98

Se recomienda al facilitador que mencione cuales son las librerías mas utilizadas para la elaboración deprogramas en este submódulo.

Completa correctamente la siguiente tabla y define cada función.

Función if

Función if – else

Función switch

Función for

Función while

Función do while

Arreglos

Funciones

Nombre Controlando la vida. No.

Instrucciones para el Alumno Sigue paso a paso las instrucciones.

Actitudes a formar

OrdenManera

Didáctica de Lograrlas

Analiza resultados de problemas propuestos.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, comcomo cada uno de sus pasos contribuye al alcance de un objetivo.

Programa que muestra en pantalla el cuadrado de un número.#include<stdio.h>#include<conio.h>void main(){

int a,b; clrscr();printf(" INTRODUCE UN NUMERO : ");scanf("%d",&a);b=a*a;printf("**EL CUADRADO DE %d ES %d", a,b);getch();

}

Página 58 de 98

Programa que pide dos números y nos dice cual es mayor (función if).#include<stdio.h>#include<conio.h>void main(){

int a,b; clrscr();printf(" INTRODUCE UN NUMERO : ");scanf("%d",&a);printf(" INTRODUCE OTRO NUMERO : ");scanf("%d",&b);if (a>b){

printf("**EL NUMERO %d ES MAYOR QUE %d", a,b);}if (b>a){

printf("**EL NUMERO %d ES MAYOR QUE %d",b,a);}getch();

}

Programa que pide dos números y nos dice cual es mayor (función if else).#include<stdio.h>#include<conio.h>void main(){

int a,b; clrscr();printf(" INTRODUCE UN NUMERO : ");scanf("%d",&a);printf(" INTRODUCE OTRO NUMERO : ");scanf("%d",&b);if (a>b){

printf("**EL NUMERO %d ES MAYOR QUE %d", a,b);}else{

printf("**EL NUMERO %d ES MAYOR QUE %d",b,a);}getch();

}

Programa que pide la calificación de un alumno y muestra un mensaje según le corresponda.#include<stdio.h>#include<conio.h>void main(){

int c; clrscr();printf(" INTRODUCE UNA CALIFICACION ENTRE 1 Y 5 : ");scanf("%d",&c);switch (c){

case 1:printf("** SUSPENDIDO **");break;

case 2:printf("** MAS O MENOS **");break;

case 3:printf("** APROBADO **");break;

case 4:printf("** REGULAR **");break;

case 5:printf("** EXCELENTE **");break;

default:printf("** FUERA DE RANGO **");

}getch();

}

Página 60 de 98

Programa que imprime los números pares del 1 al 20 (for).#include<stdio.h>#include<conio.h>void main()

{ int x; clrscr();for(x=1;x<=20;x++){

if(x%2==0){printf("%d\t",x);

}}getch();

}

Programa que imprime los números pares del 1 al 20 (while).#include<stdio.h>#include<conio.h>void main(){

int x=1; clrscr(); while(x<=20){

if(x%2==0){printf("%d\t",x);

}x++;

}getch();

}

Programa que imprime los números pares del 1 al 20 (do while).#include<stdio.h>#include<conio.h>void main(){

int x=1;clrscr();while (x<=20){

if(x%2==0){printf("%d\t",x);

}x++;

}getch();

}

Programa que obtiene la suma de los números pares del 1 al 10 con un arreglo inicializado.#include<stdio.h>#include<conio.h>void main(){

int s=0,arte[10]={1,2,3,4,5,6,7,8,9,10};clrscr();for(int x=0;x<10;x++){

if(arte[x]%2==0){s=s+arte[x];

}}printf("La suma es %d.",s);getch();

}

Página 62 de 98

Programa que realiza la suma de dos valores dados mediante una función.#include<conio.h>#include<stdio.h> int suma(int,int); void main(){

int a=10, b=5; clrscr(); c=suma(a,b);printf(“suma de a + b es igual a %d ”,c);getch();

}int suma(int a, int b){

int c;c=a+b;return c;

}

Nombre Programas y más programas. No.

Instrucciones para el Alumno Contesta de manera correcta lo que se te pide a continuación.

Actitudes a formar

OrdenManera

Didáctica de Lograrlas

Codifica y depura programas.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, comcomo cada uno de sus pasos contribuye al alcance de un objetivo.

Página 64 de 98

Escribe que hace el programa y transcríbelo con los otros dos ciclos.

¿Qué hace este programa? Escríbelo con for.

#include<stdio.h>#include<conio.h>void main(){

int n,b,x=1,y,s=0,z=0;float p,c;clrscr();printf("¨Cuantos numeros quieres? ");scanf("%d",&n);while(x<=n){

printf("Dame el numero %d. ",x);scanf("%d",&y);if(y%2==1){ z=z+y;

s=s+1;}else{

for(b=y-1; b>=1; b--){c=y*b;y=c;

}printf("%f\n",c);

}x++;

}p=z/s;printf("El promedio de los %d numeros

impares es: %f",s,p);getch();

}

Escríbelo con do -- while

Escribe el siguiente programa a los otros dos ciclos.

Programa que pide n nombres y los almacena enun arreglo, luego pide uno para consultarlo, muestra la posición y el nombre en minúsculas.

Escríbelo con While

#include<conio.h>#include<stdio.h>#include<string.h>#include<iostream.h>void main(){

int n,m;char nom[10][20],tem[20];clrscr();cout<<"****** CUANTOS NOMBRES VAS A

INTRODUCIR : ",cin>>n;for(int x=0; x<n; x++){

cout<<"DAME EL NOMBRE : ";gets(nom[x]);strlwr(nom[x]);

}cout<<"\n**** LOS NOMBRES SON : *****\n

\n";for(int y=0; y<n; y++){

puts(nom[y]); printf("\n");}cout<<"TECLEA LA CADENA A CONSULTAR

:";gets(tem);strlwr(tem);for(int b=0; b<n; b++){

m=strcmp(tem,nom[b]); if(m==0){printf("\n\n");puts(nom[b]);printf("\n\nSU POSICION ES %d

",b);}

}getch();

}

Página 66 de 98

Escríbelo con do -- while

Nombre Codificación efectiva. No.

Competencia aDesarrollar

Codifica la solución del problema en un lenguaje de programación estruc

Atributos de laCompetencia

2.2. Utiliza estructuras de control.

Instrucciones para el Alumno

Realiza los pasos que se indican de una manera ordenada en cada uno deproblemas que se muestran a continuación.a) Los pseudocódigos de los problemas.b) Los diagramas de flujos de los problemas.c) Los códigos en el lenguaje de programación C

Instrucciones para el Docente

Verifica que el alumno desarrolle de forma correcta cada uno de los pasosindicados

Recursos materiales de

apoyoEquipo de cómputo, cuaderno y lápiz.

Actitudes a formar OrdenManera

Didáctica de Lograrlas

Analiza y resuelve los problemas.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de méestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, comprencada uno de sus pasos contribuye al alcance de un objetivo.

PROBLEMA 1. Lee dos números, busque el mayor de ellos, asígnelo a la variable “c”e imprima esa variable con el texto “es mayor”.

Página 68 de 98

PROBLEMA 2. Determina la suma de todos aquellos números leídos mientras no sean pares.

PROBLEMA 3. Determina el porcentaje descontado en una compra, introduciendo por teclado el precio de la tarifa y el precio pagado.

PROBLEMA 4. Registra tus ventas de tu tienda, por medio de una computadora, y lee por cada cliente:a).- El monto de la venta.b).- Calcule e imprima el IVA.c).- Calcule e imprima el total a pagar.d).- Lea la cantidad con que paga el cliente. e).- Calcule e imprime el cambio.Al final del día deberá imprimir la cantidad de dinero que debe haber en la caja.

PROBLEMA 5. Evalua el siguiente menú.MENU

“A” Calcula el promedio de 5 calificaciones. “B” Calcula el área de un circulo.“C” Calcula el número mayor de tres valores.

PROBLEMA 6. Determina si un alumno aprueba o reprueba un curso, sabiendo que aprobara, si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.

PROBLEMA 7. Calcula el total a pagar por la compra de camisas. Si se compran tres camisas o mas, se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10%.

PROBLEMA 8. Una compañía de seguros está abriendo un departamento de finanzas y estableció un programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efectúa la fianza es menor que $50,000 la cuota a pagar será por el 3% del monto, y si el monto es mayor que $50,000 la cuota a pagar será el 2% del monto. La afianzadora desea determinar: ¿Cuál será la cuota que debe pagar un cliente?

Problema 9. Víctor tiene la necesidad de realizar operaciones aritméticas básicas y para agilizar esto, tiene que diseñar un programa que permita leer dos valores numéricos y calcular primero la suma, después la resta, a continuación el producto y seguidamente la división de ambos valores, escribiendo finalmente el resultado obtenido en cada una de estas operaciones.

PROBLEMA 10. El maestro Gómez tiene la necesidad de saber que porcentaje de hombres y de mujeres hay en el grupo 5 A del turno de la mañana, si son en total 40 estudiantes, 25 son mujeres y 15 son hombres.

PROBLEMA 11. Ricardo recibió una noticia de sus padres: le daban un premio si su calificación en la materia de algoritmos era de mínimo de 8.0, por esa razón desea saber cual será su calificación final en esa materia. Dicha calificación se compone de los siguientes porcentajes:

55% del promedio de sus tres calificaciones parciales.30% de la calificación del examen final.15% de la calificación de un trabajo final.

PROBLEMA 12. Todos los lunes, miércoles y viernes, María entrena atletismo ya que participara en los juegos estatales de su estado, ella corre la misma ruta y cronometra los tiempos obtenidos. ¿Determinar el tiempo promedio que María tarda en recorrer la ruta en una semana cualquiera?, tú debes de pedir los tiempos de cada día.

PROBLEMA 13. El empleado Miquel quiere hacer un regalo a su esposa, pero quiere saber si puede comprarlo con un bono que le dan anualmente. Para calcular esta utilidad, Miguel recibe la asignación de un porcentaje de su salario mensual que depende de su antigüedad en la empresa, de acuerdo con la siguiente tabla:

Tiempo UtilidadMenos de 1 año. 5 % del salario1 año o más y menos de 2 años. 7% del salario2 años o más y menos de 5 años. 10% del salario5 años o más y menos de 10 años. 15% del salario10 años o más 20% del salario

¿Cuánto recibe Miguel?, si al mes gana $5,000.00, la antigüedad la debes de ir cambiando por cada uno de los tiempos, imprime el resultado de la utilidad.

PROBLEMA 14. Paco quiere realizar un programa que muestre un menú con los 3 primeros programas, pero no puede disponer de mucho tiempo ¿Le puedes ayudar?

PROBLEMA 15. Héctor tiene un problema, tiene 5 naranjas, 3 manzanas, 4 mangos y19 guayabas y quiere saber si la suma de todas las frutas es múltiplo de 3 o no ¿Le podrías ayudar?

PROBLEMA 16. La administración de la escuela necesita avisar a los alumnos del colegio, que llego la convocatoria del servicio militar, para esto requiere evaluar cual de

Página 70 de 98

tres alumnos previamente localizados es el mayor, esto para que asista él en representación de los otros dos compañeros.

Página 70 de 98

PROBLEMA 17. El maestro Luís de matemáticas, quiere recompensar a los alumnos con 10 puntos extras al que realicé un programa que pida un número y si es menor de10 que obtenga el cubo de el y si es mayor que obtenga el cuadrado.

PROBLEMA 18. Una empresa de mercadotecnia realiza un estudio de mercado sobre educación en su ciudad, las encuestas arrojaron información pero para agilizar su trabajo necesita realizar un programa que pida la edad de una persona, si esta edad es mayor de 6 y menor de 12 que mande el mensaje “ESTAS EN PRIMARIA”, si es mayor de 12 y menor de 15 “ESTAS EN SECUNDARIA”, si es mayor de 15 y menor de 18 “ESTAS EN CECYTEM” y si es mayor de 18 “ESTAS EN LICENCIATURA”.

PROBLEMA 19. Lupita necesita hacer una tarea muy importante, ya que si no la hace no tendrá derecho a presentar su examen. ¿Le ayudas?, la tarea consiste en realizar un programa que pida dos números y nos diga si es primero es múltiplo del segundo.

PROBLEMA 20. Una empresa constructora quiere aplicar una estrategia para elevar sus ventas de terrenos, dando un descuento a sus clientes, esta consiste en realizar un programa que pida el largo y el ancho de un terreno y el precio por metro cuadrado. Si el terreno tiene más de 200 metros cuadrados se hace un descuento de 10%.

PROBLEMA 21. La empresa de jugos sabrosin S.A. de C.V. quiere hacer el cálculo de su nomina de manera más rápida, ya que esta se realiza manualmente. Para esto necesita crear un programa que tenga las siguientes características: que contenga N cantidad de empleados, cada uno gana a 8 pesos la hora y trabaja 40 horas a la semana, quiere calcular el sueldo neto por semana de cada empleado, y necesita saber también ¿Cuál es el sueldo promedio de todos los empleados?.

PROBLEMA 22. Miguelito tiene una colección de bolas de billar en un estuche y escoge una al azar pero él desea saber si esta bola que eligió tiene un número es primo o no ¿Le podrías ayudar con su problema?

PROBLEMA 23. Salvador es un niño bastante lento para entender matemáticas y ahora tiene un gran problema la maestra Félix, le dejo de tarea que se aprendiera las tablas de multiplicar del 1 hasta el 10, para ello Salvador necesita escribirlas primero, pero como no se las sabe el quiere que tú le ayudes mediante un programa que se las imprima en pantalla.

PROBLEMA 24. Juan es muy aplicado en la materia de matemáticas, para ello el maestro Puc le deja un trabajo donde tiene que obtener un resultado de la siguiente serie 1+1/2+1/3+1/4+……….1/n, pero a Juan se le olvido y una hora antes de la clase se pone a realizar el trabajo y para hacerlo más rápido diseña un programa que entrega el resultado ¿Le puedes ayudar a Juan para que no quede mal con su profesor?

PROBLEMA 25. Felipe ocupa su R.F.C. para a elaboración de una factura pero no sabe como sacarlo ¿Le podrías hacer un programa que le muestre como se obtiene?

PROBLEMA 26. A Jaime le justa mucho estar entretenido con los textos, para ello el te pone un reto. ¿Qué le digas una palabra que sea palindro mediante un programa? (las palabras palindro son aquellas palabras que significan lo mismo al ser leídas al derecho y al revés, ejemplo oso), y como tú eres más inteligente que Jaime ¿verdad que aceptas el reto?

PROBLEMA 28. Wilebaldo es un estudiante muy destacado, y quiere realizar un programa que le diga cuál es el promedio de 50 valores que tiene almacenados en un vector, también necesita saber cuántos de esos número son mayores que ese promedio, pero en este momento, él no tiene el tiempo necesario para hacerlo por lo que él, le pide la ayuda a sus compañeros para hacerlo ¿verdad que tú si le ayudas?, de paso muestra en pantalla esos resultados y la lista de los número mayores del promedio.

PROBLEMA 29. Diego tiene dos bolsas A y B con 45 canicas, cada canica tiene un número marcado, quiere sumar el número de la canica de la bolsa A con el número de la canica de la bolsa B, así sucesivamente hasta terminar con todas las canicas y va anotando en una libreta cada una de las sumatorias, ¿podrías ayudarle a imprimir mediante un programa cada una de las sumatorias?

PROBLEMA 30. Lupita tiene 20 monedas de diferentes valores, ella quiere comprar un regalo para su papa, el cual cuesta lo que marca la moneda de mayor valor que tiene,¿le podrías ayudar a encontrarla de entre todas sus monedas y de paso marcar la posición donde se encontró?

PROBLEMA 31. Manuel es un jugador fanático pero con mucha suerte, el tiene 500 monedas de diferente valor y se pone a jugar volados contra Sergio el cual tiene la misma cantidad de monedas y de igual valor que las de Manuel, esté ultimo le gana todos los volados, por lo que duplica la cantidad de cada una de sus monedas, Manuel quiere separar las monedas que tenia inicialmente, pero también quiere tener las duplicadas ¿podrías ayudarle mediante un programa a imprimir los valores de las primeras 500 monedas y luego con las cantidad duplicadas?

PROBLEMA 32. Marcos necesita sus calificaciones del primer parcial por que su papá se las pidió, pero Rocío la encargada de control escolar tiene mucho trabajo y quiere entregárselas pero el tiempo no le alcanza, ¿Podrías ayudarle a Rocío con esto? Marcos lleva 5 materias diferentes y se necesita obtener el promedio de ellas.

Página 72 de 98

Con los ejemplos, ejercicios y prácticas ejecutadas durante este contenido o competencia, desarrollaste los atributos de la competencia y destrezas donde lograste:

2.2. Elementos básicos del lenguaje de programación estructurado.2.3. Manipulación básica de datos.2.4. Utilizar estructuras de control.

Para comprobar que has desarrollado las competencias en todos los apartados señalados con anterioridad, se utilizaron dos tipos de instrumentos de evaluación: las guías de observación para medir tus desempeños y las listas de cotejo para los productos logrados.

3Pone a punto el programa mediante el uso de un editor de lenguaje de programación estructurado

5. El programa

3. Creando un archivo

5. Manejando archivos

5. Registro de clientes

Página 74 de 98

1. Mi agenda

Cuando te encuentras en clase, normalmente, tomas apuntes en tu libreta (almacenar), corriges detalles de tus notas (modificación), localizas lo mas importante de ellos (búsqueda), y borras aquello que no es importante (eliminación). Análogamente, la empresa realiza las mismas operaciones con expedientes, notas, recibos; y en la computadora también realizamos estas operaciones.

Con las competencias vistas anteriormente, los datos que has manejado hasta este momento se procesan y residen en la memoria principal (RAM), sin embargo existe la necesidad de que estos resultados sean llevados a una memoria secundaria.

De igual manera, el software que se desarrolla no es para la máquina en la que se crea, por lo que debe ser llevado a otros equipos de cómputo para su uso.

Con ello, la empresa donde labores requiere del manejo de este tipo de administración de archivos siendo esta una actividad cotidiana del técnico en informática y se ve reflejado en la eficacia y eficiencia en que se maneje.

Por último, con las competencias que desarrollaste anteriormente y esta tercera y última competencia del submódulo, mejorarás la captura de tus algoritmos, la edición del programa que estés desarrollando, la compilación, depuración y ejecución del programa.

Página 76 de 98

ATRIBUTOS DE LA COMPETENCIA

3.1 Captura y edición del programa.3.2 Compila el programa, depura el programa, y ejecuta el program

RESULTADO DE APRENDIZAJE

El alumno codifica, compila, depura y ejecuta programas en un lenguprogramación.

Compañero facilitador, se sugiere que realices una presentación electrónica donde muestres los contenidos y habilidades que van a desarrollar los alumnos.

Nombre El programa. No.

Instrucciones para el Alumno

Investiga los conceptos de campo y registro.Investiga los conceptos de estructura y archivos del lenguaje C. Investiga e escribe el modo de apertura de archivos.Investiga e escribe el modo de acceder a los datos de un archivo.

Saberes a adquirir

< Estructuras de datos.

< Archivos.< Archivo de texto.< Campo.< Registro.

Manera Didáctica de

Lograrlos

Presenta las competencias tema y verifica su comprenfinal del mismo.

Estructuras.

Escribe el concepto de estructura.

Declaración de una estructura:struct marca {

miembro 1; miembro 2;......miembro n;

};

Una vez definida la estructura, las variables individuales de este tipo pueden declararse

Página 78 de 98

como sigue:

Tipo-almacenamiento struct marca variable1, variable2, .., variable n.

Escribe ejemplo de estructura de los datos de un alumno.

A los campos (miembros) de una variable de estructura se les puede asignar valores iníciales.Sintaxis:Tipo_almacenamiento struct marca variable={valor1, valor2, ....,valor n}.

Archivos

Escribe el concepto de archivo:

Investiga y escribe el modo de apertura de archivos

Tabla de modo de apertura de archivo

MODO SIGNIFICADO

“r”

Abre para grabar, (si no existe lo crea sino lo sobrescribe)

“a”

“rb”

“wb”

“ab”

Abre archivo como lectura/escritura

“w+”

Página 80 de 98

“a+”

“r+b”

“a+b”

“w+b”

“rt”

“wt”

“at”

“r+t”

“w+t”

“a+t”

Investiga y escribe formas de acceder a los datos de un archivo.

Tabla formas de acceder a los datos de un archivo

Función Descripción

fputc,

fgetc

putw,

getw

fputs,

fgets

fprintf,

fscanf

fwrite,

fread

Nombre Creando un archivo. No.

Instrucciones para el Alumno Escribe el siguiente código.

Actitudes a formar

ResponsabilidadManera

Didáctica de Lograrlas

Muestra al estudiante los paselaborar programas simples a coLluvia de ideas.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, comcomo cada uno de sus pasos contribuye al alcance de un objetivo.

Página 80 de 98

#include <stdio.h>

void main (void){

FILE *fp;char c;

fp = fopen ("prueba.txt", "wt"); /* Abro un archivo para escritura en modo texto*/

if (fp == NULL) /* Verifico que no se hayan producido errores */{

printf ("Error al crear el archivo\n");exit (1);

}fprintf (fp, "Hola mundo\n"); /* Escribo un texto en el archivo */fclose (fp); /* Cierro el archivo */

/* Abro nuevamente el archivo, pero ahora para lectura en modo texto, y verifico que no se hayan producido errores */

if ((fp = fopen ("prueba.txt", "wt")) == NULL){

printf ("Error al abrir nuevamente el archivo\n");exit (1);

}while ((c = getc (fp)) != EOF) /* Leo un caracter. Si no se trata del fin de

archivo lo imprimo */

printf ("%c", getc(fp));

/* Cierro el archivo */fclose (fp);

}

1. Copia el código anterior 2. Ejecutalo

3. Localiza el archivo “prueba.txt”

4. Verifica que esta vacío 5. Ahora ejecutalo paso por paso

6. En este paso 7. Nuevamente verifica el archivo “prueba.txt”

Como puedes ver puedes intoducir información al archivo e incluso borrar la información

Página 82 de 98

Nombre Manejando archivos No.

Instrucciones para el Alumno

Transcribe cada uno de los siguientes códigos, corrígelos, y analízalos. En la cderecha escribe una descripción de lo que realiza el programa, los archivosgeneran, y si existen información en los archivos generados.

Actitudes a formar

ResponsabilidadManera

Didáctica de Lograrlas

Diseña tareas y ejercicios de clase que apliquen los conceptos aprendido

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, cocomo cada uno de sus pasos contribuye al alcance de un objetivo.

CÓDIGO CÓDIGO CORRECTO

#include <stdlib.h>#include <stdio.h>#include <string.h>#define MX 121#define MN 30

int main(){

FILE *in, *out;char nom1[]= "\\CARTAS.DAT"; char nom2[]= "\\PRIMERO.DAT"; char cad[MX];

in = fopen(nom2,"rt");out= fopen(nom1,"at");if (in==NULL || out==NULL){

puts("Error al abrir archivos. ");exit(-1);

}

while (fgets(cad,MX,in)) /*itera hasta que devuelve puntero NULL*/

{if (strlen(cad) >= MN)fputs(cad,out);else puts(cad);

}

fclose(in); fclose(out); return 0;}

Página 84 de 98

CÓDIGO CÓDIGO CORRECTO

#include <stdio.h>int main(){

int c, n=0; FILE* pf;char *nombre = "\\SALIDA.TXT";

if ((pf = fopen(nombre,"rt")) == NULL){

puts("ERROR EN LA OPERACION DE APERTURA");

return 1;}

while ((c=getc(pf))!=EOF){

if (c == '\n'){

n++; printf("\n");}else

putchar(c);}

printf("\nNúmero de líneas del archivo:%d",n); fclose(pf); return 0;

}

CÓDIGO CÓDIGO CORRECTO

#include <stdlib.h>#include <stdio.h>#include <string.h>#define MX 121#define MN 30

int main(){

FILE *in, *out;char nom1[]= "\\CARTAS.DAT"; char nom2[]= "\\PRIMERO.DAT"; char cad[MX];

in = fopen(nom2,"rt");out= fopen(nom1,"at");if (in==NULL || out==NULL){

puts("Error al abrir archivos. ");exit(-1);

}

while (fgets(cad,MX,in)) /*itera hasta que devuelve puntero NULL*/

{if (strlen(cad) >= MN)fputs(cad,out);else puts(cad);

}

fclose(in); fclose(out); return 0;}

Página 86 de 98

CÓDIGO CÓDIGO CORRECTO

#include <stdlib.h>#include <stdio.h>#include <string.h>#include <ctype.h>

/* declaración de tipo global estructura */typedef struct {

char* nm;int dia; int ms; int aa;char mes[11];

}PERSONA;

void entrada(PERSONA* p);char* mes_asci(short n);

int main(){

FILE *pff;char nf[]= "\\PERSONS.DAT";char r = 'S';

if ((pff = fopen(nf,"wt"))==NULL){

puts("Error al abrir archivos. ");exit(-1);

}

while (toupper(r) == 'S'){

PERSONA pt; entrada(&pt); printf("%s %d-%d-%d

%s\n",pt.nm,pt.dia,pt.ms,pt.aa,pt.mes);fprintf(pff,"%s %d-%d-%d

%s\n",pt.nm,pt.dia,pt.ms,pt.aa,pt.mes);printf("Otro registro?: ");

scanf("%c%*c",&r);}

fclose(pff);return 0;

}

void entrada(PERSONA* p){ char bf[81];

printf("Nombre: "); gets(bf);p->nm

=(char*)malloc((strlen(bf)+1)*sizeof(char));strcpy(p->nm,bf);printf("Fecha de nacimiento(dd mm

aaaa): ");scanf("%d %d %d%*c",&p->dia,&p-

>ms,&p->aa);printf("\n %s\n",mes_asci(p->ms));strcpy(p->mes,mes_asci(p->ms));

}

char* mes_asci(short n){

static char *mes[12]= {

"Febrero", "Marzo", "Abril",

"Junio", "Julio", "Agosto",

"Enero",

"mayo",

"Septiembre", "Octubre", "Noviembre","Diciembre"};

if (n >= 1 && n <= 12)return mes[n-1];

elsereturn "Error mes";

}

Página 88 de 98

CÓDIGO CÓDIGO CORRECTO

#include <stdio.h>struct punto{

int x,y;};typedef struct punto PUNTO;

int main(){

PUNTO p;char *nom ="C:PUNTOS.DAT"; FILE *pp;

if ((pp = fopen(nom,"wb"))== NULL){

puts("\nError en la operación de abrir archivo.");return -1;

}

puts("\nIntroduce coordenadas de puntos, para acabar: (0,0)");

do {scanf("%d %d",&p.x,&p.y);while (p.x < 0 || p.y < 0){

printf("Coordenas deben ser>=0 :");

scanf("%d %d",&p.x,&p.y);}if (p.x > 0 || p.y > 0){

fwrite(&p, sizeof(PUNTO), 1, pp);}

} while (p.x > 0 || p.y > 0);

fclose(pp);return 0;

}

Nombre Registro de clientes. No.

Competencia aDesarrollar

Pone a punto el programa mediante el uso de un editor de lenguaje de programación estructurado.

Atributos de laCompetencia

3.1. Captura y edición del programa3.2. Compila el programa, depurar el programa y ejecutar el progra

Instrucciones para el Alumno

Transcribe el siguiente código, corrige los errores y analízalo en un lenguaprogramación.Registra tus conclusiones.

Instrucciones para el Docente

Compañero facilitador verifica el ejercicio.

Recursos materiales de

apoyoComputadoras, Compilador de C, Libros, Manuales, Apuntes

Actitudes a formar ResponsabilidadManera

Didáctica de Lograrlas

Elabora problemas donde se las diferentes estructuras.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir dmétodos establecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, cocomo cada uno de sus pasos contribuye al alcance de un objetivo.

Página 90 de 98

#include <stdio.h>#include <string.h>

#define CIERTO 1

typedef struct {int mes; int dia; int anio;

} fecha;

typedef struct {char nombre [20];char apell [30]; int no_cuenta; int tipo_cuenta;

float anteriorsaldo; float nuevosaldo float pago;fecha ultimopago;

} registro;

Código

/* prototipo de función*/registro leerpantalla (registro cliente);

/* prototipo de función*/void escribirarchivo (registro cliente);

FILE *fpt;

main ( ){

int indicador= CIERTO;registro cliente

fpt = fopen ("clientes.dat","w");

printf ("Introduzca la fecha actual (mm/dd/aaaa): ");scanf("%d/%d/%d",&cliente.ultimopago.mes, &cliente.ultimopago.dia,

&cliente.ultimopago.anio); cliente.nuevosaldo=0; cliente.pago=0; cliente.tipo_cuenta='A';

while (indicador){printf ("\nNombre (introducir \'FIN\' para terminar): ");scanf (" %[^\n]", cliente.nombre)fprintf (fpt, "\n%s\n", cliente.nombre);

if (strcmp (cliente.nombre, "FIN")==0)break;

cliente=leerpantalla (cliente); escribirarchivo (cliente);

}fclose (fpt)}

registro leerpantalla (registro cliente){printf ("Apellidos:");scanf (" %[^\n]",cliente.apell);

printf ("Número Cuenta: ");scanf ("%d", &cliente.no_cuenta);printf ("Saldo actual: ");scanf ("%f", &cliente.anteriorsaldo);return (cliente)

}

void escribirarchivo (registro cliente){fprintf (fpt, "%s\n",cliente.apell);fprintf (fpt, "%d\n",cliente.no_cuenta) fprintf (fpt, "%f\n",cliente.anteriorsaldo); fprintf (fpt, "%f\n", cliente.nuevosaldo); fprintf (fpt, "%f\n", cliente.pago)fprintf (fpt, "%d/%d%d\n", cliente.ultimopago.mes, cliente.ultimopago.dia,

cliente.ultimopago.anio)return;

}

Página 92 de 98

Nombre Mi agenda. No.

Competencia aDesarrollar

1. Desarrolla el proceso de solución de un problema.2. Codifica la solución del problema en un lenguaje de programación estructu3. Pone a punto el programa mediante el uso de un editor del lenguaje de

programación estructurado.

Atributos de laCompetencia

1.1. Identifica el problema.1.2. Analiza el problema.1.3. Elabora algoritmos de la solución del problema.1.4. Elabora diagramas de flujo de la solución del problema.1.5. Crea pseudocódigo de la solución del problema.1.6. Prueba de escritorio de la solución del problema.2.1. Elementos básicos del lenguaje de programación estructurado.

Manipulación básica de datos.2.2. Utiliza estructuras de control.3.1. Captura y edición del programa.3.2. Compila el programa, depurar el programa, y ejecutar el programa.

Instrucciones para el Alumno

El alumno crea en la aplicación del lenguaje C, una agenda personal que pealtas, bajas y consultas. La estructura a manejar deberá contener: nomapellidos, fecha de nacimiento, domicilio, código postal, población ciudad y esta

Instrucciones para el Docente

Proporciona al alumno algunos algoritmos que le ayuden a la realización de esteproyecto del módulo.

Recursos materiales de

apoyoComputadoras, compilador de C, libros, manuales, apuntes.

Actitudes a formar

ResponsabilidadManera

Didáctica de Lograrlas

Elabora problemas donde se las diferentes estructuras.

Competencias Genéricas a Desarrollar

5. Desarrolla innovaciones y propone soluciones a problemas a partir de métestablecidos.

Manera Didáctica de Lograrlas

• Sigue instrucciones y procedimientos de manera reflexiva, comprende como cde sus pasos contribuye al alcance de un objetivo.

A lo largo de las tres competencias aprendiste a interpretar un problema, resolverlo mediante algoritmos, diagrama de flujo, pseudocódigo que son llevados a la programación en el lenguaje C.

Los conocimientos, ejercicios y prácticas que se han propuesto en esta guía de aprendizaje te permiten desarrollar las habilidades, destrezas, conocimientos y actitudes necesarias para solucionar problemas utilizando la lógica computacional realizando programas en el lenguaje estructurado e implantar en otros escenarios.

De igual manera, para comprobar lo desarrollado en las competencias en los apartados señalados, se utilizara dos tipos de instrumentos de evaluación: las guías de observación para medir tus desempeños y las listas de cotejo para los productos logrados.

Página 94 de 98

La presente guía está elabora para que los ejercicios y prácticas que llevaste a cabo te permita desarrollar atributos de la competencia, conocimientos y actitudes para la aplicación de sistemas básicos de información.

Ahora eres capaz de laborar en áreas donde se empleen las bases de datos como son:cibercafés, instituciones educativas, laboratorios de cómputo, comercios, entre otros.

Para comprobar que has desarrollado las competencias en todos los apartados señalados con anterioridad, se utilizan dos tipos de instrumentos de evaluación: las guías de observación para medir tus desempeños y las listas de cotejo para los productos logrados.

• Forsythe, Keenan. Lenguajes de diagramas de flujo.

• Joyanes Aguilar, Luis. Metodología de la programación.

• Kernighan, b. y Ritchie, d. El lenguaje de programación C. Ed. Prentice Hall.

• Kernighan, b. y Pike, r. La práctica de la programación. Ed. Prentice Hall.

• Schildt, H. C: Manual de referencia. Ed. Mc Graw-Hill.

• Sedgewick, R. Algoritmos en C++. Ed. Iberoameriacana.

• Vasconcelos, José. Introducción a la computación. Ed. Santillán.

Página 96 de 98

Algoritmo: Es una serie de operaciones detalladas y no ambiguas, a ejecutar paso a paso, que conducen a la resolución de un problema.

Código fuente: Es un conjunto de líneas que conforman un bloque de texto, escrito según las reglas sintácticas de algún lenguaje de programación destinado a ser legible por humanos.

Código objeto: en programación al código resultante de la compilación dell código fuente.

Compilación: Es el proceso por el cual se traducen programas en código fuente programas en código objeto.

Diagrama de flujo: Son la representación grafica de la solución del problema que se desea mecanizar. Esta representación grafica describe la secuencia de procesos en que se debe ejecutarse.

Entrada de Datos: Engloban todas aquellas instrucciones que toman datos de un dispositivo externo depositándolas posteriormente en memoria principal.

Función: Es un bloque de instrucciones que ejecuta individualmente.

Identificador: Es un nombre que define a una variable, una función o un tipo de datos.

Lenguaje de programación: Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, C, etc.

Proceso: Engloban toda instrucción encargada de procesar de la información.

Programación: Elaboración de programas en un lenguaje de programación.

Pseudocódigo: Es una técnica para expresar en el lenguaje natural la lógica de unprograma, es decir su flujo de control.

Salida de datos: Este bloque esta formado por todas aquellas instrucciones que toman los resultados depositados en memoria principal una vez procesados los datos de entrada, enviándolas seguidamente en un dispositivo.

Saberes: Constituye todos los conocimientos adquiridos durante el desarrollo de las distintas actividades para lograr las competencias, es decir, saberes=conocimientos.

Variables: Son definidas utilizando un identificador de tipo seguido del nombre de la variable.

Página 98 de 98

ANEXO 1

Recopilación de las estrategias más frecuentes que se suelen utilizar en la resolución de problemas.

• Ensayo-error.• Empezar por lo fácil, resolver un problema semejante más sencillo.• Manipular y experimentar manualmente.• Descomponer el problema en pequeños problemas (simplificar).• Experimentar y extraer pautas (inducir).• Resolver problemas análogos (analogía).• Seguir un método (organización).• Hacer esquemas, tablas, dibujos (representación).• Hacer recuente (conteo).• Utilizar un método de expresión adecuado: verbal, algebraico, gráfico, numérico.• Cambio de estados.• Sacar partido de la simetría.• Deducir y sacar conclusiones.• Conjeturar.• Principio del palomar.• Analizar los casos límite.• Reformular el problema.• Suponer que no (reducción al absurdo).• Empezar por el final (dar el problema por resuelto).