Listado de algoritmos carlos

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

description

 

Transcript of Listado de algoritmos carlos

Page 1: Listado de algoritmos carlos

Algoritmosingeniería de software

Carlos Andrés garcía tzompantzinotoño 2015

27 DE NOVIEMBRE DE 2015

Page 2: Listado de algoritmos carlos

Listado de Algoritmos

1. Áreas con IF 01/09.............................................................................................................................................................6

1.1 Enunciado....................................................................................................................................................................6

1.2 Diagrama a mano........................................................................................................................................................7

1.3 Prueba de escritorio....................................................................................................................................................8

1.4 Diagrama de Rational Rose..........................................................................................................................................9

1.5 PSeint........................................................................................................................................................................10

1.6 Capturas de Pantalla..................................................................................................................................................12

2. Áreas con switch 04/09...................................................................................................................................................14

2.1 Enunciado..................................................................................................................................................................14

2.2 Diagrama a mano......................................................................................................................................................15

2.3 Prueba de escritorio..................................................................................................................................................16

2.4 Diagrama de Rational Rose........................................................................................................................................17

2.5 PSeint........................................................................................................................................................................18

2.6 Capturas de Pantalla..................................................................................................................................................21

3. Áreas con while...............................................................................................................................................................23

3.1 Enunciado..................................................................................................................................................................23

3.2 Diagrama a mano......................................................................................................................................................24

3.4 Prueba de escritorio..................................................................................................................................................25

3.5 Diagrama de Rational Rose........................................................................................................................................26

3.6 C#..............................................................................................................................................................................27

3.7 Capturas de Pantalla..................................................................................................................................................29

4. Edades con switch 09/09.................................................................................................................................................30

4.1 Enunciado..................................................................................................................................................................30

4.2 Diagrama a mano......................................................................................................................................................31

4.3 Prueba de escritorio..................................................................................................................................................32

4.4 Diagrama de Rational Rose........................................................................................................................................33

4.5 C#..............................................................................................................................................................................34

5. Llamada telefónica usando dos variables (minutos/segundos) con if´s 23/09................................................................35

5.1 Enunciado..................................................................................................................................................................35

5.2 Diagrama a mano......................................................................................................................................................36

5.3 Prueba de escritorio..................................................................................................................................................37

5.4 Diagrama de Rational Rose........................................................................................................................................38

Page 3: Listado de algoritmos carlos

5.5 C#..............................................................................................................................................................................39

5.6 Capturas de Pantalla..................................................................................................................................................40

6. Tablas de multiplicar con FOR ascendente 23/09...........................................................................................................41

6.1 Enunciado..................................................................................................................................................................41

6.2 Diagrama a mano......................................................................................................................................................42

6.3 Prueba de escritorio..................................................................................................................................................43

6.4 Diagrama de Rational Rose........................................................................................................................................44

6.5 C#..............................................................................................................................................................................45

6.6 Capturas de Pantalla..................................................................................................................................................46

7. Tablas de multiplicar con FOR descendente 23/09.........................................................................................................47

7.1 Enunciado..................................................................................................................................................................47

7.2 Diagrama a mano......................................................................................................................................................48

7.3 Prueba de escritorio..................................................................................................................................................49

7.4 Diagrama de Rational Rose........................................................................................................................................50

7.5 C#..............................................................................................................................................................................51

7.6 Capturas de Pantalla..................................................................................................................................................52

8. Alumnos son beca y con beca del 50% y 100% -> promedio de cada uno usando FOR 23/09........................................53

8.1 Enunciado..................................................................................................................................................................53

8.2 Diagrama a mano......................................................................................................................................................54

8.3 Prueba de escritorio..................................................................................................................................................55

8.4 Diagrama de Rational Rose........................................................................................................................................56

8.5 C#..............................................................................................................................................................................57

8.6 Capturas de Pantalla..................................................................................................................................................59

9. Números pares e impares, mencionar cuántos de cada uno y cuál fue el mayor y menos también de cada uno usando FOR 26/09...........................................................................................................................................................................60

9.1 Enunciado..................................................................................................................................................................60

9.2 Diagrama a mano......................................................................................................................................................61

9.3 Prueba de escritorio..................................................................................................................................................62

9.4 Diagrama de Rational Rose........................................................................................................................................63

9.5 C#..............................................................................................................................................................................64

9.6 Capturas de Pantalla..................................................................................................................................................66

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

10.1 Enunciado................................................................................................................................................................67

10.2 Diagrama a mano....................................................................................................................................................68

10.3 Prueba de escritorio................................................................................................................................................69

Page 4: Listado de algoritmos carlos

10.4 Diagrama de Rational Rose......................................................................................................................................70

10.5 C#............................................................................................................................................................................71

10.6 Capturas de Pantalla................................................................................................................................................72

11. Edades con FOR 05/10..................................................................................................................................................73

11.1 Enunciado................................................................................................................................................................73

11.2 Diagrama a mano....................................................................................................................................................74

11.3 Prueba de escritorio................................................................................................................................................75

