202
ALGORITMOS INGENIERÍA DE SOFTWARE CARLOS ANDRÉS GARCÍA TZOMPANTZIN OTOÑO 2015 27 DE NOVIEMBRE DE 2015

Listado de algoritmos carlos andrés garcía tzompantzin

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Listado de algoritmos carlos andrés garcía tzompantzin

ALGORITMOS INGENIERÍA DE SOFTWARE

CARLOS ANDRÉS GARCÍA TZOMPANTZIN OTOÑO 2015

27 DE NOVIEMBRE DE 2015

Page 2: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 3: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 4: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 5: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 6: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 7: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 8: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 9: Listado de algoritmos carlos andrés garcía tzompantzin

1.2 Diagrama a mano

Page 10: Listado de algoritmos carlos andrés garcía tzompantzin

1.3 Prueba de escritorio

Page 11: Listado de algoritmos carlos andrés garcía tzompantzin

1.4 Diagrama de Rational Rose

Page 12: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 13: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 14: Listado de algoritmos carlos andrés garcía tzompantzin

1.6 Capturas de Pantalla

Page 15: Listado de algoritmos carlos andrés garcía tzompantzin
Page 16: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 17: Listado de algoritmos carlos andrés garcía tzompantzin

2.2 Diagrama a mano

Page 18: Listado de algoritmos carlos andrés garcía tzompantzin

2.3 Prueba de escritorio

Page 19: Listado de algoritmos carlos andrés garcía tzompantzin

2.4 Diagrama de Rational Rose

Page 20: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 21: Listado de algoritmos carlos andrés garcía tzompantzin

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"

Page 22: Listado de algoritmos carlos andrés garcía tzompantzin

Fin Segun

FinProceso

Page 23: Listado de algoritmos carlos andrés garcía tzompantzin

2.6 Capturas de Pantalla

Page 24: Listado de algoritmos carlos andrés garcía tzompantzin
Page 25: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 26: Listado de algoritmos carlos andrés garcía tzompantzin

3.2 Diagrama a mano

Page 27: Listado de algoritmos carlos andrés garcía tzompantzin

3.3 Prueba de escritorio

Page 28: Listado de algoritmos carlos andrés garcía tzompantzin

3.4 Diagrama de Rational Rose

Page 29: Listado de algoritmos carlos andrés garcía tzompantzin

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;

Page 30: Listado de algoritmos carlos andrés garcía tzompantzin

} }//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(); } } }

Page 31: Listado de algoritmos carlos andrés garcía tzompantzin

3.6 Capturas de Pantalla.

Page 32: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 33: Listado de algoritmos carlos andrés garcía tzompantzin

4.2 Diagrama a mano

Page 34: Listado de algoritmos carlos andrés garcía tzompantzin

4.3 Prueba de escritorio

Page 35: Listado de algoritmos carlos andrés garcía tzompantzin

4.4 Diagrama de Rational Rose

Page 36: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 37: Listado de algoritmos carlos andrés garcía tzompantzin

4.6 Capturas de Pantalla

Page 38: Listado de algoritmos carlos andrés garcía tzompantzin

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++

Page 39: Listado de algoritmos carlos andrés garcía tzompantzin

5.2 Diagrama a mano

Page 40: Listado de algoritmos carlos andrés garcía tzompantzin

5.3 Prueba de escritorio

Page 41: Listado de algoritmos carlos andrés garcía tzompantzin

5.4 Diagrama de Rational Rose

Page 42: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 43: Listado de algoritmos carlos andrés garcía tzompantzin

5.6 Capturas de Pantalla

Page 44: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 45: Listado de algoritmos carlos andrés garcía tzompantzin

6.2 Diagrama a mano

Page 46: Listado de algoritmos carlos andrés garcía tzompantzin

6.3 Prueba de escritorio

Page 47: Listado de algoritmos carlos andrés garcía tzompantzin

6.4 Diagrama de Rational Rose

Page 48: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 49: Listado de algoritmos carlos andrés garcía tzompantzin

6.6 Capturas de Pantalla

Page 50: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 51: Listado de algoritmos carlos andrés garcía tzompantzin

