0% encontró este documento útil (0 votos)
123 vistas61 páginas

Manual de Prácticas: Programación I

Este manual presenta 13 prácticas relacionadas con la programación I. La primera práctica introduce los algoritmos y su uso para resolver problemas de manera sistematizada usando una computadora. La segunda práctica se enfoca en estructuras de control lineales en lenguaje natural y pseudocódigo. La tercera práctica trata sobre diagramas de flujo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
123 vistas61 páginas

Manual de Prácticas: Programación I

Este manual presenta 13 prácticas relacionadas con la programación I. La primera práctica introduce los algoritmos y su uso para resolver problemas de manera sistematizada usando una computadora. La segunda práctica se enfoca en estructuras de control lineales en lenguaje natural y pseudocódigo. La tercera práctica trata sobre diagramas de flujo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 61

Manual de prácticas

Programación I

2019

1
Directorio

M.A. José Eduardo Hernández Nava


Rector

Dr. Carlos Eduardo Monroy


Coordinador General de Docencia

M.C. Luis Fernando Mancilla Fuentes


Director General de Educación Media Superior

Autores
Mtro. Emmanuel Álvarez Mtro. Pedro Granero Mundo
Paredes
Mtro. Saúl Gutiérrez Díaz Mtro. Hugo López Hernández
Mtro. Raúl González Bernal Mtro. Amilcar David González
Bernal
Mtro. Manuel Rodolfo Morales Mtro. Hugo César Ponce
Suárez
Mtro. Oscar Israel González Arreola
Revisores
Hesed Sinai Cisneros Olivera
María Guadalupe Castillo Sainz
Elmer Genaro Rodríguez García

2
Índice
Presentación ...................................................................................................................... 4
Práctica 1: Algoritmo y el proceso en resolución de problemas al
sistematizarlo haciendo uso de una computadora.................................................. 5
Práctica 2: Aplica el modelo de resolución de problemas mediante una
computadora y realiza algoritmos que impliquen exclusivamente la estructura
de control lineal en lenguaje natural y en pseudocódigo. ..................................... 7
Práctica 3. Diagramas de flujo ..................................................................................... 9
Práctica 4. Entrada y salida de datos ........................................................................ 14
Práctica 5. Estructuras selectivas simples pseudocódigo y diagrama de flujo.
............................................................................................................................................. 20
Práctica 6. Estructuras selectivas simples programación en lenguaje c ........ 24
Práctica 7. Programación de estructuras decisiones anidadas. ........................ 28
Práctica 8. Programación de estructuras, decisiones anidadas utilizando
operadores lógicos. ....................................................................................................... 32
Práctica 9. Estructura selectiva múltiple. ................................................................. 36
Práctica 10. Introducción a la estructura de control repetitivas ........................ 41
Práctica 11. Programación de estructuras repetitivas simples. ......................... 45
Práctica 12. Programación de estructuras repetitivas anidadas ....................... 52
Práctica Integradora ...................................................................................................... 57

3
Presentación

El presente manual de prácticas tiene como objetivo apoyar el proceso de


aprendizaje en la materia de Programación I, misma que se encuentra ubicada en
el campo disciplinar de las Ciencias Experimentales.
Este manual es producto de un trabajo colegiado que ha sido desarrollado
por docentes expertos en la materia. Las actividades planteadas en este trabajo
están alineadas con los contenidos establecidos en el programa de estudios de la
materia, lo que da un total de 13 actividades relacionadas entre sí con congruencia
y secuencia lógica, de tal forma que favorecen el entendimiento y la comprensión
por parte del alumnado.
En ese sentido, la intención de este manual es contribuir al fortalecimiento de
los contenidos a través de la práctica en donde se incluyen diversas estrategias
didácticas que favorecen el trabajo individual y en equipo para el logro de las
competencias disciplinares y genéricas.

4
Práctica 1: Algoritmo y el proceso en resolución de problemas al
sistematizarlo haciendo uso de una computadora.

INVESTIGACIÓN PREVIA
Realiza una investigación documental de al menos 3 fuentes (bibliografía o
documentos en electrónicos) sobre la definición de algoritmo y las características que
debe de tener, citar en formato APA la información obtenida.

Antes de asistir a la clase práctica contesta los siguientes cuestionamientos.

1.- Con tus propias palabras genera una definición de algoritmo


____________________________________________________________________
______________________________________________________________
2.- ¿Para qué sirven los algoritmos en las resoluciones de problemas?
____________________________________________________________________
______________________________________________________________
3.- ¿Cuáles son las características que debe tener un algoritmo?
____________________________________________________________________
______________________________________________________________

OBJETIVO
Obtener conocimientos necesarios para la realización de un algoritmo sobre
estructuras de control que permitan identificar el manejo y solución de problemas
del entorno por medio de la actividad anterior.

MATERIALES Y RECURSOS NECESARIOS


Computadora
Software
Internet

INTRODUCCIÓN
En la programación el uso de los algoritmos ayuda a la resolución de problemas y
generalización de procesos, con lo cual podemos agilizarlos mediante el uso de una
computadora, un punto importante de los algoritmos es que estos deben de ser una
serie de operaciones detalladas y no ambiguas para ejecutar paso a paso de las
problemáticas que se quieren solucionar.

DESARROLLO DE LA PRÁCTICA:

Realiza un algoritmo que te ayude en las soluciones de los siguientes problemas


matemáticos:

5
1.- Encuentra el área de una circunferencia teniendo en cuenta el radio y la
constante pi=3.1416.
2.- Encuentra la suma de tres números consecutivos.
3.- Encuentra el área de un rectángulo.
4.- Determina el volumen de una caja de dimensiones A, B y C.
5.- para encontrar las soluciones de una ecuación cuadrática de la forma
ax2+bx+c=0
6.-Encuentra el volumen de un cubo de L lados.
7.- Encuentra la velocidad de un móvil que recorre una distancia (d) a un tiempo (t).
8.- Encuentra la fuerza aplicando la segunda ley de newton.
9.- Encuentra el área de un paralelogramo.
10.- Realiza un algoritmo para cambiar una llanta de automóvil.

CONCLUSIONES PERSONALES SOBRE EL USO DE LOS ALGORITMOS EN LA


SOLUCIÓN DE PROBLEMAS.
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________

6
Práctica 2: Aplica el modelo de resolución de problemas mediante
una computadora y realiza algoritmos que impliquen
exclusivamente la estructura de control lineal en lenguaje natural
y en pseudocódigo.

INVESTIGACIÓN PREVIA
Realiza una investigación documental de al menos 3 fuentes (bibliografía o
documentos en electrónicos) sobre las diferentes estructuras de control lineal.

1.-Con tus propias palabras describe las diferentes estructuras de control lineal y
sus características principales.
_________________________________________________________________
________________________________________________________________
2.- Da un ejemplo de la vida cotidiana donde se puedan aplicar las diferentes
estructuras de control lineal.
_________________________________________________________________
_________________________________________________________________

OBJETIVO
Obtener conocimientos necesarios para la realización de un algoritmo sobre
estructuras de control que permitan identificar el manejo y solución de problemas
del entorno por medio de la actividad anterior.

MATERIALES Y RECURSOS NECESARIOS


Computadora
Software
Internet

INTRODUCCIÓN
Las Estructuras de Control lineal son las secciones de construcción básicas que
cualquier programa que ayude a la solución de un problema. Las estructuras de
control lineal se pueden dividir en: la secuencial, la de selección y de la repetición.
Esta afirmación es correcta. Sin embargo, la mayoría de los algoritmos para la
solución de problemas toman en cuenta como estructuras de control lineal: la
secuencial, tres de selección y tres de repetición.

7
DESARROLLO DE LA PRÁCTICA:

Realiza un algoritmo que te ayude en las soluciones de los siguientes problemas


matemáticos relacionados con las estructuras de control lineal

1. Que imprima si es un número positivo


2. Que imprime si un valor está en el rango [100, 500 ] o no.
3. Que imprime el día de la semana que corresponde al valor leído.
4. Que calcula el promedio de calificaciones dadas hasta el ingreso dela
condición de introducir un (-1).
5. Que imprime el promedio de cinco calificaciones leídas de teclado.

CONCLUSIÓN

¿Qué aprendí?, ¿en qué me ayudaron los algoritmos para la solución de problemas
y a que dificultades me enfrenté?

________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________

8
Práctica 3. Diagramas de flujo

INVESTIGACIÓN PREVIA
Antes de asistir al centro de cómputo a realizar la práctica, es indispensable que realices
una investigación previa, necesaria para mejorar tu desempeño, guíate con las siguientes
preguntas:
• ¿Qué es un diagrama de flujo?
___________________________________________________________
________________________________________________
• ¿Qué utilidad se le da a los diagramas de flujo en la vida real?
___________________________________________________________
________________________________________________

• ¿Cuál es la diferencia entre diagrama de flujo y algoritmo?


___________________________________________________________
________________________________________________
• ¿Te ha ayudado la creación de diagramas de flujo para la resolución de problemas?,
¿En qué forma?
___________________________________________________________
________________________________________________

INTRODUCCIÓN

Un diagrama de flujo de datos (DFD), es una representación gráfica que


describe un proceso, sistema o algoritmo informático en cualquier actividad a
desarrollarse tanto en empresas industriales o de servicios. Se usan ampliamente
en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar
procesos que suelen ser complejos en diagramas claros y fáciles de comprender.
Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas
figuras para definir el tipo de paso, junto con flechas conectoras que establecen el
flujo y la secuencia.

Reglas para la creación de diagramas de flujo

• Los DFD deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
• Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que
indica la dirección que fluye la información procesos, se deben de utilizar
solamente líneas de flujo horizontal o verticales (nunca diagonales).
• Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del
diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se

9
debe tener en cuenta que solo se van a utilizar conectores cuando sea
estrictamente necesario.
• No deben quedar líneas de flujo sin conectar.
• Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el
uso de muchas palabras.
• Todos los símbolos pueden tener más de una línea de entrada, a excepción del
símbolo final.
• Solo los símbolos de decisión pueden y deben tener más de una línea de flujo
de salida.