11.4 Diagrama de Rational Rose......................................................................................................................................76

11.5 C#............................................................................................................................................................................77

11.6 Capturas de Pantalla................................................................................................................................................78

12. Llamada minutos y segundo con Do-While 26/10.........................................................................................................79

12.1 Enunciado................................................................................................................................................................79

12.2 Diagrama a mano....................................................................................................................................................80

12.3 Prueba de escritorio................................................................................................................................................81

12.4 Diagrama de Rational Rose......................................................................................................................................82

12.5 C#............................................................................................................................................................................83

12.6 Capturas de Pantalla................................................................................................................................................85

13. Calificaciones A, B y C con While 20/10.........................................................................................................................86

13.1 Enunciado................................................................................................................................................................86

13.2 Diagrama a mano....................................................................................................................................................87

13.3 Prueba de escritorio................................................................................................................................................88

13.4Diagrama de Rational Rose......................................................................................................................................89

13.5 C#............................................................................................................................................................................90

13.6 Capturas de Pantalla................................................................................................................................................92

14. Calificaciones A, B y C con For 20/10.............................................................................................................................93

14.1 Enunciado................................................................................................................................................................93

14.2 Diagrama a mano....................................................................................................................................................94

14.3 Prueba de escritorio................................................................................................................................................95

14.4 Diagrama de Rational Rose......................................................................................................................................96

14.5 C#............................................................................................................................................................................97

14.6 Captura de Pantalla.................................................................................................................................................98

15. Área con Do-While 21/10..............................................................................................................................................99

15.1 Enunciado................................................................................................................................................................99

15.2 Diagrama a mano..................................................................................................................................................100

15.3 Prueba de escritorio..............................................................................................................................................101

Page 5: Listado de algoritmos carlos

15.4 Diagrama de Rational Rose....................................................................................................................................102

15.5 C#..........................................................................................................................................................................103

15.6 Captura de Pantalla...............................................................................................................................................105

16. Frutas con Do-While 28/10.........................................................................................................................................106

16.1 Enunciado..............................................................................................................................................................106

16.2 Diagrama a mano..................................................................................................................................................107

16.3 Prueba de escritorio..............................................................................................................................................108

16.4 Diagrama de Rational Rose....................................................................................................................................109

16.5 C#..........................................................................................................................................................................110

16.6 Capturas de Pantalla..............................................................................................................................................113

17. Verificación con Do-While 02/11.................................................................................................................................114

17.1 Enunciado..............................................................................................................................................................114

17.2 Diagrama a mano..................................................................................................................................................115

17.3 Prueba de escritorio..............................................................................................................................................116

17.4 Diagrama de Rational Rose....................................................................................................................................117

17.5 C#..........................................................................................................................................................................118

17.6 Captura de Pantalla...............................................................................................................................................121

18. Verificación con FOR 02/11.........................................................................................................................................122

18.1 Enunciado..............................................................................................................................................................122

18.2 Diagrama a mano..................................................................................................................................................123

18.3 Prueba de escritorio..............................................................................................................................................124

18.4 Diagrama de Rational Rose....................................................................................................................................125

18.5 C#..........................................................................................................................................................................126

18.6 Captura de Pantalla...............................................................................................................................................129

19. Inventario con Do-While 03/11...................................................................................................................................130

19.1 Enunciado..............................................................................................................................................................130

19.2 Diagrama a mano..................................................................................................................................................131

19.3 Prueba de escritorio..............................................................................................................................................132

19.4 Diagrama de Rational Rose....................................................................................................................................133

19.5 C#..........................................................................................................................................................................134

19.6 Capturas de Pantalla..............................................................................................................................................137

20. Caseta con FOR 08/11.................................................................................................................................................138

20.1 Enunciado..............................................................................................................................................................138

20.2 Diagrama a mano..................................................................................................................................................139

20.3 Prueba de escritorio..............................................................................................................................................140

Page 6: Listado de algoritmos carlos

20.4 Diagrama de Rational Rose....................................................................................................................................141

20.5 C#..........................................................................................................................................................................142

20.6 Captura de Pantalla...............................................................................................................................................144

21. Caseta con WHILE 08/11.............................................................................................................................................145

21.1 Enunciado..............................................................................................................................................................145

21.2 Diagrama a mano..................................................................................................................................................146

21.3 Prueba de escritorio..............................................................................................................................................147

21.4 Diagrama de Rational Rose....................................................................................................................................148

21.5 C#..........................................................................................................................................................................149

21.6 Captura de Pantalla...............................................................................................................................................151

22. Caseta con DO-WHILE 08/11.......................................................................................................................................152

22.1 Enunciado..............................................................................................................................................................152

22.2 Diagrama a mano..................................................................................................................................................153

22.3 Prueba de escritorio..............................................................................................................................................154

22.4 Diagrama de Rational Rose....................................................................................................................................155

22.5 C#..........................................................................................................................................................................156

22.6 Captura de Pantalla...............................................................................................................................................158

23. Menú de exponente y raíz cuadrada 09/11.................................................................................................................159

