7 Ejercicios Fase 3 c#

download 7 Ejercicios Fase 3 c#

of 17

description

algoritmos fase 3 Unad

Transcript of 7 Ejercicios Fase 3 c#

Trabajo Colaborativo Nro. 3

ALGORITMOS TRABAJO COLABORATIVO Nro.3Realizados en Microsoft Visual Studio Express

Ing. xxxxxxxxxxxxxxxxxTutor de Curso

PRESENTADO POR:xxxxxxxxxxxxxxxxxxCODIGO: xxxxxxxxxxxxxxx

Grupo: 301303_

Mayo 2015

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

Ejercicios de la gua Trabajo Colaborativo 3realizados en Visual Studio Express.

Ejercicios1. Un banco ha solicitado se disee un programa que permita encriptar la informacin de las contraseas (4 nmeros) digitada por teclado (como un nico numero) hasta el servidor principal, utilizando el siguiente criterio, el primer nmero se enva de ltimo, el segundo, de penltimo, el tercer numero pasa a la segunda posicin, el ltimo pasa a ser primero: ejemplo: Sea 6532, se debe enviar como 2356

Algoritmo

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

namespace Ejerc_1_TC_3_Banco_Contraseas{classProgram {staticvoid Main(string[] args){//Nombre del Autor: xxxxxxxxxxxxxxxxxxxxxxxxxx////Fecha: 05 Mayo 2015//Doy fe que este ejercicio es de mi autora, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO adems de las respectivas sanciones a que haya lugar //

//Un banco ha solicitado se disee un programa que permita encriptar la informacin de las contraseas //(4 nmeros) digitada por teclado (como un nico numero) hasta el servidor principal, utilizando //el siguiente criterio, el primer nmero se enva de ltimo, el segundo, de penltimo, el tercer numero //pasa a la segunda posicin, el ltimo pasa a ser primero: ejemplo: Sea 6532, se debe enviar como 2356

String a = "";Console.WriteLine("Ingresa un numero de 4 digitos");String pal = Console.ReadLine();

intnumero = pal.Length;

if (numero > 4) {Console.WriteLine(" El numero ingresado por usted no es de 4 dijitos, la contrasea debe ser de 4 digitos");Console.ReadLine(); }

if (numero < 4) {Console.WriteLine(" El numero ingresado por usted no es de 4 dijitos, la contrasea debe ser de 4 digitos");Console.ReadLine(); }

if (numero == 4) {for (inti = numero - 1; i>= 0; i--) { a = a + pal.Substring(i, 1);} }

Console.WriteLine(" La Clave Asignada Es : {0} ", a);Console.WriteLine("");Console.ReadLine();

} }}

PantallaVisual Studio Express

________________________________

2. Escribir un programa para calcular la fecha del siguiente da a partir de una fecha digitada desde el teclado por el usuario ( dd, mm, aaaa ) e imprimirla. (Tenga en cuenta los aos bisiestos.).

Algoritmousing System;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;

namespace Ejerc_2_TC_3_Calculo_Fecha{classProgram {staticvoid Main(string[] args){//Nombre del Autor: xxxxxxxxxxxxxxxxxxxxxxxxxx////Fecha: 05 Mayo 2015//Doy fe que este ejercicio es de mi autora, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO adems de las respectivas sanciones a que haya lugar //

// Escribir un programa para calcular la fecha del siguiente da a partir de una fecha digitada // desde el teclado por el usuario ( dd, mm, aaaa ) e imprimirla. (Tenga en cuenta los aos bisiestos.).

int a, x_siguiente, dia;intdia_siguiente, mes, mes_siguiente;

Console.Write("Ingrese el valor de dia: ");dia = int.Parse(Console.ReadLine());

Console.Write("Ingrese el valor de mes: ");mes = int.Parse(Console.ReadLine());

Console.Write("Ingrese el valor de ao: "); a = int.Parse(Console.ReadLine());

if ((dia> 30 && (mes == 4 || mes == 6 || mes == 9 || mes == 11)) || (dia> 29 && mes == 2) || (dia> 28 && mes == 2 && ((a % 4 != 0) || (a % 100) == 0) && (a % 400) != 0) || (dia> 31)) {Console.WriteLine(" Usted Dijito Valores No Validos "); }

else {if ((dia == 30 && (mes == 4 || mes == 6 || mes == 9 || mes == 11)) || (dia == 29 && mes == 2) || (dia == 28 && mes == 2 && ((a % 4 != 0) || (a % 100) == 0) && (a % 400) != 0) || (dia == 31)) {dia_siguiente = 0;mes_siguiente = mes + 1; }else {dia_siguiente = dia + 1;mes_siguiente = mes; }if (dia_siguiente == 0 &&mes_siguiente == 0) {mes_siguiente = 0;x_siguiente = a + 1; }elsex_siguiente = a;

Console.WriteLine(" Valor de diasuguiente : " + dia_siguiente);Console.WriteLine(" Valor de mes siguiente : " + mes_siguiente);Console.WriteLine(" Valor de ao siguiente : " + x_siguiente); }Console.ReadKey(); } }}PantallaVisual Studio Express

