Está en la página 1de 18

ELEMENTOS DE

PROGRAMACIÓN
CURSADO 2022
UNIDAD 1
RESOLUCIÓN DE
PROBLEMAS COMPUTABLES
FASE I: Comprender el problema
I.1 Reconocer términos
I.2 Identificar Entrada/s, Salida/s y Condición/es
I.3 Diseñar caso/s de prueba: un caso de prueba está constituido por una
colección de datos de entrada y las condiciones o restricciones que sobre ellos
operan, necesarios para obtener la salida del diagrama que modela la solución del
problema.
Ejemplo:
Dados los números enteros a, b y c (a<>0), correspondientes al coeficiente cuadrático, al
coeficiente lineal y al término independiente de una ecuación cuadrática, respectivamente,
determinar la naturaleza de las raíces de la ecuación.
I.1 Reconocer términos
¿Reconozco qué es una ecuación cuadrática?¿cómo se denominan las constantes?¿cómo pueden
ser las raíces? ¿qué significa a<>0?
I.2 Identificar Entrada/s, Salida/s y Condición/es
Entrada: a, b y c. Condiciones sobre los datos de entrada: todos son enteros; a es distinto de cero.
Salida: un mensaje que indique “dos raíces reales distintas” o “una raíz real de multiplicidad
doble” 0 “dos raíces complejas conjugadas”.
I.3 Diseñar caso/s de prueba:
CP 1) Entrada: a=1; b=-2; c=-35 entonces Salida “dos raíces reales distintas”
CP2) Entrada: a=1; b=-4; c=4 entonces Salida “una raíz real de multiplicidad doble”
CP 3) Entrada: a=2; b=1; c=2 entonces Salida “dos raíces complejas conjugadas”
FASE II: Seleccionar componentes Los componente son elementos
con una finalidad precisa y única

Esta fase se corresponde con la de concebir un plan.


¿Qué recursos (componentes) dispongo para solucionar el problema?
• Un componente que permita ingresar los datos de Entrada
• Un componente para procesar los datos de Entrada y asignar valor al discriminante
• Un componente para analizar qué condición cumple el discriminante
• Un componente para mostrar el mensaje de Salida según la condición analizada
FASE III: Diseñar el algoritmo
Un algoritmo es una lista secuencial de tareas elementales que pueden ser
realizadas por un sujeto.

Algoritmo en lenguaje natural:

Paso 1: ingresar un valor para a


Paso 2: ingresar un valor para b
Paso 3: ingresar un valor para c
Paso 4: calcular (b2 – 4ac) asignando a DIS el resultado
Paso 5: Si DIS>0 mostrar “dos raíces reales distintas”
Sino
Si DIS=0 mostrar “una raíz real de multiplicidad doble”
Sino mostrar “dos raíces complejas conjugadas”
Paso 6: finalizar
FASE IV: Prueba de escritorio (CP1)
En una tabla registramos el resultado producido por cada paso del algoritmo al aplicar el Caso
de Prueba previamente diseñado en la Fase I. La última columna siempre registra la Salida del
algoritmo.
CP1) Entrada: a=1; b=-2; c=-35 Paso 1: ingresar un valor para a
Paso 2: ingresar un valor para b
Paso 3: ingresar un valor para c
a b c DIS Salida Paso 4: calcular (b2 – 4ac) asignando a DIS el resultado
1 -2 -35 144 dos raíces reales distintas Paso 5: Si DIS>0 mostrar “dos raíces reales distintas”
Sino
Si DIS=0 mostrar “una raíz real de multiplicidad doble”
Sino mostrar “dos raíces complejas conjugadas”
Paso 6: finalizar

La Prueba de Escritorio verifica que la Salida es, efectivamente: “dos raíces reales distintas”
FASE IV: Prueba de escritorio (CP2)
En una tabla registramos el resultado producido por cada paso del algoritmo al aplicar el Caso
de Prueba previamente diseñado en la Fase I. La última columna siempre registra la Salida del
algoritmo.
CP2) Entrada: a=1; b=-4; c=4
Paso 1: ingresar un valor para a
Paso 2: ingresar un valor para b
a b c DIS Salida Paso 3: ingresar un valor para c
Paso 4: calcular (b2 – 4ac) asignando a DIS el resultado
1 -4 4 0 una raíz real de multiplicidad doble
Paso 5: Si DIS>0 mostrar “dos raíces reales distintas”
Sino
Si DIS=0 mostrar “una raíz real de multiplicidad doble”
Sino mostrar “dos raíces complejas conjugadas”
Paso 6: finalizar

La Prueba de Escritorio verifica que la Salida es, efectivamente: “una raíz real de multiplicidad
doble”
FASE IV: Prueba de escritorio (CP3)
En una tabla registramos el resultado producido por cada paso del algoritmo al aplicar el Caso
de Prueba previamente diseñado en la Fase I. La última columna siempre registra la Salida del
algoritmo.
CP3) Entrada: a=2; b=1; c=2
Paso 1: ingresar un valor para a
Paso 2: ingresar un valor para b
a b c DIS Salida Paso 3: ingresar un valor para c
Paso 4: calcular (b2 – 4ac) asignando a DIS el resultado
2 1 2 -15 dos raíces complejas conjugadas
Paso 5: Si DIS>0 mostrar “dos raíces reales distintas”
Sino
Si DIS=0 mostrar “una raíz real de multiplicidad doble”
Sino mostrar “dos raíces complejas conjugadas”
Paso 6: finalizar

