INFORMATICA GA M3 S1 - Colegio de Estudios Científicos y ...
INFORMATICA GA M3 S1 - Colegio de Estudios Científicos y ...
INFORMATICA GA M3 S1 - Colegio de Estudios Científicos y ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Reforma Curricular <strong>de</strong>l Bachillerato Tecnológico<br />
Guía <strong>de</strong>l alumno <strong>de</strong> la<br />
Carrera <strong>de</strong> Técnico en Informática<br />
Profesores que elaboraron la guía didáctica <strong>de</strong>l<br />
módulo profesional <strong>de</strong> la carrera <strong>de</strong> técnico en:<br />
Informática<br />
NOMBRE ESTADO<br />
Ilych Antonio Ramos Guardado Nayarit<br />
Sergio Anonales Figueroa Morelos<br />
Artemio Lemus Ruiz Michoacán<br />
Víctor Gabriel Puc Ibarra Yucatán<br />
Sonia Patricia Ramos Saucedo Coahuila<br />
María Félix Roldán López Hidalgo<br />
Ricardo Montoya Cruz San Luís Potosí<br />
Coordinadores <strong>de</strong> Diseño:<br />
NOMBRE ESTADO<br />
Ismael Lee Cong Quintana Roo<br />
Manuel Gilberto Mén<strong>de</strong>z Monforte Yucatán<br />
Julio César Flores Olivares Nayarit
Directorio<br />
Lic. Josefina Vázquez Mota<br />
Secretario <strong>de</strong> Educación Pública<br />
Dr. Miguel Székely Pardo<br />
Subsecretaria <strong>de</strong> Educación Media Superior<br />
Lic. Luís F. Mejía Piña<br />
Director General <strong>de</strong> Educación Tecnológica<br />
Industrial<br />
Antrop. Ana Belinda Ames Russek<br />
Coordinadora Nacional <strong>de</strong> Organismos<br />
Descentralizados Estatales <strong>de</strong> CECyTEs<br />
Lic. Elena Karakowsky Kleyman<br />
Responsable <strong>de</strong> Desarrollo Académico <strong>de</strong> los<br />
CECyTEs
Objetivo General<br />
Una vez concluido este submódulo tendrás las<br />
capacida<strong>de</strong>s y competencias necesarias para solucionar<br />
problemas utilizando la lógica computacional realizando<br />
programas en el lenguaje estructurado e implantarlos en otros<br />
escenarios. Activida<strong>de</strong>s como i<strong>de</strong>ntificación, análisis, diseño <strong>de</strong><br />
soluciones <strong>de</strong> problemas, así como, la ejecución <strong>de</strong> programas,<br />
que requieren cierto grado <strong>de</strong> or<strong>de</strong>n y responsabilidad. En virtud<br />
<strong>de</strong> lo cual esta competencia está consi<strong>de</strong>rada en el nivel 2.
Índice<br />
Contiene los siguientes apartados:<br />
I. Mapa curricular<br />
II. Introducción al curso<br />
III. Desarrollo <strong>de</strong> competencias<br />
IV. Conclusiones <strong>de</strong> la guía <strong>de</strong> aprendizaje<br />
V. Fuentes <strong>de</strong> información<br />
VI. Glosario<br />
VII. Anexos
COMPETENCIA 1<br />
Resolver a través <strong>de</strong> la<br />
metodología problemas<br />
computacionales.<br />
HABILIDADES Y<br />
DESTREZAS<br />
• I<strong>de</strong>ntificar el problema.<br />
• Seleccionar el proceso <strong>de</strong><br />
solución <strong>de</strong>l problema.<br />
• Elaborar el algoritmo <strong>de</strong> la<br />
solución <strong>de</strong>l problema.<br />
• Elaborar el diagrama <strong>de</strong><br />
flujo <strong>de</strong> la solución <strong>de</strong>l<br />
problema.<br />
• Crear el pseudocódigo <strong>de</strong><br />
la solución <strong>de</strong>l problema.<br />
CONOCIMIENTOS<br />
• Lógica computacional.<br />
• Algoritmos.<br />
• Tipos <strong>de</strong> datos.<br />
• Operadores.<br />
• Variables y<br />
constantes.<br />
• Diagramas <strong>de</strong> flujo.<br />
• Pseudocódigo.<br />
ACTITUDES<br />
• Or<strong>de</strong>n<br />
Mapa Curricular<br />
CARRERA<br />
Técnico en informática<br />
MÓDULO III<br />
Sistemas básicos <strong>de</strong> información<br />
SUBMÓDULO I<br />
Aplicar los principios <strong>de</strong><br />
programación para la elaboración<br />
<strong>de</strong> programas estructurados<br />
COMPETENCIA 2<br />
Codificar algoritmos en un<br />
lenguaje <strong>de</strong> programación<br />
estructurado.<br />
HABILIDADES Y<br />
DESTREZAS<br />
• Codificar el algoritmo <strong>de</strong> la<br />
solución <strong>de</strong> un problema en<br />
un lenguaje estructurado.<br />
• Compilar el programa.<br />
• Depurar el programa.<br />
• Ejecutar el programa.<br />
CONOCIMIENTOS<br />
• Tipos <strong>de</strong> archivos.<br />
• Programación<br />
estructurada.<br />
• Sintaxis y semántica<br />
<strong>de</strong>l lenguaje C.<br />
• Palabras reservadas.<br />
• Variables y<br />
constantes.<br />
• Estructuras <strong>de</strong> control<br />
<strong>de</strong>l lenguaje C.<br />
• Funciones.<br />
• Arreglos<br />
ACTITUDES<br />
• Or<strong>de</strong>n<br />
Página 6 <strong>de</strong> 66<br />
COMPETENCIA 3<br />
Implantar los programas<br />
elaborados en un lenguaje<br />
<strong>de</strong> programación<br />
estructurado.<br />
HABILIDADES Y<br />
DESTREZAS<br />
• Localizar los programas<br />
generados.<br />
• Copiar los programa a los<br />
dispositivos <strong>de</strong><br />
almacenamiento.<br />
• Transportar los<br />
programas.<br />
• Instalar los programas a<br />
otros equipos <strong>de</strong> cómputo.<br />
CONOCIMIENTOS<br />
• Tipos <strong>de</strong> archivos.<br />
• Capacida<strong>de</strong>s <strong>de</strong><br />
dispositivos <strong>de</strong><br />
almacenamiento.<br />
• Compresión y<br />
<strong>de</strong>scompresión.<br />
• Copiado <strong>de</strong><br />
archivos.<br />
ACTITUDES<br />
• Responsabilidad
Nadie sabe <strong>de</strong><br />
lo que es capaz<br />
hasta que lo<br />
intenta.<br />
(Publio Sirio)<br />
Un mensaje para ti<br />
herramienta para la solución <strong>de</strong> problemas.<br />
En este Submódulo compren<strong>de</strong>remos el concepto <strong>de</strong><br />
problema en general. También consi<strong>de</strong>raremos las<br />
posibles soluciones a estos problemas y al final<br />
enten<strong>de</strong>remos como nos pue<strong>de</strong> auxiliar la computadora<br />
para resolverlos. La informática es un amplio campo que<br />
incluye los fundamentos teóricos, el diseño, la<br />
programación y el uso <strong>de</strong> las computadoras, como<br />
La informática es aplicada en diversos sectores <strong>de</strong> la actividad diaria como son:<br />
medicina, ingeniería, industria, en la investigación científica, el arte y a nivel<br />
empresarial.<br />
Recuerda que anteriormente la asignatura <strong>de</strong> Tecnologías <strong>de</strong> la Información y la<br />
Comunicación –TICS – <strong>de</strong>l componente <strong>de</strong> formación básica, comprendió parte <strong>de</strong><br />
estos conocimientos, pero es aquí don<strong>de</strong> <strong>de</strong>bes <strong>de</strong>mostrar tu capacidad y<br />
competencia para aplicar la metodología <strong>de</strong> la programación y elaborar programas<br />
estructurados.<br />
Las competencias adquiridas en este submódulo permitirán que ofrezcas tus<br />
servicios <strong>de</strong> creación <strong>de</strong> programas diseñados para resolver problemas<br />
específicos <strong>de</strong> una organización o lo que se conoce como aplicaciones a la<br />
medida, permitiendo implementaciones <strong>de</strong> software estructurado, en las áreas<br />
administrativas, contables, comerciales o centros <strong>de</strong> cómputo <strong>de</strong> las empresas<br />
públicas y privadas, instituciones educativas, industrias, autoempleo y Micros,<br />
pequeñas y medianas empresas – cibercafés, bancos, supermercados, cines,<br />
restaurantes, hoteles, etc. –<br />
Nuestro submódulo se complementa con dos submódulos más que son: “Utilizar<br />
un manejador <strong>de</strong> base <strong>de</strong> datos para la administración <strong>de</strong> la información” y<br />
Página 7 <strong>de</strong> 66
“Elaborar sistemas <strong>de</strong> información mediante un lenguaje <strong>de</strong> programación<br />
visual”, utilizando las aplicaciones actuales. Lo que en su conjunto te proporciona<br />
las herramientas para la creación <strong>de</strong> todo tipo <strong>de</strong> sistemas básicos <strong>de</strong> información.<br />
Todas las competencias que integran el submódulo serán <strong>de</strong>sarrolladas en un<br />
contexto práctico, ello en función <strong>de</strong> que los sitios <strong>de</strong> inserción laboral para esta<br />
área exigen que <strong>de</strong>muestres las capacida<strong>de</strong>s y habilida<strong>de</strong>s <strong>de</strong> competencia bajo<br />
estas características; sin olvidar la aplicación <strong>de</strong> conocimientos <strong>de</strong> formación<br />
básica como el idioma inglés, así como herramientas<br />
tecnológicas como el Internet. En función <strong>de</strong> la<br />
disponibilidad tecnológica <strong>de</strong>l plantel, así como <strong>de</strong> la<br />
iniciativa y perseverancia en tu propia formación, se<br />
plantea que todas las activida<strong>de</strong>s incluidas en esta guía<br />
<strong>de</strong> aprendizaje las <strong>de</strong>sarrolles en áreas <strong>de</strong> cómputo <strong>de</strong>l<br />
plantel, o en su caso, espacios públicos o privados que te permitan acce<strong>de</strong>r a esta<br />
tecnología.<br />
Como parte <strong>de</strong> la evaluación necesaria para <strong>de</strong>terminar si ya haz logrado ser<br />
competente en esta área <strong>de</strong> formación, te planteamos observar las siguientes<br />
evi<strong>de</strong>ncias:<br />
Desempeño<br />
1. Los problemas computacionales resueltos a través <strong>de</strong> la metodología.<br />
2. Los algoritmos en un lenguaje <strong>de</strong> programación estructurado codificados.<br />
3. Los programas elaborados en un lenguaje <strong>de</strong> programación estructurado.<br />
Producto<br />
1. Los problemas computacionales resueltos a través <strong>de</strong> la metodología.<br />
2. Los algoritmos en un lenguaje <strong>de</strong> programación estructurado codificados.<br />
3. Los programas elaborados en un lenguaje <strong>de</strong> programación estructurado<br />
implantados.<br />
Página 8 <strong>de</strong> 66
Simbología<br />
Página 9 <strong>de</strong> 66<br />
PRÁCTICA<br />
EJEMPLO<br />
ERRORES TÍPICOS<br />
EJERCICIO<br />
CONCLUSIONES<br />
INTRODUCCION<br />
CONTINGENCIA<br />
OBJETIVO
Módulo III<br />
Submódulo I<br />
Competencias<br />
a Desarrollar<br />
Competencias, habilida<strong>de</strong>s y <strong>de</strong>strezas<br />
Sistemas básicos <strong>de</strong> información.<br />
Aplicar los principios <strong>de</strong> programación para la elaboración <strong>de</strong><br />
programas estructurados.<br />
1. Resolver a través <strong>de</strong> la metodología problemas<br />
computacionales.<br />
2. Codificar algoritmos en un lenguaje <strong>de</strong> programación<br />
estructurado.<br />
3. Implantar los programas elaborados en un lenguaje <strong>de</strong><br />
programación estructurado<br />
COMPETENCIA I. Resolver a través <strong>de</strong> la metodología problemas<br />
computacionales.<br />
Introducción<br />
En esta primera competencia, nos enfocaremos a resolver problemas a<br />
través <strong>de</strong> la metodología <strong>de</strong> la programación.<br />
Una <strong>de</strong> las herramientas indispensables para enten<strong>de</strong>r y elaborar<br />
programas estructurados son: Algoritmos, diagramas <strong>de</strong> flujo y por<br />
supuesto los pseudocódigos. Con estas herramientas lograrás la iniciación a la<br />
programación <strong>de</strong> forma sencilla sin importar el lenguaje <strong>de</strong> programación<br />
estructurada que utilices. En este sentido, un primer acercamiento es lograr que tú<br />
adquieras capacida<strong>de</strong>s, <strong>de</strong>strezas y habilida<strong>de</strong>s para: I<strong>de</strong>ntificar el problema.<br />
Seleccionar el proceso <strong>de</strong> solución <strong>de</strong>l problema. Elaborar el algoritmo <strong>de</strong> la<br />
Solución <strong>de</strong>l problema. Elaborar el diagrama <strong>de</strong> flujo <strong>de</strong> la solución <strong>de</strong>l problema y<br />
Crear el pseudocódigo <strong>de</strong> la solución <strong>de</strong>l problema<br />
Dentro <strong>de</strong>l ámbito laboral esta competencia es muy importante ya que con ella le<br />
ayudarás a las empresas a compren<strong>de</strong>r la naturaleza <strong>de</strong> sus problemas<br />
empleando las técnicas a<strong>de</strong>cuadas para su posible solución.<br />
En esta competencia planteamos nuestro interés para que <strong>de</strong> manera organizada<br />
puedas generar tu propio aprendizaje y adquieras los conocimientos <strong>de</strong> Lógica<br />
computacional, Algoritmos, Tipos <strong>de</strong> datos, Operadores, Variables y Constantes,<br />
Diagramas <strong>de</strong> flujo y Pseudocódigo. Cabe mencionar que la manera en que<br />
abordaremos estos contenidos será realizando ejemplos, ejercicios y prácticas <strong>de</strong><br />
un grado menor hasta un grado mayor pero sobre todo será fácil <strong>de</strong> compren<strong>de</strong>r<br />
por ti.<br />
HABILIDAD 1. I<strong>de</strong>ntificar el problema.<br />
2. Seleccionar el proceso <strong>de</strong> solución <strong>de</strong>l problema.<br />
Página 10 <strong>de</strong> 66
RESULTADO DE<br />
APRENDIZAJE<br />
3. Elaborar el algoritmo <strong>de</strong> la solución <strong>de</strong>l problema.<br />
4. Elaborar el diagrama <strong>de</strong> flujo <strong>de</strong> la solución <strong>de</strong>l<br />
problema.<br />
5. Crear el pseudocódigo <strong>de</strong> la solución <strong>de</strong>l problema<br />
Resolver problemas mediante el uso <strong>de</strong> los algoritmos,<br />
diagramas <strong>de</strong> flujo y pseudocódigo.<br />
Desarrollo<br />
Normalmente la gran mayoría <strong>de</strong> los humanos, resolvemos problemas <strong>de</strong><br />
cualquier índole: matemáticos, administrativos, científicos, personales etc. Pero no<br />
pensamos cual es el proceso sistemático (paso a paso), para llegar al resultado.<br />
Las técnicas <strong>de</strong> la metodología <strong>de</strong><br />
programación te ayudan a <strong>de</strong>sarrollar<br />
procesos para resolver problemas que<br />
posteriormente sean traducidos a un<br />
lenguaje <strong>de</strong> programación.<br />
Ahora bien, para resolver un problema es<br />
necesario que i<strong>de</strong>ntifiquemos la naturaleza <strong>de</strong>l mismo. Esto es analizar el tipo <strong>de</strong><br />
problema que se quiere resolver e i<strong>de</strong>ntificar los datos que se necesitan para<br />
<strong>de</strong>sarrollar el proceso y posteriormente obtener un resultado tangible.<br />
El proceso <strong>de</strong> un problema se presenta con una herramienta llamada algoritmos,<br />
se suelen representar en forma narrativa paso a paso, pero cuando tienen su<br />
aplicación más directa es cuando se convierte en diagramas <strong>de</strong> flujo o gráficos <strong>de</strong><br />
programación.<br />
El primer objetivo <strong>de</strong> toda maquina es el manejo <strong>de</strong> información o datos. La<br />
representación <strong>de</strong> los datos utilizada <strong>de</strong>termina la forma <strong>de</strong>l algoritmo. La<br />
i<strong>de</strong>ntificación <strong>de</strong> los datos que manipula el algoritmo <strong>de</strong>be realizarse sin ninguna<br />
ambigüedad para que la maquina interprete en cada momento que tipo <strong>de</strong> datos<br />
manipula y como <strong>de</strong>be operarlos.<br />
Otra herramienta muy útil en el análisis <strong>de</strong> programación es el Pseudocódigo. Esta<br />
herramienta no es realmente un código sino una imitación y una versión abreviada<br />
<strong>de</strong> instrucciones reales para las computadoras.<br />
Cuando se tiene el algoritmo y el diagrama <strong>de</strong> flujo así como el Pseudocódigo se<br />
obtiene un resultado <strong>de</strong> escritorio. Es necesario traducirlo en un programa<br />
obteniendo un resultado visible y comprobado.<br />
Página 11 <strong>de</strong> 66<br />
Recuerda que el lenguaje<br />
humano tiene sus propias reglas<br />
<strong>de</strong> gramática, ortografía etc. Así<br />
como también el lenguaje <strong>de</strong><br />
programación tiene sus propias<br />
reglas para que pueda ser<br />
interpretado por la computadora<br />
y esta reaccionar con acciones.
Conceptos importantes que <strong>de</strong>bes compren<strong>de</strong>r:<br />
Proceso: son acciones elementales que forman un<br />
acontecimiento.<br />
Algoritmo: Es una serie <strong>de</strong> operaciones <strong>de</strong>talladas y no<br />
ambiguas, a ejecutar paso a paso, que conducen a la<br />
resolución <strong>de</strong> un problema. Describe seis características:<br />
or<strong>de</strong>n, finito, precisión, entrada, salida y eficacia.<br />
Diagrama <strong>de</strong> flujo: son la representación grafica <strong>de</strong> la<br />
solución <strong>de</strong>l problema que se <strong>de</strong>sea mecanizar<br />
Pseudocódigo: es una técnica para expresar en el<br />
lenguaje natural la lógica <strong>de</strong> un programa, es <strong>de</strong>cir su flujo<br />
<strong>de</strong> control. Utiliza palabras como: hacer, si-entonces-sino,<br />
fin si, repetir hasta, repetir mientras, hacer hasta etc.<br />
Programa: secuencia <strong>de</strong> instrucciones que una<br />
computadora pue<strong>de</strong> interpretar y ejecutar<br />
La práctica es la única forma <strong>de</strong> <strong>de</strong>sarrollar algoritmos eficientes, por eso te<br />
recomendamos que practiques mucho y <strong>de</strong>sarrolles tus propias prácticas.<br />
Práctica, diviértete y apren<strong>de</strong>.<br />
Página 12 <strong>de</strong> 66
EJEMPLO 1<br />
Observa y analiza las siguientes figuras.<br />
Figura 1. A Figura 1. B<br />
Figura 1. C<br />
Recuerda que estamos i<strong>de</strong>ntificando la problemática <strong>de</strong><br />
cada figura.<br />
Página 13 <strong>de</strong> 66
Receta <strong>de</strong> Cocina (freír huevos)<br />
EJEMPLO 2<br />
Lee y analiza el siguiente problema.<br />
Para i<strong>de</strong>ntificar el problema <strong>de</strong>bemos respon<strong>de</strong>r las siguientes preguntas:<br />
1. ¿Que entradas se requieren? (tipo y cantidad)<br />
2. ¿Cuál es la salida <strong>de</strong>seada? Tipo y cantidad)<br />
3. ¿Que método produce la salida <strong>de</strong>seada?<br />
Respuestas<br />
1. Esta constituida por los ingredientes y los utensilios empleados.<br />
2. La terminación <strong>de</strong>l plato ( huevos fritos )<br />
3. Realizar la receta <strong>de</strong> cocina<br />
Entrada<br />
<strong>de</strong> datos Proceso o<br />
Algoritmo<br />
EJEMPLO 3<br />
Lee y analiza los siguientes problemas.<br />
1.- Algoritmo, diagrama <strong>de</strong> flujo y pseudocódigo que lee dos valores numéricos y<br />
calcula primero la suma, <strong>de</strong>spués la resta, a continuación el producto y<br />
seguidamente la división <strong>de</strong> ambos valores, escribiendo finalmente el resultado<br />
obtenido en cada una <strong>de</strong> estas operaciones.<br />
DEFINICION DE PROBLEMA Y POSIBLES SOLUCIONES.<br />
Problema: operaciones aritméticas.<br />
Entrada: A, B<br />
Método: aplicar formulas <strong>de</strong> suma(S=A+B), resta(R=A-B), producto(P=A*B) y<br />
división(D=A/B).<br />
Salida: S, R, P, D<br />
ALGORITMO<br />
1.- INICIO<br />
Página 14 <strong>de</strong> 66<br />
Salida<br />
<strong>de</strong><br />
Datos
2.- LEER A, B<br />
3.- SUMA A MÁS B Y ASIGNALO A S<br />
4.- RESTA A MENOS B Y ASIGNALO A R<br />
5.- MULTIPLICA A POR B Y ASIGNALO A P<br />
6.- DIVIDE A ENTRE B Y ASIGNALO A D<br />
7.- ESCRIBIR S, R, P, D<br />
8.- FIN<br />
PSEUDOCÓDIGO DIAGRAMA DE FLUJO<br />
PROBLEMA: Operaciones _ aritméticas<br />
00: COMENZAR:<br />
10: PEDIR A<br />
20: LEER A<br />
30: PEDIR B<br />
40: LEER B<br />
50: S= A+B<br />
60: R= A-B<br />
70: P= A*B<br />
80: D= A/B<br />
90: Escribir S, R, P, D<br />
100: FIN<br />
SIMBOLOGIA EMPLEADA<br />
Conectores entre dos puntos<br />
Líneas <strong>de</strong> flujo<br />
2.- Algoritmo, diagrama <strong>de</strong> flujo<br />
y pseudocódigo que lee un valor numérico y nos dice si es par o impar.<br />
Página 15 <strong>de</strong> 66<br />
INICIO<br />
Leer A, B<br />
S= A+ B<br />
R= A - B<br />
P = A * B<br />
D = A / B<br />
Escribir<br />
S, R, P, D<br />
FIN
DEFINICION DE PROBLEMA Y POSIBLES SOLUCIONES<br />
Problema: numero par o impar.<br />
Entrada: A<br />
Método: A modulo 2=0<br />
Salida: par o impar<br />
ALGORITMO<br />
1.- INICIO<br />
2.- LEER A<br />
F<br />
3.- SI A MODULO 2 ES IGUA A 0 ENTONCES<br />
4.- ESCRIBIR PAR<br />
5.- EN OTRO CASO<br />
6.- ESCRIBIR IMPAR<br />
7.- FIN<br />
“A ES IMPAR”<br />
PSEUDOCÓDIGO<br />
PROBLEMA: Par_impar<br />
00: COMENZAR:<br />
10: PEDIR A<br />
20: LEER A<br />
30: SI A MODULO 2 = 0 ENTONCES<br />
40: ESCRIBIR “A ES PAR”<br />
50: SINO<br />
60: ESCRIBIR “A ES IMPAR”<br />
70: FIN<br />
ACLARACIÓN<br />
El modulo se utiliza en diferentes lenguajes <strong>de</strong><br />
programación:<br />
% C<br />
Mod Pascal<br />
Utilizamos en el ejemplo la sintaxis <strong>de</strong> lenguaje<br />
<strong>de</strong> programación C.<br />
Si pue<strong>de</strong>s observar las sangrías que tiene cada<br />
instrucción <strong>de</strong> los renglones esto es estructurar<br />
programas.<br />
Página 16 <strong>de</strong> 66<br />
FIN<br />
INICIO<br />
Leer A<br />
A%2 = 0<br />
V<br />
“A ES PAR”
3.- Algoritmo, diagrama <strong>de</strong> flujo y pseudocódigo que permita evaluar el siguiente<br />
menú <strong>de</strong> opciones.<br />
MENU<br />
1. OPERACIÓN SUMA<br />
2. OPERACIÓN RESTA<br />
3. MULTIPLICAR<br />
DEFINICION DE PROBLEMA Y POSIBLES SOLUCIONES<br />
Problema: Evaluar un menú <strong>de</strong> opciones<br />
Entrada: Leer A , B<br />
Método: sumar A y B. Restar A y B. multiplicar A y B<br />
Salida: S ó R ó M<br />
ALGORITMO<br />
1 INICIO<br />
2 ESCRIBIR<br />
“ MENU “<br />
“ 1 OPERACIÓN SUMA “<br />
“ 2 OPERACIÓN RESTA “<br />
“ 3 OPERACIÓN MULTIPLICAR “<br />
3 ESCRIBIR “ Elegir una opción <strong>de</strong>l menú “<br />
4 LEER OPCION<br />
5 EVALUAR SI OPCION ES IGUAL A 1 ENTONCES<br />
LEER A Y B<br />
SUMA A MÁS B Y ASIGNALO A S<br />
ESCRIBIR S<br />
6 EVALUAR SI OPCION ES IGUAL A 2 ENTONCES<br />
LEER A Y B<br />
RESTAR A Y B Y ASIGNALO A R<br />
ESCRIBIR R<br />
7 EVALUAR SI OPCION ES IGUAL A 3 ENTONCES<br />
LEER A Y B<br />
MULTIPLICAR A Y B Y ASIGNALO A M<br />
ESCRIBIR M<br />
8 EVALUAR SI OPCION ES DIFERENTE A LAS ANTERIORES<br />
ENTONCES<br />
ESCRIBIR “ NO EXISTE OPCION “<br />
9 FIN<br />
Página 17 <strong>de</strong> 66
PSEUDOCÓDIGO<br />
PROBLEMA: Evaluar un menú <strong>de</strong> opciones<br />
00: COMENZAR:<br />
10: ESCRIBIR<br />
20: “ MENU “<br />
30: “ 1 OPERACIÓN SUMA “<br />
40: “ 2 OPERACIÓN RESTA “<br />
50: “ 3 OPERACIÓN MULTIPLICAR “<br />
60: “ Elegir una opción <strong>de</strong>l menú “<br />
70: LEER OPCION<br />
80: CASO 1<br />
90: PEDIR A<br />
100: LEER A<br />
110: PEDIR B<br />
120: LEER B<br />
130: S = A + B<br />
140: ESCRIBIR S<br />
150: CASO 2<br />
160: PEDIR A<br />
170: LEER A<br />
180: PEDIR B<br />
190: LEER B<br />
200: R = A – B<br />
210: ESCRIBIR R<br />
220: CASO 3<br />
230: PEDIR A<br />
240: LEER A<br />
250: PEDIR B<br />
260: LEER B<br />
270: M = A * B<br />
280: ESCRIBIR M<br />
290: DEFAULT<br />
300: ESCRIBIR “NO EXISTE OPCION “<br />
310: FIN<br />
Página 18 <strong>de</strong> 66
DIAGRAMA DE FLUJO<br />
LEER A, B<br />
S = A + B<br />
ESCRIBIR<br />
S<br />
INICIO<br />
ESCRIBIR<br />
MENU<br />
1 OPERACION SUMA<br />
2 OPERACIÓN RESTA<br />
3 OPERACIÓN MULTIPLICAR<br />
ELEGIR UNA OPCION<br />
FIN<br />
LEER<br />
EVALUAR<br />
OPCION<br />
CASO “1” CASO “2” CASO “3” DEFAULT<br />
LEER A, B<br />
R = A - B<br />
ESCRIBIR<br />
R<br />
Página 19 <strong>de</strong> 66<br />
LEER A, B<br />
P = A * B<br />
ESCRIBIR<br />
M<br />
ESCRIBIR<br />
“NO EXISTE<br />
OPCION”
4.- Algoritmo, diagrama <strong>de</strong> flujo y pseudocódigo que lee 10 valores numéricos y<br />
suma los pares únicamente.<br />
DEFINICION DE PROBLEMA Y POSIBLES SOLUCIONES<br />
Problema: SUMA DE PARES.<br />
Entrada: NUM, SUMA=0, CONT=1<br />
Método: MIENTRAS CONT
DIAGRAMA DE FLUJO<br />
ESCRIBIR<br />
SUMA<br />
FIN<br />
F<br />
INICIO<br />
CONT=1, SUMA=0<br />
CONT
EJERCICIO 1<br />
Recursos materiales <strong>de</strong> apoyo.- Lápiz, borrador, libreta.<br />
Instrucciones para el alumno.- Lee, analiza y realiza lo<br />
que se te pi<strong>de</strong>.<br />
Instrucciones para el docente.- Se recomienda antes <strong>de</strong><br />
iniciar el ejercicio hacer una <strong>de</strong>mostración para obtener<br />
mejores resultados.<br />
1. Diseñar un Algoritmo que calcule el área <strong>de</strong> un triangulo y contesta lo que se<br />
pi<strong>de</strong> a continuación.<br />
Definición <strong>de</strong>l problema y posible solución.<br />
PROBLEMA: __________________________________<br />
ENTRADA: ___________________________________<br />
MÉTODO: ____________________________________<br />
SALIDA: ______________________________________<br />
Marca con una palomita lo que necesitas para resolver este problema.<br />
Base, Radio y Número real. Área, Base y Número real.<br />
Base, Altura y Número real.<br />
Marca con una palomita el método que se necesita para resolver el problema.<br />
Área = ( Base * Altura ) / 2 Área = ( Base * Radio ) / 2<br />
Área = ( Base * Altura ) / Radio<br />
Página 22 <strong>de</strong> 66
Realiza el algoritmo <strong>de</strong>l problema.<br />
Realiza el pseudocódigo <strong>de</strong>l problema.<br />
Realiza el diagrama <strong>de</strong> flujo <strong>de</strong>l problema.<br />
Página 23 <strong>de</strong> 66
ESCRIBIR<br />
NO EXSTE<br />
OPCION<br />
Fig. 1<br />
F<br />
V<br />
EJERCICIO 2<br />
Recursos materiales <strong>de</strong> apoyo.- Lápiz, borrador, libreta.<br />
Instrucciones para el alumno.- Lee, analiza y realiza lo<br />
que se te pi<strong>de</strong>.<br />
Instrucciones para el docente.- Se recomienda antes <strong>de</strong><br />
iniciar el ejercicio hacer una <strong>de</strong>mostración para obtener<br />
mejores resultados.<br />
SI OPCION<br />
= 3<br />
M = A * B<br />
ESCRIBIR M<br />
F<br />
LEER A, B<br />
SI OPCION<br />
= 2<br />
V<br />
LEER A, B<br />
R = A - B<br />
ESCRIBIR R<br />
FIN<br />
Página 24 <strong>de</strong> 66<br />
F<br />
INICIO<br />
ESCRIBIR<br />
MENU<br />
1 OPERACION SUMA<br />
2 OPERACIÓN RESTA<br />
3 OPERACIÓN MULTIPLICAR<br />
ELEGIR UNA OPCION<br />
LEER OPCION<br />
V<br />
SI OPCION<br />
= 1<br />
LEER A, B<br />
S = A + B<br />
ESCRIBIR S
Definición <strong>de</strong>l problema y posible solución <strong>de</strong>l diagrama <strong>de</strong> flujo <strong>de</strong> la fig. 1<br />
PROBLEMA: __________________________________<br />
ENTRADA: ___________________________________<br />
MÉTODO: ____________________________________<br />
SALIDA: ______________________________________<br />
Realiza el algoritmo <strong>de</strong>l diagrama <strong>de</strong> flujo <strong>de</strong> la fig. 1<br />
Realiza el pseudocódigo <strong>de</strong>l diagrama <strong>de</strong> flujo <strong>de</strong> la fig. 1<br />
Página 25 <strong>de</strong> 66
Analiza el siguiente pseudocódigo y realiza lo que se te pi<strong>de</strong>.<br />
00: COMENZAR<br />
10: LEER NUMERO<br />
20: FACTORIAL = 1<br />
30: CONTADOR = 1<br />
40: MIENTRAS CONTADOR < = NUMERO HACER<br />
50: INICIO<br />
60: FACTORIAL = FACTORIAL * CONTADOR<br />
70: CONTADOR = CONTADOR + 1<br />
80: FIN<br />
90: ESCRIBIR FACTORIAL<br />
100: FIN<br />
Definición y posible solución<br />
EJERCICIO 3<br />
Recursos materiales <strong>de</strong> apoyo.- Lápiz, borrador, libreta.<br />
Instrucciones para el alumno.- Lee, analiza y realiza lo<br />
que se te pi<strong>de</strong>.<br />
Instrucciones para el docente.- Se recomienda antes <strong>de</strong><br />
iniciar el ejercicio hacer una <strong>de</strong>mostración para obtener<br />
mejores resultados.<br />
¿CUAL ES EL PROBLEMA? _______________________________________<br />
¿CUÁLES SON LAS ENTRADA? ___________________________________<br />
¿CUÁL ES EL MÉTODO? _________________________________________<br />
¿CUÁL ES LA SALIDA? ___________________________________________<br />
Página 26 <strong>de</strong> 66
Realiza el algoritmo.<br />
Realiza el diagrama <strong>de</strong> flujo.<br />
Página 27 <strong>de</strong> 66
Analiza el siguiente algoritmo y realiza lo que se pi<strong>de</strong><br />
1 INICIO<br />
2 ESCRIBIR<br />
“ MENU “<br />
“ 1 VISUALIZA TU NOMBRE “<br />
“ 2 VISUALIZA TU DIRECCION “<br />
“ 3 VISUALIZA TU TELEFONO “<br />
ESCRIBIR “Elegir una opción <strong>de</strong>l menú “<br />
3 LEER OPCION<br />
4 EVALUAR SI OPCION ES IGUAL A 1 ENTONCES<br />
PEDIR NOM<br />
LEER NOM<br />
ESCRIBIR NOM<br />
EVALUAR SI OPCION ES IGUAL A 2 ENTONCES<br />
PEDIR DIREC<br />
LEER DIREC<br />
ESCRIBIR DIREC<br />
5 EVALUAR SI OPCION ES IGUAL A 3 ENTONCES<br />
PEDIR TEL<br />
LEER TEL<br />
ESCRIBIR TEL<br />
6 EVALUAR SI OPCION ES DIFERENTE A LAS ANTERIORES ENTONCES<br />
ESCRIBIR “ NO EXISTE OPCION “<br />
7 FIN<br />
Definición y posible solución<br />
EJERCICIO 4<br />
Recursos materiales <strong>de</strong> apoyo.- Lápiz, borrador, libreta.<br />
Instrucciones para el alumno.- Lee, analiza y realiza lo<br />
que se te pi<strong>de</strong>.<br />
Instrucciones para el docente.- Se recomienda antes <strong>de</strong><br />
iniciar el ejercicio hacer una <strong>de</strong>mostración para obtener<br />
mejores resultados.<br />
¿CUAL ES EL PROBLEMA? _______________________________________<br />
¿CUÁLES SON LAS ENTRADA? ___________________________________<br />
¿CUÁL ES EL MÉTODO? _________________________________________<br />
¿CUÁL ESLA SALIDA? ___________________________________________<br />
Página 28 <strong>de</strong> 66
Realiza el pseudocódigo.<br />
Realiza el diagrama <strong>de</strong> flujo.<br />
Página 29 <strong>de</strong> 66
PRACTICA 1<br />
Competencia.- 1.- Resolver a través <strong>de</strong> la metodología<br />
problemas computacionales.<br />
Habilida<strong>de</strong>s.- 1. I<strong>de</strong>ntificar el problema, 2. Seleccionar el<br />
proceso <strong>de</strong> solución <strong>de</strong>l problema, 3. Elaborar el algoritmo <strong>de</strong><br />
la solución <strong>de</strong>l problema, 4. Elaborar el diagrama <strong>de</strong> flujo <strong>de</strong><br />
la solución <strong>de</strong>l problema, 5. Crear el pseudocódigo <strong>de</strong> la<br />
solución <strong>de</strong>l problema.<br />
Recursos materiales <strong>de</strong> apoyo.- Lápiz, cua<strong>de</strong>rno,<br />
borrador.<br />
Instrucciones para docente.- Verificar que el alumno<br />
<strong>de</strong>sarrolle cada uno <strong>de</strong> los pasos indicados. Se sugiere el<br />
uso <strong>de</strong> la guía <strong>de</strong> observación TINF-04/<strong>M3</strong><strong>S1</strong>/ED1-3 y <strong>de</strong> la<br />
lista <strong>de</strong> cotejo TINF-04/<strong>M3</strong><strong>S1</strong>/EP1-3.<br />
Instrucciones para el alumno.- Realiza los pasos que se<br />
indican <strong>de</strong> una manera or<strong>de</strong>nada en cada uno <strong>de</strong> los<br />
problemas que se muestran a continuación.<br />
Paso 1. La <strong>de</strong>finición y posible solución <strong>de</strong> los problemas,<br />
Paso 2. Los algoritmos <strong>de</strong> los problemas.<br />
Paso 3. Los pseudocódigos <strong>de</strong> los problemas.<br />
Paso 4. Los diagramas <strong>de</strong> flujos <strong>de</strong> los problemas.<br />
PROBLEMA 1.<br />
Lea dos números, busque el mayor <strong>de</strong> ellos, asígnelo a la<br />
variable “c” e imprima esa variable con el texto “es mayor”.<br />
PROBLEMA 2.<br />
Determinar la suma <strong>de</strong> todos aquellos números leídos<br />
mientras no sean pares.<br />
PROBLEMA 3.<br />
Determinar el porcentaje <strong>de</strong>scontado en una compra,<br />
introduciendo por teclado el precio <strong>de</strong> la tarifa y el precio<br />
pagado.<br />
PROBLEMA 4<br />
Suponga que tiene una tienda y <strong>de</strong>sea registrar sus ventas<br />
Página 30 <strong>de</strong> 66
por medio <strong>de</strong> una computadora, lea por cada cliente:<br />
a).- El monto <strong>de</strong> la venta.<br />
b).- Calcule e imprima el IVA.<br />
c).- Calcule e imprima el total a pagar.<br />
d).- Lea la cantidad con que paga el cliente.<br />
e).- Calcule e imprime el cambio.<br />
Al final <strong>de</strong>l día <strong>de</strong>berá imprimir la cantidad <strong>de</strong> dinero que<br />
<strong>de</strong>be haber en la caja.<br />
PROBLEMA 5<br />
Evalué el siguiente menú<br />
MENU<br />
“A” Calcular el promedio <strong>de</strong> 5 calificaciones.<br />
“B” Calcular el área <strong>de</strong> un circulo.<br />
“C” Calcular el numero mayor <strong>de</strong> tres valores.<br />
PROBLEMA 6<br />
Determinar si un alumno aprueba a reprueba un curso,<br />
sabiendo que aprobara si su promedio <strong>de</strong> tres calificaciones<br />
es mayor o igual a 70; reprueba en caso contrario.<br />
PROBLEMA 7<br />
Calcule el total a pagar por la compra <strong>de</strong> camisas. Si se<br />
compran tres camisas o mas se aplica un <strong>de</strong>scuento <strong>de</strong>l 20%<br />
sobre el total <strong>de</strong> la compra y si son menos <strong>de</strong> tres camisas<br />
un <strong>de</strong>scuento <strong>de</strong>l 10%.<br />
PROBLEMA 8<br />
Una compañía <strong>de</strong> seguros esta abriendo un <strong>de</strong>partamento <strong>de</strong><br />
finanzas y estableció un programa para captar clientes, que<br />
consiste en lo siguiente: Si el monto por el que se efectúa la<br />
fianza es menor que $50,000 la cuota a pagar será por el 3%<br />
<strong>de</strong>l monto, y si el monto es mayor que $50,000 la cuota a<br />
pagar será el 2% <strong>de</strong>l monto. La afianzadora <strong>de</strong>sea<br />
<strong>de</strong>terminar cual será la cuota que <strong>de</strong>be pagar un cliente.<br />
Página 31 <strong>de</strong> 66
Conclusiones <strong>de</strong> la competencia<br />
Con los ejercicios y prácticas ejecutados durante esta competencia,<br />
<strong>de</strong>sarrollaste las habilida<strong>de</strong>s y <strong>de</strong>strezas para resolver a través <strong>de</strong> la<br />
metodología problemas computacionales don<strong>de</strong> lograste:<br />
• I<strong>de</strong>ntificar el problema.<br />
• Seleccionar el proceso <strong>de</strong> solución <strong>de</strong>l problema.<br />
• Elaborar el algoritmo <strong>de</strong> la solución <strong>de</strong>l problema.<br />
• Elaborar el diagrama <strong>de</strong> flujo <strong>de</strong> la solución <strong>de</strong>l problema.<br />
• Crear el pseudocódigo <strong>de</strong> la solución <strong>de</strong>l problema<br />
Para evaluar las habilida<strong>de</strong>s y <strong>de</strong>strezas, conocimientos y actitu<strong>de</strong>s <strong>de</strong> esta<br />
competencia se hará uso <strong>de</strong> los instrumentos <strong>de</strong> evaluación: GUIA DE<br />
OBSERVACION: TINF-04/<strong>M3</strong><strong>S1</strong>/ED1-3 y LISTA DE COTEJO: TINF-<br />
04/<strong>M3</strong><strong>S1</strong>/EP1-3<br />
Página 32 <strong>de</strong> 66
COMPETENCIA<br />
II.- Codificar algoritmos en un lenguaje <strong>de</strong> programación<br />
estructurado.<br />
Introducción<br />
El compartimiento y el pensamiento humano se rigen por métodos <strong>de</strong><br />
razonamiento lógicos que nos permiten la ejecución <strong>de</strong> acciones o<br />
tareas concretas, el compartimiento o actuación <strong>de</strong> una computadora<br />
se rigen por lo que llamamos programación. Entendiendo como tal el<br />
planteamiento, <strong>de</strong>sarrollo y puesta en marcha <strong>de</strong> soluciones a problemas<br />
concretos, mediante una secuencia <strong>de</strong> instrucciones o conjuntos <strong>de</strong> acciones<br />
lógicas que se <strong>de</strong>be ejecutar la computadora y que son transmitir a este por la<br />
figura <strong>de</strong>l programador en forma <strong>de</strong> programa.<br />
Nuestra segunda competencia esta enfocada a codificar algoritmos empleando un<br />
lenguaje <strong>de</strong> programación que en nuestro caso utilizaremos el lenguaje c++, para<br />
mostrar todos lo ejemplos y ejercicios ya que es uno <strong>de</strong> los mas usados pero<br />
sobre todo tiene una gran facilidad.<br />
Con todas las activida<strong>de</strong>s que <strong>de</strong>sarrollarás en esta competencia podrás adquirir<br />
las habilida<strong>de</strong>s <strong>de</strong>: Codificar el algoritmo <strong>de</strong> la solución <strong>de</strong> un problema en un<br />
lenguaje estructurado, Compilar el programa, Depurar el programa, y Ejecutar el<br />
programa.<br />
Al dominar estas habilida<strong>de</strong>s y ponerlas en práctica or<strong>de</strong>nadamente tú podrás<br />
también adquirir los conocimientos sobre Tipos <strong>de</strong> archivos, Programación<br />
estructurada, Sintaxis y semántica <strong>de</strong>l lenguaje C, Palabras reservadas, Variables<br />
y constantes, Estructuras <strong>de</strong> control <strong>de</strong>l lenguaje C, Funciones y Arreglos.<br />
Página 33 <strong>de</strong> 66
Manejando estas habilida<strong>de</strong>s <strong>de</strong>ntro <strong>de</strong> una empresa, tendrás un reconocimiento<br />
muy gran<strong>de</strong>, ya que podrás proponer propuestas <strong>de</strong> mejora para el software que<br />
se maneja, así como, realizar programas nuevos que facilitarán el trabajo diario.<br />
Las activida<strong>de</strong>s que aquí se presentan son para que comprendas <strong>de</strong> manera fácil<br />
todas estas habilida<strong>de</strong>s y puedas lograr llegar a un grado <strong>de</strong> dificultad más<br />
complejo.<br />
HABILIDADES<br />
RESULTADO DE<br />
APRENDIZAJE<br />
Recuerda que existen otros lenguajes <strong>de</strong><br />
programación estructura, como ejemplo te<br />
mencionamos el lenguaje <strong>de</strong> programación en<br />
“Pascal”<br />
1. Codificar el algoritmo <strong>de</strong> la solución <strong>de</strong> un problema en<br />
un lenguaje estructurado.<br />
2. Compilar el programa.<br />
3. Depurar el programa.<br />
4. Ejecutar el programa.<br />
Manipular programas mediante el uso <strong>de</strong> lenguajes <strong>de</strong><br />
programación estructurada.<br />
Desarrollo<br />
Al dominar estas habilida<strong>de</strong>s por en<strong>de</strong> tendrás que dominar y conocer uno <strong>de</strong> los<br />
lenguajes estructurales mas utilizados en el aprendizaje <strong>de</strong> programación, y te<br />
darás cuenta que cuando escribas un programa <strong>de</strong>ntro <strong>de</strong> este lenguaje es como<br />
si escribieras cualquier tipo <strong>de</strong> documento <strong>de</strong> texto, solo que este contiene una<br />
Página 34 <strong>de</strong> 66<br />
¡Sabias que!<br />
El lenguaje <strong>de</strong> programación C, ha sido<br />
utilizado para el <strong>de</strong>sarrollo <strong>de</strong> infinidad <strong>de</strong><br />
herramientas <strong>de</strong> trabajo (sistema operativos,<br />
compiladores, procesadores <strong>de</strong> texto, bases<br />
<strong>de</strong> datos etc.) Se Caracteriza por ser un<br />
lenguaje <strong>de</strong> propósito general.
serie <strong>de</strong> instrucciones y especificaciones que le indican a la computadora como<br />
resolver un <strong>de</strong>terminado problema, al compilarlo apren<strong>de</strong>rás cuales son los tipos<br />
<strong>de</strong> archivos que se generan y don<strong>de</strong> se localizan.<br />
El lenguaje en C tiene reglas y sintaxis que al momento <strong>de</strong> compilarlo si nuestro<br />
programa esta mal escrito este nos indicara el tipo <strong>de</strong> error y la línea don<strong>de</strong> se<br />
localiza, a esto se le llama <strong>de</strong>puración <strong>de</strong> programa, cuando ya no se tienen<br />
errores se proce<strong>de</strong> a la ejecución <strong>de</strong>l mismo, en el cual veremos plasmado el<br />
resultado esperado.<br />
EJEMPLO 1<br />
Observa y analiza las siguientes ventanas.<br />
Lee y analiza el siguiente problema y su pseudocódigo<br />
Página 35 <strong>de</strong> 66<br />
¡¡¡A<strong>de</strong>lante, Iniciemos!!!<br />
1.- Una tienda ofrece un <strong>de</strong>scuento <strong>de</strong>l 15% sobre el total <strong>de</strong> la compra y un<br />
cliente <strong>de</strong>sea saber cuanto <strong>de</strong>berá pagar finalmente por su compra.<br />
• Pseudocódigo<br />
Inicio<br />
Leer tc<br />
d = tc * 0.15<br />
tp = tc - d<br />
Imprimir tp<br />
Fin
Ahora observa las siguientes ventanas:<br />
Codificación<br />
Compilación<br />
Depuración<br />
Ejecución<br />
Página 36 <strong>de</strong> 66
Algunos conceptos a consi<strong>de</strong>rar son:<br />
Codificación: Es la acción <strong>de</strong> escribir las instrucciones en un lenguaje <strong>de</strong><br />
programación.<br />
Compilación: Traduce un programa escrito en lenguaje <strong>de</strong> alto nivel a código<br />
maquina, en el lenguaje C se realiza <strong>de</strong>s<strong>de</strong> el menú Compile.<br />
Depuración: Proceso <strong>de</strong> eliminación <strong>de</strong> errores y mejoramiento <strong>de</strong> un programa.<br />
Ejecución: Es la acción <strong>de</strong> correr el programa generado con extensión exe para<br />
mostrar los resultados en pantalla, en el lenguaje C se realiza <strong>de</strong>s<strong>de</strong> el menú Run.<br />
En la codificación toda línea termina con punto y coma a excepción <strong>de</strong> las líneas que<br />
abren o cierren llaves, y todo se escribe en minúsculas recomendado.<br />
Cada lenguaje <strong>de</strong> programación tiene sus instrucciones propias en este caso se están<br />
usando variables reales, printf, scanf, clrscr, getch, <strong>de</strong> los cuales cada uno tiene su<br />
propia sintaxis <strong>de</strong> uso.<br />
EJERCICIO 1<br />
Recursos materiales <strong>de</strong> apoyo.- Lápiz, borrador, cua<strong>de</strong>rno,<br />
Instrucciones para el alumno.- Lee, analiza y realiza lo que<br />
se te pi<strong>de</strong>.<br />
Instrucciones para el docente.- Revisa que el ejercicio<br />
cumpla con lo requerido, tomando en cuenta el or<strong>de</strong>n <strong>de</strong>l<br />
trabajo.<br />
1. Declara las siguientes variables en C, (Se recomienda verificar el anexo 1 <strong>de</strong> los<br />
tipos <strong>de</strong> datos).<br />
DESCRIPCION RESPUESTAS<br />
A El valor monetario <strong>de</strong> una casa<br />
B El promedio <strong>de</strong> un alumno<br />
C La edad <strong>de</strong> un alumno<br />
D El nombre completo <strong>de</strong> un maestro<br />
E La cantidad <strong>de</strong> productos comprados<br />
Página 37 <strong>de</strong> 66
2. Escribe un fragmento <strong>de</strong> programa en c para leer las siguientes variables, utiliza<br />
las funciones printf y el scanf, (se recomienda observar el anexo 4 sobre los<br />
codigos usados).<br />
3. Describe que realiza cada una <strong>de</strong> las líneas <strong>de</strong>l siguiente código, en el anexo 5<br />
se muestran algunas <strong>de</strong> las librerías que utiliza el lenguaje C.<br />
#inclu<strong>de</strong> <br />
CÓDIGO RESPUESTA<br />
#inclu<strong>de</strong> <br />
main()<br />
{<br />
int edad;<br />
clrscr();<br />
Algunas características que <strong>de</strong>ben <strong>de</strong> cumplir las variables son las<br />
siguientes:<br />
• Iniciar con una letra.<br />
• No <strong>de</strong>be <strong>de</strong> contener caracteres especiales.<br />
• Pue<strong>de</strong>n contener números y letras.<br />
• Solo es permitido el guión bajo ( _ ) como separador.<br />
• No <strong>de</strong>ben <strong>de</strong> contener espacios en blanco.<br />
• Compilador sensitivo (diferencia entre mayúsculas y<br />
printf ("dame tu edad :");<br />
scanf ("%d",& edad) ;<br />
DESCRIPCION RESPUESTAS<br />
A El valor monetario <strong>de</strong> una casa<br />
B El promedio <strong>de</strong> un alumno<br />
C La edad <strong>de</strong> un alumno<br />
D El nombre completo <strong>de</strong> un maestro<br />
E La cantidad <strong>de</strong> productos comprados<br />
Página 38 <strong>de</strong> 66
}<br />
if (edad>=18)<br />
else<br />
printf(“Pue<strong>de</strong>s votar”);<br />
printf(“Eres un niño”);<br />
getch();<br />
4. Escribir el siguiente código <strong>de</strong>purando los errores que tiene.<br />
#inclu<strong>de</strong><br />
#inclu<strong>de</strong><br />
main()<br />
{<br />
int cont=1,d;<br />
float s=0,p;<br />
clrscr();<br />
do<br />
{<br />
printf("Dame el numero %d ",cont)<br />
scanf("%d",d);<br />
s=s+d;<br />
cont+;<br />
}while(c
5. Del código anterior escribe cual seria la salida esperada.<br />
__________________________________________________________________<br />
______<br />
__________________________________________________________________<br />
______<br />
5. Contesta correctamente las siguientes preguntas.<br />
A<br />
B<br />
C<br />
PREGUNTA RESPUESTAS<br />
¿Cuál es el método abreviado para<br />
compilar el código <strong>de</strong> un programa?<br />
¿Cuál es el método abreviado para<br />
ejecutar el código <strong>de</strong> un programa?<br />
¿Cuál es la extension por <strong>de</strong>fault que<br />
utiliza el lenguaje C en un archivo <strong>de</strong><br />
código fuente?<br />
Página 40 <strong>de</strong> 66
PRÁCTICA 1<br />
Competencia.- 2.- Codificar algoritmos en un lenguaje <strong>de</strong><br />
programación estructurado.<br />
Habilida<strong>de</strong>s.- 1. Codificar el algoritmo <strong>de</strong> la solución <strong>de</strong><br />
un problema en un lenguaje estructurado, 2. Compilar el<br />
programa, 3. Depurar el programa, 4. Ejecutar el<br />
programa.<br />
Recursos materiales <strong>de</strong> apoyo.- Computadora y<br />
lenguaje <strong>de</strong> programación.<br />
Instrucciones para docente.- Verificar que el alumno<br />
<strong>de</strong>sarrolle cada uno <strong>de</strong> los problemas indicados. Se<br />
sugiere el uso <strong>de</strong> la guía <strong>de</strong> observación TINF-<br />
04/<strong>M3</strong><strong>S1</strong>/ED2-3 y la lista <strong>de</strong> cotejo TINF-04/<strong>M3</strong><strong>S1</strong>/EP2-3,<br />
así como el uso <strong>de</strong> los anexos 2, 3 y 6 don<strong>de</strong> se<br />
muestran los tipos <strong>de</strong> operadores, constantes y lo<br />
relacionado con los archivos respectivamente.<br />
Instrucciones para el alumno.- Realiza en cada uno <strong>de</strong><br />
los problemas lo se te indican <strong>de</strong> una manera or<strong>de</strong>nada.<br />
1.- Codifica<br />
2.- Compila<br />
3.- Depura<br />
4.- Ejecuta<br />
Y guárdalos en un carpeta que se llame <strong>M3</strong><strong>S1</strong> con el<br />
nombre que tienen <strong>de</strong> titulo (ejemplo problema1).<br />
Problema 1<br />
Víctor tiene la necesidad <strong>de</strong> realizar operaciones<br />
aritméticas básicas y para agilizar esto, tiene que diseñar<br />
un programa que permita leer dos valores numéricos y<br />
calcula primero la suma, <strong>de</strong>spués <strong>de</strong> la resta, a<br />
continuación el producto y seguidamente la división <strong>de</strong><br />
ambos valores, escribiendo finalmente el resultado<br />
obtenido en cada una <strong>de</strong> estas operaciones.<br />
Problema 2<br />
El maestro Gómez tiene la necesidad <strong>de</strong> saber que<br />
porcentaje <strong>de</strong> hombres y que porcentaje <strong>de</strong> mujeres hay<br />
en el grupo 5 A <strong>de</strong>l turno <strong>de</strong> la mañana, si son en total 40<br />
estudiantes <strong>de</strong> esos 25 son mujeres y 15 son hombres.<br />
Problema 3<br />
Página 41 <strong>de</strong> 66
Ricardo recibió una noticia <strong>de</strong> sus padres: que le daban<br />
un premio si su calificación en la materia <strong>de</strong> algoritmos<br />
era <strong>de</strong> mínimo <strong>de</strong> 80, por esa razón <strong>de</strong>sea saber cual<br />
será su calificación final en esa materia. Dicha calificación<br />
se compone <strong>de</strong> los siguientes porcentajes:<br />
55% <strong>de</strong>l promedio <strong>de</strong> sus tres calificaciones parciales.<br />
30% <strong>de</strong> la calificación <strong>de</strong>l examen final.<br />
15% <strong>de</strong> la calificación <strong>de</strong> un trabajo final.<br />
Problema 4<br />
Todos los lunes, miércoles y viernes, Maria entrena<br />
atletismo ya que participará en los juegos estatales <strong>de</strong> su<br />
estado, ella corre la misma ruta y cronometra los tiempos<br />
obtenidos. Determinar el tiempo promedio que María<br />
tarda en recorrer la ruta en una semana cualquiera, tú<br />
<strong>de</strong>bes <strong>de</strong> pedir los tiempos <strong>de</strong> cada día.<br />
Problema 5<br />
El empleado Miguel quiere hacer un regalo a su esposa,<br />
pero quiere saber si pue<strong>de</strong> comprarlo con un bono que le<br />
dan anualmente. Para calcular esta utilidad Miguel recibe<br />
la asignación como un porcentaje <strong>de</strong> su salario mensual<br />
que <strong>de</strong>pen<strong>de</strong> <strong>de</strong> su antigüedad en la empresa <strong>de</strong> acuerdo<br />
con la siguiente tabla:<br />
Tiempo Utilidad<br />
Menos <strong>de</strong> 1 año 5 % <strong>de</strong>l salario<br />
1 año o más y menos <strong>de</strong> 2<br />
años<br />
7% <strong>de</strong>l salario<br />
2 años o más y menos <strong>de</strong><br />
5 años<br />
10% <strong>de</strong>l salario<br />
5 años o más y menos <strong>de</strong><br />
10 años<br />
15% <strong>de</strong>l salario<br />
10 años o más 20% <strong>de</strong>l salario<br />
Cuanto recibe Miguel si al mes gana $5,000.00, la<br />
antigüedad la <strong>de</strong>bes <strong>de</strong> ir cambiando por cada uno <strong>de</strong> los<br />
tiempos, imprime el resultado <strong>de</strong> la utilidad.<br />
Problema 6<br />
Paco quiere realizar un programa que muestre un menú<br />
con los 3 primeros programas, pero no pue<strong>de</strong> disponer <strong>de</strong><br />
mucho tiempo ¿le pue<strong>de</strong>s ayudar?<br />
Problema 7<br />
Héctor tiene un problema, tiene 5 naranjas, 3 manzanas,<br />
4 mangos y 19 guayabas y quiere saber si la suma <strong>de</strong><br />
Página 42 <strong>de</strong> 66
todas las frutas es múltiplo <strong>de</strong> 3 o no ¿Le podrías ayudar?<br />
Problema 8<br />
La administración <strong>de</strong> la escuela necesita avisar a los<br />
alumnos <strong>de</strong>l colegio, que llegó la convocatoria <strong>de</strong>l servicio<br />
militar, para esto requiere evaluar cual <strong>de</strong> tres alumnos<br />
previamente localizados es el mayor, esto para que asista<br />
él en representación <strong>de</strong> los otros dos compañeros.<br />
Problema 9<br />
El maestro <strong>de</strong> matemáticas Luís quiere recompensar a<br />
los alumnos con 10 puntos extras al que Realicé un<br />
programa que pida un número y si es menor <strong>de</strong> 10 que<br />
obtenga el cubo <strong>de</strong> el y si es mayor que obtenga el<br />
cuadrado.<br />
Problema 10<br />
Una empresa <strong>de</strong> mercadotecnia realiza un estudio <strong>de</strong><br />
mercado sobre educación en su ciudad, las encuestas<br />
arrojaron información pero para agilizar su trabajo<br />
necesita realizar un programa que pida la edad <strong>de</strong> una<br />
persona, si esta edad es mayor <strong>de</strong> 6 y menor <strong>de</strong> 12 que<br />
man<strong>de</strong> el mensaje “ESTAS EN PRIMARIA”, si es mayor<br />
<strong>de</strong> 12 y menor <strong>de</strong> 15 “ESTAS EN SECUNDARIA”, si es<br />
mayor <strong>de</strong> 15 y menor <strong>de</strong> 18 “ESTAS EN CECYTEM” y si<br />
es mayor <strong>de</strong> 18 “ESTAS EN LICENCIATURA”.<br />
Problema 11<br />
Lupita necesita hacer una tarea muy importante, ya que si<br />
no la hace no tendrá <strong>de</strong>recho a presentar su examen. ¿Le<br />
ayudas?, La tarea consiste en realizar un programa que<br />
pida dos números y nos diga si es primero es múltiplo <strong>de</strong>l<br />
segundo.<br />
Problema 12<br />
Una empresa constructora quiere aplicar una estrategia<br />
para elevar sus ventas <strong>de</strong> terrenos, dando un <strong>de</strong>scuento<br />
a sus clientes, esta consiste en realizar un programa que<br />
pida el largo y el ancho <strong>de</strong> un terreno y el precio por<br />
metro cuadrado. Si el terreno tiene más <strong>de</strong> 200 metros<br />
cuadrados se hace un <strong>de</strong>scuento <strong>de</strong> 10%.<br />
Problema 13<br />
La empresa <strong>de</strong> Jugos Friolin S.A. <strong>de</strong> C.V. quiere hacer el<br />
cálculo <strong>de</strong> su nómina <strong>de</strong> manera más rápida, ya que esta<br />
se realiza manualmente. Para esto necesita crear un<br />
programa que tenga las siguientes características: que<br />
Página 43 <strong>de</strong> 66
contenga N cantidad <strong>de</strong> empleados, cada uno gana a 8<br />
pesos la hora y trabaja 40 horas a la semana, quiere<br />
calcular el sueldo neto por semana <strong>de</strong> cada empleado, y<br />
necesita saber también ¿Cuál es el sueldo promedio <strong>de</strong><br />
todos los empleados?.<br />
Problema 14<br />
Miguelito tiene una colección <strong>de</strong> bolas <strong>de</strong> billar en un<br />
estuche y escoge una al azar pero él <strong>de</strong>sea saber si esta<br />
bola que eligió tiene un número es primo o no ¿Le<br />
podrías ayudar con su problema?<br />
Problema 15<br />
Salvador es un niño bastante lento para enten<strong>de</strong>r<br />
matemáticas y ahora tiene un gran problema, la maestra<br />
Félix le <strong>de</strong>jo <strong>de</strong> tarea que se aprendiera las tablas <strong>de</strong><br />
multiplicar <strong>de</strong>l 1 hasta el 10, para ello Salvador necesita<br />
escribirlas primero, pero como no se las sabe, el quiere<br />
que tú le ayu<strong>de</strong>s mediante un programa que se las<br />
imprima en pantalla.<br />
Problema 16<br />
Juan es muy aplicado en la materia <strong>de</strong> matemáticas, para<br />
ello el maestro Puc le <strong>de</strong>ja un trabajo don<strong>de</strong> tiene que<br />
obtener un resultado <strong>de</strong> la siguiente serie<br />
1+1/2+1/3+1/4+……….1/n, pero a Juan se le olvido y una<br />
hora antes <strong>de</strong> la clase se pone a realizar el trabajo y para<br />
hacerlo mas rápido diseña un programa que entrega el<br />
resultado ¿le pue<strong>de</strong>s ayudar a Juan para que no que<strong>de</strong><br />
mal con su profesor?<br />
Problema 17<br />
Felipe ocupa su R.F.C. para a elaboración <strong>de</strong> una factura<br />
pero no sabe como sacarlo ¿Le podrías hacer un<br />
programa que le muestre como se obtiene?<br />
Problema 18<br />
A Jaime le justa mucho estar entretenido con los textos,<br />
para ello el te pone un reto. ¿Qué le digas una palabra<br />
que sea palindro mediante un programa? (las palabras<br />
palindro son aquellas palabras que significan lo mismo al<br />
ser leídas al <strong>de</strong>recho y al revés, ejemplo oso), y como tú<br />
eres mas inteligente que Jaime ¿verdad que aceptas el<br />
reto?<br />
Página 44 <strong>de</strong> 66
Problema 19<br />
Sergio es un estudiante muy <strong>de</strong>stacado, y quiere realizar<br />
un programa que le diga cual es el promedio <strong>de</strong> 50<br />
valores que tiene almacenados en un vector, también<br />
necesita saber cuantos <strong>de</strong> esos número son mayores que<br />
ese promedio, pero en este momento, él no tiene el<br />
tiempo necesario para hacerlo por lo que él, le pi<strong>de</strong> la<br />
ayuda a sus compañeros para hacerlo ¿verdad que tú si<br />
le ayudas?, <strong>de</strong> paso muestra en pantalla esos resultados<br />
y la lista <strong>de</strong> los número mayores <strong>de</strong>l promedio.<br />
Problema 20<br />
Diego tiene dos bolsas A y B con 45 canicas, cada canica<br />
tiene un número marcado, quiere sumar el número <strong>de</strong> la<br />
canica <strong>de</strong> la bolsa A con el número <strong>de</strong> la canica <strong>de</strong> la<br />
bolsa B, así sucesivamente hasta terminar con todas las<br />
canicas y va anotando en una libreta cada una <strong>de</strong> las<br />
sumatorias, ¿podrías ayudarle a imprimir mediante un<br />
programa cada una <strong>de</strong> las sumatorias?<br />
Problema 21<br />
Lupita tiene 20 monedas <strong>de</strong> diferentes valores, ella quiere<br />
comprar un regalo para su papa, el cual cuesta lo que<br />
marca la moneda <strong>de</strong> mayor valor que tiene, ¿le podrías<br />
ayudar a encontrarla <strong>de</strong> entre todas sus monedas y <strong>de</strong><br />
paso marcar la posición don<strong>de</strong> se encontró?<br />
Problema 22<br />
Manuel es un jugador fanático pero con mucha suerte, el<br />
tiene 500 monedas <strong>de</strong> diferente valor y se pone a jugar<br />
volados contra Sergio el cual tiene la misma cantidad <strong>de</strong><br />
monedas y <strong>de</strong> igual valor que las <strong>de</strong> Manuel, esté ultimo<br />
le gana todos los volados, por lo que duplica la cantidad<br />
<strong>de</strong> cada una <strong>de</strong> sus monedas, Manuel quiere separar las<br />
monedas que tenia inicialmente, pero también quiere<br />
tener las duplicadas ¿podrías ayudarle mediante un<br />
programa a imprimir los valores <strong>de</strong> las primeras 500<br />
monedas y luego con las cantidad duplicadas?<br />
Problema 23<br />
Marcos necesita sus calificaciones <strong>de</strong>l primer parcial por<br />
que su papá se las pidió, pero Rocío la encargada <strong>de</strong><br />
control escolar tiene mucho trabajo y quiere entregárselas<br />
pero el tiempo no le alcanza, ¿Podrías ayudarle a Rocío<br />
con esto? Marcos lleva 5 materias diferentes y se<br />
necesita obtener el promedio <strong>de</strong> ellas.<br />
Página 45 <strong>de</strong> 66
Problema 24<br />
Angélica <strong>de</strong>sea realizar un programa que imprima en<br />
pantalla su nombre completo, pero ella lo necesita con la<br />
primer letra <strong>de</strong> cada palabra en mayúsculas, ejemplo<br />
“María Angélica Alonso González”, pero ella no sabe<br />
como utilizar arreglos <strong>de</strong> texto en los programas ¿Podrías<br />
ayudarle con esto?<br />
Problema 25<br />
El profesor Antonio <strong>de</strong> la materia <strong>de</strong> ciencias ocultas,<br />
requiere hacer una lista <strong>de</strong> todos sus alumnos para ello<br />
va anotando en una hoja a los estudiantes conforme van<br />
llegando al salón ¿Le podrías hacer un programa que<br />
muestre la lista en pantalla y <strong>de</strong> paso también mostrarla<br />
or<strong>de</strong>nada?, ya vez que él no sabe nada <strong>de</strong> programación.<br />
Problema 26<br />
El maestro Jorge quiere realizar un programa que<br />
muestre un menú con las siguientes opciones: pedir N<br />
nombres, mostrar N nombres, consultar un nombre y salir<br />
<strong>de</strong>l menú, para así po<strong>de</strong>r tener un mejor control <strong>de</strong> sus<br />
alumnos ¿pue<strong>de</strong>s ayudarle con esto ya que el tiene<br />
muchos exámenes que revisar?<br />
Problema 27<br />
El profesor Ochoa tiene 30 alumnos y cada alumno tiene<br />
tres calificaciones en el primer parcial. Almacenar los<br />
datos en un archivo, <strong>de</strong>jando espacio para dos más y la<br />
nota final. Incluir un menú <strong>de</strong> opciones, para añadir más<br />
estudiantes, visualizar datos <strong>de</strong> un estudiante, introducir<br />
nuevas notas y calcular la nota final, (te recomendamos<br />
consultar el anexo 6, sobre lo relacionado con archivos).<br />
Recuerda todos los programas don<strong>de</strong> se<br />
utiliza algún ciclo o instrucciones<br />
repetitivas, se pue<strong>de</strong>n realizar empleado<br />
cualquiera <strong>de</strong> los tres ciclos que maneja<br />
el lenguaje C, como son:<br />
Ciclo for, ciclo while y ciclo do - while<br />
Página 46 <strong>de</strong> 66
Conclusiones <strong>de</strong> la competencia<br />
Con los ejercicios y prácticas ejecutados durante esta competencia,<br />
<strong>de</strong>sarrollaste las habilida<strong>de</strong>s y <strong>de</strong>strezas necesarias para:<br />
• Codificar el algoritmo <strong>de</strong> la solución <strong>de</strong> un problema en un lenguaje<br />
estructurado.<br />
• Compilar el programa.<br />
• Depurar el programa.<br />
• Ejecutar el programa.<br />
Para evaluar las habilida<strong>de</strong>s y <strong>de</strong>strezas, conocimientos y actitu<strong>de</strong>s <strong>de</strong> esta<br />
competencia se hará uso <strong>de</strong> los instrumentos <strong>de</strong> evaluación GUÍA DE<br />
OBSERVACIÓN: TINF-04/<strong>M3</strong><strong>S1</strong>/ED2-3 y la LISTA DE COTEJO: TINF-<br />
04/<strong>M3</strong><strong>S1</strong>/EP2-3.<br />
Página 47 <strong>de</strong> 66
COMPETENCIA<br />
III.- Implantar los programas elaborados en un lenguaje <strong>de</strong><br />
programación estructurado.<br />
Introducción<br />
Dentro <strong>de</strong> ésta competencia, nos enfocaremos a <strong>de</strong>sarrollar<br />
habilida<strong>de</strong>s como Localizar los programas generados, Copiar los<br />
programa a los dispositivos <strong>de</strong> almacenamiento, Transportar los<br />
programas e Instalar los programas a otros equipos <strong>de</strong> cómputo.<br />
Los resultados que obtendrás <strong>de</strong> esta competencia los verás plasmados <strong>de</strong>ntro <strong>de</strong><br />
la empresa una vez que te incorpores al trabajo, ya que al ponerlos en práctica <strong>de</strong><br />
una manera responsable, te darás cuenta que son muy útiles en la manipulación<br />
<strong>de</strong> programas (en manipulación, nos estamos refiriendo a la localización, copia,<br />
transportabilidad e instalación <strong>de</strong> programas); su rapi<strong>de</strong>z y eficiencia serán darán<br />
<strong>de</strong> que hablar en el ámbito laboral.<br />
La manera en que <strong>de</strong>sarrollaremos estas activida<strong>de</strong>s, estarán encaminadas a que<br />
poco a poco vayas adquiriendo todo lo necesario para po<strong>de</strong>r manipular los<br />
programas, hasta llegar a un nivel más complejo.<br />
Los conocimientos que podrás adquirir durante el <strong>de</strong>sarrollo <strong>de</strong> esta competencia<br />
son sobre Tipos <strong>de</strong> archivos, Capacida<strong>de</strong>s <strong>de</strong> dispositivos <strong>de</strong> almacenamiento,<br />
Copiado <strong>de</strong> archivos, Compresión y <strong>de</strong>scompresión <strong>de</strong> programas.<br />
¡¡¡A<strong>de</strong>lante con esta ultima competencia!!!<br />
Página 48 <strong>de</strong> 66
HABILIDADES<br />
RESULTADO DE<br />
APRENDIZAJE<br />
Implantar se refiere a poner en funcionamiento, aplicar los<br />
métodos y medidas necesarias, en otros equipos los programas<br />
realizados<br />
1. Localizar los programas generados.<br />
2. Copiar los programa a los dispositivos <strong>de</strong> almacenamiento.<br />
3. Transportar los programas.<br />
4. Instalar los programas a otros equipos <strong>de</strong> cómputo.<br />
Con estas habilida<strong>de</strong>s lograrás la manipulación <strong>de</strong> los<br />
programas generados.<br />
Desarrollo<br />
Con estas habilida<strong>de</strong>s tendrás un mejor control sobre localizar información que se<br />
encuentre en un disco duro, o en otro dispositivo <strong>de</strong> almacenamiento. Otra es la<br />
<strong>de</strong> duplicar la información y almacenarla en un medio flexible para ser<br />
transportada hasta otros equipos <strong>de</strong> cómputo, así como, instalar los archivos en<br />
otros equipos <strong>de</strong> cómputo.<br />
Antes <strong>de</strong> comenzar <strong>de</strong>bes saber que estas habilida<strong>de</strong>s las pue<strong>de</strong>s <strong>de</strong>mostrar en<br />
cualquier tipo <strong>de</strong> software <strong>de</strong> aplicación libre o comercial.<br />
Comencemos a conocer y aplicar estas habilida<strong>de</strong>s!!!<br />
Página 49 <strong>de</strong> 66<br />
EJEMPLO 1<br />
Observa y analiza las siguientes ventanas.<br />
Para localizar don<strong>de</strong> se genera el ejecutable <strong>de</strong>l programa compilado lo podrás<br />
obtener <strong>de</strong> la siguiente manera <strong>de</strong>ntro <strong>de</strong>l lenguaje <strong>de</strong> programación:
También se pue<strong>de</strong>n localizar <strong>de</strong>s<strong>de</strong> Windows realizando lo siguiente:<br />
En el menú inicio,<br />
elegir la opción buscar<br />
<strong>de</strong> menú cascada<br />
En la ventana<br />
resultado <strong>de</strong> la<br />
búsqueda, elegir la<br />
opción todos lo<br />
Archivos y carpetas<br />
Página 50 <strong>de</strong> 66<br />
Elegir el menú Options<br />
y elegir directories<br />
Dirección don<strong>de</strong> se<br />
localizan los archivos<br />
con extensión “H”<br />
Dirección don<strong>de</strong> se<br />
localizan los archivos<br />
con extensión “OBJ”<br />
Dirección don<strong>de</strong> se<br />
localizan los archivos<br />
con extensión “EXE”,<br />
que estos son los que<br />
se van a transportar.<br />
En la sección Todo o parte<br />
<strong>de</strong>l nombre <strong>de</strong>l archivo,<br />
escribir el nombre <strong>de</strong>l<br />
archivo seguido con la la<br />
palabra EXE, separado con<br />
punto:<br />
Nombre.EXE
Una <strong>de</strong> las características <strong>de</strong>l lenguaje <strong>de</strong> programación en C es que cuando tu<br />
compilas se general tres archivos mas aparte <strong>de</strong>l programa fuente (con extensión<br />
.Cpp), con el mismo nombre solo diferente extensión, .Bak, .Obj, .Exe, que este<br />
ultimo es el que nos sirve par ejecutar el programa en cualquier computadora,<br />
aunque no tenga instalado el lenguaje en el que fue diseñado.<br />
Una vez localizado el archivo con extensión .exe se proce<strong>de</strong> a copiar en un medio<br />
<strong>de</strong> almacenamiento externo como pue<strong>de</strong> ser disquete, memoria flash, CD-RW,<br />
etc.<br />
Para copiar este<br />
archivo se presiona el<br />
botón secundario <strong>de</strong>l<br />
mouse sobre él, y se<br />
elige el comando<br />
copiar.<br />
Para transportar con seguridad tus archivos almacenados en tu<br />
dispositivo <strong>de</strong> almacenamiento portátil o fijo, <strong>de</strong>bes <strong>de</strong> tomar<br />
en cuenta en no tener contacto con líquidos con este<br />
dispositivo, no exponerlo en el calor o rayos solares, estar en<br />
una temperatura fresca y seca, no tener peso encima <strong>de</strong>l<br />
dispositivo. Si el dispositivo es fijo no transportarlo con mucho<br />
movimiento, evitar el lo posible el movimiento brusco.<br />
Para instalar lo archivos transportados hacia otro equipo <strong>de</strong><br />
computo, basta con copiar estos archivos en la carpeta o disco<br />
duro <strong>de</strong>stino. Esto auxiliándote <strong>de</strong>l explorador <strong>de</strong> Windows.<br />
Página 51 <strong>de</strong> 66<br />
Se localiza el medio <strong>de</strong><br />
almacenamiento y se<br />
elige pegar empleando<br />
el botón secundario<br />
<strong>de</strong>l mouse.
EJERCICIO 1<br />
Recursos materiales <strong>de</strong> apoyo.- Lápiz, computadora,<br />
software <strong>de</strong> programación.<br />
Instrucciones para el alumno.- De acuerdo a cada<br />
indicación realiza lo que se pi<strong>de</strong>.<br />
Instrucciones para el docente.- Revisa que el ejercicio<br />
cumpla con lo requerido, realimentando las posibles<br />
contingencias.<br />
Caso 1<br />
Localiza el archivo ejecutable <strong>de</strong>l software <strong>de</strong> programación (ejemplo Tc.exe ) y<br />
Escribe paso a paso <strong>de</strong>l proceso que realizaste.<br />
Caso 2<br />
Copia el archivo <strong>de</strong>l caso 1 a un dispositivo <strong>de</strong> almacenamiento externo y<br />
transpórtalo a un equipo <strong>de</strong> cómputo que se encuentre a una distancia <strong>de</strong> 5 mts<br />
mínimo (ejemplo que se ubique en otro edificio). Anota las medidas <strong>de</strong> seguridad<br />
que utilizaste.<br />
Página 52 <strong>de</strong> 66<br />
PRÁCTICA 1<br />
Competencia 3.- Implantar los programas elaborados en un<br />
lenguaje <strong>de</strong> programación estructurado.
Habilida<strong>de</strong>s.- 1. Localizar los programas generados,<br />
2.Copiar los programa a los dispositivos <strong>de</strong><br />
almacenamiento, 3. Transportar los programas, 4. Instalar<br />
los programas a otros equipos <strong>de</strong> cómputo.<br />
Recursos materiales <strong>de</strong> apoyo.- Equipo <strong>de</strong> cómputo con<br />
lenguaje C, dispositivo <strong>de</strong> almacenamiento.<br />
Instrucciones para el alumno.- Realiza lo que se te pi<strong>de</strong><br />
<strong>de</strong> una manera responsable en el editor <strong>de</strong> lenguaje <strong>de</strong><br />
programación C, y Windows<br />
Instrucciones para el docente.- se recomienda realizar<br />
esta práctica en forma individual.<br />
1.- Localiza todos archivos ejecutables <strong>de</strong> práctica anterior<br />
<strong>de</strong> la competencia 2<br />
2.- Copia todos los archivos <strong>de</strong>l punto anterior a una carpeta<br />
<strong>M3</strong><strong>S1</strong>EXE.<br />
3.- Copia la carpeta <strong>M3</strong><strong>S1</strong>EXE a dispositivo <strong>de</strong><br />
Almacenamiento externo<br />
4.- Transporta los archivos y cópialos a otro equipo <strong>de</strong><br />
cómputo<br />
Página 53 <strong>de</strong> 66
CONCLUSIONES DE LA COMPETENCIA<br />
En esta competencia <strong>de</strong>sarrollaste las habilida<strong>de</strong>s y <strong>de</strong>strezas<br />
necesarias para:<br />
• Localizar los programas generados.<br />
• Copiar los programas a los dispositivos <strong>de</strong> almacenamiento.<br />
• Transportar los programas.<br />
• Instalar los programas a otros equipos <strong>de</strong> cómputo.<br />
Para lograr el <strong>de</strong>sarrollo <strong>de</strong> todas estas habilida<strong>de</strong>s recurrimos a diversos<br />
ejercicios y prácticas.<br />
Finalmente <strong>de</strong>bemos señalar que esta competencia será evaluada mediante la<br />
aplicación <strong>de</strong>l instrumento <strong>de</strong> evaluación guía <strong>de</strong> Observación TINF-<br />
04/<strong>M3</strong><strong>S1</strong>/ED3-3 y la lista <strong>de</strong> cotejo TINF-04/<strong>M3</strong><strong>S1</strong>/EP3-3<br />
Página 54 <strong>de</strong> 66
CONCLUSIONES DE LA GUÍA DE APRENDIZAJE<br />
Los ejercicios y prácticas que se han propuesto en esta guía <strong>de</strong><br />
aprendizaje te permitirán <strong>de</strong>sarrollar las habilida<strong>de</strong>s, <strong>de</strong>strezas,<br />
conocimientos y actitu<strong>de</strong>s necesarias para solucionar problemas<br />
utilizando la lógica computacional realizando programas en el<br />
lenguaje estructurado e implantar en otros escenarios.<br />
Para comprobar que has <strong>de</strong>sarrollado la competencia en todos los apartados<br />
señalados con anterioridad se utilizarán dos tipos <strong>de</strong> instrumentos <strong>de</strong> evaluación:<br />
las guías <strong>de</strong> observación para medir tus <strong>de</strong>sempeños y las listas <strong>de</strong> cotejo para los<br />
productos logrados<br />
Página 55 <strong>de</strong> 66
Fuentes <strong>de</strong> Información<br />
SCHILDT, H.: "C: Manual <strong>de</strong> referencia" Osborne-Mc Graw-Hill, 1990<br />
ISBN: 84-7615-535-2<br />
SEDGEWICK, R.: "Algoritmos en C++". Addison-Wesley Iberoameriacana / Díaz<br />
<strong>de</strong> Santos.<br />
ISBN: 0-201-62574-1<br />
KERNIGHAN, B. Y RITCHIE, D.: "El lenguaje <strong>de</strong> programación C". Prentice Hall.<br />
ISBN: 968-880-205-0<br />
KERNIGHAN, B. Y PIKE, R.: "La práctica <strong>de</strong> la programación". Prentice Hall.<br />
ISBN: 968-444-418-4<br />
Metodología <strong>de</strong> la Programación. Luis Joyanes Aguilar<br />
Lenguajes <strong>de</strong> Diagramas <strong>de</strong> Flujo Forsythe, Keenan, Organick, Stenberg.<br />
Introducción a la computación jose vasconcelos Santillán, publicaciones<br />
culturales, séptimo impresión, México2001.<br />
Página 56 <strong>de</strong> 66
Glosario<br />
Algoritmo: Es una serie <strong>de</strong> operaciones <strong>de</strong>talladas y no ambiguas, a ejecutar<br />
paso a paso, que conducen a la resolución <strong>de</strong> un problema.<br />
Pseudocódigo: Es una técnica para expresar en el lenguaje natural la lógica <strong>de</strong> un<br />
programa, es <strong>de</strong>cir su flujo <strong>de</strong> control.<br />
Diagrama <strong>de</strong> flujo: Son la representación grafica <strong>de</strong> la solución <strong>de</strong>l problema que<br />
se <strong>de</strong>sea mecanizar. Esta representación grafica <strong>de</strong>scribe la secuencia <strong>de</strong><br />
procesos en que se <strong>de</strong>be ejecutarse<br />
Entrada <strong>de</strong> Datos: Engloban todas aquellas instrucciones que toman datos <strong>de</strong> un<br />
dispositivos externo <strong>de</strong>positándolas posteriormente en memoria principal.<br />
Proceso: Engloban toda instrucción encargada <strong>de</strong> procesar <strong>de</strong> la información.<br />
Salida <strong>de</strong> datos: Este bloque esta formado por todas aquellas instrucciones que<br />
toman los resultados <strong>de</strong>positados en memoria principal una vez procesados los<br />
datos <strong>de</strong> entrada, enviándolas seguidamente en un dispositivo.<br />
Programación: Elaboración <strong>de</strong> programas en un lenguaje <strong>de</strong> programación<br />
Lenguaje <strong>de</strong> programación: Los lenguajes <strong>de</strong> programación son herramientas<br />
que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual<br />
Basic, Pascal, Java, C, etc.<br />
Función: Es un bloque <strong>de</strong> instrucciones que ejecuta individualmente.<br />
Variables: Son <strong>de</strong>finidas utilizando un i<strong>de</strong>ntificador <strong>de</strong> tipo seguido <strong>de</strong>l nombre <strong>de</strong><br />
la variable.<br />
I<strong>de</strong>ntificador: Es un nombre que <strong>de</strong>fine a una variable, una función o un tipo <strong>de</strong><br />
datos.<br />
Compilación: Es el proceso por el cual se traducen programas en código fuente<br />
programas en código objeto.<br />
Código fuente: Es un conjunto <strong>de</strong> líneas que conforman un bloque <strong>de</strong> texto,<br />
escrito según las reglas sintácticas <strong>de</strong> algún lenguaje <strong>de</strong> programación <strong>de</strong>stinado<br />
a ser legible por humanos.<br />
Código objeto: en programación al código resultante <strong>de</strong> la compilación <strong>de</strong>ll<br />
código fuente.<br />
Página 57 <strong>de</strong> 66
Tipos <strong>de</strong> datos usados en C++.<br />
Anexo 1<br />
TIPO BYTES DESCRIPCION RANGO<br />
Char 1 Carácter -127 a 127<br />
Unsigned char 1 Carácter 0 a 255<br />
Int 2 Entero -32767 a 32767<br />
Unsigned int 2 Entero positivo 0 a 65535<br />
Long int 4 Entero largo -2147793467 a<br />
2147793467<br />
Unsigned lon int 4 Entero largo<br />
positivo<br />
Página 58 <strong>de</strong> 66<br />
0 a 4294967925<br />
float 4 Real(flotante) Seis dígitos <strong>de</strong> precisión<br />
double 8 Real Diez dígitos <strong>de</strong> precisión<br />
void 0 Nada -
OPERADORES ARITMETICOS<br />
OPERADORES DE ASIGNACIÓN<br />
Anexo 2<br />
OPERADOR ACCION<br />
- Resta<br />
+ Suma<br />
* Multiplicación<br />
% Modulo<br />
/ División entera<br />
OPERADOR ACCION<br />
A = B Asigna el valor <strong>de</strong> B a A<br />
A *= B Multiplica A por B y asigna el resultado a la variable A<br />
A /= B Divi<strong>de</strong> A entre B y asigna el resultado a la variable A<br />
A %= B Fija A al resto <strong>de</strong> A / B.<br />
A += B<br />
A -= B<br />
Suma B y A y lo asigna a la variable A<br />
Suma B y A y lo asigna a la variable A<br />
Página 59 <strong>de</strong> 66
OPERADORES RELACIONALES<br />
OPERADOR ACCION<br />
> Mayor que<br />
>= Mayor o igual que<br />
< Menor que<br />
TABLA DE OPERADORES Y SU PRECEDENCIA<br />
( ) Izquierda a <strong>de</strong>recha<br />
! ++ -- Izquierda a <strong>de</strong>recha<br />
* / % Izquierda a <strong>de</strong>recha<br />
< >= Izquierda a <strong>de</strong>recha<br />
== != Izquierda a <strong>de</strong>recha<br />
&& Izquierda a <strong>de</strong>recha<br />
¦¦ Izquierda a <strong>de</strong>recha<br />
= += -= etc. Izquierda a <strong>de</strong>recha<br />
Página 61 <strong>de</strong> 66
TIPOS DE CONSTANTES<br />
Anexo 3<br />
Página 62 <strong>de</strong> 66
Anexo 4<br />
CODIGOS DEL PRINTF<br />
CODIGO SIGNIFICADO<br />
%c VISUALIZA UN CARACTER<br />
%d VISUALIZA DECIMAL<br />
%i VISUALIZA DECIMAL<br />
%e VISUALIZA EN NOTACIÓN CIENTÍFICA<br />
%f VISUALIZA DATOS EN PUNTO FLOTANTE<br />
%g VISUALIZA %E Ó %F LA QUE SEA MAS CORTA<br />
%o VISUALIZA OCTAL<br />
%s VISUALIZA CADENA DE CARACTERES<br />
%u VISUALIZA DECIMAL SIN SIGNO<br />
%x VISUALIZA HEXADECIMAL<br />
%% VISUALIZA SIGNO %<br />
%p VISUALIZA UN PUNTERO<br />
CODIGOS DEL SCANF<br />
CODIGO SIGNIFICADO<br />
%c LEE UN CARÁCTER<br />
%d LEE UN DECIMAL ENTERO<br />
%i LEE UN DECIMAL ENTERO<br />
%e LEE UN NUMERO EN PUNTO FLOTANTE<br />
%f LEE UN NUMERO EN PUNTO FLOTANTE<br />
%o LEE UN NUMERO OCTAL<br />
%s LEE UNA CADENA DE CARACTERES<br />
%x LEE UN NUMERO HEXADECIMAL<br />
%p LEE UN PUNTERO<br />
Página 63 <strong>de</strong> 66
Anexo 5<br />
Algunas librerías que utiliza el lenguaje C.<br />
ALLOC.H MATH.H ASSERT.H MEM.H<br />
BIOS.H PROCESS.H CONIO.H SETJMP.H<br />
CTYPE.H SHARE.H DIR.H SIGNAL.H<br />
DOS.H STDARG.H ERRNO.H STDDEF.H<br />
FCNTL.H STDIO.H FLOAT.H STDLIB.H<br />
GRAPHICS.H STRING.H IO.H SYS\STAT.H<br />
LIMITS.H SYS\TIMEB.H SYS\TYPES.H VALUES.H<br />
TIME.H<br />
Página 64 <strong>de</strong> 66
NOMBRE DE ARCHIVO<br />
Anexo 6<br />
ARCHIVOS<br />
En C se utiliza doble diagonal invertida para separar el nombre <strong>de</strong> archivo <strong>de</strong>l<br />
nombre <strong>de</strong> carpeta.<br />
VALORES DE MODO.<br />
r Abre para lectura<br />
w Abre para crear nuevo archivo(si ya existe pier<strong>de</strong> sus datos)<br />
a Abre para añadir al final<br />
r+ Abre el archivo ya existente para modificar (leer/escribir)<br />
w+ Crea un archivo para escribir/leer(si ya existe se pier<strong>de</strong>n los datos)<br />
a+ Abre el archivo para modificar (escribir/leer) al final. Si no existe es como<br />
w+.<br />
El modo pre<strong>de</strong>terminado para un archivo es <strong>de</strong> texto. Para abrir un archivo en<br />
modo binario se aña<strong>de</strong> una “b” al argumento <strong>de</strong>l modo.<br />
ABRIR ARCHIVO.<br />
Para abrir un archivo se usa la función <strong>de</strong> biblioteca “fopen()”. Esta función se<br />
encuentra en la librería “stdio.h” y dice lo siguiente:<br />
fopen regresa un puntero a “FILE”, que es una estructura <strong>de</strong>clara en “stdio.h”. Si<br />
fopen falla, regresa “NULL”.<br />
ENTRADA Y SALIDA DE ARCHIVOS FORMATEADOS<br />
SALIDA FORMATEADA A ARCHIVOS<br />
Página 65 <strong>de</strong> 66
ENTRADA DE ARCHIVOS FORMATEADA<br />
ENTRADA PARA UN CARÁCTER<br />
ENTRADA Y SALIDA DE CARACTERES<br />
ENTRADA DE UNA CADENA DE CARACTERES<br />
SALIDA PARA UN CARÁCTER<br />
SALIDA DE UNA CADENA DE CARACTERES<br />
ENTRADA Y SALIDA DIRECTAS DE ARCHIVOS<br />
SALIDA DIRECTA DE ARCHIVOS<br />
ENTRADA DIRECTA DE ARCHIVOS<br />
ALGUNAS FUNCIONES QUE SE USAN EN ARCHIVOS<br />
FUNCION FEOF: Indica que se ha leído el fin <strong>de</strong> archivo. Está <strong>de</strong>finida en la<br />
librería “stdio.h”. Devuelve un valor distinto <strong>de</strong> 0 (true) cuando se lee el carácter <strong>de</strong><br />
fin <strong>de</strong> archivo, en caso contrario <strong>de</strong>vuelve 0 (falso).<br />
Página 66 <strong>de</strong> 66
FUNCION FSEEK: Con la función “fseek()” se pue<strong>de</strong> tratar un archivo en C como<br />
un arreglo que es una estructura <strong>de</strong> datos <strong>de</strong> acceso aleatorio. “fseek()” sitúa el<br />
puntero <strong>de</strong>l archivo en una posición aleatoria, <strong>de</strong>pendiendo <strong>de</strong>l <strong>de</strong>splazamiento y<br />
el origen relativo que se pasan como argumentos.<br />
Desplazamiento: Es el número <strong>de</strong> bytes a mover; tienen que ser <strong>de</strong> tipo long.<br />
Origen: Es la posición <strong>de</strong>s<strong>de</strong> la que se cuenta el número <strong>de</strong> bytes a mover. Pue<strong>de</strong><br />
tener tres valores, que son:<br />
0: Cuenta <strong>de</strong>s<strong>de</strong> el inicio <strong>de</strong>l archivo.<br />
1: Cuenta <strong>de</strong>s<strong>de</strong> la posición actual <strong>de</strong>l puntero al archivo<br />
2: Cuenta <strong>de</strong>s<strong>de</strong> el final <strong>de</strong>l archivo<br />
Estos tres valores están representados por tres i<strong>de</strong>ntificadores:<br />
FUNCION FTELL: La posición actual <strong>de</strong>l archivo se pue<strong>de</strong> obtener llamando a<br />
esta función y pasando un puntero l archivo como argumento. La función <strong>de</strong>vuelve<br />
la posición como número <strong>de</strong> bytes (en entero largo) <strong>de</strong>s<strong>de</strong> el inicio <strong>de</strong>l archivo<br />
(byte 0)<br />
Página 67 <strong>de</strong> 66