Post on 24-Jul-2016
description
ALGORITMOS INGENIERÍA DE SOFTWARE
CARLOS ANDRÉS GARCÍA TZOMPANTZIN OTOÑO 2015
27 DE NOVIEMBRE DE 2015
Listado de Algoritmos
1. Áreas con IF 01/09 .............................................................................................................................................................. 7
1.1 Enunciado ...................................................................................................................................................................... 7
1.2 Diagrama a mano .......................................................................................................................................................... 8
1.3 Prueba de escritorio ...................................................................................................................................................... 9
1.4 Diagrama de Rational Rose ......................................................................................................................................... 10
1.5 Código para PSeint ...................................................................................................................................................... 11
1.6 Capturas de Pantalla ................................................................................................................................................... 13
2. Áreas con switch 04/09 ..................................................................................................................................................... 15
2.1 Enunciado .................................................................................................................................................................... 15
2.2 Diagrama a mano ........................................................................................................................................................ 16
2.3 Prueba de escritorio .................................................................................................................................................... 17
2.4 Diagrama de Rational Rose ......................................................................................................................................... 18
2.5 Código para PSeint ...................................................................................................................................................... 19
2.6 Capturas de Pantalla ................................................................................................................................................... 22
3. Edades con switch 09/09 .................................................................................................................................................. 24
3.1 Enunciado .................................................................................................................................................................... 24
3.2 Diagrama a mano ........................................................................................................................................................ 25
3.3 Prueba de escritorio .................................................................................................................................................... 26
3.4 Diagrama de Rational Rose ......................................................................................................................................... 27
3.5 Código para C# ............................................................................................................................................................ 28
3.6 Capturas de Pantalla. .................................................................................................................................................. 30
4. Llamada telefónica usando dos variables (minutos/segundos) con if´s 23/09 ................................................................. 31
4.1 Enunciado .................................................................................................................................................................... 31
4.2 Diagrama a mano ........................................................................................................................................................ 32
4.3 Prueba de escritorio .................................................................................................................................................... 33
4.4 Diagrama de Rational Rose ......................................................................................................................................... 34
4.5 Código para C# ............................................................................................................................................................ 35
4.6 Capturas de Pantalla ................................................................................................................................................... 36
5. Tablas de multiplicar con FOR ascendente 23/09............................................................................................................. 37
5.1 Enunciado .................................................................................................................................................................... 37
5.2 Diagrama a mano ........................................................................................................................................................ 38
5.3 Prueba de escritorio .................................................................................................................................................... 39
5.4 Diagrama de Rational Rose ......................................................................................................................................... 40
5.5 Código para C# ............................................................................................................................................................ 41
5.6 Capturas de Pantalla ................................................................................................................................................... 42
6. Tablas de multiplicar con FOR descendente 23/09 .......................................................................................................... 43
6.1 Enunciado .................................................................................................................................................................... 43
6.2 Diagrama a mano ........................................................................................................................................................ 44
6.3 Prueba de escritorio .................................................................................................................................................... 45
6.4 Diagrama de Rational Rose ......................................................................................................................................... 46
6.5 Código para C# ............................................................................................................................................................ 47
6.6 Capturas de Pantalla ................................................................................................................................................... 48
7. Alumnos sin beca y con beca del 50% y 100% -> promedio de cada uno usando FOR 23/09 .......................................... 49
7.1 Enunciado .................................................................................................................................................................... 49
7.2 Diagrama a mano ........................................................................................................................................................ 50
7.3 Prueba de escritorio .................................................................................................................................................... 51
7.4 Diagrama de Rational Rose ......................................................................................................................................... 52
7.5 Código para C# ............................................................................................................................................................ 53
7.6 Capturas de Pantalla ................................................................................................................................................... 55
8. Tienda con ticket FOR 08/11 ............................................................................................................................................. 56
8.1 Enunciado .................................................................................................................................................................... 56
8.2 Diagrama a mano ........................................................................................................................................................ 57
8.3 Prueba de escritorio .................................................................................................................................................... 58
8.4 Diagrama de Rational Rose ......................................................................................................................................... 59
8.5 Código para C# ............................................................................................................................................................ 60
8.6 Capturas de Pantalla ................................................................................................................................................... 62
9. Números pares e impares, mencionar cuántos de cada uno y cuál fue el mayor y menor, también de cada uno usando
FOR 26/09 ............................................................................................................................................................................. 63
9.1 Enunciado .................................................................................................................................................................... 63
9.2 Diagrama a mano ........................................................................................................................................................ 64
9.3 Prueba de escritorio .................................................................................................................................................... 65
9.4 Diagrama de Rational Rose ......................................................................................................................................... 66
9.5 Código para C# ............................................................................................................................................................ 67
9.6 Capturas de Pantalla ................................................................................................................................................... 69
10. Números pares e impares, mencionar cuántos de cada uno pares e impares, mencionar cuántos de cada uno usando
While 26/09........................................................................................................................................................................... 70
10.1 Enunciado .................................................................................................................................................................. 70
10.2 Diagrama a mano ...................................................................................................................................................... 71
10.3 Prueba de escritorio .................................................................................................................................................. 72
10.4 Diagrama de Rational Rose ....................................................................................................................................... 73
10.5 Código para C# .......................................................................................................................................................... 74
10.6 Capturas de Pantalla ................................................................................................................................................. 75
11. Edades con FOR 05/10 .................................................................................................................................................... 76
11.1 Enunciado .................................................................................................................................................................. 76
11.2 Diagrama a mano ...................................................................................................................................................... 77
11.3 Prueba de escritorio .................................................................................................................................................. 78
11.4 Diagrama de Rational Rose ....................................................................................................................................... 79
11.5 Código para C# .......................................................................................................................................................... 80
11.6 Capturas de Pantalla ................................................................................................................................................. 81
12. Llamada minutos y segundo con Do-While 26/10 .......................................................................................................... 82
12.1 Enunciado .................................................................................................................................................................. 82
12.2 Diagrama a mano ...................................................................................................................................................... 83
12.3 Prueba de escritorio .................................................................................................................................................. 84
12.4 Diagrama de Rational Rose ....................................................................................................................................... 85
12.5 Código para C# .......................................................................................................................................................... 86
12.6 Capturas de Pantalla ................................................................................................................................................. 88
13. Calificaciones A, B y C con While 20/10 .......................................................................................................................... 89
13.1 Enunciado .................................................................................................................................................................. 89
13.2 Diagrama a mano ...................................................................................................................................................... 90
13.3 Prueba de escritorio .................................................................................................................................................. 91
13.4Diagrama de Rational Rose ........................................................................................................................................ 92
13.5 Código para C# .......................................................................................................................................................... 93
13.6 Capturas de Pantalla ................................................................................................................................................. 95
14. Área con Do-While 21/10................................................................................................................................................ 96
14.1 Enunciado .................................................................................................................................................................. 96
14.2 Diagrama a mano ...................................................................................................................................................... 97
14.3 Prueba de escritorio .................................................................................................................................................. 98
14.4 Diagrama de Rational Rose ....................................................................................................................................... 99
14.5 Código para C# ........................................................................................................................................................ 100
14.6 Captura de Pantalla ................................................................................................................................................. 102
15. Frutas con Do-While 28/10 ........................................................................................................................................... 103
15.1 Enunciado ................................................................................................................................................................ 103
15.2 Diagrama a mano .................................................................................................................................................... 104
15.3 Prueba de escritorio ................................................................................................................................................ 107
15.4 Diagrama de Rational Rose ..................................................................................................................................... 108
15.5 C# ............................................................................................................................................................................ 109
15.6 Capturas de Pantalla ............................................................................................................................................... 112
16. Verificación con Do-While 02/11 .................................................................................................................................. 113
16.1 Enunciado ................................................................................................................................................................ 113
16.2 Diagrama a mano .................................................................................................................................................... 114
16.3 Prueba de escritorio ................................................................................................................................................ 115
16.4 Diagrama de Rational Rose ..................................................................................................................................... 116
16.5 C# ............................................................................................................................................................................ 117
16.6 Captura de Pantalla ................................................................................................................................................. 120
17. Verificación con FOR 02/11 ........................................................................................................................................... 121
17.1 Enunciado ................................................................................................................................................................ 121
17.2 Diagrama a mano .................................................................................................................................................... 122
17.3 Prueba de escritorio ................................................................................................................................................ 123
17.4 Diagrama de Rational Rose ..................................................................................................................................... 124
17.5 C# ............................................................................................................................................................................ 125
17.6 Captura de Pantalla ................................................................................................................................................. 128
18. Inventario con Do-While 03/11 .................................................................................................................................... 129
18.1 Enunciado ................................................................................................................................................................ 129
18.2 Diagrama a mano .................................................................................................................................................... 130
18.3 Prueba de escritorio ................................................................................................................................................ 131
18.4 Diagrama de Rational Rose ..................................................................................................................................... 132
18.5 C# ............................................................................................................................................................................ 133
18.6 Capturas de Pantalla ............................................................................................................................................... 136
19. Caseta con FOR 08/11 ................................................................................................................................................... 137
19.1 Enunciado ................................................................................................................................................................ 137
19.2 Diagrama a mano .................................................................................................................................................... 138
19.3 Prueba de escritorio ................................................................................................................................................ 139
19.4 Diagrama de Rational Rose ..................................................................................................................................... 140
19.5 C# ............................................................................................................................................................................ 141
19.6 Captura de Pantalla ................................................................................................................................................. 143
20. Caseta con WHILE 08/11 ............................................................................................................................................... 144
20.1 Enunciado ................................................................................................................................................................ 144
20.2 Diagrama a mano .................................................................................................................................................... 145
20.3 Prueba de escritorio ................................................................................................................................................ 146
20.4 Diagrama de Rational Rose ..................................................................................................................................... 147
20.5 C# ............................................................................................................................................................................ 148
20.6 Captura de Pantalla ................................................................................................................................................. 150
21. Caseta con DO-WHILE 08/11......................................................................................................................................... 151
21.1 Enunciado ................................................................................................................................................................ 151
21.2 Diagrama a mano .................................................................................................................................................... 152
21.3 Prueba de escritorio ................................................................................................................................................ 153
21.4 Diagrama de Rational Rose ..................................................................................................................................... 154
21.5 C# ............................................................................................................................................................................ 155
21.6 Captura de Pantalla ................................................................................................................................................. 157
22. Menú de exponente y raíz cuadrada 09/11 .................................................................................................................. 158
22.1 Enunciado ................................................................................................................................................................ 158
22.2 Diagrama a mano .................................................................................................................................................... 159
22.3 Prueba de escritorio ................................................................................................................................................ 160
22.4 Diagrama de Rational Rose ..................................................................................................................................... 161
22.5 C# ............................................................................................................................................................................ 162
22.6 Captura de Pantalla ................................................................................................................................................. 164
23. Venta de Boletos de un teatro 09/11 ........................................................................................................................... 165
23.1 Enunciado ................................................................................................................................................................ 165
23.2 Diagrama a mano .................................................................................................................................................... 166
23.3 Prueba de escritorio ................................................................................................................................................ 167
23.4 Diagrama de Rational Rose ..................................................................................................................................... 168
23.5 C# ............................................................................................................................................................................ 169
23.6 Captura de Pantalla ................................................................................................................................................. 179
24. Control de baños y asientos de un teatro. .................................................................................................................... 181
24.1 Enunciado ................................................................................................................................................................ 181
24.2 Diagrama a mano. ................................................................................................................................................... 182
24.3 Prueba de escritorio ................................................................................................................................................ 183
24.4 Diagrama de Rational Rose ..................................................................................................................................... 184
24.5 Código para C# ........................................................................................................................................................ 185
24.6 Capturas de Pantalla ............................................................................................................................................... 187
25. Áreas con while ............................................................................................................................................................. 188
25.1 Enunciado ................................................................................................................................................................ 188
25.2 Diagrama a mano .................................................................................................................................................... 189
25.3 Prueba de escritorio ................................................................................................................................................ 190
25.4 Diagrama de Rational Rose ..................................................................................................................................... 191
25.5 C# ............................................................................................................................................................................ 192
25.6 Capturas de Pantalla ............................................................................................................................................... 194
26. Calificaciones A, B y C con For 20/10 ............................................................................................................................ 195
26.1 Enunciado ................................................................................................................................................................ 195
26.2 Diagrama a mano .................................................................................................................................................... 196
26.3 Prueba de escritorio ................................................................................................................................................ 197
26.4 Diagrama de Rational Rose ..................................................................................................................................... 198
26.5 C# ............................................................................................................................................................................ 199
26.6 Captura de Pantalla ................................................................................................................................................. 200
1. Áreas con IF 01/09
1.1 Enunciado
Hacer un diagrama de actividades que cumpla con lo siguiente. (Con IF)
Muestre un menú para calcular el área de:
A. Cuadrado
B. Rectángulo
C. Triángulo
Solicitar los valores correspondientes:
A. Los datos deben ser mayor a 0
B. En el caso del rectángulo la altura debe ser mayor a la base
C. En el caso del triángulo no importa que la altura sea mayor a la base
1.2 Diagrama a mano
1.3 Prueba de escritorio
1.4 Diagrama de Rational Rose
1.5 Código para PSeint
Proceso Obetener_area_de_una_figura
// Definir Variables
Definir lado,base,altura Como Real
Definir letraFigura Como Caracter
Escribir 'Poner la letra de la figura que quiera sacar su área. A=Cuadrado, B=Rectangulo, C=Triángulo'
Leer letraFigura
Si letraFigura='A' O letraFigura='a' Entonces
Escribir 'Escribir el tamaño del lado'
Leer lado
Si lado<=0 Entonces
Escribir 'Error'
Sino
Escribir 'El área del rectángulo = ',lado*lado
FinSi
Sino
Si letraFigura='B' O letraFigura='b' Entonces
Escribir 'Escribir el tamaña de la base'
Leer base
Si base<=0 Entonces
Escribir 'Error'
Sino
Escribir 'Escribir el tamaño de la altura'
Leer altura
Si altura<base Entonces
Escribir 'Error: La altura es menor que la base'
Sino
Escribir 'La base ',base,' X ',altura,' = ',base*altura
FinSi
FinSi
Sino
Si letraFigura='C' O letraFigura='c' Entonces
Escribir 'Escribir el tamaño de la base'
Leer base
Si base<=0 Entonces
Escribir 'Error'
Sino
Escribir 'Escribir el tamaño de la altura'
Leer altura
Si altura<=0 Entonces
Escribir 'Error'
Sino
Escribir 'El área del triángulo es = ',(base*altura)/2
FinSi
FinSi
Sino
Escribir 'Error'
FinSi
FinSi
FinSi
FinProceso
1.6 Capturas de Pantalla
2. Áreas con switch 04/09
2.1 Enunciado
Hacer un diagrama de actividades que cumpla con lo siguiente. (Con switch)
Muestre un menú para calcular el área de:
A. Cuadrado
B. Rectángulo
C. Triángulo
Solicitar los valores correspondientes:
A. Los datos deben ser mayor a 0
B. En el caso del rectángulo la altura debe ser mayor a la base
C. En el caso del triángulo no importa que la altura sea mayor a la base
2.2 Diagrama a mano
2.3 Prueba de escritorio
2.4 Diagrama de Rational Rose
2.5 Código para PSeint Proceso Calificaciones_con_letras
//Definir variables letraFigura, lado, base, altura
Definir letraFigura Como Caracter
Definir lado, base, altura Como Real
Escribir "Poner la letra de la figura que quiera sacar."
Escribir "A=Cuadrado"
Escribir "B=Rectángulo"
Escribir "C=Triángulo"
Leer letraFigura
Segun letraFigura Hacer
"A" o "a":
Escribir "Escribir el tamaño del lado."
Leer lado
Si lado<=0 Entonces
Escribir "Error"
Sino
Escribir "El área del cuadrado = ", lado*lado
Fin Si
"B" o "b":
Escribir "Escribir el tamaño de la base."
Leer base
Si base<=0 Entonces
Escribir "Error"
Sino
Escribir "Escribir el tamaño de la altura."
Leer altura
Si altura<base Entonces
Escribir "Error: La altura es menor que la base."
Sino
Escribir "El área del rectángulo = ", base*altura
Fin Si
Fin Si
"C" o "c":
Escribir "Escribir el tamaño de la base."
Leer base
Si base<=0 Entonces
Escribir "Error"
Sino
Escribir "Escribir el tamaño de la altura."
Leer altura
Si altura<=0 Entonces
Escribir "Error"
Sino
Escribir "El área del triángulo es = ", (base*altura)/2
Fin Si
Fin Si
De Otro Modo:
Escribir "Error"
Fin Segun
FinProceso
2.6 Capturas de Pantalla
3. Edades con switch 09/09
3.1 Enunciado
Hacer un diagrama de actividades que cumpla con lo siguiente.
Se pedirá la cantidad de edades a ingresar.
Mostrar si son mayores de edad o menores de edad.
1. Menor de edad= edad>0 o edad<=17
2. Mayor de edad= edad>17 y edad<=110
Se deben de ir sumando las edades ingresadas y al final realizar un promedio general de todas las edades ingresadas y
mostrar la cantidad de errores que se hicieron.
3.2 Diagrama a mano
3.3 Prueba de escritorio
3.4 Diagrama de Rational Rose
3.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication49 { class Program { static void Main(string[] args) { int cantidadEdades = 0, i = 0, edad = 0, contadorError = 0, contadorMayor = 0; int contadorMenor = 0; double sumaMayor = 0, sumaMenor = 0; string leer, condicion; Console.WriteLine("Introdusca el número de edades a calcular."); leer = Console.ReadLine(); cantidadEdades = Convert.ToInt32(leer); for (i = 0; i < cantidadEdades; i++) { Console.WriteLine("Introdusca la edad."); leer = Console.ReadLine(); edad = Convert.ToInt32(leer); if (edad <= 0 || edad > 110) condicion = "3"; else { if (edad < 18) condicion = "1"; else condicion = "2"; } switch (condicion) { case "1": Console.WriteLine("Es menor de edad."); contadorMenor++; sumaMenor = edad + sumaMenor; break; case "2": Console.WriteLine("Es mayor de edad."); contadorMayor++; sumaMayor = edad + sumaMayor; break; case "3": Console.WriteLine("Error."); contadorError++; break; default: Console.WriteLine("Error."); contadorError++; break;
} }//Fin For Console.WriteLine("Numero total de mayores de edad = {0} y su promedio = {1}", contadorMayor, sumaMayor / contadorMayor); Console.WriteLine("Numero total de menores de edad = {0} y su promedio = {1}", contadorMenor, sumaMenor / contadorMenor); Console.WriteLine("Numero totales de errores = {0}", contadorError); Console.ReadKey(); } } }
3.6 Capturas de Pantalla.
4. Llamada telefónica usando dos variables (minutos/segundos) con if´s 23/09
4.1 Enunciado
Hacer con IF el algoritmo de la llamada telefónica, solicita el costo de una llamada. Al salir debe mostrar el tiempo total y
el monto total. Nuevamente aplica que los primero 5 minutos cuesta .50 cada minuto y a partir del segundo 6 es un
peso por minuto.
4.2 Diagrama a mano
4.3 Prueba de escritorio
4.4 Diagrama de Rational Rose
4.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication45 { class Program { static void Main(string[] args) { int segundos = 0, minutos = 0; string leer; Console.WriteLine("Dame los minutos de la llamada."); leer = Console.ReadLine(); minutos = Convert.ToInt32(leer); Console.WriteLine("Dame los segundos de la llamada."); leer = Console.ReadLine(); segundos = Convert.ToInt32(leer); if (minutos <= 0 || minutos > 60 || segundos < 0 || segundos > 60) Console.WriteLine("Error al ingresar los datos."); else segundos = segundos + (minutos * 60); if (segundos % 60 > 0) { minutos++; if (minutos <= 5) { Console.WriteLine("El precio de llamada es {0}", minutos * 0.5); } else { Console.WriteLine("El precio de llamada es {0}", minutos - 2.5); } } else { if (minutos <= 5) Console.WriteLine("El precio de llamada es {0}", minutos * 0.5); else Console.WriteLine("El precio de llamada es {0}", minutos - 2.5); } Console.ReadKey(); } } }
4.6 Capturas de Pantalla
5. Tablas de multiplicar con FOR ascendente 23/09
5.1 Enunciado
Realizar un ciclo de una tabla multiplicar. Se deberá de pedir el número a multiplicar y la cantidad de veces serán = 19
veces. Y al finalizar se mostrará la tabla de multiplicar de forma ascendente del 0 al 19.
La forma en la que se utilizará FOR es mediante i++
5.2 Diagrama a mano
5.3 Prueba de escritorio
5.4 Diagrama de Rational Rose
5.5 Código para C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication46 { class Program { static void Main(string[] args) { int numero = 0, i = 0; string leer; Console.WriteLine("Dame el número para hacer la tabla de multiplicar."); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); for (i = 0; i <= 19; i++) { Console.WriteLine("La multiplicación de {0} X {1} = {2}", numero, i, numero * i); } Console.WriteLine("Proceso terminado."); Console.ReadKey(); } } }
5.6 Capturas de Pantalla
6. Tablas de multiplicar con FOR descendente 23/09
6.1 Enunciado
Realizar un ciclo de una tabla multiplicar. Se deberá de pedir el número a multiplicar y la cantidad de veces serán = 19
veces. Y al finalizar se mostrará la tabla de multiplicar de forma descendente del 19 al 1.
La forma en la que se utilizará FOR es mediante i--
6.2 Diagrama a mano
6.3 Prueba de escritorio
6.4 Diagrama de Rational Rose
6.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication46 { class Program { static void Main(string[] args) { int numero = 0, i = 19; string leer; Console.WriteLine("Dame el número para hacer la tabla de multiplicar."); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); for (i = 19; i >= 1; i--) { Console.WriteLine("La multiplicación de {0} X {1} = {2}", numero, i, numero * i); } Console.WriteLine("Proceso terminado."); Console.ReadKey(); } } }
6.6 Capturas de Pantalla
7. Alumnos sin beca y con beca del 50% y 100% -> promedio de cada uno usando
FOR 23/09
7.1 Enunciado
Hacer un diagrama de actividades:
Solicita el número de alumnos a calcular promedio de calificación
Pregunte si tienen beca de 100% o 50% de descuento
Solicite su calificación final de todas sus materias la calificación valida 0 y 10, si no lo es no la toma en cuenta para los
siguientes cálculos:
1. Promedio general.
2. Promedio general de los alumnos de beca del 100%.
3. Promedio general de los alumnos de beca del 50%.
7.2 Diagrama a mano
7.3 Prueba de escritorio
7.4 Diagrama de Rational Rose
7.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { int i, calificaciones, beca = 0, numeroAlumnos, contador100 = 0, contador50 = 0, contador0 = 0; double beca50 = 0, beca100 = 0, beca0 = 0; string leer; Console.WriteLine("¿Cuál es el número total de alumnos para calcular su promedio?"); leer = Console.ReadLine(); numeroAlumnos = Convert.ToInt32(leer); for (i = 0; i < numeroAlumnos; i++) { Console.WriteLine("Su alumno cuenta con beca del 100, 50 o 0 porciento."); leer = Console.ReadLine(); beca = Convert.ToInt32(leer); Console.WriteLine("Ingrese la calificación del alumno."); leer = Console.ReadLine(); calificaciones = Convert.ToInt32(leer); if (calificaciones < 0 || calificaciones > 10) Console.WriteLine("Error"); else switch (beca) { case 100: beca100 = beca100 + calificaciones; contador100++; break; case 50: beca50 = beca50 + calificaciones; contador50++; break; case 0: beca0 = beca0 + calificaciones; contador0++; break; default: Console.WriteLine("Error."); break; }//Cierre Switch }//Cierre for Console.WriteLine("Promedio General = {0}", (beca0 + beca100 + beca50) / (contador100 + contador50 + contador0)); Console.WriteLine("Promedio de calificaciones con beca del 100% = {0}", (beca100) / contador100);
Console.WriteLine("Promedio de calificaciones con beca del 50% = {0}", (beca50) / contador50); Console.ReadKey(); } } }
7.6 Capturas de Pantalla
8. Tienda con ticket FOR 08/11
8.1 Enunciado
Realizar un algoritmo que primero se solicite la cantidad de artículos que van a ser ingresados después de eso, pedirá el
tipo de artículo (Medicamento, Alimento u Otro) y solicitará el precio del mismo. Si el precio es menor a cero marcará
error y lo contará para el ciclo. Por cada artículo la pantalla mostrará su ticket que incluirá el número de artículo. El tipo,
el precio sin IVA y con IVA. Al finalizar el ciclo, se mostrará el dinero total de cada tipo con y sin IVA y el total de todos
los artículos con y sin IVA.
8.2 Diagrama a mano
8.3 Prueba de escritorio
8.4 Diagrama de Rational Rose
8.5 Código para C#
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 i, producto, precio, articulos, sinIvaComestible = 0, sinIvaMedicamento = 0, sinIvaOtro = 0, sumaTotalSinIva = 0; double sumaIvaComestible = 0, sumaIvaMedicamento = 0, sumaIvaOtro = 0, sumaTotalIva = 0; string leer; string tipo; Console.WriteLine("¿Cuántos articulos vas a ingresar?"); leer = Console.ReadLine(); articulos = Convert.ToInt32(leer); tipo = ""; for (i = 0; i < articulos; i++) { Console.WriteLine("¿Qué tipo de producto vas a comprar?(Ingrese el número del inciso.)"); Console.WriteLine("1) Comestible."); Console.WriteLine("2) Medicamento."); Console.WriteLine("3) Otro."); leer = Console.ReadLine(); producto = Convert.ToInt32(leer); Console.WriteLine("Ingrese el precio."); leer = Console.ReadLine(); precio = Convert.ToInt32(leer); if (precio < 0) Console.WriteLine("Error."); else { switch (producto) { case 1: sinIvaComestible = sinIvaComestible + precio; sumaIvaComestible = sumaIvaComestible + precio; tipo = "Comestible"; break; case 2: sinIvaMedicamento = sinIvaMedicamento + precio; sumaIvaMedicamento = sumaIvaMedicamento + (precio + (precio * 0.05)); tipo = "Medicamento."; break; case 3: sinIvaOtro = sinIvaOtro + precio; sumaIvaOtro = sumaIvaOtro + (precio + (precio * 0.1)); tipo = "Otro."; break; default:
Console.WriteLine("Error."); break; }//Cierre Switch sumaTotalIva = sumaIvaComestible + sumaIvaMedicamento + sumaIvaOtro; sumaTotalSinIva = sinIvaComestible + sinIvaMedicamento + sinIvaOtro; Console.WriteLine("No. Tipo. Precio sin IVA. Precio con IVA."); Console.WriteLine("{0} {1} {2} {3}", i + 1, tipo, sumaTotalIva, sumaTotalSinIva); } }//Cierre for Console.WriteLine("Precio total de todos los articulos con IVA = {0}", (sumaIvaComestible + sumaIvaMedicamento + sumaIvaOtro)); Console.WriteLine("Precio total de todos los articulos sin IVA = {0}", (sinIvaComestible + sinIvaMedicamento + sinIvaOtro)); Console.WriteLine("Pecio total de los articulos comestibles con IVA= {0}", (sumaIvaComestible)); Console.WriteLine("Pecio total de los articulos comestibles sin IVA= {0}", (sinIvaComestible)); Console.WriteLine("Pecio total de los articulos de meciamento con IVA= {0}", (sumaIvaMedicamento)); Console.WriteLine("Pecio total de los articulos de medicamento sin IVA= {0}", (sinIvaMedicamento)); Console.WriteLine("Pecio total de otros articulos con IVA= {0}", (sumaIvaOtro)); Console.WriteLine("Pecio total de otros articulos sin IVA= {0}", (sinIvaOtro)); Console.ReadKey(); } } }
8.6 Capturas de Pantalla
9. Números pares e impares, mencionar cuántos de cada uno y cuál fue el mayor y
menor, también de cada uno usando FOR 26/09
9.1 Enunciado
Hacer un diagrama de actividades:
- Solicitar el total de veces que pedirá números (control del for)
- Sumará por separado los pares y en otra sumatoria los nones
- Y mencionará cual es el mayor y menor de los pares, así como de los nones
9.2 Diagrama a mano
9.3 Prueba de escritorio
9.4 Diagrama de Rational Rose
9.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication48 { class Program { static void Main(string[] args) { int i = 0, contadorNumero = 0, numeroIngresado = 0, sumaPares = 0, sumaNones = 0; int controlPar = 0, controlNon = 0, parMayor = 0, parMenor = 0, nonMayor = 0, nonMenor = 0; string leer; Console.WriteLine("¿Cuántos números vas a ingresar?"); leer = Console.ReadLine(); contadorNumero = Convert.ToInt32(leer); for (i = 0; i < contadorNumero; i++) { Console.WriteLine("Escribe el número."); leer = Console.ReadLine(); numeroIngresado = Convert.ToInt32(leer); switch (numeroIngresado % 2) { case 0: sumaPares = sumaPares + numeroIngresado; if (controlPar == 0) { parMayor = numeroIngresado; parMenor = numeroIngresado; controlPar++; ; } else { if (numeroIngresado <= parMenor) parMenor = numeroIngresado; else { if (numeroIngresado >= parMayor) parMayor = numeroIngresado; else Console.ReadKey(); } }//Fin Else break; case 1: sumaNones = sumaNones + numeroIngresado; if (controlNon == 0) { nonMayor = numeroIngresado; nonMenor = numeroIngresado; controlNon++; ; } else { if (numeroIngresado <= nonMenor) nonMenor = numeroIngresado;
else { if (numeroIngresado >= nonMayor) nonMayor = numeroIngresado; else Console.ReadKey(); } }//Fin Else break; default: break; }//Fin Switch }//Fin FOR Console.WriteLine("Par Mayor = {0}", parMayor); Console.WriteLine("Par Menor = {0}", parMenor); Console.WriteLine("Non Mayor = {0}", nonMayor); Console.WriteLine("Non Menor = {0}", nonMenor); Console.WriteLine("La suma de los números pares = {0}", sumaPares); Console.WriteLine("La suma de los números nones = {0}", sumaNones); if (sumaPares > sumaNones) Console.WriteLine("La suma de los números pares es mayor que los impares."); else Console.WriteLine("La suma de los números impares es mayor que los pares."); Console.ReadKey(); } } }
9.6 Capturas de Pantalla
10. Números pares e impares, mencionar cuántos de cada uno pares e impares,
mencionar cuántos de cada uno usando While 26/09
10.1 Enunciado
Hacer un diagrama de actividades:
- Solicitar el total de veces que pedirá números
- Sumará por separado los pares ingresados y en otra sumatoria los nones ingresados
- Y mencionará la cantidad de pares e impares ingresados en el ciclo
10.2 Diagrama a mano
10.3 Prueba de escritorio
10.4 Diagrama de Rational Rose
10.5 Código para C# 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 contaNumero = 0, i = 0, numeroIngresado = 0; int sumaPares = 0, sumaNon = 0; string leer; Console.WriteLine("¿Cuántos números vas a ingresar?"); leer = Console.ReadLine(); contaNumero = Convert.ToInt32(leer); if (contaNumero <= 0) Console.WriteLine("Error al ingresar número."); else { i = 0; while (i < contaNumero) { Console.WriteLine("Escribe el número."); leer = Console.ReadLine(); numeroIngresado = Convert.ToInt32(leer); if (numeroIngresado == 0) Console.WriteLine("Error; no se puede poner cero."); else switch (numeroIngresado % 2) { case 0: Console.WriteLine("El número {0} es par", numeroIngresado); sumaPares = sumaPares + numeroIngresado; i++; break; case 1: Console.WriteLine("El número {0} es non.", numeroIngresado); sumaNon = sumaNon + numeroIngresado; i++; break; default: Console.WriteLine("Error."); break; }//Cierre Switch }//Cierre while }//Cierre else Console.WriteLine("La suma de los número pares={0}", sumaPares); Console.WriteLine("La suma de los número nones={0}", sumaNon); Console.ReadKey(); } } }
10.6 Capturas de Pantalla
11. Edades con FOR 05/10
11.1 Enunciado
Realizar un diagrama de actividad:
Debe de pedir cuantas edades introducirá (ciclo)
1. Pide la edad
2. Valida que sea de 0-120 error
3. Al final debe saber:
Cuantas mayores y el promedio de los mismos.
Cuantos menores y el promedio de los mismos.
Cuantas edades erróneas se introdujeron.
11.2 Diagrama a mano
11.3 Prueba de escritorio
11.4 Diagrama de Rational Rose
11.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication49 { class Program { static void Main(string[] args) { int cantidadEdades = 0, i = 0, edad = 0, contadorError = 0, contadorMayor = 0; int contadorMenor = 0, sumaMayor = 0, sumaMenor = 0; string leer; Console.WriteLine("Introdusca el número de edades a calcular."); leer = Console.ReadLine(); cantidadEdades = Convert.ToInt32(leer); for (i = 0; i < cantidadEdades; i++) { Console.WriteLine("Introdusca la edad."); leer = Console.ReadLine(); edad = Convert.ToInt32(leer); if (edad < 0 || edad > 120) { Console.WriteLine("Error."); contadorError++; } else { if (edad <= 17) { contadorMenor++; sumaMenor = sumaMenor + edad; } else { contadorMayor++; sumaMayor = sumaMayor + edad; } } }//Fin For Console.WriteLine("Numero total de mayores de edad = {0} y su promedio = {1}", contadorMayor, sumaMayor / contadorMayor); Console.WriteLine("Numero total de menores de edad = {0} y su promedio = {1}", contadorMenor, sumaMenor / contadorMenor); Console.WriteLine("Numero totales de errores = {0}", contadorError); Console.ReadKey(); } } }
11.6 Capturas de Pantalla
12. Llamada minutos y segundo con Do-While 26/10
12.1 Enunciado
Hacer con do-while el algoritmo de la llamada telefónica, en lugar de solicita "x" número de llamadas, lo que debe
preguntar es si desea capturar el tiempo de otra llamada, y cuando ya no quiera se sale del do-while. Al salir debe
mostrar el tiempo total y el monto total. Nuevamente aplica que los primero 5 minutos cuesta .50 cada minuto y a
partir del segundo 6 es un peso por minuto.
12.2 Diagrama a mano
12.3 Prueba de escritorio
12.4 Diagrama de Rational Rose
12.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication20 { class Program { static void Main(string[] args) { int segundos = 0, minutos = 0, opcion = 0, tiempo = 0; double monto = 0; string leer; do { Console.WriteLine("Desea sacar el costo de su llamada. (Escriba el numero del inciso.)"); Console.WriteLine("1) Si."); Console.WriteLine("2) No."); leer = Console.ReadLine(); opcion = Convert.ToInt32(leer); switch (opcion) { case 1: Console.WriteLine("Dame los minutos de la llamada."); leer = Console.ReadLine(); minutos = Convert.ToInt32(leer); Console.WriteLine("Dame los segundos de la llamada."); leer = Console.ReadLine(); segundos = Convert.ToInt32(leer); if (minutos <= 0 || minutos > 60 & segundos < 0 || segundos > 60) Console.WriteLine("Error al ingresar los datos."); else segundos = segundos + (minutos * 60); if (segundos % 60 > 0) { minutos++; tiempo = minutos + tiempo; if (minutos <= 5) { Console.WriteLine("El precio de llamada es {0}", minutos * 0.5); monto = monto + (minutos * 0.5); } else { Console.WriteLine("El precio de llamada es {0}", minutos - 2.5); monto = monto + (minutos - 2.5); } } else { tiempo = minutos + tiempo; if (minutos <= 5) { Console.WriteLine("El precio de llamada es {0}", minutos * 0.5); monto = monto + (minutos * 0.5); } else {
Console.WriteLine("El precio de llamada es {0}", minutos - 2.5); monto = monto + (minutos - 2.5); } } break; case 2: Console.WriteLine("El costo total es ${0} y el tiempo total es {1} minutos", monto, tiempo); Console.WriteLine("Fin del programa."); break; default: break; }//Fin Switch }//fin do-while while (opcion != 2); Console.ReadKey(); } } }
12.6 Capturas de Pantalla
13. Calificaciones A, B y C con While 20/10
13.1 Enunciado
Hacer un diagrama de actividades: (Con While)
- Solicitar el total de alumnos a ingresar
- Las calificaciones que se pueden ingresar son:
A= 10
B= 8
C=6
- Y mencionará al final del ciclo el promedio general obtenido
13.2 Diagrama a mano
13.3 Prueba de escritorio
13.4Diagrama de Rational Rose
13.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication13 { class Program { static void Main(string[] args) { int i, calif, califTotal = 0, numeroAlumnos; string leer, letraFigura; Console.WriteLine("¿Cuál es el número total de alumnos para calcular su promedio?"); leer = Console.ReadLine(); numeroAlumnos = Convert.ToInt32(leer); i = 0; while (i < numeroAlumnos) { Console.WriteLine("Escriba la letra obtenida."); letraFigura = Console.ReadLine(); switch (letraFigura) { case "A": case "a": Console.WriteLine("Calificación obtenida es 10."); calif = 10; califTotal = califTotal + calif; i++; break; case "B": case "b": Console.WriteLine("Calificación obtenida es 8."); calif = 8; califTotal = califTotal + calif; i++; break; case "C": case "c": Console.WriteLine("Calificación obtenida es 6."); calif = 6; califTotal = califTotal + calif; i++; break; default: Console.WriteLine("Error."); break; }//Cierre Switch }//Cierre while Console.WriteLine("Promedio General = {0}", (califTotal) / (numeroAlumnos)); Console.ReadKey();
} } }
13.6 Capturas de Pantalla
14. Área con Do-While 21/10
14.1 Enunciado
Hacer un diagrama de actividades que cumpla con lo siguiente. (Con DO WHILE)
Muestre un menú para calcular el área de:
A. Cuadrado
B. Rectángulo
C. Triángulo
D. Salir
Solicitar los valores correspondientes:
A. Los datos deben ser mayor a 0
B. En el caso del rectángulo la altura debe ser mayor a la base
C. En el caso del triángulo no importa que la altura sea mayor a la base
14.2 Diagrama a mano
14.3 Prueba de escritorio
14.4 Diagrama de Rational Rose
14.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication16 { class Program { static void Main(string[] args) { int lado = 0, opcion = 0; double basef = 0, altura = 0; string leer; do { Console.WriteLine("Poner el número de la figura que quiera sacar."); Console.WriteLine("1= Cuadrado."); Console.WriteLine("2= Rectángulo."); Console.WriteLine("3= Triángulo."); Console.WriteLine("4= Salir."); leer = Console.ReadLine(); opcion = Convert.ToInt32(leer); switch (opcion) { case 1: Console.WriteLine("Escribir el tamaño del lado."); leer = Console.ReadLine(); lado = Convert.ToInt32(leer); if (lado <= 0) Console.WriteLine("Error"); else Console.WriteLine("El área del cuadrado = {0}", lado * lado); break; case 2: Console.WriteLine("Escribir el tamaño de la base"); leer = Console.ReadLine(); basef = Convert.ToDouble(leer); if (basef <= 0) Console.WriteLine("Error"); else { Console.WriteLine("Escribe el tamaño de la altura."); leer = Console.ReadLine(); altura = Convert.ToDouble(leer); if (altura < basef) Console.WriteLine("Error: La altura es menor que la base."); else Console.WriteLine("El área del rectángulo = {0}", basef * altura); }//Fin else break; case 3: Console.WriteLine("Escribir el tamaño de la base"); leer = Console.ReadLine(); basef = Convert.ToDouble(leer); if (basef <= 0) Console.WriteLine("Error"); else {
Console.WriteLine("Escribe el tamaño de la altura."); leer = Console.ReadLine(); altura = Convert.ToDouble(leer); if (altura <= 0) Console.WriteLine("Error"); else Console.WriteLine("El área del triángulo es ={0} ", (basef * altura) / 2); }//Fin else break; case 4: break; default: Console.WriteLine("Error."); break; }//Fin Switch } while (opcion != 4); Console.ReadKey(); } } }
14.6 Captura de Pantalla
15. Frutas con Do-While 28/10
15.1 Enunciado
En una tiendita escolar únicamente vende ensaladas en vaso, sus claves son: j= jícama, m = mango p = pepinos, s =
sandía, z = zanahorias
Los precios de todas las ensaladas son de $17.00
Los volúmenes usados para armar los vasos con ensalada son los siguientes:
Jícama = 1k para 7 vasos Mango = 1 K para 5 vasos Pepinos = 1 K para 6 vasos
Sandía = 1k para 5.5 vasos Zanahoria = 1k para 6.5 vasos
Se necesita capturar la venta del día, se debe solicitar la fecha de venta y el número total de vasos vendidos de cada
cosa
Deberá pregunta si los datos son correctos, de no serlo, pedirlos nuevamente
Mostrará el total vendido por cada cosa y la suma total de venta del día, así como los kilos consumidos de cada cosa
15.2 Diagrama a mano
15.3 Prueba de escritorio
15.4 Diagrama de Rational Rose
15.5 C# 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) { //Definición de variables int dia = 0, mes = 0, año = 0, vasosJica = 0, datos = 0; int vasosMan = 0, vasosPepi = 0, vasosSan = 0, vasosZana = 0; double kilos; string leer; do { Console.WriteLine("Ingrese el día."); leer = Console.ReadLine(); dia = Convert.ToInt32(leer); Console.WriteLine("Ingrese el número del mes que este."); leer = Console.ReadLine(); mes = Convert.ToInt32(leer); Console.WriteLine("Ingrese el año en el que se encuentre."); leer = Console.ReadLine(); año = Convert.ToInt32(leer); } while (dia < 0 || dia > 31 || mes < 0 || mes > 12 || año <= 2000 || año > 2200); do { do { Console.WriteLine("¿Cuántos vasos de jícama se vendieron?"); leer = Console.ReadLine(); vasosJica = Convert.ToInt32(leer); } while (vasosJica < 0); Console.WriteLine("La cantidad que ingresó es correcta.(Escriba el inciso de su respuesta.)"); Console.WriteLine("1) SI"); Console.WriteLine("2) NO"); leer = Console.ReadLine(); datos = Convert.ToInt32(leer); } while (datos == 2); //Fin do-while do { do { Console.WriteLine("¿Cuántos vasos de mangos se vendieron?"); leer = Console.ReadLine(); vasosMan = Convert.ToInt32(leer); } while (vasosMan < 0);
Console.WriteLine("La cantidad que ingresó es correcta.(Escriba el inciso de su respuesta.)"); Console.WriteLine("1) SI"); Console.WriteLine("2) NO"); leer = Console.ReadLine(); datos = Convert.ToInt32(leer); } while (datos == 2); //Fin do-while do { do { Console.WriteLine("¿Cuántos vasos de pepinos se vendieron?"); leer = Console.ReadLine(); vasosPepi = Convert.ToInt32(leer); } while (vasosPepi < 0); Console.WriteLine("La cantidad que ingresó es correcta.(Escriba el inciso de su respuesta.)"); Console.WriteLine("1) SI"); Console.WriteLine("2) NO"); leer = Console.ReadLine(); datos = Convert.ToInt32(leer); } while (datos == 2); //Fin do-while do { do { Console.WriteLine("¿Cuántos vasos de sandía se vendieron?"); leer = Console.ReadLine(); vasosSan = Convert.ToInt32(leer); } while (vasosSan < 0); Console.WriteLine("La cantidad que ingresó es correcta.(Escriba el inciso de su respuesta.)"); Console.WriteLine("1) SI"); Console.WriteLine("2) NO"); leer = Console.ReadLine(); datos = Convert.ToInt32(leer); } while (datos == 2); //Fin do-while do { do { Console.WriteLine("¿Cuántos vasos de zanahoria se vendieron?"); leer = Console.ReadLine(); vasosZana = Convert.ToInt32(leer); } while (vasosZana < 0);
Console.WriteLine("La cantidad que ingresó es correcta.(Escriba el inciso de su respuesta.)"); Console.WriteLine("1) SI"); Console.WriteLine("2) NO"); leer = Console.ReadLine(); datos = Convert.ToInt32(leer); } while (datos == 2); //Fin do-while kilos = (vasosJica / 7) + (vasosMan / 5) + (vasosPepi / 6) + (vasosSan / 5.5) + (vasosZana / 6.5); Console.WriteLine("El número total de vasos vendidos fue = {0} ", vasosJica + vasosMan + vasosPepi + vasosSan + vasosZana); Console.WriteLine("El total de jícamas vendidas fue = ${0} y los kilos consumidos fueron de {1}kg", vasosJica * 17, vasosJica / 7); Console.WriteLine("El total de mangos vendidos fue = ${0} y los kilos consumidos fueron de {1}kg", vasosMan * 17, vasosMan / 5); Console.WriteLine("El total de pepinos vendidos fue = ${0} y los kilos consumidos fueron de {1}kg", vasosPepi * 17, vasosPepi / 6); Console.WriteLine("El total de sandías vendidas fue = ${0} y los kilos consumidos fueron de {1}kg", vasosSan * 17, vasosSan / 5.5); Console.WriteLine("El total de zanahorias vendidas fue = ${0} y los kilos consumidos fueron de {1}kg", vasosZana * 17, vasosZana / 6.5); Console.WriteLine("Las ventas del día {0} del {1} del {2} fue = ${3} y los kilos totales fue = {4}kg", dia, mes, año, (vasosJica + vasosMan + vasosPepi + vasosSan + vasosZana) * (17), kilos); Console.ReadKey(); } } }
15.6 Capturas de Pantalla
16. Verificación con Do-While 02/11
16.1 Enunciado
Un centro de verificación debe obtener el estatus del día. (Con DO WHILE)
Al entrar un auto se introduce: placa, tipo de verificación, resultado (paso, no paso)
Los tipos de verificación son: "0" -> 274.00 "00" -> 548.00 Rechazos-> 219.00
El sistema imprimirá el recibo con formato que contenga: fecha de la verificación, placa, tipo de verificación, monto
cobrado
Se necesita saber solo totales: cuántos de cada tipo, el monto total de cada tipo y el total cobrado. La placa no se
almacena.
16.2 Diagrama a mano
16.3 Prueba de escritorio
16.4 Diagrama de Rational Rose
16.5 C# 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 dia = 0, mes = 0, ano = 0, cero = 0, doble0 = 0, rechazo = 0; int resul = 0, total0 = 0, total00 = 0, totalRechazo = 0; string leer, placa, verifica; do { Console.WriteLine("Ingrese el día"); leer = Console.ReadLine(); dia = Convert.ToInt32(leer); Console.WriteLine("Ingrese el número del mes en el que se encuentre."); leer = Console.ReadLine(); mes = Convert.ToInt32(leer); Console.WriteLine("Ingrese el año en el que se encuentre"); leer = Console.ReadLine(); ano = Convert.ToInt32(leer); } while (dia <= 0 || dia >= 31 || mes <= 0 || mes > 12 || ano <= 1950 || ano >= 2200); //fin while do { Console.WriteLine("Ingrese el número de la placa del automóvil."); placa = Console.ReadLine(); Console.WriteLine("Ingrese el tipo de verificación."); Console.WriteLine("1) 0"); Console.WriteLine("2) 00"); verifica = Console.ReadLine(); switch (verifica) { case "0": cero++; Console.WriteLine("Ingrese el número del inciso del resultado de la verificación."); Console.WriteLine("1) Pasó."); Console.WriteLine("2) No pasó."); leer = Console.ReadLine(); resul = Convert.ToInt32(leer); if (resul == 2) { totalRechazo = totalRechazo + 219; rechazo++; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} fue rechazada y fue cobrado un total de $219", placa); Console.ReadKey(); Console.WriteLine("Fueron todos los autos ingresados (Ingrese el número del inciso de su respuesta.)"); Console.WriteLine("1) Si");
Console.WriteLine("2) No"); leer = Console.ReadLine(); resul = Convert.ToInt32(leer); } else { total0 = total0 + 274; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} del tipo de verificación 0 le cobraron un total de $274", placa); Console.ReadKey(); Console.WriteLine("Fueron todos los autos ingresados (Ingrese el número del inciso de su respuesta.)"); Console.WriteLine("1) Si"); Console.WriteLine("2) No"); leer = Console.ReadLine(); resul = Convert.ToInt32(leer); }//Fin else break; case "00": doble0++; Console.WriteLine("Ingrese el número del inciso del resultado de la verificación."); Console.WriteLine("1) Pasó."); Console.WriteLine("2) No pasó."); leer = Console.ReadLine(); resul = Convert.ToInt32(leer); if (resul == 2) { totalRechazo = totalRechazo + 219; rechazo++; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} fue rechazada y fue cobrado un total de $219", placa); Console.ReadKey(); Console.WriteLine("Fueron todos los autos ingresados (Ingrese el número del inciso de su respuesta.)"); Console.WriteLine("1) Si"); Console.WriteLine("2) No"); leer = Console.ReadLine(); resul = Convert.ToInt32(leer); } else { total00 = total00 + 548; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} del tipo de verificación 00 le cobraron un total de $548", placa); Console.ReadKey(); Console.WriteLine("Fueron todos los autos ingresados (Ingrese el número del inciso de su respuesta.)"); Console.WriteLine("1) Si"); Console.WriteLine("2) No"); leer = Console.ReadLine(); resul = Convert.ToInt32(leer);
} break; default: break; } } while (resul != 1); Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("El total cobrado fue de ${0}", total0 + total00 + totalRechazo); Console.WriteLine("El total de la verificación 0 fue de {0} y el monto total fue de ${1}", cero, total0); Console.WriteLine("El total de la verificación 00 fue de {0} y el monto total fue de ${1}", doble0, total00); Console.WriteLine("Y por último los rechazados fue un total de {0} y el monto total fue de ${1}", rechazo, totalRechazo); Console.ReadKey(); } } }
16.6 Captura de Pantalla
17. Verificación con FOR 02/11
17.1 Enunciado
Un centro de verificación debe obtener el estatus del día. (Con FOR)
Al entrar un auto se introduce: placa, tipo de verificación, resultado (paso, no paso)
Los tipos de verificación son: "0" -> 274.00 "00" -> 548.00 Rechazos-> 219.00
El sistema imprimirá el recibo con formato que contenga: fecha de la verificación, placa, tipo de verificación, monto
cobrado
Se necesita saber solo totales: cuántos de cada tipo, el monto total de cada tipo y el total cobrado. La placa no se
almacena.
17.2 Diagrama a mano
17.3 Prueba de escritorio
17.4 Diagrama de Rational Rose
17.5 C# 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 dia = 0, mes = 0, ano = 0, cero = 0, doble0 = 0, rechazo = 0, autos = 0; int resul = 0, total0 = 0, total00 = 0, totalRechazo = 0, i = 0; string leer, placa, verifica; do { Console.WriteLine("Ingrese el día"); leer = Console.ReadLine(); dia = Convert.ToInt32(leer); Console.WriteLine("Ingrese el número del mes en el que se encuentre."); leer = Console.ReadLine(); mes = Convert.ToInt32(leer); Console.WriteLine("Ingrese el año en el que se encuentre"); leer = Console.ReadLine(); ano = Convert.ToInt32(leer); } while (dia <= 0 || dia >= 31 || mes <= 0 || mes > 12 || ano <= 1950 || ano >= 2200); //fin while Console.WriteLine("¿Cuántos autos vas a ingresar?"); leer = Console.ReadLine(); autos = Convert.ToInt32(leer); for (i = 0; i < autos; i++) { Console.WriteLine("Ingrese el número de la placa del automóvil."); placa = Console.ReadLine(); Console.WriteLine("Ingrese el tipo de verificación."); Console.WriteLine("1) 0"); Console.WriteLine("2) 00"); verifica = Console.ReadLine(); switch (verifica) { case "0": cero++; Console.WriteLine("Ingrese el número del inciso del resultado de la verificación."); Console.WriteLine("1) Pasó."); Console.WriteLine("2) No pasó."); leer = Console.ReadLine(); resul = Convert.ToInt32(leer); if (resul == 2) { totalRechazo = totalRechazo + 219; rechazo++; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} fue rechazada y fue cobrado un total de $219", placa);
} else { total0 = total0 + 274; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} del tipo de verificación 0 le cobraron un total de $274", placa); Console.ReadKey(); }//Fin else break; case "00": doble0++; Console.WriteLine("Ingrese el número del inciso del resultado de la verificación."); Console.WriteLine("1) Pasó."); Console.WriteLine("2) No pasó."); leer = Console.ReadLine(); resul = Convert.ToInt32(leer); if (resul == 2) { totalRechazo = totalRechazo + 219; rechazo++; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} fue rechazada y fue cobrado un total de $219", placa); Console.ReadKey(); } else { total00 = total00 + 548; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} del tipo de verificación 00 le cobraron un total de $548", placa); Console.ReadKey(); } break; default: Console.WriteLine("Error."); break; } } Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("El total cobrado fue de ${0}", total0 + total00 + totalRechazo); Console.WriteLine("El total de la verificación 0 fue de {0} y el monto total fue de ${1}", cero, total0); Console.WriteLine("El total de la verificación 00 fue de {0} y el monto total fue de ${1}", doble0, total00); Console.WriteLine("Y por último los rechazados fue un total de {0} y el monto total fue de ${1}", rechazo, totalRechazo); Console.ReadKey();
} } }
17.6 Captura de Pantalla
18. Inventario con Do-While 03/11
18.1 Enunciado Se requiere de un algoritmo que calcule el inventario actual de un único producto. (Con DO-WHILE)
Se necesita solicitar el saldo del inventario inicial a principios de mes,
Posteriormente mostrará un menú con las siguientes opciones:
1. Compras
2. Ventas
3. Devoluciones sobre compra
4. Devoluciones sobre venta
5. Salidas por merma o por inventario físico
6. Entradas por inventario físico
7. Mostrar inventario actual
8. Terminar
Si escogieron de la opción 1 a la 7 deberá solicitar la cantidad y ésta debe ser mayor igual a cero. Si no lo fue, muestra
error y la solicita nuevamente, en la opción 7 deberá mostrar el saldo hasta ese momento del inventario de dicho
producto, mostrando el total acumulado de cada opción, por ejemplo:
Saldo inicial 10
Compras acumuladas 15
Dev. sobre compra acumuladas -5
Ventas acumuladas -15
Dev. sobre venta 10
Entradas de inventario 6
Salidas de inventario -4
SALDO ACTUAL 17
Es importante destacar que el usuario puede entrar y salir de cualquier opción e ir acumulando y actualizando el saldo,
hasta que de la opción de 8 que es terminar.
18.2 Diagrama a mano
18.3 Prueba de escritorio
18.4 Diagrama de Rational Rose
18.5 C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication30 { class Program { static void Main(string[] args) { int opcion = 0, opcion1 = 0, opcion2 = 0, opcion3 = 0, opcion4 = 0; int opcion5 = 0, opcion6 = 0, inicial = 0, cantidad = 0; string leer; do { Console.WriteLine("Ingrese el inventario inicial."); leer = Console.ReadLine(); inicial = Convert.ToInt32(leer); if (inicial <= 0) Console.WriteLine("Debe de ingresar una cantidad mayor a cero."); } while (inicial <= 0); do { Console.WriteLine("Bienvenido al menú de inicio(Ingrese el número de la opcion que deseé):"); Console.WriteLine("1)Compras."); Console.WriteLine("2)Ventas."); Console.WriteLine("3)Devoluciones sobre compras."); Console.WriteLine("4)Devoluciones sobre venta."); Console.WriteLine("5)Salida por merma o inventario físico."); Console.WriteLine("6)Entradas por inventario físico."); Console.WriteLine("7)Mostrar inventario actual."); Console.WriteLine("8)Terminar."); leer = Console.ReadLine(); opcion = Convert.ToInt32(leer); switch (opcion) { case 1: do { Console.WriteLine("Ingrese la cantidad de compras."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion1 = opcion1 + cantidad; } while (cantidad < 0); break; case 2: do { Console.WriteLine("Ingrese la cantidad de ventas."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer);
if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion2 = (opcion2 - cantidad); } while (cantidad < 0); break; case 3: do { Console.WriteLine("Ingrese la cantidad de devoluciones sobre compra."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion3 = (opcion3 - cantidad); } while (cantidad < 0); break; case 4: do { Console.WriteLine("Ingrese la cantidad de devoluciones de ventas."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion4 = opcion4 + cantidad; } while (cantidad < 0); break; case 5: do { Console.WriteLine("Ingrese la cantidad de salida por merma o inventario físico."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion5 = (opcion5 - cantidad); } while (cantidad < 0); break; case 6: do { Console.WriteLine("Ingrese la cantidad de entrada por inventario físico."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion6 = opcion6 + cantidad; } while (cantidad < 0); break;
case 7: Console.WriteLine("Su inventario actual es de:"); Console.WriteLine("Su saldo inicial es = {0}", inicial); Console.WriteLine("Las compras acumuladas es = {0}", opcion1); Console.WriteLine("Las devoluciones sobre compra es = {0}", opcion3); Console.WriteLine("Las ventas acumuladas es = {0}", opcion2); Console.WriteLine("Las devoluciones sobre ventas es = {0}", opcion6); Console.WriteLine("Las salidas por merma o inventario físico = {0}", opcion5); Console.WriteLine("El saldo actual es = {0}", inicial + opcion1 + opcion2 + opcion3 + opcion4 + opcion5 + opcion6); Console.ReadKey(); break; case 8: break; default: Console.WriteLine("Error."); break; } } while (opcion != 8); Console.ReadKey(); } } }
18.6 Capturas de Pantalla
19. Caseta con FOR 08/11
19.1 Enunciado
Realizar el algoritmo de abajo tres veces: con FOR y hacer:
1. Diagrama de actividades en libreta
2. Prueba de escritorio
3. Rational Rose
4. Realizar el código en C#
ALGORITMO:
El algoritmo debe calcular cuántos transportes pasan por una caseta de cobro, los tipos de transporte son autos, camión
y tráiler; lo anterior es en forma de menú y validar la opción deseada e incluir la opción de salir (terminar el programa).
De acuerdo al tipo de transporte es el cobro de la caseta, autos son 50, camión 100 y tráiler 200. Se desea saber al final
cuántos transportes de cada tipo pasaron, el monto cobrado por cada tipo y el total general que cobro la caseta.
19.2 Diagrama a mano
19.3 Prueba de escritorio
19.4 Diagrama de Rational Rose
19.5 C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication34 { class Program { static void Main(string[] args) { int contaAuto = 0, contaCamion = 0, contaTrailer = 0, i = 1; int auto = 0, camion = 0, trailer = 0, numero = 0; string tipo, leer; Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); for (i = 1; i > 0; i++) { switch (tipo) { case "1": Console.WriteLine("¿Cuántos autos ingresaron?"); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); auto = (numero * 50) + auto; contaAuto = numero + contaAuto; Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); break; case "2": Console.WriteLine("¿Cuántos camiones ingresaron?"); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); camion = (numero * 100) + camion; contaCamion = numero + contaCamion; Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); break; case "3": Console.WriteLine("¿Cuántos traileres ingresaron?");
leer = Console.ReadLine(); numero = Convert.ToInt32(leer); trailer = (numero * 200) + trailer; contaTrailer = numero + contaTrailer; Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); break; case "4": i = i * -1; break; default: Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); break; } } Console.WriteLine("El número total de autos que pasaron es ={0} Y el monto fue=${1}", contaAuto, auto); Console.WriteLine("El número total de camiones que pasaron es ={0} Y el monto fue=${1}", contaCamion, camion); Console.WriteLine("El número total de traileres que pasaron es ={0} Y el monto fue=${1}", contaTrailer, trailer); Console.WriteLine("El número total cobrado por la caseta es =${0}", auto + camion + trailer); Console.ReadKey(); } } }
19.6 Captura de Pantalla
20. Caseta con WHILE 08/11
20.1 Enunciado
Realizar el algoritmo de abajo tres veces: con WHILE y hacer:
1. Diagrama de actividades en libreta
2. Prueba de escritorio
3. Rational Rose
4. Realizar el código en C#
ALGORITMO:
El algoritmo debe calcular cuántos transportes pasan por una caseta de cobro, los tipos de transporte son autos, camión
y tráiler; lo anterior es en forma de menú y validar la opción deseada e incluir la opción de salir (terminar el programa).
De acuerdo al tipo de transporte es el cobro de la caseta, autos son 50, camión 100 y tráiler 200. Se desea saber al final
cuántos transportes de cada tipo pasaron, el monto cobrado por cada tipo y el total general que cobro la caseta.
20.2 Diagrama a mano
20.3 Prueba de escritorio
20.4 Diagrama de Rational Rose
20.5 C# 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 contaAuto = 0, contaCamion = 0, contaTrailer = 0, i = 1; int auto = 0, camion = 0, trailer = 0, numero = 0; string tipo, leer; Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); i = 1; while (i != 0) { switch (tipo) { case "1": Console.WriteLine("¿Cuántos autos ingresaron?"); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); auto = (numero * 50) + auto; contaAuto = numero + contaAuto; Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); i++; break; case "2": Console.WriteLine("¿Cuántos camiones ingresaron?"); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); camion = (numero * 100) + camion; contaCamion = numero + contaCamion; Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine();
i++; break; case "3": Console.WriteLine("¿Cuántos traileres ingresaron?"); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); trailer = (numero * 200) + trailer; contaTrailer = numero + contaTrailer; Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); i++; break; case "4": i = 0; break; default: Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); break; }//Fin switch }//Fin while Console.WriteLine("El número total de autos que pasaron es ={0} Y el monto fue=${1}", contaAuto, auto); Console.WriteLine("El número total de camiones que pasaron es ={0} Y el monto fue=${1}", contaCamion, camion); Console.WriteLine("El número total de traileres que pasaron es ={0} Y el monto fue=${1}", contaTrailer, trailer); Console.WriteLine("El número total cobrado por la caseta es =${0}", auto + camion + trailer); Console.ReadKey(); } } }
20.6 Captura de Pantalla
21. Caseta con DO-WHILE 08/11
21.1 Enunciado
Realizar el algoritmo de abajo tres veces: con DO-WHILE y hacer:
1. Diagrama de actividades en libreta
2. Prueba de escritorio
3. Rational Rose
4. Realizar el código en C#
ALGORITMO:
El algoritmo debe calcular cuántos transportes pasan por una caseta de cobro, los tipos de transporte son autos, camión
y tráiler; lo anterior es en forma de menú y validar la opción deseada e incluir la opción de salir (terminar el programa).
De acuerdo al tipo de transporte es el cobro de la caseta, autos son 50, camión 100 y tráiler 200. Se desea saber al final
cuántos transportes de cada tipo pasaron, el monto cobrado por cada tipo y el total general que cobro la caseta.
21.2 Diagrama a mano
21.3 Prueba de escritorio
21.4 Diagrama de Rational Rose
21.5 C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication36 { class Program { static void Main(string[] args) { int contaAuto = 0, contaCamion = 0, contaTrailer = 0, i = 0; int auto = 0, camion = 0, trailer = 0, numero = 0; string tipo, leer; do { Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); switch (tipo) { case "1": Console.WriteLine("¿Cuántos autos ingresaron?"); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); auto = (numero * 50) + auto; contaAuto = numero + contaAuto; break; case "2": Console.WriteLine("¿Cuántos camiones ingresaron?"); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); camion = (numero * 100) + camion; contaCamion = numero + contaCamion; break; case "3": Console.WriteLine("¿Cuántos traileres ingresaron?"); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); trailer = (numero * 200) + trailer; contaTrailer = numero + contaTrailer; break; case "4": break; default: break; }
} while (tipo != "4"); Console.WriteLine("El número total de autos que pasaron es ={0} Y el monto fue=${1}", contaAuto, auto); Console.WriteLine("El número total de camiones que pasaron es ={0} Y el monto fue=${1}", contaCamion, camion); Console.WriteLine("El número total de traileres que pasaron es ={0} Y el monto fue=${1}", contaTrailer, trailer); Console.WriteLine("El número total cobrado por la caseta es =${0}", auto + camion + trailer); Console.ReadKey(); } } }
21.6 Captura de Pantalla
22. Menú de exponente y raíz cuadrada 09/11
22.1 Enunciado
Realizar un diagrama de actividades que calcule exponentes y raíz cuadrada
22.2 Diagrama a mano
22.3 Prueba de escritorio
22.4 Diagrama de Rational Rose
22.5 C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication42 { class Program { static void Main(string[] args) { double basee = 0, potencia = 0, resulExpo = 0, resulRaiz = 0; string opcion, leer; do { Console.WriteLine("Ingrese el número del inciso para hacer su operación."); Console.WriteLine("1)Exponente."); Console.WriteLine("2)Raíz cuadrada."); Console.WriteLine("3)Salir"); opcion = Console.ReadLine(); switch (opcion) { case "1": Console.WriteLine("Ingrese el número base."); leer = Console.ReadLine(); basee = Convert.ToDouble(leer); Console.WriteLine("Ingrese la potencia."); leer = Console.ReadLine(); potencia = Convert.ToDouble(leer); resulExpo = Math.Pow(basee, potencia); Console.WriteLine("El resultado de {0}^{1} ={2}", basee, potencia, resulExpo); if (resulExpo % 2 == 0) Console.WriteLine("Su número es entero y par."); else if (resulExpo % 1 == 0) Console.WriteLine("Su número es impar y entero."); else Console.WriteLine("Su número es impar y con decimal."); break; case "2": Console.WriteLine("Ingrese el número para sacar su raíz cuadrada."); leer = Console.ReadLine(); basee = Convert.ToDouble(leer); resulRaiz = Math.Sqrt(basee); Console.WriteLine("El resultado de la raíz cuadrada de {0} es = {1}", basee, resulRaiz); if (resulRaiz % 2 == 0) Console.WriteLine("Su número es entero y par."); else if (resulRaiz % 1 == 0) Console.WriteLine("Su número es impar y entero."); else Console.WriteLine("Su número es impar y con decimal."); break;
case "3": break; default: break; } } while (opcion != "3"); Console.ReadKey(); } } }
22.6 Captura de Pantalla
23. Venta de Boletos de un teatro 09/11
23.1 Enunciado
Se debe de tomar la fecha actual y deberá de pedir los boletos en 3 diferentes etapas de día que son y también tendrá la
opción de salir y se debe de validar cada opción si es correcta o si no la volverá a pedir:
1) Mañana
2) Tarde
3) Noche
4) Salir
Los asientos que tiene este teatro son 20 asientos y se tendrá que validar el error de que no se pueden vender menores
de 0 o mayores a la cantidad de asientos establecida.
También los tipos de boletos que el teatro ofrece al público son:
1) Adulto 2) Niño 3) Discapacitados
Al final del algoritmo se mostrará la fecha actual y la cantidad total de boletos vendidos y también mostrará
individualmente la cantidad de boletos que se vendieron en las 3 etapas del día (Mañana, Tarde, Noche)
23.2 Diagrama a mano
23.3 Prueba de escritorio
23.4 Diagrama de Rational Rose
23.5 C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication53 { class Program { static void Main(string[] args) { int boletosMana = 0, boletosTarde = 0, boletosNoche = 0; int asientosMana = 20, asientosTarde = 20, asientosNoche = 20; int boletoAdulto = 0, boletoNino = 0, boletoDisca = 0; string leer, fecha, res, opcion, error; do { Console.WriteLine("Ingrese la fecha actual."); fecha = Console.ReadLine(); Console.WriteLine("¿La fecha que ingresó es correcta?"); Console.WriteLine("Escriba la respuesta. SI/NO "); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI" || res == "NO"); do { Console.WriteLine("¿En qué momento va a ver la obra?(Ingrese el no. del inciso)"); Console.WriteLine("1)Mañana."); Console.WriteLine("2)Tarde."); Console.WriteLine("3)Noche."); Console.WriteLine("4)Salir."); opcion = Console.ReadLine(); switch (opcion) { case "1": if (asientosMana <= 0) { Console.WriteLine("Ya no hay más asientos disponibles"); boletoAdulto = 0; boletoNino = 0; boletoDisca = 0; do { Console.WriteLine("Desea continuar ingresando boletos.(Escriba la respuesta)"); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") {
Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") opcion = "4"; else Console.WriteLine(""); } else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosMana); do { Console.WriteLine("Va ha ingresar boletos de adultos."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") Console.WriteLine(""); else { do { Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoAdulto = Convert.ToInt32(leer); if (boletoAdulto > asientosMana || boletoAdulto < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine(""); } while (boletoAdulto > asientosMana || boletoAdulto < 0); }//Fin else asientosMana = asientosMana - boletoAdulto; do { Console.WriteLine("Va ha ingresar boletos de niños."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF
else error = "NO"; } while (error == "SI"); if (res == "NO") Console.WriteLine(""); else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosMana); do { Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoNino = Convert.ToInt32(leer); if (boletoNino > asientosMana || boletoNino < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine(""); } while (boletoNino > asientosMana || boletoNino < 0); } Console.WriteLine(""); asientosMana = asientosMana - boletoNino; do { Console.WriteLine("Vas ha ingresar boletos para discapacitados."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") Console.WriteLine(""); else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles", asientosMana); do { Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoDisca = Convert.ToInt32(leer); if (boletoDisca > asientosMana || boletoDisca < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine(""); } while (boletoNino > asientosMana || boletoNino < 0); }
Console.WriteLine(""); asientosMana = asientosMana - boletoDisca; Console.WriteLine("La cantidad de boletos que compró en la mañana fue"); boletosMana = boletosMana + boletoAdulto + boletoNino + boletoDisca; Console.WriteLine("Adulto={0}", boletoAdulto); Console.WriteLine("Niño={0}", boletoNino); Console.WriteLine("Discapacitados={0}", boletoDisca); boletoAdulto = 0; boletoNino = 0; boletoDisca = 0; do { Console.WriteLine("Desea continuar ingresando boletos.(Escriba la respuesta)"); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") opcion = "4"; else Console.WriteLine(""); }//Fin else break; case "2": if (asientosTarde <= 0) { Console.WriteLine("Ya no hay más asientos disponibles"); do { Console.WriteLine("Desea continuar ingresando boletos.(Escriba la respuesta)"); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") opcion = "4"; else Console.WriteLine(""); } else
{ Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosTarde); do { Console.WriteLine("Va ha ingresar boletos de adultos."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") Console.WriteLine(""); else { do { Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoAdulto = Convert.ToInt32(leer); if (boletoAdulto > asientosTarde || boletoAdulto < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine(""); } while (boletoAdulto > asientosTarde || boletoAdulto < 0); }//Fin else asientosTarde = asientosTarde - boletoAdulto; do { Console.WriteLine("Va ha ingresar boletos de niños."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") Console.WriteLine(""); else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosTarde); do {
Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoNino = Convert.ToInt32(leer); if (boletoNino > asientosTarde || boletoNino < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine(""); } while (boletoNino > asientosTarde || boletoNino < 0); } Console.WriteLine(""); asientosTarde = asientosTarde - boletoNino; do { Console.WriteLine("Vas ha ingresar boletos para discapacitados."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") Console.WriteLine(""); else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles", asientosTarde); do { Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoDisca = Convert.ToInt32(leer); if (boletoDisca > asientosTarde || boletoDisca < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine(""); } while (boletoNino > asientosTarde || boletoNino < 0); } Console.WriteLine(""); asientosTarde = asientosTarde - boletoDisca; Console.WriteLine("La cantidad de boletos que compró en la tarde fue"); boletosTarde = boletosTarde + boletoAdulto + boletoNino + boletoDisca; Console.WriteLine("Adulto={0}", boletoAdulto); Console.WriteLine("Niño={0}", boletoNino); Console.WriteLine("Discapacitados={0}", boletoDisca); boletoAdulto = 0; boletoNino = 0; boletoDisca = 0; do {
Console.WriteLine("Desea continuar ingresando boletos.(Escriba la respuesta)"); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") opcion = "4"; else Console.WriteLine(""); }//Fin else break; case "3": if (asientosNoche <= 0) { Console.WriteLine("Ya no hay más asientos disponibles"); do { Console.WriteLine("Desea continuar ingresando boletos.(Escriba la respuesta)"); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") opcion = "4"; else Console.WriteLine(""); } else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosNoche); do { Console.WriteLine("Va ha ingresar boletos de adultos."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF
else error = "NO"; } while (error == "SI"); if (res == "NO") Console.WriteLine(""); else { do { Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoAdulto = Convert.ToInt32(leer); if (boletoAdulto > asientosNoche || boletoAdulto < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine(""); } while (boletoAdulto > asientosNoche || boletoAdulto < 0); }//Fin else asientosNoche = asientosNoche - boletoAdulto; do { Console.WriteLine("Va ha ingresar boletos de niños."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") Console.WriteLine(""); else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosNoche); do { Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoNino = Convert.ToInt32(leer); if (boletoNino > asientosNoche || boletoNino < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine(""); } while (boletoNino > asientosNoche || boletoNino < 0); }//Fin else Console.WriteLine("");
asientosNoche = asientosNoche - boletoNino; do { Console.WriteLine("Vas ha ingresar boletos para discapacitados."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO"; } while (error == "SI"); if (res == "NO") Console.WriteLine(""); else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles", asientosNoche); do { Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoDisca = Convert.ToInt32(leer); if (boletoDisca > asientosNoche || boletoDisca < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine(""); } while (boletoNino > asientosNoche || boletoNino < 0); }//Fin else Console.WriteLine(""); asientosNoche = asientosNoche - boletoDisca; Console.WriteLine("La cantidad de boletos que compró en la noche fue"); boletosNoche = boletosNoche + boletoAdulto + boletoNino + boletoDisca; Console.WriteLine("Adulto={0}", boletoAdulto); Console.WriteLine("Niño={0}", boletoNino); Console.WriteLine("Discapacitados={0}", boletoDisca); boletoAdulto = 0; boletoNino = 0; boletoDisca = 0; do { Console.WriteLine("Desea continuar ingresando boletos.(Escriba la respuesta)"); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF else error = "NO";
} while (error == "SI"); if (res == "NO") opcion = "4"; else Console.WriteLine(""); }//Fin else break; }//Fin switch } while (opcion != "4"); Console.WriteLine("El {0} la cantidad de boletos que se vendieron fueron={1}", fecha, boletosMana + boletosTarde + boletosNoche); Console.WriteLine("La cantidad de boletos vendidos para la obra de la mañana fue = {0}", boletosMana); Console.WriteLine("La cantidad de boletos vendidos para la obra de la tarde fue = {0}", boletosTarde); Console.WriteLine("La cantidad de boletos vendidos para la obra de la noche fue = {0}", boletosNoche); Console.ReadKey(); } } }
23.6 Captura de Pantalla
24. Control de baños y asientos de un teatro.
24.1 Enunciado
El algoritmo se encargará de pedir primero la fecha actual. El propósito de este algoritmo es medir la cantidad de trabajo
que hacen las personas del staff encargadas en la parte de la limpieza de un teatro.
Se deberá ingresar la cantidad de asientos y de baños que se disponen en el teatro. Se debe de mostrar la cantidad
actual que se disponen de baños y cuando las personas hayan terminado de usar se revisará el baño y entonces se
deberá de ingresar si el baño requiere de acciones de limpieza y se sumará la cantidad de la cantidad de acciones de
limpieza que se usaron en los excusados y el mismo proceso se utilizará para los asientos del teatro al final se preguntará
si las obras de teatro o la jornada laboral ha terminado. Y cuando haya terminado mostrará la fecha actual y la cantidad
de staff que se contó en ese día y la suma total de los baños que se utilizaron acciones de limpieza y de los asientos del
teatro.
Los errores a validar son que no se pueden pasar de la cantidad establecida de los excusados y de los asientos y se
volverá a preguntar que ingrese la cantidad correcta.
24.2 Diagrama a mano.
24.3 Prueba de escritorio
24.4 Diagrama de Rational Rose
24.5 Código para C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication36 { class Program { static void Main(string[] args) { int noStaff = 0, asientos = 0, excu = 0, noBano = 0, noAsien = 0; int cantidadBano = 0, cantidadAsien = 0, limpBano = 0, limpAsien = 0; string fecha, res, leer; Console.WriteLine("Ingrese la fecha actual."); fecha = Console.ReadLine(); do { Console.WriteLine("Ingrese la cantidad que tiene de staff."); leer = Console.ReadLine(); noStaff = Convert.ToInt32(leer); } while (noStaff < 0); do { Console.WriteLine("Ingrese la cantidad de asientos disponibles."); leer = Console.ReadLine(); asientos = Convert.ToInt32(leer); } while (asientos < 0); do { Console.WriteLine("Ingrese la cantidad de excusados disponibles."); leer = Console.ReadLine(); excu = Convert.ToInt32(leer); } while (excu < 0); do { do { Console.WriteLine("Ingrese la cantidad de baños ocupados"); leer = Console.ReadLine(); noBano = Convert.ToInt32(leer); } while (noBano < 0 || noBano > excu); do { Console.WriteLine("Usted cuenta con {0} excusados disponibles.", excu - noBano); Console.WriteLine("Han terminado de usar el baño. (Ingrese el no. del inciso)"); Console.WriteLine("1) SI, 2) NO"); res = Console.ReadLine(); } while (res != "1"); do
{ Console.WriteLine("¿Cuántos requieren de acciones de limpieza?"); leer = Console.ReadLine(); cantidadBano = Convert.ToInt32(leer); } while (cantidadBano > noBano || cantidadBano < 0); limpBano = cantidadBano + limpBano; do { Console.WriteLine("Ingrese la cantidad de asientos ocupados"); leer = Console.ReadLine(); noAsien = Convert.ToInt32(leer); } while (noAsien < 0 || noAsien > excu); do { Console.WriteLine("Usted cuenta con {0} asientos disponibles.", asientos - noAsien); Console.WriteLine("Han terminado de usar los asientos (Ingrese el no. del inciso)"); Console.WriteLine("1) SI, 2) NO"); res = Console.ReadLine(); } while (res != "1"); do { Console.WriteLine("¿Cuántos requieren de acciones de limpieza?"); leer = Console.ReadLine(); cantidadAsien = Convert.ToInt32(leer); } while (cantidadAsien > noAsien || cantidadAsien < 0); limpAsien = cantidadAsien + limpAsien; Console.WriteLine("Las obras han terminado.(Ingrese el no. del inciso de su respuesta)"); Console.WriteLine("1) SI, 2) NO"); res = Console.ReadLine(); } while (res != "1"); Console.WriteLine("La obra del {0}", fecha); Console.WriteLine("Tuvo la cantidad de {0} staff disponible y el total de limpieza de los baños fue = {1} y de los asientos fue = {2}", noStaff, limpBano, limpAsien); Console.ReadKey(); } } }
24.6 Capturas de Pantalla
25. Áreas con while
25.1 Enunciado
Hacer un diagrama de actividades que cumpla con lo siguiente. (Con While)
Muestre un menú para calcular el área de:
A. Cuadrado
B. Rectángulo
C. Triángulo
Solicitar los valores correspondientes:
A. Los datos deben ser mayor a 0
B. En el caso del rectángulo la altura debe ser mayor a la base
C. En el caso del triángulo no importa que la altura sea mayor a la base
25.2 Diagrama a mano
25.3 Prueba de escritorio
25.4 Diagrama de Rational Rose
25.5 C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication16 { class Program { static void Main(string[] args) { double lado = 0, tamanoBase = 0, altura = 0; int contador = 0, i = 0; string leer, letraFigura; do { Console.WriteLine("Escriba cuántas figuras quieres sacar su área"); leer = Console.ReadLine(); contador = Convert.ToInt32(leer); if (contador <= 0) Console.WriteLine("Error."); else Console.WriteLine(""); } while (contador <= 0); i = 0; while (i < contador) { Console.WriteLine("Poner la letra de la figura que quiera sacar."); Console.WriteLine("A) Cuadrado."); Console.WriteLine("B) Rectángulo."); Console.WriteLine("C) Triángulo."); Console.WriteLine("D) Salir."); letraFigura = Console.ReadLine(); switch (letraFigura) { case "A": case "a": Console.WriteLine("Escribir el tamaño del lado."); leer = Console.ReadLine(); lado = Convert.ToInt32(leer); if (lado <= 0) Console.WriteLine("Error"); else Console.WriteLine("El área del cuadrado = {0}", lado * lado); i++; break; case "B": case "b": Console.WriteLine("Escribir el tamaño de la base"); leer = Console.ReadLine(); tamanoBase = Convert.ToDouble(leer); if (tamanoBase <= 0) Console.WriteLine("Error"); else { Console.WriteLine("Escribe el tamaño de la altura."); leer = Console.ReadLine(); altura = Convert.ToDouble(leer);
if (altura < tamanoBase) Console.WriteLine("Error: La altura es menor que la base."); else Console.WriteLine("El área del rectángulo = {0}", tamanoBase * altura); }//Fin else i++; break; case "C": case "c": Console.WriteLine("Escribir el tamaño de la base"); leer = Console.ReadLine(); tamanoBase = Convert.ToDouble(leer); if (tamanoBase <= 0) Console.WriteLine("Error"); else { Console.WriteLine("Escribe el tamaño de la altura."); leer = Console.ReadLine(); altura = Convert.ToInt32(leer); if (altura <= 0) Console.WriteLine("Error"); else Console.WriteLine("El área del triángulo es ={0} ", (tamanoBase * altura) / 2); }//Fin else i++; break; case "D": case "d": break; default: Console.WriteLine("Error."); break; }//Fin Switch }//Fin while Console.ReadKey(); } } }
25.6 Capturas de Pantalla
26. Calificaciones A, B y C con For 20/10
26.1 Enunciado
Hacer un diagrama de actividades:
- Solicitar el total de alumnos a ingresar (Con FOR)
- Las calificaciones que se pueden ingresar son:
A= 10
B= 8
C=6
- Y mencionará al final del ciclo el promedio general obtenido.
26.2 Diagrama a mano
26.3 Prueba de escritorio
26.4 Diagrama de Rational Rose
26.5 C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication13 { class Program { static void Main(string[] args) { int i, calif, califTotal = 0, numeroAlumnos; string leer, letra; Console.WriteLine("¿Cuál es el número total de alumnos para calcular su promedio?"); leer = Console.ReadLine(); numeroAlumnos = Convert.ToInt32(leer); for (i = 0; i < numeroAlumnos; i++) { Console.WriteLine("Escriba la letra obtenida."); letra = Console.ReadLine(); switch (letra) { case "A": case "a": Console.WriteLine("Calificación obtenida es 10."); calif = 10; califTotal = califTotal + calif; break; case "B": case "b": Console.WriteLine("Calificación obtenida es 8."); calif = 8; califTotal = califTotal + calif; break; case "C": case "c": Console.WriteLine("Calificación obtenida es 6."); calif = 6; califTotal = califTotal + calif; break; default: Console.WriteLine("Error."); break; }//Cierre Switch }//Cierre for Console.WriteLine("Promedio General = {0}", (califTotal) / (numeroAlumnos)); Console.ReadKey(); } } }
26.6 Captura de Pantalla