________________________________

3. Se lee un nmero de mximo tres dgitos (verifique que efectivamente sea de mximo tres dgitos) y se debe determinar si es un nmero capica, es decir, que ledo de izquierda a derecha es igual que ledo de derecha a izquierda. Por ejemplo: 727, 343, etc.

Algoritmo

usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;

namespace Ejerc_3_TC_num_3_dijit{classProgram {staticvoid Main(string[] args){//Nombre del Autor: xxxxxxxxxxxxxxxxxxxxxxxxxx////Fecha: 06 Mayo 2015//Doy fe que este ejercicio es de mi autora, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO adems de las respectivas sanciones a que haya lugar //

//Se lee un nmero de mximo tres dgitos (verifique que efectivamente sea de mximo tres dgitos)// y se debe determinar si es un nmero capica, es decir, que ledo de izquierda a derecha es igual // que ledo de derecha a izquierda. Por ejemplo: 727, 343, etc.

// Este programa determina si un nmero es capica o no es capica

Console.WriteLine(" "); Console.WriteLine("Ingrese el nmero de tres digitos: ");Console.WriteLine(" "); intNro = int.Parse(Console.ReadLine());

int C = Nro / 100;int U = Nro % 10;

if (C==U) { Console.WriteLine(" El nmero Dijitado por usted es un Numero Capicua " ); } else {Console.WriteLine(" El nmero Dijitado por usted No es un Numero Capicua "); }

Console.ReadKey (); } }}

PantallaVisual Studio Express ejecutando Numero Capicua

PantallaVisual Studio Express ejecutando Sin Numero Capicua

________________________________

4. En una organizacin se tiene a los empleados agrupados por categora, los de categora 1 ganan $20.000, los de categora 2, $15.000, los de categora 3, $10.000 y los de categora 4, $7.500. Se quiere un algoritmo que permita determinar cunto debe pagarse a un empleado si se conoce el nmero de horas que trabaj durante el mes y la categora a la que pertenece. Se sabe que a todos se les descuenta un 7.2% por concepto de salud, y si el salario total devengado (mensual) es menos de 1 000.000, se le da un subsidio del 15% sobre su salario mensual (sin descuentos).

Algoritmo

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

