50 algorotmos

107
TRABAJO DE PROGRAMACIÓN 21 Estimar el número de páginas de in texto que puede almacenarse en la memoria de un computador, considerando un promedio de 300 palabras por página y 10 caracteres por palabra. Asumir que un carácter ocupa un (1) byte. El tamaño de la memoria del computador debe ingresarse expresado en Kbyte. Entrada: tamaño de la memoria (TamMen) Salida: número de página (NumPag) PSEUDOCODIGO: Definimos constantes: CarPorPal = 10//caracteres por palabras// PalPorPag = 300//palabras por paginas// Inicio Ingresamos tamaño de la memoria en Kbyte: tammen;//lo declaramos en entero// Covertimos tamMen en Kbytes a bytes: Bytes = tamMen*1024; Calculamos el número de caracteres: CarPorPag = CarPorPal*PalPorPag; Calculamos el número de páginas: NumPag = bytes/ CarPorPag; El número de páginas (NumPag) es:... Fin

Upload: katty-vara-silvestre

Post on 10-Mar-2015

251 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 50 ALGOROTMOS

TRABAJO DE PROGRAMACIÓN

21 Estimar el número de páginas de in texto que puede almacenarse en la memoria de un computador, considerando un promedio de 300 palabras por página y 10 caracteres por palabra.

Asumir que un carácter ocupa un (1) byte. El tamaño de la memoria del computador debe ingresarse expresado en Kbyte.

Entrada: tamaño de la memoria (TamMen)

Salida: número de página (NumPag)

PSEUDOCODIGO:

Definimos constantes:

CarPorPal = 10//caracteres por palabras//

PalPorPag = 300//palabras por paginas//

Inicio

Ingresamos tamaño de la memoria en Kbyte: tammen;//lo declaramos en entero//

Covertimos tamMen en Kbytes a bytes:

Bytes = tamMen*1024;

Calculamos el número de caracteres:

CarPorPag = CarPorPal*PalPorPag;

Calculamos el número de páginas:

NumPag = bytes/ CarPorPag;

El número de páginas (NumPag) es:...

Fin

Page 2: 50 ALGOROTMOS

CODIGO C#

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

namespace ConsoleApplication3{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** NÚMERO DE PAGINAS QUE SE ALMACENAN EN UNA MEMORIA ***");Console.WriteLine();Console.ForegroundColor = ConsoleColor.White;int tamem;//tamaño de memoriaint numpag;//numero de paginasint carporpal;//caracteres por palabraint palporpag;//palabras por paginasint bytes;

carporpal = 10; palporpag = 300;

Console.Write("Ingresar el Tamaño de Memoria en Kb: "); tamem = int.Parse(Console.ReadLine());

bytes = tamem * 1024; carporpal = carporpal * palporpag; numpag = bytes / carporpal;Console.WriteLine();Console.Write("El Número de Paginas es: ");Console.Write(numpag);Console.ReadLine();} }}

Page 3: 50 ALGOROTMOS

22 De acuerdo a un principio aritmética, un número es múltiplo de 5 si termina en 0 ó en 5. Aplicando este principio determinar si un número entero es múltiplo de 5.

PSEUDO CODIGO:

Inicio

Ingresamos el numero

Si el número es divisible por 0 ó 5

Respuesta: El numero si es múltiplo de 5

Pero si no es divisible entonces

Respuesta: El número no es múltiplo de 5

Fin

Page 4: 50 ALGOROTMOS

CODIGO C#

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

namespace ConsoleApplication5{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** VER SI UN NÚMERO ENTERO ES MULTIPLO DE 5 ***");Console.WriteLine();Console.ForegroundColor = ConsoleColor.White;int n;//se declara valores de tipo entero//int op;do {Console.Write("Ingrese el Número: ");n = int.Parse(Console.ReadLine());if (n % 5 == 0){Console.WriteLine();Console.Write("CORRECTO ---> ");Console.WriteLine("El Número {0} ES MULTIPLO de 5", n); }else {Console.WriteLine();Console.Write("ERROR ---> ");Console.WriteLine("El Número {0} NO ES MULTIPLO de 5", n); }Console.WriteLine();Console.WriteLine("**********************************");Console.WriteLine("INGRESAR NUEVO NUMERO");Console.WriteLine(" SI ---- [1] ; NO ---- [2]");

Page 5: 50 ALGOROTMOS

Console.Write("SU OPCION: ");op = int.Parse(Console.ReadLine());Console.WriteLine("**********************************");Console.WriteLine(); }while (op == 1);} }}

23 Conociendo lo lados y le hipotenusa deltriángulo rectángulo aplicando el teorema de Pitágoras hallamos el perímetro y el área que representa conocido solamente el valor de sus catetos.

CODIGO C#

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

namespace ConsoleApplication4{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.White;int lado1, lado2;//lados del trianguloint H;//hipotenusaint Area;int Perimetro;Console.Write("Ingresar Valor a Lado1: "); lado1 = int.Parse(Console.ReadLine());Console.WriteLine("-----------------------");Console.Write("Ingresar Valor a Lado2: "); lado2 = int.Parse(Console.ReadLine());Console.WriteLine("-----------------------");Console.Write("Ingresar Valor a Hipotenusa: ");H = int.Parse(Console.ReadLine());Console.WriteLine("-----------------------");//calculamos el perimetro Perimetro = lado1 + lado2 + H;//calculamos el area Area = (lado1 * lado2) / 2;

Page 6: 50 ALGOROTMOS

Console.WriteLine();Console.WriteLine("El Perimetro es: {0}", Perimetro);Console.WriteLine("El Area es: {0}", Area);Console.ReadLine(); } }}

24 Debido a los excelentes resultados, el restaurant decide ampliar sus ofertas de acuerdo a la siguiente escala de consumo. Determinar el importe a pagar por lo consumido, mostrando todos los importes.

Entrada: consumo;

Salidas: consumo, impuesto, importe, descuento;

PSEUDO CODIGO:

Pdesc1 = 0.30;//30% de descuento//

Pdesc2 = 0.20;//20% de descuento//

Pdesc3 = 0.15;//15% de descuento//

Consumo S/. Dscto(%)

Mayor a 100 30

Mayor a 60 20

Mayor a 30 15

Hasta 30 10

Page 7: 50 ALGOROTMOS

Pdesc4 = 0.10;//10 de descuento//

Pimpto = 0.15;//15% de impuesto//

Inicio

Ingresamos el consumo;// es declarado como double//

SI (consumo > 100) ENTONCES

descuento = consumo * Pdesc1;

SINO

SI (consumo > 60) ENTONCES

descuento = consumo * Pdesc2;

SINO

SI (consumo > 30) ENTONCES

descuento = consumo * Pdesc3;

SINO

descuento = consumo * Pdesc4;

fin del SI

fin del SI

fin del SI

// Calculamos impuesto:

impuesto = (consumo - descuento) * Pimpto;

// Calculamos monto de importe:

importe = (consumo - descuento) + impuesto;

Los resultados:

Consumo:…

Descuento:…

Impuesto:…

Importe:…

Page 8: 50 ALGOROTMOS

Fin

CODIGO C#

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

namespace ConsoleApplication39{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** AMPLIACIÓN DE OFERTAS ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;double consumo, descuento, impuesto, importe;double Pdesc1, Pdesc2, Pdesc3, Pdesc4;double Pimpto;

Console.Write("Ingrese Consumo: "); consumo = double.Parse(Console.ReadLine());

Pdesc1 = 0.30;//30% de descuento// Pdesc2 = 0.20;//20% de descuento// Pdesc3 = 0.15;//15% de descuento// Pdesc4 = 0.10;//10 de descuento// Pimpto = 0.15;//15% de impuesto//if (consumo < 0) {Console.WriteLine("---ERROR---");Console.ReadLine(); }else {if (consumo > 100){ descuento = consumo * Pdesc1; }elseif (consumo > 60) {

Page 9: 50 ALGOROTMOS

descuento = consumo * Pdesc2; }elseif (consumo > 30) { descuento = consumo * Pdesc3; }else descuento = consumo * Pdesc4;

//calculamos monto de impuesto// impuesto = (consumo - descuento) * Pimpto;//calculamos monto de importe a pagar// importe = (consumo - descuento) + impuesto;Console.WriteLine("");Console.WriteLine("--RESPUESTA--");Console.WriteLine(">>Consumo: {0}", consumo);Console.WriteLine(">>Descuento: {0}", descuento);Console.WriteLine(">>Impuesto: {0}", impuesto);Console.WriteLine(">>Importe a pagar: {0}", importe);Console.ReadLine(); } } }}

25 Ingresar un número entero positivo e imprimir un mensaje para indicar si el número e un múltiplo sólo 3 pero no de 6.

Entrada: número entero positivo: (n);

Salida: mensaje;

PSEUDO CODIGO:

Inicio

Ingresamos un número entero: n;

Determinamos si el número es múltiplo de 3 pero no de 6:

SI (n % 3 == 0) Y (n % 6 != 0) ENTONCES

Mensaje = “Si es múltiplo de 3”;

SINO

Mensaje = “No es múltiplo de 3”;

Page 10: 50 ALGOROTMOS

fin del SI

El resultado es:…

Fin

CODIGO C#

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

namespace ConsoleApplication40{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** SE VA DETERMINAR SI UN NUMERO ES MULTIPLO DE 3 PERO NO DE 6 ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;

int n;string mensaje;

Console.WriteLine("");Console.Write("Ingrese un numero: "); n = int.Parse(Console.ReadLine());//evaluar condicion//if ((n % 3 == 0) && (n % 6 != 0)) { mensaje = "Si es Multiplo"; }else { mensaje = "No es Multiplo"; }Console.WriteLine("");Console.Write(">>El Resultado es: ");Console.WriteLine(mensaje);

Page 11: 50 ALGOROTMOS

Console.ReadLine(); } }}

26 La forma general de una ecuación de primer grado es: ax + b = 0. Resolver ecuaciones de este tipo donde se debe ingresar los coeficientes a y b. Pero ejemplo, si se ingresan los números 3.5 y 12 deberá mostrar lo siguiente:

3.5x + 12 = 0

x = -3.4285

Entrada: coeficientes: a, b;

Salida: la ecuación;

PSEUDO CODIGO:

Inicio

Ingresar valor al primer coeficiente: a;

Ingresar valor al segundo coeficiente: b;

SI (a = 0) ENTONCES

Escribimos: “Ecuación sin solución”;

SINO

inicio

x = (b * (-1) / a);

Escribimos resultados para:

A, “ x + “, b = 0, “x” = x;

fin

fin del SI

Page 12: 50 ALGOROTMOS

Fin

CODIGO C#

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

namespace ConsoleApplication42{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** ECUACIÓN DE PRIMER GRADO ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;double a, b, x;Console.Write("Ingresar Primer Coeficiente: ");a = double.Parse(Console.ReadLine());Console.Write("Ingresar Segundo Coeficiente:");b = double.Parse(Console.ReadLine());if (a == 0) {Console.WriteLine("Ecuacion Sin Solucion");}else { x = (b * (-1) / a);Console.WriteLine("");Console.WriteLine("Ecuacion a Resolver:");Console.Write(a);Console.Write("x");Console.Write(" + ");Console.Write(b);Console.Write(" = ");Console.WriteLine(" 0 ");Console.WriteLine("");

Page 13: 50 ALGOROTMOS

Console.WriteLine(">>La Ecuacion Resuelta es:");Console.Write("x");Console.Write(" = ");Console.Write(x); }Console.ReadLine(); } }}

27 Determinar las raíces de una ecuación de segundo grado del tipo:ax2 + bx + c= 0. Considerar la siguiente formulas:

X1,2 =

Considerar el caso en que las raíces son imaginarias:

Entrada: coeficientes: a, b, c;

Salidas: raíces: r1, r2;

PSEUDO CODIGO:

Inicio

Ingresar valor al primer coeficiente: a;

Ingresar valor al segundo coeficiente: b;

Ingresar valor al tercer coeficiente: c;

Asumimos que no tiene raíces imaginarias:

Imaginario = falso;

Determinar valor de las raíces:

SI (a=0) y (b=0) ENTONCES

Escribir: “Ecuación sin raíces”;

SINO

Page 14: 50 ALGOROTMOS

inicio

SI (a=0) ENTONCES