23.1 Enunciado..............................................................................................................................................................159

23.2 Diagrama a mano..................................................................................................................................................160

23.3 Prueba de escritorio..............................................................................................................................................161

23.4 Diagrama de Rational Rose....................................................................................................................................162

23.5 C#..........................................................................................................................................................................163

23.6 Captura de Pantalla...............................................................................................................................................165

24. Venta de Boletos de un teatro 09/11..........................................................................................................................166

24.1 Enunciado..............................................................................................................................................................166

24.2 Diagrama a mano..................................................................................................................................................167

24.3 Prueba de escritorio..............................................................................................................................................168

24.4 Diagrama de Rational Rose....................................................................................................................................169

24.5 C#..........................................................................................................................................................................170

24.6 Captura de Pantalla...............................................................................................................................................180

Page 7: Listado de algoritmos carlos

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 8: Listado de algoritmos carlos

1.2 Diagrama a mano

Page 9: Listado de algoritmos carlos

1.3 Prueba de escritorio

Page 10: Listado de algoritmos carlos

1.4 Diagrama de Rational Rose

Page 11: Listado de algoritmos carlos

1.5 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

Page 12: Listado de algoritmos carlos

Escribir 'La base ',base,' X ',altura,' = ',base*altura

FinSi

FinSi

Sino

Si letraFigura='C' O letraFigura='c' Entonces

Escribir 'Escribir el tamaño de la base'

Leer base

Si base<=0 Entonces

Escribir 'Error'

Sino

Escribir 'Escribir el tamaño de la altura'

Leer altura

Si altura<=0 Entonces

Escribir 'Error'

Sino

Escribir 'El área del triángulo es = ',(base*altura)/2

FinSi

FinSi

Sino

Escribir 'Error'

FinSi

FinSi

FinSi

FinProceso

Page 13: Listado de algoritmos carlos

1.6 Capturas de Pantalla

Page 14: Listado de algoritmos carlos
Page 15: Listado de algoritmos carlos

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 16: Listado de algoritmos carlos

2.2 Diagrama a mano

Page 17: Listado de algoritmos carlos

2.3 Prueba de escritorio

Page 18: Listado de algoritmos carlos

2.4 Diagrama de Rational Rose

Page 19: Listado de algoritmos carlos

2.5 PSeintProceso 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"

Page 20: Listado de algoritmos carlos

Sino

Escribir "Escribir el tamaño de la altura."

Leer altura

Si altura<base Entonces

Escribir "Error: La altura es menor que la base."

Sino

Escribir "El área del rectángulo = ", base*altura

Fin Si

Fin Si

"C" o "c":

Escribir "Escribir el tamaño de la base."

Leer base

Si base<=0 Entonces

Escribir "Error"

Sino

Escribir "Escribir el tamaño de la altura."

Leer altura

Si altura<=0 Entonces

Escribir "Error"

Sino

Escribir "El área del triángulo es = ", (base*altura)/2

Fin Si

Fin Si

De Otro Modo:

Page 21: Listado de algoritmos carlos

Escribir "Error"

Fin Segun

FinProceso

Page 22: Listado de algoritmos carlos

2.6 Capturas de Pantalla

Page 23: Listado de algoritmos carlos
Page 24: Listado de algoritmos carlos

3. Áreas con while

3.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 25: Listado de algoritmos carlos

3.2 Diagrama a mano

Page 26: Listado de algoritmos carlos

3.4 Prueba de escritorio

Page 27: Listado de algoritmos carlos

3.5 Diagrama de Rational Rose

Page 28: Listado de algoritmos carlos

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

Page 29: Listado de algoritmos carlos

altura = Convert.ToDouble(leer); if (altura < tamanoBase) Console.WriteLine("Error: La altura es menor que la base."); else Console.WriteLine("El área del rectángulo = {0}", tamanoBase * altura); }//Fin else i++; break;

case "C": case "c": Console.WriteLine("Escribir el tamaño de la base"); leer = Console.ReadLine(); tamanoBase = Convert.ToDouble(leer); if (tamanoBase <= 0) Console.WriteLine("Error"); else { Console.WriteLine("Escribe el tamaño de la altura."); leer = Console.ReadLine(); altura = Convert.ToInt32(leer); if (altura <= 0) Console.WriteLine("Error"); else Console.WriteLine("El área del triángulo es ={0} ", (tamanoBase * altura) / 2); }//Fin else i++; break;

case "D": case "d": break;

default: Console.WriteLine("Error."); break;

}//Fin Switch }//Fin while Console.ReadKey(); } }}

Page 30: Listado de algoritmos carlos

3.7 Capturas de Pantalla

Page 31: Listado de algoritmos carlos

4. Edades con switch 09/09

4.1 Enunciado

Hacer un diagrama de actividades que cumpla con lo siguiente.

La cantidad de ciclos son 4 veces

Mostrar si son mayores de edad o menores de edad.

1. Menor de edad= edad>0 o edad<=16

2. Mayor de edad= edad>16 y edad<=110

Se deben de ir sumando las edades ingresadas y al final realizar un promedio general de todas las edades ingresadas.