7.2 Diagrama a mano

Page 52: Listado de algoritmos carlos andrés garcía tzompantzin

7.3 Prueba de escritorio

Page 53: Listado de algoritmos carlos andrés garcía tzompantzin

7.4 Diagrama de Rational Rose

Page 54: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 55: Listado de algoritmos carlos andrés garcía tzompantzin

Console.WriteLine("Promedio de calificaciones con beca del 50% = {0}", (beca50) / contador50); Console.ReadKey(); } } }

Page 56: Listado de algoritmos carlos andrés garcía tzompantzin

7.6 Capturas de Pantalla

Page 57: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 58: Listado de algoritmos carlos andrés garcía tzompantzin

8.2 Diagrama a mano

Page 59: Listado de algoritmos carlos andrés garcía tzompantzin

8.3 Prueba de escritorio

Page 60: Listado de algoritmos carlos andrés garcía tzompantzin

8.4 Diagrama de Rational Rose

Page 61: Listado de algoritmos carlos andrés garcía tzompantzin

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:

Page 62: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 63: Listado de algoritmos carlos andrés garcía tzompantzin

8.6 Capturas de Pantalla

Page 64: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 65: Listado de algoritmos carlos andrés garcía tzompantzin

9.2 Diagrama a mano

Page 66: Listado de algoritmos carlos andrés garcía tzompantzin

9.3 Prueba de escritorio

Page 67: Listado de algoritmos carlos andrés garcía tzompantzin

9.4 Diagrama de Rational Rose

Page 68: Listado de algoritmos carlos andrés garcía tzompantzin

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;

Page 69: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 70: Listado de algoritmos carlos andrés garcía tzompantzin

9.6 Capturas de Pantalla

Page 71: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 72: Listado de algoritmos carlos andrés garcía tzompantzin

10.2 Diagrama a mano

Page 73: Listado de algoritmos carlos andrés garcía tzompantzin

10.3 Prueba de escritorio

Page 74: Listado de algoritmos carlos andrés garcía tzompantzin

10.4 Diagrama de Rational Rose

Page 75: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 76: Listado de algoritmos carlos andrés garcía tzompantzin

10.6 Capturas de Pantalla

Page 77: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 78: Listado de algoritmos carlos andrés garcía tzompantzin

11.2 Diagrama a mano

Page 79: Listado de algoritmos carlos andrés garcía tzompantzin

11.3 Prueba de escritorio

Page 80: Listado de algoritmos carlos andrés garcía tzompantzin

11.4 Diagrama de Rational Rose

Page 81: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 82: Listado de algoritmos carlos andrés garcía tzompantzin

11.6 Capturas de Pantalla

Page 83: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 84: Listado de algoritmos carlos andrés garcía tzompantzin

12.2 Diagrama a mano

Page 85: Listado de algoritmos carlos andrés garcía tzompantzin

12.3 Prueba de escritorio

Page 86: Listado de algoritmos carlos andrés garcía tzompantzin

12.4 Diagrama de Rational Rose

Page 87: Listado de algoritmos carlos andrés garcía tzompantzin

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 {

Page 88: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 89: Listado de algoritmos carlos andrés garcía tzompantzin

12.6 Capturas de Pantalla

Page 90: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 91: Listado de algoritmos carlos andrés garcía tzompantzin

13.2 Diagrama a mano

Page 92: Listado de algoritmos carlos andrés garcía tzompantzin

13.3 Prueba de escritorio

Page 93: Listado de algoritmos carlos andrés garcía tzompantzin

13.4Diagrama de Rational Rose

Page 94: Listado de algoritmos carlos andrés garcía tzompantzin

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();

Page 95: Listado de algoritmos carlos andrés garcía tzompantzin

} } }

Page 96: Listado de algoritmos carlos andrés garcía tzompantzin

13.6 Capturas de Pantalla

Page 97: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 98: Listado de algoritmos carlos andrés garcía tzompantzin

14.2 Diagrama a mano

Page 99: Listado de algoritmos carlos andrés garcía tzompantzin

14.3 Prueba de escritorio

Page 100: Listado de algoritmos carlos andrés garcía tzompantzin

