ArmandoCircuitos
Inicio
Electronica
Programacion
Resultado
Codigo
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Divisor_de_Tension_01 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } double vi, r1, r2; int a = 0; int b = 0; int c = 0; double Vout; double[] multiplos = { 0.000001, 0.001, 1, 1000, 1000000 }; string cadena; private void Form1_Load(object sender, EventArgs e) { cmbTension.SelectedIndex = 2; cmbR1.SelectedIndex = 1; cmbR2.SelectedIndex = 1; } private void calcular() { vi = vi * multiplos[a]; r1 = r1 * multiplos[b + 2]; r2 = r2 * multiplos[c + 2]; Vout = ((vi * r2) / (r1 + r2)); lblTension.Text = prefijo(vi, 1) + "V"; lblVo.Text = prefijo(Vout, 3) + "V"; lblR1.Text = prefijo(r1, 1) + "Ω"; lblR2.Text = prefijo(r2, 1) + "Ω"; } private string prefijo(double numero, int decimales) { if (numero >= 1000000) { numero = numero / 1000000; cadena = Math.Round(numero, decimales) + "M"; } else { if (numero >= 1000) { numero = numero / 1000; cadena = Math.Round(numero, decimales) + "K"; } else { if (numero >= 1) { numero = Math.Round(numero, decimales); cadena = numero.ToString(); } else { if (numero >= 0.001) { numero = numero * 1000; cadena = Math.Round(numero, decimales) + "m"; } else { numero = numero * 1000000; cadena = Math.Round(numero, decimales) + "u"; } } } } return (cadena); } private void cmbTension_SelectedIndexChanged(object sender, EventArgs e) { a = cmbTension.SelectedIndex; } private void cmbR1_SelectedIndexChanged(object sender, EventArgs e) { b = cmbR1.SelectedIndex; } private void cmbR2_SelectedIndexChanged(object sender, EventArgs e) { c = cmbR2.SelectedIndex; } private void btnCalcular_Click(object sender, EventArgs e) { vi = Convert.ToDouble(txtTension.Text); r1 = Convert.ToDouble(txtR1.Text); r2 = Convert.ToDouble(txtR2.Text); calcular(); lblSalida.Text = "Vout = " + lblVo.Text; } } }
Descarga del archivo
Descargar archivo