11

Click here to load reader

Tarea2 informatica

Embed Size (px)

Citation preview

Page 1: Tarea2 informatica

boris seminario

CB-411 O: Tarea 2

Alumno: Boris Hermes Seminario Arista

Código: 20141076H

Profesor: Arturo Vilca Román

Profesor: Arturo Vilca Román141076H

Profesor: Arturo Vilca Román

Page 2: Tarea2 informatica

CB-411: TAREA 2

1. DADOS

Escriba un programa para simular el lanzamiento de dos dados. Si el total de los dos dados es 7 u 11 usted gana; de lo contrario pierde. Adorne este programa tanto como quiera, con apuestas, posibilidades diferentes, combinaciones diferentes para ganar o perder, dejar de jugar cuando no le quede dinero o alcance el límite de la casa, desplegar los dados, etc.

1.a Pseudocódigo – diagrama de flujo

La apuesta de los dados será de tres tipos; el valor de cada apuesta es

de S/5 y existen tres tipos de apuesta; el juego finaliza cuando el usuario se quede sin

dinero o decide retirarse.

Page 3: Tarea2 informatica

CB-411: TAREA 2

Proceso Dados Ingresar el monto total del dinero Mientras jugar = si Hacer Escribir Elegir una opcion de juego: 1 - Elegir 3 numeros y gane el 25% de su apuesta 2 - Si sale 7 u 11 gana el 30% 3 - Elegir un numero y gane el 100% Si elige: 1: //Se ingresan 3 numeros Accion Se lanza el dado suma<-dado1+dado2 Leer valor1, valor2, valor3 Si suma=valor1 o suma=valor2 o suma= valor3 Entonces Gana Se aumenta el saldo en 5*0.25 Sino Pierde Se disminuye el saldo en 5*0.25 Fin Si 2: //Si se obtiene 7 u 11 Accion Se lanza el dado suma<-dado1+dado2 Si suma=7 o suma=11 Entonces Gana Se aumenta el saldo en 5*0.3 Sino Se disminuye el saldo en 5*0.3 Fin Si 3: //Se elige un numero entre 2 y 12 Accion Se lanza el dado suma<-dado1+dado2 Si suma=numeroElegido Entonces Gana El saldo aumenta en 5 Sino El saldo disminuye en 5 Fin Si Si Desea continuar Entonces jugar<-si Sino jugar<-no

Page 4: Tarea2 informatica

CB-411: TAREA 2

Fin Si Fin Mientras FinProceso

Page 5: Tarea2 informatica

CB-411: TAREA 2

1 #include<stdio.h>

2 #include<stdlib.h>

3 int sumaLanzamiento( );

4

5

6 int main()

7 {

8 int saldo;

9 int opt;

10 int suma;

11 int x[3], numero;

12 int i;

13 int juego;

14 juego=1;

15 i=0;

16 //Menu de bienvenide

17 printf("Bienvenido al juego de apuestas con dados\n");

18 printf("Cada apuesta es de S/5, siga las instrucciones\n");

19 printf("que se dan a continuacion\n\n");

20 //Ingresa el saldo de la partida

21 saldo=0;

22 while(saldo<5)

23 {

24 printf("Ingrese el saldo :");

25 scanf("%d",&saldo);

26 if(saldo<5)

27 printf("Monto insuficiente!!!\n\n");

28 }

29

30 printf("\n******************************************\n");

31

32 while(juego==1)

33 {

34 //Menu de juego, selecciona el tipo de partida

35 printf("Elija una opcion de partida:\n");

36 printf("1 - Elegir 3 numeros y gane el 25% de su apuesta\n");

37 printf("2 - Si sale 7 u 11 gana el 30%\n");

38 printf("3 - Elegir un numero y gane el 100%\n");

39

40 printf("\nOpcion:\n\n");

1.b Código fuente en C

Page 6: Tarea2 informatica

CB-411: TAREA 2

41

42 //suma = sumaLanzamiento(opt);

43 opt=-1;

44 while(opt<1 || opt>3)

45 {

46 scanf("%d",&opt);

47 switch(opt)

48 {

49 case 1:

50 printf("\nIngrese los valores:\n");

51

52 while(i<3)

53 {

54 scanf("%d", &x[i]);

55 i++;

56 }

57

58 suma = sumaLanzamiento();

59

60 if(suma==x[1] || suma==x[2] || suma==x[3])

61 {

62 printf("Gano!!!");

63 saldo=saldo+5*0.25;

64 }

65 else

66 {

67 printf("Perdio!!!");

68 saldo=saldo-0.25*5;

69 }

70 break;

71

72 case 2:

73 suma = sumaLanzamiento();

74 if(suma == 7 || suma == 11)

75 {

76 printf("Gano!!!");

77 saldo = saldo + 5;

78 }

79 else

80 saldo=saldo-5*0.3;

Page 7: Tarea2 informatica

CB-411: TAREA 2

81 printf("Perdio!!!");

82 break;

83

84 case 3:

85 printf("\nIngrese un numero entre 2 y 12\n");

86 scanf("%d, &numero");

87 printf("\n");

88 suma = sumaLanzamiento();

89 if(suma==numero)

90 printf("Gano!!!");

91 else

92 printf("Perdio!!!");

93 break;

94 }

95 }

96 printf("%d",saldo);

97 if(saldo>=5)

98 {

99 printf("\n¿Desea seguir jugando?\n");

100 printf("1 - si\n");

101 printf("Cualquier otro numero - no\n");

102 scanf("%d",&juego);

103 //if(juego == 1)

104 //{break;}

105 }

106 else

107 {

108 printf("\nJuego terminado, el saldo es insuficiente\n");

109 }

110 }

111 return 0;

112 }