14.4 Diagrama de Rational Rose

Page 101: Listado de algoritmos carlos andrés garcía tzompantzin

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 {

Page 102: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 103: Listado de algoritmos carlos andrés garcía tzompantzin

14.6 Captura de Pantalla

Page 104: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 105: Listado de algoritmos carlos andrés garcía tzompantzin

15.2 Diagrama a mano

Page 106: Listado de algoritmos carlos andrés garcía tzompantzin
Page 107: Listado de algoritmos carlos andrés garcía tzompantzin
Page 108: Listado de algoritmos carlos andrés garcía tzompantzin

15.3 Prueba de escritorio

Page 109: Listado de algoritmos carlos andrés garcía tzompantzin

15.4 Diagrama de Rational Rose

Page 110: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 111: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 112: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 113: Listado de algoritmos carlos andrés garcía tzompantzin

15.6 Capturas de Pantalla

Page 114: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 115: Listado de algoritmos carlos andrés garcía tzompantzin

16.2 Diagrama a mano

Page 116: Listado de algoritmos carlos andrés garcía tzompantzin

16.3 Prueba de escritorio

Page 117: Listado de algoritmos carlos andrés garcía tzompantzin

16.4 Diagrama de Rational Rose

Page 118: Listado de algoritmos carlos andrés garcía tzompantzin

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");

Page 119: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 120: Listado de algoritmos carlos andrés garcía tzompantzin

} 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(); } } }

Page 121: Listado de algoritmos carlos andrés garcía tzompantzin

16.6 Captura de Pantalla

Page 122: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 123: Listado de algoritmos carlos andrés garcía tzompantzin

17.2 Diagrama a mano

Page 124: Listado de algoritmos carlos andrés garcía tzompantzin

17.3 Prueba de escritorio

Page 125: Listado de algoritmos carlos andrés garcía tzompantzin

17.4 Diagrama de Rational Rose

Page 126: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 127: Listado de algoritmos carlos andrés garcía tzompantzin

} 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();

Page 128: Listado de algoritmos carlos andrés garcía tzompantzin

} } }

Page 129: Listado de algoritmos carlos andrés garcía tzompantzin

17.6 Captura de Pantalla

Page 130: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 131: Listado de algoritmos carlos andrés garcía tzompantzin

18.2 Diagrama a mano

Page 132: Listado de algoritmos carlos andrés garcía tzompantzin

18.3 Prueba de escritorio

Page 133: Listado de algoritmos carlos andrés garcía tzompantzin

18.4 Diagrama de Rational Rose

Page 134: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 135: Listado de algoritmos carlos andrés garcía tzompantzin

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;

Page 136: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 137: Listado de algoritmos carlos andrés garcía tzompantzin

18.6 Capturas de Pantalla

Page 138: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 139: Listado de algoritmos carlos andrés garcía tzompantzin

19.2 Diagrama a mano

Page 140: Listado de algoritmos carlos andrés garcía tzompantzin

19.3 Prueba de escritorio

Page 141: Listado de algoritmos carlos andrés garcía tzompantzin

19.4 Diagrama de Rational Rose

Page 142: Listado de algoritmos carlos andrés garcía tzompantzin

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?");

Page 143: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 144: Listado de algoritmos carlos andrés garcía tzompantzin

19.6 Captura de Pantalla

Page 145: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 146: Listado de algoritmos carlos andrés garcía tzompantzin

20.2 Diagrama a mano

Page 147: Listado de algoritmos carlos andrés garcía tzompantzin

20.3 Prueba de escritorio

Page 148: Listado de algoritmos carlos andrés garcía tzompantzin

20.4 Diagrama de Rational Rose

Page 149: Listado de algoritmos carlos andrés garcía tzompantzin

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();

Page 150: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 151: Listado de algoritmos carlos andrés garcía tzompantzin

20.6 Captura de Pantalla

Page 152: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 153: Listado de algoritmos carlos andrés garcía tzompantzin

21.2 Diagrama a mano

Page 154: Listado de algoritmos carlos andrés garcía tzompantzin

21.3 Prueba de escritorio

Page 155: Listado de algoritmos carlos andrés garcía tzompantzin

