Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Grupo: 301303_73
ALGORITMOS
Ejercicio 1
Planteamiento del problema a resolver: 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 número) hasta el servidor principal, utilizando el siguiente criterio,
el primer número se envía de último, el segundo, de penúltimo, el tercer número pasa a la segunda posición, el última pasa a ser
primero: ejemplo: Sea 6532, se debe enviar como 2356
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
La contraseña Como invertir los int contra contra = contra / 10; NO NO
números
int res res = contra % 10;
int encript encrip = res * 10;
namespace Encriptar_Contrasena
{
class Program
{
static void Main(string[] args)
{
inicio:
Console.WriteLine("Bienvenido a Banco-Seguro ");
Console.WriteLine("Digite la contraseña para ser encriptada ");
Console.WriteLine("");
Console.WriteLine("Escribe un numero de 4 cifras: ");
contra = int.Parse(Console.ReadLine());
Console.WriteLine("");
Console.WriteLine("Su contraseña se almaceno con exito ");
Console.WriteLine("");
Console.WriteLine("Su contraseña encriptada es: " + encrip);
Console.WriteLine("Presiona una tecla para continuar");
Console.ReadKey();
Console.Clear();
goto inicio;
}
}
}
Ejercicio 2
Planteamiento del problema a resolver: 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.).
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
fecha digitada por el la fecha del int dia, SI NO
cliente siguiente día
int mes,
int año,
int dia1, dia1 = dia + 1;
int mes1, mes1 = mes+1;
int año1, año1 = año + 1;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
int dia, mes, año, dia1, mes1, año1;
Console.WriteLine(" ***** Bienvenidos a conocer el día despúes de tu
fecha ***** ");
Console.WriteLine("");
Console.WriteLine("Ingrese el día: ");
dia = int.Parse(Console.ReadLine());
Console.WriteLine("Ingrese el mes: ");
mes = int.Parse(Console.ReadLine());
Console.WriteLine("Ingrese el año: ");
año = int.Parse(Console.ReadLine());
// condicional para saber el ultimo dia del mes y los años biciestos:
//si es el último día, debe incrementar el mes y debe ser dia 1 del mes
siguiente:
{
mes1 = mes + 1;
dia1 = 1;
}
Else
//en caso contrario continua en el mismo mes
{
dia1 = dia + 1;
mes1 = mes;
}
//cambio de año
if (dia1==1 && mes1==13)
{
mes1 = 1;
año1 = año + 1;
}
else
//si no es el ultimo dia del año, continua dentro del mismo año.
{
año1 = año;
}
Console.WriteLine("La fecha del dia despues es: " + dia1 +"/" + mes1 +"/" +
año1);
Console.ReadKey();
}
}
}
Ejercicio 3:
Planteamiento del problema a resolver: 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.
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
Un numero de tres dígitos Saber si es un int num no si no
número capicúa
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
int num = 0;
entrada:
Console.WriteLine("****Determina si el número es capicúa****");
Console.WriteLine("");
Console.WriteLine("Digite un numero de 3 digitos");
try
{
num = Convert.ToInt32(Console.ReadLine());
catch { }
if (num.ToString().Length != 3)
{
Console.WriteLine("Error, digita 3 numeros");
Console.WriteLine("Presiona una tecla para continuar");
Console.ReadKey();
Console.Clear();
goto entrada;
}
if (num.ToString()[0] == num.ToString()[2])
{
Console.WriteLine("El numero es capicúa");
Console.WriteLine("");
Console.Write("Presiona ENTER para continuar");
}
else
Console.WriteLine("el numero NO es capicúa");
Console.ReadLine();
Console.Clear();
goto entrada;
}
}
}
Planteamiento del problema a resolver: 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).
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
La categoría salario double cat, SI NO
Horas trabajadas Descuento salud double hor,
subsidio double tot, tot = 20000 * hor;
tot = 15000 * hor;
tot = 10000 * hor;
tot = 7500 * hor;
total double des, des = tot - (tot * 0.072);
double sub, sub = tot + (tot * 0.15);
double sub2; sub2 = sub - (sub *
0.072);
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
double cat, hor, tot, des, sub, sub2;
A:
////////
if (cat > 4)
{
Console.WriteLine("**** Ingrese una categoria de 1 a 4 ****");
Console.ReadKey();
Console.Clear();
goto A;
/////////
if (cat == 1)
{
tot = 20000 * hor;
des = tot - (tot * 0.072);
if (des < 1000000)
{
sub = tot + (tot * 0.15);
sub2 = sub - (sub * 0.072);
Console.WriteLine("Salario {0:c}: ", tot);
Console.WriteLine("Subsidio {0:c}: ", (tot * 0.15));
Console.WriteLine("Salario + Subsidio {0:c}: ", sub);
Console.WriteLine("Descuento Salud {0:c}: ", -(sub * 0.072));
Console.WriteLine("Total {0:c}: ", sub2);
}
else
{
Console.WriteLine("Salario {0:c}: ", tot);
Console.WriteLine("Descuento Salud {0:c}: ", -(tot * 0.072));
Console.WriteLine("Total {0:c}: ", des);
}
}
/////////
if (cat == 2)
{
tot = 15000 * hor;
des = tot - (tot * 0.072);
Planteamiento del problema a resolver: 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
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
Un numero Saber si el int num num % x == 0 si NO
numero
ingresado es
primo
int cont cont = cont + 1;
int x
namespace ejercicio_6
{
class Program
{
static void Main(string[] args)
{
int cont = 0, x, num;
else
{
Console.WriteLine("El numero {0} No es primo", num);
Console.WriteLine("");
Console.ReadKey();
}
}
}
Planteamiento del problema a resolver: 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)
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
Longitud de los tres lados Triangulo int Lado1 lado1 == lado2 && lado1 Si no
del triangulo isósceles != lado3 || lado1 == lado3
&& lado1 != lado2 ||
lado2 == lado3 && lado2
!= lado1
Triangulo int Lado2 lado1 == lado2 && lado1
equilátero == lado3
Triangulo int Lado3 lado1 !=lado2 && lado1
escaleno != lado3 && lado3 !=
lado2
namespace EJERCICIO7_TRIANGULOS
{
class Program
{
static void Main(string[] args)
{
int lado1, lado2, lado3;
A:
}
if (lado1 == lado2 && lado1 != lado3 || lado1 == lado3 && lado1 != lado2 ||
lado2 == lado3 && lado2 != lado1)
{
Console.WriteLine("El triangulo es isoseles");
Console.WriteLine("");
Console.WriteLine("Presiona una tecla para continuar");
}
Console.ReadKey();
Console.Clear();
goto A;
}
}
}
Planteamiento del problema a resolver: 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
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
La edad Si cumple con int edad,ing,e si no
las con los tres xper, asp
ítems int e=0 e=e+1
Si tiene experiencia Total, de int i=0 i=i+1
laboral aspirantes int j=0 j=j+1
Si es ingeniero titulado aceptados int tot2 tot2 = tot2 + 1
int tot tot = e + i + j
namespace Ejercicio_8_seleccionar_personal
{
class Program
{
static void Main(string[] args)
{
W:
int tot, tot2 = 0;
Z:
int edad,ing, exper,asp,e=0,i=0,j=0;
if (edad>=18)
{
e = e + 1;
Console.WriteLine("");
A:
Console.WriteLine("El aspirantre es ingeniero titulado?");
Console.WriteLine("Para SI marque 1, para NO marque 0?");
Console.WriteLine("");
ing = int.Parse(Console.ReadLine());
if (ing<=1 && ing >= 0)
{
if (ing==1)
{
i = i + 1;
Console.WriteLine("");
}
}else
{
Console.WriteLine("ERROR");
Console.WriteLine("");
goto A;
B:
{
j = j + 1;
Console.WriteLine("");
}
}
else
{
Console.WriteLine("ERROR?");
Console.WriteLine("");
goto B;
}
tot = e + i + j;
if (tot == 3)
{
tot2 = tot2 + 1;
}
F:
Console.WriteLine("■ ■ Para imprimir el total de aspirantes marque 0 ■
■");
Console.WriteLine(" ■ Si desea continuar marque 1 ■ ");
asp = int.Parse(Console.ReadLine());
if (asp <= 1 && asp >= 0)
{
if (asp == 0)
{
Console.WriteLine("");
Console.WriteLine("El total de aspirantes aceptados es: " + tot2);
Console.WriteLine("Presiona una tecla e inicia nuevamente ");
Console.ReadKey();
Console.Clear();
goto W;
}
else
Console.Clear();
goto Z;
}else
Console.WriteLine("ERROR");
goto F;
}
}
}
Usted probo el programa con diferentes valores Si / No?
SI__ (Cuales):
Planteamiento del problema a resolver: Elaborar un programa que convierta un número entero positivo, menor a 257 a sistema
binario
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
Numero entero positivo El equivalente int numero (numero % 2) != 0 si no
del número
digitado en
binario
string bin bin = "1" + bin;
bin = "0" + bin;
using System;
namespace ejercicio_9_decimal_a_binario
{
class Program
{
static void Main(string[] args)
{
A:
int numero = 0;
string bin = "";
if (numero<257)
{
while (true)
{
if ((numero % 2) != 0)
bin = "1" + bin;
else
bin = "0" + bin;
numero /= 2;
if (numero <= 0)
break;
}
Console.WriteLine("");
Console.WriteLine("El número en binario es :" + bin);
Console.WriteLine("Presione una tecla para continuar");
Console.ReadKey();
Console.Clear();
goto A;
}
else
Console.Write("Escriba un número menor a 257");
Console.WriteLine("");
Console.WriteLine("Presione una tecla para continuar");
Console.ReadKey();
Console.Clear();
goto A;
}
}
}
Planteamiento del problema a resolver: Dada tu fecha de nacimiento (mes, día, año) indicar cuantos días (exactos) han
transcurrido desde ese año.
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
La fecha de nacimiento Los días doble año NO NO
transcurridos doble mes
doble dia
doble a2 a2 = (hoy.Year - año) *
365.25;
doble m2 m2 = ((hoy.Month - mes)
* 30.4375)-1;
doble d2 d2 = (hoy.Day - dia);
doble tot tot = a2 + m2 + d2;
doble si
namespace ejercicio_10_fecha_de_nac
{
class Program
{
static void Main(string[] args)
{
A:
double año, mes, dia, a2,m2,d2,tot,si;
si= System.Math.Round(tot);
Console.ReadKey();
Console.Clear();
goto A;
}
}
}
Planteamiento del problema a resolver: 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.)
Que datos no conozco y Que datos no Tipo Formulas a aplicar si se Requiere Requiere
se deben solicitar (si se conozco, pero los Variables requeridas requieren condicional ciclos (si / no )
requiere más filas por puedo calcular ( si / no) _ cuales
Tipo Variable
favor anexarlas)
Un número del 0 al 100 Numero aleatorio int num1 SI NO
int num2
Que coincida el int Turno1 turno1 = turno1 + 1;
número digitado, int Turno2 turno2 = turno2 + 1;
con el aleatorio int par
int i
namespace ejercicio_11_adivina_numero
{
class Program
{
static void Main(string[] args)
{
Z:
int par, i = 0;
X:
int num1, num2, turno1 = 0, turno2 = 0;
i = i+ 1;
if (i<=par)
{
A:
{
Console.WriteLine("");
Console.WriteLine(" ■ ■ ■ Partida "+ i+ " ■ ■ ■ " );
Console.Write("Jugador 1 - Digite un numero de 1 a 100 ");
Console.Write("");
num1 = int.Parse(Console.ReadLine());
turno1 = turno1 + 1;
if (num1 != a)
{
Console.WriteLine("Número errado");
Console.WriteLine("");
Console.WriteLine("");
goto B;
}
else
Console.WriteLine("");
Console.WriteLine("Ganador partida "+ i+ ":Jugador 1, lo realizo en " +
turno1 + " turnos");
Console.ReadKey();
Console.Clear();
goto X;
}
B:
{
if (num2 != a)
{
Console.WriteLine("Número errado");
Console.WriteLine("");
Console.WriteLine("");
goto A;
else
Console.WriteLine("");
Console.WriteLine("Ganador partida "+ i+ ": Jugador 2, lo realizo en " +
turno2 + " turnos");
Console.ReadKey();
Console.Clear();
goto X;
}
}
else