Ejercicios de arrays:
Buscar los dos mayores de una lista de N datos.
1 Proceso BuscarLosDosMayoresDeUnaListadeNNumeros
2      Definir N, Indice Como Entero;
3      Escribir "Dime N >
2";
4      Leer N;
5      Definir Nums Como Entero;
6      Dimension Nums[N];
7      Para Indice <- 1 Hasta N Hacer
8            Nums[Indice]
<- Azar(100);
9            Escribir Nums[Indice];
10     FinPara
11     //Buscar los
dos Mayores
12     Nums[1]<-99;
13     Definir Mayores Como Entero;
14     Dimension Mayores[2]; //pos 2 es el
mas alto.
15     Si Nums[1] > Nums[2] entonces
16           Mayores[2] <- Nums[1];
17           Mayores[1] <- Nums[2];
18     Sino
19           Mayores[2] <- Nums[2];
20           Mayores[1] <- Nums[1];
21     FinSi
22     Para Indice <- 3 hasta N hacer
23           si Nums[Indice]
> Mayores[1] entonces //> que algun mayor
24                  si Nums[Indice]
> Mayores[2] entonces //> que el mas mayor
25                         Mayores[1]<-Mayores[2]; //El mayor pas
al 2mayor
26                         Mayores[2]<-Nums[Indice];
27                  sino // mayor que el
2º mayor
28                         Mayores[1]<-Nums[Indice];
29                  FinSi
30           FinSi
31     FinPara
32
33     Escribir "Resultados";
34     Para Indice<-2 hasta 1 Con Paso -1 Hacer
35           Escribir Mayores[Indice];
36
37     FinPara
38 FinProceso
Se ingresan los precios de 5 artículos y las cantidades vendidas por una empresa en sus 4 sucursales.Informar:
- Las cantidades totales de cada articulo.
- La cantidad de artículos en la sucursal 2.
- La cantidad del articulo 3 en la sucursal 1.
- La recaudación total de cada sucursal.
- La recaudación total de la empresa.
- La sucursal de mayor recaudación.
1 Proceso PreciosArticulosySucursales
2      //Se ingresan
los precios de 5 articulos y las cantidades
3      //vendidas por
una empresa en sus 4 sucursales.
4      //Informar:
5      // Las
cantidades totales de cada articulo.
6      // La cantidad
de artículos en la sucursal 2.
7      // la cantidad
del articulo 3 en la sucursal 1.
8      // la recaudación
total de cada sucursal.
9      // La recaudación
total de la empresa.
10 // La sucursal
de mayor recaudación.
11     Definir Precios como real;
12     Dimension Precios[5]; // precios de
los 5 articulos
13     Definir VentasSucursal Como Entero;
14     Dimension VentasSucursal[4,5];
15     Definir I, S , A
Como
Entero;
16     Escribir "Dime los
precios";
17     Para I<-1 hasta 5 Hacer
18           Escribir "A" , I Sin Saltar;
19           Leer Precios[I]
;
20     FinPara
21     Para S<-1 Hasta 4 hacer //paso por las
sucursales
22           Escribir "";
23           Escribir "Venta de la
sucursal num: ", S;
24           Para A <-1 hasta 5 hacer //Pido ventas
de cada articulo
25                  Escribir "A", A Sin Saltar;
26                  Leer VentasSucursal[S,A]
;
27           finpara
28     FinPara
29
30     Definir Cantidades como entero;
31     Dimension Cantidades[5];//cantidades
totales de cada articulo.
32     Para i<-1 hasta 5 hacer
33           Cantidades[i]<-0; // a acero para
acumular
34     FinPara
35
36     Definir totalS2 como entero;//cantidad de
art en sucursal 2.
37     TotalS2 <-0;
38
39     Definir CantAr3enS1 como entero;//cant del art
3 en sucursal 1.
40     CantAr3enS1 <- VentasSucursal[1,3];
41
42     Definir Recaudaciones como real;
43     Dimension Recaudaciones[4]; //recaudacion
total de cada sucul.
44     Para I<-1 hasta 4 hacer
45           Recaudaciones[I]<-0;
46     FinPara
47     Definir Total como real;// recaudacion
total de la empresa.
48 Total <- 0;
49     Definir MejorSucursal como entero;//sucursal de
mayor recaudacion.
50     Definir MaxSucursal como real;
51     MaxSucursal <- 0;
52     Para S<-1 Hasta 4 Hacer
53           Para A<-1 hasta 5 Hacer
54                  Cantidades[A]
<- Cantidades[A] + VentasSucursal[S,A];
55                  Si S = 2 Entonces
56                         TotalS2 <- TotalS2 + VentasSucursal[S,A];
57                  FinSi
58           Recaudaciones[S]
<- Recaudaciones[S] + ( VentasSucursal[S,A]
* Precios[A]);
59           Total <- Total + ( VentasSucursal[S,A]
* Precios[A]);
60           FinPara
61     FinPara
62
63     Escribir "Total de
Ventas por Articulos";
64     Para i<-1 hasta 5 hacer
65           Escribir "Articulo
" , i , "Total: " ,Cantidades[i];
66     FinPara
67     Escribir "Total ventas
Sucursal 2 :" , TotalS2;
68     Escribir "cant del art
3 en sucursal 1: " , CantAr3enS1;
69     Escribir "Recaudacion
de cada sucursal";
70     Para I<-1 hasta 4 hacer
71           Si Recaudaciones[I]
> MaxSucursal entonces
72                  MaxSucursal<-Recaudaciones[I];
73                  MejorSucursal<-I;
74           FinSi
75           Escribir "El Total en
sucursal ", i , " Es ", Recaudaciones[I];
76     FinPara
77     Escribir "Recaudacion
total de la empresa ", Total;
78     Escribir "La Mejor
sucursal es ", MejorSucursal, " Con " , MaxSucursal ," Euros.";
79 FinProceso
Hay unos multicines con 5 salas, y cada sala con 100 personas distribuidas en 20 asientos y 5 filas. Si yo pido entrada para una sala, implementar un programa que me diga si hay sitio en la sala.
1 Proceso Cines
2      //Hay unos multicines con 4 salas,
3      //y cada sala con 100 personas distribuidas
4      //en 20 asientos y 5 filas.
5      //Si yo pido entrada para una sala, implementar
6      //un programa que me diga si hay sitio en la sala.
7      //Decir fila y asiento
8      Definir Cines como logico; //Verdadero es ocupado
9      Dimension Cines[4,5,20]; // 4 salas, 5 filas , 20 asientos
10     Definir S, F , A Como Entero;
11     Para S<-1 hasta 4 Hacer
12           Para F<-1 hasta 5 Hacer
13                  Para A<-1 hasta 20 Hacer
14                         Cines[S,F,A] <- (Azar(2) = 1);
15                  FinPara
16           FinPara
17     FinPara
18
19     Para S<-1 hasta 4 Hacer
20           Escribir "Sala : ", S;
21           Para F<-1 hasta 5 Hacer
22                  Para A<-1 hasta 20 Hacer
23                         Si Cines[S,F,A] entonces //Verdadero ocupado
24                                Escribir " X " sin saltar;
25                         sino
26                                Escribir " . " sin saltar;
27                         FinSi
28                  FinPara
29                  Escribir "";
30           FinPara
31     FinPara
32
33     Definir Sala, Fila , Asiento Como Entero;
34     Definir SeguirBuscado como logico;
35     Repetir
36           Escribir "Dime a que sala queires ir??";
37           Leer Sala;
38           Si Sala <> 0 Entonces
39                  Borrar Pantalla;
40                  F<-1;
41                  A<-1;
42                  SeguirBuscado<-Verdadero;
43                  Mientras SeguirBuscado
44                         si Cines[Sala,F,A] = Falso Entonces
45                                SeguirBuscado<-falso;
46                         sino
47                                A<-A+1;
48                                Si A > 20 entonces
49                                      F <- F + 1;
50                                      A <- 1;
51                                      si F > 5 entonces
52                                             SeguirBuscado<- Falso;
53                                      FinSi
54                                FinSi
55                         FinSi
56                  FinMientras
57                  Si F > 5 Entonces //sala ocupada
58                         Escribir "Sala ocupada.";
59                  Sino
60                         Cines[Sala,F,A] <- Verdadero;
61                         Escribir "Tu entrada es S:" , Sala , " F:", F, " A:",A;
62                  FinSi
63                  Para S<-1 hasta 4 Hacer
64                         Escribir "Sala : ", S;
65                         Para F<-1 hasta 5 Hacer
66                                Para A<-1 hasta 20 Hacer
67                                      Si Cines[S,F,A] entonces //Verdadero ocupado
68                                             Escribir " X " sin saltar;
69                                       sino
70                                             Escribir " . " sin saltar;
71                                      FinSi
72                                FinPara
73                                Escribir "";
74                         FinPara
75                  FinPara
76           FinSi
77     Hasta Que Sala = 0
78 FinProcesoOpción vender varias entradas:
1 Proceso CinesVariasEntradas
2      //Hay unos multicines con 4 salas,
3      //y cada sala con 100 personas distribuidas
4      //en 20 asientos y 5 filas.
5      //Si yo pido un numeros de entradas para una sala, implementar
6      //un programa que me diga si hay sitio en la sala.
7      //Decir fila y asiento
8      Definir Cines como logico; //Verdadero es ocupado
9      Dimension Cines[4,5,20]; // 4 salas, 5 filas , 20 asientos
10     Definir S, F , A Como Entero;
11     Para S<-1 hasta 4 Hacer
12           Para F<-1 hasta 5 Hacer
13                  Para A<-1 hasta 20 Hacer
14                         Cines[S,F,A] <- (Azar(2) = 1);
15                  FinPara
16           FinPara
17     FinPara
18
19     Para S<-1 hasta 4 Hacer
20           Escribir "Sala : ", S;
21           Para F<-1 hasta 5 Hacer
22                  Para A<-1 hasta 20 Hacer
23                         Si Cines[S,F,A] entonces //Verdadero ocupado
24                                Escribir " X " sin saltar;
25                         sino
26                                Escribir " . " sin saltar;
27                         FinSi
28                  FinPara
29                  Escribir "";
30           FinPara
31     FinPara
32     Definir Sala, NumEntradas, EntradasResevadas, Entradas Como Entero;
33     Dimension Entradas[15, 3]; // NumEntada(1)Sala (2)Fila (3)Asiento
34     Definir SeguirBuscado como logico;
35     Repetir
36           Escribir "Dime a que sala queires ir??";
37           Leer Sala;
38           Si Sala <> 0 Entonces
39                  Escribir "Dime cuantas entradas max(15) ?";
40                  Leer NumEntradas;
41
42                  Borrar Pantalla;
43
44                  EntradasResevadas <-0;
45                  F<-1;
46                  A<-1;
47                  SeguirBuscado<-Verdadero;
48                  Mientras SeguirBuscado
49                         si Cines[Sala,F,A] = Falso Entonces
50                                EntradasResevadas <- EntradasResevadas + 1;
51                                Entradas[EntradasResevadas,1 ]<-Sala;
52                                Entradas[EntradasResevadas,2 ]<-F;
53                                Entradas[EntradasResevadas,3 ]<-A;
54                                si EntradasResevadas = NumEntradas Entonces
55                                      SeguirBuscado<-falso;
56                                Sino
57                                      A<-A+1;
58                                      Si A > 20 entonces
59                                             F <- F + 1;
60                                             A <- 1;
61                                             si F > 5 entonces
62                                                    SeguirBuscado<- Falso;
63                                             FinSi
64                                      FinSi
65                                FinSi
66                         sino
67                                A<-A+1;
68                                Si A > 20 entonces
69                                      F <- F + 1;
70                                      A <- 1;
71                                      si F > 5 entonces
72                                             SeguirBuscado<- Falso;
73                                      FinSi
74                                FinSi
75                         FinSi
76                  finMientras
77
78
79
80
81                  Si F > 5 Entonces //sala ocupada
82                         Escribir "Sala ocupada ";
83                  Sino
84                  //Cines[Sala,F,A] <- Verdadero;
85                         Escribir "Tus Entradas:";
86                         Para S<-1 Hasta NumEntradas Hacer
87                                Sala <- Entradas[S,1 ];
88                                F<-Entradas[S,2 ];
89                                A<- Entradas[S,3 ];
90                                Cines[Sala,F,A] <- Verdadero;
91                                Escribir "Entrada " , S, " en S:" , Sala , " F:", F, " A:",A;
92                         FinPara
93
94                  FinSi
95     Para S<-1 hasta 4 Hacer
96           Escribir "Sala : ", S;
97           Para F<-1 hasta 5 Hacer
98                  Para A<-1 hasta 20 Hacer
99                         Si Cines[S,F,A] entonces //Verdadero ocupado
100                        Escribir " X " sin saltar;
101                 sino
102                        Escribir " . " sin saltar;
103                 FinSi
104           FinPara
105          Escribir "";
106    FinPara
107 FinPara
108 FinSi
109 Hasta Que Sala = 0
110
111
112
113 FinProceso
Programa que lee dos matrices y permite operar con ellas sumar , restar y multiplicar.
1 Proceso OpertarConMatrices
2      //Programa que
lee dos matrices y permite operar con ellas
3      // 1 = sumar ,
2 = restar , 3 = multiplicar , 4 = Fin
4      Definir FilasA , ColumnasA
como
entero;
5      Definir FilasB , ColumnasB
como
entero;
6      Definir MatrizA , MatrizB
Como
Real;
7      Escribir "Dime las
filas de la Matriz A";
8      Leer FilasA;
9      Escribir "Dime las
columnas de la Matriz A";
10     Leer ColumnasA;
11     Dimension MatrizA[FilasA,
ColumnasA];
12     Definir i,j,x
como
entero;
13     Para i<-1 hasta FilasA hacer
14           Para j<-1 hasta ColumnasA hacer
15                  MatrizA[i,j]
<- azar(10) ;
16           FinPara
17     FinPara
18     Escribir "Dime las
filas de la Matriz B";
19     Leer FilasB;
20     Escribir "Dime las
columnas de la Matriz B";
21     Leer ColumnasB;
22     Dimension MatrizB[FilasB,
ColumnasB];
23     Para i<-1 hasta FilasB hacer
24           Para j<-1 hasta ColumnasB hacer
25                  MatrizB[i,j]
<- azar(10);
26           FinPara
27     FinPara
28     Escribir "Matriz
A";
29     Para i<-1 hasta FilasA hacer
30           Para j<-1 hasta ColumnasA hacer
31                  Escribir MatrizA[i,j]
, "
" Sin Saltar;
32           FinPara
33           Escribir "";
34     FinPara
35     Escribir "Matriz
B";
36     Para i<-1 hasta FilasB hacer
37           Para j<-1 hasta ColumnasB hacer
38                  Escribir MatrizB[i,j]
, "
" Sin Saltar;
39           FinPara
40           Escribir "";
41     FinPara
42     Definir operacion Como Entero; //1 suma 2
resta 3 producto 4 salir
43     Definir MatrizS, MatrizP
como
real;
44     Dimension MatrizS[FilasA,
ColumnasA];
45     Dimension MatrizP[FilasA,
ColumnasB];
46     Repetir
47           Escribir "Dime la
operacion a realizar 1 Suma 2 Resta 3 Producto 4 Fin";
48           Leer Operacion;
49           segun Operacion hacer
50                  1: //sumar
51                  Si FilasA <>
FilasB | ColumnasA <> ColumnasB entonces
52                         Escribir "Solo se
pueden sumar matrices de la misma dimension";
53                  Sino
54                         Para i<-1 hasta FilasA hacer
55                         Para j<-1 hasta ColumnasA hacer
56                                MatrizS[i,j]
<- MatrizA[i,j] + MatrizB[i,j];
57                         FinPara
58                  FinPara
59                  Escribir "Matriz
Suma";
60                  Para i<-1 hasta FilasA hacer
61                         Para j<-1 hasta ColumnasA hacer
62                                Escribir MatrizS[i,j]
, "
" Sin Saltar;
63                         FinPara
64                         Escribir "";
65                  FinPara
66           FinSi
67           2: //Restar
68           Si FilasA <>
FilasB | ColumnasA <> ColumnasB entonces
69                  Escribir "Solo se
pueden restar matrices de la misma dimension";
70           Sino
71                  Para i<-1 hasta FilasA hacer
72                         Para j<-1 hasta ColumnasA hacer
73                                MatrizS[i,j]
<- MatrizA[i,j] - MatrizB[i,j];
74                         FinPara
75                  FinPara
76                  Escribir "Matriz
Resta";
77                  Para i<-1 hasta FilasA hacer
78                         Para j<-1 hasta ColumnasA hacer
79                                Escribir MatrizS[i,j]
, "
" Sin Saltar;
80                         FinPara
81                         Escribir "";
82                  FinPara
83           FinSi
84           3: //Producto
85           Si ColumnasA <>
FilasB Entonces
86                  Escribir "Solo se
pueden multiplicar si el número de columnas de la primera matriz coincida con
el número de filas de la segunda";
87           Sino
88                  Para i<-1 hasta FilasA Hacer
89                         para j<-1 hasta ColumnasB Hacer
90           // Suma i,j es
Ain*Bnj
91                                MatrizP[i,j]
<- 0;
92                           para x<-1 hasta ColumnasA hacer
93                                MatrizP[i,j]
<- MatrizP[i,j] + (MatrizA[i,x] * MatrizB[x,j]);
94                           FinPara
95                         FinPara
96                  FinPara
97
98
99                  Escribir "Matriz
Producto";
100          Para i<-1 hasta FilasA Hacer
101                 para j<-1 hasta ColumnasB Hacer
102                        Escribir MatrizP[i,j]
, "
" Sin Saltar;
103                 FinPara
104                 Escribir "";
105          FinPara
106    FinSi
107    FinSegun
108 Hasta Que operacion = 4
109
110
111
112 FinProceso
Siguiente>
 
Me podrías ayudar con un seudocódigo en Pseint???
ResponderEliminarEn una empresa debo construir una matriz que lea los días de la semana (filas) y el departamento o área que presenta la empresa. Matriz ¨[5,6]
Para ellos debo ingresar las ausencias de cada día y cada área.
Se debe imprimir la matriz transpuesta, la suma de las ausencias por departamento por semana, el promedio de ausencias. Decir el día de más ausencias y el día de menor ausencias.
De verdad le hago por todo lado y no logro lograr que al transponer las matriz se me hagan los cálculos, Me ayudas???