Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivo: Aplicar una metodología que le permita desarrollar soluciones informáticas a través
del análisis, diseño y programación de dichas soluciones.
Contenido de la Unidad:
Introducción
1. Resolución de problemas informáticos
1.1. Conceptos Generales
1.2. Proceso solucionador de problemas
1.2.1. Formulación del problema
1.2.2. Análisis del Problema
1.2.3. Búsqueda de soluciones
1.2.4. Decisión
1.2.5. Especificación
1.3. Uso del proceso solucionador de problemas en la asignatura
1.3.1. Planteamiento del problema
1.3.2. Análisis del problema
1.3.3. Diseño de la solución
1.3.4. Codificación de la solución
1.3.5. Depuración de la solución
1.4. Algoritmos
1.4.1. Definición de Algoritmo
1.4.2. Representación de un Algoritmo
1.4.3. Pseudo-código
1.5. Ejemplos de resolución de problemas
2. Modularidad
2.1. Definición
2.2. Técnicas de diseño modular
2.3. Diseño descendente o Top – down
2.4. Ventajas de la modularidad
2.5. Conceptos relacionados con programación modular
2.6. Ejemplo de solución de problemas aplicando modularidad
1
Introducción
En esta unidad se inicia el desarrollo de la capacidad analítica para resolver problemas, aplicando
una metodología que permita solucionar un problema de forma sencilla, ordenada y eficaz. Para
llegar a comprender esta metodología se estandarizarán ciertos conceptos que servirán tanto en
esta unidad como en las que le siguen.
1.1.Conceptos Generales. Cairó (2005) dice que "casi inconscientemente, los humanos
efectuamos cotidianamente una serie de pasos o acciones que nos permiten alcanzar un
resultado o resolver un problema". Efectivamente si reflexionamos por un momento nuestra rutina
diaria encontraremos variedad de situaciones (problemas) que debemos resolver y sin excepción
alguna debe seguirse un proceso o serie de pasos para resolver cada uno (lo que conocemos
como algoritmo)
• Tomar un baño.
• Tomar el desayuno.
• Limpiar el calzado.
• Elegir la vestimenta.
• Que autobús tomar.
Problema: Es una situación real, que tiene ciertas condiciones y/o restricciones, que se necesita
transformar.
Un problema involucra algo más que hallar una solución, requiere la mejor forma de lograr la
transformación deseada, y para ello se debe elegir entre todas las posibles soluciones cual es la
2
óptima. Una norma de preferencia para seleccionar de entre varias soluciones se conoce como
criterio, por ejemplo cierto tipo de zapato obtiene una mejor limpieza y protección si se le aplica
betún. Es difícil imaginar un problema que no tenga ciertas exigencias o restricciones a las
soluciones. Una restricción es algo que debe cumplir una solución y se relacionan con las
condiciones iniciales o datos del problema, por ejemplo si el tipo de zapato solo admite betún no
debe aplicarse agua. Es necesario evitar confundir criterio con restricción. Si se retoman los
ejemplos anteriores debe quedar claro que el criterio es usar betún, no quiere decir que no se
pudo usar agua, según el análisis se ha elegido usar betún, en cambio el ejemplo de restricción
valida que si se cumple con cierta condición, en este caso que el tipo de zapato solo acepta betún
no permite que se aplique agua.
• Formulación del Problema. Definición amplia, sin detalle del problema en cuestión.
• Análisis del Problema. Definición detallada del problema.
• Búsqueda de Soluciones. Acumulación de soluciones alternativas aplicando la invención,
la investigación, etc.
• Decisión. Evaluación, comparación y selección de las alternativas hasta descubrir la
mejor.
• Especificación. Documentación completa de la solución seleccionada.
1.2.1. Formulación del problema. Es la definición amplia, sin detalles del problema en
cuestión. Todo problema se puede formular oral o en forma de diagrama, en papel o en la
mente. En muchos casos bastará con usar unas cuantas palabras o con elaborar un sencillo
diagrama. El método de la caja negra que se emplea para visualizar problemas es un método
de formulación diagramática.
3
Estado A Un problema Estado B
En la etapa de formulación del problema, no se sabe que hay en la caja negra, ni tampoco
es de interés. No hay reglas firmes y rápidas para la formulación de problemas. Cuando se
ataca un problema, es de esperar que, desde el primer momento, se escoja cuidadosamente
el problema que se intenta resolver. Se debe luchar por lograr una visión amplia y ordenada
de cada problema antes de interesarse por las soluciones posibles y adentrarse en cualquier
tipo de detalles. Después de hacerlo, se puede y debe definir el problema al detalle.
1.2.2. 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 (Joyanes,
2013). Los componentes del análisis del problema son:
• Variables de entrada: Característica dinámica del estado A. Se responde a la pregunta ¿qué
entradas se requieren? documentando los tipos de datos con los cuales se trabaja y la
cantidad. Un problema Averiguar si un número es primo.
• Criterios: durante el análisis se deben identificar los criterios que se deben usar para
seleccionar la mejor solución. En realidad, los criterios no cambian radicalmente de un
problema de Ingeniería a otro; el costo de fabricación, la seguridad, la confiabilidad, la
apariencia, la facilidad de uso y el costo de mantenimiento son criterios que se aplican en
casi todos los casos. Pero el peso relativo con que se aplican estos criterios puede cambiar
en forma significativa. La restricción es una proposición que implica selección entre dos
posibilidades. La solución satisface o no satisface a la restricción. El criterio, siendo un valor
contra el cual se juegan las soluciones, es una cuestión de grado, algunas soluciones son
más o menos atractivas que otras. El criterio no tiene el corte limpio, o la característica de
pasa/no pasa de una restricción.
4
los esfuerzos en realizar una búsqueda real y eficaz (en su mente, en obras escritas y en
todo el mundo que le rodea) para encontrar soluciones. Las soluciones tienden a parecerse
mucho a la manera actual de resolver el problema, porque la solución ya conocida de un
problema tiene gran fuerza de atracción. Después de que la gente ha vivido con cierta
solución algún tiempo y se ha acostumbrado a ella, sus ideas parecen ir sobre rieles en esa
dirección. Consideraciones sobre el método de búsqueda
• Primero se lleva al máximo el número y la variedad de soluciones que se puedan aplicar,
ampliando el espacio de solución tanto como resulte práctico.
• En seguida aproveche al máximo ese espacio de soluciones expandido; en su interior haga
eficazmente la búsqueda.
• Método sistémico
o Árbol de Alternativas.
• Método aleatorio
o Lluvia de Ideas.
Algo que no se debe hacer es dejarse abrumar por los detalles antes de que sea necesario
y evitar la evaluación prematura, si el problema es complejo estudiaremos más adelante
como dividirlo en sub-problemas de ser necesario.
4. Hacer la elección.
• Costo de operación
• Seguridad
• Disponibilidad
• Aceptación del público
• Destreza que se requiere para la operación
5
solución a las personas que se encargarán de su construcción, operación o mantenimiento,
para que puedan cumplir satisfactoriamente con su responsabilidad.
Problema formulado
Otros hechos y opiniones importantes
Información, opiniones, tradiciones y otros datos de carácter secundario
Investigación
Decisión
Solución preferida
Especificación
Para resolver los problemas de forma ordenada y sencilla, utilizaremos este proceso con
ciertas modificaciones que lo vuelven funcional para los fines de la asignatura. El Proceso
Solucionador de Problemas, es conocido también como Metodología para Resolver
Problemas. A continuación presentamos los pasos necesarios para resolver problemas:
6
El proceso abarca las actividades y eventos que transcurren entre el reconocimiento de un
problema y la especificación de una solución del mismo que sea funcional, económica y
satisfactoria.
1.3.1. Planteamiento del problema. Con esta etapa se debe comprender el problema, es
tener claro que lo que queremos obtener y con que contamos actualmente para conseguirlo.
¿Se intentaría resolver un problema sin saber en qué consiste? Seguramente que no, por
ello no debemos inclinarnos a intentarlo si no lo sabemos. Los objetivos principales de la
formulación de un problema son:
Estas son cosas que deben conocerse al principio, antes de empezar a resolver el problema.
Con frecuencia no se le presenta el verdadero problema al ingeniero, más bien, él mismo
debe determinar en qué consiste. Esto suele ser difícil porque su naturaleza a menudo es
encubierta por mucha información sin importancia, soluciones que se emplean
corrientemente, opiniones que originan confusión y por las formas tradicionales y
desventajosas de considerar un problema. En esta fase del proceso, se debe identificar la
transformación que se desea expresando en términos generales el problema particular,
ignorando los detalles por el momento y concentrándose en la identificación de los estados
inicial y estado final de la situación en cuestión o problema, llamado también estado A y B.
ESTADO A ESTADO B
Proceso
Ejemplo 1.3.1.: Diseñe una solución que le permita verificar si un número es primo.
7
Planteamiento del problema
Ejemplo 1.3.3.: Diseñe una solución que permita calcular para 1 estudiante el promedio de
notas de sus 5 evaluaciones.
En este ejemplo la salida solo se refiere a valores calculados. Cuando se estudie modularidad
se verá que algunos subprogramas devuelven valores sin mensajes y otros muestran
mensajes sin devolver valor.
a. Definir las variables de salida: ¿Qué se nos pide?, ¿Qué resultados queremos?, ¿Cuáles
incógnitas debemos obtener? Debe tenerse en cuenta que todo lo que se nos pide siempre
son datos variables.
b. Definir Datos de entrada: ¿Qué datos tenemos?, ¿Son estos suficientes? ¿Son datos
variables o constantes? En este punto debe de diferenciarse los datos variables de los datos
constantes, asignando tipos de datos. Si son constantes especificar su valor.
d. Criterios: ¿Qué criterios se utilizarán para seleccionar el mejor diseño? Realmente, los
criterios cambian muy poco de problema a problema. Generalmente van asociados a costos,
tiempo o recursos necesarios. Para efectos de la asignatura, no sé incluirán en la
documentación del análisis.
8
e. Detallar los procesos necesarios para transformar el estado A
en B: ¿Qué fórmulas, ecuaciones, modelos, procesos, etc. necesitamos para obtener
resultados a partir de los datos de entrada? En la asignatura trabajaremos solo con Diseño
de la Solución a través de pseudocódigo.
f. Definir las variables de proceso: Las variables de proceso son aquellas que se generan
o producen durante el proceso, para obtener el estado B, pero no son de entrada ni de salida.
Cabe mencionar que no todos los análisis de problemas se documentan variables de proceso.
1.3.3. Diseño de la solución. En esta etapa ya tenemos una idea clara de cómo solucionar
el problema, en el caso particular de la materia, la solución así diseñada se conoce como:
ALGORITMO, y consiste en ordenar todo lo que tenemos en el Análisis: conocer los datos
de entrada, procesar o realizar los cálculos necesarios en el orden debido y por último
especificar los datos de salida o información. Esta etapa requiere de mucho ingenio y
creatividad.
a. Error de compilación, se producen por el uso incorrecto de las reglas del lenguaje de
programación, estos errores se conocen con el nombre de “errores de Sintaxis”.
1.4. Algoritmos.
1.4.1. Definición de Algoritmo: Es una descripción ordenada y breve de los pasos a seguir
para realizar una tarea o actividad y con ello resolver un problema manualmente o por medio
de una máquina. Las principales características que los algoritmos deben reunir son las
siguientes:
9
Precisión: Los pasos a seguir en el algoritmo deben ser precisados claramente.
Algoritmo
Algoritmo narrado: Usando nuestro idioma natural, con nuestras propias palabras, se
detallan los pasos a realizar para resolver un problema.
10
Algoritmo esquematizado: Usando una serie de símbolos para representar cada paso del
algoritmo. A este esquema de solución se le llama Diagrama de Flujo o Flujograma, también
se puede representar mediante una Carta Nazzi Shneiderman o utilizarse símbolos
estandarizados para diagramas de flujo como los de American National Estándar Institute
(ANSI), Internacional Organization for Standarization (ISO).
a,b
11
Hacer Hacer i=i+1
i=i+1
a>b
Cálculo de descuento
por préstamos
12
operación2
3. Escribir "Mensaje" variables
Ahora que sabemos qué hacer para plantear, analizar y diseñar la solución a un problema.
Ejemplo 1.5.1.: Diseñe una solución que le permita multiplicar dos números.
Planteamiento del problema
Variables
c) Restricciones
No hay restricciones
d) Proceso
En el proceso se define a grandes rasgos lo que debe hacerse. En este caso el proceso
será multiplicar los dos números
pro= num1*num2
13
e) Variables de proceso: Aquí se definen variables que será necesario utilizar en el
programa sin embargo, no son variables de entrada ni de salida.
En este caso no hay variables de proceso, ya que se encuentra la variable de salida con
una operación directa de las variables de entrada.
Diseño de la solución
Pseudo-código Flujograma
Inicio
multiplicacion num1,num2
Fin
Ejemplo 1.5.2.: Diseñe una solución que permita calcular el promedio de 3 notas de un
estudiante.
14
Nombre Tipo Descripción
c)Restricciones
nota1, nota2, nota3 deben ser valores mayores que cero y menores a diez
c) Proceso
Inicialmente podemos pensar la solución especificando un conjunto de pasos lógicos para solucionar el
problema:
Diseño de la solución
15
Pseudo-código
promedio
Flujograma
Inicio
nota1,nota2,nota3
suma=nota1+nota2+nota3
prom=suma/numNotas
“El promedio es “,
prom
fin
2. Modularidad
Cuando los problemas que vamos a resolver son muy grandes o complejos, el diseñar la
solución no es tarea sencilla, es aquí donde nos presta su mayor utilidad la modularidad, ya
16
que nos facilita la tarea de programar y nos permite elaborar estos programas de manera
más rápida y eficaz. La experiencia ha demostrado que la mejor manera de desarrollar una
solución y mantenerla, es construirla a partir de piezas pequeñas, que la hacen más
manejable. A continuación se presentan diferentes elementos que facilitan el diseño,
implementación, operación y mantenimiento de soluciones grandes para problemas grandes.
2.1.Definición
Calculadora básica :
Multiplicación
División
17
Módulo
Principal
Submódulos
Todo problema resuelto por esta técnica tiene un algoritmo denominado principal,
comúnmente conocido como: módulo raíz, módulo conductor o módulo de control; ya que
controla todo lo que sucede, tanto en ese módulo como en todos los demás, transfiriendo el
control de ejecución a cada módulo en el momento que sea requerido. De esa forma, cada
módulo puede realizar su función o tarea, pero al terminar regresa el control de ejecución al
algoritmo o módulo principal. En C# el módulo principal será Main. La solución de cada
módulo se le conoce como sub-algoritmo.
Si la tarea asignada a un módulo es muy compleja (o muy grande), debe dividirse todavía en
otro u otros módulos más pequeños. El proceso sucesivo de subdivisión de módulos continúa
hasta que cada módulo tenga solamente una tarea o acción específica que ejecutar, esta
tarea puede ser de entrada, salida, procesamiento o manipulación de datos, control de otros
módulos o una combinación de todos o algunos de estos.
Los datos requeridos en un módulo pueden leerse en éste o pueden ser enviados a éste por
el módulo de control; y los resultados producidos por un módulo pueden ser impresos dentro
del módulo o remitirse al módulo de control para que sean utilizados por otro módulo cuando
se transfiera el control a ellos.
18
Aplicar la Metodología para resolver problemas a cada sub-problema; es decir para cada sub-
problema se hace lo siguiente:
TOP DOWN: Es una técnica de diseño, que consiste en tomar inicialmente, el problema
completo, como un todo y descomponerlo sucesivamente en problemas más pequeños y por
lo tanto, de solución más sencilla, representa cada modulo por medio de rectángulos, y las
relaciones que existen entre ellos por líneas rectas, siendo el primer módulo siempre el
modulo raíz o de control:
Módulo principal
o módulo raíz
Módulo 0
submódulos
módulo 4 módulo 5
módulo 6
BOTTON UP: Esta técnica consiste en partir de los detalles más precisos del algoritmo
completando sucesivamente módulos de mayor complejidad, este método es inverso al
19
anterior, parte de lo más simple para llegar a lo complejo; se recomienda utilizarlo cuando:
ya se cuenta con experiencia en la aplicación de la técnica, o cuando se tiene un modelo a
seguir y ya se sabe lo que se va a hacer, o se cuenta con amplia pericia en la resolución de
problemas semejantes. Conforme se va alcanzando el desarrollo de módulos más grandes
se plantea como objetivo final la resolución global del problema. La técnica de Botton Up es
frecuentemente utilizada para la realización de pruebas a sistemas ya concluidos:
WARNIER ORR: Es una técnica que utiliza una representación semejante a la de cuadros
sinópticos para mostrar el funcionamiento y organización de los elementos que conforman el
algoritmo. Básicamente es igual al Top Down, ya que toma el problema completo y lo va
dividiendo en partes más pequeñas, se diferencia en la representación del diseño, Warner
Orr utiliza una notación de llaves para organizar los módulos: El tipo de diseño que se utilizará
es el Descendente, por lo que se amplía un poco más.
20
considerar cada estructura desde dos puntos de vista: ¿Qué hace esa etapa? y, ¿Cómo lo
hace? Para dibujar el diseño tome en cuenta lo siguiente:
•
Se representa cada sub-problema por medio de un rectángulo, incluyendo el modulo
principal.
• A cada módulo se le adjudica un nombre o identificador (igual que a las variables) y
se escribe al centro del rectángulo.
• La relación o dependencia de los módulos se dibuja por medio de líneas rectas
(verticales y horizontales.
• El módulo raíz o principal, es el primero del diagrama y, es el único que se encuentra
en ese nivel.
• El módulo de un nivel n, le puede enviar datos a un módulo de más abajo.
• Un módulo de n nivel le puede enviar resultados al módulo de quien depende.
Para dividir un problema en trozos del mismo, más pequeños, lo indicado es hacer una lista de
las acciones o cosas que deben realizarse y agruparlas de alguna manera conveniente; además
debemos relacionarlas, indicando por medio de líneas la dependencia entre los módulos, en la
figura anterior, el módulo 3-2-2 depende del módulo 3-2, éste depende del módulo 3 y éste a su
vez del módulo 0.
Se sugiere que, lo primero que se puede hacer, es dividir el problema en tres partes: Entrada,
Proceso y Salida, que como son las partes de todo algoritmo, casi siempre están presentes y si
el proceso en sí es grande o complejo, se puede dividir en más partes.
Con la práctica veremos que se puede dejar la entrada de datos como parte del módulo principal
y que la salida puede ser un solo módulo o formar parte de los módulos de proceso; también
podemos dejar la salida en el principal y diseñar un módulo de entrada de datos y desde luego
los de proceso. En fin que no hay una regla para dividir un problema, cada persona divide y
diseña los módulos que considere necesarios.
Cada módulo puede contener acciones solo de entrada, solo de proceso, solo de salida de datos
o, una combinación de todos.
21
Los datos con que trabaja un módulo se conocen como parámetros, y estos forman parte de los
datos de entrada, (pero no se leen), son enviados por el módulo que lo precede por ejemplo en
la figura 5, los parámetros del módulo 1-2, deben ser facilitados por el módulo 1. Además, cada
módulo puede producir resultados (datos de salida) que no se imprimen, sino que son requeridos
por el módulo que lo precede y, a estos datos, se les conoce como Valor de Retorno, de nuevo
en la figura 5, el resultado, del módulo 3-2-2 es o pude ser enviado al módulo 3-2. Un módulo
puede tener uno o varios parámetros, pero solo puede enviar un solo valor de retorno. El modulo
principal valores de retorno y regularmente tampoco parámetros, sin embargo en C# el método
Main si puede tenerlos.
2.4.Ventajas de la modularidad.
• Disminuir la complejidad.
• Aumentar la claridad y fiabilidad.
• Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes programas.
• Facilitar la ampliación del programa mediante nuevos módulos.
• Facilitar las modificaciones y correcciones al quedar automáticamente localizadas en un
módulo, lo cual indica que un programa modular es fácil de mantener y modificar.
• Un programa modular es más fácil de escribir y depurar (ejecutar, probar y poner a punto).
• Un programa modular es más fácil de controlar. El desglose de un problema en módulos
permite encomendar los módulos más complejos a los programadores más
experimentados y los más sencillos a los programadores con menos pericia o experiencia
Variables o atributos de clase: Estas variables pueden ser referenciadas desde cualquier
módulo. Lo cual significa que podemos utilizar estas variables en todos los módulos, conservando
su valor en todas ellas; y, ese valor se puede cambiar en cualquier módulo dependiendo de su
accesibilidad. En la asignatura solamente se utilizarán variables locales.
22
Variables o atributos locales: Son variables que se declaran dentro de un módulo, y mantienen
su valor mientras este módulo se está ejecutando, es decir que cuando se ejecuta otro módulo
no existen en memoria, por lo tanto no se pueden utilizar, fuera del módulo donde fueron
declaradas.
Constantes: son valores que no cambian en el programa y serán definidas dentro de la clase
antes de cualquier método.
Sub algoritmo: Es un algoritmo que realiza una tarea específica dentro de la solución de un
problema, es decir que resuelve una parte de un problema; si se representa por medio de un
diagrama se le conoce como subflujograma
Parámetros: Los parámetros o argumentos de un módulo son los datos que son parte de la
entradas del mismo, pero dentro éste no se leen, deben de pasarse en la invocación al módulo
según la definición del mismo. Una función puede tener o no parámetros. Los parámetros se
comportan como variables locales, creándose al entrar al módulo y destruyéndose al finalizar su
ejecución, es decir que, los parámetros reciben sus valores del módulo que invoca al módulo en
cuestión, y con estos valores se trabajara en él.
Valor de retorno: Se conoce como valor de retorno aquel que se genera en el módulo y se envía
al módulo desde donde se invocó.
Al aplicar el método solucionador de problemas iremos considerando de una vez que estamos
diseñando soluciones para C#.
Ejemplo 2.6.1: Elabore una solución que simule una calculadora que realice las operaciones
aritméticas básicas: suma, resta, multiplicación y división, para dos números leídos.
Entrada Salida
Proceso
dos números resultado de la operación
suma
resta
multiplicacion
division
TOP-DOWN
23
El tener una idea de lo que vamos a hacer ayuda mucho a decidir cuántos módulos vamos a
diseñar y la relación que existe entre ellos; por lo tanto, las grandes cosas o pasos que se deben
realizar son:
1. Leer datos
2. Llamar a suma, resta, multiplicación y división
3. Mostrar resultado retornado de cada submódulo llamado
De aquí que podemos decir que vamos a tener un módulo para cada operación aritmética;
además el modulo principal va a leer los datos y es necesario validarlos, luego los envía a los
módulos y recibe los valores retornados por estos. El top-down queda así:
Módulo principal
¿Qué hace principal?: Lee dos números y llama a los módulos suma, resta, multiplicacion y
division , recibe los resultados y los muestra en pantalla
24
rSuma Real Resultado de la suma
Constantes : No hay
c) Restricciones:
b debe ser mayor que 0, ya que será divisor cuando se invoque al respectivo método.
b>0
d) Proceso
Leer a,b
Sumar (a, b)
Restar (a, b)
Multiplica(a, b)
Division (a, b)
Mostrar resultados
Diseño de la solución
Principal
25
Lee dos números y llama a los módulos: Suma, Resta, Multiplica y Division para hacer los
cálculos y mostrarlos en pantalla
Inicio
n1,n2
“Digite dos números
(el segundo deber ser
mayor que cero)”
rSuma=Suma(a,b)
rResta=Resta(a,b)
rMulti=Multiplica(a,b)
rDivi=Division(a,b)
“Los números2, a “y “ b,
“dan como resultados
suma “, rSuma, “Resta “,
rResta, “Multiplicación “,
rMulti, “Division “, rDivi
Fin
a. Módulo Suma
Recibir por parámetro dos números, los suma y retorna el resultado al módulo principal
Diseño de la solución
26
Suma(n1,n2) Codificación
Código C#
public static double Suma(double n1, double n2)
sum = n1 + n2 {
double sum;
sum = n1 + n2;
return sum;
Retorna sum }
b. Módulo Resta
¿Qué hace Resta?: Resta dos números que recibe como parámetro y retorna el resultado.
No hay variables de salida, ya que no muestra el resultado al usuario, solo devuelve el valor del
resultado de restar n1 y n2 (res) que es de tipo real.
Diseño de la solución
Resta(n1,n2) Codificación
Código C#
c. Módulo Multiplica
¿Qué hace Multiplica?: multiplica dos números que recibe como parámetro y retorna el
resultado.
Diseño de la solución
27
Codificación
Multiplica(n1,n2) Código C#
public static double Multiplica(double n1, double n2)
{
mul = n1 + n2 doublemul;
mul = n1 * n2;
return mul;
Retornar
Retornar mul
mul }
d. Módulo Division
¿Qué hace Division?: Divide dos números que recibe como parámetro y retorna el resultado.
div = n1 + n2
Retornar
Retornar div
div
Codificación
Código C#
28
using System;
namespace Ejemplo1
{
class Program
{
static void Main(string[] args)
{
double a, b, rSuma,rResta,rMulti,rDivi;
a=double.Parse(Console.ReadLine());
b=double.Parse(Console.ReadLine());
rSuma=Suma(a,b);
rResta= Resta(a,b);
rMulti=Multiplica (a,b)
rDivi= Division(a,b)
29