You are on page 1of 29

Unidad 2

2023
Estrategia de resolución de
problemas con una computadora

Construcción de Algoritmos
simples
Construcción de algoritmos con
Subprogramas
Un Algoritmo es un conjunto ordenado y finito de pasos que
permite solucionar un problema

propiedades que debe cumplir un


• Precisión algoritmo:
• Finitud
• Efectividad
• Robustez
• Correctitud
• Completitud
• Eficacia
• Eficiencia.
PROBLEMA :
Calcular la
superficie y el
perímetro de un
rectángulo , cuyas
dimensiones se
conocen
Etapas resolución
de problemas
Objetivo
utilizando
computadoras
Ayuda a la comprensión del problema, a comprender
1º Análisis del
¿qué se debe hacer?.
problema
Se lo denomina también especificación del problema. ESTRATEGIA DE
RESOLUCIÓN DE
Permiten explorar soluciones y seleccionar la que se considere PROBLEMAS
(4-pasos)
más adecuada
2º Diseño del
Se determina ¿cómo se debe hacer? Permite indicar cómo el
Algoritmo
algoritmo realizará la tarea

3º Codificación:
Construcción del
programa
Se traduce el algoritmo a un lenguaje de programación para que
pueda ser interpretado y ejecutado por una computadora.
4º Compilación y
ejecución

5º Validación Permite comprobar la solución obtenida

Se registra lo que se realiza durante todo el proceso, y en cada


6º Documentación
una de las distintas etapas.
• ESTRATEGIA DE RESOLUCIÓN
DE PROBLEMAS -

• CONSTRUCCIÓN DE
ALGORITMOS
1º Análisis del problema
PASO
Ayuda a la comprensión del problema Especificaciones
de un problema
Responder :

1º Análisis del Especificación de


¿Qué se debe obtener ? DATOS DE SALIDA
problema. Salidas

¿qué Especificación de
hacer? ¿Con que datos se cuenta? DATOS DE ENTRADA Entradas

¿Existen Restricciones? Condiciones de los datos

ALGORITMO

Entrada PROCESO Salida

Resolver un problema requiere


transformar mediante un Proceso, los
datos de entrada en Datos de Salida
1º Análisis del problema
PASO
Ayuda a la comprensión del problema Especificaciones
de un problema
Responder :
1º Análisis Especificación de
¿Qué se debe obtener ? DATOS DE SALIDA
del Salidas
problema.
¿qué Especificación de
¿Con que datos se cuenta? DATOS DE ENTRADA Entradas
hacer?
¿Existen Restricciones? Condiciones de los datos

DATOS DE DATOS DE PROCESOS


Ejemplo SALIDA ENTRADA
Problema
Calcular superficie y
perímetro de un Superficie base Superficie = base * altura
rectángulo cuyas Perimetro altura
dimensiones se Perimetro = base *2 + altura *2
conocen
DATOS DE DATOS DE PROCESOS
SALIDA ENTRADA
Identificar

las acciones Superficie base Superficie = base * altura
PASO Perimetro altura
del proceso Perimetro = base *2 + altura
*2

ALGORITMO

Entrada PROCESO Salida

Escribir
Leer base Superficie = base * altura
Superficie
Leer altura Perimetro = base *2 + altura * 2 Escribir
Perimetro
3º Elaboración del algoritmo
PASO
ALGORITMO nombre_algoritmo CABECERA
COMIENZO

Declaración de variable Declaraciones

Entrada de datos

CUERPO
Procesos
Acciones

Escritura de resultados

FIN
3º Elaboración del algoritmo -
PASO Ejemplo CABECERA
ALGORITMO Rectangulo del
COMIENZO algoritmo

real base, altura, Perimetro, Superficie Declaraciones

Leer base
Leer altura
CUERPO
Superficie = base * altura del
Perimetro = base *2 + altura *2 Acciones algoritmo

Escribir “Superficie:”,
Superficie
Escribir “Perimetro:”,
Perimetro

FIN
SEGUIMIENTO DEL ALGORITMO

MEMORIA PANTALLA

VARIABLES
base altura Superficie Perimetro SALIDA
SEGUIMIENTO DEL ALGORITMO

MEMORIA PANTALLA

VARIABLES
base altura Superficie Perimetro SALIDA

10 5 50 30 Superficie: 50
Perímetro: 30
ESTRATEGIA DE
RESOLUCIÓN DE PROBLEMAS

CONSTRUCCIÓN DE
ALGORITMOS CON
SUBPROGRAMAS
1º Análisis del problema
PASO
Aplica la
técnica
divide y
vencerás
DYV

DATOS DE SALIDA DATOS DE PROCESOS