inicio

r1 = c/b*(-1);

r2 = r1;

fin

SINO

inicio

disc = b2 – 4* a* c;

SI (disc < 0) ENTONCES

inicio

Imaginario = verdad;

disc = (disc)*(-1);

fin

fin del SI

r1 = (-b + raíz cuadrada(disc)/(2*a);

r2 = (-b – raíz cuadrada(disc)/(2*a);

fin

fin del SI

La ecuación de segundo grado es:…

La raíz1 es: r1;

La raiz2 es: r2;

SI (imaginario es verdad)

Escribir: “raíces imaginarias”;

fin del SI

Page 15: 50 ALGOROTMOS

fin

fin del SI

Fin

CODIGO C#

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

namespace ConsoleApplication43{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** DETERMINAR LAS RAICES DE UNA ECUACIÓN DE SEGUNDO GRADO ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;double a, b, c, r1 = 0, r2 = 0, disc = 0;bool imaginario;Console.WriteLine("--Ingresar Coeficientes--");Console.WriteLine("");Console.Write("Ingresar Coeficiente 1: ");a = double.Parse(Console.ReadLine());Console.Write("Ingresar Coeficiente 2: "); b = double.Parse(Console.ReadLine());Console.Write("Ingresar Coeficiente 3: "); c = double.Parse(Console.ReadLine()); imaginario = false;if ((a == 0) && (b == 0)) {Console.WriteLine("Ecuacion sin Raiz");}elseif (a == 0) { r1 = (c / b) * (-1); r1 = r2; }else {

Page 16: 50 ALGOROTMOS

disc = (b * b) - (4 * a * c); }if (disc < 0) { imaginario = true; disc = (disc) * (-1);} r1 = ((-b) + Math.Sqrt(disc)) / (2 * a);//Math.Sqrt es para raízr2 = ((-b) - Math.Sqrt(disc)) / (2 * a);Console.WriteLine("");Console.WriteLine("La Ecuacion de Segundo Grado es:");Console.WriteLine("");Console.WriteLine(" Ecuacion a Resolver:");Console.Write(a);Console.Write(" x*x ");Console.Write(" + ");Console.Write(b);Console.Write(" x ");Console.Write(" + ");Console.Write(c);Console.Write(" = ");Console.Write("0");Console.WriteLine("");Console.WriteLine("");Console.Write(">>La Raiz 1:");Console.WriteLine(r1);Console.Write(">>La Raiz 2:");Console.WriteLine(r2);if (imaginario){Console.WriteLine("");Console.WriteLine(" >>Son Raices Imaginarias"); }Console.ReadLine(); }

28 Una compañía de teléfonos necesita de la siguiente información por cada cliente para emitir su recibo de pago correspondiente: nombre, dirección, número telefónico y cantidad de llamadas realizadas al mes; para lo cual se debe considerar que si la cantidad de llamadas no excede de 50 la tarifa por llamada es de S/. 0.50 y si fuera mayor de 50 pero no excede a 150 la tarifa por llamada adicional es de S/.0.30; finalmente si la cantidad de llamadas fuera mayor a 150, la tarifa por llamada adicional es de S/.0.60. Se pide mostrar los datos del cliente así como el importe a pagar detallando los cálculos efectuados.

Page 17: 50 ALGOROTMOS

Entrada: nombre, dirección, teléfono, número de llamadas;

Salida: importe, nombre, dirección, teléfono, llamada en exceso;

PSEUDO CODIGO:

Limite0 = 50;//limite de llamadas sin exceso//

Limite1 = 150;//limite de llamadas con primer exceso//

tarifa0 = 0.50;//tarifa sin exceso//

tarifa1 = 0.80;//tarifa con primer exceso//

tarifa2 = 1.10;//tarifa con segundo exceso//

Inicio

Ingrese el nombre;

Ingrese la dirección;

Ingrese el teléfono;

Ingrese el número de llamadas;

Inicializamos llamadas en exceso:

exceso0 = 0;//llamadas sin exceso//

exceso1 = 0;//llamadas con primer exceso//

exceso2 = 0;//llamadas con segundo exceso//

Calculamos llamadas en exceso:

SI (llamadas <= limite0) ENTONCES

exceso0 = llamadas;

SINO

SI (llamadas <= limite1) ENTONCES

inicio

exceso0 = limite0;

exceso1 = llamadas – limite0;

fin

Page 18: 50 ALGOROTMOS

SINO

inicio

exceso0 = limite0;

exceso1 = limite1 – limite0;

exceso2 = llamadas – limite1;

fin

fin del SI

fin del SI

Calculamos importe que vamos a pagar:

importe0 = exceso0 * tarifa0;

importe1 = exceso1 * tarifa1;

importe2 = exceso2 * tarifa2;

importe = importe0 + importe1 + importe2;

Mostramos los resultados:

El nombre es:…

La dirección es:…

El teléfono es:…

Tarifa por llamadas: exceso0, tarifa0, importe0;

Tarifa por llamadas: exceso1, tarifa1, importe1;

Tarifa por llamadas: exceso2, tarifa2, importe2;

El importe es:… Fin

CODIGO C#

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

Page 19: 50 ALGOROTMOS

namespace ConsoleApplication44{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** COMPAÑIA DE TELEFONOS ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;string nombre, direccion;double exceso0, exceso1, exceso2;double llamadas, telefono;double importe, importe0, importe1, importe2;constint Limite0 = 50;constint Limite1 = 150;constdouble tarifa0 = 0.50;constdouble tarifa1 = 0.80;constdouble tarifa2 = 1.10;

Console.Write("Ingresar Nombre: "); nombre = Console.ReadLine();Console.Write("Ingresar Direccion: "); direccion = Console.ReadLine();Console.Write("Ingresar Telefono: "); telefono = double.Parse(Console.ReadLine());if (telefono < 0) {Console.WriteLine("---ERROR---");Console.ReadLine(); }else {Console.Write("Ingresar Número de Llamadas: "); llamadas = double.Parse(Console.ReadLine());if (llamadas < 0) {Console.WriteLine("---ERROR---");Console.ReadLine(); }else {//inicializar llamdas en exceso// exceso0 = 0; exceso1 = 0; exceso2 = 0;

if (llamadas <= Limite0)

Page 20: 50 ALGOROTMOS

{ exceso0 = llamadas; }elseif (llamadas <= Limite1) { exceso0 = Limite0; exceso1 = llamadas - Limite0; }else exceso0 = Limite0; exceso1 = Limite1 - Limite0; exceso2 = llamadas - Limite1;//calcular importes a pagar// importe0 = exceso0 * tarifa0; importe1 = exceso1 * tarifa1; importe2 = exceso2 * tarifa2; importe = importe0 + importe1 + importe2;Console.WriteLine("");Console.WriteLine("---Los Datos son---");Console.Write(">>Nombre: ");Console.WriteLine(nombre);Console.Write(">>Direccion: ");Console.WriteLine(direccion);Console.Write(">>Telefono: ");Console.WriteLine(telefono);Console.Write(">>Llamadas: ");Console.WriteLine(llamadas);Console.WriteLine(">>Tarifa por Llamadas: {0}", exceso0, tarifa0, importe0);Console.WriteLine(">>Tarifa por Llamadas: {0}", exceso1, tarifa1, importe1);Console.WriteLine(">>Tarifa por Llamadas: {0}", exceso2, tarifa2, importe2);Console.Write(">>Importe: ");Console.WriteLine(importe);Console.ReadLine(); } } } }}

Page 21: 50 ALGOROTMOS

29 Determinar el salario bruto y neto semanal de un trabajador considerando que si trabaja mas de 40 horas, el exceso sera considerado como horas extras cuya tarifa es el 50% más que la tarifa de una hora normal.Además, el trabajador se somete a un impuesto de 10% si su salario bruto sobrepasa los S/.80.00. Mostrar salario bruto, salario neto y descuento.Entrada: horas trabajadas: HorTra;

Tarifa por hora normal: TarNor;

Salida: salario bruto: SalBru;

salario neto: SalNet;

descuento: (SalBru - SalNet);

PSEUDO CODIGO:

MonLim = 80;

HorNor = 40;

PorInc = 0.50;

PorLey = 0.10;

Inicio

Ingresar horas trabajadas:HorTra;//lo declaramos como entero//

Ingresar tarifa normal: TarNor;//lo declaramos como entero//

Determinar el salario bruto:

SI (HorTra > HorNor) ENTONCES

inicio

SalHorNor = HorNor * TarNor;

SalHorExt = (HorTra - HorNor) * (1 + PorInc);

SalBru = SalHorNor + SalHorExt;

fin

SINO

SalBru = HorNor * TarNor;

Page 22: 50 ALGOROTMOS

fin del SI

Determinar salario neto:

SI (SalBru > TarNor) ENTONCES

SalNet = SalBru * (1 - PorLey);

SINO

SalNet = SalBru;

fin del SI

El salario bruto(SalBru) es:...

El salario neto(SalNet) es:...

El descuento(SalBru - SalNet) es:...

Fin

CODIGO C#using System;using System.Collections.Generic;using System.Text;

namespace ConsoleApplication45{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** SALARIO BRUTO DE UN TRABAJADOR***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;int HorTra;double TarNor;Console.Write("Ingrese las Horas Trabajadas: ");HorTra = int.Parse(Console.ReadLine());if (HorTra < 0){

Page 23: 50 ALGOROTMOS

Console.WriteLine("---ERROR---");Console.ReadLine(); }else {Console.Write("Ingrese Tarifa de Trabajo por Hora: ");TarNor = double.Parse(Console.ReadLine());if (TarNor < 0) {Console.WriteLine("---ERROR---");Console.ReadLine(); }else {int MonLim = 80;int HorNor = 40;double PorInc = 0.50;double PorLey = 0.10;double SalHorNor;double SalHorExt;double SalBru;double SalNet;

if (HorTra > HorNor) { SalHorNor = HorNor * TarNor; SalHorExt = (HorTra - HorNor) * (1 + PorInc); SalBru = SalHorNor + SalHorExt; }else { SalBru = HorNor * TarNor;}//determinar sueldo neto//if (SalBru > TarNor){ SalNet = SalBru * (1 - PorLey); }else { SalNet = SalBru;}Console.WriteLine("");Console.WriteLine("--El Trabajador Recibira--");Console.Write(">>Salario Bruto: ");Console.WriteLine(SalBru);Console.Write(">>Descuento de Ley: ");Console.WriteLine(SalBru - SalNet);

Page 24: 50 ALGOROTMOS

Console.Write(">>Salario Neto: ");Console.WriteLine(SalNet);Console.ReadLine();} } } }}

30.Un restaurante ofrece descuento del 20% para un consumo mayor de S/.30.00 y aplica un impuesto de 15% para todo consumo. Determinar el importe a pagar por lo consumido, mostrando todos los importes.

CODIGO C#

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

namespace ConsoleApplication4{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** DESCUENTO DE UN RESTAURANTE ***");Console.WriteLine();Console.ForegroundColor = ConsoleColor.White;double consumo;double descuento = 0;double impuesto;double importe;double Pdesc;double Pimpto;int op;do { Pdesc = 0.20;//20% descuento//

Page 25: 50 ALGOROTMOS

Pimpto = 0.15;//15% de impuesto//

Console.Write("Ingrese la Cantidad de su Consumo: ");consumo = double.Parse(Console.ReadLine());

if (consumo < 0){Console.WriteLine("---ERROR---"); }else {if (consumo > 30) {Console.WriteLine();Console.WriteLine("<<<NOTA>>>");Console.WriteLine(" SI HABRA DESCUENTO");Console.WriteLine(); descuento = consumo * Pdesc;}elseif (consumo < 30) {Console.WriteLine();Console.WriteLine("<<<NOTA>>>");Console.WriteLine(" NO HABRA DESCUENTO");Console.WriteLine(); }//calculamos impuesto impuesto = (consumo - descuento) * Pimpto;//calculamos importe importe = (consumo - descuento) + impuesto;Console.WriteLine("<<<RESPUESTAS>>>");Console.WriteLine("******************************");Console.WriteLine("Consumo:{0}", consumo);Console.WriteLine("-------------------------------");Console.WriteLine("Descuento:{0}", descuento);Console.WriteLine("-------------------------------");Console.WriteLine("Impuesto:{0}", impuesto);Console.WriteLine("-------------------------------");Console.WriteLine("Importe:{0}", importe);Console.WriteLine("-------------------------------"); }Console.WriteLine();Console.WriteLine("******************************");Console.WriteLine("DESEA CONTINUAR");Console.WriteLine("SI--------------->(1)");Console.WriteLine("NO--------------->(2)");

Page 26: 50 ALGOROTMOS

Console.Write("Su opción: "); op = int.Parse(Console.ReadLine());Console.Clear();Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** DESCUENTO DE UN RESTAURANTE ***");Console.WriteLine();Console.ForegroundColor = ConsoleColor.White; }while (op == 1);} }}

31.Determinar el MENOR valor de 5 numeros ingresados desde el teclado.

CODIFICACION:

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

namespace ConsoleApplication4{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** MENOR VALOR DE 5 NÚMEROS ***");Console.WriteLine();Console.ForegroundColor = ConsoleColor.White;double A, B, C, D, E;double menor;Console.Write("Ingresar valor a A: ");A = double.Parse(Console.ReadLine());Console.WriteLine("------------------------");Console.Write("Ingresar valor a B: ");B = double.Parse(Console.ReadLine());Console.WriteLine("------------------------");Console.Write("Ingresar valor a C: ");C = double.Parse(Console.ReadLine());Console.WriteLine("------------------------");Console.Write("Ingresar valor a D: ");D = double.Parse(Console.ReadLine());Console.WriteLine("------------------------");Console.Write("Ingresar valor a E: ");

Page 27: 50 ALGOROTMOS

E = double.Parse(Console.ReadLine());Console.WriteLine("------------------------");

menor = A;//asume el primer valor//

if (menor > B) menor = B;if (menor > C) menor = C;if (menor > D) menor = D;if (menor > E) menor = E;Console.WriteLine();Console.WriteLine("<<<RESPUESTA>>>");Console.WriteLine("---------------------------------------");Console.WriteLine("Menor Valor Ingresado es: {0}", menor);Console.WriteLine("---------------------------------------");Console.ReadLine(); } }32.Dos personas desean intercambiar sus identidades (nombre, dirección, teléfono, edad) siempre

cuando la edad del primero fuese mayor que la edad del segundo en no más de 4 años. Ingresar los datos de cada persona y mostrar sus nuevas identidades o un mensaje mostrando la diferencia de edades que impidiera el intercambio de identidades.

CODIGO C#

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

namespace ConsoleApplication7{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine(" *** CAMBIO DE DATOS DE PERSONAS ***");Console.ForegroundColor = ConsoleColor.White;

string nombre1, nombre2, nombre3, nombre4, direccion1, direccion2, direccion3, direccion4;int telefono1, telefono2, telefono3, telefono4, edad1, edad2, edad3, edad4;Console.WriteLine();

Page 28: 50 ALGOROTMOS

Console.WriteLine("********************************");Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine(" ---PRIMERA PERSONA---");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Nombre: "); nombre1 = Console.ReadLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Dirección: "); direccion1 = Console.ReadLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Teléfono: "); telefono1 = int.Parse(Console.ReadLine());Console.WriteLine("--------------------------");Console.Write("Ingrese Edad: "); edad1 = int.Parse(Console.ReadLine());Console.WriteLine("--------------------------");Console.Clear();Console.WriteLine();Console.WriteLine("****************************");Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine(" ---SEGUNDA PERSONA---");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Nombre: "); nombre2 = Console.ReadLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Dirección: "); direccion2 = Console.ReadLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Teléfono: "); telefono2 = int.Parse(Console.ReadLine());Console.WriteLine("--------------------------");Console.Write("Ingrese Edad: "); edad2 = int.Parse(Console.ReadLine());Console.WriteLine("--------------------------");

if (edad1 > edad2 - 2)//SI EDAD 1 ES MAYOR QUE LA EDAD 2 POR 4 AÑOS RECIEN//HAY CAMBIOS EJEMPLO (18,18),(14,11) LA COSA QUE//QUE AL SER RESTADO LA EDAD 2 DEVE SER MENOR QUE LA EDAD 1 PARA QUE HAIGA CAMBIOS {Console.Clear();Console.WriteLine();Console.WriteLine("<<<NOTA>>>");Console.WriteLine("HAY CAMBIO DE IDENTIDADES");Console.WriteLine();

Page 29: 50 ALGOROTMOS

Console.WriteLine("****************************");Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine(" ---PRIMERA PERSONA---");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Nuevo Nombre: "); nombre3 = Console.ReadLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Nueva Dirección: "); direccion3 = Console.ReadLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Nuevo Teléfono: "); telefono3 = int.Parse(Console.ReadLine());Console.WriteLine("--------------------------");Console.Write("Ingrese Nueva Edad: "); edad3 = int.Parse(Console.ReadLine());Console.WriteLine("--------------------------");

Console.WriteLine();Console.WriteLine("****************************");Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine(" ---SEGUNDA PERSONA---");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Nuevo Nombre: "); nombre4 = Console.ReadLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Nueva Dirección: "); direccion4 = Console.ReadLine();Console.WriteLine("--------------------------");Console.Write("Ingrese Nuevo Teléfono: "); telefono4 = int.Parse(Console.ReadLine());Console.WriteLine("--------------------------");Console.Write("Ingrese Nueva Edad: "); edad4 = int.Parse(Console.ReadLine());Console.WriteLine("--------------------------");Console.WriteLine();Console.WriteLine("********************************");Console.WriteLine();Console.WriteLine("<<<RESPUESTAS>>>");Console.WriteLine();Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine(" ---PRIMERA PERSONA---");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine("Nombre: {0}", nombre3);Console.WriteLine("Dirección: {0}", direccion3);

Page 30: 50 ALGOROTMOS

Console.WriteLine("Teléfono: {0}", telefono3);Console.WriteLine("Edad: {0}", edad3);Console.WriteLine();Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine(" ---SEGUNDA PERSONA---");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine("Nombre: {0}", nombre4);Console.WriteLine("Dirección: {0}", direccion4);Console.WriteLine("Teléfono: {0}", telefono4);Console.WriteLine("Edad: {0}", edad4);Console.WriteLine("********************************");Console.ReadLine();

}elseif (edad1 <= edad2)//SI LA EDAD 1 ES MENOR O IGUAL QUE LA EDAD 2//NO HAY CAMBIOS EJEMPLO (12,16),(10,16) LA COSA QUE//QUE AL SER RESTADO LA EDAD 2 NO DEVE SER MENOR QUE LA EDAD 1 OSINO VA VER CAMBIOS {Console.Clear();Console.WriteLine();Console.WriteLine("<<<NOTA>>>");Console.WriteLine(" NO HAY CAMBIO DE IDENTIDADES");Console.WriteLine("********************************");Console.WriteLine();Console.WriteLine("<<<RESPUESTA>>>");Console.WriteLine();Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine(" ---PRIMERA PERSONA---");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine("Nombre: {0}", nombre1);Console.WriteLine("Dirección: {0}", direccion1);Console.WriteLine("Teléfono: {0}", telefono1);Console.WriteLine("Edad: {0}", edad1);Console.WriteLine();Console.ForegroundColor = ConsoleColor.Red;Console.WriteLine(" ---SEGUNDA PERSONA---");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine("Nombre: {0}", nombre2);Console.WriteLine("Dirección: {0}", direccion2);Console.WriteLine("Teléfono: {0}", telefono2);Console.WriteLine("Edad: {0}", edad2);Console.WriteLine("********************************");Console.ReadLine(); } } }