OBJETIVO

Reconocer la simbología para resolver problemas a través de los diagramas de flujo


haciendo uso de las reglas respetando los pasos para la creación de las mismas.

MATERIALES Y RECURSOS NECESARIOS


• Computadora.
• Software para la creación de diagramas de flujo. Descargable en:
http://programas-instintoalternativo.blogspot.com/2011/02/dfd-portable.html

DESARROLLO DE LA PRÁCTICA

Apartado I.

Un DFD se conforma a través de símbolos, para ello, analiza la siguiente tabla e


investiga los símbolos y su definición de acuerdo a los nombres que aparecen
escritos:

Nombre Símbolo Definición

Inicio / Fin

Entrada / Salida

10
Imprimir

Decisión

Conector

Línea de flujo

Proceso

Apartado II.

El siguiente ejemplo DFD tiene como propósito calcular el área de un triángulo


(área_tr) solicitando la base (b) y la altura (h). Lo anterior haciendo uso de la
simbología inicio, entrada, proceso, salida y fin. A continuación, se presenta el
algoritmo (izquierda) y su diagrama de flujo (derecha):

11
Algoritmo:
Inicio del diagrama de flujo
Entrada:
Leer los datos b (base) y h
(altura)
Proceso:
Multiplicar b por h y el resultado
dividirlo entre 2 para asignarlo
a la variable área_tr
Salida:
Mostrar resultado de área_tr
Fin del diagrama de flujo

Con base en la simbología que en el Apartado I haz realizado y en el diagrama de


flujo ejemplo, realiza los siguientes ejercicios (tomados de la práctica 1 del manual),
para ello es importante que primero desarrolles el algoritmo y después el diagrama
de flujo:

1. Realiza un diagrama de flujo que calcule el área de un rectángulo.

2. Realiza un diagrama de flujo que determine el volumen de una caja de


dimensiones A, B y C.

3. Haciendo uso de cualquier método, realiza un diagrama de flujo para


encontrar las soluciones de una ecuación cuadrática de la forma ax2+bx+c=0

4. Realiza un diagrama de flujo que calcule el área de un paralelogramo.

12
CONCLUSIONES

Preguntas detonantes: ¿qué aprendí?, ¿en qué me ayudaron los diagramas de flujo
para aplicarlos en mi vida cotidiana?, ¿en qué me servirán los diagramas de flujo
para mi futuro profesional?

LISTA DE COTEJO PARA EVALUAR LA PRÁCTICA 3. DIAGRAMAS DE FLUJO.

Heteroevaluación

Criterio Si No

Utiliza un software para desarrollar los diagramas de


flujo pudiendo para obtener los resultados que solicita
la actividad 3.
Aplica la simbología respectiva en cada uno de los
ejercicios propuestos.
Realiza los algoritmos correspondientes a cada
diagrama de flujo
A través de los ejercicios, logra llegar a los resultados
esperados.

13
Práctica 4. Entrada y salida de datos

INVESTIGACIÓN PREVIA
Antes de asistir al centro de cómputo a realizar la práctica, es indispensable que realices
una investigación previa, necesaria para mejorar tu desempeño, guíate con las siguientes
preguntas:
• ¿Qué es un lenguaje de programación? ¿Para qué se utiliza?
____________________________________________________
____________________________________________________
• ¿Cuáles son las partes principales de un programa
en el lenguaje C? Descríbelas. __________________________
____________________________________________________
• ¿Qué son las funciones de entradas/salida? ¿Cómo se utilizan?
____________________________________________________
____________________________________________________
• ¿Qué funciones o comandos de entrada/salida son las más comunes en el lenguaje C?
Describe su sintaxis.
____________________________________________________
____________________________________________________

INTRODUCCIÓN

El lenguaje C es un lenguaje de programación orientado a objetos de medio nivel


que permite el desarrollo de múltiples tipos de programas funcionales en los
principales sistemas operativos como es Microsoft Windows, Mac OSX y Linux.
Programar en el lenguaje C exige concentración en la semántica del lenguaje,
aprendizaje de los fundamentos de un lenguaje de programación y pensamiento
profundo acerca de lo que sucede en el programa.
Un programa de C se constituye principalmente de 3 partes (Llamada de librerías,
cuerpo del programa, salidas). Considerando lo anterior el alumno toma el código
fuente entregado en esta práctica, lo coloca en su compilador, lo compila y lo ejecuta
para conocer el resultado y como se visualiza.
Partes principales de un programa:

Las funciones de entrada/salida son aquellas que transportan datos entre el


programa y la entrada y salida estándar (teclado y pantalla respectivamente). La
entrada/salida no forma parte del lenguaje C, si no que se proporciona a través de

14
una biblioteca de funciones. La biblioteca o librería donde se encuentran estas
funciones es <stdio.h>.
El lenguaje C tiene un extenso conjunto de funciones de biblioteca que ayudan a la
hora de introducir, procesar y mostrar los datos (para más información, pulsar en
"funciones de biblioteca").
La biblioteca <stdio.h> incluye una serie de comandos de entrada/salida. En esta
lección veremos seis de estas funciones:
Comando Acción
Getchar Entrada (lectura) de un carácter.
Putchar Salida (escritura) de un carácter.
Scanf Entrada (lectura) de datos.
Printf Salida (escritura) de datos.
Gets Entrada de cadenas de caracteres.
Puts Salida de cadenas de caracteres.

Por último, decir que el final de la entrada/salida se suele marcar con un caracter
especial llamado fin de fichero y simbolizado por EOF (End-Of-File). Esta constante
está definida en <stdio.h> y tiene el valor -1. Algunas de las funciones que veremos
devuelven el valor de EOF cuando leen el carácter de fin de fichero.

OBJETIVO
Desarrollar programas en lenguaje de programación C, haciendo uso de variables,
constantes, operadores aritméticos, reglas de jerarquía de operaciones, entrada y
salida de datos, así como el uso de comentarios, comprendiendo el flujo de entrada
y salida.

MATERIALES Y RECURSOS NECESARIOS


ü Computadora (por persona o en binas)
ü Entorno Integral de Desarrollo (Integrated Development Enviroments IDE)
Dev-C++

DESARROLLO DE LA PRÁCTICA
Apartado I.
El programa que se presenta a continuación permite a un usuario calcular el área
de un triángulo, por lo que solicita al usuario capture la base y la altura de un
triángulo y el programa hace el resto del cálculo.

15
La salida de este programa será la siguiente:

Antes de que inicies con a siguiente actividad, investiga las siguientes palabras o
comandos reservados del lenguaje C:
Float
__________________________________________________________________
__________________________________________________________________
____
__________________________________________________________________
__
Void
__________________________________________________________________
__________________________________________________________________
____
__________________________________________________________________
__
Return
__________________________________________________________________
__________________________________________________________________
____
__________________________________________________________________
__
Include

16
__________________________________________________________________
__________________________________________________________________
____
__________________________________________________________________
__
Apartado II.
a) Escribe en el compilador el código fuente del programa para calcular el área
de un triángulo mostrado en la actividad 1, ejecuta el programa y verifica que
obtengas la misma salida que se te presentó. En caso de algún error,
corrígelo (depúralo). Haz tus anotaciones.

Error encontrado Corrección realizada

b) Modifica el valor de “%f” en el comando Printf y reemplázalo por “%d” y por


“%i”, cuáles son tus resultados esperados (predicción) y cuáles son
resultados obtenidos; completa la tabla.

Carácter Resultado esperado Resultado obtenido


C
D
I
e

c) Realiza los ajustes necesarios en el código del programa para que ahora
calcule el área de un cuadrado. Escribe a continuación las modificaciones
que realizaste y haz una captura de pantalla de tus resultados.

Código anterior (área de un Código actualizado (área de un


triángulo) cuadrado)

Apartado III.
Escribe los programas que a continuación se solicitan, no olvides llamar a tu
profesor cuando los concluyas para su verificación, así como realizar las capturas
de pantalla del código fuente y el resultado de cada programa
a) Promediar tres calificaciones ingresadas por el usuario.
b) Calcular el Índice de Masa Corporal (IMC), la estatura y el peso corporal
serán datos proporcionados por el usuario.
c) Desglosar el I.V.A de un producto proporcionada por el usuario (cantidad
numérica), mostrando como resultado el costo del producto sin I.V.A y el
monto del I.V.A.

17
CONCLUSIONES
Redacta tus conclusiones completando la siguiente tabla:
De lo realizado en la De lo realizado en la ¿Qué se te dificultó,
práctica ¿qué práctica ¿qué quitarías o agregarías a
conocías? aprendiste? la práctica?
En el ámbito cotidiano y
profesional en qué lo
aplicarías?

REFERENCIAS
Universidad de Granada. (2019). Departamento de Ciencias de la Computación e
I.A. Obtenido de Departamento de Ciencias de la Computación e I.A.:
http://decsai.ugr.es/~jfv/ed1/c/cdrom/cap3/f_cap34.htm

LISTA DE COTEJO PARA EVALUAR LA PRÁCTICA 4. ENTRADA Y SALIDA DE


DATOS.
Auto - Co-
evaluación evaluación
Heteroevaluación
Criterio Si No Si No
Utiliza Entorno Integral de Desarrollo (Integrated
Development Enviroments IDE) para escribir programas así
como un procesador de texto para el reporte de la práctica.
Cumple con todas las actividades solicitadas en la práctica,
sin omitir ningún cuestionamiento, investigación o actividad.
Describe de manera escrita u oral el procedimiento seguido
para cumplir con cada investigación solicitada así como las
actividades de la presente práctica.
Durante la realización de la práctica participa en la
explicación o discusión dirigida por su profesor y comparte
sus opiniones con sus compañeros.