ENTRADA
1º Análisis del problema
PASO Identificar los Subproblemas ( Subprocesos – Subprogramas )

ALGORITMO

Entrada PROCESO Salida

Aplica Técnica divide y vencerás ( DYV)


Aplica la
técnica
divide y Subproceso 1 Subproceso N
vencerás SUPERFICIE PERIMETRO
DYV

Subprograma 1 Subprograma N

El problema se divide en subproblemas

El algoritmo se divide en subprogramas


1º Análisis del problema
PASO
Identificar los Subproblemas ( Subprocesos – Subprogramas )

Ayuda a la comprensión del problema Especificaciones de un


problema
Responder :

1º Análisis del ¿Qué se debe obtener ? DATOS DE SALIDA Especificación de


problema. Salidas
¿qué Especificación de
hacer? ¿Con que datos se cuenta? DATOS DE ENTRADA Entradas

¿Existen Restricciones? Condiciones de los datos

DATOS DE DATOS DE PROCESOS


Ejemplo SALIDA ENTRADA
Problema
Calcular superficie y Leer datos
perímetro de un Superficie base Calcular superficie
rectángulo cuyas Perimetro altura Calcular perímetro
dimensiones se
conocen Mostrar resultados

Identificar los Subproblemas ( Subprocesos – Subprogramas ) –
PASO
Descripción de cada uno

ALGORITMO

Entrada PROCESO Salida

Aplica Técnica divide y vencerás ( DYV)

Subproceso 1 Subproceso Subproceso N


....
..

Subprograma 1 Subprograma N

El problema se divide en
subproblema
El algoritmo se divide en
subprograma
2º Identificar los Subproblemas ( Subprocesos – Subprogramas )
PASO Descripción de cada uno

Nombre_Subprograma 1 Nombre_Subprograma N

Subproceso ..

Leer base, altura

Sup_Rect : Calcula superficie del rectángulo.


Entrada base y altura Salida:Superficie
Per_Rect : Calcula perímetro del Rectángulo.
Entrada : base, altura. Salida: Perimetro
Mostrar: Informa resultados.
Entrada : Superficie y Perímetro - Salida: Mensaje
3º Elaboración del algoritmo principal
PASO
nombrealgoritmo
Sección de
Definición
de los
Subprogra
mas.

ATENCIÓN!!!
La ejecución
comienza en el
algoritmo
principal.
3º Elaboración del algoritmo principal
PASO ALGORITMO nombre_algoritmo

SUBPROGRAMA

/*-------------Algoritmo principal --------------*/


Comienzo Parámetro
actuales o
declaración de variables locales reales
. . . Acciones ------- transfieren
Se escribe las los datos al
R = nombre_subprograma ( parámetros actuales )
llamadas a subprograma
subprogramas nombre_subprograma ( parámetros actuales )
Escribir (nombre_subprograma ( parámetros actuales ))

Fin.
3º Elaboración del algoritmo principal En el ejemplo
PASO ALGORITMO nombre_algoritmo

SUBPROGRAMA

/*-------------Algoritmo principal --------------*/


Comienzo Parámetro
Real base, altura, superficie, perímetro actuales o
reales
transfieren
leer base, altura los datos al
Se escribe las subprograma
superficie = Sup_Rect ( base, altura)
llamadas a
subprogramas perímetro = Per_Rect ( base, altura)
Mostrar ( superficie, perimetro)

Fin.

PASO ALGORITMO nombre_algoritmo

Definición de
subprogramas /*------------- definición de subprograma1---------------*/

Caso 1: tipo de resultado nombre_subprograma1 (parámetros formales)


comienzo
/*Encabezado*/

Retorna
declaraciones de variables locales
un sólo
acciones /*Cuerpo del
resultado subprograma*/
retorna( resultado)
fin

/*-------------Algoritmo principal --------------*/


Comienzo
R = nombre_subprograma ( parámetros actuales ) En una asignación

Llamadas al
subprograma Escribir (nombre_subprograma ( parámetros actuales )) En una escritura

H= 4+ nombre_subprograma ( parámetros actuales )- 9 En una expresión

Fin

PASO
ALGORITMO nombre_algoritmo

Definición de
/*------------- definición de subprograma1---------------*/
subprograma /*Encabezado*/
Void nombre_subprograma1 (parámetros formales)
Caso 2: comienzo
Retorna declaraciones de variables locales
0 ( cero) acciones /*Cuerpo del
resultado subprograma*/
Retorna ()
fin

/*-------------Algoritmo principal --------------*/


Comienzo
declaración de variables locales
...
llamada al
subprograma nombre_subprograma ( parámetros actuales )
……

Fin.

You might also like