ejercicios programacion en consola c#

14
UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA Escuela Profesional de Ingeniería Industrial ALGORITMOS COMPUTACIONALES PROYECTO GRUPO 3 INTEGRANTES: VILCHEZ ORCON HAYDEE PILAR 201021201 PROFESOR: CEBREROS DELGADO DE LA FLOR

Upload: geiner-saucedo

Post on 30-Oct-2014

185 views

Category:

Documents


7 download

DESCRIPTION

Programacion consola

TRANSCRIPT

Page 1: Ejercicios Programacion en consola c#

UNIVERSIDAD RICARDO PALMA

FACULTAD DE INGENIERÍA

Escuela Profesional de Ingeniería Industrial

ALGORITMOS COMPUTACIONALES

PROYECTO

GRUPO 3

INTEGRANTES:

VILCHEZ ORCON HAYDEE PILAR 201021201

PROFESOR:

CEBREROS DELGADO DE LA FLOR

FECHA:

10 DE JUNIO

2012 - I

Page 2: Ejercicios Programacion en consola c#

BASE TEÓRICA

El programa que realizaremos nos ayudara a generar una boleta de pago teniendo en cuenta los descuentos que realizan en una empresa. Lleva como título “BOLETA DE PAGO DE REMUNERACIONES DE TRABAJADORES”.

Nuestro programa consiste en ingresar la cantidad de obreros de una línea de producción, seguidamente el programa nos debe mostrar una lista donde nos pida ingresar una información de cada trabajador (nombre, DNI, Remuneración, Días trabajados, Porcentaje de AFP, Días de falta y Numero de tardanzas) y realizando distintas operaciones obtener finalmente el sueldo neto de cada trabajador.

Comenzamos utilizando una instrucción que permita controlar de una u otra manera algunos o todos los errores posibles que pueden ocurrir en un bloque de código determinado (Try- Cath). En este caso, al ingresar la cantidad de obreros (num =short), el usuario digita un letra, un numero decimal u otra información incompatible, entonces el programa no se detendrá, sino continuara pidiendo que ingrese la cantidad de trabajadores hasta que se logre coincidir con lo que declaramos al comienzo.

Luego procederemos a declarar los arreglos, un arreglo viene a ser un indicador que puede llegar a almacenar varios valores simultáneamente. Cada uno de estos valores se identifica mediante un número (posición) al cual se llama índice. Así, para acceder el primer elemento del arreglo habría que usar el índice cero, para el segundo índice uno, para el tercero dos, y así sucesivamente. En nuestro programa tenemos los siguientes arreglos:

string[] Nombre =new string[num];

string[] DNI =new string[num];

int[] Dias =new int[num];

int[] Diasfalta =new int[num];

int[] Diastardanza =new int[num];

double[] x =new double[num];

double[] Remuneracion = new double [num];

double[] AFP =new double[num];

double[] xAFP =new double[num];

Page 3: Ejercicios Programacion en consola c#

double[] vxdia =new double[num];

double[] vxhora =new double[num];

double[] totTardanza =new double[num];

double[] totFaltas =new double[num];

double[] totDesc =new double[num];

A continuación explicaremos cada arreglo:

Nombre [i] = Nos permite almacenar el nombre de cada trabajador que ingresemos.

DNI [i] = Almacenara el número de DNI de cada trabajador.

Días [i] = Este arreglo almacenara los días trabajados de cada trabajador.

Diasfalta [i] = Almacenara la cantidad de días que falto cada trabajador.

Diastardanza [i] = Almacenara la cantidad de tardanzas que tiene cada trabajador.

X [i] = Este arreglo recepcionará el descuento del seguro social para cada trabajador.

Remuneración [i] = Aquí se acumulara el sueldo que se le otorga a cada trabajador.

AFP [i] = En este arreglo se almacenara la cantidad de descuento de AFP (en número)

por cada trabajador.

xAFP [i] = Aquí se reservara el descuento que se realizara a cada trabajador, luego de

realizar una operación matemática que consiste en multiplicar el porcentaje de AFP y la

remuneración.

vxdía [i] = En este arreglo se guardara el valor por cada día trabajado ad cada

trabajador.

vxhora [i] = En este arreglo se guardara el valor por hora de cada trabajador.

totTardanza [i] = Aquí se almacenara la cantidad de descuento por el total de tardanzas

de cada empleado, para ello se realizará la siguiente operación:

vxhora[i] *diastardanza [i]

Page 4: Ejercicios Programacion en consola c#

totFalta [i] = En este arreglo se reservara la cantidad de descuento por el total de días

