Está en la página 1de 13

PROGRAMACIÓN NET I

15/Febrero/2020.
UNaDM.
Ing. En Desarrollo De software

DS-DPRN1-2001-B1-002

Programación net I
Unidad 1.

Actividad 3. Resolver problemas con C#

Copyright © 2020

MANUEL BEDOLLA PIÑA 1


PROGRAMACIÓN NET I

Contenido
Actividad 3. Resolver problemas con C# ........................................................................................... 3
Codigo: ................................................................................................................................................ 4
Referencias: ...................................................................................................................................... 13

MANUEL BEDOLLA PIÑA 2


PROGRAMACIÓN NET I

Actividad 3. Resolver problemas con C#

Propósito: Analizar y resolver un problema mediante un programa utilizando las


características de .NET, básicamente el lenguaje C#, datos y operadores, sigue
estos pasos:

Instrucciones

1. Descarga e instala el programa Visual Studio. NET en su edición Express.

2. Analiza el siguiente problema:

Se requiere un programa que simule el cálculo y muestre las raíces reales para
una ecuación de segundo grado de la forma:
𝑎𝑥 2 + 𝑏𝑥 + 𝑐 = 0

Para resolver este problema se utilizará la fórmula general:

Por lo que los datos que requerimos son los coeficientes de la ecuación (a, b y c) y
el resultado deseado serán las raíces.
Formula:

−𝑏 ± √𝑏 2 − 4𝑎𝑐
2𝑎
3. Crea un nuevo proyecto en el entorno consola de C# .NET, guárdalo con la
nomenclatura Actividad3.

MANUEL BEDOLLA PIÑA 3


PROGRAMACIÓN NET I

