Ejercicios final

Page 1

MetodologĂ­a de la ProgramaciĂłn

Ejercicios Manuel Alejandro Padilla Barrientos

Fecha de Entrega: 25 de noviembre de 2016

1


Índice Contenido Índice ............................................................................................................................................. 2 Tarea de AND y OR ........................................................................................................................ 3 Primer Parcial ................................................................................................................................ 5 1.

Edad ifs anidados............................................................................................................... 5

2.

Solicitar calificación con if anidado ................................................................................. 10

3.

Solicite dos números y cuál mayor – menor ................................................................... 15

4.

Semáforo if anidado ........................................................................................................ 24

5.

Semáforo con switch ....................................................................................................... 29

6.

Áreas cuadrado, rectángulo y triángulo con if anidado .................................................. 34

7.

Áreas cuadrado, rectángulo y triángulo con switch ........................................................ 43

8.

Calificaciones del kínder .................................................................................................. 52

9.

Estacionamiento entre semana y fines de semana......................................................... 59

Segundo Parcial ........................................................................................................................... 64 10.

Llamada por tiempo .................................................................................................... 64

11.

Reloj de Alemania, India y Australia ............................................................................ 70

12.

Tabla de multiplicar con FOR ascendente y descendente .......................................... 82

13.

2 edades y las promedie con FOR ............................................................................... 86

14.

Le calcule el IVA a 5 productos (medicamento, comestible, otro) FOR ..................... 89

15.

No. de coches, camiones y trailers .............................................................................. 93

16.

Caseta con FOR 1 ......................................................................................................... 99

17.

Caseta con FOR 2 ....................................................................................................... 104

18.

Temperatura de días con FOR ................................................................................... 108

19.

Longitudes con FOR ................................................................................................... 112

20.

Bebés con FOR........................................................................................................... 116

21.

Caseta de peaje con WHILE ....................................................................................... 120

22.

Calificación errores con DO-WHILE ........................................................................... 125

23.

Caja registradora de supermercado con DO-WHILE ................................................. 125

Tercer Parcial............................................................................................................................. 129 24.

Frutas con WHILE ...................................................................................................... 129

25.

Edades de tu familia con FOR y validar datos con DO-WHILE................................... 135

26.

Centro de verificación con WHILE ............................................................................. 138

27.

Centro de verificación con DO-WHILE....................................................................... 147

28.

Centro de verificación con FOR ................................................................................. 154 2


29.

Tu propio algoritmo de WHILE .................................................................................. 160

30.

Tu propio algoritmo de DO-WHILE............................................................................ 165

31.

Cajero Inicio............................................................................................................... 172

32.

Menú del Cajero ........................................................................................................ 178

33.

Retirar otra cantidad ................................................................................................. 196

34.

Inventario .................................................................................................................. 201

35.

Algoritmo PET ............................................................................................................ 215

Tarea de AND y OR

3


4


Primer Parcial 1. Edad ifs anidados Hacer un algoritmo que solicite la una edad, este devolverĂĄ si es mayor de edad (mayor de 18 y menor de 120), o si es menor de edad (de 0 a 17 aĂąos). Si no cumple ninguno de los 2 anteriores marcara error.

5


6


Usuario

Sistema

Declaraciรณn de variables

int edad

edad

"Escriba una edad"

edad>=18 y edad<=120

T

"La persona es mayor de edad"

F

edad>=0 y edad<=17

T

"La persona es menor de edad"

F "Dato Invรกlido"

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

namespace ConsoleApplication5 { class Program { static void Main(string[] args) {//Declaraciรณn de Variables int edad; string leer;

Console.WriteLine("Escriba una edad"); leer = Console.ReadLine(); edad = Convert.ToInt16(leer);

7


if (edad >= 18 & edad <= 120) Console.WriteLine("La persona es mayor de edad"); else if (edad >= 0 & edad <= 17) Console.WriteLine("La persona es menor de edad"); else Console.WriteLine("Dato Invรกlido");

Console.ReadKey(); } } }

PRUEBA DE ESCRITORIO

8


9


2. Solicitar calificación con if anidado Hacer un diagrama de actividades que solicite una calificación, el algoritmo debe determinar si es aprobado (7 es la mínima), reprobado o calificación inválida.

10


11


Usuario

Sistema

Declaración de Variables

int calificacion;

calificacion

"Por favor escriba la calificación"

calificacion>=7 y calificacion<=10

T

"Aprobado"

F

calificacion>=0 y calificacion<=6

T

"Reprobado"

F

"Calificación Inválida"

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

namespace ConsoleApplication4 { class Program { static void Main(string[] args) {//Declaración de Variables int calificacion; string leer;

Console.WriteLine("Por favor escriba la calificación"); leer = Console.ReadLine(); calificacion = Convert.ToInt16(leer);

12


if (calificacion >= 7 & calificacion <= 10) Console.WriteLine("Aprobado"); else if (calificacion >= 0 & calificacion <= 6) Console.WriteLine("Reprobado"); else Console.WriteLine("Calificaciรณn Invรกlida");

Console.ReadLine(); } } }

PRUEBA DE ESCRITORIO

13


14


3. Solicite dos números y cuál mayor – menor Realizar un algoritmo que solicite 2 números. Posteriormente el algoritmo mostrará cuál es el número mayor y cuál es el número menor. Y para cada número mostrar si es positivo o negativo.

15


16


17


18


Usuario

Sistema

int a, b ;

a

"Por favor escriba el primer número"

T

"Positivo"

a>0

F

T

"Neutro"

a=0

F "Negativo"

b

"Por favor escriba el segundo número"

T

b>0

"Positivo"

F T b=0

"Neutro"

F

"Negativo"

a>b T

"El número mayor es a y el menor es b"

F

a<b

T

"El número mayor es b y el menor es a"

F "Los números a y b son iguales"

19


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

namespace ConsoleApplication1 { class Program { static void Main(string[] args) {//Declaración de Variables int a, b; string leera, leerb;

Console.WriteLine("Por favor escriba el primer número"); leera = Console.ReadLine(); a = Convert.ToInt16(leera); if (a > 0) Console.WriteLine("Positivo"); else if (a == 0) Console.WriteLine("Neutro"); else Console.WriteLine("Negativo");

Console.WriteLine("Por favor escriba el segundo número");

leerb = Console.ReadLine(); b = Convert.ToInt16(leerb);

if (b > 0) Console.WriteLine("Positivo"); else if (b == 0) Console.WriteLine("Neutro");

20


else Console.WriteLine("Negativo");

if (a > b) Console.WriteLine("El número mayor es {0} y el menor es {1}", a , b); else if (a < b) Console.WriteLine("El número mayor es {0} y el menor es {1}", b,a); else Console.WriteLine("Los números {0} y {1} son iguales", a, b);

Console.ReadLine();

} } }

PRUEBA DE ESCRITORIO

21


22


23


4. Semรกforo if anidado Realizar el algoritmo que solicite el color de un semรกforo y de acuerdo al color mostrarรก lo siguiente: Rojo = Alto, Amarillo = Siga y Verde = Siga.

24


25


Usuario

Sistema

Declaración de Variables

int color;

color

"Por favor introduzca el número según el color. Rojo=1, Amarillo=2 y Verde=3"

T color==1

"Alto"

F

color==2 o color==3

T

"Siga"

F "Dato Inválido"

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

