Está en la página 1de 12

Carátula para entrega de prácticas

Facultad de Ingeniería Laboratorio de docencia

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

es la mejor solución para el problema.


La Ingeniería de software es la aplicación de un enfoque sistemático para desarrollar, operar y mantener 
(que siga siendo funcional para quienes lo usan) el software. Busca el bien en la sociedad.
Por lo que el ciclo de la vida del software se define con base en la norma ISO 12207 de la siguiente for-
ma:
"Un marco de referencia que contiene las actividades y las tareas involucradas en el desarrollo, la
explotación y el mantenimiento de un producto de software, abarcando desde la definición hasta la fi-
nalización de su uso"
Actividades:
 A partir del enunciado de un problema, identificar el conjunto de entrada y el conjunto de salida.
 Elaborar un algoritmo que resuelva un problema determinado (dado por el profesor), identificando
los módulos de entrada, de procesamiento y de salida

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

e) Cambiar el cristal roto de una ventana


 Datos de entrada
tiempo
guantes especiales para trabajos pesados
cuter
una ventosa pequeña
un martillo
un destornillador
un cristal nuevo
 Restricciones
no usar un cristal con defectos
no robar los materiales
cristal del mismo grosor que el dañado
 Datos de salida
ventana reparada
 Diseño o proceso

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 2. Escribir un algoritmo para:

a) Sumar dos números enteros.


 Datos de entrada:
dos números de tipo real, el primer valor se almacenará en X y el segundo en Y
 Restricciones
No hay
 Datos de salida
el resultado de la suma de dos números 
 Diseño o proceso
1. Inicio
2. dos números de tipo real, el primer valor se almacenará en x y el segundo en y
3. Realizar Z=X+Y
4. Mostrar un número de tipo entero representado por Z
5. Fin
 Prueba de escritorio
1. Inicio 
2. X=10, Y=5
3. Z=10+5=15
4. 15
5. Fin

b) Restar dos números enteros.


 Datos de entrada:
dos números de tipo entero, el primer valor se almacenará en X y el segundo en Y
 Restricciones
no hay ninguna
 Datos de salida
el resultado de la resta de dos números 
 Diseño o procesos
1. Inicio
2. dos números de tipo entero, el primer valor se almacenará en X y el segundo en Y
3. Realizar Z=X-Y
4. Mostrar un número de tipo entero representado por Z
5. Fin
 Prueba de escritorio
1. Inicio 
2. X=23, Y=-3
3. Z=23-(-3)= 26
4. 26
5. Fin

c) Multiplicar dos números enteros.


 Datos de entrada:
dos números de tipo entero, el primer valor se almacenará en X y el segundo en Y
 Restricciones
no hay ninguna
 Datos de salida
el resultado de la multiplicación de dos números 
 Diseño o proceso
1. Inicio
2. dos números de tipo entero, el primer valor se almacenará en X y el segundo en Y
3. Realizar Z=X*Y
4. Mostrar un número de tipo entero representado por Z
5. Fin
 Prueba de escritorio
1. Inicio 
2. X=8, Y=5
3. Z=8*5=40
4. 40
5. Fin

d) Dividir un número entero por otro.


 Datos de entrada:
dos números de tipo entero, el primer valor se almacenará en X y el segundo en Y
 Restricciones
Y diferente de 0
 Datos de salida
el resultado de la división de dos números
 Diseño o proceso
1. Inicio
2. dos números de tipo entero, el primer valor se almacenará en X y el segundo en Y
3. Realizar Z=X/Y
4. Mostrar un número de tipo entero representado por Z
5. Fin
 Prueba de escritorio
1. Inicio 
2. X=100, Y=10
3. Z=100/10=10
4. 100
5. Fin

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.

También podría gustarte