namespace Ejec_4_TC_4_Organizacion{classProgram {staticvoid Main(string[] args){//Nombre del Autor: xxxxxxxxxxxxxxxxxxxxxxxxxx////Fecha: 05 Mayo 2015//Doy fe que este ejercicio es de mi autora, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO adems de las respectivas sanciones a que haya lugar //

// En una organizacin se tiene a los empleados agrupados por categora, los de categora 1 ganan $20.000, // los de categora 2, $15.000, los de categora 3, $10.000 y los de categora 4, $7.500. // Se quiere un algoritmo que permita determinar cunto debe pagarse a un empleado si se conoce el nmero // de horas que trabaj durante el mes y la categora a la que pertenece. Se sabe que a // todos se les descuenta un 7.2% por concepto de salud, y si el salario total devengado (mensual) // es menos de 1 000.000, se le da un subsidio del 15% sobre su salario mensual (sin descuentos).

int horas;intcategoria;double subsidio, sal=0, descuento;int salir = 1;

//ya que el ejercicio no especifica los valores para cada categorialos tomo como ganancia por 1 hora trabajada

do {Console.Clear();

Console.WriteLine("Ingrese el numero de la categoria a la que pertenece de la 1 a la 4 ");categoria = int.Parse(Console.ReadLine());Console.WriteLine(" ");

if (categoria> 0 &&categoria< 6) {Console.WriteLine(" Ingrese el numero de horas Laboradas en el mes: ");horas = int.Parse(Console.ReadLine());Console.WriteLine(" ");

switch (categoria) {case 1:sal = 20000*horas;break;case 2:sal = 15000*horas;break;case 3:sal = 10000*horas;break;case 4:sal = 7500*horas;break;

default:Console.WriteLine(" La categoria seleccionada no existe ");break; }

descuento = (sal * 7.2) / 100;

// aqui se valida si salario es menor a 1.000.000if (sal < 1000000) {subsidio = sal * 0.15;Console.WriteLine(" El salario sin descuento es: " + sal);Console.WriteLine(" El valor del descuento es: " + descuento);Console.WriteLine(" El valor del subsidio es : " + subsidio);Console.WriteLine(" El salario Total es: "+ (sal+ subsidio - descuento));Console.WriteLine(" "); }else {Console.WriteLine(" El salario sin descuento es: " + sal);Console.WriteLine(" El valor del descuento es: " + descuento);Console.WriteLine(" El salario Total es: " + (sal-descuento));Console.WriteLine(" El salario desvengado por usted es superior a 1000.000 no aplica subsidio ");Console.WriteLine(" "); } }

Console.WriteLine(" Desea continuar? Si:1, No:2 ");Console.WriteLine(" ");Console.ReadKey();

} while (salir == 1);

Console.ReadKey(); } }}

PantallaVisual Studio Expresscon subsidio

PantallaVisual Studio Expresssin subsidio

________________________________

5. Elabore un programa que tenga cuatro niveles de seguridad (documntese sobre niveles de seguridad) para un programa, si el usuario logra ingresar imprimir el mensaje "Bienvenido", en caso contrario imprimir "Error clave" y el nivel del error Algoritmo

PantallaVisual Studio Express

6. Escriba un programa para calcular si un nmero es primo o no, recuerde que los nmeros primos son aquellos que solo son divisibles por la unidad y por ellos mismos: ejemplo 5, 11, 17

Algoritmo

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

namespace Ejerc_6_TC_3_Num_primo{classProgram {staticvoid Main(string[] args){//Nombre del Autor: xxxxxxxxxxxxxxxxxxxxxxxxxx////Fecha: 05 Mayo 2015//Doy fe que este ejercicio es de mi autora, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO adems de las respectivas sanciones a que haya lugar //

// 6. Escriba un programa para calcular si un nmero es primo o no, // recuerde que los nmeros primos son aquellos que solo son divisibles por la unidad y por ellos mismos: ejemplo 5, 11, 17

intnum, divisor = 2;Console.WriteLine(" Dijite Un numero ");num = int.Parse(Console.ReadLine());Console.WriteLine(" ");

while (divisor 31)Console.WriteLine(" Por favor, dijte los Numeros del dia en el rango entre 1 y 31 ");else//Si el dia es valido, entonces pasamos a pedir el mesbreak; }

while (true) {Console.Write(" Dijite en numero su Mes de nacimiento: ");mes_nacimiento = int.Parse(Console.ReadLine());if (mes_nacimiento< 1 || mes_nacimiento> 12)Console.WriteLine("Por favor, dijte los Numeros del dia en el rango entre 1 y 12 ");elsebreak; }while (true) {Console.Write(" Dijite en numero su Ao de nacimiento : ");ao_nacimiento = int.Parse(Console.ReadLine());if (ao_nacimiento< 1900 || ao_nacimiento>DateTime.Now.Year)Console.WriteLine("Por favor, especifique un ao entre 1900 y el {0}", DateTime.Now.Year);elsebreak; }int edad = DameEdad(dia_nacimiento, mes_nacimiento, ao_nacimiento);Console.WriteLine(" ");Console.WriteLine(" Hola " + nombre + ", usted en la actualidad tiene " + edad + " aos de edad.");Console.WriteLine(" ");Console.ReadKey(); }

publicstaticintDameEdad(intdia, intmes, intao){//Usamos la clase DateTime y un mtodo estatico para restar fechasDateTimefecha_nacimiento = newDateTime(ao, mes, dia);TimeSpan edad = DateTime.Now.Subtract(fecha_nacimiento);return (edad.Days / 365); } }}

PantallaVisual Studio Express

________________________________

11. Elabore un programa que genere un nmero aleatorio y que les d la posibilidad a dos jugadores de adivinar dicho nmero, el algoritmo debe pedir el nmero de partidas, intercalar los turnos para adivinar, mostrar el ganador por partida y el ganador final. El nmero debe estar entre 0-100. (Use la funcin random.)

Algoritmo

PantallaVisual Studio Express

________________________________

12. Elabore un programa que lea las ventas de (n) nmero de vendedores, para los productos (A, B, C, D y C), si los precios de los productos son ($1000, $2345, $3876, $1235 y $550) respectivamente, calcule el nmero individual y total de productos vendidos, las ventas totales por producto, el promedio total de ventas, el producto ms vendido, el menos vendido, el vendedor que ms ventas realiz Algoritmo

PantallaVisual Studio Express

________________________________