Page 32: Listado de algoritmos carlos

4.2 Diagrama a mano

Page 33: Listado de algoritmos carlos

4.3 Prueba de escritorio

Page 34: Listado de algoritmos carlos
Page 35: Listado de algoritmos carlos

4.4 Diagrama de Rational Rose

Page 36: Listado de algoritmos carlos

4.5 C#

Page 37: Listado de algoritmos carlos

5. Llamada telefónica usando dos variables (minutos/segundos) con if´s 23/09

5.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 38: Listado de algoritmos carlos

5.2 Diagrama a mano

Page 39: Listado de algoritmos carlos
Page 40: Listado de algoritmos carlos

5.3 Prueba de escritorio

Page 41: Listado de algoritmos carlos
Page 42: Listado de algoritmos carlos

5.4 Diagrama de Rational Rose

Page 43: Listado de algoritmos carlos

5.5 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 44: Listado de algoritmos carlos

5.6 Capturas de Pantalla

Page 45: Listado de algoritmos carlos

6. Tablas de multiplicar con FOR ascendente 23/09

6.1 Enunciado

Realizar un ciclo de una tabla multiplicar.

La forma en la que se utilizará FOR es mediante i++

Page 46: Listado de algoritmos carlos

6.2 Diagrama a mano

Page 47: Listado de algoritmos carlos
Page 48: Listado de algoritmos carlos

6.3 Prueba de escritorio

Page 49: Listado de algoritmos carlos
Page 50: Listado de algoritmos carlos

6.4 Diagrama de Rational Rose

Page 51: Listado de algoritmos carlos

6.5 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 52: Listado de algoritmos carlos

6.6 Capturas de Pantalla

Page 53: Listado de algoritmos carlos

7. Tablas de multiplicar con FOR descendente 23/09

7.1 Enunciado

Realizar un ciclo de una tabla multiplicar.

La forma en la que se utilizará FOR es mediante i--

Page 54: Listado de algoritmos carlos

7.2 Diagrama a mano

Page 55: Listado de algoritmos carlos
Page 56: Listado de algoritmos carlos

7.3 Prueba de escritorio

Page 57: Listado de algoritmos carlos
Page 58: Listado de algoritmos carlos

7.4 Diagrama de Rational Rose

Page 59: Listado de algoritmos carlos

7.5 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 60: Listado de algoritmos carlos

7.6 Capturas de Pantalla

Page 61: Listado de algoritmos carlos

8. Alumnos son beca y con beca del 50% y 100% -> promedio de cada uno usando FOR 23/09

8.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 62: Listado de algoritmos carlos

8.2 Diagrama a mano

Page 63: Listado de algoritmos carlos

8.3 Prueba de escritorio

Page 64: Listado de algoritmos carlos

8.4 Diagrama de Rational Rose

Page 65: Listado de algoritmos carlos

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

Page 66: Listado de algoritmos carlos

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

} }}

Page 67: Listado de algoritmos carlos

8.6 Capturas de Pantalla

Page 68: Listado de algoritmos carlos

9. Números pares e impares, mencionar cuántos de cada uno y cuál fue el mayor y menos 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 69: Listado de algoritmos carlos

9.2 Diagrama a mano

Page 70: Listado de algoritmos carlos

9.3 Prueba de escritorio

Page 71: Listado de algoritmos carlos

9.4 Diagrama de Rational Rose

Page 72: Listado de algoritmos carlos

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

Page 73: Listado de algoritmos carlos

if (numeroIngresado <= nonMenor) nonMenor = numeroIngresado; else { if (numeroIngresado >= nonMayor) nonMayor = numeroIngresado; else Console.ReadKey(); } }//Fin Else break;

default: break; }//Fin Switch }//Fin FOR Console.WriteLine("Par Mayor = {0}", parMayor); Console.WriteLine("Par Menor = {0}", parMenor); Console.WriteLine("Non Mayor = {0}", nonMayor); Console.WriteLine("Non Menor = {0}", nonMenor); Console.WriteLine("La suma de los números pares = {0}", sumaPares); Console.WriteLine("La suma de los números nones = {0}", sumaNones); if (sumaPares > sumaNones) Console.WriteLine("La suma de los números pares es mayor que los impares."); else Console.WriteLine("La suma de los números impares es mayor que los pares."); Console.ReadKey(); } }}

Page 74: Listado de algoritmos carlos

9.6 Capturas de Pantalla

Page 75: Listado de algoritmos carlos

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 76: Listado de algoritmos carlos

10.2 Diagrama a mano

Page 77: Listado de algoritmos carlos
Page 78: Listado de algoritmos carlos

10.3 Prueba de escritorio

Page 79: Listado de algoritmos carlos
Page 80: Listado de algoritmos carlos

10.4 Diagrama de Rational Rose

Page 81: Listado de algoritmos carlos

10.5 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 82: Listado de algoritmos carlos

}

10.6 Capturas de Pantalla

Page 83: Listado de algoritmos carlos

11. Edades con FOR 05/10