faltados de cada trabajador, y también, para encontrar esta cantidad se tiene que realizar

la siguiente operación:

vxdia [i] *diasFalta [i]

totDesc [i] = Se almacenara la cantidad total de descuento que se va a disminuir a cada

trabajador.

Seguidamente añadiremos la variable que en este caso es “ i “(contador) y la constante

“SS =0.10” que es el porcentaje de descuento del seguro social.

Continuamos con el proceso de entrada, en el cual utilizaremos la instrucción for que nos

permite leer desde el índice “cero “hasta el índice “num “.Luego de digitar los datos que

vamos a requerir para diversas operaciones que se tiene que realizar para obtener el

sueldo neto, terminamos con la instrucción y añadimos el “System.Console.Clear “que me

permite limpiar la pantalla y seguir con las demás instrucciones.

Procederemos con el proceso de cálculo, aquí utilizaremos las siguientes operaciones:

xAFP = (AFP [i]/100) * Remuneracion [i]

vxdia [i] = Remuneracion[i] / 30

vxhora [i] = vxdia[i] / 8

x [i] = Remuneración [i] *SS

Dentro de la instrucción for añadimos dos instrucciones if para obtener la cantidad total

de descuento por tardanza y la cantidad total de descuento por faltas. Si el número de

tardanzas es mayor que 0, entonces utilizaremos la siguiente formula: totTardanza [i] =

vxhora [i] y si el número de faltas es mayor que 0, entonces utilizaremos la siguiente

formula: XAFP [i] + x[i].

Finalizamos con el proceso de salida, donde utilizaremos la instrucción for imprimiendo

los resultados de salida que son:

“Personal “= Nombre [i]

“AFP” = (xAFP [i], 2)

Page 5: Ejercicios Programacion en consola c#

“Desc. Tardanza “= (totTardanza [i] ,2)

“Desc. Falta “= (totFaltas [i] ,2)

“Desc. Seguro“= (x [i] ,2)

“Desc. Total “= (totDesc [i] ,2)

“Total Pagar “= ((Remuneración [i]) – (totDesc[i] ,2))

Para esta última sección utilizaremos “System.Console.Set Cursor Position (x,y)” , el

cual nos ayudara a darle una posición a cada dato de salida y así poder formar columnas.

También utilizaremos “Math.Round (variable[i], 2)”, el cual me va a permitir redondear a

dos decimales cada resultado obtenido.

El programa finaliza de esta forma:

Page 6: Ejercicios Programacion en consola c#

DIAGRAMA DE FLUJO

INICIO

SS= const; i= int

Ingresar “num”

num = int

i = 0 (+1)… num

Nombre [i]DNI [i]Días Trabajados [i]Remuneración [i]AFP [i]Dias Falta [i]Dias Tardanza [i]

i = 0 (+1)… num

Page 7: Ejercicios Programacion en consola c#

xAFP = (AFP [i]/100) * Remuneracion [i]

vxdia [i] = Remuneracion[i] / 30

vxhora [i] = vxdia[i] / 8

x [i] = Remuneración [i] *SS

diasTardanza [i] > 0

totTardanza[i] = vxhora[i] * diasTardanza[i]

Escribir totTardanza [i]

diasFalta [i] > 0

totFalta[i] = vxhora[i] * diasFalta[i]

Escribir totFaltas [i]

totDesc[i] = totFaltas[i] + totTardanzas[i] + xAFP[i] + x[i]

Page 8: Ejercicios Programacion en consola c#

CODIFICACION

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

