Está en la página 1de 17

FASE 3

ADMINISTRAR DATOS EN ARREGLOS

GRUPO: 301304_7

INTEGRANTES:
NEIDID SOFIA MEDINA ATENCIA
JOSE DANIEL MONTES
JESUS DAVID MONTES

TUTOR.
GEOVANNI CATALAN

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


CURSO INTRODUCCIÓN A LA PROGRAMACIÓN
INGENIERIA DE SISTEMAS
ABRIL 2018
INTRODUCCIÓN

Las estructuras de datos han ayudado a los desarrolladores a mantener un orden y coherencia en
los datos que guardan una relación entre sí, es importante que comprendas su funcionamiento ya
que con su implementación, podrás optimizar códigos de programas especializados.

En el lenguaje C encontraras tres tipos de estructuras de datos, conocidas como arreglos, que
ayudan a optimizar el uso de memoria de un programa, disminuir errores de sobrescritura etc.

En el siguiente trabajo aprenderemos el concepto de dos tipos de estructuras, los arreglos


unidimensionales y los arreglos bidimensionales los cuales llevaremos a la práctica por medio
de ejercicios en Visual Basic con el lenguaje de C#.
CONCEPTOS BÁSICOS DE ARREGLOS
Ejercicios

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
Estudiante: NEIDID MEDINA ATENCIA
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{

class Program
{

struct Emp{
public String estado;
public int numhijos;
public String casa_p;
};

static void Main(string[] args)


{
int cant, i;
float contcas = 0,contsolt = 0,contcap = 0;
float procas, prosolt, promvipro;
Emp[] empleado = new Emp[50];
Console.WriteLine("Digite la cantidad de empleados:");
string s = Console.ReadLine();
cant = int.Parse(s);
for (i = 0; i < cant; i++)
{
Console.WriteLine("Digite su estado civil (casado-soltero-separado):");
empleado[i].estado= Console.ReadLine();
Console.WriteLine("Digite numero de hijos");
s = Console.ReadLine();
empleado[i].numhijos = int.Parse(s);
Console.WriteLine("Digite si/no casa propia?:");
empleado[i].casa_p = Console.ReadLine();
}

for (i = 0; i < cant; i++)


{
if (String.Compare(empleado[i].estado,"soltero")==0)
{
contsolt++;
}
if (String.Compare(empleado[i].estado,"casado")==0)
{
contcas++;
}
if (String.Compare(empleado[i].casa_p,"si")==0)
{
contcap++;
}
}

procas = (contcas / (cant)) * 100;


prosolt = contsolt / cant * 100;
promvipro = contcap / cant*100;
Console.WriteLine("Pocentaje de Casados: " + procas);
Console.WriteLine("Pocentaje de Solteros: " + prosolt);
Console.WriteLine("Pocentaje de vivienda Propia: " + promvipro);
Console.ReadKey();
}
}
}
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.
Estudiante: JESUS DAVID MONTES
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace AppGeneral
{
class DatosGenerales
{
public string identificacion { get; set; }
public string nombres { get; set; }
public string apellidos { get; set; }
public string clave { get; set; }

public Dictionary<string, string> listaDeDatos = new Dictionary<string, string>();


public List<string> test = new List<string>();

public string data;

public bool registrarDatos()


{
Random id = new Random();
bool status = false;
int acum = 0;

foreach (var item in this.GetType().GetProperties())


{
Console.Write("-- {0} : ", item.Name);
data = Console.ReadLine();

if (item.Name == "identificacion")
{
identificacion = data;

if (verificaId(data))
{
Console.WriteLine("Ya se encuentra registrado");
status = false;
break;
}
}

acum++;
listaDeDatos.Add(id.Next(1, 1000) + item.Name, data);
}

if (acum > 0)
status = true;

return status;
}

public void listarDatos()


{
string removeNumber;

if (listaDeDatos.Count() <= 0)
Console.WriteLine("No hay dato que mostrar");
else
foreach (var datos in listaDeDatos)
{
removeNumber = Regex.Replace(datos.Key, @"[0-9]", string.Empty);

Console.WriteLine("-- {0} : {1}", removeNumber, datos.Value);

if (Regex.IsMatch(datos.Key, "clave"))
Console.Write("\n");
}
}

public bool verificaId(string id)


{
bool status = false;

foreach (var item in listaDeDatos)


{
if (id == item.Value)
status = true;
}

return status;
}

public void consultarDato()


{
Console.Write("\n");

if (listaDeDatos.Count() <= 0)
Console.WriteLine("No hay datos en la lista");
else
{
Console.Write("Ingrese la clave : ");
string clave = Console.ReadLine();
Console.Write("\n");

foreach (KeyValuePair<string, string> item in listaDeDatos)


{
if (Regex.IsMatch(item.Value, clave))
Console.WriteLine("Registro Encontrado son : " + item.Value);
}

}
}
}
}

Pantallazo de la ejecución

Nos muestras la opción del menú

Asemos un registro de datos


Hacemos otro registro de datos

Verificamos si quedaron guardados en consultar datos

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.
JOSE DANIEL MONTES

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

namespace AppPersonas.app
{
class App : Personas
{
public string option;

public void Iniciar()


{
presentacion();
miMenu();
}

public void presentacion()


{
Console.WriteLine("Universidad Nacional Abierta y a Distancia");
Console.Write("\n");
}

public void miMenu()


{
Console.WriteLine("1. Registrar Personas");
Console.WriteLine("2. Listado de Personas");
Console.WriteLine("3. Salir");
Console.Write("\n");

Console.Write("Seleccione la opcion : ");


option = Console.ReadLine();
opcionesMiMenu(option);
}

public void opcionesMiMenu(string option)


{
switch(option)
{
case "1":
Console.Clear();
presentacion();
Console.WriteLine("Registro de Personas");

Console.Write("\n");

if (registroDePersonas())
{
Console.Write("\n");
Console.WriteLine("Datos Registrados");
}

Console.ReadKey();
Console.Clear();

Iniciar();
break;

case "2":
Console.Clear();
presentacion();

Console.WriteLine("Listado de Personas");
Console.Write("\n");
ListaPersonas();

Console.WriteLine("Presione enter para regresar al menu");


Console.ReadKey();
Console.Clear();

Iniciar();
break;

case "3":
Environment.Exit(0);
break;

default:
Console.Clear();
presentacion();
Console.WriteLine("Opcion Invalida");

Console.ReadKey();
Console.Clear();
Iniciar();
break;
}
}
}
}
Capture de pantalla
CONCLUSIONES

Del anterior trabajo se puede concluir lo siguiente:

 Se identificó por medio de un mapa conceptual algunos conceptos básicos de arreglos,


por ejemplo que existen tres tipos de arreglos los cuales son: arreglos unidimensionales,
multidimensionales y múltiples subíndices
 También se logró establecer que Dos arreglos son importantes para el almacenamiento
de datos así como el tratamiento de la información guardada en ellos ya que nos
permiten almacenar consultar ordenar y hacer operaciones entre los datos guardados
 Por último se realizaron tres ejemplos de ejercicios en Visual Basic con el lenguaje C#
en donde empleamos varios tipos de arreglos.
BIBLIOGRAFÍA

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=10515217&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=10515217&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=10515217&ppg=170

También podría gustarte