Page 31: 50 ALGOROTMOS

33.Determinar elimporte a pagar por un alumno de un instituto cuya cuota tiene un porcentaje de descuento que se establece en la siguiente tabla y está en función al colegio de procedencia del alumno; asimismo los importes están exonerados de impuestos.

INSTITUTOS

COLEGIO A B C

Nacional 50 40 30

Particular 25 20 15

Entrada: Instituto, Colegio, cuota;

Salida: importe a pagar (importe);

PSEUDO CODIGO:

pdNA = 0.50; //50% descuento A.Nacional//

pdNB = 0.40; //40% descuento B.Nacional//

pdNC = 0.30; //30% descuento C.Nacional//

pdPA = 0.25; //25% descuento A.Particular//

pdPB = 0.20; //20% descuento B.Particular//

pdPC = 0.15; //15% descuento C.Particular//

Inicio

Ingrese institudo deseado: A, B, C;

Ingrese colegio deseado: N, P;

Ingrese cuota del mes;

Calculamos descuento:

CASO instituto SEA

"A" : CASO (colegio) SEA

nacional: Dscto = cuota * pdNA;

Page 32: 50 ALGOROTMOS

particular: Dscto = cuota * pdPA;

fin del CASO

"B" : CASO (colegio) SEA

nacional: Dscto = cuota * pdNB;

particular: Dscto = cuota * pdPB;

fin del CASO

"C" : CASO (colegio) SEA

nacional: Dscto = cuota * pdNC;

particular: Dscto = cuota * pdPC;

fin del CASO

fin del CASO

calculamos importe:

importe = cuota - Dscto;

EL importe a pagar(importe) es:..

CODIGO C#

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

