You are on page 1of 17

1

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

PROGRAMA DE INGENIERÍA DE SISTEMAS

INTRODUCCIÓN A LA PROGRAMACIÓN

CURSO 301304_31

FASE 1 – MANEJAR IDE Y ESTRUCTURAS BASICAS DE PROGRAMACIÓN

CRISTIAM HUMBERTO GOMEZ

JONNATHAN CARMELO RIVERA GUERRERO

CARLOS AUGUSTO PINZON

CARLOS ANDRES ACEVEDO

CLAUDIA LILIANA TAMI

PRESENTADO A: INGENIERA MIRIAN DEL CARMEN BENAVIDES

CEAD BUCARAMANGA

ABRIL 2018
2

INTRODUCCIÓN

El presente trabajo se realiza para que el grupo colaborativo logre apropiarse de los conceptos

teóricos y prácticos de la tercera unidad Arreglos unidimensionales, Arreglos

bidimensionales, String – cadenas de caracteres. Datos estructurados, desarrollando unos

ejercicios propuestos en la guía de actividades los cuales permiten aplicar estructuras estáticas

para almacenar datos y modificar su contenido aplicando métodos de ordenación y búsqueda.


3

 A nivel de grupo, deben realizar un mapa conceptual que sea de autoría exclusiva de

los integrantes del grupo y que explique los conceptos básicos de arreglos. Incluir los

autores del mapa conceptual.

Participantes del mapa conceptual:

CRISTIAM HUMBERTO GOMEZ

JONNATHAN CARMELO RIVERA GUERRERO

CARLOS AUGUSTO PINZON

CARLOS ANDRES ACEVEDO

CLAUDIA LILIANA TAMI


4

 Cada estudiante debe elegir uno de los siguientes ejercicios y lo indica en el foro

(para evitar que 2 estudiantes presenten el mismo ejercicio).

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ó.

Realizado por CARLOS ANDRES ACEVEDO

Código

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

namespace ConsoleApp21
{
class Program
{
static void Main(string[] args)
{
int v1 = 0, v2 = 0, v3 = 0, voto, max;
double total, ov1, ov2, ov3;
string ganador;

Console.WriteLine("(1)petrox (2)Duquen");
Console.WriteLine("(3)Fajardon (4)salir");

do
{
Console.Write("ingrese el voto : ");
voto = int.Parse(Console.ReadLine());
if (voto == 1)
{
v1 = v1 + 1;

}
else if (voto == 2)
{
v2 = v2 + 1;
}

else if (voto == 3)
{
v3 = v3 + 1;
}
} while (voto != 4);
5

total = v1 + v2 + v3;
ov1 = (v1 / total) * 10;
ov2 = (v2 / total) * 10;
ov3 = (v3 / total) * 10;

Console.WriteLine("petrox tiene : {0}", ov1);


Console.WriteLine("Duquen tiene : {0}", ov2);
Console.WriteLine("Fajardon tiene : {0}", ov3);

max = v1;
ganador = "petrox";
if (v2 < max) ;
{
ganador = "Duquen";
}
if (v3 < max) ;
{
ganador = ("Fajardon");

}
Console.WriteLine("Felicidades : {0}", ganador);

Console.ReadLine();
}
}
}
6

Pantallazo
7

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

Realizado por CRISTIAM HUMBERTO GOMEZ

