282722811 7-ejercicios-fase-3-c (1)

21
Trabajo Colaborativo Nro. 3 ALGORITMOS TRABAJO COLABORATIVO Nro.3 Realizados en Microsoft Visual Studio Express Ing. xxxxxxxxxxxxxxxxx Tutor de Curso PRESENTADO POR: xxxxxxxxxxxxxxxxxx CODIGO: xxxxxxxxxxxxxxx Grupo: 301303_ Mayo 2015

Transcript of 282722811 7-ejercicios-fase-3-c (1)

Page 1: 282722811 7-ejercicios-fase-3-c (1)

Trabajo Colaborativo Nro. 3

ALGORITMOS TRABAJO COLABORATIVO Nro.3

Realizados en Microsoft Visual Studio Express

Ing. xxxxxxxxxxxxxxxxx

Tutor de Curso

PRESENTADO POR:

xxxxxxxxxxxxxxxxxx

CODIGO: xxxxxxxxxxxxxxx

Grupo: 301303_

Mayo 2015

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA “UNAD”

Page 2: 282722811 7-ejercicios-fase-3-c (1)

Ejercicios de la guía Trabajo Colaborativo 3realizados en Visual Studio Express.

Ejercicios1. Un banco ha solicitado se diseñe un programa que permita encriptar la información de las contraseñas (4 números) digitada por teclado (como un único numero) hasta el servidor principal, utilizando el siguiente criterio, el primer número se envía de último, el segundo, de penúltimo, el tercer numero pasa a la segunda posición, 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_Contraseñas{classProgram {staticvoid Main(string[] args){//Nombre del Autor: xxxxxxxxxxxxxxxxxxxxxxxxxx////Fecha: 05 Mayo 2015//Doy fe que este ejercicio es de mi autoría, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO además de las respectivas sanciones a que haya lugar //

//Un banco ha solicitado se diseñe un programa que permita encriptar la información de las contraseñas //(4 números) digitada por teclado (como un único numero) hasta el servidor principal, utilizando //el siguiente criterio, el primer número se envía de último, el segundo, de penúltimo, el tercer numero //pasa a la segunda posición, 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 contraseña debe ser de 4 digitos");Console.ReadLine(); }

Page 3: 282722811 7-ejercicios-fase-3-c (1)

if (numero < 4) {Console.WriteLine(" El numero ingresado por usted no es de 4 dijitos, la contraseña 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 día a partir de una fecha digitada desde el teclado por el usuario ( dd, mm, aaaa ) e imprimirla. (Tenga en cuenta los años 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 autoría, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO además de las respectivas sanciones a que haya lugar //

Page 4: 282722811 7-ejercicios-fase-3-c (1)

// Escribir un programa para calcular la fecha del siguiente día a partir de una fecha digitada // desde el teclado por el usuario ( dd, mm, aaaa ) e imprimirla. (Tenga en cuenta los años 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 año: "); 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 año siguiente : " + x_siguiente); }Console.ReadKey(); } }}PantallaVisual Studio Express

Page 5: 282722811 7-ejercicios-fase-3-c (1)

________________________________

3. Se lee un número de máximo tres dígitos (verifique que efectivamente sea de máximo tres dígitos) y se debe determinar si es un número capicúa, es decir, que leído de izquierda a derecha es igual que leído 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 autoría, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO además de las respectivas sanciones a que haya lugar //

//Se lee un número de máximo tres dígitos (verifique que efectivamente sea de máximo tres dígitos)// y se debe determinar si es un número capicúa, es decir, que leído de izquierda a derecha es igual // que leído de derecha a izquierda. Por ejemplo: 727, 343, etc.

// Este programa determina si un número es capicúa o no es capicúa

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

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

if (C==U)

Page 6: 282722811 7-ejercicios-fase-3-c (1)

{ Console.WriteLine(" El número Dijitado por usted es un Numero Capicua " ); } else {Console.WriteLine(" El número 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 organización se tiene a los empleados agrupados por categoría, los de categoría 1 ganan $20.000, los de categoría 2, $15.000, los de categoría 3, $10.000 y los de categoría 4, $7.500. Se quiere un algoritmo que permita determinar cuánto debe pagarse a un empleado si se conoce el número de horas que trabajó durante el mes y la categoría 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).

Page 7: 282722811 7-ejercicios-fase-3-c (1)

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 autoría, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO además de las respectivas sanciones a que haya lugar //

// En una organización se tiene a los empleados agrupados por categoría, los de categoría 1 ganan $20.000, // los de categoría 2, $15.000, los de categoría 3, $10.000 y los de categoría 4, $7.500. // Se quiere un algoritmo que permita determinar cuánto debe pagarse a un empleado si se conoce el número // de horas que trabajó durante el mes y la categoría 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(" ");

Page 8: 282722811 7-ejercicios-fase-3-c (1)

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 1´000.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

Page 9: 282722811 7-ejercicios-fase-3-c (1)

PantallaVisual Studio Expresssin subsidio

________________________________

5. Elabore un programa que tenga cuatro niveles de seguridad (documéntese 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

Page 10: 282722811 7-ejercicios-fase-3-c (1)

Algoritmo

PantallaVisual Studio Express

6. Escriba un programa para calcular si un número es primo o no, recuerde que los números 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 autoría, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO además de las respectivas sanciones a que haya lugar //

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

Page 11: 282722811 7-ejercicios-fase-3-c (1)

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

while (divisor<num) {while (num % divisor != 0)divisor = divisor + 1;if (num == divisor) {Console.WriteLine(" el numero " + num +" es un numero primo por que es divisible por el mismo " ); }else {Console.WriteLine(" el numero " + num + " No es Numero primo ");Console.WriteLine(" ");break; } }Console.ReadKey();

} }}PantallaVisual Studio Express con numero primo

PantallaVisual Studio Expresssin numero primo

________________________________

7. Lea los valores de los lados de un triángulo. Detecte y muestre un mensaje correspondiente a su tipo (EQUILÁTERO, ISÓSCELES, O ESCALENO)

Algoritmousing System;

Page 12: 282722811 7-ejercicios-fase-3-c (1)

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

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

// 7. Lea los valores de los lados de un triángulo. // Detecte y muestre un mensaje correspondiente a su tipo (EQUILÁTERO, ISÓSCELES, O ESCALENO)

double a = 0, b = 0, c = 0;

Console.WriteLine(" Ingrese el lado a Del Triangulo "); a = int.Parse(Console.ReadLine());Console.WriteLine(" ");Console.WriteLine(" Ingrese el lado b Del Triangulo "); b = int.Parse(Console.ReadLine());Console.WriteLine(" ");Console.WriteLine(" Ingrese el lado c Del Triangulo ");c = int.Parse(Console.ReadLine());Console.WriteLine(" ");

if (a == b && b == c )Console.WriteLine(" Los Datos ingresados pertenecen a un triangulo EQUILATERO ");

else {if (a == b || a == c || b== c )Console.WriteLine(" Los Datos ingresados pertenecen a un triangulo ISOCELES ");

else {Console.WriteLine(" Los Datos ingresados pertenecen a un triangulo ESCALENO "); } }

Console.ReadKey ();

} }}

PantallaVisual Studio ExpressTriangulo Equilatero

Page 13: 282722811 7-ejercicios-fase-3-c (1)

PantallaVisual Studio Express Triangulo Isoceles

PantallaVisual Studio ExpressTriangulo Escaleno

_______________________________

8. Desarrolle un programa que permita seleccionar personal para un empleo de un total de N aspirantes. Los aspirantes deben cumplir las siguientes condiciones para ser aceptados: Mayores de edad, Ser ingeniero titulado Tener experiencia laboral Al final el programa debe mostrar el total de aspirantes aceptados

Algoritmo

Page 14: 282722811 7-ejercicios-fase-3-c (1)

PantallaVisual Studio Express

________________________________

9. Elaborar un programa que convierta un número entero positivo, menor a 257 a sistema binario

Algoritmo

PantallaVisual Studio Express

________________________________

10. Dada tu fecha de nacimiento (mes, día, año) indicar cuantos días (exactos) han transcurrido desde ese año.

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

namespace Ejerc_10_TC_3_Calcular_Dias_Vivid{classProgram {privatestaticvoid Main(string[] args)

Page 15: 282722811 7-ejercicios-fase-3-c (1)

{//Nombre del Autor: xxxxxxxxxxxxxxxxxxxxxxxxxx//

//Fecha: 06 Mayo 2015//Doy fe que este ejercicio es de mi autoría, en caso de encontrar plagio la nota de todo mi//trabajo debe ser de CERO además de las respectivas sanciones a que haya lugar //

// Dada tu fecha de nacimiento (mes, día, año) indicar cuantos días (exactos)// han transcurrido desde ese año.

//Variables que usaremos para la fecha de nacimientointdia_nacimiento=0, mes_nacimiento=0, año_nacimiento = 0;

Console.WriteLine(" ");Console.WriteLine(" Escriba Su nombre ");Console.WriteLine(" ");stringnombre = Console.ReadLine();

while (true) {Console.WriteLine(" ");Console.Write(" Dijite en numero su dia de nacimiento: ");dia_nacimiento = int.Parse(Console.ReadLine());if (dia_nacimiento< 1 || dia_nacimiento> 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 Año de nacimiento : ");año_nacimiento = int.Parse(Console.ReadLine());if (año_nacimiento< 1900 || año_nacimiento>DateTime.Now.Year)Console.WriteLine("Por favor, especifique un año entre 1900 y el {0}", DateTime.Now.Year);elsebreak; }int edad = DameEdad(dia_nacimiento, mes_nacimiento, año_nacimiento);Console.WriteLine(" ");Console.WriteLine(" Hola " + nombre + ", usted en la actualidad tiene " + edad + " años de edad.");Console.WriteLine(" ");Console.ReadKey();

Page 16: 282722811 7-ejercicios-fase-3-c (1)

}

publicstaticintDameEdad(intdia, intmes, intaño){//Usamos la clase DateTime y un método estatico para restar fechasDateTimefecha_nacimiento = newDateTime(año, mes, dia);TimeSpan edad = DateTime.Now.Subtract(fecha_nacimiento);return (edad.Days / 365); } }}

PantallaVisual Studio Express

________________________________

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

Algoritmo

PantallaVisual Studio Express

Page 17: 282722811 7-ejercicios-fase-3-c (1)

________________________________

12. Elabore un programa que lea las ventas de (n) número 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 número individual y total de productos vendidos, las ventas totales por producto, el promedio total de ventas, el producto más vendido, el menos vendido, el vendedor que más ventas realizó Algoritmo

PantallaVisual Studio Express

________________________________

Page 18: 282722811 7-ejercicios-fase-3-c (1)