namespace ConsoleApplication48{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** IMPORTE A PAGAR POR UN INSTITUTO ***");

Page 33: 50 ALGOROTMOS

Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;

char instituto, colegio;double cuota, Dscto = 0, importe;constdouble pdNA = 0.50; //50% descuento A.Nacional//constdouble pdNB = 0.40; //40% descuento B.Nacional//constdouble pdNC = 0.30; //30% descuento C.Nacional//constdouble pdPA = 0.25; //25% descuento A.Particular//constdouble pdPB = 0.20; //20% descuento B.Particular//constdouble pdPC = 0.15; //15% descuento C.Particular//

Console.Write("Ingrese Instituto A/B/C: "); instituto = char.Parse(Console.ReadLine());Console.Write("Ingrese Colegio N/P: "); colegio = char.Parse(Console.ReadLine());Console.Write("Ingrese Cuota del Mes: "); cuota = double.Parse(Console.ReadLine());//determinar descuento correspondiente//switch (instituto) {case'A': switch (colegio) {case'N': Dscto = cuota * pdNA; break;case'P': Dscto = cuota * pdPA; break; }break;case'B': switch (colegio) {case'N': Dscto = cuota * pdNB; break;case'P': Dscto = cuota * pdPB; break; }break;case'C': switch (colegio) {case'N': Dscto = cuota * pdNC; break;case'P': Dscto = cuota * pdPC; break; }break;}//calcular importe a pagar// importe = cuota - Dscto;//escribir resultados//Console.WriteLine("-RESPUESTA-");Console.Write(">>Importe a Pagar: ");Console.WriteLine(importe);Console.ReadLine(); } }}

Page 34: 50 ALGOROTMOS

34.Una tienda distribuidora de ropa ha establecido porcentaje de descuento sobre el monto comprado de la siguiente forma:

HOMBRES MUJERES

ORIGEN/TALLA S M L S M L

Nacional 10 12 15 15 17 20

Importado 05 07 10 07 09 12

Determinar y mostrar, para un comprador, el monto comprado, el importe del descuento y el monto a pagar.

Entradas: monto de compra(monto_compra), origen, talla, sexo;

Salidas: monto de compra(monto_compra), descuento(dscto), monto a pagar(monto_compra - dscto);

PSEUDO CODIGO:

pdNHS = 0.10; //10% descuento nacional hombre S//

pdNHM = 0.12; //12% descuento nacional hombre M//

pdNHL = 0.15; //15% descuento nacional hombre L//

pdNMS = 0.15; //15% descuento nacional mujer S//

pdNMM = 0.17; //17% descuento nacional mujer M//

pdNML = 0.20; //20% descuento nacional mujer L//

pdIHS = 0.05; //05% importado nacional hombre S//

pdIHM = 0.07; //07% importado nacional hombre M//

pdIHL = 0.10; //10% importado nacional hombre L//

pdIMS = 0.07; //07% importado nacional mujer S//

pdIMM = 0.09; //09% importado nacional mujer M//

pdIML = 0.12; //12% importado nacional mujer L//

Inicio

Ingresamos monto de compra: monto_compra;

Page 35: 50 ALGOROTMOS

Ingresamos el origen: Nacional, Importado;

Ingresamos el sexo: Hombre, mujer;

Ingresamos la talla: S, M, L;

Calcular monto del descuento:

CASO (origen) SEA

'N' : CASO (sexo) SEA

'H' : CASO (talla) SEA

'S': dscto = monto_compra * pdNHS;

'M': dscto = monto_compra * pdNHM;

'L': dscto = monto_compra * pdNHL;

fin del CASO

'M' : CASO (talla) SEA

'S': dscto = monto_compra * pdNMS;

'M': dscto = monto_compra * pdNMM;

'L': dscto = monto_compra * pdNML;

fin del CASO

fin del CASO

'I' : CASO (sexo) SEA

'H' : CASO (talla) SEA

'S': dscto = monto_compra * pdIHS;

'M': dscto = monto_compra * pdIHM;

'L': dscto = monto_compra * pdIHL;

fin del CASO

'M' : CASO (talla) SEA

'S': dscto = monto_compra * pdIMS;

'M': dscto = monto_compra * pdIMM;

Page 36: 50 ALGOROTMOS

'L': dscto = monto_compra * pdIML;

fin del CASO

fin del CASO

fin del CASO

Los resultados son:

El monto de compra (monto_compra) es:...

El descuento (dscto) es:...

El monto a pagar (monto_compra - dscto) es:...

Fin

CODIGO C#

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

namespace ConsoleApplication52{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** TIENDA DE ROPA ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;

double monto;int origen;int talla;int sexo;constdouble pdNHS = 0.10;//NACIONAL HOMBRE Sconstdouble pdNHM = 0.12;//NACIONAL HOMBRE M

Page 37: 50 ALGOROTMOS

constdouble pdNHL = 0.15;//NACIONAL HOMBRE Lconstdouble pdNMS = 0.15;//NACIONAL MUJETR Sconstdouble pdNMM = 0.17;//NACIONAL MUJER Mconstdouble pdNML = 0.20;//NACIONAL MUJER Lconstdouble pdIHS = 0.05;//IMPORTADO HOMBRE Sconstdouble pdIHM = 0.07;//IMPORTADO HOMBRE Mconstdouble pdIHL = 0.10;//IMPORTADO HOMBRE Lconstdouble pdIMS = 0.07;//IMPORTADO MUJER Sconstdouble pdIMM = 0.09;//IMPORTADO MUJER Mconstdouble pdIML = 0.12;//IMPORTADO MUJER Ldouble Dscto = 0;

Console.Write(">>Introduce el Monto de la Compra: ");monto = double.Parse(Console.ReadLine());Console.WriteLine("");Console.WriteLine(">>Selecciona el Origen:\n1.Nacional\n2.Importado");Console.Write("Su opción: "); origen = int.Parse(Console.ReadLine());Console.WriteLine("");Console.WriteLine(">>Introduce Sexo:\n1.Hombre\n2.Mujer");Console.Write("Su opción: "); sexo = int.Parse(Console.ReadLine());Console.WriteLine("");Console.WriteLine(">>Introduce Talla:\n1.S\n2.M \n3.L");Console.Write("Su opción: "); talla = int.Parse(Console.ReadLine());

switch (origen) {case 1:switch (sexo) {case 1:switch (talla) {case 1: Dscto = monto * pdNHS;break;case 2: Dscto = monto * pdNHM;break;case 3: Dscto = monto * pdNHL;break; }break;case 2:switch (talla)

Page 38: 50 ALGOROTMOS

{case 1: Dscto = monto * pdNMS;break;case 2: Dscto = monto * pdNMM;break;case 3: Dscto = monto * pdNML;break; }break; }break;case 2:switch (sexo) {case 1:switch (talla) {case 1: Dscto = monto * pdIHS;break;case 2: Dscto = monto * pdIHM;break;case 3: Dscto = monto * pdIHL;break; }break;case 2:switch (talla) {case 1: Dscto = monto * pdIMS;break;case 2: Dscto = monto * pdIMM;break;case 3: Dscto = monto * pdIML;break;}break; }break; }

Page 39: 50 ALGOROTMOS

Console.WriteLine("");Console.WriteLine("--RESPUESTA--");Console.Write(">>Monto Comprado: ");Console.WriteLine(monto);Console.Write(">>Descuento: ");Console.WriteLine(Dscto);Console.Write(">>Monto a Pagar: ");Console.WriteLine(monto - Dscto);Console.ReadLine(); } }

35.Una tienda comercial ofrece ventas al crédito financiadas en tres formas como se indica a continuación:

TIPO % % NÚMERO

FINANCIAMIENTO INTERES CUOTA INICIAL LETTRAS

1 5 60 2

2 10 50 4

3 15 35 6

El cliente deberá firmar antes de la financiación el monto de la compra, el cual es afecto a un 10% de impuesto, por lo que el monto de la factura es igual al monto de la compra más el importe del impuesto.

Luego que el cliente elige el tipo de financiamiento que le convenga, se mostrará lo siguiente: monto de la factura, monto de los intereses, nuevo monto de la factura (incluyendo intereses), monto de la cuota inicial y el monto de cada letra por pagar (nuevo monto de la factura menos monto de cuota inicial entre número de letras).

Entradas: monto de compras: Mcompra;

tipo de financiamiento: tipo_fin;

Salidas: monto de compra: Mcompra;

impuesto;

monto de factura: Mfactura;

Page 40: 50 ALGOROTMOS

intereses;

nuevo monto de factura: Nuevo_Mfactura;

monto de cuota inicial: Mcuotaini;

monto de cada letra: Mletra;

número de letras: Nletras;

tipo de financiamiento: tipo_fin;

PSEUDO CODIGO:

pint1 = 0.05; //5% de interes tipo 1//

pint2 = 0.10; //10% de interes tipo 2//

pint3 = 0.15; //15% de interes tipo 3//

pcin1 = 0.60; //60% de cuota inicial tipo 1//

pcin2 = 0.50; //50% de cuota inicial tipo 2//

pcin3 = 0.35; //35% de cuota inicial tipo 3//

nlet1 = 2; //numero de letras tipo 1//

nlet2 = 4; //numero de letras tipo 2//

nlet3 = 6; //numero de letras tipo 3//

pimp = 0.10; //10% de impuesto sobre monto de compra//

Inicio

Ingrese el monto de compra: Mcompra;

Ingrese el tipo de financiamiento (<1,2,3>): tipo_fin;

Page 41: 50 ALGOROTMOS

Calculamos el monto del impuesto:

impuesto = Mcompra * pimp;

Calcular monto de la factura:

Mfactura = Mcompra + impuesto;

Determinar porcentaje de interes, cuota inicial y numero de letras:

CASO (tipo_fin) SEA

'1' : inicio

pinteres = pint1;

pcuotaini = pcin1;

Nletras = nlet1;

fin

'2' : inicio

pinteres = pint2;

pcuotaini = pcin2;

Nletras = nlet2;

fin

'3' : inicio

pinteres = pint3;

pcuotaini = pcin3;

Nletras = nlet3;

fin

fin del CASO

// Calcular montos requeridos:

intereses = Mfactura * pinteres;

Nuevo_Mfactura = Mfactura * intereses;

Mcuotaini = Nuevo_Mfactura * pcuotaini;

Page 42: 50 ALGOROTMOS

Mletra = (Nuevo_Mfactura - Mcuotaini) / Nletras;

Mostrar resultados:

El monto de compra ( Mcompra) es:...

Los impuestos (impuesto) son:...

El monto de factura (Mfactura) es:...

Los intereses (intereses) son :

El nuevo monto factura (Nuevo_Mfactura) es:...

El monto de cuota inicial (Mcuotaini) es:...

El monto de cada letra (Mletra) es:...

Numero de letras (Nletras) :...

Tipo de financiamiento (tipo_fin) es:... Fin

CODIGO C#

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

namespace ConsoleApplication53{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** TIENDA DE CRÉDITO ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;

double Mcompra, impuesto, Mfactura, intereses, Nuevo_Mfactura, Mcuotaini;double Mletra, pinteres = 0, pcuotaini = 0;byte Nletras = 0;char tipo_fin;constdouble pint1 = 0.05; //5% de interes tipo 1//constdouble pint2 = 0.10; //10% de interes tipo 2//constdouble pint3 = 0.15; //15% de interes tipo 3//constdouble pcin1 = 0.60; //60% de cuota inicial tipo 1//constdouble pcin2 = 0.50; //50% de cuota inicial tipo 2//

Page 43: 50 ALGOROTMOS

constdouble pcin3 = 0.35; //35% de cuota inicial tipo 3//constint nlet1 = 2; //numero de letras tipo 1//constint nlet2 = 4; //numero de letras tipo 2//constint nlet3 = 6; //numero de letras tipo 3//constdouble pimp = 0.10; //10% de impuesto sobre monto de compra////ingresar datos//Console.Write("Ingresar monto de la compra: "); Mcompra = double.Parse(Console.ReadLine());Console.WriteLine("Ingresar tipo de financiamiento:<1,2,3>");Console.Write("Su opción: "); tipo_fin = char.Parse(Console.ReadLine());//calcular monto del impuesto// impuesto = Mcompra * pimp;//calcular monto de la factura// Mfactura = Mcompra + impuesto;//determinar porcentaje de interes, cuota inicial y numero de letras//switch (tipo_fin) {case'1':{ pinteres = pint1; pcuotaini = pcin1; Nletras = nlet1;}break;case'2': { pinteres = pint2; pcuotaini = pcin2; Nletras = nlet2; }break;case'3':{ pinteres = pint3; pcuotaini = pcin3; Nletras = nlet3; }break; }//calcular montos requeridos// intereses = Mfactura * pinteres; Nuevo_Mfactura = Mfactura * intereses; Mcuotaini = Nuevo_Mfactura * pcuotaini; Mletra = (Nuevo_Mfactura - Mcuotaini) / Nletras;//mostrar resultados//Console.WriteLine("");Console.WriteLine("");

Page 44: 50 ALGOROTMOS

Console.WriteLine("--RESPUESTA--");Console.WriteLine("----------------------------------------");Console.WriteLine(">>El monto de compra es: {0}", Mcompra);Console.WriteLine("----------------------------------------");Console.WriteLine(">>Los impuestos son: {0}", impuesto);Console.WriteLine("----------------------------------------");Console.WriteLine(">>El monto de factura: {0}", Mfactura);Console.WriteLine("----------------------------------------");Console.WriteLine(">>Los intereses son: {0}", intereses);Console.WriteLine("----------------------------------------");Console.WriteLine(">>El nuevo monto factura: {0}", Nuevo_Mfactura);Console.WriteLine("----------------------------------------");Console.WriteLine(">>El monto de cuota inicial: {0}", Mcuotaini);Console.WriteLine("----------------------------------------");Console.WriteLine(">>El monto de cada letra: {0}", Mletra);Console.WriteLine("----------------------------------------");Console.WriteLine(">>Numero de letras: {0}", Nletras);Console.WriteLine("----------------------------------------");Console.WriteLine(">>Tipo de financiamiento: {0}", tipo_fin);Console.WriteLine("----------------------------------------");Console.ReadLine(); } }}

36.Los días de la semana se identifican por un numero de la siguiente forma: 0 para domingo, 1 para lunes, 2 para martes,etc. Determinar el día que corresponda a un número ingresado dando un mensaje adecuado para el caso que el número dado no corresponda a ningún dia de la semana.

CODIFICACION:

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

namespace ConsoleApplication54{classProgram {staticvoid Main(string[] args){int día, op = 1;do {Console.ForegroundColor = ConsoleColor.Yellow;

Page 45: 50 ALGOROTMOS

Console.WriteLine("*** DÍAS DE LA SEMANA ***");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine("");Console.WriteLine(" Escoja el Día: <0--1--2--3--4--5--6>");Console.Write(" SU OPCCION: "); día = int.Parse(Console.ReadLine());Console.WriteLine("");switch (día) {case 0:Console.Write(">>>El Día es: ");Console.WriteLine("DOMINGO"); break;case 1:Console.Write(">>>El Día es: ");Console.WriteLine("LUNES"); break;case 2:Console.Write(">>>El Día es: ");Console.WriteLine("MARTES"); break;case 3:Console.Write(">>>El Día es: ");Console.WriteLine("MIERCOLES"); break;case 4:Console.Write(">>>El Día es: ");Console.WriteLine("JUEVES"); break;case 5:Console.Write(">>>El Día es: ");Console.WriteLine("VIERNES"); break;case 6:Console.Write(">>>El Día es: ");Console.WriteLine("SABADO"); break; }if (día > 6) {Console.WriteLine("--->EL NÚMERO INGRESADO NO ES VALIDO..........");

}Console.WriteLine("");Console.WriteLine("*************************************");Console.WriteLine("DESEA CONTINUAR>> SI--[1]/ NO--[0]");op = int.Parse(Console.ReadLine());Console.Clear(); } while (op == 1); } }}

