Está en la página 1de 33

UNIVERSIDAD PERUANA DE

CIENCIAS APLICADAS
RESOLUCIÓN DE PROBLEMAS
FASES EN LA RESOLUCIÓN DE PROBLEMAS

• Análisis del problema


• Diseño del algoritmo
• Codificación
• Compilación y ejecución
• Verificación
• Depuración
• Mantenimiento
• Documentación
• Análisis. El problema se analiza teniendo presente la especificación
de los requisitos dados por el cliente de la empresa o por la persona
que encarga el programa.

• Diseño. Una vez analizado el problema, se diseña una solución que


conducirá a un algoritmo que resuelva el problema.

• Codificación (implementación). La solución se escribe en la sintaxis


del lenguaje de alto nivel (por ejemplo, Pascal) y se obtiene un
programa fuente que se compila a continuación.

• Ejecución, verificación y depuración. El programa se ejecuta, se


comprueba rigurosamente y se eliminan todos los errores
(denominados “bugs”, en inglés) que puedan aparecer.

• Mantenimiento. El programa se actualiza y modifica, cada vez que


sea necesario, de modo que se cumplan todas las necesidades de
cambio de sus usuarios.

• Documentación. Escritura de las diferentes fases del ciclo de vida


del software, esencialmente el análisis, diseño y codificación, unidos a
manuales de usuario y de referencia, así como normas para el
mantenimiento.

4
Análisis del problema
Esta fase requiere una clara definición, donde se contemple
exactamente lo que debe hacer el programa y el resultado o
solución deseada. La siguiente figura muestra los requisitos que se
deben definir en el análisis:
ALGORITMOS
ALGORITMO

 Un algoritmo es un método usado para resolver un


problema usando una secuencia finita de
instrucciones.
 •En el año 825, el matemático, astrónomo y
geógrafo persa Al-Khwārizmī escribió un tratado en
árabe “Sobre los cálculos con el sistema de
numeración indo-arábigo”. Posteriormente (S. XII),
la obra fue traducida al latín como Algoritmi, de
donde se derivó la palabra algoritmo.
 •Se pueden representar mediante:
–Diagramas de flujo o
–Pseudocódigos
Características de un algoritmo

 Debe ser preciso. Se debe indicar la secuencia de


realización de las instrucciones.

 •Debe ser definido. Cada vez que se sigue un


algoritmo, se debe obtener el mismo resultado.

 •Debe ser finito. Si se sigue un algoritmo, se debe


terminar en algún momento, es decir, debe tener
un número finito de pasos.
Esquema de un algoritmo
1. Identificación de los datos requeridos para resolver
el problema. Estos pueden ser: números, textos,
fechas, etc. y pueden ser mencionados de manera
explícita o implícita en el enunciado del problema a
resolver.

2. Identificación clara de la respuesta solicitada,


pudiendo ser más de una (independientes o
relacionadas).

3. La determinación de la operación, o instrucciones


que permitirán resolver el problema

4. Mostrarla respuesta solicitada


Ejemplo 1
Elabore un algoritmo que permita resolver una
ecuación cuadrática. 𝑎𝑥 2 + 𝑏𝑥 + 𝑐 = 0
Solución

inicio

Leer los 1. Lectura de los coeficientes de la ecuación


datos cuadrática: 𝑎, 𝑏 y 𝑐.

2. Si 𝑎 ≠ 0 pasar al siguiente paso, caso contrario


Decisión solicitar nuevos datos.

Operación 3. Determinar las dos raíces de la ecuación: 𝒙𝟏 , 𝒙𝟐


(proceso) −𝒃± 𝒃𝟐 −𝟒𝒂𝒄
Aplicar la fórmula: 𝒙𝟏 , 𝒙𝟐 =
𝟐𝒂

Salida de
información
4. Mostrar 𝒙𝟏 , 𝒙𝟐

fin
Ejemplo 2
Elabore un algoritmo que permita calcular quién es la
persona de mayor edad si se conocen las edades de dos de
ellas.
Solución
inicio

Leer los 1. Leer las edades:


datos Edad1 y Edad2

2.
Decisión Si Edad1 > Edad2 Entonces Mayor edad = Edad1
Si Edad2 > Edad1 Entonces Mayor edad = Edad2
Si Edad1 = Edad2 Entonces Mayor edad = no hay

Operación
(proceso)

Salida de
información
3. Mostrar Mayor edad

fin
Diagrama de flujo

Es la representación gráfica de un algoritmo.

Símbolos básicos
13
Pseudocódigo

 Es la descripción de un algoritmo diseñado para la


lectura humana (en lenguaje humano), no para el
computador (lenguaje de programación o código
de máquina).

 El pseudocódigo es independiente del lenguaje de


programación en el que se programará.

 Omite detalles particulares del lenguaje de


programación tales como: declaración de variables
y constantes, comentarios, etc.
Ejemplo 3
Elabore un algoritmo y un diagrama de flujo que permitan calcular el
área de un triángulo. Si el usuario ingresa valores negativos para la base
y altura, el programa mostrará un mensaje “Datos errados”

Solución
Diagrama de flujo Pseudocódigo

