You are on page 1of 12

UNIVERSIDAD ABIERTA Y A DISTANCIA

UNAD

Nombre del estudiante

JUAN CARLOS DAVID RAMIREZ GARCIA

Nombre de la profesora

Delvis del Socorro Mejia

IBAGUE TOLIMA

2017
UNIVERSIDAD ABIERTA Y A DISTANCIA UNAD

TRABAJO COLABORATIVO 1

Nombre del estudiante

JUAN CARLOS DAVID RAMIREZ GARCIA

Nombre del trabajo

Etapa 4

Algoritmos

IBAGUE TOLIMA

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

// Codigo elaborado por Juan C. David Ramirez


// 20/11/2017
// UNAD cead Ibague

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Algoritmos_1_Contrasea
{
class Program
{
static void Main(string[] args) {
String a = "";
Console.WriteLine("Ingrese un valor de 4 digitos");
String pal = Console.ReadLine();
int numero = pal.Length;
if (numero > 4){
Console.WriteLine(" El valor ingresado no es de 4 dijitos, la contrasea
debe ser de 4 digitos");
Console.ReadLine();
}
if (numero < 4){
Console.WriteLine(" El valor ingresado no es de 4 dijitos, la contrasea
debe ser de 4 digitos");
Console.ReadLine();
}
if (numero == 4){
for (int i = numero - 1; i >= 0; i--){
a = a + pal.Substring(i, 1);
}
}
Console.WriteLine(" La contrasea asignada es : {0} ", a);
Console.WriteLine("");
Console.ReadLine();
}
}
}
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.).

// Codigo elaborado por Juan C. David Ramirez


// 20/11/2017
// UNAD cead Ibague

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

{ class Program
{
static void Main(string[] args)
{

int a, x_siguiente, dia;


int dia_siguiente, mes, mes_siguiente;
Console.Write("Ingrese el dia: ");
dia = int.Parse(Console.ReadLine());
Console.Write("Ingrese el mes: ");
mes = int.Parse(Console.ReadLine());
Console.Write("Ingrese el 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("Ha ingresado 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;
}
else
x_siguiente = a;
Console.WriteLine("********************");
Console.WriteLine("El dia es : " + dia_siguiente);
Console.WriteLine("El mes es : " + mes_siguiente);
Console.WriteLine("El ao es : " + x_siguiente);
}
Console.ReadKey();
}
}
}

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.

// Codigo elaborado por Juan C. David Ramirez


// 20/11/2017
// UNAD cead Ibague

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace programa3_capicua
{ class Program3
{
static void Main(string[] args){

System.Console.WriteLine(" ");
System.Console.WriteLine("Ingrese un valor de tres digitos: ");
System.Console.WriteLine(" ");
int Nro = int.Parse(System.Console.ReadLine());
int C = Nro / 100;
int U = Nro % 10;
if (C == U){
System.Console.WriteLine(" El valor insertado si es un nmero Capicua ");
}
else
{
System.Console.WriteLine(" El valor insertado no es un nmero Capicua ");
}
System.Console.ReadKey();
}
}
}
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).

/ Codigo elaborado por Juan C. David Ramirez


// 20/11/2017
// UNAD cead Ibague

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Programa_4_categoria
{ class Program
{
static void Main(string[] args){

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

do
{
Console.Clear();
Console.WriteLine("Ingrese el nmero de la categoria de 1 a 4 ");
categoria = int.Parse(Console.ReadLine());
Console.WriteLine(" ");
if (categoria > 0 && categoria < 5)
{

Console.WriteLine(" Ingrese el nmero 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;

}
descuento = (sal * 7.2) / 100;
if (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 es superior a
1000.000 no aplica subsidio ");
Console.WriteLine(" ");
}
}
else
{
Console.WriteLine(" La categoria seleccionada no existe ");
}
Console.WriteLine(" Desea continuar? Si:1, No:2 ");
Console.WriteLine(" ");
Console.ReadKey();
} while (salir == 1);
Console.ReadKey();
}
}
}
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

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

// Codigo elaborado por Juan C. David Ramirez