Page 46: 50 ALGOROTMOS

37.Una tienda de ropa ha establecido los porcentajes de descuento, que se indican a continuación, de acuerdo a ciertas características del comprador: nacionalidad (1,2) y del producto que compra: exo(H,M), talla (Niño, Joven, Adulto). Se sabe que una persona puede comprar varios productos por lo que se desea mostrar como resultados de lo siguiente: nombre del comprador, cantidad de productos comprados, importe comprado, importe descontado y el importe a pagar; para lo cual se deben ingresar los datos que sean necesarios. El proceso para la compra de una persona termina cuando al ingresar el nombre del comprador se presiona ENTER.

NiñoSexo

JovenSexo

AdultoSexo

Nacionalidad H M H M H M

1 5 4 7 9 10 12

2 4 5 9 7 12 10

CODIGO C#

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

namespace ConsoleApplication55{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** TIENDA DE ROPAS ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;double monto;int origen;int talla;int sexo;string nombre;constdouble pdNHN = 0.05;//descuento Nacional Hombre Niño constdouble pdNHJ = 0.07;//descuento Nacional Hombre Joven constdouble pdNHA = 0.10;//descuento Nacional Hombre Adulto constdouble pdNMN = 0.04;//descuento Nacional Mujer Niña constdouble pdNMJ = 0.09;//descuento Nacional Mujer Jovenconstdouble pdNMA = 0.12;//descuento Nacional Mujer Adulta

Page 47: 50 ALGOROTMOS

constdouble pdIHN = 0.04;//descuento Importado Hombre Niño constdouble pdIHJ = 0.09;//descuento Importado Hombre Jovenconstdouble pdIHA = 0.12;//descuento Importado Hombre Adulto constdouble pdIMN = 0.05;//descuento Importado Mujer Niña constdouble pdIMJ = 0.07;//descuento Importado Mujer Jovenconstdouble pdIMA = 0.10;//descuento Importado Mujer Adulta double Dscto = 0;Console.WriteLine("-------------------------------------------------");Console.Write("Ingrese Nombre del Comprador: "); nombre = Console.ReadLine();Console.WriteLine("-------------------------------------------------");Console.Write("Introduce el Monto de la Compra: ");monto = double.Parse(Console.ReadLine());Console.WriteLine("-------------------------------------------------");Console.WriteLine("Selecciona el Origen:\n1.Nacional\n2.Importado");Console.Write("Su opción: "); origen = int.Parse(Console.ReadLine());Console.WriteLine("-------------------------------------------------");Console.WriteLine("Introduce Sexo:\n1.Hombre\n2.Mujer");Console.Write("Su opción: "); sexo = int.Parse(Console.ReadLine());Console.WriteLine("-------------------------------------------------");Console.WriteLine("Introduce Talla:\n1.N\n2.J\n3.A");Console.Write("Su opción: "); talla = int.Parse(Console.ReadLine());Console.WriteLine("-------------------------------------------------");switch (origen) {case 1:switch (sexo) {case 1:switch (talla) {case 1: Dscto = monto * pdNHN;break;case 2: Dscto = monto * pdNHJ;break;case 3: Dscto = monto * pdNHA;break; }break;case 2:switch (talla)

Page 48: 50 ALGOROTMOS

{case 1: Dscto = monto * pdNMN;break;case 2: Dscto = monto * pdNMJ;break;case 3: Dscto = monto * pdNMA;break; }break; }break;case 2:switch (sexo) {case 1:switch (talla) {case 1: Dscto = monto * pdIHN;break;case 2: Dscto = monto * pdIHJ;break;case 3: Dscto = monto * pdIHA;break; }break;case 2:switch (talla) {case 1: Dscto = monto * pdIMN;break;case 2: Dscto = monto * pdIMJ;break;case 3: Dscto = monto * pdIMA;break;}break; }break; }

Page 49: 50 ALGOROTMOS

Console.WriteLine("");Console.WriteLine("<<<RESPUESTA>>>");Console.WriteLine("");Console.Write(">>Nombre del Comprador: ");Console.WriteLine(nombre);Console.WriteLine("------------------------");Console.Write(">>Monto Comprado: ");Console.WriteLine(monto);Console.WriteLine("------------------------");Console.Write(">>Descuento: ");Console.WriteLine(Dscto);Console.WriteLine("------------------------");Console.Write(">>Monto a Pagar: ");Console.WriteLine(monto - Dscto);Console.WriteLine("------------------------");Console.ReadLine(); } }}

38.Mostrar los dígitos de un número entero positivo en forma invertida. Por ejemplo: 1234se mostrara como 4321.Entrada: número entero positivo: nument;Salida: número invertido

PSEUDO CODIGO:

Inicio

Ingresar número entero: nument;

MIENTRAS (nument > 0) HACER

inicio

digito = residuo del nument / 10; //ultimo digito//

nument = entero del nument / 10; //descartaultimo término//

El digito (dig);

fin del MIENTRAS

Page 50: 50 ALGOROTMOS

Fin

CODIGO C#

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

