Manual de Prácticas: Programación I
Manual de Prácticas: Programación I
Programación I
2019
1
Directorio
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
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.
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.
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:
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.
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.
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:
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?
___________________________________________________________
________________________________________________
INTRODUCCIÓN
• 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
DESARROLLO DE LA PRÁCTICA
Apartado I.
Inicio / Fin
Entrada / Salida
10
Imprimir
Decisión
Conector
Línea de flujo
Proceso
Apartado II.
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
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?
Heteroevaluación
Criterio Si No
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
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.
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.
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.
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
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.
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
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.
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.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
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.
1.
if(expresión_logica_a_evaluar)
//Instrucción a ejecutar;
2.
if(expresión_logica_a_evaluar)
{
//Conjunto de instrucciones a ejecutar
}
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.
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:
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:
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:
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
OBJETIVO
33
DESARROLLO DE LA PRÁCTICA
Actividad 1
Observa con atención el siguiente programa en C y contesta las siguientes
preguntas.
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%
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>
}
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.
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.
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”);
}
)
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]
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:
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
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
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.
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
-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
Mientras (While)
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
…..
}
46
En el incremento se coloca una instrucción que modifique el valor de la variable
contador.
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.
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”.
DESARROLLO DE LA PRÁCTICA
Consideraciones previas
#include<iostream.h>
#include<conio.h >
Void main()
{
int cont=1; // se inicializa cont (contador) en 1
cout<<"Los primeros 100 números naturales";
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
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.
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
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.
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
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)
#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.
*****
****
***
**
*
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.
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.
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.
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.
SUMA DEL
NO. VALOR DEL PUNTOS
ELEMENTOS DEL INDICADOR INDICADO
INDICADOR INDICADOR OBTENIDOS
R
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).
56
4.5 En este mismo apartado (Ejercicio 3) se observa la imagen del Diagrama de
4.0
Flujo elaborado en el DFD.
*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.
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
Apuesta: -1
Ejemplo 2:
58
Entrada Salida
RESULTADOS ESPERADOS
De acuerdo a la manera en la que le indique su profesor entrega:
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.
¿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ó.
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ó.
¿Cree que todavía necesita realizar previamente el diagrama de flujo antes del
desarrollo de un programa de computo? Explique su respuesta.
60
Manual de prácticas
Programación I
61