21.4 Diagrama de Rational Rose

Page 156: Listado de algoritmos carlos andrés garcía tzompantzin

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; }

Page 157: Listado de algoritmos carlos andrés garcía tzompantzin

} 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(); } } }

Page 158: Listado de algoritmos carlos andrés garcía tzompantzin

21.6 Captura de Pantalla

Page 159: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 160: Listado de algoritmos carlos andrés garcía tzompantzin

22.2 Diagrama a mano

Page 161: Listado de algoritmos carlos andrés garcía tzompantzin

22.3 Prueba de escritorio

Page 162: Listado de algoritmos carlos andrés garcía tzompantzin

22.4 Diagrama de Rational Rose

Page 163: Listado de algoritmos carlos andrés garcía tzompantzin

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;

Page 164: Listado de algoritmos carlos andrés garcía tzompantzin

case "3": break; default: break; } } while (opcion != "3"); Console.ReadKey(); } } }

Page 165: Listado de algoritmos carlos andrés garcía tzompantzin

22.6 Captura de Pantalla

Page 166: Listado de algoritmos carlos andrés garcía tzompantzin

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)

Page 167: Listado de algoritmos carlos andrés garcía tzompantzin

23.2 Diagrama a mano

Page 168: Listado de algoritmos carlos andrés garcía tzompantzin

23.3 Prueba de escritorio

Page 169: Listado de algoritmos carlos andrés garcía tzompantzin

23.4 Diagrama de Rational Rose

Page 170: Listado de algoritmos carlos andrés garcía tzompantzin

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") {

Page 171: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 172: Listado de algoritmos carlos andrés garcía tzompantzin

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); }

Page 173: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 174: Listado de algoritmos carlos andrés garcía tzompantzin

{ 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 {

Page 175: Listado de algoritmos carlos andrés garcía tzompantzin

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 {

Page 176: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 177: Listado de algoritmos carlos andrés garcía tzompantzin

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("");

Page 178: Listado de algoritmos carlos andrés garcía tzompantzin

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";

Page 179: Listado de algoritmos carlos andrés garcía tzompantzin

} 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(); } } }

Page 180: Listado de algoritmos carlos andrés garcía tzompantzin

23.6 Captura de Pantalla

Page 181: Listado de algoritmos carlos andrés garcía tzompantzin
Page 182: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 183: Listado de algoritmos carlos andrés garcía tzompantzin

24.2 Diagrama a mano.

Page 184: Listado de algoritmos carlos andrés garcía tzompantzin

24.3 Prueba de escritorio

Page 185: Listado de algoritmos carlos andrés garcía tzompantzin

24.4 Diagrama de Rational Rose

Page 186: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 187: Listado de algoritmos carlos andrés garcía tzompantzin

{ 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(); } } }

Page 188: Listado de algoritmos carlos andrés garcía tzompantzin

24.6 Capturas de Pantalla

Page 189: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 190: Listado de algoritmos carlos andrés garcía tzompantzin

25.2 Diagrama a mano

Page 191: Listado de algoritmos carlos andrés garcía tzompantzin

25.3 Prueba de escritorio

Page 192: Listado de algoritmos carlos andrés garcía tzompantzin

25.4 Diagrama de Rational Rose

Page 193: Listado de algoritmos carlos andrés garcía tzompantzin

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

Page 194: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 195: Listado de algoritmos carlos andrés garcía tzompantzin

25.6 Capturas de Pantalla

Page 196: Listado de algoritmos carlos andrés garcía tzompantzin

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.

Page 197: Listado de algoritmos carlos andrés garcía tzompantzin

26.2 Diagrama a mano

Page 198: Listado de algoritmos carlos andrés garcía tzompantzin

26.3 Prueba de escritorio

Page 199: Listado de algoritmos carlos andrés garcía tzompantzin

26.4 Diagrama de Rational Rose

Page 200: Listado de algoritmos carlos andrés garcía tzompantzin

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(); } } }

Page 201: Listado de algoritmos carlos andrés garcía tzompantzin

26.6 Captura de Pantalla

Page 202: Listado de algoritmos carlos andrés garcía tzompantzin