namespace ConsoleApplication59{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** NÚMERO INVERTIDO ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;int nument;//NUMERO ENTEROint dig;//DIGITOSint op;do {Console.Write("Ingresar un Número: ");nument = int.Parse(Console.ReadLine());Console.WriteLine("El Número Invertido es: ");while (nument > 0) { dig = nument % 10; nument = nument / 10;Console.Write(dig); }Console.WriteLine("");Console.WriteLine("----------------------------------");Console.WriteLine("DESEA CONTINUAR.... SI(1), NO(2)");Console.Write("Su opción: ");op = int.Parse(Console.ReadLine());Console.Clear(); }while (op == 1); } }}

Page 51: 50 ALGOROTMOS

39.Determinar la cantidad de dígitos que tiene un número entero y además mostrar la suma de los dígitos pares e impares. Considerar al cero (0) como dígito par.

Entrada: número entero: num;

Salida: cantidad de dígitos: contdig;

suma de dígitos pares: sumapar;

suma de dígitos impares: sumaimpar;

PSEUDO CODIGOS:

Inicio

Ingrese un número entero: num;

Inicializar elementos:

contdig = 0;//contador de dígitos//

sumapar = 0;//suma de dígitos pares//

sumaimpar = 0;//suma de dígitos impares//

MIENTRAS (num > 0) HACER

inicio

dig = residuo num/10;//ultimo dígito//

SI (dig = par) ENTONCES

sumapar = sumapar + dig;

SINO

sumaimpar = sumaimpar + dig;

fin del SI

contdig = contdig + 1;

num = entero del num / 10;//descarta últ. dígito//

fin del MIENTRAS

El número de dígitos (contdig) es:...

La suma de dígitos pares (sumapar) es:...

Page 52: 50 ALGOROTMOS

La suma de dígitos impares (sumaimpar) es:...Fin

CODIGO C#

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

namespace ConsoleApplication60{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** CANTIDAD DE DÍGITOS QUE TIENE UN NÚMERO ENTERO ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;int num;double contdig = 0;//contador de dígitos//double sumapar = 0;//suma de dígitos pares//double sumaimpar = 0;//suma de dígitos impares//double dig;

Console.Write("Ingresar el Número Entero que desee: ");num = int.Parse(Console.ReadLine());

while (num > 0) { dig = num % 10;

if (dig % 2 == 0){ sumapar = sumapar + dig;

}else { sumaimpar = sumaimpar + dig;}

contdig = contdig + 1; num = num / 10; }Console.WriteLine("");Console.WriteLine("--RESPUESTA--");Console.WriteLine("---------------------------------");Console.WriteLine(">>El Número de Digitos es: {0}", contdig);

Page 53: 50 ALGOROTMOS

Console.WriteLine("---------------------------------");Console.WriteLine(">>La Suma de Digitos Pares: {0}", sumapar);//osea numeros pares se sumanConsole.WriteLine("---------------------------------");Console.WriteLine(">>La Suma de Digitos Impares: {0}", sumaimpar);//numeros imapres se sumanConsole.WriteLine("---------------------------------");Console.ReadLine(); } }}40.Convertir un número entero en base 10 a una base menor que 10, mostrándo el resultado en

pantalla.

Entrada: un número en base 10: num;

base menor que 10: bas;

Salida: número convertido a la base requerida;

PSEUDO CODIGO:

Inicio

Ingresar número entero: num;

Ingrese base menor que 10: bas;

Asegurar que la base sea menor que 10:

MIENTRAS (bas < 10) HACER

ingrese bas;

conversión del número a la base ingresada:

MIENTRAS (num > 0) HACER

inicio

residuo = residuo del num / bas;

num = entero del num / bas;

El residuo escrito de derecha a izquierda;

fin del MIENTRAS

fin del MIENTRAS

Fin

Page 54: 50 ALGOROTMOS

CODIGO C#

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

namespace ConsoleApplication61{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** CONVERCIÓN DE UN NÚMERO EN BASE 10 A UNA MENOR ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;int num;byte bas;int residuo;int op =1;do {Console.Write("Ingresar Número Entero: ");num = int.Parse(Console.ReadLine());if (num < 0) {Console.WriteLine(" --ERROR--");Console.ReadLine(); }else{Console.Write("Ingresar Base Menor a 10: "); bas = byte.Parse(Console.ReadLine());if ((bas == 0)||(bas == 1)||(bas >= 10))//lo igualamos a 10 xq la base debe ser menor {Console.WriteLine(" --ERROR--");Console.ReadLine(); }

Page 55: 50 ALGOROTMOS

else {//La base debe ser menor que 10//while (bas < 10) {Console.WriteLine("");Console.Write(">>El Resultado es: ");while (num > 0) { residuo = num % bas; num = num / bas;Console.Write(residuo);}break; }Console.WriteLine("");Console.WriteLine("----------------------------------------");Console.WriteLine("DESEA CONTINUAR CON EL CAMBIO DE BASE:");Console.WriteLine("(1)............SI");Console.WriteLine("(2)............NO");Console.Write("Su opción: "); op = int.Parse(Console.ReadLine());Console.Clear(); } } }while (op == 1); } }}

Page 56: 50 ALGOROTMOS

41.Convertir un número entero de base 10 a base 16; es decir, representarlo en el sistema Hexagesimal, almacenando el resultado de la conversión en una cadena, para luego mostrarla. Sugerencias: aplicar metodo de divisiones sucesivas.

Entradas: número decimal: num;

Salida: número en base 16: hex;

PSEUDO CODIGOS:

Definir constantes:

Nulo = ''; //cadena vacia//

Inicio

Ingresar número decimal: num;

Determinar su equivalente en base 16:

hex = nulo;

MIENTRAS (num > 0) HACER

inicio

residuo = residuo de num / 16;

CASO (residuo) SEA

10: digito = 'A';

11: digito = 'B';

12: digito = 'C';

13: digito = 'D';

14: digito = 'E';

15: digito = 'F';

SINO

residuo menor a 10:

digito = caracter del residuo;

fin del CASO

Page 57: 50 ALGOROTMOS

hex = digito + hex;//forma la cadena//

num = entero de num / 16;

fin del MIENTRAS

El número en base 16 (hex) es:...

Fin

CODIGO C#

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

namespace ConsoleApplication62{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** CONVERTIR NÚMERO DE BASE 10 A BASE 16 ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;int num, op;string hex;int residuo;conststring nulo = "";int digito;

//inicializar la cadena hexadecimal con nulo//do { hex = nulo;Console.Write("Ingresar Número Decimal: ");num = int.Parse(Console.ReadLine());

Page 58: 50 ALGOROTMOS

do { residuo = num % 16;switch (residuo) {case 10: digito = 'A'; break;case 11: digito = 'B'; break;case 12: digito = 'C'; break;case 13: digito = 'D'; break;case 14: digito = 'E'; break;case 15: digito = 'F'; break;default: digito = Math.Sign(residuo + 48); break; } hex = digito + hex; num = num / 16; }while (num > 0);//escribir resultado//Console.WriteLine("");Console.Write(">>En Hexadecimal es: ");Console.WriteLine(hex);Console.WriteLine("----------------------");Console.WriteLine("DESEA CONTINUAR??");Console.WriteLine("(1).....Si");Console.WriteLine("(2).....No");Console.Write("Su opción: "); op = int.Parse(Console.ReadLine());Console.Clear(); }while (op == 1);

} }}

42.Determinar e número de veces en que se logra adivinar el valor de un número generado al azar que está comprendido entre 0 y 100. Orientar el siguiente intento mostrando un mensaje de ALTO o BAJO, según corresponda. Se obtiene un número al azar mediante una función determinada RANDOM.

Entrada: número: num;

Salida: número de intentos: intentos;

PSEUDO CODIGOS:

Inicio

Page 59: 50 ALGOROTMOS

Inicializar contador de número de intentos:

intentos = 1;

Generar un número al azar:

azar = Random;

Ingrese un número: num;

Determinar número de intentos para adivinar:

MIENTRAS (num != azar) HACER

inicio

intentos = intentos + 1;

SI (num < azar) ENTONCES

escribir: 'BAJO'

SINO

escribir: 'ALTO'

fin del SI

Ingrese un número: num;

fin del MIENTRAS

El número de intentos es:...

Fin

CODIGO C#

using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication4{classProgram {staticvoid Main(string[] args) {

Page 60: 50 ALGOROTMOS

int intentos = 1;int num;int azar;azar = Random;//Inicializar generador de números aleatorios//Console.WriteLine("Ingrese su número");num = int.Parse(Console.ReadLine());while (num != azar) { intentos = intentos + 1;if (num > azar) {Console.WriteLine("BAJO");Console.ReadLine(); }else{Console.WriteLine("ALTO");Console.ReadLine(); }Console.WriteLine("Ingrese su número");num = int.Parse(Console.ReadLine());}Console.WriteLine("Adivino en intentos son: {0}", intentos);Console.ReadLine(); } }}

43.Determinar el cociente entero de la divisón de 2 números naturales por el método de restas sucesivas hasta que la última diferencia sea menor al divisor.

El siguiente ejemplo ilustra el fundamento del metodo.

Page 61: 50 ALGOROTMOS

Suponga que A = 1273 y B = 325;

1273 - 325 = 948 // primera resta//

948 - 325 = 623 //segunda resta//

623 - 325 = 298 //tercera resta//

Ya no se realiza una cuarta resta porque la última diferencia (298) es menor que el divisor (325).

Por lo tanto, el número de restas realizadas determina el cociente entero, que este ejemplo seía 3.

Entrada: 2 números enteros: A, B;

Salida: cocientes enteros: numdif;

PSEUDO CODIGOS:

Inicio

Ingresar valor al primer número: A;

Ingresar valor al segundo número: B;

Inicializar elementos:

div = A;//identifica el dividendo //

numdif = 0;//número de diferencias//

Determinar cociente entero:

MIENTRAS (div >= B) HACER

inicio

div = div - B;

numdif = numdif + 1;

fin del MIENTRAS

El cociente entero (numdif) es:...

Fin

CODIGO C#

using System;

Page 62: 50 ALGOROTMOS

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

namespace ConsoleApplication63{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** COCIENTE ENTERO DE LA DIVISIÓN DE DOS NÚMEROS ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;long A;long B;int numdif = 0;//numero de diferenciaslong div;int op;do {Console.Write("Ingrese valor a A: ");A = long.Parse(Console.ReadLine());Console.Write("Ingrese valor a B: ");B = long.Parse(Console.ReadLine());

div = A;

while (div >= B) { div = div - B; numdif = numdif + 1;}Console.WriteLine("");Console.WriteLine("Cociente Entero: {0}", numdif);//la cantidad de las restas utilizadasConsole.WriteLine("--------------------------------");Console.WriteLine("Desea Continuar con la División");Console.WriteLine("(1).........Si");Console.WriteLine("(cualquier número)........Más tarde");op = int.Parse(Console.ReadLine());Console.Clear(); }while (op == 1); } }}

Page 63: 50 ALGOROTMOS

44.Mostrar los N primeros términos de la siguiente serie, indicando además, por separado, la suma de los términos que ocupan posiciones pares, impares y de ambos:

0, 3, 8, 15, 24,....

Entrada: número de términos: numter;

Salida: suma de los términos en posición par: sumapares;

suma de los términos en posición impar: sumaimpares;

suma de todos los términos: sumatotal;

PSEUDO CODIGO:

Inicio

Ingrese número de términos: numter;

Inicializar elementos:

sumaimpares = 0;

sumapares = 0;

sumatotal = 0;

contador = 1;

término = 0;

incremento = 3;

MIENTRAS (contador <= numter) HACER

inicio

escribir término

sumatotal = sumatotal + termino;

SI (contador % 2 == 0) ENTONCES

sumapares = sumapares + termino;

SINO

sumapares = sumapares + termino;

Page 64: 50 ALGOROTMOS

fin del SI

termino = termino + incremento;

incremento = incremento + 2;

contador = contador + 1;

fin del MIENTRAS

La suma de los términos en posición par (sumapares) es:...

La suma de los términos en posición impar (sumaimpares) es:...

La suma de todos los términos (sumatotal) es:...

Fin

CODIGO C#

using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{classProgram {staticvoid Main(string[] args) {int numter;int sumapares;int sumaimpares;int sumatotal;int contador;int termino;

Page 65: 50 ALGOROTMOS

int incremento;Console.WriteLine("Ingrese número de términos"); numter = int.Parse(Console.ReadLine()); sumaimpares = 0; sumapares = 0; sumatotal = 0; contador = 1; termino = 0; incremento = 3;while (contador <= numter) {Console.WriteLine("Escribir término"); termino = int.Parse(Console.ReadLine());

sumatotal = sumatotal + termino;if (contador % 2 == 0)//posición par// { sumapares = sumapares + termino; }else { sumaimpares = sumaimpares + termino; termino = termino + incremento; incremento = incremento + 2; contador = contador + 1; } }Console.WriteLine("La suma de terminos en posición impar:{0}", sumaimpares);Console.WriteLine("La suma de terminos en posición par:{0}", sumapares);Console.WriteLine("La suma de todos los terminos:{0}", sumatotal);Console.ReadLine(); } }}

45.Dos automóviles parten simultáneamente uno de Lima y el otr de Huacho cn destinos a Trujillo, con velocidades promedios de 120 Km/h y 66 Km/h respectivamente. Se pide mostrar la distancia recorrida por cada automóvil con respecto a Lima, cada minuto hasta que el automóvil con mayor velocidad pase al otro. Considerar las siguientes distancias en toda la ruta:

Page 66: 50 ALGOROTMOS

Lima Huacho Trujillo

130 Km

|-----------------|

570 Km

|----------------------------------------|

Entrada: ninguna;

Salida: tiempo, distancia del que parte de Lima(distlima);

distancia del que parte de huacho(disthua);

PSEUDO CODIGO:

veloc1 = 120;//auto que parte de Lima, Km/h

veloc2 = 66;//auto que parte de Huacho, Km/h

recorrido = 570;//distancia entre Lima y Trujillo, Km

interv = 1;//intervalo de tiempo, min

Inicio

Inicializar elementos:

distlima = 0;

dishua = 130;

time = 0;

Mostrar distancias recorridas:

MIENTRAS (distlima <= dishua) HACER

inicio

escribir:

distancia a lima: distlima;

distancia a huacho: disthua;

tiempo: time;

Page 67: 50 ALGOROTMOS

time = time + (interv / 60);// en horas//

distlima = distlima + veloc1 * time;

dishua = dishua + veloc2 * time;

fin del MIENTRAS

La distancia a lima (distlima) es:...

La distancia a huacho (dishua) es:...

El tiempo (time) es:...

Fin

CODIGO C#

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

namespace ConsoleApplication68{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** DISTANCIA DE LIMA - HUACHO - TRUJILLO ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;int time;int distlima;int dishua;constint veloc1 = 120;constint veloc2 = 66;constint recorrido = 570;constint interv = 1;int op;do

Page 68: 50 ALGOROTMOS

{ distlima = 0; dishua = 130; time = 0;

while (distlima <= dishua){Console.Write("Distancia a Lima: "); distlima = int.Parse(Console.ReadLine());Console.Write("Distancia a Huacho: "); dishua = int.Parse(Console.ReadLine());Console.Write("Tiempo: ");time = int.Parse(Console.ReadLine()); time = time + (interv / 60); distlima = distlima + veloc1 * time;dishua = dishua + veloc2 * time; }Console.WriteLine("La Distancia a Lima:{0}", distlima);Console.WriteLine("La Distancia a Huacho:{0}", dishua);Console.WriteLine("El Tiempo fue de:{0} horas", time * 60);Console.WriteLine("----------------------------");Console.WriteLine("Desea continuar");Console.WriteLine("1------->siiiii");Console.WriteLine("2------->nooooo"); op = int.Parse(Console.ReadLine());Console.Clear(); }while (op == 1); } }}

46.Evaluará el resultado de la siguiente serie para los N primeros términos donde N no debe ser mayor que 15:

1 + x/2 – x2/4 + x3/8 – x4/16 + x5/32 - .....

Entradas: número de términos: numterm;

valor de x: x;

Salida: resultados parciales: numerador, denominador(denom),suma;

resultado final: suma;

Page 69: 50 ALGOROTMOS

PSEUDO CODIGO:

Inicio

Ingresar número de términos: numterm;

Ingresar valor de x: x;

Inicializar elementos:

suma = 0;

cont = 1;

numerador = 1;

denom = 1;

Acumular sumatoria de términos:

MIENTRAS (cont <= numterm) HACER

inicio

suma = suma + (numerador / denom);

escribir:

Contador: cont;

Numerador: numerador;

Denominador: denom;

numerador = numerador * x * (-1);

denom = denom * 2;

cont = cont + 1;

fn del MIENTRAS

La suma es:....

Fin

Page 70: 50 ALGOROTMOS

CODIGO C#

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

namespace ConsoleApplication70{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** EVALUAR EL RESULTADO DE LA SIGUIENTE SERIE ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;double numterm;double x;double numerador;double denom;double suma;double cont;//ingresamos datos//Console.Write("Ingresar Numero de Términos: ");numterm = double.Parse(Console.ReadLine());if (numterm > 15) {Console.WriteLine("***ERROR***");Console.ReadLine();}else {Console.Write("Ingresar Valor de 'X': ");x = double.Parse(Console.ReadLine());

suma = 0; cont = 1; numerador = 1; denom = 1;

while (cont <= numterm){ suma = suma + (numerador / denom);Console.ForegroundColor = ConsoleColor.Green;Console.WriteLine("===================================");Console.ForegroundColor = ConsoleColor.White;Console.WriteLine(">>Contador:{0}", cont);Console.WriteLine("------------------------------");

Page 71: 50 ALGOROTMOS

Console.WriteLine(">>Numerador:{0}", numerador);Console.WriteLine("------------------------------");Console.WriteLine(">>Denominador:{0}", denom);Console.WriteLine("------------------------------"); numerador = numerador * x * (-1);denom = denom * 2; cont = cont + 1; }Console.WriteLine("");Console.WriteLine("");Console.Write(">>La Suma de los {0} Primeros Términos es:::", numterm);Console.WriteLine(suma);Console.WriteLine("---------------------------------------------------");Console.ReadLine(); } } }}

47.Una farmacia ha clasificado sus productos de la siguiente manera:

TIPO CLASE

G analgésicos

R antibióticos

P antipiréticos

T otros

Cada clase puede ser de procedencia Nacional o Importada. En un proceso se ingresan los siguientes datos: procedencia (N, I, ENTER), tipo de operación (Entrada, Salida), tipo de producto (G, R, P, T), cantidad. El proceso termina cuando al ingresar la procedencia se presione ENTER debiendo mostrar a continuación el stock de cada tipo de producto de acuerdo a su procedencia, asumiendo que el proceso empieza con stock 0 para todos los tipos de producto.

Entrada: procedencia, tipo de producto (tipo_pr), tipo de operación (tipo_op), cantidad;

Salida: stock de analgésicos Nacionales (stockGN), stock de analgésicos Importado (stockGI); stock de antibióticos Nacionales (stockRN), stock de antibióticos Importado (stockRI); stock de

Page 72: 50 ALGOROTMOS

antipiréticos Nacionales (stockPN), stock de antipiréticos Importado (stockPI); stock de otros Nacionales (stockTN), stock de otros Importado (stockTI),

PSEUDO CODIGO:

Inicio

Inicializar stock por producto y procedencia:

stockGN = 0;//producto G nacional//

stockGI = 0;//producto G importado//

stockRN = 0;//producto R nacional//

stockRI = 0;//producto R importado//

stockPN = 0;//producto P nacional//

stockPI = 0;//producto P nacional//

stockTN = 0;//producto T nacional//

stockTI = 0;//producto T importado//

Inicializar fin del proceso repetitivo:

fin = falso;

Proceso repetitivo:

MIENTRAS (no sea fin) HACER

inicio

ingrese procedencia <N,I>: procedencia;

SI (procedencia = enter) ENTONCES

fin = verdad;

SINO

inicio

Page 73: 50 ALGOROTMOS

ingrese tipo de producto <G,R,P,T>: tipo_pr;

ingrese tipo de operación <E,S>: tipo_op;

ingrese cantidad: cantidad;

actualizar stock:

CASO (tipo_pr) SEA

'G' : CASO (procedencia) SEA

'N' : CASO (tipo_op) SEA

'E': stockGN = stockGN + 1;//incremento//

'S': stockGN = stockGN - 1;//disminuye//

fin del CASO

'I' : CASO (tipo_op) SEA

'E': stockGI = stockGI + 1;//incremento//

'S': stockGI = stockGI - 1;//disminuye//

fin del CASO

fin del CASO

'R' : CASO (procedencia) SEA

'N' : CASO (tipo_op) SEA

'E': stockRN = stockRN + 1;//incremento//

'S': stockRN = stockRN - 1;//disminuye//

fin del CASO

'I' : CASO (tipo_op) SEA

'E': stockRI = stockRI + 1;//incremento//

'S': stockRI = stockRI - 1;//disminuye//

fin del CASO

fin del CASO

Page 74: 50 ALGOROTMOS

'P' : CASO (procedencia) SEA

'N' : CASO (tipo_op) SEA

'E': stockPN = stockPN + 1;//incremento//

'S': stockPN = stockPN - 1;//disminuye//

fin del CASO

'I' : CASO (tipo_op) SEA

'E': stockPI = stockPI + 1;//incremento//

'S': stockPI = stockPI - 1;//disminuye//

fin del CASO

fin del CASO

'T' :CASO (procedencia) SEA

'N' : CASO (tipo_op) SEA

'E': stockTN = stockTN + 1;//incremento//

'S': stockTN = stockTN - 1;//disminuye//

fin del CASO

'I' : CASO (tipo_op) SEA

'E': stockTI = stockTI + 1;//incremento//

'S': stockTI = stockTI - 1;//disminuye//

fin del CASO

fin del CASO

fin del CASO

fin

fin del SI

fin del MIENTRAS

Page 75: 50 ALGOROTMOS

Mostramos resultados:

Procedencia (procedencia):...

ANALGESICOS NACIONAL (stockGN):...

ANALGESICOS IMPORTADO (stockGI):...

ANTIPIRETICOS NACIONAL (stockPN):...

ANTIPIRETICOS IMPORTADOS (stockPI):...

ANTIBIOTICOS NACIONAL (stockRN):...

ANTIBIOTICOS IMPORTADO (stockRI):...

OTROS NACIONAL (stockTN):...

OTROS IMPORTADOS (stockTI):...

Fin

CODIGO C#

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

namespace ConsoleApplication71{classProgram {staticvoid Main(string[] args) {Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** FARMACIA ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;int op;char procedencia;char tipo_pr;

Page 76: 50 ALGOROTMOS

char tipo_op;int cantidad;double stockGN, stockGI, stockRN, stockRI, stockPN, stockPI, stockTN, stockTI;bool fin;constdouble enter = 13;//inicializar stock por producto y procedencia// stockGN = 0;//producto G nacional// stockGI = 0;//producto G importado// stockRN = 0;//producto R nacional// stockRI = 0;//producto R importado// stockPN = 0;//producto P nacional// stockPI = 0;//producto P nacional// stockTN = 0;//producto T nacional// stockTI = 0;//producto T importado////inicializar fin del proceso repetitivo// fin = false;do {Console.WriteLine("Ingrese Procedencia:<N,I>");Console.Write("Opción: "); procedencia = char.Parse(Console.ReadLine());Console.WriteLine("------------------------------");if (procedencia == enter) { fin = true; }else

Console.WriteLine("Ingrese Tipo de Producto:<G,R,P,T>");Console.Write("Opción: "); tipo_pr = char.Parse(Console.ReadLine());Console.WriteLine("----------------------------------------");Console.WriteLine("Ingrese Tipo de Operacion:<E,S>");Console.Write("Opción: "); tipo_op = char.Parse(Console.ReadLine());Console.WriteLine("----------------------------------------");Console.Write("Ingrese Cantidad: "); cantidad = int.Parse(Console.ReadLine());Console.WriteLine("----------------------------------------");//actualizar stock//switch (tipo_pr) {case'G':switch (procedencia) {case'N':switch (tipo_op) {

Page 77: 50 ALGOROTMOS

case'E': stockGN = stockGN + 1; break;//incremento//case'S': stockGN = stockGN - 1; break;//disminuye// }break;case'I':switch (tipo_op) {case'E': stockGI = stockGI + 1; break;//incremento//case'S': stockGI = stockGI - 1; break;//disminuye// }break; }break;

case'R':switch (procedencia) {case'N':switch (tipo_op) {case'E': stockRN = stockRN + 1; break;//incremento//case'S': stockRN = stockRN - 1; break;//disminuye// }break;case'I':switch (tipo_op) {case'E': stockRI = stockRI + 1; break;//incremento//case'S': stockRI = stockRI - 1; break;//disminuye// }break; }break;

case'P':switch (procedencia) {case'N':switch (tipo_op) {case'E': stockPN = stockPN + 1; break;//incremento//case'S': stockPN = stockPN - 1; break;//disminuye// }break;case'I':switch (tipo_op) {case'E': stockPI = stockPI + 1; break;//incremento//

Page 78: 50 ALGOROTMOS

case'S': stockPI = stockPI - 1; break;//disminuye// }break; }break;

case'T':switch (procedencia) {case'N':switch (tipo_op) {case'E': stockTN = stockTN + 1; break;//incremento//case'S': stockTN = stockTN - 1; break;//disminuye// }break;case'I': switch (tipo_op) {case'E': stockTI = stockTI + 1; break;//incremento//case'S': stockTI = stockTI - 1; break;//disminuye//}break; }break; }Console.WriteLine("Desea continuar?? Si(1),No(otro)");Console.Write("Su opción: "); op = int.Parse(Console.ReadLine()); }while (op != 1);//mostrar resultados//Console.WriteLine(">>PROCEDENCIA: {0}", procedencia);Console.WriteLine("----------------------------------------");Console.WriteLine(">>ANALGESICOS NACIONAL: {0}", stockGN);Console.WriteLine("----------------------------------------");Console.WriteLine(">>ANALGESICOS IMPORTADO: {0}", stockGI);Console.WriteLine("----------------------------------------");Console.WriteLine(">>ANTIPIRETICOS NACIONAL: {0} ", stockPN);Console.WriteLine("----------------------------------------");Console.WriteLine(">>ANTIPIRETICOS IMPORTADOS: {0}", stockPI);Console.WriteLine("----------------------------------------");Console.WriteLine(">>ANTIBIOTICOS NACIONAL: {0}", stockRN);Console.WriteLine("----------------------------------------");Console.WriteLine(">>ANTIBIOTICOS IMPORTADO: {0}", stockRI);Console.WriteLine("----------------------------------------");Console.WriteLine(">>OTROS NACIONAL: {0}", stockTN);Console.WriteLine("----------------------------------------");Console.WriteLine(">>OTROS IMPORTADOS: {0}", stockTI);

Page 79: 50 ALGOROTMOS

Console.WriteLine("----------------------------------------");Console.ReadLine(); } }}

48.Un estudiante ha registrado 10 instituciones que dictan un curso de computación de su interés, a diferentes costos. Desea determinar el costo promedio del curso, el costo más elevado, el costo más bajo y el nombre de la institución que ofrece el costo más bajo. Se sabe además que ningún costo llega a tener 4 cifras.

ENTRADA: nombre del instituto: nombre;

Costo del curso: costo;

SALIDA: costo promedio: costo_prom;

Costo mayor: costo_may;

Costo menor: costo_men;

Nombre de quien tiene costo menor: nombre_costomen

PESUDO CODIGOS:

Definir constantes

NumIns = 10;

Maxcosto = 999;

Inicio

Inicializar elementos

Contador = 1;

Suma = 0

Costo_may = 0

Costo_men = Maxcosto

Page 80: 50 ALGOROTMOS

REPETIR

Ingresarmos nombre y costo;

Acumulador de costo

Suma = Suma + costo;

Determinar el costo mayor

SI costo > costo_may ENTONCES

Costo_may = costo

Fin del SI

Determinar el costo menor e identificar su nombre

SI costo < costo_men ENTONCES

Inicio

Costo_men = costo;

Nombre_costomen = nombre;

Fin del SI

Incrementamos contador

HASTA contador > NumInst

Calcular costo promedio

Costo_prom = suma / NumInst

Mostrar resultado

Escribir costo_prom, costo_may, costo_men, nombre_costomen

Fin

Page 81: 50 ALGOROTMOS

CODIGO C#

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

namespace ConsoleApplication73{classProgram {staticvoid Main(string[] args) {Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** INSTITUCIONES ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;

constint NumInst = 10;constint Maxcosto = 999;

string nombre, nombre_costomen;double costo, suma, costo_prom = 1, costo_may, costo_men;int contador, cantidad; contador = 1;//contador de instituciones// suma = 0;//acumulador de costos// costo_may = 0;//supuesto falso del mayor costo// costo_men = Maxcosto;//supuesto falso del menor costo//

// Console.Write("Instituto Nroº: ");//Console.WriteLine(contador);Console.Write("INGRESE CANTIDAD DE INSTITUTO: "); cantidad = int.Parse(Console.ReadLine());if (cantidad > NumInst) {Console.WriteLine("");Console.WriteLine("-----------------ERROR----------------------");Console.ReadLine(); }else {for (int i = 1; i <= cantidad; i++){Console.Write(">>Instituto Nroº: ");Console.WriteLine(contador);Console.Write(" **Nombre del Instituto: ");Console.ForegroundColor = ConsoleColor.Yellow; nombre = Console.ReadLine();

Page 82: 50 ALGOROTMOS

Console.ForegroundColor = ConsoleColor.White;Console.Write(" **Costo del Curso: "); costo = double.Parse(Console.ReadLine());//acumulador de costos suma = suma + costo;//determinar el costo mayor//if (costo > costo_may) { costo_may = costo; }//determinar el costo menor e identificar su nombre//if (costo < costo_men) { costo_men = costo; nombre_costomen = nombre; }//incrementa contador// contador = contador + 1;do//lo declaro con DO para que pueda leer el promedio {//calculamos costo promedio// costo_prom = suma / NumInst; }while (contador > NumInst);

//Console.WriteLine("NOMBRE DE LA EMPRESA: {0}", nombre);// Console.WriteLine(nombre_costomen); }

Console.WriteLine("");Console.WriteLine("");Console.WriteLine("---RESPUESTAS---");Console.WriteLine("");Console.WriteLine("-------------------------------");Console.WriteLine(">>COSTO PROMEDIO: {0}", costo_prom);Console.WriteLine("-------------------------------");Console.WriteLine(">>COSTO MAYOR: {0}", costo_may);Console.WriteLine("-------------------------------");Console.WriteLine(">>COSTO MENOR: {0}", costo_men);Console.WriteLine("-------------------------------");// Console.WriteLine(nombre_costomen);Console.ReadLine(); } } }}

Page 83: 50 ALGOROTMOS

49.Ingresar un numero en base B, se debe validar la escritura del numero en función de la base. Por ejemplo: si la base e 2, solo podrá ingresar digitos 0 y 1. Considere base de 2 a 16. Sugerencia: capture los digitos como caracteres y terminar el ingreso cuando se presione ENTER.

PSEUDO CODIGO:

Inicio

Ingresar la base menor a 16 y mayor a 2

REPETIR

Ingresamos base

HASTA que (la base se encuentre entre 2 a 16)

Ingresarmos digitos de acuerdo a la base

REPETIR

REPETIR

Ingresamos digito como carácter: digitoIng

SI digitoIng comprende de ‘A’ hasta ‘F’ ENTONCES

digitoNum = digitoIng – 55

SINO

digitoNum = digitoIng – 48

fin del SI

HASTA (0 < digitoNum < base -1) o (digitoIng sea ‘ENTER’)

SI digitoIng ¡= ‘ENTER’ ENTONCES

Escribimos digitoInt

Fin del SI

HASTA digitoInt == ‘ENTER’

Fin

Page 84: 50 ALGOROTMOS

CODIGO C#

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

namespace ConsoleApplication74{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** BASE DESCONOCIDA***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;

int basee, digitoNum;char digitoIng;

Console.Write("Ingrese Base menor a 16 y mayor a 2: ");basee = int.Parse(Console.ReadLine());if (basee == 1 || basee > 16) {Console.WriteLine("");Console.WriteLine("***ERROR***");Console.ReadLine(); }else {Console.Write("Ingrese un Número {0} en Base: {1}",digitoNum, basee);digitoNum = int.Parse(Console.ReadLine());for (int i = 1; i <= digitoIng; i++) {if (digitoIng >= 2 || digitoIng <= 16) { digitoNum = digitoIng - 55; }else digitoNum = digitoIng - 48; }if (((0 < digitoNum) || (digitoNum < basee - 1)) || (digitoIng == 'ENTER')) {if (digitoIng != 'ENTER')

Page 85: 50 ALGOROTMOS

{Console.WriteLine(digitoIng); } } } } }}

50.Determinar el costo de produccion y el volume de equilibrio de N productos, bajo las siguientes condiciones.

1. Cada producto se identifica por su código y su decripcion

2. Cada producto tiene un costo fijo y un costo variable

3. Ademas de cada producto se sabe su producción y su precio de venta

4. El costo de producción se determina por:

CostoProd = CostoFijo + CostoVar * Produccion

5. El volumen de equilibrio se determina por:

Volumen = CostoFijo / CostoVar – PrecioVta

PSEUDO CODIGOS:

Inicio

Ingrese numero de producciones: numprod

Inicializamos contador de productos

contProd = 0

REPETIR

Ingrese datos: código, descrip,costofijo, costovar, producción, preciovta

Calculamos costo de producción

Costoprod = CostoFijo + CostoVar * Produccion

Page 86: 50 ALGOROTMOS

Calcular volumen de equilibrio

Volumen = CostoFijo / CostoVar – PrecioVta

Resultados:

Código, descrip, costo de producción(costoprod), volumen de equilibrio(volumen)

Costoprod = costoprod + 1;

HASTA contprod = numprod

Fin

CODIGO C#

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

namespace ConsoleApplication76{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** CALCULAR EL VOLUMEN Y EL COSTO DE PRODUCCIÓN ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;int NumProd, ContProd;string Codigo, Descrip;double CostoFijo, CostoVar, Produccion, PrecioVta, CostoProd, Volumen;

Console.Write("Ingresar Número de Productos: ");NumProd = byte.Parse(Console.ReadLine());//INICIALIZAR CONTADOR DE PRODUCTO ContProd = 0;

do {//INGRESAR DATOSConsole.Write(" >> Código: "); Codigo = Console.ReadLine();Console.Write(" >> Descipción: "); Descrip = Console.ReadLine();Console.Write(" >> Costo Fijo: ");

Page 87: 50 ALGOROTMOS

CostoFijo = double.Parse(Console.ReadLine());Console.Write(" >> Costo Variable: ");CostoVar = double.Parse(Console.ReadLine());Console.Write(" >> Producción: "); Produccion = double.Parse(Console.ReadLine());Console.Write(" >> Precio Venta: "); PrecioVta = double.Parse(Console.ReadLine());

//CALCULAR COSTO DE PRODUCCIÓN Y VOLUMEN DE EQUILIBRIO CostoProd = CostoFijo + CostoVar * Produccion; Volumen = CostoFijo / (CostoVar - PrecioVta);

//ESCRIBIMOS RESULTADOSConsole.WriteLine("");Console.WriteLine(" --- RESPUESTA ---");Console.WriteLine("");Console.WriteLine("----------------------------------");Console.WriteLine(" ** Código : {0}", Codigo);Console.WriteLine("----------------------------------");Console.WriteLine(" ** Descripción : {0}", Descrip);Console.WriteLine("----------------------------------");Console.WriteLine(" ** Costo Producción : {0}", CostoProd);Console.WriteLine("----------------------------------");Console.WriteLine(" ** Volumen Equilib. : {0}", Volumen);Console.WriteLine("----------------------------------");

ContProd = ContProd + 1;//siguiente producto}while(ContProd == NumProd);Console.ReadLine();} }}

Page 88: 50 ALGOROTMOS

51.Procesar el movimiento bancario de un cuenta, ingresando inicialmente el numero de cuenta, nombre del cliente y saldo anterior. Luego ingresar el tipo de movimiento ( 1 = deposito, 2 = retiro, 0 = fin) y la cantidad que lo represente. Si se ingresa otro tipo de movimiento dar el mensaje de movimiento NO VALIIDO.Terminar cuando se ingrese 0 como tipo de movimiento y mostrar los datos de la cuenta así como el numero de depósitos y retiros, saldo anterior, los totales de los depósitos, retiros y el saldo actual.

PSEUDO CODIGO:

Inicio

Datos iniciales:

Numero de cuenta, nombre del cliente, saldo anterior

Acumuladores

totDep = 0

totRet = 0

contadores

numDep = 0

numRet = 0

Page 89: 50 ALGOROTMOS

procesar movimiento bancario: fin = falso

REPETIR

Ingrese tipo de movimiento

1: inicio

Ingrese cantidad:cant

totDep = totDep + cant

numDep = numDep + 1

fin

2: inicio

Ingresar cantidad:

totRet =totRep = cant

numRet = numRet +1

fin

0: fin = verdadero

SINO

Inicio

Mensaje = tipo invalido

Escribir mensaje

Fin

Fin del CASO

HASTA fin ==verdadero

Determinar saldo actual: Sact = Sact + totDep – totRet

Escribimos resultado:

Numero de cuenta, nombre del cliente, saldo anterior, numero de deposito, numero de retiros, total depositos, total retiros, saldo actual.

Fin

Page 90: 50 ALGOROTMOS

CODIGO C#using System;using System.Collections.Generic;using System.Text;

namespace ConsoleApplication77{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.Yellow;Console.WriteLine("*** PROCESO DE UN MOVIMIENTO BANCARIO ***");Console.WriteLine("");Console.ForegroundColor = ConsoleColor.White;int NumDep, NumRet, TiposMov;bool fin;string Ncta, Nombre;double SAnt, TotDep, TotRet, SAct;int Cant;//NumDep = Número de Deposito//NumRet = Número de Retiro//Ncta = Número de Cuenta

Page 91: 50 ALGOROTMOS

//Mens = Mensaje//SAnt = Saldo Anterior//TotDep = Total de Deposito//TotRet = Total de Retiros//SAct = Saldo Actual//TiposMov = Tipos de movimiento//Cant = cantidad

Console.Write(" >Número de Cuenta: "); Ncta = Console.ReadLine();Console.Write(" >Nombre: "); Nombre = Console.ReadLine();Console.Write(" >Saldo Anterior: ");SAnt = double.Parse(Console.ReadLine());

//INICIALIZAR ACUMULADORES TotDep = 0;//total de depositos TotRet = 0;//total de retiros//INICIALIZAR CONTADORES NumRet = 0; NumDep = 0;//PROCESAR MOVIMIENTO BANCARIO fin = false;do {Console.WriteLine(" >Ingrese Tipo de Movimiento: /n1.DEPOSITO/n2.RETIROS/n0.FIN");Console.Write(" Su Opción: "); TiposMov = int.Parse(Console.ReadLine());switch (TiposMov) {// case (TiposMov)case 1: {Console.Write(" >Ingrese Cantidad: "); Cant = int.Parse(Console.ReadLine());

TotDep = TotDep + Cant; NumDep = NumDep + 1; } break;case 2: {Console.Write(" >Ingrese Cantidad: "); Cant = int.Parse(Console.ReadLine()); TotRet = TotRet + Cant; NumRet = NumRet + 1; } break;case 0: {

Page 92: 50 ALGOROTMOS

fin = true;} break;

default: {Console.WriteLine("");Console.WriteLine(" *TIPO DE MOVIMIENTO INVALIDO*");Console.ReadLine(); }break; } }while(fin == true);

//DETERMINAR SALDO ACTUAL SAct = SAnt + TotDep - TotRet;//escribimos resultadosConsole.WriteLine("");Console.WriteLine(" <<<RESPUESTA>>>");Console.WriteLine("");Console.WriteLine(" ------------------------------------ ");Console.WriteLine(" ** Número de Cuenta: {0}", Ncta);Console.WriteLine(" ------------------------------------ ");Console.WriteLine(" ** Nombre: {0}", Nombre);Console.WriteLine(" ------------------------------------ ");Console.WriteLine(" ** Saldo Anterior: {0}", SAnt);Console.WriteLine(" ------------------------------------ ");Console.WriteLine(" ** Total Depositos: {0}", TotDep);Console.WriteLine(" ------------------------------------ ");Console.WriteLine(" ** Númro de Deposito: {0}", NumDep);Console.WriteLine(" ------------------------------------ ");Console.WriteLine("");Console.WriteLine(" ------------------------------------ ");Console.WriteLine(" ** Total de Retiros: {0}", TotRet);Console.WriteLine(" ------------------------------------ ");Console.WriteLine(" ** Número de Retiros: {0}", NumRet);Console.WriteLine(" ------------------------------------ ");Console.WriteLine("");Console.WriteLine(" ------------------------------------ ");Console.WriteLine(" ** Saldo Actual: {0}", SAct);Console.WriteLine(" ------------------------------------ ");Console.ReadLine(); } }}

Contabilizar los números de 5 cifras que sean múltiplos de 3 y 4 a la vez.

Page 93: 50 ALGOROTMOS

Entrada: ninguna;

Salida: cantidad de múltiplos de 3 y 4 a la vez: contador;

PSEUDO CODIGOS:

Nminimo = 10000;//primer numero de 5 cifras//

Nmaximo = 99999;//ultimo numero de 5 cifras//

Inicio

Inicializar contador:

contador = 0;

Contabilizar múltiplos de 3 y 4 a la vez:

PARA (num = Nminimo HASTA Nmaximo) HACER

SI (residuo de num / 3 == 0) y (residuo de num / 4 == 0) ENTONCES

contador = contador + 1;

fin del SI

fin del PARA

Los números de 5 cifras multiplos de 3 y 4 (contador) son:....

Fin

CODIFICACION:

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

namespace ConsoleApplication4{classProgram {staticvoid Main(string[] args){Console.ForegroundColor = ConsoleColor.White;// definir constantes//double num, contador, Nminimo, Nmaximo; Nminimo = 10000;//primer numero de 5 cifras// Nmaximo = 99999;//ultimo numero de 5 cifras//

Page 94: 50 ALGOROTMOS

Console.WriteLine("");Console.WriteLine("***Buscando número de 5 cifras", " mulltiplos de 3 y 4 a la vez......espere please");// iniciar contador de multiplos

contador = 0;// contabilizar los multiplos de 3 y 4 a la vez//

for (num = Nminimo; num <= Nmaximo; num++)if ((num % 3 == 0) & (num % 4 == 0)) contador = contador + 1;//escribir resultados//Console.WriteLine("");Console.WriteLine("");Console.WriteLine(">>Los números de 5 cifras multiplos de 3 y 4 son: ");Console.Write(contador);Console.ReadLine(); } }}

Page 95: 50 ALGOROTMOS