11.1 Enunciado

Realizar un diagrama de actividad:

Debe de pedir cuantas edades introducirá (ciclo)

1. Pide la edad2. Valida que sea de 0-120 error3. 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 84: Listado de algoritmos carlos

11.2 Diagrama a mano

Page 85: Listado de algoritmos carlos
Page 86: Listado de algoritmos carlos

11.3 Prueba de escritorio

Page 87: Listado de algoritmos carlos
Page 88: Listado de algoritmos carlos

11.4 Diagrama de Rational Rose

Page 89: Listado de algoritmos carlos

11.5 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 90: Listado de algoritmos carlos

11.6 Capturas de Pantalla

Page 91: Listado de algoritmos carlos

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 92: Listado de algoritmos carlos

12.2 Diagrama a mano

Page 93: Listado de algoritmos carlos
Page 94: Listado de algoritmos carlos

12.3 Prueba de escritorio

Page 95: Listado de algoritmos carlos
Page 96: Listado de algoritmos carlos

12.4 Diagrama de Rational Rose

Page 97: Listado de algoritmos carlos

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

Page 98: Listado de algoritmos carlos

monto = monto + (minutos * 0.5); } else { Console.WriteLine("El precio de llamada es {0}", minutos - 2.5); monto = monto + (minutos - 2.5); } } break;

case 2: Console.WriteLine("El costo total es ${0} y el tiempo total es {1} minutos", monto, tiempo); Console.WriteLine("Fin del programa."); break;

default: break; }//Fin Switch

}//fin do-while while (opcion != 2); Console.ReadKey();

} }}

Page 99: Listado de algoritmos carlos

12.6 Capturas de Pantalla

Page 100: Listado de algoritmos carlos

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 101: Listado de algoritmos carlos

13.2 Diagrama a mano

Page 102: Listado de algoritmos carlos
Page 103: Listado de algoritmos carlos

13.3 Prueba de escritorio

Page 104: Listado de algoritmos carlos
Page 105: Listado de algoritmos carlos

13.4Diagrama de Rational Rose

Page 106: Listado de algoritmos carlos

13.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, 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

Page 107: Listado de algoritmos carlos

Console.WriteLine("Promedio General = {0}", (califTotal) / (numeroAlumnos)); Console.ReadKey(); } }}

Page 108: Listado de algoritmos carlos

13.6 Capturas de Pantalla

Page 109: Listado de algoritmos carlos

14. Calificaciones A, B y C con For 20/10

14.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 110: Listado de algoritmos carlos

14.2 Diagrama a mano

Page 111: Listado de algoritmos carlos
Page 112: Listado de algoritmos carlos

14.3 Prueba de escritorio

Page 113: Listado de algoritmos carlos
Page 114: Listado de algoritmos carlos

14.4 Diagrama de Rational Rose

Page 115: Listado de algoritmos carlos

14.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 116: Listado de algoritmos carlos

14.6 Captura de Pantalla

Page 117: Listado de algoritmos carlos

15. Área con Do-While 21/10

15.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 118: Listado de algoritmos carlos

15.2 Diagrama a mano

Page 119: Listado de algoritmos carlos

15.3 Prueba de escritorio

Page 120: Listado de algoritmos carlos
Page 121: Listado de algoritmos carlos

15.4 Diagrama de Rational Rose

Page 122: Listado de algoritmos carlos

15.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) { 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");

Page 123: Listado de algoritmos carlos

else { Console.WriteLine("Escribe el tamaño de la altura."); leer = Console.ReadLine(); altura = Convert.ToDouble(leer); if (altura <= 0) Console.WriteLine("Error"); else Console.WriteLine("El área del triángulo es ={0} ", (basef * altura) / 2); }//Fin else break;

case 4: break;

default: Console.WriteLine("Error."); break;

}//Fin Switch } while (opcion != 4); Console.ReadKey(); } }}

Page 124: Listado de algoritmos carlos

15.6 Captura de Pantalla

Page 125: Listado de algoritmos carlos

16. Frutas con Do-While 28/10

16.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 126: Listado de algoritmos carlos

16.2 Diagrama a mano

Page 127: Listado de algoritmos carlos

16.3 Prueba de escritorio

Page 128: Listado de algoritmos carlos
Page 129: Listado de algoritmos carlos

16.4 Diagrama de Rational Rose

Page 130: Listado de algoritmos carlos

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

Page 131: Listado de algoritmos carlos

} while (vasosMan < 0);

Console.WriteLine("La cantidad que ingresó es correcta.(Escriba el inciso de su respuesta.)"); Console.WriteLine("1) SI"); Console.WriteLine("2) NO"); leer = Console.ReadLine(); datos = Convert.ToInt32(leer);

} while (datos == 2); //Fin do-while

do { do { Console.WriteLine("¿Cuántos vasos de pepinos se vendieron?"); leer = Console.ReadLine(); vasosPepi = Convert.ToInt32(leer);

} while (vasosPepi < 0);

Console.WriteLine("La cantidad que ingresó es correcta.(Escriba el inciso de su respuesta.)"); Console.WriteLine("1) SI"); Console.WriteLine("2) NO"); leer = Console.ReadLine(); datos = Convert.ToInt32(leer);

} while (datos == 2); //Fin do-while