18
Cita las referencias consultadas para su investigación y
desarrollo de la práctica, así como comentar todo el código
fuente en los programas solicitados.
Redacta sus conclusiones partiendo de los que creía hasta
describir lo que aprendió, detallando en qué actividades de
su vida podría aplicar lo aprendido.
Expresa en las conclusiones cuales fueron sus dificultades
o ventajas para desarrollar la práctica así también comparte
cuales podrían ser actividades complementarias a la
práctica que lo beneficien personal y profesionalmente.
Total

19
Práctica 5. Estructuras selectivas simples pseudocódigo y
diagrama de flujo.

INVESTIGACIÓN PREVIA
Antes de asistir al centro de cómputo a realizar la práctica, es indispensable que
realices una investigación previa, guíate con las siguientes preguntas:
• ¿Qué son los operadores relacionales? ¿Para qué se utilizan?
__________________________________________________
__________________________________________________
• ¿Qué son los operadores lógicos? ¿Para qué se utilizan?
__________________________________________________
__________________________________________________
• ¿Qué es una estructura selectiva? ¿Para qué se utiliza?
__________________________________________________
__________________________________________________
• ¿Cuántos tipos de estructuras selectivas existen?
__________________________________________________
__________________________________________________

INTRODUCCIÓN.

Los problemas planteados hasta este momento no implican cuestionamientos


como: “qué pasa si realizo una determinada acción en lugar de otra”, “qué pasa si
el resultado de una operación es positivo o negativo”, lo anterior es con la finalidad
de tomar una decisión. Debido a esto, los algoritmos, en determinados momentos,
requieren ser selectivos en lo que respecta a las acciones que deben seguir,
basándose en una respuesta de un determinado cuestionamiento que se realizó
para la solución del problema planteado.
Por consiguiente, las estructuras selectivas son muy importantes para la creación
de algoritmos, por lo que, en la mayoría de los problemas se utilizan para seguir un
determinado flujo de secuencia en el problema planteado. Las estructuras selectivas
se clasifican en simples, dobles y múltiples.

ESTRUCTURAS SELECTIVAS SIMPLES

Las estructuras selectivas, también llamadas estructuras de control condicionales,


permiten evaluar una expresión lógica (condición que puede ser verdadera o falsa)
y, dependiendo del resultado obtenido, se ejecuta uno u otro flujo de instrucciones.
Este tipo de estructuras también se les conoce como mutuamente excluyentes, ya
que se ejecuta una acción o se ejecuta la otra. La estructura de control más simple
es la estructura condicional SI (IF).

20
Representación gráfica

Representación en pseudocódigo
SI Condición s
Instrucción 1
Instrucción 2
Instrucción 3
FIN_SI

Descripción del funcionamiento de la estructura selectiva simple


Durante la ejecución del código, al llegar a la evaluación de la condición si ésta
resulta cierta (verdadera), se ejecutan las instrucciones que existen dentro de la
instrucción “SI”, y si fuera falsa, se omiten todas esas instrucciones pasando
directamente a la instrucción “FIN_SI”.
Una condición es una expresión que se evalúa a cierto o falso. La condición puede
estar formada por una única expresión lógica, utilizando para ello operadores
relacionales, por ejemplo, z > y. O bien, puede ser la combinación de varias
expresiones lógicas, por ejemplo: (a>b && b>c) || (c>a). Las distintas expresiones
se combinan utilizando los operadores lógicos.

OBJETIVO
Comprender la estructura y funcionamiento de las estructuras selectivas simples, a
través de la resolución de problemas de cómputo básicos mediante su
representación gráfica y en lenguaje natural.

MATERIALES Y RECURSOS NECESARIOS


• Computadora
• Software editor de textos
• Software para la creación de diagramas de flujo

DESARROLLO DE LA PRÁCTICA
Apartado I.
Evalúa las siguientes expresiones lógicas tomando en consideración que A=5, B=3
y C=-12, finalmente, anota el resultado correspondiente (verdadero o falso):
a) A > 3 __________ h) A * B == -30 ________
b) A > C __________ i) C / B < A ___________
c) A < C__________ j) C / B == -10 _________
d) B < C __________ k) C / B == -4 __________
e) B != C _________ l) A + B + C == 5 ________
f) A == 3 __________ m) (A+B == 8) && (A-B == 2) ________
21
g) A * B == 15______ n) (A+B == 8) || (A-B == 6) __________

Apartado II.
Anota los operadores lógicos utilizados en las estructuras selectivas simples, en el
desarrollo de los diagramas de flujo y pseudocódigos.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

Anota los operadores relacionales utilizados en las estructuras selectivas simples,


en el desarrollo de los diagramas de flujo y pseudocódigos.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

Apartado III.
Desarrolla el pseudocódigo y diagrama de flujo utilizando el software indicado por
el profesor para resolver los siguientes problemas, al finalizar, deberás entregar al
profesor en el medio que indique (correo electrónico, plataforma educativa, etc.) los
diagramas de flujo y el pseudocódigo correspondiente para cada uno de los
problemas planteados.
Problemas:
1. Solicitar el ingreso de tres números enteros y sumarlos, si el resultado es
mayor o igual a 150 imprimir el resultado.
2. Solicitar la edad de una persona, y a partir de esto, indicar si es mayor de
edad.
3. Solicitar la calificación de las tres parciales de la materia de Programación I,
e indicar si el alumno presentará examen ordinario. Un examen se considera
como ordinario cuando el promedio de las tres parciales es menor que ocho.
CONCLUSIONES
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________

22
LISTA DE COTEJO PARA EVALUAR LA PRÁCTICA 5. ESTRUCTURAS
SELECTIVAS SIMPLES PSEUDOCÓDIGO Y DIAGRAMA DE FLUJO.
INDICADOR SI NO PUNTOS
Los archivos generados durante la elaboración de la
práctica fueron entregados con el nombre que indicó el
profesor, a través del medio señalado (correo, plataforma
educativa, etc.)
Los archivos generados durante la elaboración de la
práctica fueron entregados completos y a tiempo.
El estudiante analizó cada problema a resolver y planteó
maneras de resolverlo.
El pseudocódigo funciona en su totalidad y todas las
variables se encuentran declaradas.
El diagrama de flujo funciona en su totalidad, todas las
variables se encuentran declaradas, y corresponde
íntegramente al pseudocódigo entregado.
El pseudocódigo se encuentra totalmente identado.
El estudiante realiza un pseudocódigo y un diagrama de
flujo utilizando las estructuras selectivas simples para
resolver el problema planteado.
El estudiante cumple con todas las actividades indicadas
en la práctica.
Todos los archivos entregados son de autoría propia, y no
existe evidencia alguna de haberlos copiado de algún otro
medio.
TOTAL=

23
Práctica 6. Estructuras selectivas simples programación en
lenguaje c.
INVESTIGACIÓN PREVIA
Antes de asistir al centro de cómputo a realizar la práctica, es indispensable que
realices una investigación previa, guíate con las siguientes preguntas:
• ¿Qué operadores lógicos se utilizan en el lenguaje C?
__________________________________________________
__________________________________________________
• ¿Qué operadores relacionales se utilizan en el lenguaje C?
__________________________________________________
__________________________________________________
• ¿Cuántos tipos de estructuras selectivas existen en el lenguaje C?
__________________________________________________
__________________________________________________

INTRODUCCIÓN
Las estructuras de control de flujo en un lenguaje de programación determinan el
orden en el que se realiza la ejecución de las instrucciones.
Las estructuras selectivas (o condicionales) permiten realizar una u otra acción con
base en una expresión lógica. Las acciones a realizar son mutuamente excluyentes,
esto significa que, solo se puede ejecutar una a la vez dentro de toda la estructura.
El lenguaje de programación C posee las siguientes estructuras de selección: if, if-
else y switch.

ESTRUCTURA DE CONTROL SELECTIVA SIMPLE(IF)


Esta estructura es aquella que después de evaluar una expresión determina su
valor: verdadero o falso, y solo si el resultado de la condición es verdadero se
ejecutará el conjunto de instrucciones que contiene, este tipo de estructura es la
más simple, su sintaxis es la siguiente:

1.
if(expresión_logica_a_evaluar)
//Instrucción a ejecutar;
2.
if(expresión_logica_a_evaluar)
{
//Conjunto de instrucciones a ejecutar
}

El alcance predeterminado para una estructura de control es de una instrucción,


como se muestra en la primera forma, cuando se requiere que se ejecuta más de
una, las instrucciones deberán agruparse mediante llaves, tal como se aprecia en
la segunda forma.
24
A continuación, se muestra un ejemplo de funcionamiento:

OBJETIVO
Elaborar programas en el lenguaje de programación C para la resolución de
problemas básicos de computadora mediante un entorno de desarrollo integrado,
que incluyan las estructuras de selección selectivas simples.

MATERIALES Y RECURSOS NECESARIOS


• Computadora
• Entorno de desarrollo integrado que soporte lenguaje C

DESARROLLO DE LA PRÁCTICA
Apartado I.
Anota los operadores lógicos utilizados en lenguaje C con una breve descripción de
su implementación.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Anota los operadores relacionales utilizados en lenguaje C con una breve
descripción de su implementación.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

Apartado III.
Desarrollar el diagrama de flujo, pseudocódigo y programa en lenguaje C utilizando
el software indicado por el profesor para resolver los siguientes problemas, al
finalizar, deberás entregar al profesor en el medio que indique (correo electrónico,
25
plataforma educativa, etc.) los archivos correspondientes para cada uno de los
problemas planteados.
Problemas:
1. Una persona compra 5 pantalones en una tienda comercial. Existe la oferta
de que, si la compra supera los 550 pesos, se le hace un descuento del 10%.
Mostrar el monto a pagar.
2. Solicitar un numero entero y determinar si es par o impar imprimiendo un
mensaje en pantalla.

CONCLUSIONES
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________