namespace ConsoleApplication11 { class Program { static void Main(string[] args) { //Declaración de variables int color; string leer;

Console.WriteLine("Por favor introduzca el número según el color. Rojo=1, Amarillo=2, Verde=3, Salir=4"); leer = Console.ReadLine(); color = Convert.ToInt16(leer);

switch (color)

26


{ case 1: Console.WriteLine("Alto"); break; case 2: Console.WriteLine("Preventiva"); break; case 3: Console.WriteLine("Siga"); break; case 4: Console.WriteLine("Adios"); break; default: Console.WriteLine("Dato Invรกlido"); break; } //switch Console.ReadLine(); } } }

PRUEBA DE ESCRITORIO

27


28


5. Semรกforo con switch Realizar el algoritmo que solicite el color de un semรกforo y de acuerdo al color mostrarรก lo siguiente: Rojo = Alto, Amarillo = Siga y Verde = Siga.

29


Usuario

Sistema

Declaración de Variables

int color;

color

"Por favor indroduzca el número según el color. Rojo=1, Amarillo=2, Verde=3 y Salir=4

color

color==1 "Alto"

color==2 o color==3

color==4

default "Dato Inválido"

"Hasta Luego" "Siga"

30


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

namespace ConsoleApplication7 { class Program { static void Main(string[] args) { //Declaración de variables int color; string leer;

Console.WriteLine("Por favor introduzca el número según el color. Rojo=1, Amarillo=2, Verde=3, Salir=4"); leer = Console.ReadLine(); color = Convert.ToInt16(leer);

switch (color) { case 1: Console.WriteLine("Alto"); break; case 2: Console.WriteLine("Preventiva"); break; case 3: Console.WriteLine("Siga"); break; case 4: Console.WriteLine("Adios"); break; default: Console.WriteLine("Dato Inválido"); break; } //switch Console.ReadLine();

31


} } }

PRUEBA DE ESCRITORIO

32


33


6. Áreas cuadrado, rectángulo y triángulo con if anidado Hacer un algoritmo que muestre el siguiente menú: 1. 2. 3. 4.

Cuadrado Rectángulo Triángulo Salir

34


35


Usuario

Sistema

Declaración de Variables

int figura, ladoA, ladoB, result

figura

"Por favor escriba el número de la figura de la que desea calcular el área. Cuadrado=1, Rectángulo=2, Triángulo=3, Salir=4."

F

figura==1

F

figura==2

T

figura==3

F

figura==4

F

"Dato Inválido" T

T

"Hasta Luego" ladoA

"Escriba la medida del lado sin unidad de medida"

F

ladoA>0

T "Escriba la medida del lado sin unidad de medición"

"Dato Inválido" "Escriba la medida de la base sin unidad de medida"

T result= (ladoA*ladoA) "result"

ladoA

F

ladoA>0

"Dato Inválido"

T ladoB

"Escriba la medida de la altura"

ladoB>0

F

T result= (ladoA*ladoB)

"result"

ladoA

ladoA>0

ladoB

"Dato Inválido"

"Escriba la medida de la altura"

ladoB>0

result= (ladoA*ladoB)/2

"Dato Inválido"

"result"

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

namespace ConsoleApplication15

36


{ class Program { static void Main(string[] args) {//Declaración de Variables int figura, ladoA, ladoB, result; string leeFigura, leeLadoA, leeLadoB;

Console.WriteLine("Por favor escriba el número de la figura de la que desea calcular el área. Cuadrado=1, Rectángulo=2, Triángulo=3, Salir=4");

leeFigura = Console.ReadLine(); figura = Convert.ToInt16(leeFigura);

if (figura == 1) { Console.WriteLine("Por favor escriba la medida del lado, sin unidad de medida"); leeLadoA = Console.ReadLine(); ladoA = Convert.ToInt16(leeLadoA); if (ladoA > 0) { result = (ladoA * ladoA); Console.WriteLine("El área del cuadrado es {0}", result); } else Console.WriteLine("Dato Inválido"); } else { if (figura == 2) { Console.WriteLine("Por favor escriba la medida de la base, sin unidad de medida"); leeLadoA = Console.ReadLine(); ladoA = Convert.ToInt16(leeLadoA); if (ladoA > 0)

37


{ Console.WriteLine("Por favor escriba la medida de la altura"); leeLadoB = Console.ReadLine(); ladoB = Convert.ToInt16(leeLadoB); if (ladoB > 0) { result = (ladoA * ladoB); Console.WriteLine("El área del rectángulo es {0}", result); } else Console.WriteLine("Dato Inválido");

} else//del ladoA cuadrado Console.WriteLine("Dato Inválido");

}//del if rectángulo else { //Del if rectángulo if (figura == 3) { Console.WriteLine("Por favor escriba la medida de la base, sin unidad de medida"); leeLadoA = Console.ReadLine(); ladoA = Convert.ToInt16(leeLadoA); if (ladoA > 0) { Console.WriteLine("Por favor escriba la medida de la altura"); leeLadoB = Console.ReadLine(); ladoB = Convert.ToInt16(leeLadoB); if (ladoB > 0) { result = ((ladoA * ladoB) / 2); Console.WriteLine("El área del triángulo es {0}", result);

38


} else Console.WriteLine("Dato Inválido"); } else// de lado a>0 triángulo Console.WriteLine("Dato Inválido"); }//Del if triángulo

else {//del if triángulo if (figura == 4) Console.WriteLine("Hasta Luego"); else Console.WriteLine("Dato Inválido"); }//del else triángulo

}//del if rectángulo }//primer else

Console.ReadLine(); } } }

PRUEBA DE ESCRITORIO

39


40


41


42


7. Áreas cuadrado, rectángulo y triángulo con switch Hacer un algoritmo que muestre el siguiente menú: 1. 2. 3. 4.

Cuadrado Rectángulo Triángulo Salir

43


44


Usuario

Sistema

Declaración de Variables

int figura, ladoA, ladoB, result

figura

"Por favor escriba el número de la figura de la que desea calcular el área. Cuadrado=1, Rectángulo=2, Triángulo=3, Salir=4"

figura

figura==2

figura==1 ladoA

"Por favor escriba la medida del lado" F

ladoA>0

"Por favor escriba la medida de la base"

default

figura==4 figura==3

"Hasta Luego"

"Dato Inválido"

"Por favor escriba la medida de la base"

"Dato Inválido"

T result=ladoA*ladoA

"result"

ladoA

F

"Dato Inválido"

ladoA>0 T ladoB

"Por favor escriba la medida de la altura" F

ladoB>0

"Dato Inválido"

T result=ladoA*ladoB

"result"

ladoA F

"Dato Inválido"

ladoA>0 T ladoB

"Por favor escriba la medida de la altura"

ladoB>0

F

"Dato Inválido"

T result= (ladoA*ladoB)/2

"result"

using System;

45


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

namespace ConsoleApplication3 { class Program { static void Main(string[] args) {//Declaración de Variables int figura, ladoA, ladoB, result; string leeFigura, leeLadoA, leeLadoB;

Console.WriteLine("Por favor escriba el número de la figura de la que desea calcular el área. Cuadrado=1, Rectángulo=2, Triángulo=3, Salir=4");

leeFigura = Console.ReadLine(); figura = Convert.ToInt16(leeFigura);

switch (figura) { case 1: Console.WriteLine("Por favor escriba la medida del lado, sin unidad de medida"); leeLadoA = Console.ReadLine(); ladoA = Convert.ToInt16(leeLadoA); if (ladoA > 0) { result = (ladoA * ladoA); Console.WriteLine("El área del cuadrado es {0}", result); } else Console.WriteLine("Dato Inválido"); break;

46


case 2: Console.WriteLine("Por favor escriba la medida de la base, sin unidad de medida"); leeLadoA = Console.ReadLine(); ladoA = Convert.ToInt16(leeLadoA); if (ladoA > 0) { Console.WriteLine("Por favor escriba la medida de la altura"); leeLadoB = Console.ReadLine(); ladoB = Convert.ToInt16(leeLadoB); if (ladoB > 0) { result = (ladoA * ladoB); Console.WriteLine("El รกrea del rectรกngulo es {0}", result); } else Console.WriteLine("Dato Invรกlido");

} else Console.WriteLine("Dato Invรกlido"); break;

case 3: Console.WriteLine("Por favor escriba la medida de la base, sin unidad de medida"); leeLadoA = Console.ReadLine(); ladoA = Convert.ToInt16(leeLadoA); if (ladoA > 0) { Console.WriteLine("Por favor escriba la medida de la altura"); leeLadoB = Console.ReadLine(); ladoB = Convert.ToInt16(leeLadoB); if (ladoB > 0) {

47


result = ((ladoA * ladoB) / 2); Console.WriteLine("El รกrea del triรกngulo es {0}", result); } else Console.WriteLine("Dato Invรกlido"); } else Console.WriteLine("Dato Invรกlido"); break;

case 4: Console.WriteLine("Hasta Luego"); break;

default:

Console.WriteLine("Dato Invรกlido");

break; }

Console.ReadLine();

} } }

PRUEBA DE ESCRITORIO

48


49


50


51


8. Calificaciones del kínder Hacer un algoritmo que solicite 3 calificaciones de un alumno de Kinder. 1. Español 2. Artística 3. Deportes Validar que se ingrese una calificación válida. Convertir la calificación a el número de acuerdo a: A=10, B=8.5, C=6.5 y D=5. Mostrar las 3 calificaciones en número y finalmente mostrar el promedio.

52


53


54


Usuario

Sistema

double esp, art, dep, promedio; string espanol, arte, deporte,lee; "Recuerde que 10=A, 8.5=B, 6.5=C, 5=D" espanol

"Indroduzca la calificación de Español"

espanol

espanol=="A" esp=10

espanol=="B" espanol=="C"

esp=8.5

esp=6.5

arte

default

espanol=="D" esp=5

"Dato Inválido"

"Introduzca la calificación de Artísticas"

arte

arte=="A" art=10

default arte=="C"

arte=="B" art=8.5

deporte

arte=="D"

art=6.5

"Dato Inválido"

art=5

"Indroduzca la calificación de Deportes"

deporte

dep=10

deporte=="A" deporte=="B" dep=8.5

deporte=="C"

dep=6.5

default deporte=="D"

"Dato Inválido"

dep=5

"Calificaciones"

"Español-{0}",esp "Artísticas-{0}",art "Deportes-{0}",dep promedio= (esp+art+dep)

"Promedio-{0}",promedio

using System;

55


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

namespace ConsoleApplication9 { class Program { static void Main(string[] args) { double esp, art, dep, promedio; string espanol, arte, deporte;

Console.WriteLine("Recuerde que 10=A, 8.5=B, 6.5=C, 5=D. En Mayúsculas."); Console.WriteLine("Indroduzca la calificación de Español");

espanol = Console.ReadLine(); switch (espanol) { case "A": esp = 10; break; case "B": esp = 8.5; break; case "C": esp = 6.5; break; case "D": esp = 5; break; default: Console.WriteLine("Dato Inválido. Reinicie el programa"); esp = 0; break; } Console.WriteLine("Introduzca la calificación de Artísticas"); arte = Console.ReadLine(); switch (arte) {

56


case "A": art = 10; break; case "B": art = 8.5; break; case "C": art = 6.5; break; case "D": art = 5; break; default: Console.WriteLine("Dato Inválido. Reinicie el programa"); art = 0; break; } Console.WriteLine("Introduzca la calificación de Deportes"); deporte = Console.ReadLine(); switch (deporte) { case "A": dep = 10; break; case "B": dep = 8.5; break; case "C": dep = 6.5; break; case "D": dep = 5; break; default: Console.WriteLine("Dato Inválido. Reinicie el programa"); dep = 0; break; }

Console.WriteLine("Calificaciones"); Console.WriteLine("Español-- {0}", esp); Console.WriteLine("Artísticas-- {0}", art); Console.WriteLine("Deportes-- {0}", dep);

promedio = ((esp + art + dep) / 3); Console.WriteLine("Promedio-- {0}", promedio);

57


Console.ReadLine(); } } }

PRUEBA DE ESCRITORIO

58


9. Estacionamiento entre semana y fines de semana Hacer un algoritmo que calcule el cobro de un estacionamiento. De lunes a viernes las primeras 2 horas cuentan $20 y a partir de la tercera cada hora cuesta 10 pesos mรกs. Los sรกbados y los domingos cada hora cuesta $5.

59


Usuario

Sistema

Declaración de Variables

int dia, tiempo, cobro, mas; string leeDia, leeTiempo;

"Escriba el número según el día" dia

"1.Lunes 2. Martes 3.Miércoles 4.Jueves 5.Viernes 6.Sábado 7.Domingo 8.Salir"

dia>0 y dia<9

F

"Dato Inválido"

T tiempo

"Escriba el número de horas a cobrar"

tiempo<=0

T

"Dato Inválido"

F

dia==6 o dia==7

T cobro= (tiempo*5)

F

dia>0 y dia<6

F

"Hasta Luego"

T tiempo==1 o tiempo==2

T

"Cobre 20 pesos"

F "Cobre {0} pesos",cobro

mas= ((tiempo-2)*10) cobro= (20+mas)

"Cobre {0} pesos",cobro

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

namespace ConsoleApplication13

60


{ class Program { static void Main(string[] args) {//Declaración de variables int dia, tiempo, cobro, mas; string leeDia, leeTiempo;

Console.WriteLine("Escriba el número segun el día"); 6. Sábado

Console.WriteLine("1.Lunes 7.Domingo 8.Salir");

2.Martes

3.Miércoles

4.Jueves

5.Viernes

leeDia = Console.ReadLine(); dia = Convert.ToInt16(leeDia);

if (dia > 0 & dia < 8) { Console.WriteLine("Escriba el número de horas a cobrar"); leeTiempo = Console.ReadLine(); tiempo = Convert.ToInt16(leeTiempo); if (tiempo <= 0) Console.WriteLine("Dato Inválido"); else { if (dia == 6 || dia == 7) { cobro = (tiempo * 5); Console.WriteLine("Cobre {0} pesos", cobro); } else { if (dia > 0 & dia < 6) { if (tiempo == 1 || tiempo == 2) Console.WriteLine("Cobre 20 pesos"); else {

61


mas = ((tiempo - 2) * 10); cobro = (20 + mas); Console.WriteLine("Cobre {0} pesos", cobro); } } else Console.WriteLine("Hasta Luego"); } } } else if (dia == 8) Console.WriteLine("Hasta Luego"); else Console.WriteLine("Dato Invรกlido");

Console.ReadLine(); } } }

PRUEBA DE ESCRITORIO

62


63


Segundo Parcial 10. Llamada por tiempo Hacer un algoritmo que calcule cuanto se debe cobrar segĂşn la duraciĂłn de una llamada.

64


65


Usuario

Sistema

Declaraciรณn de Variables

int min, seg, cobro; string lee;

min

"Escriba los minutos a cobrar sin segundos"

F

min>0 y min<60

"Dato Invรกlido"

T seg

"Escriba los segundos a cobrar"

seg>=0 y seg<=59

F

"Dato Invรกlido"

T min>=0 y T min<=4

cobro= (min*0.5)

"Cobre {0} pesos",cobro

F

seg==0

T

cobro=2.5+(min -5)

"Cobre {0} pesos",cobro

F cobro=2.5+(min -5)+1

"Cobre {0} pesos",cobro

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

namespace ConsoleApplication14 { class Program { static void Main(string[] args) {//Declaraciรณn de Variables int min, seg ; string leeMin, leeSeg; double cobro;

Console.WriteLine("Escriba los minutos a cobrar, sin segundos");

66


leeMin=Console.ReadLine(); min = Convert.ToInt16(leeMin);

if (min >= 0 & min <= 60) { Console.WriteLine("Escriba los segundos a cobrar"); leeSeg = Console.ReadLine(); seg = Convert.ToInt16(leeSeg);

if (seg >= 0 & seg <= 59) { if (min >= 0 & min <= 4) { cobro = (min*0.5); Console.WriteLine("Cobre {0} pesos",cobro); } else { if (seg == 0) { cobro = (2.5 + (min - 5)); Console.WriteLine("Cobre {0} pesos", cobro); } else { cobro = (2.5 + (min - 5) + 1); Console.WriteLine("Cobre {0} pesos",cobro); } }

} else { Console.WriteLine("Dato Invรกlido"); } } else { Console.WriteLine("Dato Invรกlido"); }

Console.ReadKey(); }

67


} }

PRUEBA DE ESCRITORIO

68


69


11. Reloj de Alemania, India y Australia Hacer un algoritmo que realice lo siguiente: La hora de Alemania es la hora de MĂŠxico +8 horas, la de la India +13 horas y la de Australia +18 horas.

70


71


72


Usuario

Sistema

int hr, min, pais, newHr; string lee;

"Bienvenido al Convertidor de Hora Mundial" hr

"Primero introduzca la hora, sin minutos, en México, en el formato de 24 horas (de 00 a 23)"

T

"Hora Inválida. Reinicie el programa"

hr<0 o hr>23 F min

"Ahora escriba los minutos"

min<0 o min>59

T

"Minutos Inválidos. Reinicie el programa" F

pais

"Escriba 1 para ver la hora de Alemania, 2 para la de la India, 3 para la de Australia y 4 si desea Salir"

pais

"Dato Inválido" hr>=16

"Hasta Luego" hr>=11

newHr=(hr+8)

newHr=(hr+8)24

"En Alemania son las {0}:{1}",newHr,min

hr>=6

newHr=(hr+13)

newHr=(hr +13)-24

"En la India son las {0}:{1}"newHr, min

newHr=(hr+18)

newHr=(hr +18)-24

"En Australia son las {0}:{1}"newHr, min

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

73


namespace ConsoleApplication15 { class Program { static void Main(string[] args) {//Declaración de Variables int hr, min, pais, newHr; string leeHr, leeMin, leePais;

Console.WriteLine("Bienvenido al Convertidor Mundial"); Console.WriteLine("Primero indroduzca la hora, sin minutos, en México, en el formato de 24 horas (de 0 horas a 23 horas)");

leeHr= Console.ReadLine(); hr = Convert.ToInt16(leeHr); if (hr < 0 || hr > 23) Console.WriteLine("Hora Inválida. Reinicie el programa"); else { Console.WriteLine("Ahora escriba los minutos"); leeMin = Console.ReadLine(); min = Convert.ToInt16(leeMin); if (min < 0 || min > 59) Console.WriteLine("Minutos Inválidos. Reinicie el programa"); else { Console.WriteLine("Escriba 1 para ver la hora de Alemania, 2 para ver la de la India, 3 para la de Australia y 4 si desea Salir"); leePais = Console.ReadLine(); pais = Convert.ToInt16(leePais);

switch (pais) {case 1: if (hr >= 16) { newHr = ((hr + 8) - 24); Console.WriteLine("En Alemania son las {0}:{1}", newHr, min); } else

74


{ newHr = (hr + 8); Console.WriteLine("En Alemania son las {0}:{1}", newHr, min); } break; case 2: if (hr >= 11) { newHr = ((hr + 13) - 24); Console.WriteLine("En la India son las {0}:{1}", newHr, min); } else { newHr = (hr + 13); Console.WriteLine("En la India son las {0}:{1}", newHr, min); } break; case 3: if (hr >= 6) { newHr = ((hr + 18) - 24); Console.WriteLine("En Australia son las {0}:{1}", newHr, min); } else { newHr = (hr + 18); Console.WriteLine("En Australia son las {0}:{1}", newHr, min); } break; case 4: Console.WriteLine("Hasta Luego"); break; default: Console.WriteLine("Dato Invรกlido"); break;

75


} } } Console.ReadKey(); } } }

PRUEBA DE ESCRITORIO

76


77


78


79


80


81


12. Tabla de multiplicar con FOR ascendente y descendente Hacer un algoritmo que imprima la tabla de multiplicar del 2 empezando por el 0 y terminando en el 20

82


83


Usuario

Sistema

int i=0;

F

i<=20 T

"2x{0}={1}",i, (2*i)

i++

Usuario

Sistema

int i=20;

F

i<=0 T

"2x{0}={1}",i, (2*i)

i- -

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

84


namespace ConsoleApplication16 { class Program { static void Main(string[] args) { int i;

for (i = 0; i <= 4; i++) Console.WriteLine("Alex {0}",i); Console.WriteLine("Entra 2do");

for (i = 4; i >= 0; i--) Console.WriteLine("Alex {0}", i); Console.WriteLine("Entra 3ro");

for (i = 0; i <= 20; i++) Console.WriteLine("2x{0}={1}",i,(i*2)); Console.WriteLine("Entra 4to");

for (i = 20; i >= 0; i--) Console.WriteLine("2x{0}={1}", i, (i * 2));

Console.ReadKey();

} } }

PRUEBA DE ESCRITORIO

85


13. 2 edades y las promedie con FOR Hacer un algoritmo que solicite 5 edades vรกlidas (0-120), en caso de ser invรกlidas no se toman en cuentan para calcular el promedio.

86


Usuario

Sistema

int edad, promedio, i=0, vez=0, suma=0; string lee;

i<=4

edad

promedio=suma/ vez

"El promedio es {0}", promedio

"{0} vez -- Escribe una edad vรกlida", i

edad<=0 y edad>=120

i++

suma=0+edad +suma

vez=vez+1

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

87


using System.Text; using System.Threading.Tasks;

namespace ConsoleApplication17 { class Program { static void Main(string[] args) { int edad, promedio, i, vez, suma; string lee;

for (i = 1, suma = 0, vez = 0; i <= 5; i++) { Console.WriteLine("{0} vez - Escriba una edad vรกlida", i); lee = Console.ReadLine(); edad = Convert.ToInt16(lee); if (edad >= 0 & edad <= 120) { suma = suma + edad; vez = vez + 1; } } promedio = suma / vez; Console.WriteLine("El promedio es {0}", promedio); Console.ReadKey(); } } }

88


14. Le calcule el IVA a 5 productos (medicamento, comestible, otro) FOR Hacer un algoritmo que solicita los precios de 5 productos, al principio del algoritmo muestra los tipos de productos que puede comprar. 1. Medicamentos 5% de IVA 2. Comestibles sin IVA 3. Otros 16% de IVA 89


Es importante que el precio que se ingrese es sin IVA, usando un FOR se sumarĂĄ el precio total a pagar y dependiendo del tipo de producto aumentara el IVA correspondiente y tambiĂŠn dentro del FOR se solicita el tipo del producto que es.

90


Usuario

Sistema

double precio, preciva, suma=0; int producto, i=1; string lee;

"Bienvenido, recuerde que 1 para medicamento, 2 para comestibles y 3 para otro producto"

F

i<=4

"Compra total = {0}", suma

T product

"Producto {0} - Ingrese el tipo de producto", i

precio

"Ingrese el precio, sin IVA"

product

product==1 preciva=precio +(precio*0.05) suma= preciva +suma

product==2 suma=precio +suma

product==3

default

preciva= precio +(precio*0.16)

"Invรกlido"

suma=preciva +suma

i++

using System; using System.Collections.Generic;

91


using System.Linq; using System.Text; using System.Threading.Tasks;

namespace ConsoleApplication21 { class Program { static void Main(string[] args) { double precio, preciva, suma; int producto, i; string lee;

Console.WriteLine("Bienvenido, recuerde que 1 para medicamentos, 2 para comestibles y 3 para otro producto"); for(i=1,suma=0;i<=5;i++) { Console.WriteLine("Producto {0} - Ingrese el tipo de producto", i); lee = Console.ReadLine(); producto = Convert.ToInt16(lee); Console.WriteLine("Ingrese el precio, sin IVA"); lee = Console.ReadLine(); precio = Convert.ToInt16(lee); switch (producto) { case 1: preciva = precio + (precio * 0.05); suma = suma + preciva; break; case 2: suma = suma + precio; break; case 3: preciva = precio + (precio * 0.16); suma = suma + preciva; break;

92


default: Console.WriteLine("Inválido"); break; } }

Console.WriteLine("Compra Total = ${0}", suma); Console.ReadKey(); } } }

15. No. de coches, camiones y trailers Hacer un algoritmo que solicite el número de automóviles, el número de autobuses y el número de trailers que crucen por una caseta de peaje, el precio del cobro es el siguiente: automóviles $50, autobuses $125 y trailers $300, el algoritmo solo puede recibir cantidades enteras mayores a 0, en caso de detectar un error, cobrará la cuota máxima de $300. La salida del algoritmo es 93


mostrar lo siguiente: NĂşmero de coches y total de cobro, total de autobuses y total de cobro y total de trailers y el total de cobro, el nĂşmero total de errores y total de cobro y total general.

94


95


Usuario

Sistema

int noA, noC, noT, cobA, cobC, cobT, noE=0, cobE=0; string lee;

noA

"¿Cuántos automóviles pasaron por la caseta?"

F

noA>0

noE++

cobE=cobE +300

noA=0

cobA=0

T cobA=noA*50

noC

"¿Cuántos autobuses pasaron por la caseta?"

F noC>0

noE++

cobE=cobE +300

noC=0

cobC=0

T cobC=noC*125

noT

"¿Cuántos trailers pasaron por la caseta?" F noT>0

noE++

cobE=cobE +300

noT=0

cobT=0

T cobT=noT*300

"Total de Automóviles = {0}", noA

"Total de cobro de Automóviles = {0}", cobA

"Total de Autobuses = {0}", noC

"Total de Errores = {0}", noE

"Total de cobro por Trailers = {0}",cobT

"Total de cobro por Errores = {0}", cobE

"Cobro Total = {0}", (cobA +cobC+cobT+cobE)

"Total de cobro de Autobuses = {0}", cobC

"Total de Trailers = {0}", noT

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

96


namespace ConsoleApplication6 { class Program { static void Main(string[] args) { int noA, noC, noT, cobA, cobC, cobT, noE = 0, cobE = 0; string lee;

Console.WriteLine("¿Cuántos automóviles pasaron por la caseta?"); lee = Console.ReadLine(); noA = Convert.ToInt16(lee); if (noA > 0) { cobA = (noA * 50); } else { noE = (noE + 1); cobE = (cobE + 300); noA = 0; cobA = 0; }

Console.WriteLine("¿Cuántos autobuses pasaron por la caseta?"); lee = Console.ReadLine(); noC= Convert.ToInt16(lee); if (noC > 0) { cobC= (noC * 125); } else { noE = (noE + 1); cobE = (cobE + 300); noC = 0; cobC = 0; }

Console.WriteLine("¿Cuántos trailers pasaron por la caseta?");

97


lee = Console.ReadLine(); noT= Convert.ToInt16(lee); if (noT > 0) { cobT = (noT * 300); } else { noE = (noE + 1); cobE = (cobE + 300); noT = 0; cobT = 0; }

Console.WriteLine("Total de automรณviles = {0}", noA); Console.WriteLine("Total de cobro por automรณviles = ${0}", cobA); Console.WriteLine("Total de autobuses = {0}", noC); Console.WriteLine("Total de cobro por autobuses = ${0}", cobC); Console.WriteLine("Total de trailers = {0}", noT); Console.WriteLine("Total de cobro por trailers =${0}", cobT); Console.WriteLine("Total de errores = {0}", noE); Console.WriteLine("Total de cobro por errores = ${0}", cobE); Console.WriteLine("Cobro total = ${0}", (cobA + cobC + cobT + cobE));

Console.ReadKey(); } } }

98


16. Caseta con FOR 1 Hacer un algoritmo que pida cuĂĄntas veces pasaron vehĂ­culos que crucen por una caseta de peaje, el precio por auto es de $50, autobuses $125, trailers $300, en caso de detectar un error cobrarĂĄ $300. La salida del algoritmo debe mostrar total de autos y su cobro, total de autobuses y su cobro, total de trailers y su cobro, total de errores y su cobro, y el cobro total.

99


100


Usuario

Sistema

int i=1, vehiculo, cobA=0, vuelta, cobC=0, cobT=0, cobE=0, noA=0, noC=0, noT=0, noE=0; string lee;

vuelta

"¿Cuántos vehículos (autos, autobuses, trailers) pasaron?"

F

"Total de Autos = {0}",noA

i<=vuelta

"Cobro de Autos = {0}",cobA

"Total de Autobuses = {0}",noC

"Cobro de Autobuses = {0}",cobC

T vehiculo

"¿Qué vehículo fue? 1.Automóvil 2.Autobus 3.Trailer"

"Total de Trailers = {0}",noT

"Cobro de Trailers = {0}",cobT

vehiculo

"Total de Errores = {0}",noE vehiculo==1 cobA=cobA+50

noA++

vehiculo==2 cobC=cobC +125

vehiculo==3 default cobT=cobT +300

cobE=cobE +300

noC++

noT++

noE++

"Cobro Total de Errores = {0}",cobE

"Cobro Total = {0}", cobA +cobC+cobT+cobE

i++

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

namespace ConsoleApplication19 { class Program { static void Main(string[] args) { int i, vehiculo, cobA, vuelta, cobC, cobT, cobE, noA, noC, noT, noE; string lee;

101


Console.WriteLine("¿Cuántos vehículos (autos, autobuses, trailers) pasaron?"); lee = Console.ReadLine(); vuelta = Convert.ToInt16(lee); for (i = 1, cobA = 0, cobC = 0, cobE = 0, cobT = 0, noA = 0, noC = 0, noE = 0, noT = 0; i <= vuelta; i++) { Console.WriteLine("¿Qué vehículo fue? 1.Automóvil

2.Autobus

3.Trailer"); lee = Console.ReadLine(); vehiculo = Convert.ToInt16(lee); switch (vehiculo) { case 1: cobA = (cobA + 50); noA = (noA + 1); break; case 2: cobC = (cobC + 125); noC = (noC + 1); break; case 3: cobT = (cobT + 300); noT = (noT + 1); break; default: cobE = (cobE + 300); noE = (noE + 1); break; } }

Console.WriteLine("Total de Automóviles = {0}",noA); Console.WriteLine("Cobro de Automóviles = ${0}",cobA); Console.WriteLine("Total de Autobuses = {0}", noC); Console.WriteLine("Cobro de Autobues = ${0}", cobC); Console.WriteLine("Total de Trailers = {0}", noT); Console.WriteLine("Cobro de Trailers = ${0}", cobT); Console.WriteLine("Total de Errores = {0}", noE); Console.WriteLine("Cobro de Errores = ${0}", cobE);

102


Console.WriteLine("Total de VehĂ­culos en General sin Errores = {0}", (noA+noC+noT)); Console.WriteLine("Cobro Total = ${0}", (cobA+cobC+cobE+cobT));

Console.ReadKey(); } } }

103


17. Caseta con FOR 2 Hacer un algoritmo que solicite al usuario el número de transportes que cruzaron la caseta de peaje, solicitar el tipo de transporte que puede ser: Auto $50, Autobús $125, Tráiler $300. Es importante que el usuario no se equivocará. Determinar el número de transportes de cada uno, el monto de cada uno y totales generales.

104


105


Usuario

Sistema

int i=1, vehiculo, cobA=0, vuelta, cobC=0, cobT=0, noA=0, noC=0, noT=0; string lee;

vuelta

"¿Cuántos vehículos (autos, autobuses, trailers) pasaron?"

F

"Total de Autos = {0}",noA

i<=vuelta

"Cobro de Autos = {0}",cobA

"Total de Autobuses = {0}",noC

"Cobro de Autobuses = {0}",cobC

T vehiculo

"¿Qué vehículo fue? 1.Automóvil 2.Autobus 3.Trailer"

"Total de Trailers = {0}",noT

"Cobro de Trailers = {0}",cobT

vehiculo

vehiculo==1

vehiculo==2

cobA=cobA+50

cobC=cobC +125

noA++

noC++

vehiculo==3 cobT=cobT +300

"Cobro Total = {0}", cobA +cobC+cobT+cobE

noT++

i++

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

namespace ConsoleApplication22 { class Program { static void Main(string[] args) { int i, vehiculo, cobA, vueltas, cobC, cobT, noA, noC, noT; string lee;

Console.WriteLine("¿Cuántos vehículos pasaron por la caseta?"); lee = Console.ReadLine();

106


vueltas = Convert.ToInt16(lee); for (i = 1, cobA = 0, cobC = 0, cobT = 0, noA = 0, noC = 0, noT = 0; i <= vueltas; i++) { Console.WriteLine("¿Qué vehículo fue? 1.Automóvil

2.Autobus

3.Trailer"); lee = Console.ReadLine(); vehiculo = Convert.ToInt16(lee); switch (vehiculo) { case 1: cobA = (cobA + 50); noA = (noA+1); break; case 2: cobC = (cobC + 125); noC = (noC+1); break; case 3: cobT = (cobT + 300); noT = (noT+1); break; } }

Console.WriteLine("Total de Automóviles = {0}", noA); Console.WriteLine("Cobro de Automóviles = ${0}", cobA); Console.WriteLine("Total de Autobuses = {0}", noC); Console.WriteLine("Cobro de Autobues = ${0}", cobC); Console.WriteLine("Total de Trailers = {0}", noT); Console.WriteLine("Cobro de Trailers = ${0}", cobT);

Console.WriteLine("Total de Vehículos

= {0}", vueltas);

Console.WriteLine("Cobro Total = ${0}", (cobA + cobC + cobT));

Console.ReadKey(); } } }

107


18. Temperatura de días con FOR Hacer un algoritmo que solicite el número de días en los que solicitará la temperatura de dicho día, el algoritmo determinara cual es el día de mayor y menor temperatura.

108


109


Usuario

Sistema

int dias, tempM, tempm, i=1, temp; string lee; dias

"Escriba el número de días"

F

"Temperatura Mayor = {0}", tempM

i<=dias

"Temperatura Menor = {0}", tempm

T temp

"Escriba la temperatura del día {0}", i

T

i==1

tempM=temp

tempm=temp

i++

F T

tempM=temp

temp>tempM F

temp<tempm

T

tempm=temp

F

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

namespace ConsoleApplication23 { class Program { static void Main(string[] args) { int dias, temp, tempM, tempm, i; string lee;

Console.WriteLine("Escriba el número de días");

110


lee = Console.ReadLine(); dias = Convert.ToInt16(lee);

for (i = 1, tempM=0, tempm=0; i <= dias; i++) { Console.WriteLine("Escriba la temperatura del dĂ­a {0}",i); lee=Console.ReadLine(); temp=Convert.ToInt16(lee);

if (i == 1) { tempM = temp; tempm = temp; }

else { if (temp > tempM) tempM = temp; else { if (temp < tempm) tempm = temp; } } }

Console.WriteLine("Temperatura Mayor = {0}", tempM); Console.WriteLine("Temperatura Menor = {0}",tempm); Console.ReadKey(); } } }

111


19. Longitudes con FOR Hacer un algoritmo que solicite el número de longitudes a calcular. Solo me ingresara el número entero y se sobre entiende que es en metros. Validar que sean más de 1 longitud, en caso contrario marcará error y termina. Al dar la longitud, mostrará inmediatamente su correspondencia en yardas y pies. Al 112


finalizar el for, mostrarĂĄ el promedio de las longitudes, tanto en metros, yardas y pies.

113


Usuario

Sistema

int num, m, yd, ft, sumM=0, sumY=0, sumF=0, i=1; string lee; num

"Escriba el número de longitudes a calcular"

num<=1

T

"Dato Inválido"

F F i<=num

"Promedio Metros = {0}", sumM/num

"Promedio Pies = {0}", sumF/num

"Promedio Yardas = {0}", sumY/num

T m

"¿Cuál es la {0} medida?",i

yd= m*1.094

sumY=sumY +yd

sumF=sumF+ft

ft=m*3.28084

sumM=sumM +m

i++

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

namespace ConsoleApplication9 { class Program { static void Main(string[] args) { double num, m, yd, ft, sumM, sumY, sumF, i; string lee;

114


Console.WriteLine("Escriba el número de logitudes a calcular"); lee = Console.ReadLine(); num = Convert.ToInt16(lee);

if (num <= 1) Console.WriteLine("Dato Inválido"); else { for (i = 1, sumF = 0, sumM = 0, sumY = 0; i <= num; i++) { Console.WriteLine("¿Cuál es la {0} medida?",i); lee = Console.ReadLine(); m = Convert.ToInt16(lee); sumM = (sumM + m); yd = (m * 1.094); sumY=(sumY+yd); ft = (m * 3.28084); sumF=(sumF+ft); }

Console.WriteLine("Promedio en Metros = {0}",(sumM/num)); Console.WriteLine("Promedio en Pies = {0}", (sumF / num)); Console.WriteLine("Promedio en Yardas = {0}", (sumY / num)); }

Console.ReadKey();

} } }

115


20. Bebés con FOR Hacer un algoritmo que solicite el número de bebés que llegaron a consulta. Solicita: sexo, tamaño y peso de cada bebé. Para solicitar el sexo, al usuario se le mostrará un menú, donde seleccione 0 si es niña y 1 si es niño, no validar este dato, el peso y el tamaño no se validarán. Al terminar el for el sistema mostrará: número de niños, número de niñas, peso promedio de niñas, peso promedio de niños, tamaño promedio de niños y tamaño promedio de niñas.

116


117


Usuario

Sistema

bool sex; int no, i=0, f=0, m=0; double peso, alto, sumPF=0, sumPM=0, sumAF=0, sumAM=0; string lee; no

"Ingrese el número de bebés"

"Promedio Peso Niña = {0} Promedio Altura Niña = {1} No. de Niñas = {2}", sumPF/f, sumAF/f, f

i<=no T sex

"Ingrese 0 si es niña y 1 si es niño"

peso

"Ingrese el peso"

alto

"Ingrese la altura"

sex==0

F

sumPM= sumPM+peso

"Promedio Peso Niño = {0} Promedio Altura Niño = {1} No. de Niños = {2}", sumPM/m, sumAM/m, m

sumAM= sumAM+alto

m++

i++

sumPF=sumPF +peso

sumAF=sumAF +alto f++

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

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

118


{ int no, i, f, m, sex; double peso, alto, sumPF, sumPM, sumAF, sumAM; string lee;

Console.WriteLine("Ingrese el número de bebés"); lee = Console.ReadLine(); no = Convert.ToInt16(lee);

for (i = 1, f = 0, m = 0, sumAF = 0, sumAM = 0, sumPF = 0, sumPM = 0; i <= no; i++) { Console.WriteLine("Infante {0}, ingrese 0 si es Niña o 1 si es Niño",i);

lee = Console.ReadLine(); sex = Convert.ToInt16(lee); Console.WriteLine("Ingrese el peso"); lee = Console.ReadLine(); peso = Convert.ToDouble(lee); Console.WriteLine("Ingrese la altura"); lee = Console.ReadLine(); alto = Convert.ToDouble(lee); if (sex == 0) { sumPF = (sumPF + peso); sumAF = (sumAF + alto); f = (f + 1); } else { sumPM=(sumPM+peso); sumAM=(sumAM+alto); m = (m + 1); } }

119


Console.WriteLine("Promedio Peso Niña = {0}",(sumPF/f)); Console.WriteLine("Promedio Altura Niña = {0}", (sumAF / f)); Console.WriteLine("Número de Niñas = {0}", f); Console.WriteLine("Promedio Peso Niño = {0}", (sumPM / m)); Console.WriteLine("Promedio Altura Niño = {0}", (sumAM / m)); Console.WriteLine("Número de Niños = {0}", m); Console.ReadKey();

} } }

21. Caseta de peaje con WHILE Hacer un algoritmo que simule el funcionamiento de una caseta de peaje, auto=50, autobús=125 y tráiler=300, el algoritmo no permite datos erróneos.

120


121


Usuario

Sistema

int opc, au=0, ca=0, tra=0, vehi; string lee

opc

"¿Pasó vehículo? Si=1 No=2"

F

opc==1

"Total de Autos = {0}",au

"Cobro de Autos = {0}",au*50

T vehi

"Total de Camiones = {0}",ca "Cobro de Camiones = {0}",ca*125

"¿Qué vehículo fue?" 1=Auto, 2=Camión, 3=Trailer"

"Total de Trailers = {0}",tra vehi

vehi==1 au++

opc

"Cobro de trailers = {0}",tra*300 vehi==2 ca++

vehi==3

tra++

"Cobro total = {0}", (au +50)+(ca+125)+(tra+300)

"¿Pasó oto vehículo? Si=1 No=2"

using System; using System.Collections.Generic;

122


using System.Linq; using System.Text; using System.Threading.Tasks;

namespace ConsoleApplication26 { class Program { static void Main(string[] args) { int opc, au=0, ca=0, tra=0, vehi; string lee;

Console.WriteLine("¿Pasó un vehículo?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee);

while (opc == 1) { Console.WriteLine("¿Qué vehículo fue?"); Console.WriteLine("1=Auto 2=Camión 3=Trailer"); lee = Console.ReadLine(); vehi = Convert.ToInt16(lee); switch (vehi) { case 1: au = (au + 1); break; case 2: ca=(ca+1); break; case 3: tra = (tra + 1); break; } Console.WriteLine("¿Pasó otro vehículo?"); Console.WriteLine("Si=1

No=2");

123


lee=Console.ReadLine(); opc = Convert.ToInt16(lee); }

Console.WriteLine("Total de Autos = {0}",au); Console.WriteLine("Cobro de Autos = {0}", au*50); Console.WriteLine("Total de Camiones = {0}", ca); Console.WriteLine("Cobro de Camiones = {0}", ca * 125); Console.WriteLine("Total de Trailers = {0}", tra); Console.WriteLine("Cobro de Trailers = {0}", tra * 300); Console.WriteLine("Total de Cobro = {0}",((au*50)+(ca*125)+(tra*300))); Console.ReadKey(); } } }

124


22. Calificaciรณn errores con DO-WHILE 23. Caja registradora de supermercado con DO-WHILE Hacer un algoritmo para la caja registradora de un supermercado. Los tipos de producto son: Medicamentos-5%, Comestibles-0% y Otros-16%. Se ingresa el precio sin IVA. El algoritmo mostrarรก los totales por tipo de producto y el total global.

125


Usuario

Sistema

double med=0, com=0, otro=0, precio; int produ, opc; string lee; "¿Pasó Producto?" opc

"Si=1 No=2"

F

opc==1

"Total Medicinas = {0} Total Comestibles = {1} Total Otros = {2}",med, com, otro

"Cobro Total = {0}", (med+com+otro)

T "¿Qué tipo de producto fue?" produ "1. Medicamentos 2.Comestibles 3.Otros"

F

precio

T

"¿Cuánto cuesta?"

produ>0 y produ<4

produ

med= med +(precio*0.05)+precio

opc

com=com +precio

otro=otro +(precio*0.16)+precio

"¿Pasó otro producto? si=1 No=2"

using System; using System.Collections.Generic;

126


using System.Linq; using System.Text; using System.Threading.Tasks;

namespace ConsoleApplication27 { class Program { static void Main(string[] args) { double med = 0, com = 0, otro = 0, precio; int produ, opc; string lee;

Console.WriteLine("¿Pasó producto?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee);

while (opc == 1) { Console.WriteLine("¿Qué tipo de producto fue?"); Console.WriteLine("1=Medicamento,

2=Comestible,

3=Otro");

lee = Console.ReadLine(); produ = Convert.ToInt16(lee);

if (produ > 0 & produ < 4) { Console.WriteLine("¿Cuánto cuesta?"); lee = Console.ReadLine(); precio = Convert.ToDouble(lee);

switch (produ) { case 1: med = (med + (precio * 0.05)+precio); break;

127


case 2: com=(com+(precio)); break; case 3: otro=(otro+(precio*0.16)+precio); break; }

Console.WriteLine("ÂżPasĂł otro producto?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee); } else { opc = 1; } } Console.WriteLine("Total de Medicina = ${0}",med); Console.WriteLine("Total de Comestibles = ${0}", com); Console.WriteLine("Total de Otros = ${0}", otro); Console.WriteLine("Cobro Total = ${0}", (med+com+otro)); Console.ReadKey(); } } }

128


Tercer Parcial 24. Frutas con WHILE En una tiendita se vende coctel de frutas. 1 kg de jícama – 8 vasos - $10 el vaso 1 kg de sandía – 7.5 vasos - $11 el vaso 1 kg de piña – 10.5 vasos - $8.50 el vaso 1 kg de melón – 7 vasos - $9 el vaso Se desea saber el total de vasos que se pueden producir de acuerdo a los kg de frutas. El algoritmo mostrará los siguientes datos de cada fruta: Número de vasos a producir, monto total de los vasos si se vendieran y finalmente, de acuerdo a un costo constante, mostrará la utilidad de cada fruta. Utilidad = precio- costo. También los totales globales de costos, precios y utilidad. No se validarán errores.

129


130


131


Usuario

Sistema

double costKJic=20, costKSan=20, costKPin=20, costKMe=20, vaJic=0, vaSan=0, vaPin=0, vaMe=0, cosJ=0, cosS=0, cosP=0, cosM=0, kg; int opc, frut; string lee; "¿Compró fruta?" opc

"Si= 1 No=2"

opc==1 F

"Vasos a Producir de:"

"Jícama = {0} Sandía = {1} Piña = {2} Melón = {3}",vaJic, vaSan, vaPin, vaMe

"Monto:"

"Jícama={0} Sandía={1} Piña={2} Melón={3}", (vaJic*10), (vaSan*11), (vaPin*8.5), (vaMe*9)

"Utilidad:"

T "¿Qué fruta fue?" frut

"1. Jícama 2.Sandía 3.Piña 4.Melón

kg

"¿Cuántos kilos compró?"

"Sandía = {0}", (vaSan*11)-cosS

"Jícama = {0}", (vaJic*10)-cosJ

"Piña = {0}", (vaPin*8.5)-cosP

"Ganancia de Vasos = {0}", (vaJic*10)+(vaSan*11)+(vaPin*8.5)+(vaMe*9)

"Melón = {0}", (vaMe*9)-cosM

"Costo Total = {0}", cosJ+cosS+cosP+cosM

"Utilidad Total = {0}",((vaJic*10)+(vaSan*11)+(vaPin*8.5)+(vaMe*9))(cosJ+cosS+cosP+cosM) frut

vaJic= (kg*8)+vaJic

frut==1

cosJ= (kg*costKJic)+cosJ

frut==2 vaSan= (kg*7.5)+vaSan

frut==3

cosS= (kg*costKSan)+cosS

vaPin= (kg*10.5)+vaPin

cosP= (kg*costKPin)+cosP

frut==4 vaMe= (kg*7)+vaMe

cosM= (kg*costKMe)+cosM

"¿Compró más fruta?" opc

"Si=1 No=2"

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

namespace ConsoleApplication24 {

132


class Program { static void Main(string[] args) { double costKJic = 20, costKSan = 20, costKPin = 20, costKMe = 20, vaJic = 0, vaSan = 0, vaPin = 0, vaMe = 0, cosJ = 0, cosS = 0, cosP = 0, cosM = 0, kg; int opc, frut; string lee;

Console.WriteLine("¿Compró fruta?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee);

while (opc == 1) { Console.WriteLine("¿Qué fruta fue?"); Console.WriteLine("1. Jícama"); Console.WriteLine("2. Sandía"); Console.WriteLine("3. Piña"); Console.WriteLine("4. Melón"); lee = Console.ReadLine(); frut = Convert.ToInt16(lee); Console.WriteLine("¿Cuántos kilos compró?"); lee = Console.ReadLine(); kg = Convert.ToDouble(lee); switch (frut) { case 1: vaJic = vaJic + (kg * 8); cosJ = cosJ + (kg * costKJic); break; case 2: vaSan = vaSan + (kg * 7.5); cosS = cosS + (kg * costKSan); break; case 3:

133


vaPin = vaPin + (kg * 10.5); cosP = cosP + (kg * costKPin); break; case 4: vaMe = vaMe + (kg * 7); cosM = cosM + (kg * costKMe); break; } Console.WriteLine("¿Compró más fruta?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee); }

Console.WriteLine("Vasos a Producir de:"); Console.WriteLine("Jícama = {0}", vaJic); Console.WriteLine("Sandía = {0}", vaSan); Console.WriteLine("Piña = {0}", vaPin); Console.WriteLine("Melón = {0}", vaMe); Console.WriteLine(""); Console.WriteLine("Monto:"); Console.WriteLine("Jícama = ${0}", (vaJic * 10)); Console.WriteLine("Sandía = ${0}", (vaSan * 11)); Console.WriteLine("Piña = ${0}", (vaPin * 8.5)); Console.WriteLine("Melón = ${0}", (vaMe * 9)); Console.WriteLine(""); Console.WriteLine("Utilidad:"); Console.WriteLine("Jícama = ${0}", (vaJic * 10) - cosJ); Console.WriteLine("Sandía = ${0}", (vaSan * 11) - cosS); Console.WriteLine("Piña = ${0}", (vaPin * 8.5) - cosP); Console.WriteLine("Melón = ${0}", (vaMe * 9) - cosM); Console.WriteLine(""); Console.WriteLine("Costo Total = ${0}", cosJ + cosS + cosP + cosM); Console.WriteLine(""); Console.WriteLine("Ganancia de Vasos = ${0}", (vaJic * 10)+ (vaSan * 11)+ (vaPin * 8.5)+ (vaMe * 9));

134


Console.WriteLine(""); Console.WriteLine("Utilidad Total = ${0}",((vaJic * 10) + (vaSan * 11) + (vaPin * 8.5) + (vaMe * 9))-(cosJ + cosS + cosP + cosM));

Console.ReadKey(); } } }

25. Edades de tu familia con FOR y validar datos con DO-WHILE Hacer un algoritmo que solicite la cantidad de personas de tu familia (validarlo). Solicitar dentro de un ciclo la edad de cada uno de ellos (validar de 0-120) y obtener edades de la edades.

135


136


Usuario

Sistema

int i=1, noFam, edad, sumEdad=0; string lee; noFam

"¿Cuántas personas hay en tu familia?"

T noFam<1

F

i<=noFam

F

"Promedio de Edades = {0}",sumEdad/noFam

T edad

"¿Cuál es la edad del familiar {0}",i T edad<0 ó edad>120 F sumEdad=sum Edad+edad i++

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

namespace ConsoleApplication29 { class Program { static void Main(string[] args) { int i, noFam, edad, sumEdad; string lee; do{ Console.WriteLine("¿Cuántas personas hay en tú familia?"); lee = Console.ReadLine();

137


noFam = Convert.ToInt16(lee); } while (noFam < 1);

for (i = 1, sumEdad=0; i <= noFam; i++) { do { Console.WriteLine("¿Cuál es la edad de familiar {0}?", i); lee = Console.ReadLine(); edad = Convert.ToInt16(lee); } while (edad < 0 || edad > 120);

sumEdad = (sumEdad + edad);

}

Console.WriteLine("Promedio de Edades = {0}",(sumEdad/noFam)); Console.ReadKey(); } } }

26. Centro de verificación con WHILE Hacer un algoritmo para un centro de verificación. Los tipos de verificación son: Normal $170 + IVA, “00” $370 + IVA y “000” $585 + IVA. Realizar el ciclo que 138


solicite el tipo de verificaciรณn, solicite si paso o no la verificaciรณn el transporte, valide los datos que el usuario ingrese. Las salidas son: 1. Total por tipo de verificaciรณn, con y sin IVA. 2. Total de transportes que pasaron o no la verificaciรณn, tipo de verificaciรณn. 3. Totales generales de 2 puntos anteriores.

139


140


141


Usuario

Sistema

int opc, tipo, paso, norSi=0, norNo=0, dobleSi=0, dobleNo=0, tripleSi=0, tripleNo=0; double norIV=(170+170*0.16), dobleIV=(370+370*0.16), tripleIV=(585+585*0.16); string lee;

"¿Entró vehículo a verificar?"

opc

"Si=1 No=2"

opc<=0 ó opc>=3

T

F F

opc==1

"Total Normal con IVA = ${0}", (norSi+norNo)*norIV

"Total Normal sin IVA = {0}", ((norSi + norNo) * 170)

"Total que no pasaron Normal = {0}", norNo

"Total que pasaron Normal = {0}", norSi

"Total 00 con IVA = {0}", ((dobleSi + dobleNo) * dobleIV)

"Total que no pasaron 00 = {0}", dobleNo

"Total 00 sin IVA = {0}", ((dobleSi + dobleNo) * 370)

T

tipo

"¿Qué tipo de verificación fue?"

"Total que pasaron 00 = {0}", dobleSi

"1. Normal 2. 00 3. 000"

"Total 000 con IVA = {0}", ((tripleSi + tripleNo) * tripleIV)

T

"Total que no pasaron 000 = {0}", tripleNo

"Total General con IVA = {0}", ((norSi + norNo) * norIV)+ ((dobleSi + dobleNo) * dobleIV)+ ((tripleSi + tripleNo) * tripleIV)

"Total que pasaron 000 = {0}", tripleSi

"Total General sin IVA = {0}", ((norSi + norNo) * 170) + ((dobleSi + dobleNo) * 370) + ((tripleSi + tripleNo) * 585)

"Total que no pasaron en General = {0}", norNo+dobleNo+tripleNo

tipo<=0 ó tipo>=4 F paso

"Total 000 sin IVA = {0}", ((tripleSi + tripleNo) * 585)

"¿Pasó la verificación? Si=1 No=2"

"Total que pasaron en General = {0}", norSi+dobleSi+tripleSi

T paso<=0 ó paso>=3 F tipo

tipo==2

tipo==3

tipo==1 paso==1 T norSi++

paso==1 F

T norNo++

dobleSi++

paso==1

F

F

T dobleNo++

tripleSi++

tripleNo++

"¿Pasó otro?"

opc

"Si=1 No=2"

T opc<=0 ó opc>=3

F

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

142


namespace ConsoleApplication7 { class Program { static void Main(string[] args) { int opc, tipo, paso, norSi = 0, norNo = 0, dobleSi = 0, dobleNo = 0, tripleSi = 0, tripleNo = 0; double norIV = (170 + (170 * 0.16)), dobleIV = (370 + (370 * 0.16)), tripleIV = (585 + (585 * 0.16)); string lee;

do { Console.WriteLine("¿Entró un vehículo a verificar?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee);

} while (opc <= 0 || opc >= 3); while (opc == 1) { do { Console.WriteLine("¿Qué tipo de verificación fue?"); Console.WriteLine("1.-Normal

2.-00

3.-000");

lee = Console.ReadLine(); tipo = Convert.ToInt16(lee); } while (tipo <= 0 || tipo >= 4); do { Console.WriteLine("¿Pasó la verificación? Si=1,

No=2");

lee = Console.ReadLine(); paso = Convert.ToInt16(lee);

143


} while (paso <= 0 || paso >= 3);

switch (tipo) { case 1: if (paso == 1) norSi = norSi + 1; else norNo = norNo + 1; break; case 2: if (paso == 1) dobleSi = dobleSi + 1; else dobleNo = dobleNo + 1; break; case 3: if (paso == 1) tripleSi = tripleSi + 1; else tripleNo = tripleNo + 1; break; } do { Console.WriteLine("¿Paso otro? Si=1,

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee); } while (opc <= 0 || opc >= 3); }

Console.WriteLine("Total Normal con IVA = {0}", ((norSi + norNo) * norIV)); Console.WriteLine("Total Normal sin IVA = {0}", ((norSi + norNo) * 170)); Console.WriteLine("Total que no pasaron Normal = {0}", norNo);

144


Console.WriteLine("Total que pasaron Normal = {0}", norSi); Console.WriteLine("Total 00 con IVA = {0}", ((dobleSi + dobleNo) * dobleIV)); Console.WriteLine("Total 00 sin IVA = {0}", ((dobleSi + dobleNo) * 370)); Console.WriteLine("Total que no pasaron 00 = {0}", dobleNo); Console.WriteLine("Total que pasaron 00 = {0}", dobleSi); Console.WriteLine("Total 000 con IVA = {0}", ((tripleSi + tripleNo) * tripleIV)); Console.WriteLine("Total 000 sin IVA = {0}", ((tripleSi + tripleNo) * 585)); Console.WriteLine("Total que no pasaron 000 = {0}", tripleNo); Console.WriteLine("Total que pasaron 000 = {0}", tripleSi); Console.WriteLine("Total General con IVA = {0}", ((norSi + norNo) * norIV)+ ((dobleSi + dobleNo) * dobleIV)+ ((tripleSi + tripleNo) * tripleIV)); Console.WriteLine("Total General sin IVA = {0}", ((norSi + norNo) * 170) + ((dobleSi + dobleNo) * 370) + ((tripleSi + tripleNo) * 585)); Console.WriteLine("Total que no pasaron en General = {0}", norNo+dobleNo+tripleNo); Console.WriteLine("Total que pasaron en General = {0}", norSi+dobleSi+tripleSi); Console.ReadKey(); } } }

145


146


27. Centro de verificación con DO-WHILE Hacer un algoritmo para un centro de verificación. Los tipos de verificación son: Normal $170 + IVA, “00” $370 + IVA y “000” $585 + IVA. Realizar el ciclo que solicite el tipo de verificación, solicite si paso o no la verificación el transporte, valide los datos que el usuario ingrese. Las salidas son: 1. Total por tipo de verificación, con y sin IVA. 2. Total de transportes que pasaron o no la verificación, tipo de verificación. 3. Totales generales de 2 puntos anteriores.

147


148


149


Usuario

Sistema

int opc, tipo, paso, norSi=0, norNo=0, dobleSi=0, dobleNo=0, tripleSi=0, tripleNo=0; double norIV=(170+170*0.16), dobleIV=(370+370*0.16), tripleIV=(585+585*0.16); string lee;

"¿Qué tipo de verificación fue?"

tipo

"1. Normal 2. 00 3. 000" T

tipo<=0 ó tipo>=4 F paso

"¿Pasó la verificación? Si=1 No=2" T paso<=0 ó paso>=3 F

tipo

tipo==2

tipo==3

tipo==1 paso==1 T

paso==1

paso==1

F norNo++ norSi++

T

F T

dobleSi++

dobleNo++

F

tripleSi++

tripleNo++

"¿Pasó otro?"

opc

"Si=1 No=2"

opc<=0 ó opc>=3

T

F

opc==1

T

F

"Total Normal con IVA = ${0}", (norSi+norNo)*norIV

"Total Normal sin IVA = {0}", ((norSi + norNo) * 170)

"Total que no pasaron Normal = {0}", norNo

"Total que pasaron 00 = {0}", dobleSi "Total 000 con IVA = {0}", ((tripleSi + tripleNo) * tripleIV)

"Total que pasaron Normal = {0}", norSi

"Total que no pasaron 00 = {0}", dobleNo "Total 000 sin IVA = {0}", ((tripleSi + tripleNo) * 585)

"Total 00 con IVA = {0}", ((dobleSi + dobleNo) * dobleIV)

"Total 00 sin IVA = {0}", ((dobleSi + dobleNo) * 370) "Total que no pasaron 000 = {0}", tripleNo

"Total General con IVA = {0}", ((norSi + norNo) * norIV)+ ((dobleSi + dobleNo) * dobleIV)+ ((tripleSi + tripleNo) * tripleIV)

"Total que pasaron 000 = {0}", tripleSi

"Total General sin IVA = {0}", ((norSi + norNo) * 170) + ((dobleSi + dobleNo) * 370) + ((tripleSi + tripleNo) * 585)

"Total que no pasaron en General = {0}", norNo+dobleNo+tripleNo

"Total que pasaron en General = {0}", norSi+dobleSi+tripleSi

150


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

namespace ConsoleApplication7 { class Program { static void Main(string[] args) { int opc, tipo, paso, norSi = 0, norNo = 0, dobleSi = 0, dobleNo = 0, tripleSi = 0, tripleNo = 0; double norIV = (170 + (170 * 0.16)), dobleIV = (370 + (370 * 0.16)), tripleIV = (585 + (585 * 0.16)); string lee;

do { do { Console.WriteLine("¿Qué tipo de verificación fue?"); Console.WriteLine("1.-Normal

2.-00

3.-000");

lee = Console.ReadLine(); tipo = Convert.ToInt16(lee); } while (tipo <= 0 || tipo >= 4); do { Console.WriteLine("¿Pasó la verificación? Si=1,

No=2");

lee = Console.ReadLine(); paso = Convert.ToInt16(lee);

} while (paso <= 0 || paso >= 3);

151


switch (tipo) { case 1: if (paso == 1) norSi = norSi + 1; else norNo = norNo + 1; break; case 2: if (paso == 1) dobleSi = dobleSi + 1; else dobleNo = dobleNo + 1; break; case 3: if (paso == 1) tripleSi = tripleSi + 1; else tripleNo = tripleNo + 1; break; } do { Console.WriteLine("¿Paso otro? Si=1,

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee); } while (opc <= 0 || opc >= 3); } while (opc == 1);

Console.WriteLine("Total Normal con IVA = {0}", ((norSi + norNo) * norIV)); Console.WriteLine("Total Normal sin IVA = {0}", ((norSi + norNo) * 170)); Console.WriteLine("Total que no pasaron Normal = {0}", norNo); Console.WriteLine("Total que pasaron Normal = {0}", norSi);

152


Console.WriteLine("Total 00 con IVA = {0}", ((dobleSi + dobleNo) * dobleIV)); Console.WriteLine("Total 00 sin IVA = {0}", ((dobleSi + dobleNo) * 370)); Console.WriteLine("Total que no pasaron 00 = {0}", dobleNo); Console.WriteLine("Total que pasaron 00 = {0}", dobleSi); Console.WriteLine("Total 000 con IVA = {0}", ((tripleSi + tripleNo) * tripleIV)); Console.WriteLine("Total 000 sin IVA = {0}", ((tripleSi + tripleNo) * 585)); Console.WriteLine("Total que no pasaron 000 = {0}", tripleNo); Console.WriteLine("Total que pasaron 000 = {0}", tripleSi); Console.WriteLine("Total General con IVA = {0}", ((norSi + norNo) * norIV) + ((dobleSi + dobleNo) * dobleIV) + ((tripleSi + tripleNo) * tripleIV)); Console.WriteLine("Total General sin IVA = {0}", ((norSi + norNo) * 170) + ((dobleSi + dobleNo) * 370) + ((tripleSi + tripleNo) * 585)); Console.WriteLine("Total que no pasaron en General = {0}", norNo + dobleNo + tripleNo); Console.WriteLine("Total que pasaron en General = {0}", norSi + dobleSi + tripleSi); Console.ReadKey(); } } }

153


28. Centro de verificación con FOR Hacer un algoritmo para un centro de verificación. Los tipos de verificación son: Normal $170 + IVA, “00” $370 + IVA y “000” $585 + IVA. Realizar el ciclo que solicite el tipo de verificación, solicite si paso o no la verificación el transporte, valide los datos que el usuario ingrese. Las salidas son: 1. Total por tipo de verificación, con y sin IVA. 2. Total de transportes que pasaron o no la verificación, tipo de verificación. 3. Totales generales de 2 puntos anteriores.

154


155


156


Usuario

Sistema

int num, tipo, paso, norSi=0, norNo=0, dobleSi=0, dobleNo=0, tripleSi=0, tripleNo=0; double norIV=(170+170*0.16), dobleIV=(370+370*0.16), tripleIV=(585+585*0.16); string lee;

num

"¿Cuántos vehículos pasaron a verificación?"

num<1

T

F F

i<=num

"Total Normal con IVA = ${0}", (norSi+norNo)*norIV

"Total Normal sin IVA = {0}", ((norSi + norNo) * 170)

"Total que no pasaron Normal = {0}", norNo

"Total que pasaron Normal = {0}", norSi

"Total 00 con IVA = {0}", ((dobleSi + dobleNo) * dobleIV)

"Total que no pasaron 00 = {0}", dobleNo

"Total 00 sin IVA = {0}", ((dobleSi + dobleNo) * 370)

T

tipo

"¿Qué tipo de verificación fue?"

"Total que pasaron 00 = {0}", dobleSi

"1. Normal 2. 00 3. 000"

"Total 000 con IVA = {0}", ((tripleSi + tripleNo) * tripleIV)

T

"Total que no pasaron 000 = {0}", tripleNo

"Total General con IVA = {0}", ((norSi + norNo) * norIV)+ ((dobleSi + dobleNo) * dobleIV)+ ((tripleSi + tripleNo) * tripleIV)

"Total que pasaron 000 = {0}", tripleSi

"Total General sin IVA = {0}", ((norSi + norNo) * 170) + ((dobleSi + dobleNo) * 370) + ((tripleSi + tripleNo) * 585)

"Total que no pasaron en General = {0}", norNo+dobleNo+tripleNo

tipo<=0 ó tipo>=4 F paso

"Total 000 sin IVA = {0}", ((tripleSi + tripleNo) * 585)

"¿Pasó la verificación? Si=1 No=2"

"Total que pasaron en General = {0}", norSi+dobleSi+tripleSi

T paso<=0 ó paso>=3 F tipo

tipo==2

tipo==3

tipo==1 paso==1 T norSi++

paso==1 F

T norNo++

dobleSi++

paso==1

F

F

T dobleNo++

tripleSi++

tripleNo++

i++

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

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

157


{ int i,num, tipo, paso, norSi, norNo, dobleSi, dobleNo, tripleSi, tripleNo; double norIV = (170 + (170 * 0.16)), dobleIV = (370 + (370 * 0.16)), tripleIV = (585 + (585 * 0.16)); string lee;

do { Console.WriteLine("¿Cuántos vehículos pasaron a verificación?"); lee = Console.ReadLine(); num = Convert.ToInt16(lee); } while (num < 1);

for(i=1,norSi=0,norNo=0,dobleSi=0,dobleNo=0,tripleSi=0,tripleNo=0;i<=num;i++) { do { Console.WriteLine("Vehículo No {0}", i); Console.WriteLine("¿Qué tipo de verificación fue?"); Console.WriteLine("1.-Normal

2.-00

3.-000");

lee = Console.ReadLine(); tipo = Convert.ToInt16(lee); } while (tipo <= 0 || tipo >= 4); do { Console.WriteLine("¿Pasó la verificación? Si=1,

No=2");

lee = Console.ReadLine(); paso = Convert.ToInt16(lee);

} while (paso <= 0 || paso >= 3);

switch (tipo)

158


{ case 1: if (paso == 1) norSi = norSi + 1; else norNo = norNo + 1; break; case 2: if (paso == 1) dobleSi = dobleSi + 1; else dobleNo = dobleNo + 1; break; case 3: if (paso == 1) tripleSi = tripleSi + 1; else tripleNo = tripleNo + 1; break; } }

Console.WriteLine("Total Normal con IVA = {0}", ((norSi + norNo) * norIV)); Console.WriteLine("Total Normal sin IVA = {0}", ((norSi + norNo) * 170)); Console.WriteLine("Total que no pasaron Normal = {0}", norNo); Console.WriteLine("Total que pasaron Normal = {0}", norSi); Console.WriteLine("Total 00 con IVA = {0}", ((dobleSi + dobleNo) * dobleIV)); Console.WriteLine("Total 00 sin IVA = {0}", ((dobleSi + dobleNo) * 370)); Console.WriteLine("Total que no pasaron 00 = {0}", dobleNo); Console.WriteLine("Total que pasaron 00 = {0}", dobleSi); Console.WriteLine("Total 000 con IVA = {0}", ((tripleSi + tripleNo) * tripleIV)); Console.WriteLine("Total 000 sin IVA = {0}", ((tripleSi + tripleNo) * 585)); Console.WriteLine("Total que no pasaron 000 = {0}", tripleNo); Console.WriteLine("Total que pasaron 000 = {0}", tripleSi);

159


Console.WriteLine("Total General con IVA = {0}", ((norSi + norNo) * norIV) + ((dobleSi + dobleNo) * dobleIV) + ((tripleSi + tripleNo) * tripleIV)); Console.WriteLine("Total General sin IVA = {0}", ((norSi + norNo) * 170) + ((dobleSi + dobleNo) * 370) + ((tripleSi + tripleNo) * 585)); Console.WriteLine("Total que no pasaron en General = {0}", norNo + dobleNo + tripleNo); Console.WriteLine("Total que pasaron en General = {0}", norSi + dobleSi + tripleSi); Console.ReadKey(); } } }

29. Tu propio algoritmo de WHILE Foto-multa: Límite 70 km/h. Si el límite se rebasa se cobrarán $300. Al final dará el monto total de multas, ¿Cuántos autos rebasaron el límite de velocidad?

160


161


162


Usuario

Sistema

int opc, auto=0, monto=0, km; string lee; opc

"¿Pasó un auto? Si=1 No=2"

T

opc<=0 ó opc>=3 F

F

opc==1

"Autos Infraccionados = {0}",auto

"Monto de Infracciones = {0}",monto

T "¿A cuántos km/h iba?" km

"(Límite 70 km/h)"

T km<=0 F F

km>70

"Sin infracción"

T auto++

monto=monto +300 "Infracción"

opc

"¿Pasó otro auto? Si=1 No=2" T opc<=0 ó opc>=3

F

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

namespace ConsoleApplication27 { class Program { static void Main(string[] args) { int opc, auto = 0, monto = 0, km;

163


string lee;

do { Console.WriteLine("¿Pasó un auto?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee); } while (opc <= 0 || opc >= 3);

if (opc == 1) { do { do { Console.WriteLine("¿A cuántos km/hr iba?"); Console.WriteLine("(Límite 70km/hr)"); lee = Console.ReadLine(); km = Convert.ToInt16(lee); } while (km <= 0); if (km > 70) { auto = auto + 1; monto = monto + 300; Console.WriteLine("Infracción"); } else { Console.WriteLine("Sin infracción"); } do { Console.WriteLine("¿Pasó otro auto?"); Console.WriteLine("Si=1

No=2");

164


lee = Console.ReadLine(); opc = Convert.ToInt16(lee); } while (opc <= 0 || opc >= 3); } while (opc == 1); }

Console.WriteLine("Autos Infraccionados = {0} autos", auto); Console.WriteLine("Monto de infracciones = ${0}", monto); Console.ReadKey(); } } }

30. Tu propio algoritmo de DO-WHILE El algoritmo pedirá si hay libros a registrar, registrará si hay de Física, Química, Biología, Matemáticas u Otro. Además preguntará si está en buen estado o si no. Al final arrojará cuántos libros hay por materia, cuántos hay en buen estado y mal estado. Y el total de libros.

165


166


167


Usuario

Sistema

int opc, mat, fi=0, qui=0, bio=0, mate=0, ot=0, bien=0, mal=0, esta; string lee; opc

"¿Hay libros a registrar? Si=1 No=2"

opc<=0 ó opc>=3

T

F F

opc==1

"Hasta Luego"

T "¿De qué materia es el libro?"

mat

"Física- - - 1 Química- - - 2 Biología- - - 3 Matemáticas- - - 4 Otro- - - 5"

T mat<=0 ó mat>=6

F

mat

mat==1

mat==2

fi++

qui++

esta

mat==3

mat==5

mat==4

bio++

mat++

ot++

"¿Está en buen estado? Si=1 No=2"

T

esta<=0 ó esta>=3 F

esta==1 T

bien++

F mal++

opc

"¿Hay otro? Si=1 No=2"

opc<=0 ó opc>=3

T

F opc==1

T

F "Total de libros de:"

"Física: {0}",fi

"Total de libros: {0}",bien+mal

"Química: {0}",qui

"Mal estado: {0}",mal

"Biología: {0}",bio

"Buen estado: {0}",bien

"Matemáticas: {0}",mate

"Otros: {0}",ot

168


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

namespace ConsoleApplication28 { class Program { static void Main(string[] args) { int opc, mat, fi = 0, qui = 0, bio = 0, mate = 0, ot = 0, bien = 0, mal = 0, esta; string lee;

do { Console.WriteLine("¿Hay libros a registrar?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee); } while (opc <= 0 || opc >= 3); if (opc == 1) { do { do { Console.WriteLine("¿De qué materia es el libro?"); Console.WriteLine("Física----1"); Console.WriteLine("Química----2"); Console.WriteLine("Biología----3"); Console.WriteLine("Matemáticas----4"); Console.WriteLine("Otros----5"); lee = Console.ReadLine();

169


mat = Convert.ToInt16(lee); } while (mat <= 0 || mat >= 6); switch (mat) { case 1: fi = fi + 1; break; case 2: qui = qui + 1; break; case 3: bio = bio + 1; break; case 4: mate = mate + 1; break; case 5: ot = ot + 1; break; } do { Console.WriteLine("ÂżEstĂĄ en buen estado?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); esta = Convert.ToInt16(lee); } while (esta <= 0 || esta >= 3); if (esta == 1) bien = bien + 1; else mal = mal + 1;

do {

170


Console.WriteLine("¿Hay otro?"); Console.WriteLine("Si=1

No=2");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee); } while (opc <= 0 || opc >= 3); } while (opc == 1);

Console.WriteLine("Total de libros de:"); Console.WriteLine("Física----{0}", fi); Console.WriteLine("Química----{0}", qui); Console.WriteLine("Biología----{0}", bio); Console.WriteLine("Matemáticas----{0}", mate); Console.WriteLine("Otros----{0}", ot); Console.WriteLine("Buen estado----{0}", bien); Console.WriteLine("Mal estado----{0}", mal); Console.WriteLine("Total de libros----{0}", bien + mal); } else Console.WriteLine("Hasta Luego");

Console.ReadKey(); } } }

171


31. Cajero Inicio Hacer un algoritmo que valide que la tarjeta sea de MASTERCARD o VISA, que esté vigente y que se ingrese un NIP válido.

172


173


174


Usuario

Sistema

int NIP=4854, nipIn, i=0; DateTime fechav=(2017,11,21), hoy=DateTime.now; string lee, banco="MASTERCARD";

"Bienvenido al Cajero {0}",banco "Inserte su tarjeta" "Validando..."

banco=="MASTERCARD" Ăł banco="VISA"

F

"Lo sentimos no puede usar este cajero"

T

fechav<hoy

F

T

i<=2

F

F

"Incorrecto"

"Su tarjeta ha sido retenida"

"Ingresando al MenĂş"

"Escriba su NIP"

nipIn==NIP

F

T

T nipIn

i==4

i++

T i=4

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

namespace ConsoleApplication12 { class Program { static void Main(string[] args) { int NIP = 4854, nipIn, i; string lee, banco = "VISA"; DateTime fechav = new DateTime(2020,3,21);

175


DateTime hoy = DateTime.Now;

Console.WriteLine("Bienvenido al cajero Padilla's Bank"); Console.WriteLine(hoy.ToString("d")); Console.WriteLine("Inserte su tarjeta"); Console.WriteLine("Validando..."); if (banco == "MASTERCARD" || banco == "VISA") if(fechav>hoy) { for (i = 0; i <= 2; i++) { Console.WriteLine("Escriba su NIP"); lee = Console.ReadLine(); nipIn = Convert.ToInt16(lee); if (nipIn == NIP) i = 4; else Console.WriteLine("Incorrecto");

if (i == 4) Console.WriteLine("Inserte aquí Menú"); else Console.WriteLine("Su tarjeta ha sido retenida"); } } else Console.WriteLine("Lo sentimos no puede usar este cajero"); else Console.WriteLine("Lo sentimos no puede usar este cajero"); Console.ReadKey(); } } }

176


177


32. Menú del Cajero Hacer un algoritmo que muestre el menú de un cajero, con las siguientes opciones: 1. 2. 3. 4.

Consulta de saldo Retiro de efectivo Cambio de NIP Salir

Para el Retiro se desplegarán las siguientes opciones: 1. 2. 3. 4.

$500 $3000 $6000 Regresar

178


179


180


181


182


Usuario

Sistema

int opc, billeDos=10, billeQuin=15, saldoTarjeta=7500, ret, regreso, NIP=4854, nipIn; string lee; "Bienvenido a {0}",banco "Escriba:"

"1. Consulta de Saldo"

opc

"4. Salir"

opc<=0 ó opc>=5

"2. Retiro de efectivo" "3. Cambio de NIP"

T

F opc

opc==1

regreso

default

opc==3

"Saldo Actual = ${0}",saldoTarjeta

opc==2

"Gracias por usar este cajero"

"Escriba su NIP actual"

"Escriba 0 para continuar" T F

regreso!=0

nipIn

T nipIn!=NIP F "Escriba su nueva NIP"

NIP

NIP>999 ó NIP<0

T

"No válida" "Saldo Actual = ${0}",saldoTarjeta

F nipIn

"Para confirmar escriba de nuevo su nueva NIP"

nipIn!=NIP

T

saldoTarjeta>=500 T

"Incorrecta"

F

"Escriba 0 para continuar"

T

"Opciones de retiro:"

F

"No tiene suficiente saldo"

"Nueva NIP establecida" regreso

billeQuin>=1 ó billeDos>=15

F

"No Hay sufiecientes fondos"

"1. $500 2.$3000 3. $6000 4. Regresar"

"Presione 0 para continuar"

T F

regreso!=0

regreso

F

T regreso!=0

ret

ret<=0 ó ret>=5

T

F

ret

ret==1

billeQuin>=1 F T billeQuin=bille Quin-1

"No hay fondos"

T

T

billeQuin= billeQuin-6

billeQuin>=6

F T

billeQuin= billeQuin-4

saldoTajeta= saldoTarjeta-3000 T

billeQuin==2 y billeDos>=10

billeQuin= billeQuin-2

billeDos= billeDos-10

"Ha retirado $3000"

billeQuin= billeQuin-10

billeDos= billeDos-5

F billeQuin==8 y T billeDos>=10

billeQuin= billeQuin-8

billeDos= billeDos-10 saldoTarjeta= saldoTarjeta-6000

F

F billeDos>=15

billeQuin==10 T y billeDos>=5

billeDos= billeDos-5

F

"Ha retirado $500"

billeQuin= billeQuin-12

billeQuin>=12

F billeQuin==4 y billeDos>=5

saldoTarjeta=s aldoTarjeta-500

ret==3

ret==2 ret==4 "Regresando al menú.."

T

billeDos= billeDos-15

billeQuin==6 y billeDos>=15

T

billeQuin= billeQuin-6

billeDos= billeDos-15

F "No hay suficientes fondos"

F billeQuin==4 y billeDos>=20

T

billeQuin= billeQuin-4

billeDos= billeDos-20

F

billeQuin==2 y billeDos>=25

T

billeQuin= billeQuin-2

billeDos= billeDos-25

F

billeDos>=30

T

billeDos= billeDos-30

F "No hay suficientes fondos"

regreso

"Presione 0 para continuar" F T regreso!=0

183

"Ha retirado $6000"


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

namespace ConsoleApplication14 { class Program { static void Main(string[] args) { int opc, billeDos = 10, billeQuin = 15, saldoTajeta = 7500, ret, NIP = 4854, nipIn, regreso=0, regreII=0, nipIIn; string lee, banco = "VISA"; do { do { Console.WriteLine("Bienvenido a {0}", banco); Console.WriteLine("Por favor oprima la opciรณn que desee:"); Console.WriteLine("1.Consulta de Saldo"); Console.WriteLine("2.Retiro de efectivo"); Console.WriteLine("3.Cambio de NIP"); Console.WriteLine("4.Salir"); lee = Console.ReadLine(); opc = Convert.ToInt16(lee); } while (opc <= 0 || opc >= 5); switch (opc) { case 1: Console.WriteLine("Saldo Actual:"); Console.WriteLine("${0}", saldoTajeta); do { Console.WriteLine("Escriba 0 para regresar");

184


lee = Console.ReadLine(); regreso = Convert.ToInt16(lee); } while (regreso != 0); break; case 2: Console.WriteLine("Saldo Actual:"); Console.WriteLine("${0}", saldoTajeta); if (saldoTajeta >= 500) { if (billeQuin >= 1 || billeDos >= 15) { do { do { Console.WriteLine("Esciba el nĂşmero segĂşn el monto que desea retirar"); Console.WriteLine("1. $500"); Console.WriteLine("2. $3000"); Console.WriteLine("3. $6000"); Console.WriteLine("4. Salir"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret <= 0 || ret >= 5); switch (ret) { case 1: if (billeQuin >= 1) billeQuin = billeQuin - 1; saldoTajeta = saldoTajeta - 500; Console.WriteLine("Ha retirado $500"); do { Console.WriteLine("Escriba 0 para regresar");

185


lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); break; case 2: if (billeQuin >= 6) { billeQuin = billeQuin - 6; saldoTajeta = saldoTajeta - 3000; Console.WriteLine("Ha retirado $3000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); } else { if (billeQuin == 4 & billeDos >= 5) { billeQuin = billeQuin - 4; billeDos = billeDos - 5; saldoTajeta = saldoTajeta - 3000; Console.WriteLine("Ha retirado $3000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); }

186


while (regreII != 0); } else { if (billeQuin == 2 & billeDos >= 10) { billeQuin = billeQuin - 2; billeDos = billeDos - 10; saldoTajeta = saldoTajeta 3000; Console.WriteLine("Ha retirado $3000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); } else if (billeDos >= 12) { billeDos = billeDos - 12; saldoTajeta = saldoTajeta 3000; Console.WriteLine("Ha retirado $3000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0);

187


} else Console.WriteLine("Lo sentimos no hay fondos"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); } } break; case 3: if (billeQuin >= 12) { billeQuin = billeQuin - 12; saldoTajeta = saldoTajeta - 6000; Console.WriteLine("Ha retirado $6000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); } else { if (billeQuin == 10 & billeDos >= 5) { billeQuin = billeQuin - 10;

188


billeDos = billeDos - 5; saldoTajeta = saldoTajeta - 6000; Console.WriteLine("Ha retirado $6000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); } else { if (billeQuin == 8 & billeDos >= 10) { billeQuin = billeQuin - 8; billeDos = billeDos - 10; saldoTajeta = saldoTajeta 6000; Console.WriteLine("Ha retirado $6000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); } else { if (billeQuin == 6 & billeDos >= 15) {

189


billeQuin = billeQuin 6; billeDos = billeDos - 15; saldoTajeta = saldoTajeta - 6000; Console.WriteLine("Ha retirado $6000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); } else { if (billeQuin == 4 & billeDos >= 20) { billeQuin = billeQuin - 4; billeDos = billeDos 20; saldoTajeta = saldoTajeta - 6000; Console.WriteLine("Ha retirado $6000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); }

190


else { if (billeQuin == 2 & billeDos >= 22) { billeQuin = billeQuin - 2; billeDos = billeDos - 25; saldoTajeta = saldoTajeta - 6000; Console.WriteLine("Ha retirado $6000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0); } else { if (billeDos >= 24) { billeDos = billeDos - 30; saldoTajeta = saldoTajeta - 6000; Console.WriteLine("Ha retirado $6000"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine();

191


regreII = Convert.ToInt16(lee); } while (regreII != 0); } else { Console.WriteLine("Lo sentimos no hay suficientes fondos"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreII = Convert.ToInt16(lee); } while (regreII != 0);

} } } } } } } break; case 4: Console.WriteLine("Regresando al menĂş..."); break; } } while (regreII == 0 & ret != 4); } else

192


{ Console.WriteLine("Lo sentimos no hay fondos suficientes"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreso = Convert.ToInt16(lee); } while (regreso != 0); } } else { Console.WriteLine("No tiene suficiente saldo"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreso = Convert.ToInt16(lee); } while (regreso != 0); } break; case 3: do { Console.WriteLine("Escriba su NIP actual"); lee = Console.ReadLine(); nipIn = Convert.ToInt16(lee); } while (nipIn != NIP); do { Console.WriteLine("Escriba su nueva NIP de 4 dĂ­gitos"); lee = Console.ReadLine(); nipIIn = Convert.ToInt16(lee);

193


if (nipIIn > 9999 || nipIIn < 0) Console.WriteLine("NIP invรกlido"); } while (nipIIn > 9999 || nipIIn < 0); do { Console.WriteLine("Para confirmar, escriba de nuevo su nueva NIP"); lee = Console.ReadLine(); nipIn = Convert.ToInt16(lee); if (nipIn != nipIIn) Console.WriteLine("Incorrecto"); } while (nipIn != nipIIn); NIP = nipIIn; Console.WriteLine("Nueva NIP establecida"); do { Console.WriteLine("Escriba 0 para regresar"); lee = Console.ReadLine(); regreso = Convert.ToInt16(lee); } while (regreso != 0); break; default: Console.WriteLine("Fue un placer atenderle"); Console.WriteLine("Hasta Luego"); break; }

} while (regreso == 0 & opc!=4); Console.ReadKey(); } } }

194


195


33. Retirar otra cantidad Hacer un algoritmo que, complementando al anterior, te permita retirar cualquier otra cantidad.

196


Usuario

Sistema

int cantidad, opc, saldoTarjeta=7500, regreso, residuo, mont; string lee; cantidad

"Escriba la cantidad a retirar"

T cantidad<100 ó cantidad>6000 F

cantidad<=saldo

T

residuo= cantidad%100

F "No cuenta con saldo suficiente"

F residuo!=0 T

residuo= cantidad%200

residuo==0 T

"No es posible retirar un número que no sea múltiplo de 100"

"Dar {0} billetes de $200",cantidad/200

F

mont= cantidad-100

"Dar {0} billetes de $200",mont/200 regreso

"Escriba 0 para contnuar"

saldoTarjeta= saldoTarjeta-cantidad

T regreso!=0

F

"Dar 1 billete de $100"

"Regresando al menú de retiro..."

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

197


using System.Text; using System.Threading.Tasks;

namespace ConsoleApplication18 { class Program { static void Main(string[] args) { int cantidad, opc, saldoTarjeta = 7500, regreso, residuo, mont; string lee; do { Console.WriteLine("Escriba la cantidad a retirar"); lee = Console.ReadLine(); cantidad = Convert.ToInt16(lee); } while (cantidad < 100 || cantidad > 6000); if(cantidad<=saldoTarjeta) { residuo = cantidad % 100; if (residuo != 0) { Console.WriteLine("No es posible retirar un nĂşmero que no sea mĂşltiplo de 100"); do { Console.WriteLine("Escriba 0 para continuar"); lee = Console.ReadLine(); regreso = Convert.ToInt16(lee); } while (regreso != 0); } else { residuo = cantidad % 200; if (residuo == 0)

198


{ Console.WriteLine("Dar {0} billetes de 200", cantidad / 200); saldoTarjeta = saldoTarjeta - cantidad; do { Console.WriteLine("Escriba 0 para continuar"); lee = Console.ReadLine(); regreso = Convert.ToInt16(lee); } while (regreso != 0); } else { mont = cantidad - 100; Console.WriteLine("Dar {0} billetes de $200", mont / 200); Console.WriteLine("Dar 1 billete de $100"); saldoTarjeta = saldoTarjeta - cantidad; do { Console.WriteLine("Escriba 0 para continuar"); lee = Console.ReadLine(); regreso = Convert.ToInt16(lee); } while (regreso != 0); }

} } else { Console.WriteLine("No cuenta con saldo sufiente"); do { Console.WriteLine("Escriba 0 para continuar"); lee = Console.ReadLine(); regreso = Convert.ToInt16(lee);

199


} while (regreso != 0); } Console.ReadKey(); } } }

200


34. Inventario Hacer un algoritmo que lleve el inventario de piezas de un almacen, donde mostrará el siguiente menú: 1. 2. 3. 4. 5. 6. 7.

Compra Devolución sobre compra Venta Devolución sobre venta Costeo Inventario Actual Salir

201


202


203


204


205


Usuario

Sistema

int pzin=500, pzact=500, opc, ret, pz, seguro; double costprom=10, cost, precio; string lee;

opc

Menú: 1.Compra 2.Devolución sobre compra 3. Venta 4. Devolución sobre Venta 5. Costeo 6. Inventario Actual 7.Salir

T

opc<1 o opc>7

F

opc

opc==1 pz

"¿Cuántas piezas compro?"

opc==3

opc==2 ó opc==4

opc==6

opc==7 default

T pz<1

"No disponible" "Inventario Actual = {0} piezas",pzact

F

"Hasta Luego"

pzact= pzact+pz

cost

"¿Cuántas piezas devolvio?"

"¿A qué costo?" T cost<1

F

"¿Cuántas piezas devolvio?" F

cost<costprom

"Compra Registrada"

"Inventario Actual = {0} piezas",pzact T

T seguro

pzact=pzact-pz

"El costo promedio es de ${0} ¿Está seguro de continuar? Si=0 No=Otro Número",costprom

F

seguro==0 ret

"Presione 0 para continuar" T

F

ret != 0

pz

T

pz<1 F T

pz>pzact

"No hay suficiente número de piezas"

F pzact=pzact-pz

cost

"¿A qué costo?" T cost<1 F cost<costprom F

"Venta registrada"

T seguro

"El costo promedio es de ${0} ¿Está seguro de continuar? Si=0 No=Otro número",costprom

T seguro==0 F pzact= pzact+pz

"Inventario Actual = {0} piezas",pzact

"Presione 0 para continuar"

regreso

F

regreso!=0

T

pz

pz<1

T

F

F

opc==2

pzact=pzact+pz

T F

pz>pzact

pzact=pzact-pz

"Devolución registrada"

T "No hay el número suficiente de piezas"

regreso

"Inventario Actual = {0} piezas",pzact

"Presione 0 para continuar" T F

regreso!=0

206


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

namespace ConsoleApplication41 { class Program { static void Main(string[] args) { int pzin = 500, pzact = 500, opc, ret = 0, pz, seguro; double costprom = 10, cost, precio; string lee;

do { do { Console.WriteLine("Menú:"); Console.WriteLine("1. Compra"); Console.WriteLine("2. Devolución sobre compra"); Console.WriteLine("3. Venta"); Console.WriteLine("4. Devolución sobre venta"); Console.WriteLine("5. Costeo"); Console.WriteLine("6. Inventario Actual"); Console.WriteLine("7. Salir");

lee = Console.ReadLine(); opc = Convert.ToInt16(lee); } while (opc < 1 || opc > 7);

switch (opc)

207


{ case 1: do { Console.WriteLine("¿Cuántas piezas compró?"); lee = Console.ReadLine(); pz = Convert.ToInt16(lee); } while (pz < 1); pzact = pzact + pz; do { Console.WriteLine("¿A qué costo?"); lee = Console.ReadLine(); cost = Convert.ToDouble(lee); } while (cost < 1); if (cost < costprom) { Console.WriteLine("El costo promedio es ${0} ¿Está seguro de continuar?", costprom); Console.WriteLine("Si=0

No= Cualquier otro número");

lee = Console.ReadLine(); seguro = Convert.ToInt16(lee); if (seguro == 0) { Console.WriteLine("Compra registrada"); Console.WriteLine("Inventario Actual = {0} piezas", pzact); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); }

208


else { pzact = pzact - pz; Console.WriteLine("Inventario Actual = {0} piezas", pzact); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); } } else { Console.WriteLine("Compra registrada"); Console.WriteLine("Inventario Actual = {0} piezas", pzact); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); } break; case 2: do { Console.WriteLine("¿Cuántas piezas devolvio?"); lee = Console.ReadLine(); pz = Convert.ToInt16(lee); } while (pz < 1); if (pz > pzact)

209


{ Console.WriteLine("No hay suficiente número de piezas"); Console.WriteLine("Inventario Actual = {0} piezas", pzact); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); } else { pzact = pzact - pz; Console.WriteLine("Devolución Registrada"); Console.WriteLine("Inventario Acual = {0} piezas", pzact); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); } break; case 3: do{ Console.WriteLine("¿Cuántas piezas vendió?"); lee = Console.ReadLine(); pz = Convert.ToInt16(lee); } while(pz<1); if (pz > pzact) { Console.WriteLine("No hay piezas suficientes");

210


do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); } else { pzact = pzact - pz; do { Console.WriteLine("¿A qué precio?"); lee = Console.ReadLine(); precio = Convert.ToDouble(lee); } while (precio < 1); if (precio < costprom) { Console.WriteLine("El precio promedio es de ${0}", costprom); Console.WriteLine("¿Está seguro de continuar?"); Console.WriteLine("Si = 0

No = Cualquier Número");

lee = Console.ReadLine(); seguro = Convert.ToInt16(lee); if (seguro == 0) {

Console.WriteLine("Venta Registrada"); Console.WriteLine("Inventario Acual = {0} piezas", pzact); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine();

211


ret = Convert.ToInt16(lee); } while (ret != 0); } else { pzact = pzact + pz; Console.WriteLine("Inventario Acual = {0} piezas", pzact); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); }

} else { Console.WriteLine("Venta Registrada"); Console.WriteLine("Inventario Acual = {0} piezas", pzact); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); } } break; case 4: do

212


{ Console.WriteLine("¿Cuántas piezas se devolvieron?"); lee = Console.ReadLine(); pz = Convert.ToInt16(lee); } while (pz < 1); pzact = pzact + pz; Console.WriteLine("Devolución Registrada"); Console.WriteLine("Inventario Acual = {0} piezas", pzact); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); break; case 6: Console.WriteLine("Inventario Actual"); Console.WriteLine("Número de Piezas -- {0}", pzact); Console.WriteLine("Valor del Inventario Actual en Base al Costo Promedio -- ${0}", pzact * costprom); do { Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); break; case 7: Console.WriteLine("Hasta Luego"); break; default: Console.WriteLine("No disponible"); do {

213


Console.WriteLine("Presione 0 para continuar"); lee = Console.ReadLine(); ret = Convert.ToInt16(lee); } while (ret != 0); break; } } while (ret == 0 & opc != 7); Console.ReadKey(); } } }

214


35. Algoritmo PET Hacer un algoritmo que registre el número de botellas y contenedores de estas clasificadas en: 1. 2. 3. 4.

Grandes y Limpias Grandes y Sucias Pequeñas y Limpias Pequeñas y Sucias

215


216


Usuario

Sistema

int t, e,kg, resp; int c1=c2=c3=c4=0; int tk1=tk2=tk3=tk4=resto1=resto2=resto3=resto4=0

resp

"ÂżHay carga? 1.Si 2.No"

F

resp==1

t

e

kg

T "Ingresa el tamaĂąo 1.Grande 2.Chica"

"Grandes limpias - - {0} - contenedores {1}", c1,(c1*200)+tk1

"Grandes sucias - - {0} - contenedores {1}",c2, (c2*200)+tk2

"Chicas sucias - - {0} - contenedores {1}",c4, (c4*100)+tk4

"Chicas limpias - - {0} - contenedores {1}",c3, (c3*100)+tk3

"Ingresa el estado 1.Limpia 2.Sucia"

"Total de contenedores - - {0}",c1+c2+c3+c4

"Total de kg - - {0}",[(c1*200)+tk1]+ [(c2*200)+tk2]+ [(c3*100)+tk3]+ [(c4*100)+tk4]

"Ingrese los kilos recibidos"

F

F

t==1

tk4=tk4+kg

e==1 T

T F

tk2=tk2+kg

e==1

tk3=tk3+kg tk4<100 T

T tk1=tk1+kg

tk3<100

tk2<200 F T

tk1<200

T

F resto4= tk4-100

resto2=tk2-200

F resto3=tk3-100

tk4=resto4

tk2=resto2

tk3=resto3

c4++

c2++

c3++

T F resto1=tk1-200

tk1=resto1

c1++

"ÂżHay otra carga? 1.Si 2.No"

resp

217


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

namespace ConsoleApplication41 { class Program { static void Main(string[] args) { int t, e, kg, resp, c1 =0, c2 =0, c3 =0, c4 = 0, tk1 =0, tk2 =0, tk3 =0, tk4 =0, resto1 =0, resto2 =0, resto3 =0, resto4 = 0; string lee;

Console.WriteLine("ÂżHay carga?

1. Si

2.No");

lee = Console.ReadLine(); resp = Convert.ToInt16(lee);

while(resp==1) { Console.WriteLine("Ingresa el tamaĂąo

1.Grande

2.Chica");

lee = Console.ReadLine(); t = Convert.ToInt16(lee); Console.WriteLine("Ingresa el estado

1. Limpia

2.Sucia");

lee = Console.ReadLine(); e = Convert.ToInt16(lee); Console.WriteLine("Ingrese los kilos recibidos"); lee = Console.ReadLine(); kg = Convert.ToInt16(lee); if(t==1) { if(e==1) { tk1 = tk1 + kg; if(tk1<200)

218


{

} else { resto1 = tk1 - 200; tk1 = resto1; c1 = c1 + 1; } } else { tk2 = tk2 + kg; if(tk2<200) { } else { resto2 = tk2 - 200; tk2 = resto2; c2 = c2 + 1; } } } else { if(e==1) { tk3 = tk3 + kg; if(tk3<100) { } else { resto3 = tk3 - 100; tk3 = resto3; c3 = c3 + 1; }

219


} else { tk4 = tk4 + kg; if(tk4<100) { } else { resto4 = tk4 - 100; tk4 = resto4; c4 = c4 + 1; } } } Console.WriteLine("ÂżHay otra carga?

1.Si

2.No");

lee = Console.ReadLine(); resp = Convert.ToInt16(lee); } Console.WriteLine("Grandes limpias - - {0} - - contenedores {1}", c1, (c1 * 200) + tk1); Console.WriteLine("Grandes sucias - - {0} - - contenedores {1}", c2, (c2 * 200) + tk2); Console.WriteLine("Chicas limpias - - {0} - - contenedores {1}", c3, (c3 * 100) + tk3); Console.WriteLine("Chicas sucias - - {0} - - contenedores {1}", c4, (c4 * 100) + tk4); Console.WriteLine("Total de contenedores - - {0}", c1 + c2 + c3 + c4); Console.WriteLine("Total de kg - - {0}",((c1 * 200) + tk1) + ((c2 * 200) + tk2) + ((c3 * 100) + tk3) + ((c4 * 100) + tk4)); Console.ReadKey(); } } }

220


221


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.