UNIDAD #2 PROGRAMACION MODULAR 1. CONCEPTO : Consiste en dividir un programa en modulos o partes
Un módulo es cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo original. Cada uno de estos módulos tiene una tarea bien definida y algunos necesitan de otros para poder operar. En caso de que un módulo necesite de otro, puede comunicarse con éste mediante una interfaz de comunicación que también debe estar bien definida. Un programa es dividido en subprogramas con la finalidad de reutilizar el código del subprograma Para hacer un subprograma en dfd
Ejemplos de programación modular: 1. Dfd para sumar dos números mediante una función
private int suma(int x,int y) { int s; s = x + y; return s; } private void button1_Click(object sender, EventArgs e) { a = Convert.ToInt32(textBox1.Text); b = Convert.ToInt32(textBox2.Text); textBox3.Text = Convert.ToString(suma(a,b));}
Conclusi贸n: en el ejercicio anterior hemos realizado el subalgoritmo sumar que recibe dos par谩metros y devuelve un resultado, este subalgoritmo puede ser invocado desde cualquier algoritmo
2. Generar la serie q se ve en el formulario
private void serie6() { for (int c = 1; c <= 5; c++) { listBox1.Items.Add(6); } } private void serie5() { for (int p = 1; p <= 7; p++) { listBox1.Items.Add(5); } } private void button1_Click(object sender, EventArgs e) { serie6();serie5(); }
3. Generar la serie que muestra el formulario
private void serie() { for (double c = 1; c <= 10; c++) { listBox1.Items.Add(c + "/2"); }}
4. Dfd para convetir bs en $us private void button1_Click(object sender, EventArgs e) { serie(); } private double Dolar(double bs,double tc) { double sus; sus = bs / tc; return sus; }
Conclusi贸n: en este caso es una funcion de tipo double por q se estan dividiendo dos numeros y como resultado podemos tener n煤meros con decimales, si la funci贸n es de tipo doubl茅 es necesario q retorne un resultado del mismo tipo 5. Dfd para introducir dos valores y mostrar las cuatros operaciones basicas private void button1_Click(object sender, EventArgs e) { double bs,tc; bs = Convert.ToInt32(textBox1.Text); tc= Convert.ToInt32(textBox2.Text); textBox3.Text = Convert.ToString(Dolar(bs,tc)); }
private double suma(double x, double y) { return x + y; } private double resta(double x, double y) { return x - y; } private double mult(double x, double y) { return x * y; } private double divic(double x, double y) { return x / y; } private void button1_Click(object sender, EventArgs e) { double x, y; x = Convert.ToDouble(textBox1.Text); y = Convert.ToDouble(textBox2.Text); textBox3.Text = Convert.ToString(suma(x, y)); } private void button2_Click(object sender, EventArgs e) { double x, y; x = Convert.ToDouble(textBox1.Text); y = Convert.ToDouble(textBox2.Text); textBox3.Text = Convert.ToString(resta(x, y)); } private void button3_Click(object sender, EventArgs e) { double x, y; x = Convert.ToDouble(textBox1.Text); y = Convert.ToDouble(textBox2.Text); textBox3.Text = Convert.ToString(mult(x, y)); } private void button4_Click(object sender, EventArgs e) { double x, y; x = Convert.ToDouble(textBox1.Text); y = Convert.ToDouble(textBox2.Text); textBox3.Text = Convert.ToString(divic(x, y)); }
6. dfd para generar la tabla de multiplicar
private int multiplicar(int x, int y) { return x * y; } private void cargarLista() { int i, r, c; c = Convert.ToInt32(textBox4.Text); for (i = 1; i <= 10; i++) { r = multiplicar(i, c); listBox1.Items.Add(c + "*" + i + "= " + r); }
} private void button5_Click(object sender, EventArgs e) { cargarLista(); }
7. Dfd para introducir dos valores y dividir el mayor entre el menor
private double dividir(double x, double y) { double ma; if (x > y) { ma = x / y; } else { ma = y / x;
} return ma; }
private void button1_Click(object sender, EventArgs e) { double x, y, r; x = Convert.ToDouble(textBox1.Text); y = Convert.ToDouble(textBox2.Text); r = mayor(x, y); textBox3.Text = r.ToString(); }
8. Ingresar tres valores y sumar los pares y multiplicar losimpares
private void sumaryproducto() { int a, b, c; a = Convert.ToInt32(textBox1.Text); b = Convert.ToInt32(textBox2.Text); c = Convert.ToInt32(textBox3.Text); int p = 0, i = 1; if (a { p = p } else { i = i } if (b { p = p } else { i = i } if (c { p = p } else { i = i }
% 2 == 0) + a;
* a; % 2 == 0) + b;
* b; % 2 == 0) + c;
* c;
textBox4.Text = p.ToString();//suma de pares textBox5.Text = i.ToString();//producto de impares } private void button1_Click(object sender, EventArgs e) { sumaryproducto(); }
Conclusi贸n: pudimos mandar como par谩metros las tres variables, pero en este caso la funcion se esta encargando de pedir los valores y mostrar el resultado