26
LISTA DE COTEJO PARA EVALUAR LA PRÁCTICA 6. ESTRUCTURAS
SELECTIVAS SIMPLES PROGRAMACIÓN EN LENGUAJE C.
INDICADOR SI NO PUNTOS
Los archivos generados durante la elaboración de la práctica
fueron entregados con el nombre que indico el profesor,
completos y a tiempo, a través del medio señalado (correo,
plataforma educativa, etc.)
El estudiante analizó cada problema a resolver y planteó
maneras de resolverlo.
El pseudocódigo funciona en su totalidad y todas las
variables se encuentran declaradas.
El diagrama de flujo funciona en su totalidad y todas las
variables se encuentran declaradas.
El programa en lenguaje C funciona en su totalidad, todas
las variables se encuentran declaradas, y corresponde
íntegramente al pseudocódigo y diagrama de flujo
entregados.
El pseudocódigo y el código fuente en lenguaje C se
encuentran totalmente identados.
El estudiante realiza un pseudocódigo, un diagrama de flujo
y un programa en lenguaje C utilizando las estructuras
selectivas simples para resolver el problema planteado.
El estudiante cumple con todas las actividades indicadas en
la práctica.
El estudiante utiliza un Entorno de Desarrollo Integrado (IDE)
para resolver el problema planteado mediante código fuente
en lenguaje C.
Todos los archivos entregados son de autoría propia, y no
existe evidencia alguna de haberlos copiado de algún otro
medio.
TOTAL=

27
Práctica 7. Programación de estructuras decisiones anidadas.

INVESTIGACIÓN PREVIA
Antes de asistir al centro de cómputo a realizar la práctica, es indispensable que
realices una investigación previa, guíate con las siguientes preguntas:

• ¿Cuál es tu interpretación de una decisión múltiple?


___________________________________________________________
___________________________________________________________
• ¿Qué son las decisiones anidadas?
___________________________________________________________
___________________________________________________________
• Realiza la interpretación de una decisión múltiple mediante un
pseudocódigo.
___________________________________________________________
___________________________________________________________

INTRODUCCIÓN
La estructura selectiva anidada es aquella que evalúa una condición si es verdadera
realiza una acción o grupo de acciones y si es falsa ejecuta diferentes tipos de
acciones de igual manera.
Las decisiones anidas nos ayudan a simplificar la evaluación de diferentes rangos
de valores, considerando las posibles vías en el desarrollo de distintas
problemáticas.

OBJETIVO
Comprobar el funcionamiento y estructura de los condicionales anidados, siendo
necesaria el desarrollo de diagramas de flujo y la programación en lenguaje C,
aplicadas en diferentes contextos.

IDEAS PREVIAS
El proceso de implementación de la programación estructurada realiza el control de
decisión anidas, permitiendo análisis de la comparación entre dos o más datos,
ingresando a la opción verdadera desarrollando una determinada acción, sí, esta es
falsa ingresar a otra decisión volviendo a evaluar la nueva condición. La estructura
del pseudocódigo como del diagrama de flujo se desarrollan de la siguiente manera:

28
if (condición)
Instrucción
else if (condición)
Instrucción
else if (condición)
Instrucción

Materiales y recursos
• Equipo de cómputo.
• Editor de texto (Visual Studio Code, DevC++).
• Editor para crear diagramas de flujo.

DESARROLLO DE LA PRÁCTICA
Actividad 1
Identifica qué realiza el siguiente diagrama de flujo y explícalo a continuación.
Además, completa el programa respectivo.

29
Realiza la explicación del diagrama de flujo anterior
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Actividad 2
Realiza la interpretación del siguiente programa, completando los
espacios en blanco correspondientes. Ordenamiento de 3 números
enteros de mayor a menor:

Menciona las características que debiste seguir en el desarrollo del programa


anterior.
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________

30
Actividad 3
Desarrolla los diagramas de flujo correspondientes y los programas a cada uno de
ellos en lenguaje C, mediante el editor de software que el docente indique y realiza
la entrega por medio de la plataforma educativa que se te solicite:
1. Lee 5 número e imprime el menor de ellos.
2. Lee un número entero (entre 0 y 32,700) e imprime el número de cifras de
dicho número.
3. Oprime una tecla e imprime qué tipo de tecla es (letra mayúscula, letra
minúscula, dígito o carácter especial) verifica la tabla del ASCII.
CONCLUSIONES
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________
_________________________________________________________________________

31
Práctica 8. Programación de estructuras, decisiones anidadas
utilizando operadores lógicos.

INVESTIGACIÓN PREVIA
Antes de asistir al centro de cómputo a realizar la práctica, es indispensable que
realices una investigación previa, guíate con las siguientes preguntas:

• ¿Qué es un operador lógico?


___________________________________________________________
___________________________________________________________
• ¿Cuáles son los tipos de operadores lógicos?
___________________________________________________________
___________________________________________________________
• ¿Qué características internas realiza un operador lógico?
_________________________________________________________________________
_________________________________________________________________________

INTRODUCCIÓN
Los operadores lógicos son aquellos que permiten realizar una evaluación
de dos o más decisiones en un sólo condicional, que dependerán el camino a
seguir sí las o la decisión es cumplida o no.

IDEAS PREVIAS
Los operadores lógicos en el lenguaje C, están constituidos de la siguiente
manera:
Operador Descripción Caracteres en C
AND Verdadero sólo si los dos elementos
&&
son verdaderos.
OR Verdadero si cualquiera de los
||
elementos es verdadero.
NOT Cambia el valor de Falso a Verdadero y
!
viceversa.
Uso de los operadores lógicos mediante pseudocódigo y diagrama de flujo
And OR NOT
if (condición y condición) if (condición o condición) if ( no (condición))
Instrucción Instrucción Instrucción
else if (condición y else if (condición o else if (no (condición))
condición) condición) Instrucción
32
Instrucción Instrucción else if (no (condición))
else if (condición y else if (condición o Instrucción
condición) condición)
Instrucción Instrucción

El diagrama de flujo correspondiente al operador lógico AND

OBJETIVO

Desarrollar programas aplicando la estructura de las decisiones múltiples, utilizando


los operadores lógicos en diferentes contextos.

MATERIALES Y RECURSOS NECESARIOS


• Equipo de cómputo.
• Editor de texto (Visual Studio Code, DevC++).
• Editor para crear diagramas de flujo.

33
DESARROLLO DE LA PRÁCTICA
Actividad 1
Observa con atención el siguiente programa en C y contesta las siguientes
preguntas.

1. ¿Cuál es el objetivo del programa?


__________________________________________________________________
__________________________________________________________________
2. ¿Qué tipo de valores utiliza las variables x,y?
__________________________________________________________________
__________________________________________________________________

3. Al dar un valor 3 a la variable x ¿Qué resultado se imprime?


__________________________________________________________________
__________________________________________________________________

4. ¿En qué ayuda la librería math.h y por qué?


__________________________________________________________________
__________________________________________________________________
5. ¿Explica detalladamente la funcionalidad de la palabra reservada pow?
__________________________________________________________________
__________________________________________________________________

34
Actividad 2
Desarrolla los diagramas de flujo correspondientes y los programas a cada uno de
ellos en lenguaje C, mediante el editor de software que la docencia indique y realiza
la entrega por medio de la plataforma educativa que se te indique:
1. Al recibir como dato el salario de un profesor de una universidad, calcula el
incremento del sueldo de acuerdo con el siguiente criterio e imprime el nuevo
salario del profesor.
a. 𝑆𝑎𝑙𝑎𝑟𝑖𝑜 < $8,000 => 𝑖𝑛𝑐𝑟𝑒𝑚𝑒𝑛𝑡𝑎 12%
b. 8,000 ≤ 𝑠𝑎𝑙𝑎𝑟𝑖𝑜 ≤ $15,000 => 𝑖𝑛𝑐𝑟𝑒𝑚𝑒𝑛𝑡𝑎 8%
c. 15,000 < 𝑠𝑎𝑙𝑎𝑟𝑖𝑜 ≤ $20,000 => 𝑖𝑛𝑐𝑟𝑒𝑚𝑒𝑛𝑡𝑎 7%
d. 25,000 < 𝑠𝑎𝑙𝑎𝑟𝑖𝑜 => 𝑖𝑛𝑐𝑟𝑒𝑚𝑒𝑛𝑡𝑎 6%

2. Al recibir como dato tres números reales, identifica cuál es mayor.


Considerando que los números pueden ser iguales.
3. Leer hora, minuto y segundo (en formato 0-23 horas) y que muestre un
segundo más a la hora ingresada. Ejemplo h:22; m:59; s:59. Salida del
programa => h:23; m:0; s:0

CONCLUSIONES
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

35
Práctica 9. Estructura selectiva múltiple.

INTRODUCCIÓN
En la generación de un algoritmo, en diversas situaciones se requiere poder tener
varios caminos de ejecución o secuencia, de acuerdo a los posibles valores que
puedan tener las diferentes variables que se vean relacionadas en el proceso. Por
ello se hace necesaria la implementación de las estructuras selectivas, que brindan
al programador, posibles cambios en el flujo de la ejecución de un algoritmo.
En prácticas anteriores ya se identificó el uso de la estructura condicional simple,
que nos brinda dos posibles caminos de ejecución, y que en su versión anidada
podemos hacer múltiples estas posibles vías. Además, se verificó el uso de
operadores lógicos para interrelacionar la veracidad o falsedad de más de una
variable.
Ahora revisaremos el uso de la estructura selectiva múltiple de programación en el
Lenguaje C, que, en su sintaxis misma, ya nos permite la interacción de dos o más
posibilidades al condicionar el posible valor de una variable de tipo entera o de tipo
carácter.
La estructura SWITCH condicionará el posible valor de una variable de tipo int o
char, en uno o más casos que podamos determinar para la ejecución de
instrucciones, además de poder ejecutar una opción en caso de que todos los casos
hayan sido falsos.
A continuación, se muestra la sintaxis de la estructura SWITCH:
switch(variable int o char){
case valor1:
<instrucciones>
break;
case valor2:
<instrucciones>
break;

case valorN:
<instrucciones>
break;
default:
<instrucciones>
}

Las palabras en negritas son las palabras reservadas de la estructura que se


