Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorios de computación
salas A y B
Ernesto Alcantara Concepción
Profesor:
Fundamentos de Programación
Asignatura:
19
Grupo:
03
No. de práctica(s):
Barbosa Reyes Renata - Cruces Diaz Monserrat Margarita - Garcés
Hernández Luis Angel - López Cruz Marco Antonio
Integrante(s):
Brigada 05
No. de lista o brigada:
22-2
Semestre:
02/03/2022
Fecha de entrega:
Observaciones:
CALIFICACIÓN: __________
Solución de problemas y Algoritmos.
Objetivo: El alumno elaborará algoritmos correctos y eficientes en la solución de problemas siguiendo
las etapas de Análisis y Diseño pertenecientes al Ciclo de vida del software.
INTRODUCCIÓN:
Los problemas son parte de la vida cotidiana, y para cada uno, una solución que te permite llegar a tu ob -
jetivo.
Un problema es una cuestión que se plantea para hallar resultados a partir de un conjunto de datos cono-
cidos, genera cambios, se plantea una pregunta para dar solución a algún problemas, existen problemas
que no tienen solución.
Para resolver un problema se necesita una estrategia, que son acciones meditadas y encaminadas hacia
un fin determinado (solución del problema), si te genera consecuencias malas, entonces no es la mejor
opción de estrategia.
Si no quieres tener consecuencias malas se tiene que analizar la estrategia.
El análisis es el examen detallado de algo para conocer sus características o cualidades y extraer conclu-
siones. Te permite entender el problema a profundidad para darle una mejor estrategia como solución. Es
la parte MÁS IMPORTANTE y la que más toma tiempo. No siempre se tiene que escribir, también puede
ser mental, hay diferentes formas el hacer el análisis, se constituye de 3 partes:
Datos de entrada.
Son los componentes que se emplean como inicio en un proceso, es como lo que se inicia. Es todo
lo que necesitas para llevar a cabo un proceso.
Restricciones.
Son las limitaciones que tiene el problema.
Puede ser: que no te permita encontrar la solución del problema
o La solución esté incompleta, incorrecta o no factible.
o La solución es ineficiente o ineficaz.
o Hay limitación de recursos o se implementan recursos de más.
Datos de salida.
Son los componentes que se obtienen como resultado tras realizarse un proceso, es lo que se
quiere obtener de un proceso. Dependen del problema, puedes tener diferentes resultados o sali-
das.
Los pasos para solucionar un problema siempre va a ser un ciclo.
Se entiende el problema, se define con la pregunta ¿cuál es el problema?
Si el problema no es claro, no se puede resolver. Si el problema es muy claro pero no se puede en-
tender, va a ser más difícil de resolver o no se va a poder resolver.
Se analiza el problema
Después de entender el problema y debes tomar en cuenta las restricciones (todo lo que se tiene
que evitar)
Diseñar y desarrollar la solución más eficiente
Si el análisis está mal, tu diseño y desarrollo también, ya que el diseño y desarrollo está basado en
el análisis
Probar solución.
Se pueden hacer simulaciones, ejercicios, pruebas e hipótesis para probar la solución. Es como
ver los pros y contras de la solución.
Igualmente se puede investigar escenarios conocidos que se pueden presentar, pero ya son cono-
cidos.
Implementar la solución (probarla)
Una vez probada la solución, se puede implementar realmente la solución, aún así existen proble-
máticas externas que puede afectar la solución, esto tiene que ser considerado desde el principio y
si no, te da la experiencia. Si se implementa y no funciona es necesario regresar al punto B, para
volver a empezar y hacer las correcciones necesarias, hasta que llegues a una solución eficiente.
Si tu solución es una estrategia, eficiente, eficaz, se basa en el análisis y resuelve tu problema, entonces
DESARROLLO
1. Diseñar una solución para resolver cada uno de los siguientes problemas y tratar de refinar sus so-
luciones mediante algoritmos adecuados:
a) Realizar una llamada telefónica desde un teléfono público.
Datos de entrada:
Monedas de 1,2 y 5 pesos (1=2minutos)
El número a quien vas a llamar
Restricciones:
No traer monedas
No traer las suficientes monedas para el tiempo de la llamada
No saber el numero a quien vas a llamar
Salida:
Realizar la llamada
Algoritmo:
1. Conseguir monedas de 1,2 y 5 pesos
1.1 Puedes conseguirlas trabajando
1.2 Puedes conseguirlas pidiendo prestado
1.3 Puedes conseguirlas cambiando un billete por monedas
1. Llegar al telefono publico mas cercano
2.1 Puedes ir caminando
2.2 Puedes ir corriendo
2.3 Puedes ir trotando
2.4 Puedes ir en algún transporte
1. Ingresar el número al teléfono público con tus dedos
2. Ingresar cualquier moneda de 1,2,5 pesos
3. Realizar la llamada
4. Si la llamada dura más de lo pues con las monedas ingresar más monedas para se-
guir con la llamada
5. Colgar el teléfono
6. Irse a la casa
Prueba de escritorio
No es posible efectuar prueba de escritorio
b) Cocinar una tortilla.
Datos de entrada:
Masa
Agua
Maquina para hacer tortillas
Comal
Bolsa de plástico partida a la mitad
Estufa encendida
Contenedor
Servilleta de tela
Restricciones:
No aguadarla mucho la masa
No darle más de 3 vueltas a la tortilla
No prender la lumbre en fuego alto
No robar ningún objeto para la preparación de la masa
Salida:
Comerte la tortilla cocinada
Algoritmo:
1. Conseguir la masa
1.1 Comprar la masa en una tortillería
1.2 Hacer tu propia masa
1. Buscar una mesa limpia y amplia
2. Colocar los materiales para hacer tortillas (masa,contenedor,agua,maquina para hacer
tortillas,comal,bolsa de plástico,estufa,servilleta de tela).
3. En el contenedor echar la masa.
4.1 Ir amasando la masa mientras vas agregando poco a poco el agua hasta conseguir una
consistencia blanda.
1. Colocas en la mesa tu máquina de hacer tortillas
2. Corta la bolsa de plástico haciendo 2 cuadrados de 15x15
6.1 Puedes partir la bolsa con un cuchillo
6.2 Puedes partir la bolsa con unas tijeras
1. Abres la máquina
2. Colocas el primer cuadrado de la bolsa de plástico sobre la máquina
3. Tomas 200g de masa aproximadamente haciéndola bolita
4. Colocas la bolita de masa sobre el primer cuadrado de la bolsa de plástico
5. Encima de la bolita de masa colocamos el segundo cuadrado de la bolsa de plástico
6. Cierras la máquina ejerciendo presión sobre ella
7. Prender la estufa a fuego medio
8. Colocar el comal en el quemador
9. Abres la máquina
10. Retira con mucho cuidado los 2 cuadros de bolsa de plástico de la tortilla de masa
11. Colocamos la masa de tortilla en el comal
12. Esperas 2 minutos
13. Volteas la tortilla
14. Esperas 2 minutos
15. Vuelves a voltear la tortilla
16. Esperas 2 minutos
17. Sacas la tortilla del comal
18. Colocamos la tortilla en una servilleta de tela
19. Tapas la tortilla con la misma servilleta de tela
20. Comerte la tortilla cocinada
Prueba de escritorio
No es posible efectuar prueba de escritorio
c) Arreglar un pinchazo de una Bicicleta
Datos de entrada
tiempo
dos desllantadores, pueden ser de plástico
un parche
pegamento vulcanizante
una lija de metal
una pinza pequeña
un inflador
Restricciones
no robar los materiales
materiales de buena calidad sin defectos
Datos de salida
bicicleta reparada
Diseño o proceso
1. Inicio
2. conseguir los materiales
2.2 comprarlos en una ferretería o supermercado
1. colocar la cadena en el piñón más pequeño, hasta que quede lo menos tensa posible
2. sacar la rueda
4.1 abrir el autocentrante
1. tomar el desenllantador para sacar la cubierta, girarlo con ayuda del otro y nuestra mano
hasta desprenderse sin romperlo
5.1 desenroscar la tuerca y sacar la camara
5.2 encontrar el pinchazo
5.2.1 inflar la rueda
5.2.1.1 si no se encuentra
5.2.1.2 colocarla cerca de nuestro rostro asta sentir aire
5.3.1.1 lijar con ayuda de la lija el pinchazo de un tamaño mayor al del
parche
5.4.1.1 colocar el pegamento en un tamaño mayor al del pinchazo
5.5.1.1 dejar secar
1. revisar la cubierta para encontrar con lo que se pincho la llanta
6.1 si se encontró el objeto con el que se pinchó
6.2 tomar la pinza y sacarlo
1. pegar el parche
7.1 separar la parte plateada del parche
7.2 colocar sobre la cubierta y apretar desde el centro hacia afuera para evitar que queden burbu-
jas de aire
7.3 quitar el plástico protector del parche
1. colocar la válvula dentro del agujero de la llanta poco a poco dentro de la cubierta
2. colocar la tuerca dando vuelta
3. si la cubierta está muy dura
10.1 usar los desenllantadores colocándolos de forma inversa
1. en caso contrario
11.1 descartar y continuar con el proceso
1. revisar el sentido de rotación
12.1 si no se sabe cual es
12.1.1 revisar la circunferencia ya que generalmente viene impreso
1. en caso contrario
13.1 inflar hasta que la cubierta entalone
1. fin
Prueba de escritorio
No es posible efectuar prueba de escritorio
d) Hacer palomitas de maíz en una olla puesta al fuego con aceite, sal y maíz
Entrada:
Una olla
Estufa con fuego encendido
Maiz Palomero
Aceite
Sal de mesa
Un recipiente
Restricciones:
Colocar mucho aceite
poner el fuego alto
No robar los materiales
Salida:
Palomitas de maíz
Algoritmo:
1. Comprar maiz palomero
1.1 Comprarlo en una tienda
1.2 Cosechandolo
1. Buscar un lugar amplio para colocar tus cosas (una olla, estufa, maíz palomero, aceite,
sal de mesa, un recipiente)
2. En la olla viertes poco aceite
3. Colocar la olla en la estufa a fuego medio
4. Esperar 2 minutos mientras se calienta el aceite
5. Vertir un puño de maíz palomero
6. Tapar la olla
7. Esperar 5 minutos aproximadamente
8. Destapar la olla
9.1 Destaparla con un trapito
9.2 Con guantes de cocina
9.3 Con servilletas
9.4 Con la manga de tu sudadera
1. Sacar las palomitas vaciandolas en el contenedor
2. Rociar pizquitas de sal de mesa
3. Esperar a que se enfríen un momento
4. Disfrutar de tus palomitas de Maíz
Prueba de escritorio
No es posible efectuar prueba de escritorio
1. Inicio
2. conseguir los materiales
2.1 conseguirlos en una ferretería o supermercado
1. colocarse los guantes de seguridad
2. tomar un cuter y quitar la silicona de los bordes,hacerlo por ambos lados
3. colocar la ventosa en el cristal
4. sacar los junquillos
6.1 colocar un destornillador en una de las orillas y pegarle con un martillo y hacer palanca
para que salga ese lado del cristal
6.2 girar el destornillador poco a poco
6.3 repetir mientras no se hayan sacado las cuatro junquillas
6.3.1 jalar la ventosa hacia nosotros lentamente y retirar el cristal
6.4 sacar el resto de los cristales que hayan quedado
1. verificar el tamaño del cristal
2. colocar silicon en las orillas, debe ser especial para ese tipo de trabajos
3. colocar el cristal nuevo
9.1 comenzar por la parte de abajo
1. colocar nuevamente la ventosa
2. asegurarse que el junquillo superior esté bien colocado, se puede ajustar pegando
muy suavemente con un martillo
3. junquillos laterales
12.1 si están oxidados
12.1.1 buscar otros nuevos
1. en caso contrario
13.1 colocarlos en los laterales
13.1.1 clavar con ayuda de un martillo para ajustarlos
1. sellarlo por ambos lados
14.1 colocar silicón transparente de preferencia, en todos los bordes
1. dejar secar
2. fin
Prueba de escritorio
No es posible realizar una prueba de escritorio
ACTIVIDAD 3.
Diseñar un algoritmo que visualice y sume la serie de números 3, 6, 9, 12…,99.
Datos de entrada
La serie 3, 6, 9, 12,…,99
Restricciones
Los números deben ser enteros
Los números deben ser en el intervalo de 3 a 99
Datos de salida
Suma y los términos de la serie 3,6,9,12…99
Algoritmo
1. Inicio
2. Realizar cambio = 1, sumaSerie = 0
3. x=3
4. Repetir mientras x <= 99
4.1 Realizar sumaSerie = sumaSerie + x
4.2 Mostrar el valor de x
4.3 si cambio > 0
4.3.1 x=x+3
4.3.2 Realizar cambio=1
4.4 En caso contrario
4.4.1 Mostrar una cadena de tipo alfanumérico que diga “Este algoritmo solo mues-
tra la serie en el intervalo de 3 al 99”
1. Imprimir el valor de sumaSerie
2. Fin
Prueba de escritorio
1. Inicio
2. cambio=1, sumaSerie=0
3. x=3
4. ¿3<=99? Si
4.1 sumaSerie=sumaSerie+x=0+3=3
4.2 3
4.3 ¿cambio>0? Si
4.3.1 x=x+3=3+3=6
4.3.2 cambio=1
4 ¿6<=99? Si
4.1 sumaSerie=3+6=9
4.2 6
4.3 ¿cambio>0? Si
4.3.1 x=x+3=6+3=9
4.3.2 cambio=1
Los pasos 4, 4.1, 4.2, 4.3, 4.3.1 y 4.3.2, se repiten hasta que x=102, entonces
4. ¿102<=99? No
4.4 Este algoritmo solo muestra la serie en el intervalo de 3 al 99.
1. 1683
2. Fin
ACTIVIDAD 4.
Escribir un algoritmo que lea cuatro números y a continuación visualice el mayor de los cuatro.
Datos de entrada
4 números de tipo enteros representados por w,x,y,z
Restricciones
w,x,y,z ≠ 0
No repetir los números
Datos de salida
un valor de tipo alfanumérico cadena que diga “El mayor de los cuatro números es
Algoritmo
Inicio
Ingresar 4 números de tipo entero
Guardar los valores en w,x,y,z
Si w<>x y w<>y y w<>z y x<>z y x<> z
si w>x
si w>y
si w>z
en caso contrario
dar cuatro números diferentes
mostrar un valor de tipo alfanumérico cadena que diga “El mayor de los cuatro números es”,
w
en caso contrario
mostrar un valor de tipo alfanumérico cadena que diga “El mayor de los cuatro números
es”,z
fin en caso contrario
en caso contrario
si y>z
mostrar un valor de tipo alfanumérico cadena que diga “El mayor de los cuatro números es”,
y
en caso contrario
un valor de tipo alfanumérico cadena que diga “El mayor de los cuatro números es”,z
fin en caso contrario
en caso contrario
si x>y
si x>z
mostrar un valor de tipo alfanumérico cadena que diga “El mayor de los cuatro números es”,
x
en caso contrario
mostrar un valor de tipo alfanumérico cadena que diga “El mayor de los cuatro números es”,
z
fin en caso contrario
en caso contrario
si y>z
mostrar un valor de tipo alfanumérico cadena que diga “El mayor de los cuatro números
es”,y
en caso contrario
mostrar un valor de tipo alfanumérico cadena que diga “El mayor de los cuatro números
es”,z
fin en caso contrario
fin en caso contrario
mostrar “ingresa cuatro números diferentes”
fin en caso contrario
Fin
Prueba de escritorio
1. Ingresa 4 números
1,2,3,4
1. ¿ w<>x? y ¿w<>y? y ¿w<>z? y ¿x<>z? ¿x<> z?
no no no no no
1. el mayor de los cuatro números es: 4
2. fin
ACTIVIDAD 5.
Escribir un algoritmo que cuente el número de ocurrencias de cada letra en una palabra leída como
entrada. Por ejemplo, "Mortimer" contiene dos "m", una "o", dos "r", una "i", una "t" y una "e".
Datos de entrada
Escribir una palabra
Restricciones
No puede haber números
No puede haber carácteres especiales
Datos de salida
Ocurrencias de cada letra en una palabra dada.
Algoritmo
1. Dar una palabra
Almacenar cada letra en A, B, C, D, E, F,... respectivamente
1. Realizar cambio=1, letraA=1
2. Repetir mientras cambio=1
3.1 Comparar que A no se repita
3.2 Si A se repite
3.2.1 Realizar letraA=letraA+1
3.2.2 Realizar cambio=1
3.3 En caso contrario
3.3.1 Realizar letraA=letraA
3.3.2 Realizar cambio=0
1. Realizar letraB=1 cambio=0
2. Repetir mientras cambio=0
5.1 Comparar que B no se repita
5.2 Si B se repite
5.2.1 Realizar letraB=letraB+1
5.2.2 Realizar cambio=0
5.3 En caso contrario
5.3.1 Realizar letraB=letraB
5.3.2 Realizar cambio=1
1. Realizar letraC=1
2. Repetir mientras cambio=1
7.1 Comparar que C no se repita
7.2 Si C se repite
7.2.1 Realizar letraC=letraC+1
7.2.2 Realizar cambio=1
7.3 En caso contrario
7.3.1 Realizar letraC=1
7.3.2 Realizar cambio=0
1. Repetir de los pasos 4 al 5.3.2 con cada letra almacenada en sus respectivas variables.
2. Imprimir cada letra almacenada en las variables A,B,C,D…, “hay” y el valor almacenado en le-
traA, letraB, letraC, letraD respectivamente.
Prueba de escritorio
1. cabeza
2. cambio=1, letraA=1
3. ¿cambio=1? Si
3.1 Compara que A no se repita
3.2 ¿A se repite? No
3.3.1letraA=letraA=1
3.3.2 cambio 0
1. letraB=1, cambio=0
2. Comparar que B no se repita
5.2 ¿B se repite? Si
3.2.1 letraB=1+1=2
3.2.2 Realizar cambio=1
5. ¿cambio=1? Si
5.1 Comparar que B no se repita
5.2 ¿B se repite? No
5.2.1 letraB=2
5.2.2 cambio=0
1. letraC=1, cambio=0
2. ¿cambio=0? Si
7.1 Comparar que C no se repita
7.2 ¿C se repite? No
7.3.1 letraB=1
7.3.2 cambio=1
1. letraD=1, cambio=1
2. ¿cambio=1? Si
9.1 Comparar que D no se repita
9.2 ¿D se repite? No
9.3.1 Realizar letraD=1
9.3.2 Realizar cambio=0
1. letraE=1, cambio=0
2. ¿cambio=0? Si
11.1 Comparar que E no se repita
11.2 ¿E se repite? No
11.3.1 Realizar letraD=1
11.3.2 Realizar cambio=0
1. c=1, a=2, b=1, e=1, z=1
CONCLUSIÓN
En la vida cotidiana utilizamos algoritmos para situaciones diarias, y al implementarlos en las nuevas tec-
nologías nos han llegado a un gran avance tecnológico. Por lo que saberlos plantearlos y entenderlos nos
permiten seguir encontrando soluciones a problemas que alguna vez se vieron imposibles de resolver.