namespace ConsoleApplication4{ class Program { static void Main(string[] args) { //PROCESO DE DESCRIPCION DEL ARRAY short num=0; do { try {

i = 0 (+1)… num

“Personal “ + Nombre [i]

“AFP” + (xAFP [i]

“Desc. Tardanza “+ (totTardanza [i]

“Desc. Falta “+ totFaltas [i]

“Desc. Seguro“+ x [i]

“Desc. Total “+ totDesc [i]

“Total Pagar “+ (Remuneración [i] – (totDesc[i])

FIN

Page 9: Ejercicios Programacion en consola c#

Console.WriteLine("¿Cuantos trabajadores va a ingresar?"); num =short.Parse(Console.ReadLine()); } catch { continue; } } while (num ==0); Console.Clear();

//DECLARACION DE INSTANCIACION DEL ARRAY string[] Nombre =new string[num]; string[] DNI =new string[num]; int[] Dias =new int[num]; int[] Diasfalta =new int[num]; int[] Diastardanza =new int[num]; double[] x =new double[num]; double[] Remuneracion = new double [num]; double[] AFP =new double[num]; double[] xAFP =new double[num]; double[] vxdia =new double[num]; double[] vxhora =new double[num]; double[] totTardanza =new double[num]; double[] totFaltas =new double[num]; double[] totDesc =new double[num];

//DECLARACION DE VARIABLES int i;

//CONSTANTE const double SS= 0.10;

//PROGRESO DE INGRESO

Console.WriteLine("BOLETA DE PAGO DE REMUNERACIONES DE TRABAJADORES"); Console.WriteLine("------------------------------------------------"); for(i=0 ; i<num; i++) { Console.WriteLine("--------------Trabajador"+i+"--------------"); Console.WriteLine("Ingrese el nombre del trabajador"); Nombre [i] =Console.ReadLine(); Console.WriteLine("Ingrese Numero del DNI"); DNI [i] =Console.ReadLine(); Console.WriteLine("Ingrese los dias trabajados"); Dias [i] =int.Parse(Console.ReadLine()); Console.WriteLine("Ingrese Remuneracion"); Remuneracion [i] =double.Parse(Console.ReadLine()); Console.WriteLine("Ingrese porcentaje de AFP"); AFP [i] =double.Parse(Console.ReadLine()); Console.WriteLine("Ingrese los dias de falta"); Diasfalta [i] =int.Parse(Console.ReadLine()); Console.WriteLine("Numero de tardanzas");

Page 10: Ejercicios Programacion en consola c#

Diastardanza [i] =int.Parse(Console.ReadLine()); } Console.Clear();

//PROCESO DE CALCULO for(i=0; i<num; i++) { xAFP[i] = (AFP[i]/100)*Remuneracion[i]; vxdia[i] = Remuneracion[i]/30; vxhora[i] = vxdia[i]/8; x[i] = Remuneracion[i]*SS;

if(Diastardanza[i]>0) { totTardanza[i] = vxhora[i]*Diastardanza[i]; } if(Diasfalta[i]>0) { totFaltas[i] = vxdia[i]*Diasfalta[i]; } totDesc[i] = totFaltas[i] +totTardanza[i] + xAFP[i] +x[i]; }

//RESULTADOS Console.WriteLine(); Console.SetCursorPosition(35,2); Console.WriteLine("Planilla de Trabajadores"); Console.SetCursorPosition(35,3); Console.WriteLine("---------------"); Console.SetCursorPosition(1,5); Console.WriteLine("Personal"); Console.SetCursorPosition(10,5); Console.WriteLine("AFP"); Console.SetCursorPosition(16,5); Console.WriteLine("Desc. Tardanza"); Console.SetCursorPosition(30,5); Console.WriteLine("Desc. Falta"); Console.SetCursorPosition(41,5); Console.WriteLine("Desc. Seguro"); Console.SetCursorPosition(53,5); Console.WriteLine("Desc. Total"); Console.SetCursorPosition(65,5); Console.WriteLine("Total a pagar"); Console.SetCursorPosition(16,5);

int xpos = 6; for (i=0; i<num; i++) { Console.SetCursorPosition(1,xpos); Console.WriteLine(Nombre[i]); Console.SetCursorPosition(10,xpos); Console.WriteLine(Math.Round(xAFP[i],2)); Console.SetCursorPosition(30,xpos); Console.WriteLine(Math.Round(totTardanza[i],2)); Console.SetCursorPosition(41,xpos); Console.WriteLine(Math.Round(x[i],2)); Console.SetCursorPosition(53,xpos); Console.WriteLine(Math.Round(totDesc[i],2));

Page 11: Ejercicios Programacion en consola c#

Console.SetCursorPosition(65,xpos); Console.WriteLine(Math.Round(Remuneracion[i]-totDesc[i]- totDesc[i],2)); xpos++; }

//PAUSA ANTES DE SALIR string a= Console.ReadLine(); } }}

CONCLUSIONES

A través de este proyecto podemos tener un seguimiento

detallado de los ingresos y descuentos que se le hace a un trabajador de

una empresa y aplicarlo a distintos tipos de casos.

Page 12: Ejercicios Programacion en consola c#

Dentro de la codificación hemos logrado indagar nuevas

instrucciones que nos ayudaran a tener una mejor presentación y orden,

este es el caso del “System.Console, Set Cursor Position (x, y), try – catch,

Math.Round (variable[i] ,2) y System.Console. Clear “.

En este programa tenemos la facilidad de ingresar un número

indefinido de trabajadores obteniendo como resultado el sueldo neto para

cada trabajador.