Vous êtes sur la page 1sur 17

Unidad 3 - Fase 3 Administrar Datos En Arreglos

Presentado por:
Idaly reyes Hernández
Cod.1117785630
Dufrany Sánchez
Cod.40601845
Brayan Baudilio Martínez
Cod.1117497016
Edna Roció Cortez
Cod.
Jorge Eduardo Bernal
Cod.4134500

Octavio Rojas
Tutor

Grupo: 301304_73

Universidad nacional abierta y a distancia UNAD


Introducción a la programación
Escuela ECBTI
Abril 2018
Introducción

Mediante el siguiente trabajo trabajaremos en el programa de Visual Studio,


C# en la aplicación de consola el método de los arreglos los cuales son una
colección de variables del mismo tipo a las que se hace referencia a través
de un nombre común. En C# los arreglos pueden tener una o más
dimensiones; es decir arreglos unidimensionales que son una lista de
variables relacionadas entre sí; también están los arreglos
multidimensionales que tiene dos o más dimensiones y sus elementos
individuales son accesados, por la combinación de dos o más índices.
También están los arreglos bidimensionales que se especifica por dos
índices, es decir un índice indica la línea y el otro la columna; también están
los arreglos descuadrados que es un arreglo de arreglos donde la longitud de
cada uno de ellos puede ser diferente del resto.
También se utilizan para una gran variedad de propósitos porque
proporcionan un medio conveniente para agrupar variables relacionadas.
Actividades a desarrollar.
Cada estudiante debe elegir uno de los siguientes ejercicios y lo indica en el
foro.
a. Simular un sistema de votación con 3 candidatos, los usuarios
elegirán su candidato favorito registrando su voto. Al final se debe
informar la cantidad de votos recibidos por candidato y quién
ganó.
b. Una empresa necesita realizar un censo entre sus empleados con
la siguiente información: estado civil, número de hijos, casa
propia. Se debe establecer el porcentaje de empleados con
vivienda propia, porcentaje de casados y porcentaje de solteros
c. Registrar cédulas y nombres de N personas. Cada vez que se
registren datos, se debe verificar que el número de cédula no se
repita. Al final se debe presentar la lista de personas registradas.
d. Registrar las notas (de 0 a 5) de parcial 1, parcial 2 y parcial 3 de
N estudiantes. Calcular la nota final, teniendo en cuenta que el
parcial 1 equivale al 30%, el parcial 2 al 30% y el parcial 3 al 40%.
Al final se debe imprimir toda la información.
e. Crear una lista con identificación, nombre, apellido y clave. El
programa debe permitir el registro de datos, sin que se repita la
identificación. También debe brindar la posibilidad de consultar
nombre y apellido al digitar la clave.
Mapa conceptual de arreglos.

Solución de los ejercicios