Inicio

1. Ingresar B, H

2. Si (B > 0 y H > 0) Entonces


A ← (B * H) / 2
Mostrar A

De otro modo
Mostrar “Datos errados”

Fin de Si

Fin
Ejemplo 4
Elabore un algoritmo y un diagrama de flujo que calcule el área de un
círculo y la longitud de la circunferencia. Si el usuario ingresa un valor
negativo para el radio, el programa regresará a pedir el valor del radio.

Solución
Diagrama de flujo Pseudocódigo

Inicio

1. Ingresar (leer) R

2. Si R > 0 Entonces
A ← 𝜋 * R^2
L ←2 * 𝜋* R
Mostrar: A, L

De otro modo
Regresar al paso 1

Fin de Si

Fin
UNIVERSIDAD PERUANA DE
CIENCIAS APLICADAS
TIPOS DE INSTRUCCIONES
TIPOS DE INSTRUCCIONES

1. instrucciones de inicio/fin
2. instrucciones de asignación
3. instrucciones de lectura
4. instrucciones de escritura
5. instrucciones de bifurcación
Instrucciones de asignación
Las instrucciones de asignación asignan un valor o expresión a
una variable o constante.

Ejemplos

a) A ← 80
Respuesta: la variable A toma el valor de 80.

b) ¿Cuál será el valor que tomará la variable C tras la ejecución de


las siguientes instrucciones?

A ← 12
B←A
C←B
c) Cuál es el valor de la variable AUX al ejecutarse la instrucción 5?
1. A ← 10
2. B ← 20
3. AUX ← A
4. A ← B
5. B ← AUX

Respuesta:

• en la instrucción 1, A toma el valor 10


• en la instrucción 2, B toma el valor 20
• en la instrucción 3, AUX toma el valor anterior de A, o sea 10
• en la instrucción 4, A toma el valor anterior de B, o sea 20
• en la instrucción 5, B toma el valor anterior de AUX, o sea 10
• tras la instrucción 5, AUX sigue valiendo 10.

d) ¿Cuál es el significado de N ← N + 5 si N tiene el valor actual de 2?

5
Ejemplo

¿Cuáles son los valores de A, B y C después de la ejecución de


las siguientes operaciones?
A←3
B←4
C←A+2*B
C←C+B
B←C-A
A←B*C

Ejemplo

¿Cuál es el valor de x después de las siguientes operaciones?


x←2
x ← (x + x)^2
x ← (x + (x)^0.5 + 5)^0.5

6
Instrucciones de entrada
Las instrucciones de entrada y salida son utilizadas para dar
acceso a datos externos al programa. Este grupo
de instrucciones cubre las funciones de lectura, impresión y
grabación en sus más variadas formas.
Ejemplos

Ejemplo:

leer (A, B, C)

Si se leen 100, 200, 300, se asignarían a las variables los


siguientes valores:
A = 100 B = 200 C = 300
Instrucciones de bifurcación
Instrucciones de escritura de resultados (salida)
Estas instrucciones se escriben en un dispositivo de salida. Explicar
el resultado de la ejecución de las siguientes instrucciones:

Ejemplo:

A ← 100
B ← 200
C ← 300

escribir (A, B, C)

Se visualizarían en la pantalla o imprimirían en la impresora los


valores 100, 200 y 300 que contienen las variables A, B y C.
Constantes y variables

Una constante es un dato que permanece sin cambios durante todo


el desarrollo del algoritmo o durante la ejecución del programa.
Ejemplo: 𝜋

Una variable es un objeto o tipo de datos cuyo valor puede cambiar


durante el desarrollo del algoritmo o ejecución del programa.

10
Ejemplo
Se desea realizar el algoritmo que resuelva el siguiente problema: Cálculo de los salarios
mensuales de los empleados de una empresa, sabiendo que éstos se calculan en base a las
horas semanales trabajadas y de acuerdo a un precio especificado por horas. Si se pasan
de cuarenta horas semanales, las horas extraordinarias se pagarán a razón de 1,5 veces la
hora ordinaria.

Los cálculos son:


1. Leer datos del archivo de la empresa (HORAS, PRECIO_HORA, NOMBRE).
2. Si HORAS <= 40, entonces SALARIO es el producto de horas por
PRECIO_HORA.
3. Si HORAS > 40, entonces SALARIO es la suma de 40 veces PRECIO_HORA
más 1.5 veces PRECIO_HORA por (HORAS-40).

11
12
Ejemplo

Dados tres números, determinar si la suma de cualquier pareja de ellos es igual al


tercer número. Si se cumple esta condición, escribir “Iguales” y, en caso contrario,
escribir “Distintas”.

Los cálculos son:

1. Leer los tres valores, A, B y C.


2. 2. Si A + B = C escribir "Iguales" y parar.
3. 3. Si A + C = B escribir "Iguales" y parar.
4. 4. Si B + C = A escribir "Iguales" y parar.
5. 5. Escribir "Distintas" y parar.

13
14
Ejemplo
Interprete el siguiente diagram de flujo que permite calcular la suma de los cincuenta
primeros números enteros.

15

También podría gustarte