Código:
namespace Actividad3
{

class Ecuaciones
{
private double A, B, C;
//Definir el constructor de la clase y parametros de valores.
//imprimir en pantalla.

public Ecuaciones(double a, double b, double c) {

A = a;
B = b;
C = c;
}
//Método que resuelve la raíz positiva.
public double Ecuacionpositiva()
{
double result = ((-B + Math.Sqrt(B * B - 4 * A * C)) / (2 * A));
return result;
}
//Método que resuelve la raíz positiva.
public double EcuacionNegativa()
{
double result = ((-B - Math.Sqrt(B * B - 4 * A * C)) / (2 * A));
return result;
;
}

class Program

{
static void Main(string[] args)
{
//Iniciando las variables que contiene los valores o coeficientes
//ingresados por consola
double coeficienteA = 0, CoeficienteB = 0, CoeficienteC = 0;
/*Consola principal del programa con buble
* que se repite cuando el final del programase
* realiza y mustra todos los calculos y este le
* pregunta al usuario si quiere seguir claculando
*/
bool control = true;
while (control == true)
{
Console.Clear();
Console.WriteLine("resolver ecuaciones de segundo grado.");
Console.WriteLine("ecuaciones del tipo ax2 + bx+c=0");
/*Se comprueba que el ry que los valores de los coeficientes
sean del tipo correcto,si no lo son se captura la excepción
producida cath y se repite todo el bloque hasta que los datos
sean el formato corecto.
*/

MANUEL BEDOLLA PIÑA 4


PROGRAMACIÓN NET I

bool repetirTryCatch = true;


while (repetirTryCatch == true)
{
try
{
Console.WriteLine("\nIntroduce Coeficiente a :");
coeficienteA = double.Parse(Console.ReadLine());
Console.WriteLine("\nIntroduce Coeficiente b :");
CoeficienteB = double.Parse(Console.ReadLine());
Console.WriteLine("\nIntroduce Coeficiente c :");
CoeficienteC = double.Parse(Console.ReadLine());

repetirTryCatch = false;

}
catch (FormatException)
{
Console.WriteLine("\nERROR! introcir valores validos");
repetirTryCatch = true;
}

}
//Valores internos de la raíz.
double cuadradoB = CoeficienteB * CoeficienteB;
double CuartAC = 4 * coeficienteA * CoeficienteC;
//Se compuevan las operaciones con los valores internos de la raíz
//estos nos dan como resultado error ya que no hay un negativo en
estas operaciones
if (cuadradoB < CuartAC && coeficienteA > 0 && CoeficienteC > 0)
{
Console.WriteLine("La ecuacion no tiene solucion, sin resultado
negativo");
}
else
{
// Se llema al constructor
Ecuaciones ecuacion = new Ecuaciones(coeficienteA, CoeficienteB,
CoeficienteC);
//Inicio de metodos
Console.WriteLine("Valor 1 ={0}",
ecuacion.Ecuacionpositiva().ToString());
Console.WriteLine("Valor 2 ={0}",
ecuacion.EcuacionNegativa().ToString());
}
Console.WriteLine("¿Deseas seguir (y/n)?");
//Se realiza las acciones para el formato de la pregunta para seguir
en el programa.

bool repSwitch = true;


while (repSwitch == true)
{
string SiNo = Console.ReadLine();
switch (SiNo)
{
case "y":
case "Y":
control = true;//repetidor principal

MANUEL BEDOLLA PIÑA 5


PROGRAMACIÓN NET I

repSwitch = false;
break;
case "n":
case "N":
control = true;//repetidor principal
repSwitch = false;
break;
default:
Console.WriteLine(
"ERROR. Pulse y o Y, n o N");
repSwitch = true;
break;
}

}
}

}
}
}

MANUEL BEDOLLA PIÑA 6


PROGRAMACIÓN NET I

• El explorador de soluciones.

MANUEL BEDOLLA PIÑA 7


PROGRAMACIÓN NET I

• Editor del código.

MANUEL BEDOLLA PIÑA 8


PROGRAMACIÓN NET I

• Las referencias integradas mediante la palabra reservada “using”

• Palabras reservadas

MANUEL BEDOLLA PIÑA 9


PROGRAMACIÓN NET I

• Los comandos para la compilación de tu programa.

MANUEL BEDOLLA PIÑA 10


PROGRAMACIÓN NET I

• La pantalla de los resultados de la compilación.

Programa:

MANUEL BEDOLLA PIÑA 11


PROGRAMACIÓN NET I

MANUEL BEDOLLA PIÑA 12


PROGRAMACIÓN NET I

Referencias:
Academia. (2020). Manual C# para estudiantes. [online] Available at:
https://www.academia.edu/16745585/Manual_C_para_estudiantes [Accessed 20 Feb. 2020].

Master, A. (2020). Cuatro formas de usar la palabra clave using de C#. [online] ASP.NET Core
Master. Available at: https://aspnetcoremaster.com/c%23/dotnet/using/2019/01/03/cuatro-formas-
de-usar-la-palabra-clave-using-de-csharp.html [Accessed 20 Feb. 2020].

Docs.microsoft.com. (2020). using static (Directiva, Referencia de C#). [online] Available at:
https://docs.microsoft.com/es-es/dotnet/csharp/language-reference/keywords/using-static
[Accessed 20 Feb. 2020].

(jmaguilar), J. (2020). Usando using, valga la redundancia (C#). [online] Variablenotfound.com.


Available at: https://www.variablenotfound.com/2009/02/usando-using-valga-la-redundancia-c.html
[Accessed 20 Feb. 2020].

Docs.microsoft.com. (2020). using (Instrucción, Referencia de C#). [online] Available at:


https://docs.microsoft.com/es-es/dotnet/csharp/language-reference/keywords/using-statement
[Accessed 20 Feb. 2020].

Elhacker.net. (2020). elhacker.NET - Manual C# Sharp. [online] Available at:


https://www.elhacker.net/manual-c-
sharp.html?__cf_chl_jschl_tk__=0984f0406f3262512c61dfb179917621f48694a5-1582160806-0-
Adqe5J_qDjLnbGJ1R-hmS6j5sKpk-
D6A55OKpEMBlRyRugdZTg5qqvK769MXIOG_U6jobfo58jXpgKqJdKoqoI2Ok6_Ds62z_w4hOePGv
vO8xxeGrXGReAoHfNPI9_bFTfRdImjcgHbzoHZOddhPII-zMdQKV9Rb8LS8zv7X6txrG_Jo-
NXc7u9cLXKs40H28OKn5qN7002i88ZfTz7yGqHCe82x7dZfX-
ppQohot57CEAd6tfXFLx_bcLOJZ4A5A0UXSCd7kgVp3i2q_icZLxRO4kqPdfBZFCNDidjlucXg
[Accessed 20 Feb. 2020].

Udemy. (2020). Aprende Programación C# con Visual Studio 2017 DESDE CERO. [online]
Available at: https://www.udemy.com/course/aprende-programacion-con-c-sharp-y-visual-studio-
desde-cero/ [Accessed 20 Feb. 2020].

MANUEL BEDOLLA PIÑA 13

También podría gustarte