Solucionado por IDALY REYES HERNANDEZ…
a. Simular un sistema de votación con 3 candidatos, los usuarios elegirán
su candidato favorito registrando su voto. Al final se debe informar la
cantidad de votos recibidos por candidato y quién ganó.
Código ejercicio
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ELECCIONES
{
class Program
{
private static void Main(string[] args) /*se crea una accion rapida para qeu
tome una sola clase para los tres candidatos */
{
candidato candidato1 = new candidato("Candidato 1"); /*a quie le nombramiento
a cada uno de los candidatos */
candidato candidato2 = new candidato("Candidato 2");
candidato candidato3 = new candidato("Candidato 3");
bool fin = false;

while (!fin)
{

Console.WriteLine("*******************************************************************");
Console.WriteLine("*** BIENVENIDOS AL SISTEMA DE VOTACION
***");

Console.WriteLine("*******************************************************************");
Console.WriteLine("");
Console.WriteLine("Para votar por el candidato 1 digite 1");
Console.WriteLine("Para votar por el candidato 2 digite 2");
Console.WriteLine("Para votar por el candidato 3 digite 3");

string voto = Console.ReadLine();

string respuesta;

switch (voto) /* se crea unas clases para que se cumpla una funcion cada
ves que se seleccione cada una de ellas*/
{
case "1":
candidato1.setVotos(candidato1.getVotos() + 1);
Console.WriteLine("voto registrado, desea seguir votando?");
Console.WriteLine("s/n");
respuesta = Console.ReadLine();
if (respuesta != "s")
{
fin = true;
}
break;
case "2":
candidato2.setVotos(candidato2.getVotos() + 1);
Console.WriteLine("voto registrado, desea seguir votando?");
Console.WriteLine("s/n");
respuesta = Console.ReadLine();
if (respuesta != "s")
{
fin = true; ;
}
break;
case "3":
candidato3.setVotos(candidato3.getVotos() + 1);
Console.WriteLine("voto registrado, desea seguir votando?");
Console.WriteLine("s/n");
respuesta = Console.ReadLine();
if (respuesta != "s")
{
fin = true;
}
break;
default:
Console.WriteLine("seleccione un numero de 1 a 3");
break;

}
}

contabilizacion(candidato1, candidato2, candidato3);

Console.ReadLine();
Console.Read();

private static void contabilizacion(candidato candidato1, candidato candidato2,


candidato candidato3)
{
Console.WriteLine("La votacion ha terminado de la siguiente manera...");
Console.WriteLine("Total votos " + candidato1.getNombre() + " = " +
candidato1.getVotos());
Console.WriteLine("Total votos " + candidato2.getNombre() + " = " +
candidato2.getVotos());
Console.WriteLine("Total votos " + candidato3.getNombre() + " = " +
candidato3.getVotos());

int[] votos = { candidato1.getVotos(), candidato2.getVotos(),


candidato3.getVotos() };
int mayor = votos[0];
for (int i = 0; i < votos.Length; i++)/* se crea una condicional para
determinar que operaciones se hacen cuando una condicion se cumple o no */
{
if (votos[i] > mayor)
{
mayor = votos[i];
}
}

if (candidato1.getVotos() == mayor & candidato1.getVotos() !=


candidato2.getVotos() && candidato1.getVotos() != candidato3.getVotos())
{
Console.WriteLine("El resulta" +
"do del " + candidato1.getNombre() + " es el ganador");
}
else if (candidato2.getVotos() == mayor & candidato2.getVotos() !=
candidato1.getVotos() && candidato2.getVotos() != candidato3.getVotos())
{
Console.WriteLine("El resultado del " + candidato2.getNombre() + " es el
ganador");
}
else if (candidato3.getVotos() == mayor & candidato3.getVotos() !=
candidato2.getVotos() && candidato3.getVotos() != candidato1.getVotos())
{
Console.WriteLine("El resultado del " + candidato3.getNombre() + " es el
ganador");
}
else
{
Console.WriteLine("La votacion ha terminado en empate");
}
}
}
}
class candidato
{
String nombre;
int votos;

public candidato(string nombre)


{
this.nombre = nombre;
this.votos = 0;
}

public string getNombre()


{
return nombre;
}

public void setNombre(string nombre)


{
this.nombre = nombre;
}

public int getVotos()


{
return votos;
}

public void setVotos(int voto)


{
this.votos = voto;
}

}
Solución del ejercicio b por JORGE EDUARDO BERNAL
b. Una empresa necesita realizar un censo entre sus empleados con la
siguiente información: estado civil, número de hijos, casa propia. Se
debe establecer el porcentaje de empleados con vivienda propia,
porcentaje de casados y porcentaje de solteros.

Código de ejercicio
Solución del ejercicio c por DUFRANY SANCHEZ
c. Registrar cédulas y nombres de N personas. Cada vez que se registren
datos, se debe verificar que el número de cédula no se repita. Al final
se debe presentar la lista de personas registradas.
Código del ejercicio
Codigo

namespace Ejercicio_C
{
class Personas
{
public int cedula { get; set; }
public string nombre { get; set; }
}
}

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

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

//se crea una lista de los usuarios registradoss


List<Personas> pers = new List<Personas>();
//varible auxiliar para salir del menu
string aux = "n";
//variable auxiliar para guardar el nombre
string nombre = "";
//variable auxiliar para hacer el primer registro sin validacion
int cont = 0;
//variable auxiliar para guardar la ceduala
int cedula = 0;
//menu de bienvivenida
Console.WriteLine("software de registro \n"
+ "Ingrese n para registrar un nuevo usuario");
Console.WriteLine("****************************************");

//leemos la opcion digitada por el usuario


aux = Console.ReadLine();
//ciclo para repetir nveces la creacion de usuarios
while (aux.Equals("n"))
{
Console.WriteLine("Digite\n"
+ "su numero de cedula");
cont++;

cedula = Convert.ToInt32(Console.ReadLine());
//si es mayor que 1 entonces hay que hacer validacion. El primer registro
no es necesario validarlo
if (cont < 2)
{

Console.Write("Ingrese su nombre completo \n");


nombre = Console.ReadLine();
//creamos el primer objeto de clase persona
pers.Add(new Personas
{
cedula = cedula,
nombre = nombre
});
}
else
{
if (verificar(cedula, pers))
{
//creamos objetos de clase persona
Console.Write("Ingrese su nombre completo \n");
nombre = Console.ReadLine();
pers.Add(new Personas
{
cedula = cedula,
nombre = nombre
});
}
else
{
Console.WriteLine("Este usuario ya se encuentra registrado");
}
}

Console.WriteLine("Ingrese n para registrar un nuevo usuario \n"


+ "Ingrese s para salir y mostrar el listado de
usuarios");
aux = Console.ReadLine();

}
//imprime la lista de los usuarios registrados
foreach (Personas per in pers)
{
Console.WriteLine("Cedula: " + per.cedula + "\n" +
"Nombre: " + per.nombre + "\n");
}
Console.ReadLine();
}

//metodo para validar si la cedula ya esta registrada


private static bool verificar(int a, List<Personas> pers)
{
bool bandera = true;
foreach (Personas per in pers)
{
if (per.cedula == a)
{
bandera = false;

}
}
return bandera;
}
}

Pruebas
Solución del ejercicio d por EDNA ROCIO CORTES
d. Registrar las notas (de 0 a 5) de parcial 1, parcial 2 y parcial 3 de N
estudiantes. Calcular la nota final, teniendo en cuenta que el parcial 1
equivale al 30%, el parcial 2 al 30% y el parcial 3 al 40%. Al final se
debe imprimir toda la información.
Código del ejercicio.

Solución del ejercicio e por BRAYAN BAUDILIO MARTINEZ


e. Crear una lista con identificación, nombre, apellido y clave. El programa
debe permitir el registro de datos, sin que se repita la identificación.
También debe brindar la posibilidad de consultar nombre y apellido al
digitar la clave.
Código del ejercicio.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

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

//inicializar arreglos
int[] identificacion = new int[2];
string[] nombres = new string[2];
string[] apellidos = new string[2];
string[] clave = new string[2];
string clavenueva;

Console.WriteLine("Bienvendos al Programa de identificacion, " +


"nombre, apellido y clave," +
"ademas evita repetir identificacion" +
" y muestra datos a partir de la clave");
Console.WriteLine("Autor:Brayam Martínez Perdomo");
Console.WriteLine("Fecha creacion: 23/04/2018");

// recorrer los arreglos


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

{
Console.WriteLine("*****************************");
// registro de datos
Console.Write("Identificacion: ");
identificacion[i] = int.Parse(Console.ReadLine());
// condicion para evitar repetir identificacion
if (identificacion[0] == identificacion[1])

{
do
{
Console.Write("Identificacion: ");
identificacion[i] = int.Parse(Console.ReadLine());

} while (identificacion[0] == identificacion[1]);

// metodo registro datos


Console.Write("Nombre: ");
nombres[i] = Console.ReadLine();
Console.Write("Apellidos: ");
apellidos[i] = Console.ReadLine();
Console.Write("Clave: ");
clave[i] = Console.ReadLine();

Console.WriteLine("*****************************");
// escribir clave para ver datos
Console.WriteLine("ingrese clave para ver datos: ");
clavenueva = Console.ReadLine();
// condicion
if (clavenueva == clave[1])
{
// muestra datos a partir de la clave
Console.WriteLine("El Nombre es : " + nombres[1] + " " + apellidos[1]);

}
if (clavenueva == clave[0])
// muestra datos a partir de la clave
Console.WriteLine("El Nombre es : " + nombres[0] + " " + apellidos[0]);
Console.WriteLine("Final del programa");
Console.Write("presione una tecla para terminar......");
Console.ReadKey();

}
}
}
Conclusiones

Después de haber hecho uso de los diferentes tipos de arreglos podemos


concluir que la principal ventaja de un arreglo es que organiza lo datos de
manera que puedan ser fácilmente manipulables.

También de la misma forma los arreglos permiten organizar los datos de tal
manera que puedan ser fácilmente almacenados.
REFERENCIAS BIBLIOGRÁFICAS

Arreglos unidimensionales: características y manejo de arreglos


unidimensionales.

Schildt, H. (2010). Fundamentos de C# 3.0. (pp. 153 - 160). Madrid, ES:


McGraw-Hill España. Recuperado de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=1
0515217&ppg=170

Arreglos multidimensionales: manejo de arreglos bidimensionales

Schildt, H. (2010). Fundamentos de C# 3.0. (pp. 161 - 169). Madrid, ES:


McGraw-Hill España. Recuperado de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=1
0515217&ppg=170

String – cadenas de caracteres: trabajar con el objeto string

Schildt, H. (2010). Fundamentos de C# 3.0. (pp. 177 - 182). Madrid, ES:


McGraw-Hill España. Recuperado de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=1
0515217&ppg=170

Vous aimerez peut-être aussi