deberán escribir tal cual al momento de utilizarlas. Las demás palabras se tendrán
que cambiar por lo correspondiente que se indica de acuerdo a la variable con sus
posibles valores que formen cada uno de los casos.

Se identifica que con esta estructura se podrán implementar varios casos, hasta N
casos de ejecución de acuerdo al posible valor que pueda contener la variable
36
analizada. De igual manera se observa la opción por default, que se ejecutará
siempre y cuando todos los previos casos hayan sido falsos.

Una diferencia importante con la estructura selectiva IF vista en prácticas anteriores,


es que en el paréntesis inicial no se utilizará una condición o comparación en busca
de un resultado Verdadero o Falso. En el SWITCH solo se colocará la variable de
tipo int o char a condicionar.

OBJETIVO
Programar algoritmos en Lenguaje C, que implementen el uso de la estructura
selectiva múltiple SWITCH para resolver problemas que impliquen dos o más
caminos de ejecución.

METODOLOGÍA
El estudiante realizará la práctica a partir del análisis de la temática previamente
interactuada con el profesor y sus mismos compañeros en las sesiones que se
determinen.
A partir de ello, se solicita realizar cada una de las actividades aquí presentes con
el fin de adentrarse y apropiarse en el uso de la estructura selectiva múltiple. El
trabajo a desarrollar debe realizarse en el transcurso de las dos horas clases
determinadas a realizar la práctica.
Se sugiere que la práctica se realice en la interacción de binas, con el compañero
que tenga al lado en las mesas del centro de cómputo, para poder intercambiar
ideas y opiniones entre pares, además de poder comparar sus resultados.
Como apoyo puede utilizarse cualquier recurso que el estudiante tenga a su
disposición, tales como sus apuntes escolares o los de sus compañeros, además
de recursos digitales que pueda acceder del Internet.
Se espera que el estudiante forme una idea completa de cómo implementar el
SWITCH, por ello al final se le solicitará demuestre sus evidencias que serán
medidas ya sea con heteroevaluación o coevaluación.

MATERIALES Y RECURSOS NECESARIOS


- Equipo de Cómputo.
- Compilador de Lenguaje C.
- Apuntes escolares.

DESARROLLO DE LA PRÁCTICA
ACTIVIDAD 1
Analiza el siguiente programa y responde las preguntas que le continúan:
#include <stdio.h>
int main(
char letra;
printf(“Teclea una letra: ”);
scanf(“%c”,&letra):
switch{

37
case ‘a’:
printf(“Es una vocal”);
break;
case ‘e’:
printf(“Es una vocal”);
break;
case ‘i’:
printf(“Es una vocal”);
break;
case ‘o’:
printf(“Es una vocal”);
break;
case ‘u’:
printf(“Es una vocal”);
break;
default:
printf(“Es consonante”);
}
)

¿Cuál es el propósito del algoritmo?


__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

¿Qué característica en la escritura debe tener el valor de cada caso al condicionar


una variable de tipo char?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
¿Cuál es el formato para los valores de tipo char?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
¿Qué funcionalidad tiene la opción “default:”?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

38
ACTIVIDAD 2
En la siguiente tabla se muestra una lista de estudiantes con su grupo y cuenta de
correo.
NOMBRE GRUPO CORREO
1. Pedro Estrada 3° A [email protected]
2. Karla García. 3° C [email protected]
3. Perla Sánchez. 3° D [email protected]
4. Antonio Pérez. 3° B [email protected]
5. Ana Valdez. 3° A [email protected]

Realiza un programa en Lenguaje C, que:


1. Muestre el listado de los nombres de los estudiantes.
2. Pida por teclado el número (int) de estudiante que desea saber sus datos.
3. Mostrar en pantalla a qué grupo pertenece el estudiante y cuál es su correo.
4. Si el número brindado no es parte de la lista de estudiantes, indicar que es
un valor no válido.
Incluir la captura de pantalla respectiva de la ejecución exitosa del programa.
ACTIVIDAD 3
Desarrolla el siguiente programa:
1. Mostrar un menú de opciones con las cuatro operaciones aritméticas (1.
Suma, 2. Resta, 3. Multiplicación, 4. División).
2. Solicitar al usuario ingresar dos valores enteros, y preguntar ¿cuál número
de opción desea realizar?
3. Según la opción seleccionada, realizar la operación correspondiente y
mostrar el resultado.
Incluir la captura de pantalla respectiva de la ejecución exitosa del programa.
Nota: el programa de la Actividad 3 puede cambiar, de acuerdo a la selección de
ejercicio que el profesor de clase decida.

RESULTADOS
El profesor indicará la manera de la entrega de las 3 evidencias que se generan
en cada una de las tres actividades de la práctica.

CONCLUSIONES
Responde las siguientes preguntas:
¿Cuál es la utilidad de la estructura selectiva múltiple SWITCH?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

39
¿Cuál es la diferencia entre la estructura IF y SWITCH?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Menciona un ejemplo de algoritmo donde se pudiera implementar el uso de
SWITCH:
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
CONCLUSIONES PERSONALES:
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

LISTA DE COTEJO PARA EVALUAR LA PRÁCTICA 9. ESTRUCTURA


SELECTIVA MÚLTIPLE.

INDICADORES Si No PUNTOS
Durante la sesión se mostró participativo, 1
colaborativo y atento a las actividades
desarrolladas.
En la actividad 1 presenta todas las respuestas 1
correctas.
La actividad 2 puede ejecutarse sin errores y 1
resuelve el algoritmo.
La actividad 3 cubre los 3 requisitos planteados en 1
la actividad.
La actividad 3 se puede ejecutar sin errores y 2
resuelve el problema.
Para la Actividad 2 y 3 utiliza el Entorno de 1
Desarrollo de Software que el profesor indicó.
Redacta sus conclusiones congruentes con las 1
resultados de las actividades que realizó.
El ejemplo que menciona en sus tiene relación con 1
la estructura Switch.
Añade sus comentarios y observaciones 1
personales.

40
TOTAL

Práctica 10. Introducción a la estructura de control repetitivas

INTRODUCCIÓN
En el diseño de algoritmos puede presentarse la escritura de instrucciones similares
o con el mismo patrón de lógica aplicada durante la generación del código fuente, o
en su caso, la extensión del mismo puede ser larga y tediosa, generando una lectura
complicada para el autor y los demás posibles actores. Por ello se hace necesario
realizar el diseño de los algoritmos de una manera simplificada, con la menor
cantidad de instrucciones posible, que permita reducir los tiempos en escritura y
ejecución.
Como una solución a ello se implementan las estructuras de control repetitivas,
también llamados ciclos, que permitirán al programador la repetición de
instrucciones las veces que sean necesarias y del tipo de instrucciones que sean,
como por ejemplo instrucciones de lectura, de escritura, de procesamiento
aritmético, estructuras selectivas o hasta un mismo ciclo dentro de otro.
Existen varias formas de representar los ciclos en los pseudocódigos y en los
diagramas de flujo. A continuación, te presentamos algunas representaciones del
algoritmo de imprimir 100 veces la frase “HOLA MUNDO”:
DIAGRAMA DE FLUJO
N
PSEUDOCÓDIGO i =1 i<=10
00
i=1
S
hacer
imprimir(“HOLA MUNDO”) “HOLA
i=i+1 MUNDO
mientras(i<=100) ”

i=i+1

DIAGRAMA DE FLUJO

i=
1
i < = 100

i+
+
41
“HOLA
MUNDO”
OBJETIVO
Diseñar algoritmos en pseudocódigo y diagrama de flujo que requieran la repetición
de instrucciones.

MATERIALES Y RECURSOS NECESARIOS


- Equipo de Cómputo.
- Software editor de textos.
- Software para el diseño de diagramas de flujo.
- Apuntes escolares.

DESARROLLO DE LA PRÁCTICA
El estudiante realizará la práctica a partir del análisis de la temática previamente
interactuada con el profesor y sus mismos compañeros en las sesiones que se
determinen.
A partir de ello, se solicita realizar cada una de las actividades aquí presentes con
el fin de adentrarse y apropiarse en el uso de los ciclos en programación. El trabajo
a desarrollar debe realizarse en el transcurso de las dos horas clases determinadas
a realizar la práctica.
Se sugiere que la práctica se realice en la interacción de binas, con el compañero
que tenga al lado en las mesas del centro de cómputo, para poder intercambiar
ideas y opiniones entre pares, además de poder comparar sus resultados.
Como apoyo puede utilizarse cualquier recurso que el estudiante tenga a su
disposición, tales como sus apuntes escolares o los de sus compañeros, además
de recursos digitales que pueda acceder del Internet.
Se espera que el estudiante identifique la utilidad de repetir la ejecución de las
instrucciones como herramienta en la resolución de un algoritmo, por ello al final se
le solicitará demuestre sus evidencias que serán medidas ya sea con
heteroevaluación o coevaluación.

Actividad 1.
Variable contador
Define que es una variable contador:
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
Representa un pseudocódigo que mande a salida a pantalla los primeros 100
números naturales.

Actividad 2.
Variable acumulador
Define que es una variable acumulador:

42
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
Representa un pseudocódigo que mande a salida a pantalla la sumatoria de los
primeros 100 números naturales.

Actividad 3.
Representa el siguiente ejercicio en Pseudocódigo y en Diagrama de Flujo.
- Solicitar al usuario un valor entero e indicar si es un número primo o no.

RESULTADOS
El profesor indicará la manera de la entrega de las 3 evidencias que se generan
en cada una de las tres actividades de la práctica.

CONCLUSIONES
¿Cuál es la funcionalidad de un ciclo en un algoritmo?
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
Según lo practicado, ¿qué herramienta para representar algoritmos (pseudocódigo
o diagrama de flujo) te resultó más entendible y fácil de utilizar? y ¿por qué?
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
Menciona un algoritmo ejemplo donde utilizarías un ciclo para su solución.
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
________________________________________________________
Anexa comentarios y observaciones generales sobre la práctica
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

43
LISTA DE COTEJO PARA EVALUAR LA PRÁCTICA 10. INTRODUCCIÓN A LA
ESTRUCTURA DE CONTROL REPETITIVAS.

