You are on page 1of 10

UNIVERSIDAD NACIONAL DE E CAJAMARCA

“Norte de la Universidad Peruana”


Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

SOLUCIÓN DE LA PRIMERA PRÁCTICA CALIFICADA DE


COMPUTACIÓN Y ALGORITMOS II

Desarrollar un programa en C#, para cada uno de los siguientes 3 problemas


propuestos:

Problema n°1:

En una empresa comercial, existen 3 categorías de artículos (A, B, C) y 4


categorías de clientes (excelentes, buenos, regulares y malos) y tienen
implementada la siguiente política de descuentos (en %).

Tipo cliente\ Tipo articulo A B C

E: Excelente 40 30 20

B: Bueno 30 20 10

R: regular 20 10 0

M: Malo 0 0 0

Además se sabe que los clientes de tipo E y B pueden pagar en efectivo, con
cheque o al crédito, los de tipo R solo pueden hacerlo en efectivo o con cheque,
mientras que los de tipo M sólo pueden hacer compras en efectivo.

Lea el tipo de cliente, el tipo de artículo que desea adquirir e indique el


descuento y las alternativas de pago que le son permitidas.

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ


UNIVERSIDAD NACIONAL DE E CAJAMARCA
“Norte de la Universidad Peruana”
Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

 SOLUCIÓN:

Codificación en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EJERCICIO_N_1
{
class Program
{
static void Main(string[] args)

{
char cliente;
char articulo;
double tipopago;
System.Console.WriteLine("ingrese tipo de cliente:");
cliente = Convert.ToChar(Console.ReadLine());
System.Console.WriteLine("ingrese tipo de articulo:");
articulo = Convert.ToChar(Console.ReadLine());

switch (cliente)

{
case 'E':
Console.WriteLine("el tipo de cliente es exelente");
{
switch (articulo)
{
case 'A':
Console.WriteLine("Tiene un Descuento del: 40%");
Console.WriteLine("el tipo de pago es en: efectivo,
cheque o credito");

break;
case 'B':
Console.WriteLine("Tiene un Descuento del: 30%");
Console.WriteLine("el tipo de pago es en: efectivo,
cheque o credito");
break;
case 'C':
Console.WriteLine("Tiene un Descuento del: 20%");
Console.WriteLine("el tipo de pago es en: efectivo,
cheque o credito");
break;

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ


UNIVERSIDAD NACIONAL DE E CAJAMARCA
“Norte de la Universidad Peruana”
Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

}
break;
case 'B':
Console.WriteLine("el tipo de cliente es bueno");
{
switch (articulo)
{
case 'A':
Console.WriteLine("Tiene un Descuento del: 30%");
Console.WriteLine("el tipo de pago es en: efectivo,
cheque o credito");
break;
case 'B':
Console.WriteLine("Tiene un Descuento del: 20%");
Console.WriteLine("el tipo de pago es en: efectivo,
cheque o credito");
break;
case 'C':
Console.WriteLine("Tiene un Descuento del: 10%");
Console.WriteLine("el tipo de pago es en: efectivo,
cheque o credito");
break;

}
}

break;
case 'R':
Console.WriteLine("el tipo de cliente es regular");
{
switch (articulo)
{
case 'A':
Console.WriteLine("Tiene un Descuento del: 20%");
Console.WriteLine("el tipo de pago es en: efectivo o
cheque");
break;
case 'B':
Console.WriteLine("Tiene un Descuento del: 10%");
Console.WriteLine("el tipo de pago es en: efectivo o
cheque");
break;
case 'C':
Console.WriteLine("Tiene un Descuento del: 0%");
Console.WriteLine("el tipo de pago es en: efectivo o
cheque");
break;

}
}
break;
case 'M':
Console.WriteLine("el tipo de cliente es malo");
{
switch (articulo)

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ


UNIVERSIDAD NACIONAL DE E CAJAMARCA
“Norte de la Universidad Peruana”
Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

{
case 'A':
Console.WriteLine("Tiene un Descuento del: 0%");
Console.WriteLine("el tipo de pago es en efectivo");
break;
case 'B':
Console.WriteLine("Tiene un Descuento del: 0%");
Console.WriteLine("el tipo de pago es en efectivo");
break;
case 'C':
Console.WriteLine("Tiene un Descuento del: 0%");
Console.WriteLine("el tipo de pago es en efectivo");
break;

}
}

break;
}

Console.Read();

}
}
}

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ


UNIVERSIDAD NACIONAL DE E CAJAMARCA
“Norte de la Universidad Peruana”
Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

Problema n°2:

Encuentre la nota promedio del aula, el porcentaje de aprobados y


desaprobados de un aula de n alumnos. Se ingresarán la cantidad de alumnos
y la nota de cada alumno. (Además se ingresará el género del alumno: M.
Masculino, F. Femenino, para luego determinar el porcentaje de hombres y
mujeres)

 SOLUCIÓN:

Codificación en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EJERCICIO_N_2
{
class Program
{
static void Main(string[] args)
{

int i, nota, suma_nota = 0, suma_apro = 0, suma_des = 0;


Char sexo;
Double suma_hombres = 0, suma_mujeres = 0, n;
Console.Write("Ingrese cantidad de alumnos:");
n = Convert.ToDouble(Console.ReadLine());
for (i = 1; i <= n; i++)
{
Console.Write("Ingrese nota del alumno:");
nota = Convert.ToInt32(Console.ReadLine());
suma_nota = suma_nota + nota;

if (nota > 0 && nota <= 10)


{

suma_des = suma_des + 1;
}

else
if (nota > 10 && nota <= 20)
{

suma_apro = suma_apro + 1;
}

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ


UNIVERSIDAD NACIONAL DE E CAJAMARCA
“Norte de la Universidad Peruana”
Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

Console.Write("Ingrese sexo del estudiante:");


sexo = Convert.ToChar(Console.ReadLine());
switch (sexo)
{
case 'H':
suma_hombres = suma_hombres + 1;
break;
default:
suma_mujeres = suma_mujeres + 1;
break;
}
}
Console.Write("La nota promedio del aula es: " + (suma_nota / n));
Console.Write("La porcentaje de aprobados es: " + ((suma_apro / n) *
100) + "%");
Console.Write("La porcentaje de desaprobados es: " + ((suma_des / n) *
100) + "%");
Console.Write("La porcentaje de hombres es: " + ((suma_hombres / n) *
100) + "%");
Console.Write("La porcentaje de mujeres es: " + ((suma_mujeres / n) *
100) + "%");
Console.Read();
}
}
}

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ


UNIVERSIDAD NACIONAL DE E CAJAMARCA
“Norte de la Universidad Peruana”
Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

Problema n°3:

En un cajero se muestra un menú de opciones D: Depósito, R: Retiro, S: Saldo


y X: Salir. Efectuar dichas operaciones, a partir de un monto inicial ingresado,
hasta que se seleccione salir.

 SOLUCIÓN:

Codificación en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EJERCICIO_N_3
{
class Program
{
static void Main(string[] args)
{

int i;
Char opcion;
Double monto_inicial , dep=0, saldo=0, retiro=0, monto_final=0;
do
{
Console.Write("Ingrese opcion:");
opcion = Convert.ToChar(Console.ReadLine());
Console.Write("Ingrese monto inicial:");
monto_inicial = Convert.ToInt32(Console.ReadLine());

switch (opcion)
{
case 'D':
Console.Write("Ingrese deposito:");
dep = Convert.ToDouble(Console.ReadLine());
monto_final = monto_inicial + dep;
Console.WriteLine("El monto final es: " + monto_final);
break;
case 'R':
Console.Write("Ingrese retiro:");
retiro = Convert.ToDouble(Console.ReadLine());
monto_final = monto_inicial-retiro;
Console.WriteLine("El monto final es: " + monto_final);
break;
case 'S':

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ


UNIVERSIDAD NACIONAL DE E CAJAMARCA
“Norte de la Universidad Peruana”
Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

Console.Write(" ingrese saldo:");


saldo = Convert.ToDouble(Console.ReadLine());
monto_final = monto_inicial + saldo;
Console.WriteLine("El monto final es: " + monto_final);
break;
case 'X':
monto_inicial = 0;
break;
}
}
while (monto_inicial != 0);
Console.Write("presione tecla para salir ");
Console.Read();
}
}
}

Problema n°4:

En que consiste un arreglo, mencione y explique los tipos que existen; además,

Escriba el código (dentro de la función Main) para pedir y mostrar los datos de
un arreglo unidimensional de longitud 8.

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ


UNIVERSIDAD NACIONAL DE E CAJAMARCA
“Norte de la Universidad Peruana”
Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

 SOLUCIÓN:

 Definición:

Un arreglo es un conjunto de variables que son del mismo tipo de datos. A


cada parte de un arreglo se le denomina “elemento”. Los cuales se hacen
referencia con el mismo nombre y se almacenan en posiciones consecutivas.

 Tipos de arreglos:

 Arreglos unidimensionales: Un arreglo unidimensional es un tipo de


datos estructurado que está formado por una colección finita y ordenada
de datos del mismo tipo. Es la estructura natural para modelar listas de
elementos iguales. Los datos que se guarden en los arreglos todos deben
ser del mismo tipo
 Arreglos multidimensionales: Es un tipo de dato estructurado, que está
compuesto por dimensiones. Para hacer referencia a cada componente del
arreglo es necesario utilizar n índices, uno para cada dimensión. Los
arreglos de más de una dimensión se llaman arreglos multidimensionales.
 Arreglo con múltiple subíndices: Es la representación de tablas de
valores, consistiendo de información arreglada en renglones y columnas.
Para identificar un elemento particular de la tabla, deberemos de
especificar dos subíndices; el primero identifica el renglón del elemento y
el segundo identifica la columna del elemento.

Arreglo unidimensional de longitud 8.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication15
{
class Program
{
static void Main(string[] args)
{
int[] numero = new int[8];
numero[0] = 23;
numero[1] = 22;
numero[2] = 10;

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ


UNIVERSIDAD NACIONAL DE E CAJAMARCA
“Norte de la Universidad Peruana”
Facultad de Ingeniería
Escuela Académico Profesional de Ingeniería de Minas

numero[3] = 14;
numero[4] = 15;
numero[5] = 12;
numero[6] = 11;
numero[7] = 27;

System.Console.WriteLine("numero en la posicion 0: " + numero[0]);


System.Console.WriteLine("numero en la posicion 1: " + numero[1]);
System.Console.WriteLine("numero en la posicion 2: " + numero[2]);
System.Console.WriteLine("numero en la posicion 3: " + numero[3]);
System.Console.WriteLine("numero en la posicion 4: " + numero[4]);
System.Console.WriteLine("numero en la posicion 5: " + numero[5]);
System.Console.WriteLine("numero en la posicion 6: " + numero[6]);
System.Console.WriteLine("numero en la posicion 7: " + numero[7]);

Console.Read();
}
}
}

COMPUTACIÓN Y ALGORITMOS II Ing. LISI JANET VÁSQUEZ FERNANDEZ