113 ///////////////////////////////////////////////////////////////////////

114 int sumaLanzamiento()

115 {

116 int N;

117 srand(time(NULL));

118 N=rand()%13+2;

119 return N;

120 }

Page 8: Tarea2 informatica

CB-411: TAREA 2

MATRIZ ESPIRAL

Dados dos enteros m y n, escriba un programa que construya una matriz con m filas y n columnas cuyas entradas sean los números 1, 2, …, m*n acomodados en espiral, comenzando con el número 1 en la entrada que está en la esquina superior izquierda, siguiendo hacia la derecha, luego hacia abajo, luego hacia la izquierda, luego hacia arriba y así sucesivamente.

2.b Pseudocódigo – diagrama de flujo

Esta matriz no puede imprimirse como tal, ya que en C, se imprimen los

caracteres en pantalla de izquierda a derecha y de arriba abajo, por lo que se construirá

esta matriz a partir de una secuencia de números de 1 a m*n (último elemento)

asociando la secuencia a los elementos de la matriz de manera conveniente.

Page 9: Tarea2 informatica

CB-411: TAREA 2

Proceso matrizEspiral matriz(M)(N) Leer M; Leer N; //M>0 y N>0 Mientras cont<=M*N Hacer cont=1 //Asigna hacia la derecha //Asigna hacia abajo //Asigna hacia la izquierda //Asigna hacia arriba Fin Mientras FinProceso

Page 10: Tarea2 informatica

CB-411: TAREA 2

1 #include<stdio.h>

2

3 void matrizEspiral(int , int);

4

5

6 int main()

7 {

8 int *p,*q;

9 int M, N;

10

11 printf("Inserta el tamaño de la matriz\n");

12

13 scanf("%d",&M);

14 printf("Filas: ");

15 p=&M;

16 printf("\nColumnas ");

17 q=&N;

18 matrizEspiral(*p , *q);

19 return 0;

20 }

21

22 void matrizEspiral(int X, int Y);

23 {

24 int i,j;

25

26 int countTotal = 1,tamanioTotal = X*Y;

27

28 int fila = 0, h = X, v = 1;

29

30 int matrizCaracol[X][Y];

31

32 while(countTotal<=tamanioTotal)

33 {

34 for(i=v-1; i < h; i++)

35 {

36 matrizCaracol[fila][i] = countTotal;

37 countTotal = countTotal++;

38 }

1.b Código fuente en C

Page 11: Tarea2 informatica

CB-411: TAREA 2

39 fila = X - v;

40 h = Y - v;

41

42 for(i=v; i <= h; i++)

43 {

44 matrizCaracol[i][fila] = countTotal;

45 countTotal = countTotal++;

46 }

47

48 for(i=h-1; i >= (v-1) ; i--)

49 {

50 matrizCaracol[fila][i] = countTotal;

51 countTotal = countTotal++;

52 }

53 fila = v-1;

54

55 for(i=h-1; i >= v ; i--)

56 {

57 matrizCaracol[i][fila] = countTotal;

58 countTotal = countTotal++;

59 }

60 v++;

61 fila = v-1;

62 }

63

64 for(i=0; i<X; i++)

65 {

66 for(j=0; j<Y; j++)

67 {

68 printf("%d \t", matrizCaracol[i][j]);

69 }

70 printf("\n");

71 }

72 }