do { do { Console.WriteLine("¿Cuántos vasos de sandía se vendieron?"); leer = Console.ReadLine(); vasosSan = Convert.ToInt32(leer);

} while (vasosSan < 0);

Console.WriteLine("La cantidad que ingresó es correcta.(Escriba el inciso de su respuesta.)"); Console.WriteLine("1) SI"); Console.WriteLine("2) NO"); leer = Console.ReadLine(); datos = Convert.ToInt32(leer);

} while (datos == 2); //Fin do-while

do { do { Console.WriteLine("¿Cuántos vasos de zanahoria se vendieron?"); leer = Console.ReadLine(); vasosZana = Convert.ToInt32(leer);

} while (vasosZana < 0);

Page 132: Listado de algoritmos carlos

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 133: Listado de algoritmos carlos

16.6 Capturas de Pantalla

Page 134: Listado de algoritmos carlos

17. Verificación con Do-While 02/11

17.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 135: Listado de algoritmos carlos

17.2 Diagrama a mano

Page 136: Listado de algoritmos carlos

17.3 Prueba de escritorio

Page 137: Listado de algoritmos carlos

17.4 Diagrama de Rational Rose

Page 138: Listado de algoritmos carlos

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

Page 139: Listado de algoritmos carlos

Console.WriteLine("1) Si"); Console.WriteLine("2) No"); leer = Console.ReadLine(); resul = Convert.ToInt32(leer);

} else { total0 = total0 + 274;

Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} del tipo de verificación 0 le cobraron un total de $274", placa); Console.ReadKey(); Console.WriteLine("Fueron todos los autos ingresados (Ingrese el número del inciso de su respuesta.)"); Console.WriteLine("1) Si"); Console.WriteLine("2) No"); leer = Console.ReadLine(); resul = Convert.ToInt32(leer);

}//Fin else

break;

case "00": doble0++; Console.WriteLine("Ingrese el número del inciso del resultado de la verificación."); Console.WriteLine("1) Pasó."); Console.WriteLine("2) No pasó."); leer = Console.ReadLine(); resul = Convert.ToInt32(leer); if (resul == 2) { totalRechazo = totalRechazo + 219; rechazo++; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} fue rechazada y fue cobrado un total de $219", placa); Console.ReadKey(); Console.WriteLine("Fueron todos los autos ingresados (Ingrese el número del inciso de su respuesta.)"); Console.WriteLine("1) Si"); Console.WriteLine("2) No"); leer = Console.ReadLine(); resul = Convert.ToInt32(leer); }

else { total00 = total00 + 548; Console.WriteLine("La fecha de verificación del {0} del {1} del {2} =", dia, mes, ano); Console.WriteLine("La placa = {0} del tipo de verificación 00 le cobraron un total de $548", placa); Console.ReadKey(); Console.WriteLine("Fueron todos los autos ingresados (Ingrese el número del inciso de su respuesta.)"); Console.WriteLine("1) Si"); Console.WriteLine("2) No"); leer = Console.ReadLine(); resul = Convert.ToInt32(leer);

Page 140: Listado de algoritmos carlos

}

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 141: Listado de algoritmos carlos

17.6 Captura de Pantalla

Page 142: Listado de algoritmos carlos

18. Verificación con FOR 02/11

18.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 143: Listado de algoritmos carlos

18.2 Diagrama a mano

Page 144: Listado de algoritmos carlos

18.3 Prueba de escritorio

Page 145: Listado de algoritmos carlos
Page 146: Listado de algoritmos carlos

18.4 Diagrama de Rational Rose

Page 147: Listado de algoritmos carlos

18.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 148: Listado de algoritmos carlos

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

Page 149: Listado de algoritmos carlos

Console.ReadKey();

} }}

Page 150: Listado de algoritmos carlos

18.6 Captura de Pantalla

Page 151: Listado de algoritmos carlos

19. Inventario con Do-While 03/11

19.1 EnunciadoSe 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. Compras2. Ventas3. Devoluciones sobre compra4. Devoluciones sobre venta

5. Salidas por merma o por inventario físico6. Entradas por inventario físico7. Mostrar inventario actual8. 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 152: Listado de algoritmos carlos

19.2 Diagrama a mano

Page 153: Listado de algoritmos carlos

19.3 Prueba de escritorio

Page 154: Listado de algoritmos carlos

19.4 Diagrama de Rational Rose

Page 155: Listado de algoritmos carlos

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

Page 156: Listado de algoritmos carlos

cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion2 = (opcion2 - cantidad);

} while (cantidad < 0); break;