// 20/11/2017
// UNAD cead Ibague

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Programa_6_num_primo
{
class Program
{
static void Main(string[] args)
{

int num, divisor = 2;


Console.WriteLine(" Ingrese un nmero ");
num = int.Parse(Console.ReadLine());
Console.WriteLine(" ");
while (divisor < num)
{
while (num % divisor != 0)
divisor = divisor + 1;
if (num == divisor)
{
Console.WriteLine(" El nmero " + num + " es un nmero primo ");
}
else
{
Console.WriteLine(" El nmero " + num + " no es nmero primo ");
Console.WriteLine(" ");
break;
}
}
Console.ReadKey();
}
}
}
7. Lea los valores de los lados de un tringulo. Detecte y muestre un mensaje
correspondiente a su tipo (EQUILTERO, ISSCELES, O ESCALENO)

// Codigo elaborado por Juan C. David Ramirez


// 20/11/2017
// UNAD cead Ibague

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ejerc_7_TC_3_Triangulo
{ class Program
{
static void Main(string[] args){

double a = 0, b = 0, c = 0;
Console.WriteLine(" Ingrese un 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 B del Triangulo ");
c = int.Parse(Console.ReadLine());
Console.WriteLine(" ");
if (a == b && b == c)
Console.WriteLine(" Los valores ingresados corresponden a un triangulo
EQUILATERO ");
else
{
if (a == b || a == c || b == c)
Console.WriteLine(" Los valores ingresados corresponden a un
triangulo ISOCELES ");
else
{
Console.WriteLine(" Los valores ingresados corresponden a un
triangulo ESCALENO ");
}
}
Console.ReadKey();
}
}
}
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

9. Elaborar un programa que convierta un nmero entero positivo, menor a 257 a sistema
binario.
// Codigo elaborado por Juan C. David Ramirez
// 20/11/2017
// UNAD cead Ibague

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

namespace Programa9_Binario
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Ingrese un nmero entero ");
int Num = Convert.ToInt32(Console.ReadLine());
if (Num > 0)
{
String cad = "";
while (Num > 0)
{
if (Num % 2 == 0)
{
cad = "0" + cad;
}
else
{
cad = "1" + cad;
}
Num = (int)(Num / 2);
}
Console.WriteLine(cad);
}
else
{
if (Num == 0)
{
Console.WriteLine("0");
}
else
{
Console.WriteLine("Solo nmeros positivos");
}
}
Console.ReadLine();
}
}
}

10. Dada tu fecha de nacimiento (mes, da, ao) indicar cuantos das (exactos) han
transcurrido desde ese ao.

// Codigo elaborado por Juan C.David Ramirez


// 20/11/2017
// UNAD cead Ibague

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Programa_10_edad
{
class Program
{
private static void Main(string[] args)
{

int dia_nacimiento = 0, mes_nacimiento = 0, ao_nacimiento = 0;


Console.WriteLine(" ");
Console.WriteLine(" Ingrese su nombre ");
Console.WriteLine(" ");
string nombre = Console.ReadLine();
while (true)
{
Console.WriteLine(" ");
Console.Write(" Ingrese el nmero del dia de nacimiento: ");
dia_nacimiento = int.Parse(Console.ReadLine());
if (dia_nacimiento < 1 || dia_nacimiento > 31)
Console.WriteLine(" Por favor, ingrese los nmeros del dia en el
rango entre 1 y 31 ");
else
break;
}
while (true)
{
Console.Write(" ingrese en nmero del mes de nacimiento: ");
mes_nacimiento = int.Parse(Console.ReadLine());
if (mes_nacimiento < 1 || mes_nacimiento > 12)
Console.WriteLine("Por favor, ingrese en nmero del mes de
nacimiento en el rango entre 1 y 12 ");
else
break;
}
while (true)
{
Console.Write(" Ingrese en nmero del 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);
else
break;
}
int edad = DameEdad(dia_nacimiento, mes_nacimiento, ao_nacimiento);
Console.WriteLine(" ");
Console.WriteLine(" Hola " + nombre + ", en la actualidad tiene " + edad
+ " aos de edad.");
Console.WriteLine(" ");
Console.ReadKey();
}
public static int DameEdad(int dia, int mes, int ao)
{

DateTime fecha_nacimiento = new DateTime(ao, mes, dia);


TimeSpan edad = DateTime.Now.Subtract(fecha_nacimiento);
return (edad.Days / 365);
}
}
}

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

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.

You might also like