Está en la página 1de 3
PROBLEMA Elaborar un programa que registre la informacion de los predios de N vecinos de una municipalidad para el célculo del impuesto predial (el valor de N debe Ser ingresado por teclado). Para cada vecino se solicitara: EI nombre del vecino. Tipo de construccién (1, 2 6 3. El programa deberé verificar que @l dato que 6 ingrese sea valido) Area dal predio (en m2) El impuesto predial se calcula en base al tipo de construccién y el area de! prédio de acuerdo a la siguiente tabla: [Tipo de construccion Impussto predial I (soles / m2) [1 (Comercial) 40.00 2 (Vivienda) 8.50 3.(Terreno) _ 5.50 _ seats Luego de procesar los datos de los N vecinos, el programa deberd presentar la siguiente informacion: a) Numero de vecinos con predios del tipo “Comercial”. b) El nombre del vecino con prédio del tipe “Vivienda” que paga él impuesto predial mas alto, ¢) El monto total del impueste predial que deben pagar los vecines con predios del tipo “Terreno”, ‘SOLUGION Public Class Fort Private Sub Btnejecutar_Click(Bwal sender As System.Object, ByVal © AS system. Eventargs) Handles Btnejecutar. click "problena 1 TAREA GRUPAL 4 SL. ENTRADA "peclaracién de datos de entrada Dim N, Tipo As Integer, Nombre As String, Area As Single "Declaracién de datos de salida, trabajo, acunulador MontoTotal y contader Numvecinos im Inpuesto, Maxinptipo2, MontoTotaltipo3 As Single, 1, Numvectipel As Integer, Nombtipoatax As String “Gniclallzacién de contador niimero de vecinos dei tipo 1 y acumiador nontototal de inpuestos del tipo 3 Nunvectipol = @ MontoTotaltipo3 = @ "asignar el winino valor de los datos single a 1a variable Maxinptipo2 y blanco a Nonbtipo2sax Maxinptiped = Single.Minvalue Noabtipoatax = ** ‘Validar y asignar la variable N niinero de vecinos 0 N= Val(inputfox("Ingrese el ninero de vecinos*)) TEN @ Then ‘NessageBox.Show("Debe ser mayor a cero, "ERROR"; NessageBoxButtons.0K, MessageBoxicon. Error) End TF Loop Until N > @ "2. PROCESO. “Angresar informacién por cada vecino ‘para I desde 1 hasta N For T= 1 To N "angresar nombre, aplicanos funcién UCASE Nonbre = UCase(inputBox("rngrese el nonbre del. vecins Preoro * & )) NIngresar Tipo de construceién y validar 1). 2 0.3 ~ usamos RUTINA DE DATOS DEL vaLIDACTGN ‘Hacer hasta que tipo sea 3, 203 0 ‘Tipo = Val(nputsox(*Ingrese el tipo de construccién*, “DATOS DEL PREDIO * & )) Hf Tipo <> 1 And Tipo © 2 And Tipo © 3 Then Messagedox.Show("Debe ser Tipo 1/2/3*; “ERROR, MessageoxButtons.OK, MessageBoxicon: Error) End 1 Loop until Tipo = 1 Or Tipo = 2.Or Tipo = 3 "Engresar drea del predio y validar que sea mayor que cero ‘hacer hasta que Area sea > @ ‘area = Val(znputBox(*Ingrese el drea del predio*, “BATOS DEL PREDIO “ & 2) If Area <= @ Then ‘MessageBox.show(“Debe ser mayor @ cero"; "ERROR"; MessageBoxButtons.0K, MessageBoxIcon. Error) End IF Loop until Area > @ “fallando el inpuesto Predial segin el tipo de construceién - Estructura selectiva miltiple si tipo es 2 If Tipo = 1 Then NU UIVDeUe JU SULNSIVTUNI It ver Lense \RNINSONI 3a v1anos3, ‘caleular Impuesto Impuesto = 10 * Area *Sunar 1 al Ninero de vecinos con el predio 1 (Comercial) Nunvectipol = Nuavectipol + 2 ‘sino tipo es 2 Elser# Tipo = 2 Then *caleular Inpuesto Impuesto ~ 8.5 * Area ‘EL nosbre del vecino con predio del tipo “Vivienda” que paga el impuesto predial més alto. “si Inpuesto es mayor que Maximo impuesto del tipo 2 - estructura selectiva simple ‘Hf Inpuesto > Maxtmptipo2 Then “asignar valor de Inpuesto 2 variable Maxtnptipo2 - ~vivienda Maxtnptipo2 = Inpuesto "asignar nosbre a Nonbre méxinodel tipo 2 - “Vivienda* Nonbtipo2Max = Noabre end TF "sino es de tipo ese ‘calcular Inpuesto Impuesto'= 5.5 * Area “suman Inpuesto @ monto total del inpuesto predial de vecinos con predios del tipo 3 - "Tepreno’. MontoTetaltipod = Hontotetaltipos + Inpuesto, End IF Next "3, SALIDA ‘Wastrar Resultado de lo que se pide MessageBox.show(*E1 nimero de vecinos con predio de tipo comercial (1) es: * & Nunvectipol & vbNewLine & “Nombre de vecino de tipo Vivienda (2) que paga el impuesto predial nds alto es: " & Nonbtipo2Max & voNewLine & _ “El Monto total del ampuesto predial dal Tipo terreno (3) * & MontoTotaltipos; “Resultados”, messageBoxButtons.OK, MessageBoxrcon. Information) ‘End Sub Private Sub BtrSalir_Click(Byvall sender As Systen.object, ByVal e As System.EventArgs) Handles BtnSalir.Click ‘cerrar y terminar Me.Close() End Sub End Class,

También podría gustarte