case 3: do { Console.WriteLine("Ingrese la cantidad de devoluciones sobre compra."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion3 = (opcion3 - cantidad);

} while (cantidad < 0); break;

case 4: do { Console.WriteLine("Ingrese la cantidad de devoluciones de ventas."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion4 = opcion4 + cantidad;

} while (cantidad < 0); break;

case 5: do { Console.WriteLine("Ingrese la cantidad de salida por merma o inventario físico."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion5 = (opcion5 - cantidad);

} while (cantidad < 0); break;

case 6: do { Console.WriteLine("Ingrese la cantidad de entrada por inventario físico."); leer = Console.ReadLine(); cantidad = Convert.ToInt32(leer); if (cantidad < 0) Console.WriteLine("Ingresó una cantidad errónea."); else opcion6 = opcion6 + cantidad;

Page 157: Listado de algoritmos carlos

} while (cantidad < 0); break;

case 7: Console.WriteLine("Su inventario actual es de:"); Console.WriteLine("Su saldo inicial es = {0}", inicial); Console.WriteLine("Las compras acumuladas es = {0}", opcion1); Console.WriteLine("Las devoluciones sobre compra es = {0}", opcion3); Console.WriteLine("Las ventas acumuladas es = {0}", opcion2); Console.WriteLine("Las devoluciones sobre ventas es = {0}", opcion6); Console.WriteLine("Las salidas por merma o inventario físico = {0}", opcion5); Console.WriteLine("El saldo actual es = {0}", inicial + opcion1 + opcion2 + opcion3 + opcion4 + opcion5 + opcion6); Console.ReadKey(); break;

case 8: break;

default: Console.WriteLine("Error."); break;

}

} while (opcion != 8); Console.ReadKey(); } }}

Page 158: Listado de algoritmos carlos

19.6 Capturas de Pantalla

Page 159: Listado de algoritmos carlos

20. Caseta con FOR 08/11

20.1 Enunciado

Realizar el algoritmo de abajo tres veces: con FOR y hacer:

1. Diagrama de actividades en libreta2. Prueba de escritorio3. Rational Rose4. 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 160: Listado de algoritmos carlos

20.2 Diagrama a mano

Page 161: Listado de algoritmos carlos

20.3 Prueba de escritorio

Page 162: Listado de algoritmos carlos

20.4 Diagrama de Rational Rose

Page 163: Listado de algoritmos carlos

20.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":

Page 164: Listado de algoritmos carlos

Console.WriteLine("¿Cuántos traileres ingresaron?"); leer = Console.ReadLine(); numero = Convert.ToInt32(leer); trailer = (numero * 200) + trailer; contaTrailer = numero + contaTrailer;

Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine();

break;

case "4":

i = i * -1;

break;

default: Console.WriteLine("Ingrese el tipo de auto que ingresó. (Ingrese el número de su respuesta.)"); Console.WriteLine("1) Auto"); Console.WriteLine("2) Camión"); Console.WriteLine("3) Trailer"); Console.WriteLine("4) Salir"); tipo = Console.ReadLine(); break; } }

Console.WriteLine("El número total de autos que pasaron es ={0} Y el monto fue=${1}", contaAuto, auto); Console.WriteLine("El número total de camiones que pasaron es ={0} Y el monto fue=${1}", contaCamion, camion); Console.WriteLine("El número total de traileres que pasaron es ={0} Y el monto fue=${1}", contaTrailer, trailer); Console.WriteLine("El número total cobrado por la caseta es =${0}", auto + camion + trailer); Console.ReadKey();

} }}

Page 165: Listado de algoritmos carlos

20.6 Captura de Pantalla

Page 166: Listado de algoritmos carlos

21. Caseta con WHILE 08/11

21.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 167: Listado de algoritmos carlos

21.2 Diagrama a mano

Page 168: Listado de algoritmos carlos

21.3 Prueba de escritorio

Page 169: Listado de algoritmos carlos

21.4 Diagrama de Rational Rose

Page 170: Listado de algoritmos carlos

21.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 171: Listado de algoritmos carlos

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 172: Listado de algoritmos carlos

21.6 Captura de Pantalla

Page 173: Listado de algoritmos carlos

22. Caseta con DO-WHILE 08/11

22.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 174: Listado de algoritmos carlos

22.2 Diagrama a mano

Page 175: Listado de algoritmos carlos

22.3 Prueba de escritorio

Page 176: Listado de algoritmos carlos

22.4 Diagrama de Rational Rose

Page 177: Listado de algoritmos carlos

22.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 178: Listado de algoritmos carlos

} } 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 179: Listado de algoritmos carlos

22.6 Captura de Pantalla

Page 180: Listado de algoritmos carlos

23. Menú de exponente y raíz cuadrada 09/11

23.1 Enunciado

Realizar un diagrama de actividades que calcule exponentes y raíz cuadrada

Page 181: Listado de algoritmos carlos

23.2 Diagrama a mano

Page 182: Listado de algoritmos carlos

23.3 Prueba de escritorio

Page 183: Listado de algoritmos carlos

23.4 Diagrama de Rational Rose

Page 184: Listado de algoritmos carlos

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

Page 185: Listado de algoritmos carlos

break;

case "3":

break;

default: break; }

} while (opcion != "3"); Console.ReadKey(); } }}

