Sei sulla pagina 1di 25

Unidad 3 - Fase 3 Administrar datos en arreglos

Entregado por:

César Augusto Vásquez Guerrero Cód: 1117489747


Ítalo Roa Calle Cód: 16379218
Karina Alejandra Jurado Mejía Cód: 1123327291
Edgar Horacio Quistial Vela Cód: 18155243

Grupo:
301304_84

Presentado a:

Tutor: Octavio Rojas

Universidad Nacional Abierta Y A Distancia (UNAD)


Escuela De Ciencias Básicas, Tecnología E Ingeniería (ECBTI)
Programa Ingeniería De Sistemas
Introducción A La Programación
Noviembre de 2018
INTRODUCCIÓN
MAPA CONCEPTUAL

Falta terminar
SOLUCIÓN EJERCICIOS

EJERCICIO A
Autor: Ítalo Roa Calle

A. En una ciudad de Colombia, se necesita registrar los accidentes que ocurren en una
semana, incluyendo identificación del conductor, edad y género.

Con la información obtenida, se debe obtener:


Porcentaje de conductores menores de edad

Porcentaje de conductores de género femenino

Porcentaje de conductores de género masculino con edades comprendidas entre 19 y


25 años. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/* Autor: Italo Roa
Curso: Introducción a la programación.
Ejercicio A Fase 3 Administrar datos en arreglos. */
namespace Ejercicio3._2
{
class Program

{ // Se nombra atributos
public int n, conductor;
public int cont_menoredad;
public int cont_generof;
public int cont_generom;
public int cont_edad;

// Método RegistroDatos, para cargar los datos del programa


public void RegistroDatos()
{
// Escribir titulo
Console.WriteLine("Registro Accidentes por Semana");
Console.WriteLine();
// pido datos
Console.WriteLine("Digite el número de accidentes por Semana: ");
while (!int.TryParse(Console.ReadLine(), out n))
{
Console.WriteLine("Tiene que ser un número");
}
String[] genero = new string[n];
int[] ID_conductores = new int[n];
int[] edad = new int[n];

for (int i = 0; i < n; i++)

Console.WriteLine("Digite número de documento del conductor: ");


while (!int.TryParse(Console.ReadLine(), out ID_conductores[i]))
{
Console.WriteLine("Tiene que ser un número");
}
conductor++;

Console.WriteLine("Digite la edad del conductor: ");


while (!int.TryParse(Console.ReadLine(), out edad[i]))
{
Console.WriteLine("Tiene que ser un número");
}

Console.WriteLine("Digite genero del conductor: ");


genero[i] = Console.ReadLine();

if (edad[i] < 18)


{
cont_menoredad = cont_menoredad + 1;
}
else

if (edad[i] >= 19 && edad[i] <= 25)


{
cont_edad++;
}
if (genero[i].Equals("f"))
{
cont_generof = cont_generof + 1;
}

else
{
Console.WriteLine("no hay conductores de genero femenino");
Console.WriteLine();
}

if (genero[i].Equals("m"))
{
cont_generom++;
}
}
Console.Clear();
}

// Método ImprimirDatos
public void ImprimirDatos()
{
Console.WriteLine("El porcentaje de conductores de genero femenino :" +
cont_generof * 100 / n +"%");

Console.WriteLine("El porcentaje de conductores de genero masculino: " +


cont_generom * 100 / n +"%");

Console.WriteLine("El porcentaje conductores menores de edad: " +


cont_menoredad * 100 / n +"%");

Console.WriteLine("El porcentaje conductores con edades comprendidas entre 19


y 25 años: " + cont_edad * 100 / n +"%");
}

// Método principal Main, se llaman los métodos


static void Main(string[] args)
{
Program p = new Program();
Char tecla;

do
{
p.RegistroDatos();
p.ImprimirDatos();

Console.WriteLine("Desea continuar? si desea continuar digite 's' si no


digite 'n'");
tecla = Convert.ToChar(Console.ReadLine());
Console.Clear();

} while (tecla.Equals('s'));
}
}
}
EJERCICIO B
Autor: Edgar Horacio Quistial

En una entrevista para contratar personal para un cargo X se tienen en cuenta los
siguientes criterios: edad y educación formal.

Los puntajes son:

Para edades entre 18-24 años, 10 puntos; entre 25 – 30 años, 20 puntos; entre 31 - 40
años, 15 puntos; mayores de 40 años, 8 puntos.

Para estudios de bachillerato 5 puntos, tecnológicos 8 puntos, profesionales 10 puntos,


postgrado 15 puntos.

Se requiere calcular el puntaje total para 3 personas entrevistadas e informar, quién es


el mejor candidato para el cargo.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tercer_taller_ejercicio_b
{
class DatosEntrevista
{
string nombre;
string nivelEducativo;
int edad;
int puntajeEstudio;
int puntosEdad;

public DatosEntrevista(string nombre, string nivelEducativo, int edad,int


puntajeEstudio, int puntosEdad)
{
this.nombre = nombre;
this.nivelEducativo = nivelEducativo;
this.edad = edad;
this.puntajeEstudio = puntajeEstudio;
this.puntosEdad = puntosEdad;

public string getNombre()


{
return nombre;
}

public string getNivelEducativo()


{
return nivelEducativo;
}

public int getEdad()


{
return edad;
}

public int getPuntajeEstudio()


{
return puntajeEstudio;
}

public int getPuntosEdad()


{
return puntosEdad;
}

public String toString()


{
string msj = "\n=================\n";
msj += "\nNombre: " + this.nombre;
msj += "\nEdad: " + this.edad;
msj += "\nNivel Acádemico: " + this.nivelEducativo;
msj += "\nPuntaje obtenido por Nivel Acádemico: " + this.puntajeEstudio;
msj += "\nPuntaje obtenido por edad: " + this.puntosEdad;
msj += "\nPuntaje total: " + (this.puntosEdad + this.puntajeEstudio);

return msj;

}
}

class entrevista
{
DatosEntrevista[] entrevistados;
int CantMax=3;
int cont;

public entrevista(int CantMax)


{
this.CantMax = CantMax;
this.entrevistados = new DatosEntrevista[CantMax];
this.cont = 0;

public void agregar(string nombre, string nivelEducativo, int edad, int


puntajeEstudio, int puntosEdad)
{
entrevistados[cont]= new DatosEntrevista( nombre, nivelEducativo, edad,
puntajeEstudio, puntosEdad);
cont++;

public int buscar(String nombre)


{
int bandera = -1;
for (int i = 0; i < cont; i++)
{
if (entrevistados[i].getNombre().Equals(nombre))
{
bandera = i;
break;
}
}
return bandera;

public DatosEntrevista mejorCandidato()


{
DatosEntrevista mayorPuntaje=null;
int mayor = 0;

for (int i = 0; i < cont; i++)


{
int total = entrevistados[i].getPuntajeEstudio() +
entrevistados[i].getPuntosEdad();
if (total > mayor)
{
mayor = total;
mayorPuntaje = entrevistados[i];
}
}

return mayorPuntaje;
}

public void Imprimir()


{
for (int i = 0; i < cont; i++)
{
if (cont > 0)
{
Console.WriteLine(entrevistados[i].toString());

public int getCont()


{
return cont;
}
public int getCantMax()
{
return CantMax;
}

class Program
{
static entrevista registros = null;
public static void menu()
{
Console.Clear();
Console.WriteLine("Entrevista para el cargo de Ingeniero de sistemas");
Console.WriteLine("1.Entrevistar persona");
Console.WriteLine("2.Ver puntaje de los entrevistados");
Console.WriteLine("3.Ver el mejor candidato para el cargo de ingeniero de
sistemas");
Console.WriteLine("4.Salir");

Console.WriteLine("Digite su opción");

public static void agregar()


{
if (registros.getCont() < registros.getCantMax())
{
string nombre;
string nivelEducativo = "";
int edad;
int puntajeEstudio = 0;
int puntosEdad = 0;
Console.WriteLine("por favor digite su nombre");
nombre = Console.ReadLine();
int res = registros.buscar(nombre);
if (res == -1)
{
do
{
int op;
Console.WriteLine("Digite su nivel educativo");
Console.WriteLine("_________________________");
Console.WriteLine("1.Bachiller");
Console.WriteLine("2.Tecnólogo");
Console.WriteLine("3.Profesional");
Console.WriteLine("4.Postgrado");
op = int.Parse(Console.ReadLine());
switch (op)
{

case 1:
puntajeEstudio = 5;
nivelEducativo = "Bachiller";
break;
case 2:
puntajeEstudio = 8;
nivelEducativo = "Técnologo";
break;

case 3:
puntajeEstudio = 10;
nivelEducativo = "Profesional";
break;

case 4:
puntajeEstudio = 15;
nivelEducativo = "Postgrado";
break;
}

} while (puntajeEstudio == 0);

Console.WriteLine("Digita tu edad");
edad = int.Parse(Console.ReadLine());

if (edad>18 && edad <24)


{
puntosEdad = 10;
}

if (edad >= 25 && edad < 30)


{
puntosEdad = 20;
}

if (edad >= 31 && edad < 49)


{
puntosEdad = 15;
}

if (edad > 40)


{
puntosEdad = 8;
}
registros.agregar(nombre, nivelEducativo, edad, puntajeEstudio,
puntosEdad);
Console.WriteLine("Registro agregado");
}

else
{
Console.WriteLine("El registro ya se encuetra agregado");
}
}

else
{
Console.WriteLine("Capacidad excedidad");
}
}

static void Main(string[] args)


{
int op = 0;

registros = new entrevista(3);


registros.getCantMax();

Console.WriteLine("Por favor digite las 3 personas a entrevistar");


Console.WriteLine("Presione una tecla para continuar");
Console.ReadLine();

do
{
menu();
op = int.Parse(Console.ReadLine());

switch (op)
{
case 1:
Console.Clear();
agregar();
break;

case 2:
Console.Clear();

registros.Imprimir();

break;

case 3:
Console.Clear();

Console.WriteLine("El mejor candidato es: " +


registros.mejorCandidato().toString());

break;
}
Console.ReadLine();
} while (op!=4);
}
}
}

EJERCICIO C
Autor: César Augusto Vásquez Guerrero

Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco kilómetros durante


10 días, para determinar si es apto para la prueba de 5 kilómetros.

Para considerarlo apto debe cumplir las siguientes condiciones:


Que en ninguna de las pruebas haga un tiempo mayor a 20 minutos.
Que al menos en una de las pruebas realice un tiempo menor de 15 minutos.
Que su promedio sea menor o igual a 18 minutos.

El programa debe permitir el registro de datos y decidir si es apto para la competencia.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/* Por: César Vásquez
Introducción a la programación.
Ejercicio C Fase 3 - Administrar datos en arreglos. */

namespace Atleta // Nombre del programa


{
class Program
{
static void Main(string[] args)
{
// definimos atributos
double[] tiempos;
tiempos = new double[10];
int i;
double suma, promedio;

// Nombre del progama


Console.WriteLine("Programa para calcular si un deportista es apto o no
apto para la competencia 5K en 10 dias \n");
// Definimos ciclos
for (i = 0; i < 10; i++)
{
// Se pide tiempo empleado en minutos en la carrera por dias
Console.WriteLine("- Digite tiempo de carrera en minutos de los 5K dia {0}
: ", i + 1);
tiempos[i] = double.Parse(Console.ReadLine()); // almacenamos tiempos

}
{
suma = 0; // Se suma los tiempos de los 10 dias
for (i = 0; i < 10; i++)
{
suma = suma + tiempos[i];
}
promedio = suma / 10; // Calculamos promedio
Console.Write("- tiempo promedio de los 5K en los 10 dias :" + promedio +
"\n\n");

// definimos si él atleta es apto o no apto para competir


if (promedio <= 18)
{
Console.WriteLine("El atleta es Apto para la competencia");
}
if (promedio > 18)
{
Console.WriteLine("El atleta NO es Apto para la competencia");
}

}
Console.ReadKey();
}
}
}
EJERCICIO E
Autor: Karina Alejandra Jurado Mejía

Para facturar el servicio de energía, la empresa XYZ cuenta con los nombres de 5
usuarios con sus respectivos estratos y lecturas del mes anterior.

Se requiere un programa que registre la lectura actual de cada usuario, calcule el


consumo del mes por diferencia de lecturas y muestre para cada usuario: nombre,
consumo y valor a pagar.

El valor de un kilovatio en Colombia es:


Estrato 1 …………..$ 110
Estrato 2 …………. $ 120
Estrato 3 …………. $ 124
Estrato 4 …………. $ 126
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace empresa_energia
{
class servicioEnergia
{
string nombre;
int estrato;
int lectura;
int numEstrato;
public servicioEnergia(string nombre, int lectura, int estrato, int numEstrato)
{
this.nombre = nombre;
this.lectura = lectura;
this.estrato = estrato;
this.numEstrato = numEstrato;

}
public string getNombre()
{
return nombre;
}

public int getlectura()


{
return lectura;
}

public int getEstrato()


{
return estrato;
}

public int getNumEstrato()


{
return numEstrato;
}

public String toString()


{
string msj = "\n=================\n";
msj += "\nNombre: " + this.nombre;
msj += "\nConsumo en kilovatio: " + this.lectura;
msj += "\nNumero de Estrato: " + this.numEstrato;
msj += "\nConsumo del mes: VaLor a pagar: " + this.lectura * this.estrato;
return msj;

}
}
class consumoEnergia
{
servicioEnergia[] CantPersonas;
int cantMax = 5;
int cont;

public consumoEnergia(int cantMax)


{
this.cantMax = cantMax;
this.cont = 0;
this.CantPersonas = new servicioEnergia[cantMax];
}

public void agregar(string nombre, int lectura, int estrato, int numEstrato)
{
CantPersonas[cont] = new servicioEnergia(nombre, lectura, estrato,
numEstrato);
cont++;
}

public int buscar(String nombre)


{
int bandera = -1;
for (int i = 0; i < cont; i++)
{
if (CantPersonas[i].getNombre().Equals(nombre))
{
bandera = i;
break;
}
}
return bandera;
}

public int ConsumoMes()


{

int valorPagar = 0;
for (int i = 0; i < cont; i++)
{
if (cont > 0)
{
valorPagar += CantPersonas[i].getlectura() *
CantPersonas[i].getEstrato();

Console.WriteLine(CantPersonas[i].toString());

else
{
Console.WriteLine("No hay usuarios registrados");
Console.ReadLine();
}

}
return valorPagar;
}

public int getCont()


{
return cont;
}
public int getCantMax()
{
return cantMax;
}

class Program
{
static consumoEnergia registros = null;
public static void Menu()
{
Console.Clear();
Console.WriteLine("Empresa de energia XYZ");
Console.WriteLine("1.Registrar consumo de kilovatio por persona");
Console.WriteLine("2.Mostrar consumo del mes");
Console.WriteLine("3.salir");

Console.WriteLine("Digite su opción");
}

public static void agregar()

{
if (registros.getCont() < registros.getCantMax())
{
string nombre;
int estrato = 0;
int lectura;
int numEstrato = 0;
Console.WriteLine("Digite nombre");
nombre = Console.ReadLine();
int res = registros.buscar(nombre);
if (res == -1)
{

do
{
int op;
Console.WriteLine("Digite su estrato");
Console.WriteLine("1.Estrato 1 …………..$ 110 por kilovatio");
Console.WriteLine("2.Estrato 2 …………. $ 120 por kilovatio");
Console.WriteLine("3.Estrato 3 …………. $ 124 por kilovatio");
Console.WriteLine("4.Estrato 4 …………. $ 126 por kilovatio");
op = int.Parse(Console.ReadLine());

switch (op)
{
case 1:
estrato = 110;
numEstrato = 1;

break;

case 2:
estrato = 120;
numEstrato = 2;
break;

case 3:
estrato = 124;
numEstrato = 3;
break;

case 4:
estrato = 126;
numEstrato = 4;
break;
}

} while (estrato == 0);

Console.WriteLine("Digite el consumo de kilovatio ");


lectura = int.Parse(Console.ReadLine());

registros.agregar(nombre, lectura, estrato, numEstrato);


Console.WriteLine("Registro agregado");
}
else
{
Console.WriteLine("El registro ya se encuetra agregado");
}
}
else
{
Console.WriteLine("Capacidad excedidad");
}
}

static void Main(string[] args)


{

int op = 0;

registros = new consumoEnergia(5);


registros.getCantMax();

Console.WriteLine("Por favor digite los 5 usuarios con sus respectivos


estratos y lecturas del mes anterior");
Console.WriteLine("Presione una tecla para continuar");
Console.ReadLine();

do
{
Menu();

op = int.Parse(Console.ReadLine());

switch (op)
{
case 1:
Console.Clear();
agregar();
Console.ReadLine();
break;
case 2:
Console.Clear();
Console.WriteLine("El consumo del mes de todos los usuarios fue de
: " + registros.ConsumoMes());
Console.WriteLine("\n=================\n");
Console.ReadLine();
break;
}
} while (op != 3);

}
}
CONCLUSIONES

El uso de las funciones es muy importante porque permite la reutilización de código,


si en un programa el programador tiene que realizar varias veces la misma operación,
se puede crear una función que se invoque cada vez que se necesita.

Las funciones se pueden crear en el mismo archivo en el cual se crea el


programa principal o también se pueden crear en un archivo distinto, realizando una
llamada a ese archivo con la palabra reservada # include tal cual con se hace con las
librerías o bibliotecas.

Dos arreglos son importantes para el almacenamiento de datos, así como


eltratamiento de la información guardada en ellos, ya que nos permiten almacenar,
consultar, ordenar y hacer operaciones entre los datos guardados.

La programación durante los últimos años ha jugado un importante papel en la


sistematización de tareas y el manejo de la información. La programación tiene como
principal función el ahorro de tiempo de procesos y cálculos, ya que lo antes se hacía
de forma manual es mucho más fácil procesarlo en un computador a través de un
programa.

La programación es una herramienta de enorme valor ya que nos permite movernos


entre toda la gran cantidad de información que se maneja hoy día en distintas áreas.
BIBLIOGRAFÍAS

Potrebbero piacerti anche