Está en la página 1de 6

Guía: Cuadro de Análisis Modular 2016-01

Proceso / Subproceso: nombreProceso_o_Subproceso


Entradas Salidas
Tipo Identificación Tipo Identificación

Proceso:

Terminar.

Tipo:
• Entero
• Real
• Caracter
• Cadena
• Lógico

Identificación: Nombres de las variables. Deben ser autodocumentados o descriptivos; es decir, el


nombre debe dar una idea de lo que va a guardar la variable.

Entradas: Datos que se leen en el proceso principal, o que son recibidos en los subprocesos.

Salidas: Datos que se imprimen (o muestran) en el proceso principal, o que son regresados (o
retornados) por los subprocesos.

Proceso: Conjunto de instrucciones a seguir, para resolver el problema planteado.

Resultados Temporales: Si el análisis lo requiere, son variables que almacenan resultados


intermedios del proceso. No son Entradas ni Salidas. Si existen, deben subrayarse para visualizarlas
en el proceso.

Tener en cuenta:
• La solicitud de datos de entrada en el proceso principal se hace con el verbo Leer.
• La presentación de resultados en el proceso principal se hace con el verbo Imprimir.
• La recepción de datos de entrada en los subprocesos se hace con el verbo Recibir.
• La devolución de datos desde los subprocesos se realiza con el verbo Regresar.
• Se usará el verbo Realizar, el cual debe complementarse con el nombre de la acción a
realizar (que puede ser: asignación, cálculo, incremento, acumulación, concatenación).
• Un subproceso regresa un (y solo uno) valor.
• No usar el verbo Imprimir en los subprocesos.
• La forma de escribir el proceso, debe ser descriptiva.
• Cuando hay decisiones, las instrucciones dentro del “Si” o del “Sino”, van con la
indentación correspondiente.
• Las instrucciones de los ciclos inician con la instrucción: “Procesar para cada ….” y terminan
con una instrucción: “Repetir para el siguiente …”. Las instrucciones al interior del ciclo
deben tener la indentación apropiada.
• El proceso cierra con la instrucción Terminar.

EJEMPLO:
Se tienen dos terrenos de forma rectangular y con diferentes áreas. El precio del metro cuadrado
de tierra es de $ 400 000. A partir de las dimensiones de cada terreno (ancho y largo), en metros,
se quiere construir una solución que permita determinar el área del mayor terreno y su precio de
venta.

A. Proceso principal.
Proceso: principal
Entradas Salidas
Tipo Identificación Tipo Identificación
Real Ancho terreno 1. Real Área mayor.
Real Largo terreno 1. Real Precio terreno mayor.
Real Ancho terreno 2.
Real Largo terreno 2.
Proceso:
Leer Ancho terreno 1, Largo terreno 1, Ancho terreno 2 y Largo terreno 2.
Realizar el cálculo de Área terreno 1, mediante el subproceso calcularArea, pasándole Ancho
terreno 1 y Largo terreno 1.
Realizar el cálculo de Área terreno 2, mediante el subproceso calcularArea, pasándole Ancho
terreno 2 y Largo terreno 2.
Realizar el cálculo de Área mayor, mediante el subproceso calcularAreaMayor, pasándole
Área terreno 1 y Área terreno 2.
Realizar el cálculo de Precio terreno mayor, mediante el subproceso calcularPrecioTerreno,
pasándole Área mayor.
Imprimir Área mayor y Precio terreno mayor.
Terminar.

B. Subproceso calcularArea.
Subproceso: calcularArea
Entradas Salidas
Tipo Identificación Tipo Identificación
Real Ancho. Real Área terreno.
Real Largo.
Proceso:
Recibir Ancho y Largo.
Realizar el cálculo de Área terreno, aplicando la fórmula ( Ancho * Largo ).
Regresar Área terreno.
Terminar.
C. Subproceso calcularAreaMayor.
Subproceso: calcularAreaMayor
Entradas Salidas
Tipo Identificación Tipo Identificación
Real Área terreno 1. Real Área mayor.
Real Área terreno 2.
Proceso:
Recibir Área terreno 1 y Área terreno 2.