INDICADORES Si No PUNTOS
Durante la sesión se mostró participativo, 1
colaborativo y atento a las actividades
desarrolladas.
En la actividad 1 responde a la pregunta y muestra 1
el pseudocódigo resolviendo el problema.
En la actividad 2 responde a la pregunta y muestra 1
el pseudocódigo resolviendo el problema.
El pseudocódigo de la actividad 3 resuelve el 1
problema
El diagrama de flujo de la actividad 3 es 2
representado con las figuras y los flujos correctos y
además resuelve el problema
Utiliza el software de diseño de diagramas de flujo 1
que el profesor indicó.
Redacta sus conclusiones congruentes con las 1
resultados de las actividades que realizó.
El ejemplo que menciona en sus Conclusiones 1
contiene elementos relacionados con los ciclos.
Añade sus comentarios y observaciones 1
personales.
TOTAL

44
Práctica 11. Programación de estructuras repetitivas simples.

INTRODUCCIÓN

Las estructuras de control repetitivas (bucles) son un conjunto de instrucciones que


se repiten hasta que se cumpla una determinada condición de salida. Por lo tanto,
las estructuras de control permiten crear aplicaciones software con mayor
inteligencia puesto que se toman decisiones o se repiten acciones en función de un
conjunto de variables (González, 2016)

-CONOCIMIENTOS PREVIOS
Bucle El bucle es un conjunto de instrucciones que se repiten.
Interacción Es cada una de las veces que se ejecuta el bucle.
Un contador es una variable cuyo valor incrementa o decrementa
en una cantidad fija y se utiliza para contabilizar el número de
veces que se desea una operación o grupo de operaciones.
Un contador toma un valor inicial antes de empezar sus funciones
Contador
y se debe codificar en el siguiente formato:
Cont = Cont + 1
Cont = Cont – 1
Donde Cont es el nombre de tu variable contador.
Un acumulador se encarga de almacenar en una variable el
resultado de una o varias operaciones matemáticas que se
encuentran dentro de una sentencia repetitiva, para obtener un
total acumulado.
Acumulador Un acumulador se debe inicializar a cero (0) en caso de suma y
en uno (1) en caso de producto y se codifica bajo el siguiente
formato:
Acum = Acum + Variable
Acum = Acum * Variable

Existen diferentes tipos de estructuras de control (bucles o ciclos), los cuales


describiremos a continuación:

Mientras (While)

En esta sentencia el cuerpo de instrucciones que forman el ciclo se repite mientras


que la condición sea verdadera. En el momento que la condición se convierte en
falsa el ciclo termina.
Su formato general es:
While condición
{
Instrucciones del ciclo
45
Instrucciones del ciclo
…..
}

Si la condición de la estructura while no se cumple desde un primer momento, las


instrucciones del ciclo no se ejecutan ninguna vez. Es decir, en una estructura while,
el ciclo puede ejecutarse cero o más veces.

Repetir hasta (Do while)

Al igual que en la sentencia while, el cuerpo de instrucciones que conforman el ciclo


de esta estructura se repite mientras que la condición sea verdadera. En el momento
que la condición se convierta en falsa el ciclo termina.

La diferencia de esta estructura con la anterior radica en que, si la condición no se


cumple desde un primer momento, el ciclo se habrá ejecutado una sola vez. Es
decir, en la estructura Do-while el ciclo se puede ejecutar una o más veces.
Su formato general es:
Do
{
Instrucciones del ciclo
Instrucciones del ciclo
…..
} while condición;

Desde o Para (For)

Esta estructura es una de las más usadas para repetir una secuencia de
instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se
quiere que se ejecuten dichas instrucciones.
Su formato general es:
For (inicialización, condición, incremento)
{
Instrucciones del ciclo
Instrucciones del ciclo
…..
}

En la inicialización se le da valor a una variable que servirá de contador, para


controlar así el número de veces que debe repetirse el ciclo.

En el apartado de condición se coloca una condición que determina el momento en


el que el ciclo dejará de repetirse. En el momento que la condición no se cumpla, el
ciclo parará. La condición normalmente dependerá de alguna manera de la variable
inicializada.

46
En el incremento se coloca una instrucción que modifique el valor de la variable
contador.

Instrucciones break y continue.

Estas dos instrucciones se suelen utilizar dentro del ciclo For. Cuando se coloca la
instrucción break el ciclo se rompe inmediatamente y el flujo del programa pasa a la
primera instrucción que se encuentra después del ciclo.

La instrucción continue rompe el funcionamiento del ciclo al igual que hace la


sentencia break. En este caso, en lugar de salirse del ciclo lo que sucede es que se
salta las interacciones. Es decir, cuando se ejecuta la instrucción continue no se
ejecutan las instrucciones posteriores a ésta dentro del ciclo, sino que se regresa a
la comprobación de la condición (siguiendo con el incremento del contador).

OBJETIVO
Desarrollar programas que impliquen el uso de estructuras de control repetitivas
simples mediante el uso de los ciclos “While”, “Do While” y “For”, así como, las
instrucciones “break” y “continue”.

MATERIALES Y RECURSOS NECESARIOS


• Equipo de cómputo
• Editor de textos (Visual Studio Code, DevC++, CodeBocks)

DESARROLLO DE LA PRÁCTICA

Consideraciones previas

Para llevar a cabo la solución de cualquier ejercicio será importante lo


siguiente:

1. Lo primero y más importante es leer el enunciado, tantas veces sea


necesario para que quede claro lo que se pide.

2. Realizar el análisis del problema. En este apartado se plasma con un


lenguaje natural, los diferentes procesos que tendríamos que llevar a
cabo y en caso de ser necesario, describir la o las funciones de las
variables más importantes.

3. Una vez hecho lo anterior, se procede a elaborar el código fuente


compilado en devC++.

a. Siempre será importante realizar varias pruebas con diferentes


valores al momento de ejecutar el programa, es decir, debemos
47
estar seguros que, si “el usuario” ingresa un valor inapropiado, el
programa lo detectaría y podría mostrar un mensaje en pantalla a
manera de advertencia y con esto evitar un error que obligue a la
interrupción del mismo.

Ejercicio 1.0 (Ejemplo resuelto)

Utilizando el ciclo “While”, desarrolle el diagrama de flujo y el código en lenguaje


C que le permita realizar la escritura en pantalla de los primeros 100 números
naturales.

1. Análisis. 2. Diagrama de Flujo.

Para poder escribir los primeros 100


números primero se deben generar
dichos valores, una forma de
generarlos es primero se declara una
variable que se inicie con un valor: 1
(int cont=1;) el cual sería el primer
valor a escribir y esta misma variable
al término del proceso quedaría en
100 que sería el último número a
escribir. Obviamente se necesitará
una variable que se usará como
contador para que realice un
incremento de uno en uno.

3. Código compilado en devC++

#include<iostream.h>
#include<conio.h >

Void main()
{
int cont=1; // se inicializa cont (contador) en 1
cout<<"Los primeros 100 números naturales";

while(cont<=100) // mientras que cont sea menor o igual a 100


{
cout<<cont; // imprime en pantalla el valor de la variable cont
cont=cont+1; // aumenta la variable cont en uno
48
};

cout<<"Aquí ya salió del ciclo”; // primera instrucción después del ciclo


getch(); // espera en pantalla hasta presionar cualquier tecla
}

Ejercicio 1.1
Utilizando el ciclo “Do – while”, desarrolle el diagrama de flujo y un programa que le
permita realizar la escritura en pantalla de los primeros 100 números naturales.
Realiza primero el análisis, después el diagrama de flujo y al final el código.

Ejercicio 1.2
Utilizando el ciclo “For”, desarrolle el diagrama de flujo y un programa que le permita
realizar la escritura en pantalla de los primeros 100 números naturales. Realiza
primero el análisis, después el diagrama de flujo y al final el código.

Ejercicio 2.0
Utilizando el ciclo “For”, “While” y “Do While” desarrolle el diagrama de flujo y un
programa que le permita realizar la suma de los N números impares de los primeros
100 números naturales. Realiza el análisis, después el diagrama de flujo y al final el
código.

Ejercicio 3.0
Utilizando el ciclo “For”, “While” y “Do While” desarrolle el diagrama de flujo y un
programa que calcule el promedio de los primeros 100 números naturales. Realiza
el análisis, después el diagrama de flujo y al final el código.

Ejercicio 4.0
Utilizando el ciclo de su preferencia, desarrolle el diagrama de flujo y un programa
que permita leer un valor entero positivo N y calcule la factorial de ese número. No
olvides incluir el análisis.
Recuerden que la factorial se define como el producto de todos los números
enteros positivos desde 1 (es decir, los números naturales) hasta n. La
manera correcta de escribirlo es agregar un signo de admiración después del
número al que se le desea calcular el factorial. Para calcular el factorial de 5
se escribe 5!

5! = 1 x 2 x 3 x 4 x 5 = 120

-Características de las Evidencias

Para cada ejercicio se debe de entregar los códigos fuente en original y a parte
se debe de crear un documento de Word en donde se incluya todos los elementos
(del total de los ejercicios que ustedes realizaron) descritos a continuación.

49
1. Portada con su nombre completo iniciando con apellidos, grado, grupo,
título de la práctica, nombre de la materia, nombre del profesor, fecha de
elaboración de la práctica.
2. Después de la portada se debe de incluir el título de cada ejercicio, el
análisis de los problemas, imágenes de los diagramas de flujo, el código
fuente (lo copias y pegas desde el lenguaje de programación o lo insertas
como captura de pantalla) y la salida o resultado que aparece al momento
de ejecutar el programa (captura de pantalla).
3. La entrega se realiza por medio de la plataforma educativa que se utiliza
con el titular de la asignatura y en la fecha y hora programada dentro de la
misma.
CONCLUSIONES

A continuación, redacta con tus propias palabras las diferencias entre las tres
estructuras de control repetitivas (ciclos).

