Click here to load reader
Upload
boris-seminario
View
14
Download
0
Embed Size (px)
Citation preview
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
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.
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
CB-411: TAREA 2
Fin Si Fin Mientras FinProceso
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
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;
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 }
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.
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
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
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 }