Si Área terreno 1 es mayor que Área terreno 2


Realizar la asignación de Área terreno 1 en Área mayor.
Sino
Realizar la asignación de Área terreno 2 en Área mayor.

Regresar Área mayor.


Terminar.

D. Subproceso calcularPrecioTerreno.
Subproceso: calcularPrecioTerreno
Entradas Salidas
Tipo Identificación Tipo Identificación
Real Área terreno. Real Precio terreno.
Proceso:
Recibir Área terreno.
Realizar el cálculo de Precio terreno, aplicando la fórmula (400000 * Área terreno ).
Regresar Precio terreno.
Terminar

Nota: Ver abajo la Interfaz Gráfica de Usuario (GUI).


Interfaz Gráfica de Usuario (GUI)

Implementación en C#, acorde con el Análisis Modular anterior, que resuelve los requerimientos
planteados.

/**
* Se tienen dos terrenos de forma rectangular y con diferentes áreas. El precio del
* metro cuadrado de tierra es de $ 400 000. A partir de las dimensiones de cada
* terreno (ancho y largo), en metros, se quiere construir una solución que permita
* determinar el área del mayor terreno y su precio de venta.
*
*/

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

// Cali, 3 de agosto de 2015.

namespace EjemploDecisionesyCodificacion_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btSalir_Click(object sender, EventArgs e) {


Close();
}

private void btLimpiar_Click(object sender, EventArgs e) {


textBoxAncho1.Clear();
textBoxAncho2.Clear();
textBoxLargo1.Clear();
textBoxLargo2.Clear();
textBoxAreaMayor.Clear();
textBoxPrecioTerreno.Clear();
}

private void btProcesar_Click(object sender, EventArgs e) {


principal(); // Invoca (o llama) al método principal()
}

// Definición del método principal:


public void principal() {
// Lectura de las variables de entrada:
double anchoTerreno1 = double.Parse(textBoxAncho1.Text);
double largoTerreno1 = double.Parse(textBoxLargo1.Text);
double anchoTerreno2 = double.Parse(textBoxAncho2.Text);
double largoTerreno2 = double.Parse(textBoxLargo2.Text);

// Resultados temporales y Variables de salida:


double areaTerreno1 = 0.0;
double areaTerreno2 = 0.0;
double areaMayor = 0.0;
double precioTerreno = 0.0;

// Cálculo de las áreas de los terrenos, llamando el método calcularArea,


// enviándole como argumentos el ancho y el largo de cada terreno:
areaTerreno1 = calcularArea(anchoTerreno1, largoTerreno1);
areaTerreno2 = calcularArea(anchoTerreno2, largoTerreno2);

// Determina la mayor área, llamndo el método calcularAreaMayor,


// enviándole como argumentos las áreas:
areaMayor = calcularAreaMayor(areaTerreno1, areaTerreno2);

// Cálculo del precio del terreno más grande, llamando el método


// calcularPrecioTerreno, enviándole como argumento la mayor área:
precioTerreno = calcularPrecioTerreno(areaMayor);

// Muestra los resultados en cajas de texto:


textBoxAreaMayor.Text = areaMayor.ToString();
textBoxPrecioTerreno.Text = precioTerreno.ToString();

// Definición del método que calcula el área de un rectángulo, a partir de su


// ancho y largo:
public double calcularArea(double anchoTerreno, double largoTerreno) {
double area = 0.0;
area = anchoTerreno * largoTerreno ;
return area;
}

// Definición del método que determina la mayor de dos áreas, recibidas como
// parámetros:
public double calcularAreaMayor(double areaTerreno1, double areaTerreno2) {
double areaMayor = 0.0 ;

if( areaTerreno1 > areaTerreno2 ) {


areaMayor = areaTerreno1;
}
else {
areaMayor = areaTerreno2 ;
}

return areaMayor ;
}

// Definición del método que calcula el precio del terreno, a partir de su


// área:
public double calcularPrecioTerreno( double areaTerreno ) {
double precioTerreno = 0.0 ;
precioTerreno = 400000 * areaTerreno ;
return precioTerreno ;
}

También podría gustarte