REFERENCIAS
González, C. C. (2016). Programación con lenguajes de guión en páginas web
UF1305. España: Ediciones Paraninfo, S.A.

50
LISTA DE COTEJO PARA EVALUAR LA PRÁCTICA 11 - PROGRAMACIÓN DE
ESTRUCTURAS REPETITIVAS SIMPLES.

Nombre del alumno(a):


_____________________________________________________________________
NO. VALOR DEL PUNTOS SUMA DEL
ELEMENTOS DEL INDICADOR
INDICADOR INDICADOR OBTENIDOS INDICADOR
1.1 Entregó la actividad en el apartado correcto, en la fecha acordada y dentro de la
hora permitida.
1.0
1.2 Entregó los 9 Diagramas de Flujo como resultado de los ejercicios realizados
durante la práctica.
2.5

1 1.3 Se entregan los 9 archivos del código en lenguaje C de los ejercicios que se
elaboraron en toda la práctica.
2.5
1.4 El documento de Word que se entrega como parte de las evidencias, respeta el
formato y contenido establecido en el apartado de “Características de las
Evidencias” (Portada, Análisis de los Problemas, Diagramas de Flujo, Código
5.0
Fuente y Salidas).
2.1 Dentro del documento de Word, en el ejercicio 1.1 se aprecia el análisis del
problema utilizando el ciclo DO-WHILE.
2.0
2.2 En este mismo apartado (ejercicio 1.1) se observa la imagen del Diagrama de
Flujo elaborado con el ciclo DO-WHILE.
4.0
2
2.3 En el ejercicio 1.1 se aprecia el código fuente de la salida en pantalla de los
100 primeros números naturales y en ese mismo código se observa que se 4.0
utilizó el ciclo DO-WHILE.
3.1 Dentro del documento de Word, en el ejercicio 1.2 se aprecia el análisis del
problema utilizando el ciclo FOR.
2.0
3.2 En este mismo apartado (ejercicio 1.2) se observa la imagen del Diagrama de
3 Flujo elaborado con el ciclo FOR.
4.0
3.3 En el ejercicio 1.2 se aprecia el código fuente de la salida en pantalla de los
100 primeros números naturales y en ese mismo código se observa que se 4.0
utilizó el ciclo FOR.
4.1 Dentro del documento de Word, en el ejercicio 2.0 se aprecian 3 análisis del
problema de suma de N números impares para cada ciclo utilizado. Uno para 2.0
FOR, otro para WHILE y para DO-WHILE.
4.2 En este mismo apartado (ejercicio 2.0) se observan las imágenes de los 3
4 diagramas de flujo; uno para el FOR, otro para WHILE y uno más para el DO- 4.0
WHILE.
4.3 En el ejercicio 2.0 se aprecian los 3 códigos fuente correctos. Uno para FOR,
otro para WHILE y uno más para DO WHILE.
4.0
5.1 Dentro del documento de Word, en el ejercicio 3.0 se aprecian 3 análisis del
problema para obtener el promedio de los primeros 100 números naturales 2.0
para cada ciclo (FOR, WHILE y DO-WHILE).
5.2 En este mismo apartado (ejercicio 3.0) se observan las imágenes de los 3
5 diagramas de flujo; para cada ciclo (FOR, WHILE y DO-WHILE).
4.0
5.3 En el ejercicio 3.0 se aprecian los 3 códigos fuente correctos para mostrar la
suma de los N números impares de los primeros 100 números naturales. para 4.0
cada ciclo (FOR, WHILE y DO-WHILE).
6.1 En el ejercicio 4.0 se aprecia el análisis del problema para obtener la factorial
de un número dado por el usuario.
2.0
6.2 En este mismo apartado (ejercicio 4.0) se observan la imagen del diagrama de
6 flujo.
4.0
6.3 En el ejercicio 4.0 se aprecia el código fuente correcto para mostrar la factorial
de un número dado por el usuario.
4.0

*PUNTOS OBTENIDOS: En esta columna se tiene que especificar los puntos obtenidos de cada indicador tomando como base el valor del mismo.
*SUMA DEL INDICADOR: Aquí se deben de sumar los puntos obtenidos en cada indicador (máximo se obtiene 10 puntos por indicador).

51
Práctica 12. Programación de estructuras repetitivas anidadas

INTRODUCCIÓN

Las estructuras de control repetitivas (bucles o ciclos) pueden ser “anidadas” en el


momento en que una se introduce dentro de la otra y de hecho no se tiene límite
alguno para la cantidad de ciclos anidados. Cuando se inserta un ciclo dentro de
otro la estructura interna debe de estar totalmente incluida dentro de la externa. Es
posible anidar cualquier tipo de estructura repetitiva.

Uno de los mayores problemas en cuanto a eficiencia que hay en la programación


es tener ciclos anidados, son simplemente terribles para el rendimiento, sin
embargo, hay ocasiones en las que son indispensables. Como se mencionó
anteriormente, no existe límite para la cantidad de ciclos anidados, sin embargo,
entre más ciclos tengamos, uno dentro de otro, más lenta será nuestra ejecución.

¿Cómo funciona un ciclo anidado?

Un único ciclo al interior de otro, funciona como un ciclo normal pero elevado al
cuadrado, el ciclo externo comienza su ejecución con normalidad y luego va hasta
el ciclo interno, y aquí es donde cambia todo; el ciclo externo no avanza hasta que
el ciclo interno termine y una vez el ciclo externo avanza un paso vuelve a esperar
al interno y así sucesivamente hasta que el externo termina, es por esto que es tan
ineficiente el rendimiento.

Sintaxis de ciclos anidados

for(int i = valor inicial; i < valor final; i++)


{
/* Bloque externo de Instrucciones.... */
for(int j = valor inicial; j < valor final; j++)
{
/* Bloque interno de Instrucciones.... */
}
//Aquí puede haber más instrucciones
}

Como se aprecia en el ejemplo anterior, solo hay que notar algunas cosas
interesantes: la primera y más importante es que la variable de control debe ser
distinta en cada ciclo, observa que el ciclo externo usa la variable 'i' como variable
de control mientras que el ciclo interno usa la 'j'. También se debe notar que en el
bloque interno de instrucciones se puede agregar otro ciclo de cualquier tipo y al
interior de este, otro y así sucesivamente, cambiando el nombre de la variable de
control en cada uno de ellos para evitar un mal funcionamiento. Finalmente es

52
importante saber que, aunque son ciclos anidados no dejan de ser ciclos
independientes, así que se pueden agregar las instrucciones que se necesiten al
interior de cualquiera de ellos.

OBJETIVO

Desarrollar diagramas de flujo y programas que impliquen el uso de estructuras de


control repetitivas anidadas mediante el uso de los ciclos “While”, “Do While” y “For”.

MATERIALES Y RECURSOS NECESARIOS


• Equipo de cómputo
• Editor de textos (Visual Studio Code, DevC++, CodeBocks)

DESARROLLO DE LA PRÁCTICA

Los ciclos anidados suelen usarse para llenar matrices (un vector de varias
dimensiones) donde un ciclo recorre cada fila y otro cada columna o viceversa
(depende de lo que necesitemos). De este modo entonces el ciclo externo empieza
por la columna cero y el interno llena cada casilla de la columna cero y luego de la
uno y las dos y así sucesivamente.
Ejercicio 0 (Ejemplo resuelto)

Crea un diagrama de flujo y el programa que dibuje 2. Diagrama de Flujo.


una escalera de asteriscos. Nosotros le pasamos la
altura de la escalera por teclado.
A continuación, un ejemplo con un 5 de altura:
*
**
***
****
*****
1. Análisis.
Para poder formar la torre que se aprecia en el
ejemplo lo primero es que se va a necesitar
una variable P en donde se almacene la
cantidad de pisos que el usuario escriba,
después de deberá iniciar un ciclo PARA(FOR)
en donde la variable de control es “i” e inicia
en 1, termina en P y se incrementa en uno;
después se necesita otro ciclo PARA(FOR)
dentro del anterior, el cual la variable de control
es “k” e inicia en 1, termina en “i” y se
incrementa en uno; dentro de este último ciclo
se imprime en pantalla el “*” y se cierran los
dos ciclos como proceso final.
53
3. Código compilado en C++