La Prueba de Escritorio verifica que la Salida es, efectivamente: “dos raíces complejas
conjugadas”
OTRO EJEMPLO
FASE I: Comprender el problema
I.1 Reconocer términos
I.2 Identificar Entrada/s, Salida/s y Condición/es
I.3 Diseñar caso/s de prueba: un caso de prueba está constituido por una
colección de datos de entrada y las condiciones o restricciones que sobre ellos
operan, necesarios para obtener la salida del diagrama que modela la solución del
problema.
Ejemplo:
Dadas las coordenadas de un punto del plano y un número real correspondiente al radio de
un círculo cuyo centro es el origen de coordenadas, indicar si el punto es interior o exterior al
círculo.
I.1 Reconocer términos
¿Reconozco qué es un punto del plano, qué es un círculo y qué es el origen de
coordenadas?¿cuáles son los elementos de un punto y de un círculo?¿cómo se puede establecer si
un punto es interior o exterior a un círculo?
I.2 Identificar Entrada/s, Salida/s y Condición/es
Entrada: x, y, radio. Condiciones sobre los datos de entrada: números reales; radio debe ser
mayor que cero.
Salida: un mensaje que indique “es interior” o “es exterior” 0 “pertenece a la circunferencia”.
I.3 Diseñar caso/s de prueba:
CP 1) Entrada: x=3; y=-2; radio=4 entonces Salida “es interior”
CP2) Entrada: x=0.3; y=-5; radio =2 entonces Salida “es exterior”
CP 3) Entrada: x=4; y=3; radio =5 entonces Salida “pertenece a la circunferencia”
FASE II: Seleccionar componentes Los componente son elementos
con una finalidad precisa y única

Esta fase se corresponde con la de concebir un plan.


¿Qué recursos (componentes) dispongo para solucionar el problema?
• Un componente que permita ingresar los datos de Entrada
• Un componente para calcular la distancia del punto al origen y asignar es valor a Distancia
• Un componente para analizar la Distancia y el radio y determinar el tipo de punto
• Un componente para mostrar el mensaje de Salida según el tipo de punto
FASE III: Diseñar el algoritmo
Un algoritmo es una lista secuencial de tareas elementales que pueden ser
realizadas por un sujeto.

Algoritmo en lenguaje natural:

Paso 1: ingresar un valor para x


Paso 2: ingresar un valor para y
Paso 3: ingresar un valor para radio
Paso 4: calcular (x2 + y2) asignando a Distancia el resultado
Paso 5: Si Distancia<radio mostrar “es interior”
Sino
Si Distancia>radio mostrar “es exterior”
Sino mostrar “pertenece a la circunferencia”
Paso 6: finalizar
FASE IV: Prueba de escritorio (CP1)
En una tabla registramos el resultado producido por cada paso del algoritmo al aplicar el Caso
de Prueba previamente diseñado en la Fase I. La última columna siempre registra la Salida del
algoritmo.
Paso 1: ingresar un valor para x
CP1) Entrada: : x=3; y=-2; radio=4 Paso 2: ingresar un valor para y
Paso 3: ingresar un valor para radio
x y radio Distancia Salida
Paso 4: calcular (x2 + y2) asignando a Distancia el resultado
3 -2 4 3,60555 es interior Paso 5: Si Distancia<radio mostrar “es interior”
Sino
Si Distancia>radio mostrar “es exterior”
Sino mostrar “pertenece a la circunferencia”
Paso 6: finalizar

La Prueba de Escritorio verifica que la Salida es, efectivamente: “es interior”


FASE IV: Prueba de escritorio (CP2)
En una tabla registramos el resultado producido por cada paso del algoritmo al aplicar el Caso
de Prueba previamente diseñado en la Fase I. La última columna siempre registra la Salida del
algoritmo.
CP2) Entrada: x=0.3; y=-5; radio =2 Paso 1: ingresar un valor para x
Paso 2: ingresar un valor para y
Paso 3: ingresar un valor para radio
x y radio Distancia Salida
Paso 4: calcular (x2 + y2) asignando a Distancia el resultado
0.3 -5 2 5,0089 es exterior Paso 5: Si Distancia<radio mostrar “es interior”
Sino
Si Distancia>radio mostrar “es exterior”
Sino mostrar “pertenece a la circunferencia”
Paso 6: finalizar

La Prueba de Escritorio verifica que la Salida es, efectivamente: “es exterior”


FASE IV: Prueba de escritorio (CP3)
En una tabla registramos el resultado producido por cada paso del algoritmo al aplicar el Caso
de Prueba previamente diseñado en la Fase I. La última columna siempre registra la Salida del
algoritmo.
CP3) Entrada: x=4; y=3; radio =5 Paso 1: ingresar un valor para x
Paso 2: ingresar un valor para y
Paso 3: ingresar un valor para radio
x y radio Distancia Salida
Paso 4: calcular (x2 + y2) asignando a Distancia el resultado
4 3 5 5 pertenece a la Paso 5: Si Distancia<radio mostrar “es interior”
circunferencia Sino
Si Distancia>radio mostrar “es exterior”
Sino mostrar “pertenece a la circunferencia”
Paso 6: finalizar

La Prueba de Escritorio verifica que la Salida es, efectivamente: “pertenece a la


circunferencia”
¿Cómo seguimos?
El producto que se obtiene finalizada la fase IV es un algoritmo probado cuya
funcionalidad responde a la formulación del problema, como pudimos constatar en nuestro
ejemplo.
Ahora, te sugerimos que intentes resolver hasta el ejercicio 4 del TP de la Unidad 1,
recordando que debes:
a) Determinar los datos de Entrada y Salida (E/S).
b) Plantear al menos 2 Casos de Prueba.
c) Diseñar un Proceso para resolver el problema.
d) Ejecutar la Prueba de Escritorio del Proceso, con los Casos de Prueba de b).

También podría gustarte