Page 186: Listado de algoritmos carlos

23.6 Captura de Pantalla

Page 187: Listado de algoritmos carlos

24. Venta de Boletos de un teatro 09/11

24.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) Adulto2) Niño3) 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 188: Listado de algoritmos carlos

24.2 Diagrama a mano

Page 189: Listado de algoritmos carlos

24.3 Prueba de escritorio

Page 190: Listado de algoritmos carlos

24.4 Diagrama de Rational Rose

Page 191: Listado de algoritmos carlos

24.5 C#using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;

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

Page 192: Listado de algoritmos carlos

if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF

else error = "NO";

} while (error == "SI");

if (res == "NO") opcion = "4"; else Console.WriteLine(""); } else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosMana); do { Console.WriteLine("Va ha ingresar boletos de adultos."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF

else error = "NO";

} while (error == "SI");

if (res == "NO") Console.WriteLine(""); else { do {

Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoAdulto = Convert.ToInt32(leer); if (boletoAdulto > asientosMana || boletoAdulto < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine("");

} while (boletoAdulto > asientosMana || boletoAdulto < 0); }//Fin else

asientosMana = asientosMana - boletoAdulto; do { Console.WriteLine("Va ha ingresar boletos de niños."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF

Page 193: Listado de algoritmos carlos

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 194: Listado de algoritmos carlos

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

Page 195: Listado de algoritmos carlos

} else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosTarde); do { Console.WriteLine("Va ha ingresar boletos de adultos."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF

else error = "NO";

} while (error == "SI");

if (res == "NO") Console.WriteLine("");

else { do {

Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoAdulto = Convert.ToInt32(leer); if (boletoAdulto > asientosTarde || boletoAdulto < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine("");

} while (boletoAdulto > asientosTarde || boletoAdulto < 0); }//Fin else

asientosTarde = asientosTarde - boletoAdulto; do { Console.WriteLine("Va ha ingresar boletos de niños."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF

else error = "NO";

} while (error == "SI");

if (res == "NO") Console.WriteLine(""); else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosTarde); do {

Page 196: Listado de algoritmos carlos

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 mañana 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;

Page 197: Listado de algoritmos carlos

do { Console.WriteLine("Desea continuar ingresando boletos.(Escriba la respuesta)"); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF

else error = "NO";

} while (error == "SI");

if (res == "NO") opcion = "4"; else Console.WriteLine("");

}//Fin else break;

case "3": if (asientosNoche <= 0) { Console.WriteLine("Ya no hay más asientos disponibles"); do { Console.WriteLine("Desea continuar ingresando boletos.(Escriba la respuesta)"); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF

else error = "NO";

} while (error == "SI");

if (res == "NO") opcion = "4"; else Console.WriteLine(""); } else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosNoche); do { Console.WriteLine("Va ha ingresar boletos de adultos."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI";

Page 198: Listado de algoritmos carlos

}//Fin IF

else error = "NO";

} while (error == "SI");

if (res == "NO") Console.WriteLine("");

else { do {

Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoAdulto = Convert.ToInt32(leer); if (boletoAdulto > asientosNoche || boletoAdulto < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine("");

} while (boletoAdulto > asientosNoche || boletoAdulto < 0); }//Fin else

asientosNoche = asientosNoche - boletoAdulto; do { Console.WriteLine("Va ha ingresar boletos de niños."); Console.WriteLine("SI/NO"); res = Console.ReadLine().ToUpper(); if (res != "SI" & res != "NO") { Console.WriteLine("Error."); error = "SI"; }//Fin IF

else error = "NO";

} while (error == "SI");

if (res == "NO") Console.WriteLine("");

else { Console.WriteLine("Por el momento cuenta con {0} asientos disponibles.", asientosNoche); do {

Console.WriteLine("¿Cuántos boletos vas a comprar?"); leer = Console.ReadLine(); boletoNino = Convert.ToInt32(leer); if (boletoNino > asientosNoche || boletoNino < 0) Console.WriteLine("Cantidad errónea."); else Console.WriteLine("");

} while (boletoNino > asientosNoche || boletoNino < 0); }//Fin else

Console.WriteLine("");

Page 199: Listado de algoritmos carlos

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 mañana 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

Page 200: Listado de algoritmos carlos

error = "NO";

} while (error == "SI");

if (res == "NO") opcion = "4"; else Console.WriteLine("");

}//Fin else break; }//Fin switch } while (opcion != "4"); Console.WriteLine("El {0} la cantidad de boletos que se vendieron fueron={1}", fecha, boletosMana + boletosTarde + boletosNoche); Console.WriteLine("La cantidad de boletos vendidos para la obra de la mañana fue = {0}", boletosMana); Console.WriteLine("La cantidad de boletos vendidos para la obra de la tarde fue = {0}", boletosTarde); Console.WriteLine("La cantidad de boletos vendidos para la obra de la noche fue = {0}", boletosNoche); Console.ReadKey(); } }}

Page 201: Listado de algoritmos carlos

24.6 Captura de Pantalla

Page 202: Listado de algoritmos carlos