#include<iostream.h>
#include<conio.h >
Void main()
{
int P=1; // se inicializa P (pisos) en 1
int i,k; // de declaran las variables que funcionaran como indicadores
printf("¿De cuántos pisos quieres la torre?");
scanf(“%d”,&P); // aquí se almacena el valor que ingresa el usuario
for(i=0;i<P;i++)
{
for(k=0; k<i;k++)
{
printf(“*”); // imprime un asterisco en pantalla
}
printf(“\n"); // instrucción para que haga un salto de línea
}
return 0;
}

Ejercicio 1
Utilizando ciclos anidados, desarrolle el análisis, diagrama de flujo y un programa
en c++ que dibuje una escalera inversa de asteriscos. El usuario deberá escribir
la altura por teclado.

Ejemplo: Si el usuario escribe una altura de 5, se deberá mostrar lo siguiente:

*****
****
***
**
*

Ejercicio 2
Utilizando ciclos anidados, desarrolle el análisis, diagrama de flujo y un programa
en c++ que le permita imprimir en pantalla las tablas de multiplicar de 1 hasta un
numero N que ingrese el usuario.

Ejemplo: Si el usuario ingresa un 3, se tendrían que mostrar las tablas del 1 al 3.

54
Ejercicio 3
Utilizando ciclos anidados, desarrolle el análisis, diagrama de flujo y un programa
en c++ que dibuje una escalera de números, siendo cada línea números empezando
en uno y acabando en el numero de la línea.

A continuación, un ejemplo, si introducimos un 5 como altura, se debe mostrar:


1
12
123
1234
12345

Características de las evidencias

Para cada ejercicio se debe de entregar los códigos fuente en original y a parte
se debe de crear un documento de Word en donde se incluya todos los elementos
(del total de los ejercicios que ustedes realizaron) descritos a continuación.

4. Portada con su nombre completo iniciando con apellidos, grado, grupo,


título de la práctica, nombre de la materia, nombre del profesor, fecha de
elaboración de la práctica.
5. Después de la portada se debe de incluir el título de cada ejercicio, el
análisis de los problemas, imágenes de los diagramas de flujo, el código
fuente (lo copias y pegas desde el lenguaje de programación o lo insertas
como captura de pantalla) y la salida o resultado que aparece al momento
de ejecutar el programa (captura de pantalla).
6. La entrega se realiza por medio de la plataforma educativa que se utiliza
con el titular de la asignatura y en la fecha y hora programada dentro de la
misma.

CONCLUSIONES

A continuación, redacta con tus propias palabras las diferencias entre las tres
estructuras de control repetitivas (ciclos).

55
LISTA DE COTEJO PARA EVALUAR LA PRÁCTICA 12 - PROGRAMACIÓN DE
ESTRUCTURAS REPETITIVAS ANIDADAS.

Nombre del alumno(a):


_____________________________________________________________________

SUMA DEL
NO. VALOR DEL PUNTOS
ELEMENTOS DEL INDICADOR INDICADO
INDICADOR INDICADOR OBTENIDOS
R

1.5 Entregó la actividad en el apartado correcto, en la fecha acordada y dentro de la


1.0
hora permitida.

1.6 Entregó los 3 archivos en DFD de los Diagramas de Flujo como resultado de
2.0
los ejercicios 1, 2 y 3 que se realizaron durante la práctica.

1
1.7 Entregó los 3 archivos en Lenguaje C++ de los códigos en c++ de los ejercicios
2.0
que se elaboraron en toda la práctica.

1.8 El documento de Word que se entrega como parte de las evidencias, respeta el
formato y contenido establecido en el apartado de “Características de las
5.0
Evidencias” (Portada, Análisis de los Problemas, Diagramas de Flujo, Código
Fuente y Salidas).

2.4 Dentro del documento de Word, en el Ejercicio 1 se aprecia el análisis del


2.0
problema y el uso de ciclos anidados.

2.5 En este mismo apartado (Ejercicio 1) se observa la imagen del Diagrama de


2 4.0
Flujo elaborado en el DFD.

2.6 En el Ejercicio 1 se aprecia el código fuente de la salida en pantalla de la


escalera inversa de asteriscos y en ese mismo código se observa que se 4.0
utilizaron ciclos anidados.

6.1 Dentro del documento de Word, en el Ejercicio 2 se aprecia el análisis del


2.0
problema y el uso de ciclos anidados.

6.2 En este mismo apartado (Ejercicio 2) se observa la imagen del Diagrama de


3 4.0
Flujo elaborado en el DFD.

6.3 En el Ejercicio 2 se aprecia el código fuente de la salida en pantalla de las


tablas de multiplicar de 1 hasta N y en ese mismo código se observa que se 4.0
utilizaron ciclos anidados.

4.4 Dentro del documento de Word, en el Ejercicio 3 se aprecia el análisis del


4 2.0
problema y el uso de ciclos anidados.

56
4.5 En este mismo apartado (Ejercicio 3) se observa la imagen del Diagrama de
4.0
Flujo elaborado en el DFD.

4.6 En el Ejercicio 3 se aprecia el código fuente de la salida en pantalla de las


tablas de multiplicar de 1 hasta N y en ese mismo código se observa que se 4.0
utilizaron ciclos anidados.

*PUNTOS OBTENIDOS: En esta columna se tiene que especificar los puntos obtenidos de cada indicador tomando como base el valor del mismo.
*SUMA DEL INDICADOR: Aquí se deben de sumar los puntos obtenidos en cada indicador (máximo se obtiene 10 puntos por indicador).

Práctica Integradora

INTRODUCCIÓN
Esta práctica está diseñada para que repases y utilices todos los conceptos y
estructuras de control desarrolladas en las practicas anteriores durante el semestre.
Recuerda que el primer paso para la solución de un problema es comprender el
problema. Se recomienda que leas varias veces el ejercicio propuesto con la
finalidad de que antes de empezar a diseñar un algoritmo te quede bien claro que
es lo que se pide que se resuelva y de qué manera. Identifica cuáles son las
operaciones secuenciales necesarias, los procesos selectivos y cuáles son aquellos
que se están repitiendo.

OBJETIVO
Integrar los conocimientos y habilidades adquiridos de las actividades de
aprendizaje previas, relacionadas con las competencias que desarrollaste.

METODOLOGÍA
El estudiante analizará el problema interactuando con su profesor y sus compañeros
a fin de intercambiar ideas y recuperar y aplicar los conocimientos y habilidades
previas a fin de desarrollar mediante la metodología de programación estructurada
un diagrama de flujo y un programa de computo en lenguaje c que dé solución a tal
problema.

MATERIALES Y RECURSOS NECESARIOS


- Equipo de Cómputo.
- Intérpretes de diagramas de flujo.
- Entorno de desarrollo para lenguaje c.
- Apuntes escolares y cualquier recurso de apoyo físico o digital.

DESARROLLO DE LA PRÁCTICA
Analice la siguiente situación
En un casino de juegos se utilizan tarjetas donde se carga dinero electrónico
para poder apostar en las máquinas. Tomando en consideración el saldo inicial de
la tarjeta y conforme a las diferentes apuestas que se realicen y que resultan en
jugadas ganadoras o perdedoras, se desea saber por sesión de juego de cada
jugador los siguientes montos: la mayor apuesta ganadora y la mayor apuesta
perdedora, así como la menor apuesta ganadora y la menor apuesta perdedora. A

57
demás se requiere saber si al final de la sesión de juego el casino gana o pierde y
el total del monto ganado o perdido. Se te pide que simule las jugadas de un solo
jugador en una sesión y que realice los procesos anteriores. Se solicitará desde el
teclado el saldo inicial de la tarjeta y las diferentes apuestas, una apuesta de -1 o
un saldo de 0 en la tarjeta detendrá la simulación, antes de cada apuesta se
mostrará el saldo actual de la tarjeta y en caso de querer apostar más del saldo
actual se mostrará un mensaje y no se permitirá la apuesta. El resultado de un
evento de jugada ganadora o perdedora debe generarse en forma aleatoria. Se
muestra a continuación dos ejemplos de simulación. Se considera una sesión de
juego desde que se introduce saldo inicial a la tarjeta hasta que se detiene la
simulación. A continuación, se muestran dos ejemplos:
Ejemplo 1
Entrada Salida

Saldo inicial: 3500 Resumen Jugador


Máxima apuesta ganadora: 3400
Saldo actual: 3500 Máxima apuesta perdedora: 1500
Apuesta 1: 500
Pierde Mínima apuesta ganadora: 200
Saldo actual: 3000 Mínima apuesta perdedora: 500
Apuesta 2: 800
Gana
Saldo actual: 3800 Al final de la sesión el casino pierde: 3300
Apuesta 3: 200
Gana
Saldo actual: 4000
Apuesta 4: 1500
Pierde
Saldo actual: 1500
Apuesta 5: 3000
Excede crédito máximo 1500
Apuesta 5: 400
Gana
Saldo actual: 3400
Apuesta 5: 3400
Gana
Saldo actual: 6800

Apuesta: -1

Ejemplo 2:

58
Entrada Salida

Saldo inicial: 5000 Resumen Jugador


Saldo actual: 5000 Máxima apuesta ganadora: 1000
Apuesta 1: 1500 Máxima apuesta perdedora: 4000
Pierde
Saldo actual: 3500 Mínima apuesta ganadora: 1000
Apuesta 2: 4000 Mínima apuesta perdedora: 1500
Excede crédito máximo 3500
Apuesta 5: 1000
Gana Al final de la sesión el casino gana: 4500
Saldo actual: 4500
Apuesta 5: 4000
Pierde
Saldo actual: 500
Apuesta: -1

Elabore diagrama de flujo y programa en c que realice la simulación.

RESULTADOS ESPERADOS
De acuerdo a la manera en la que le indique su profesor entrega:

a. Capturas de pantalla de 2 ejecuciones de tu programa


b. El diagrama de flujo
c. El programa en c

CONCLUSIONES
Responda lo siguiente en un documento Word:

¿Empleo contadores o sumadores? De ser así diga con qué finalidad los utilizó y dé
un ejemplo.

¿De qué manera resolviste el evento de jugada ganadora o perdedora tanto en


diagrama de flujo como en c?

¿Utilizó las instrucciones de control selectiva if? En caso de que la respuesta sea
afirmativa de un ejemplo de su utilización y explique qué situación del ejercicio
resolvió.

¿Utilizó la instrucción de control selectiva switch? En caso de que la respuesta sea


afirmativa de un ejemplo de su utilización y explique qué situación del ejercicio
resolvió.

59
¿Utilizó las instrucciones de control repetitivas? En caso de que la respuesta sea
afirmativa diga cuáles usó y porqué, asimismo, de un ejemplo de su utilización y
explique qué situación del ejercicio resolvió.

¿Qué se le dificultó del ejercicio?

¿Cree que todavía necesita realizar previamente el diagrama de flujo antes del
desarrollo de un programa de computo? Explique su respuesta.

¿Cómo se considera actualmente tomando como referencia la primera sesión de la


materia?

Escriba sus conclusiones personales.


__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________

LISTA DE COTEJO PARA EVALUAR LA PRÁCTICA INTEGRADORA


INDICADORES Si No PUNTOS
Durante la práctica se mostró participativo, 1
colaborativo y atento a las actividades
desarrolladas.
Interactuó para retroalimentarse a fin de solucionar 2
dudas o incertidumbres
Desarrolla correctamente el diagrama de flujo 2
Desarrolla correctamente el programa en lenguaje c 2
Muestra las pantallas de ejecución para los 1
ejercicios propuestos
Responde las preguntas de conclusión y redacta 2
sus conclusiones personales congruentes con los
resultados de las actividades que realizó en un
documento Word
Total

60
Manual de prácticas
Programación I

61

También podría gustarte