Código

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*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
* porcentaje de solteros*/
namespace EjercicioB_Censo
{
class Program
{
static void Main(string[] args)
{
int Empleados; //Creo una variable metodo
metodos metoditos = new metodos();//Creo un objeto de la clase
metodo
Console.Write("INGRESE LA CANTIDAD DE EMPLEADOS A PARTICIPAR EN EL
CENSO: ");//Solicito se ingrese la cantidad de personas a
censar
Empleados = int.Parse(Console.ReadLine());//Capturo el valor
ingresado
metoditos.CargarEmpleados(Empleados);//Envio el valor capturado a
el metodo CargarEmpleados

}
}
class CEmpleado//Clase empleado Generada para almacenar los datos de cada
trabajador
{
//ATRIBUTOS DE LA CLASE EMPLEADO
public String Nombre;
public int Estado_Civil;
public int Hijos;
public int Tipo_Vivienda;
8

}
class metodos //Clase creada para organizar los metodos del codigo
{
public void CargarEmpleados(int can_Empleados)//Metodo ejecutado para
cargar los datos de los empleados
{
int CantidadEmpleados = can_Empleados;//Capturo la cantidad de empleados que llegan
desde el llamado del metodo
CEmpleado[] Vector_Empleado = new CEmpleado[CantidadEmpleados];// Creo el vector
donde almacenaré los datos
for (int i = 0; i<Vector_Empleado.Length; i++)//For Diseñado para recorrer el vector
{
CEmpleado ObjEmpleados = new CEmpleado();//Creo un objeto de tipo Empleado
Console.Write("\nNombre Empleado:");//Ingreso el nombre del Empleado
ObjEmpleados.Nombre = Console.ReadLine(); //Guardo el dato Console.Write("\nEstado
civil por el estado Colombiano:\n1 Soltero\t2 Casado\t 3 Unión Libre\n"); //solicito un
numero al usuario
ObjEmpleados.Estado_Civil = int.Parse(Console.ReadLine());// Guardo el dato
Console.Write("\nNumero de hijos: ");//Solicito el numero de Hijos
ObjEmpleados.Hijos = int.Parse(Console.ReadLine());//Guardo el dato

Console.Write("\nTipo de vivienda:\n1 Arrendada\t 2 Propia\n");//Solicito el tipo de


vivienda

ObjEmpleados.Tipo_Vivienda = int.Parse(Console.ReadLine());// Almaceno el tipo


de vivienda
Vector_Empleado[i] = ObjEmpleados;//Cargo los valores obtenidos en la posición
del vector indicada por i
}

Console.Write("LISTADO DE EMPLEADOS\n\n");//Genero un titulo para imprimir los empleados


registrados
int Casa_Propia = 0, Casado = 0, Soltero = 0;//Creo estas variables como contadores para
determinar los porcentajes
double PCasa_Propia, PCasado, PSoltero;//Creo estas variables para almacenar los datos
de las operaciones de los porcentajes
for (int j = 0; j<Vector_Empleado.Length; j++)//Recorro el vector anteriormente creado
{
String Ecivil = Est_Civil(Vector_Empleado[j].Estado_Civil);// Valido el numero ingresado
en el Estado civil y le asigno su
equivalente
String TVivienda = T_Vivienda(Vector_Empleado
[j].Tipo_Vivienda);//Valido el numero ingresado en el Tipo de vivienda y le asigno su
equivalente
//-------MUESTRO POR CONSOLA LOS EMPLEADOS REGISTRADOS--------------------
Console.WriteLine("NOMBRE DEL EMPLEADO: "+Vector_Empleado [j].Nombre + "\nESTADO CIVIL:
" + Ecivil +"\nCANTIDAD DE HIJOS: " + Vector_Empleado[j].Hijos + "\nTIPO DE VIVIENDA: " +
TVivienda+"\n");
//---------------------------------------------------------
//----VALIDO EL TIPO DE VIVIENDA DE LOS EMPLEADOS Y REALIZO EL CONTEO----
if (Vector_Empleado[j].Tipo_Vivienda == 2)
{
Casa_Propia = Casa_Propia + 1;
}
//----VALIDO EL ESTADO CIVIL Y REALIZO EL CONTEO----
if (Vector_Empleado[j].Estado_Civil == 2)
{
Casado = Casado + 1;
9

}
else if (Vector_Empleado[j].Estado_Civil == 1)
{
Soltero = Soltero + 1;
}
//----------------------------------------------------
}
//--OPERACIONES PARA DEFINIR EL PORCENTAJE DE LOS ITEMS SOLICITADOS E IMPRIMIR DICHOS
RESULTADOS PCasa_Propia = ((Casa_Propia* 100) / Vector_Empleado.Length);// Obtener el
porcentaje de empleados con casa propia
PCasado = ((Casado* 100) / Vector_Empleado.Length);//Obtener el porcentaje de empleados
casaodos
PSoltero = ((Soltero* 100) / Vector_Empleado.Length);//Obtener el porcentaje de
empleados solteros
Console.Write("\nPorcentaje de empleados con casa propia: " + PCasa_Propia + "%\n");
Console.Write("Porcentaje de empleados casados: " + PCasado + "% \n");
Console.Write("Porcentaje de empleados solteros: " + PSoltero + "%");
Console.ReadKey();
}

public String Est_Civil(int Estado)//METODO CREADO PARA ASIGNAR EL TIPO DE ESTADO CIVIL
AL VALOR INGRESADO
{
switch (Estado)
{
case 1:
return "Soltero(a)";
case 2:
return "Casado(a)";
case 3:
return "Union Libre";
default: return "Error";
}
}
public String T_Vivienda(int Vivienda)//METODO CREADO PARA ASIGNAR EL TIPO DE VIVIENDA
{
switch (Vivienda)
{
case 1:
return "Arrendada";
case 2:
return "Propia";
default: return "Error";
}

}
}

}
10

Pantallazo
11

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.

Realizado Por Jonnathan Carmelo Rivera Guerrero


12

Código

using System;

namespace //Jonnathan Rivera


{
class Program
{
static void Main(string[] args)
{
int i = 0, n = 0;
Console.WriteLine("Digite el número de personas a registrar");
n = Convert.ToInt32(Console.ReadLine());
string[,] personas = new string[n, 2];//Esta matriz me guardará en la primera
columna el nombre y en la segunda el número de cédula. Se deja string el número de cédula
para soportar pasaportes.
while (i < n)
{
string cedula = string.Empty;
Console.WriteLine("Digite la cédula de la persona " + (i + 1));
cedula = Console.ReadLine();

bool existeCedula = false;


//Se valida que el número de cédula se único
for (int jr = 0; jr <= i; jr++)
{
if (personas[jr, 0] == cedula)//Cédula repetida
{
Console.WriteLine("La cédula " + cedula + " ya se encuentra
almacenada.\nPor favor, ingrese otra persona a la lista.");
existeCedula = true;
jr = i;
}
}
if (existeCedula == false) //Nuevo registro
{
Console.WriteLine("Digite el nombre de la persona " + (i + 1));
personas[i, 0] = cedula;
personas[i, 1] = Console.ReadLine();
i++;
}
}
Console.WriteLine("\nLas personas registradas fueron:\n");
for (int j = 0; j < n; j++)
{
Console.WriteLine("Nombre: " + personas[j, 1] + " , Cédula: " + personas[j,
0]);
}
Console.WriteLine("Hemos terminado.\nPulse cualquier tecla para salir del
programa.");
Console.ReadKey();

}
}
}
13

Pantallazo

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.

Realizado por CARLOS AUGUSTO PINZON


14

Código

using System;

namespace NotaFinal
{
class Program
{
//Se crea una variable tipo Struct
struct Notas
{
public float nota1;
public float nota2;
public float nota3;
public float notafinal;
}

static void Main(string[] args)


{
int n = 0;
Console.WriteLine("Digite el número de estudiantes para registrar notas: ");
/*Se solicita al usuario el número de estudiantes*/
n = Convert.ToInt32(Console.ReadLine());
Notas[]notas= new Notas[n];
//For para ingresar las notas de los n estudiantes.
for (int i=0; i<=(n-1); i++)
{
Console.WriteLine("Ingresamos notas estudiante: " + (i+1));
//notas[i].estudiante = i;
Console.WriteLine("Ingresar nota 1: ");
notas[i].nota1 = float.Parse(Console.ReadLine());
Console.WriteLine("Ingresar nota 2: ");
notas[i].nota2 = float.Parse(Console.ReadLine());
Console.WriteLine("Ingresar nota 3: ");
notas[i].nota3 = float.Parse(Console.ReadLine());
notas[i].notafinal = Convert.ToSingle((notas[i].nota1 * 0.3) + (notas[i].nota2
* 0.3) + (notas[i].nota3 * 0.4));
Console.WriteLine("*******************");
}
//For para imprimir la nota final de los estudiantes.
for (int i = 0; i <= (n-1); i++)
{
Console.WriteLine("La nota final del estudiante " + (i+1) + " es: ");
Console.WriteLine(Convert.ToSingle(notas[i].notafinal));
Console.WriteLine("********************");
}
Console.ReadKey();
}

}
}
15

Pantallazo
16

Conclusiones

Existen diversos tipos de lenguajes de programación, durante el desarrollo de la actividad se

logra instalar IDE visual estudio, se navega por la plataforma de esta aplicación para

familiarizar y aplicar los conceptos básicos.

Cada participante del grupo desarrolla uno de los cinco ejercicios de la guía donde se practica

lo aprendido mediante los 5 ejercicios propuesto.


17

Bibliografía

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=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

OVI Unidad 3 - Arreglos

OVI Arreglos: fundamentación de arreglos.

Benavides, M. (2016). Arreglos. Recuperado de http://hdl.handle.net/10596/10402

You might also like