Ejercicios

Anuncio
CONTENIDO
8.
Solución algorítmica de algunos problemas
9.
Representación de la solución de problemas mediante diagramas.
10.
Problemas resueltos por diagrama y seudocodigo
10.1 Estudio de las estructuras de seudocodigo utilizadas.
10.2 Solución de problemas por diagrama y seudocodigo.
10.3 Solución de problemas con subprogramas (procedimientos y funciones).
11. Problemas propuestos.
TABLA DE PROBLEMAS
1.
2.
3.
4.
5.
6.
7.
8.
9.
12.
1:3.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Algoritmo para hacer llamada telefónica.
Algoritmo para determinar el más alto..
Tabla de multiplicar del 5 con 10 productos..
Hacer las tablas desde 1 hasta N.
Dado un número hacer 5 tablas de multiplicar.
Determinar la calificación más alta.
Determinar cuales números son primos.
Elección de un candidato.
Hallar suma parcial y total de N números.
Diagrama para escoger la mayor estatura.
Diagrama para hacer una tabla de multiplicar.
Diagrama para generar N tablas de multiplicar..
Elaboración de tablas múltiplo de un número N.
Diagrama para hallar números primos y no primos.
Hallar la mejor nota de un conjunto de notas.
Establecer el ganador entre tres candidatos.
Diagrama para obtención de sumas parciales.
Diagrama para hallar el mayor de 6 números.
Determinar el mayor de N números..
Dos formas de obtener la suma de los números naturales
Diagrama para establecer un tipo de anormalidad física para N pacientes.
24.
25.
Determinar la suma de 100 números.
Diagrama para determinar números positivos, en negativos y ceros en una
lista de números.
Generación de vectores y determinación del máximo y mínimo elemento
Generación de vectores para un determinado numero de elementos pares
e impares.
Construcción de la matriz identidad de orden N.
Transpuesta de una matriz
Suma de dos matrices.
Producto de dos matrices.
Generación de una matriz especial.
Matriz concéntrica de elementos repetidos.
Diagrama y seudocodigo para hallar el seno de un ángulo por la serie de
Taylor.
Diagrama y seudocodigo para obtener las raíces de la ecuación de segundo
grado.
Diagrama y seudocodigo para hallar la media y la varianza de un conjunto
de observaciones.
Hallar el producto de una matriz de 5*4, por una matriz de orden 4*3
Seudocodigo para la multiplicación de matrices
Diagrama y seudocodigo para determinar la eficiencia dentro de un grupo de
empleados..
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
16
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
Seudocodigo para generar una lista de ahorradores por año de afiliación
Seudocodigo para generar un listado de suma y máximo dato, de un conjunto
de datos.
Seudocodigo que genera e imprime la serie de Fibonacci
Seudocodigo para buscar un elemento y su posición dentro de un vector
de datos.
Seudocodigo para intercambiar los elementos de un vector.
Seudocodigo para calcular cuantas veces se encuentra repetido cada número del
1 al 99.
Segunda forma de solución del problema 45.
Seudocodigo para analizar una encuesta de ingresos por profesión.
Seudoc6digo para generar una matriz de datos dispuestos en forma de
espiral.
Seudocodigo para generar una matriz cuadrada de orden N. La suma de las filas,
columnas y diagonales debe dar el mismo resultado.
Generación de matrices con subprogramas.
Procedimiento para separar elementos por vectores.
Función para calcular el factorial de un número.
Procedimiento para buscar elementos primos en una matriz
Seudocodigo de programa principal de matrices.
Seudocodigo procedimiento hacer vectores.
Seudocodigo procedimiento números primos.
Formas de seudocód3go para hallar el factorial.
51.
Programa para facturación del servicio de gas.
Diagrama del programa principal de facturación.
Procedimiento para, liquidar el servicio de gas.
Procedimiento para facturar cada predio.
Función para calcular el total recaudado por gas.
Seudocodigo para facturación del servicio de gas.
Seudocodigo del procedimiento liquidar.
Seudocodigo del procedimiento que genera facturas.
Seudocodigo para cálculo del valor recaudado.
*
Problemas propuestos.
17
8. SOLUCION ALGORITMICA DE ALGUNOS PROBLEMAS
En esta sección, se enuncian problemas y se resuelven por algoritmos.
En posteriores capitulas se resuelven problemas con diagrama y seudocódigo.
Los problemas propuestos, permiten conocer la forma de solucionar ejercicios generales
con algoritmos convencionales, tales como:
* Llamada por teléfono
* Casos de impresión de tablas de multiplicar.
* Problemas típicos de conteo de datos.
* Búsqueda de números que tengan ciertas características.
* Problemas de ecuaciones.
* Problemas para solución con vectores.
* Operaciones con matrices.
* Obtención de matrices especiales.
* Problemas con funciones y procedimientos.
* Problemas generales.
18
PROBLEMA NO 1
Haga un algoritmo para efectuar una llamada por teléfono.
1. Hay teléfono?
si
2. Es público?
si
Introducir moneda
No
Continué
3. Hay tono?
si
4. Marcar teléfono
5. Hay respuesta?
Si
Hablar
No
6. Colgar
7. Ir a 2.
No
8. Colgar
9. Ir a 2.
No
Continué
10. Terminar.
PROBLEMA NO 2
Haga un algoritmo para determinar de dos estudiantes, cual es el más alto.
1. Conocer estatura 1 y nombre 1
2. Conocer estatura 2 y nombre 2
3. Es estatura 1 > estatura 2?
si
Escribir ‘El más alto es ‘, nombre 1
No
Escribir ‘El más alto es , nombre 2
4. Terminar.
19
PROBLEMA No 3
Haga un algoritmo para calcular e imprimir la tabla de multiplicar del 5 con 10
productos.
1. Hacer L = O
2. Hacer P= L * 5
3. Escribir L, ‘ * 5 = ‘, P
4. Hacer L = L + 1
5. Es 1 = 10?
Si
Ir a 6
No
ir a 2
6. Terminar.
(para iniciar productos)
(cada producto de la tabla)
(para otro producto)
PROBLEMA NO. 4
Dado un número N mayor que 1, hacer las tablas de multiplicar desde 1 hasta el número
N; cada tabla con 20 productos.
1. Conocer el número N
2. Es N > 1
Si
3. Hacer T = 1
(contador de tabla)
4. Hacer M = 1
(contador de multiplicador)
5. Hacer P = M * T (haciendo cada tabla)
6. Escribir M,’ *’,T,’ = ’,P
7. Es M > 20?
Si
Ir a 10
No
8. Hacer M = M + 1
9. Ir a 5
(continuar la tabla T)
10. Es T > N?
(saber si faltan tablas)
Si
Ir a 13 (porque hizo las N tablas)
No
11. Hacer T = T + 1
12. Ir a 4
(para seguir haciendo tablas)
No
Continué
13. Terminar.
20
PROBLEMA No. 5
A partir de un número N, imprimir 5 tablas de multiplicar cada una con 20 productos,
siendo el multiplicador N de cada tabla, el doble del multiplicador anterior.
1. Conocer
2. Hacer
3. Hacer
4. Hacer
5. Escribir
6. Hacer
7. Es
si
N
CT = O
L=O
P=L*N
L,’ * ‘,N,’ = ’,P
L=L+1
L = 20?
8. Hacer CT = CT + 1
9. Es CT = 5?
si
Ir a 12
No
10. Hacer N = 2*N
11. Ir a 3
(contador de tablas)
(L = multiplicando)
(P = producto)
(contro1ar 20 productos)
(Para hacer 5 tablas)
(Nuevo multiplicador)
(hacer nueva tabla)
No
Ir a 4
12. Terminar.
PROBLEMA No 6
Buscar En una lista de notas, cual es la nota más alta y decir cuantas hay.
1. Hacer
2. Hacer
3. Leer nota
4. Es
si
CN = O
MAYOR = O
X
X > MAYOR?
(contador de notas)
(suposición para comparación)
(para hallar la nota mas alta)
MAYOR = X
No
Continué
5. CN = CN + 1
(contar una nota mas)
6. Hay más notas?
si
Ir a 3
(a conocer otra nota)
No
7. Escribir ‘Hay ‘, CN ,‘ notas’
8. Escribir ‘La nota más alta es ‘JIAYOR
9. Terminar.
21
PROBLEMA No 7
Dada una lista de N números, decir cuales son primos.
1. Conocer N
2. Hacer CC = O
3. Conocer número X
4. Hacer CC = CC + 1
5. Hacer DF=X - 1
b. Hacer D = 2
7. Hacer C = X / D
8. Es C = C * D ?
Si
(número de datos)
(contador de números conocidos)
(un número de los N números)
(contar otro número)
(divisor final)
(divisor)
(parte entera del cociente)
9. Escribir X,’ no es primo’
10. Es CC = N?
Si
Ir a 16
No
Ir a 3
No
11. Es D = DF?
(Continuar o no dividiendo el número X)
Si
12. Escribir X,’ es primo’
13. Es CC = N?
Si
Ir a 16
No
Ir a 3
No
14. Hacer D = D+1
(para dividir nuevamente el numero X)
15. Ir a 7
22
PROBLEMA No 8
Para elegir el presidente de un comité se presentaron 3 candidatos; dado que cada
votante puede votar por uno de ellos, haga un algoritmo para decir quien fue el ganador.
Los códigos de los candidatos son 100, 200 y 300 respectivamente. La votación termina
al leerse un voto con código 999.
1. Hacer
N=O
(número de electores)
2. Hacer
C100 = O
(contador votos código 100)
3. Hacer
C200 = O
(contador votos código 200).
4. Hacer
C300 = O
(contador votos código 300)
5. Leer
CC
(código del candidato, por el que vota una persona)
6. Es CC <> 999
Si
7. Hacer N = N + 1
(otro voto más)
8. Es CC = 100?
Si
9. Hacer C100 = C100 + 1
10. Ir a 5
No
11. Es CC = 200?
Si
12. Hacer C200 = C200 + 1
13. Ir a 5
No
14. Hacer C300 = C300 + 1
15. Ir a 5
(a leer otro voto)
No
Continué
16. Es C100 > C200 y C100 > C300?
Si
17. Escribir ‘Ganador; leer candidato’
18. Escribir ‘Con ‘, C100, ‘ votos’
Ir a 24
No
19. Es C200 > C100 y C200 > C300?
Si
20. Escribir ‘Ganador; 2o candidato’
21. Escribir ‘Con ‘, C200, ‘ votos’ Ir a 24
No
22. Escribir Ganador: 3er candidato’
23. Escribir ‘Con ‘,C300,’ votos’
24. Escribir ‘Votaron ‘, N, ‘ personas
25. Terminar.
23
PROBLEMA No. 9
Dados N números, hallar la suma total de los N números y calcular la suma parcial cada
4 números.
1. Hacer CN = O
2. Hacer C4 = O
3. Hacer ST = O
4. Hacer SP = O
5. Leer N
6. Leer X
(contador de números)
(contador parcial de 4 números)
(suma total de los N números)
(suma parcial de cada 4 números)
(total de números)
(X es un número de los N números)
7. Nacer CN = CN + 1
8. Hacer C4 = C4 + 1
9. Hacer ST = ST + X
10. Hacer SP = SP + X
11. Es CN = N?
Si
12. Escribir ‘Suma parcial, SP
13. Escribir ‘Suma total ‘, ST
Ir a 19
No
14. Es C4 = 4?
Si
15. Escribir ‘Suma parcial ‘, SP
16. Hacer SP = O
17. Hacer C4 = O
18. Ir a 6
No
Ir a 6
19. Terminar
24
PROBLEMA No 10
Dados N números obtener el mayor.
1. Leer N
2. Nacer CN = O
3. Hacer MAYOR = O
4. Leer X
5. Hacer CN = CN + 1
6. Es X > MAYOR?
(total de números)
(contador de números)
(suposición inicial)
(c/u de los N números)
(escoger el mayor)
Si
7. Hacer MAYOR = X
(nuevo mayor)
8. Es CN = N?
Si
9. Escribir ‘Mayor es ‘, MAYOR
Ir a 11
No
10. Ir a 4
11. Terminar.
25
9. PRESENTACION DE PROBLEMAS MEDIANTE DIAGRAMAS
SOLUCION DE PROBLEMAS A TRAVES DE DIAGRAMAS
En las paginas siguientes se solucionan problemas utilizando diagramas algunos ya se
solucionaron con algoritmos, pudiendo establecer el lector la relación que existe entre
solución por algoritmo convencional y diagrama.
Las estructuras que componen las graficas, se conforman de acuerdo a la regla
fundamental de solución de problemas E-P-S (entrada, Proceso, Salida).
26
PROBLEMA 11
Hacer un diagrama para efectuar una llamada por teléfono (algoritmo 1).
27
Problema No 12
Hacer un diagrama que determine de dos estudiantes cual es el mas alto.
28
PROBLEMA No 13
Haga un diagrama para calcular e imprimir la tabla de multiplicar del 5, con 10
productos (algoritmo 3).
29
PROBLEMA No 14
Dado un Numero N Mayor que 1, construya un diagrama que haga las tablas de
multip1icar desde 1 hasta el numero N, con 20 productos cada tabla (Algoritmo 4).
30
PROBLEMA No 15
Dado un numero N, obtener la tabla N con 20 productos y 5 tablas de números
múltiplos del numero N dado (algoritmo 5).
31
PROBLEMA No 16
Hacer un diagrama que determine en un conjunto de números, cuales son primos
(Algoritmo 6).
32
PROBLEMA No 17
Dado un conjunto de notas, determinar cual es la mas alta y dar la cantidad total de
notas. Terminar cuando llegue la nota -10 (algoritmo7)
33
PROBLEMA No 18
Diagrama para decir quien gano las elecciones si había 3 candidatos, y cada persona
voto por Uno de ellos. Contar el número de personas que votaron. Los códigos de cada
candidato son 100, 260 y 300, La votación termina con el código 999 (Algoritmo 8).
34
PROBLEMA NO 19
Dados N números calcular sumas parciales cada 4 números, además calcular la suma
total (algoritmo 9).
35
PROBLEMA No 20
Hacer un diagrama para hallar el mayor entre 6 números
NOTA: ejercicio para practicar decisiones lógicas
36
PROBLEMA No 21
Hacer un diagrama para hallar el mayor de N números (A1goritmo 10).
37
PROBLENA No 22
Diagrama para obtener la suma de los 100 primeros números naturales
38
Diagrama para obtener la suma de los N primeros números primos naturales
39
PROBLEMA No 23
Diagrama para diagnostico de otitis dengue y gripa. Para N pacientes
40
PROBLEMA No 24
Diagrama para calcular la suma de 100 números. A1macenar los números en un
vector ..
41
PROBLEMA NO 25
Dados N números, por Medio de un diagrama diga cuantos ceros hay, cuantos números
son positivos y cuantos números son negativos.
42
PROBLEMA NO 26
Diagrama que toma N datos, guardando los positivos en un vector, los números
negativos se guardan en otro vector; también se hallan las sumas de los positivos y
negativos separadamente, buscándose además el mayor y el Menor de los números.
43
PROBLEMA No 27
Diagrama que toma N datos, con los cuales forma 2 vectores cada uno de 100 datos. El
primero con los datos pares y el segundo con los impares. Si los N datos no alcanzan
para llenar cada vector de 100 datos complete el vector de pares con el numero 2, y el
de impares con el numero 1. Llame I el vector de Impares y P el vector de Pares.
Nota: primero se llena el vector de pares con 2 y el de impares con 1. Luego reemplaza
la respectiva posición con el par o impar leído.
44
PROBLEMA No 28
Haga un diagrama que construya una matriz identidad de orden N, imprímala.
45
PROBLEMA No 29
Hacer un diagrama para hallar la transpuesta de una matriz, Por ejemplo para una
Matriz de 3*3.
46
PROBLEMA No 30
Hacer un diagrama para calcular la Matriz suma, de dos Matrices. Recuerde la suma de
Matrices se efectúa entre Matrices de igual orden.
47
PROBLEMA No 31
Diagrama para hallar el producto de dos Matrices. Es condición indispensable que
AN*M * BX*L = CN*L. Siendo K = M.
48
PROBLEMA No 32
Haga un diagrama que construya la siguiente matriz:
49
PROBLEMA No 33
Hacer un diagrama que construya la siguiente Matriz:
50
10 PROBLEMAS RESUELTOS POR DIAGRAMA Y SEUDÓCODIGO
Se describen lo elementos que constituyen la solución de problemas a través de
seudocodigo.
El seudocodigo, es un código de instrucciones en español muy cercano a la sintaxis de
las instrucciones de los lenguajes de programación PASCAL y DBASE.
Permite solucionar problemas de manera estructurada, siguiendo una secuencia
descendente de los pasos lógicos que resuelven un problema.
En la solución por seudocodigo, no se utiliza la transferencia incondicional vaya a; por
ejemplo no se usa ir al paso 3.
Se explica el marco teórico del seudocodigo y posteriormente se resuelven problemas
por diagrama y seudocodigo.
51
10.1 ESTRUCTURAS DE SEUDOCODIGO UTILIZADAS
La estructura de seudocodigo utilizada es:
---------------------------------------------------------------------------------------------------------INICIALIZACION O DEFINICION
---------------------------------------------------------------------------------------------------------CUERPO
Donde:
Inicialización o definición, se utiliza para: Reservar espacio de memoria, iniciar valores
de variables; leer valores iniciales.
Cuerpo se utiliza para la secuencia de instrucciones en seudocodigo que determinan la
solución del problema.
En la sección de inicialización se utilizan los siguientes enunciados:
Para inicializar
haga var = valor
donde var es la variable utilizada
valor es la cantidad asignada
Para definición de vectores
defina vector nombre de rango
donde nombre es el nombre del vector
rango es el tamaño del vector
Para definición de matrices
Defina matriz nombre de rango
donde nombre es el nombre de la matriz
rango es el tamaño de la matriz
52
Para lectura de valores:
Lea var
donde var es un nombre de variable
En la sección de cuerpo se tienen las siguientes
estructuras:
Para definición del cuerpo:
(1)
empiece
……
termine
………
empiece
abre un conjunto de instrucciones a ejecutar; esta sentencia debe estar presente al
iniciar el cuerpo.
puntos
indican el repertorio de instrucciones de seudocodigo utilizadas.
termine
indica que el conjunto de instrucciones ha agotado.
(1) empiece se puede reemplazar por inicie y el efecto es el mismo.
53
REPERTORIO DE INSTRUCCIONES
Las instrucciones se clasifican según su función en:
Instrucciones de secuencia
instrucciones de control
instrucciones de repetición
Instrucciones de secuencia:
i) lectura: lea var
ji)escritura : escriba var
Iii) asignación: var_1 = var_2 operador var_3
var, var_1, vr_2, var_3 son variables
operador es un operador aritmético +,—,*,/
Instrucciones de control
i) si condición entonces
inicie
……
……
Termine
d. o. m.
inicie
…
….
termine
54
ii) En caso de var haga
1: inicie
…….
termine
2 inicie
………
termine
………..
(2)
d. o. m.
inicie
…….
termine
fin
Instrucciones de repetición :
i)
repita
…..
hasta condición
Mínimo ejecuta las instrucciones una vez. Sale del ciclo al cumplirse la condición.
No requiere las palabras inicie termine
ii)
Mientras condición haga
inicie
………….
termine
(2) Si el d.o.m. no se usa, la secuencia también finaliza con fin.
55
iii) Para var = val_inicial hasta val_final haga
inicie
……….
termine
donde var
: variable
val_inicial : valor inicial de var
val_final : valor final de var
Ejercicios
En la siguiente sección, se utiliza la sintaxis descrita del seudocódigo, en la solución de
problemas.
56
10.2 SOLUCION DE PROBLEMAS POR DIAGRAMA Y SEUDOCODIGO
Se desarrollan problemas mediante diagrama y su equivalencia en seudocodigo según
las estructuras explicadas.
Se busca que el lector trabaje con la codificación en seudocodigo, haciendo más fácil el
aprendizaje de la programación de computadores.
El análisis de cada solución debe hacerse por separado.
Observar el estudio del diagrama, y posteriormente analizar la solución por
seudocodigo.
Finalmente establecer la relación entre la estructura del diagrama y su codificación en
seudocodigo.
57
PROBLEMA No 34
Hacer un diagrama y seudocodigo para calcular el seno de X por series de Tayior: la
serie de Taylor es infinita, calcu1ar 10 términos de la serie Con lo cual se obtiene una
buena aproximación del seno(x).
58
PROBLEMA No 35
Hacer un diagrama y seudocodigo para la obtención de las raíces de la ecuación
cuadrática. Tome los valores A B, C, como los coeficientes de la ecuación:
AX2 + BX + C = 0
59
PROBLEMA No 36
Calculo de la varianza de un conjunto de N observaciones (ver el problema propuesto
No 7, del capitulo 11).
60
PROBLEMA No 37
MULTIPLICACION DE MATRICES
Este diagrama es especifico para multiplicar Matrices de dimensión 5*4 y 4*3 siendo el
producto de dimensión 5*3 (Vea problema propuesto No12 del capitulo 11).
61
PROBLEMA No 38
Solución por seudocodigo del problema anterior (Multiplicación de Matrices)
SEUDCICODIGO
M=5
N=4
P=3
DEFINA MATRIZ A DE M, N
MATRIZ B DE N, P
MATRIZ C DE M, P
EMIPIECE
PARA I = 1 HASTA M HAGA
INICIE
PARA J = 1 HASTA N HAGA
LEA A(I, J)
TERMINE
PARA I = 1 HASTA N HAGA
INICIE
PARA J = 1 HASTA P HAGA
LEA B(I, J)
TERMINE
PARA I = 1 HASTA M HAGA
INICIE
PARA K = 1 HASTA P HAGA
INICIE
C( I, K) = 0
PARA J = 1 HASTA N HAGA
C( I, K) = C(J, K) + A( I, J) * B(J, K)
TERMINE
TERMINE.
PARA I = 1 HASTA M HAGA
INICIE
PARA J = 1 HASTA P HAGA
ESCRIBA C(I, J)
TERMINE
TERMINE
62
PROBLEMA No 39
Hacer un diagrama y seudocodigo para solucionar el calculo de eficiencia de los
empleados, según un conjunto de criterios eva1uativos considerados de antemano (ver
problema propuesto No 17, capitulo 11).
63
PROBLEMA No. 40
Una entidad crediticia necesita una lista de sus ahorradores que a 31/12/89 sean
menores de 55 años y tengan 10 o más años de afiliación.
Se dispone de una lista de N ahorradores, la cual contiene el código de cada socio y los
siguientes datos:
Año de nacimiento
Año de afiliación
Con las estructuras de seudocodigo, obtenga un listado de socios (lista de códigos), que
cumplen la condición.
El seudocodigo correspondiente es:
empiece
lea N
para i= 1 hasta N haga
inicie
lea código, nacimiento, afiliación
años_afiljado = 1989 — afiliación
si edad < 55 entonces
empiece
si año_afiliado > 10 entonces
escriba código
termine
termine
termine
64
PROBLEMA No. 41
Se tiene el siguiente conjunte de datos totalmente correcto:
S1 N S2 N S3 N ... N
SK
T. Donde:
Sj, j=1,2,..k es una lista no vacía de enteros positivos.
N es un separador de listas y es un entero negativo mayor que -1000.
T es un terminador entero menor que -10000.
Elaborar la solución de seudocodigo para:
•
Leer los datos y para cada lista Sj obtener e imprimir la suma de los datos y el
valor máximo dado en cada lista.
•
Para cada lista el mensaje a imprimir debe contener:
Lista No ___________; Suma________________ ; Máximo________________
El seudocodigo queda de la siguiente manera:
L= 1
empiece
repita
suma = O
mayor = O
repita
lea S
suma = suma + S
si S > mayor entonces
mayor = S
hasta que S < O
suma = suma - S
escriba ‘ lista ‘, L, ‘ suma ‘, suma
escriba mayor ‘, mayor
L = L+ 1
hasta que S < -10000
termine
65
PROBLEMA No 42
Mediante seudocodigo genere e imprima una lista de la serie de Fibonacci.
Nota: la serie de Fibonacci es infinita.
Halle términos de la serie hasta que el nuevo número generado sea mayor que un
número dado N.
La serie de Fibonacci es 0, l, 1, 2, 3, 5, 8, l3, 2l, empieza en O y 1.
Seudocodigo:
leer N
empiece
AO = O
Al = 1
escribir AO
escribir Al
nuevo = AO + Al
mientras nuevo < N haga
empiece
escriba nuevo
AO = Al
Al = nuevo
nuevo = AO + Al
termine
termine
66
PROBLEMA No 43
Escriba un programa en seudocodigo, que busque un dato cualquiera X, dentro de un
vector de 100 elementos e indique la posición donde lo encontró.
Defina vector A de 100 elementos
Empiece
haga LC = O
para I = 1 hasta 100 haga
empiece
lea A(I)
escriba A(l)
termine
lea X
para I = 1 hasta 100 haga
empiece
si x = A(I) entonces
empiece
LC = 1
P=I
I = 100
termine
termine
si LC = 1 entonces
escriba ‘X esta en la posición’, P
escriba ‘del vector A’
d.o.m
escriba ‘X no se encuentra en A’
termine
(indica que X se encontró)
(posición donde esta X)
(para terminar la búsqueda)
67
PROBLEMA No 44
Programa que coloca el último elemento de un vector de 25 enteros en el primer lugar,
el penúltimo en el segundo y así sucesivamente, imprima el resultado al final.
Defina vector A de 25 elementos
Defina vector B de 25 elementos
Empiece
para i = 1 hasta 25 haga
empiece
lea N
A(i) = N
termine
j = 25
para i = 1 hasta 25 haga
empiece
B( j ) = A( i )
j= j - 1
termine
para i = 1 hasta 25 haga
empiece
A( i ) = B( i )
escriba A( i )
termine
termine
68
PROBLEMA No 45
Dados N números de hasta 2 dígitos, escriba un programa en seudocodigo que
determine de esos N números, cuantas veces está el número 1, el 2, el 3, ..., el 98 y el
99. Además determine cual número está más veces.
Seudocodigo:
Defina vector A de 1000 elementos
Empiece
haga mayor = O
lea N
para i = 1 hasta N haga
empiece
lea A(i)
escriba A(i)
termine
para i = 1 hasta 99 haga
empiece
con = 0
para j = 1 hasta N haga
empiece
if A(j) = i entonces
con = con + 1
termine
escriba (i, está ‘,con ,‘ veces’)
si con > mayor entonces
empiece
mayor = con
lugar = i
termine
termine
escriba (‘el número más frecuente es ‘, lugar)
escriba (‘está ‘, mayor ,‘ veces7)
termine
69
PROBLEMA No. 46
Dados N números de hasta 2 dígitos, escriba un programa en seudocodigo que
determine de esos N números, cuantas veces está el número 1, el 2, el 3, .,., el 98 y el
99.. Además determine cual número está más veces.
El problema anterior puede ser resuelto de la siguiente manera:
Defina vector C de 99 elementos
* C vector contador
de números 1,2,3,4 ,,,,99
Empiece
para i = 1 hasta 99 haga
C(i) = O
lea N
para i =1 hasta N haga
empiece
lea X
C(X) = CCX) + 1
* contador automático
de datos
termine
mayor = O
para i = 1 hasta 99 haga
empiece
si C(i) > mayor entonces
empiece
mayor = C(i)
p=i
termine
termine
escriba (‘el número que más veces está es ‘, p )
termine
70
PROBLEMA No 47
Escriba un programa en seudocodigo para evaluar una encuesta sobre ingresos, s por
cada uno de los encuestados se tomó la siguiente información: nombre del profesional;
código de la profesión; ingreso mensual. La encuesta incluyó 5 profesiones codificadas
del 1 al 5.
Determinar el profesional que reportó el mayor ingreso mensual, y cual es el promedio
mensual de ingreso por cada profesión, si la encuesta termina con un nombre “ZZZZZ’
Seudocodigo:
Empiece
C1 = O
C2 = O
C3 = O
C4 = O
C5 = O
SIP1 = O
SIP2 = O
SIP3 = O
SIP4 = O
SIP5 = O
* Contadores de profesionales
por profesión.
* Sumas de ingreso por
profesión.
lea nombre, profesión, ingreso
mayor = O
mientras nombre <> “ZZZZZ haga
empiece
si ingreso > mayor entonces
empiece
mayor = ingreso
nommay = nombre
termine
en caso de profesión haga
1: inicie
C1 = C1 +1
SIP1= SIP1 + ingreso
termine
2: inicie
C2 = C2 + 1
SIP2 = SIP2 + ingreso
termine
3: inicie
C3 = C3 +1
SIP3 = SIP3 + ingreso
71
termine
4: inicie
C4 = C4 + 1
SIP4 = SIP4 + ingreso
termine
5: inicie
C5 = C5 +1
SIP5 = BIP5 + ingreso
termine
d. o. m.
inicie
escriba ( ‘código de profesión errado’)
termine
fin
* fin del en caso
lea nombre, profesión, ingreso
termine
* termine del mientras
PIP1 = SIP1 / C1
PIP2 = SIP2 / C2
PIP3 = SIP3 / C3
PIP4 = SIP4 / C4
PIP5 = SIP5 / C5
escriba (‘promedio de ingreso por profesiones ‘)
escriba PIP1, PIP2, PIP3, PIP4, PIP5
escriba (‘MAYOR INGRESO LO REPORTO’, nommay)
termine
72
PROBLEMA No 48
Haga un programa en seudocódigo, que genere una matriz de orden N, de tal forma que
sus elementos son los números comprendidos entre 1 y N’, dispuestos en forma de
espiral, empezando desde la fila 1 con columna 1, hacia la derecha, hacia abajo, hacia
arriba, y así sucesivamente hasta terminar el espiral.
Ejemplo:
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11
Seudocódigo:
defina matriz A de 20 * 20
empiece
repita
escriba (‘orden de la matriz’)
lea N
hasta N<=20
haga x = 1
haga y = N
haga z = O
repita
para j = x hasta y haga
inicie
z = z+1
A (x,j)= z
termine
para 1 = x+1 hasta y haga
inicie
z = z+1
A(i,y)= z
termine
para = y - 1 (atrás j) x haga
inicie
z=z+1
A(y,j)= z
termine
para i = y - 1 (atrás i) x+1 haga
* (atrás j) decrementa j
en 1 unidad por pasada
hasta llegar a x
73
inicie
* (atrás i) decrementa i
z=z+1
en 1 unidad por pasada
A(i, x)= z
hasta llegar a x+1
termine
x=x+1
y=y1
hasta z = N*N
para i 1 hasta N haga
empiece
para j = 1 hasta N haga
empiece
escriba A(i,j)
termine
termine
termine
74
PROBLEMA No 49
Escriba en seudocódigo un programa para generar una matriz cuadrada de orden N
(siendo N impar), de tal forma que sus elementos son los enteros positivos desde 1 hasta
N, dispuestos de tal forma, que al sumar cada fila, cada columna, y cada diagonal se
obtenga el mismo resultado. Por ejemplo generar la matriz de orden 5 sería:
17
23
4
10
11
24 1
5 7
6 13
12 19
18 25
8
14
20
21
2
15
16
22
3
9
Seudocódigo:
defina matriz A de 10*10
Empiece
repita
lea N
hasta N <> 2*(N/2) y N <= 100
* parte entera
de (N/2)
haga i = 1
haga i = N/2 + 1
para k = 1 hasta N*N haga
Empiece
A(i,j) = k
if residuo de (k/N) da 0 entonces haga
empiece
i=i+1
termine
d. o. m
empiece
j = j+ 1
i = i -1
if i < 1 entonces
empiece
i=N
termine
d. OM• m
empiece
si j > N entonces
empiece
j= 1
75
termine
termine .
termine
termine
para i 1 hasta N haga
empiece .
para = 1 hasta N haga
empiece
escriba A(i,i)
termine
termine
termine
NOTA: Fabricar una rutina que halle la suma de cada fila, la suma de cada columna, la
suma de cada diagonal y compruebe así, si la matriz generada cumple las condiciones
del problema.
76
10.3 SOLUCION DE PROBLEMAS CON SUBPROGRAMAS
(PROCEDIMIENTOS Y FUNCIONES)
Un subprograma, es un programa que resuelve un caso especial, dentro de la solución
total de un problema.
El subprograma se construye como una rutina que es invocada desde el programa
principal.
Se escribe por separado y se ejecuta cada vez que sea necesario, mediante un llamado
del principal.
Existen básicamente dos tipos de subprogramas: funciones y procedimientos.
FUNCIONES
Las funciones, son rutinas que se caracterizan por calcular un solo valor de salida hacia
el programa que las invoca.
Se llaman desde el principal a través: Y = nombre(p/e), donde:
nombre: es el nombre que identifica la función.
Sirve además como parámetro de salida.
(pie) : son parámetros de entrada(datos), enviados desde el programa que llama la
función y con los cuales realiza
el trabajo que se le encomendó.
El resultado del trabajo hecho por la función queda en el nombre; por lo tanto dentro del
cuerpo de la función, debe existir la asignación nombre = XXXXX, donde XXXXX es
el valor calculado por la función.
PROCEDIMIENTOS
Los procedimientos, son rutinas destinadas para calcular mas de un valor de salida.
Se llaman desde el programa principal a través de:
nombre(p/e/s), donde:
nombre : es el nombre que identifica el procedimiento.
(p/e/s): parámetros de entrada y de salida.
Los de entrada, son los valores que recibe del principal y con los cuales realiza
el trabajo que se le encomendó. Los de salida, son los valores que calcula el
procedimiento, valores que regresa al programa principal.
77
Dentro de un procedimiento o una función pueden existir llamados a otros
procedimientos o funciones.
La estructura general de la solución de un problema a través de subprogramas seria:
*programa principal
inicio
Y función l (pel,pe2,pe3,..)
*Llamado de
función 1
procedimiento l(pel,Pe2,.,.P51P52)
*llamado de
procedimiento 1
Z = función 2(pel,pe2,.’..)
*llamado de
función2
R = función N(pel,pC2,...)
*llamado de
función N
procedimiento N(Pel,Pe2,..,PslP52
*llamado de
procedimiento N
fin
*subprograma función l
FUNCION1 (pe1 , pe2, pe3,..)
inicio
k = pe1 + pe2 + pe3
función 1 = k
*asignación del cálculo al nombre de la
función.
termine
78
*subprograma procedimiento l
PROCEDIIIIENTOI (pe1 ,pe2,. . ,psl ,ps2,..)
inicio
ps1 = pe1 + pe2
ps2 = pe1 — pe2
termine
*asignación del cálculo
a los parámetros de salida.
De esta forma se construyen las funciones y procedimientos.
A continuación se escribe la solución de problemas, utilizando la teoría de programa
principal, que invoca subprogramas, para que realicen una acción especial del programa.
Se muestra la solución con diagrama y por seudocódigo.
79
PROBLEMA No 50
Para N datos hacer con ellos una matriz de 10 * 10, si los N no alcanzan completar la
matriz con ceros. en un procedimiento llamado “hacer” haga un vector con los positivos
y otro con los negativos; luego para cada elemento de la matriz halle su factorial así
mismo diga si es o no primo mediante otro procedimiento llamado “primo”.
80
Procedimiento “hacer” mediante el cual separamos los positivos y los negativos en sus
respectivos vectores
81
Subrutina para el cálculo de los factoriales de los números que pertenecen a la matriz.
82
Procedimiento para manejar la información acerca de si los elementos de la matriz son
primos o no.
83
SEUDOCODIGO PROGRAMA PRINCIPAL
defina matriz A de 10,10
lea N
haga c = O
empiece
para i = 1 hasta 10 haga
inicie
para j = 1 hasta 10 haga
inicie
si c = N entonces
A(i,1)= O
*completar la matriz
d. o. m.
inicie
lea X
A(i,i) = X
c = c +1
termine
termine
termine
llame HACER (A,P,K,N,H)
* llamado de procedimiento
para i = 1 hasta 10 haga
inicie
para 3 = 1 hasta 10 haga
inicie
X = A(i,j)
Y = FACTORIAL(X)
* llamado de función
llame PRIMO(X,CLAVE)
*llamado de procedimiento
escriba x,y
si clave = 1 entonces
escriba (X, ‘es primo’)
d. o. m.
escriba (X, ‘ no es primo
termine
termine
termine
SEUDOCODIGO PROCEDIMIENTO HACER
HACER (A,P,K,N,H)
defina matriz A de 10,10
defina vector P de 100
defina vector N de 100
84
k=0
h=0
empiece
para i 1 hasta 10 haga
inicie
para j = 1 hasta 10 haga
inicie
si A (i,j) )> O entonces
inicie
k = k+ 1
P(k) = A(i,j)
termine
d o. m.
inicie
h=h+1
N(h) = A(i,j)
termine
termine
termine
para i = 1 hasta k haga
escriba P(i)
para i 1 hasta k haga
escriba N(i)
termine
SEUDOCODIO PROCEDIMIENTO PRIMO
PRIMO (X,CLAVE)
clave = O
L=X-1
empiece
para i 2 hasta L haga
empiece
coc = (x/i)
si x = coc * i entonces
clave = O
termine
clave 1
termine
*parte entera
85
SEUDOCODIGO FUNCION FACTORIAL
Primera forma de solución:
FACTORIAL (K)
haga f = 1
empiece
para i = 1 hasta k haga
inicie
f = f*i
termine
FACTORIAL = f
termine
SEUDOCODIGO FUNCION FACTORIAL
Segunda forma de solución:
FACTORIAL 1K)
haga f = 1
haga i = 1
empiece
repita
f = f* i
i = i+1
hasta que i > k
FACTORIAL = f
termine
86
PROBLEMA No. 51
Elabore un programa para facturar el servicio de gas de los predios de la ciudad. Por
cada predio se tiene la siguiente información: dirección, tarifa básica, lectura anterior,
lectura actual, estrato del predio.
La forma de liquidar cada factura es la siguiente:
—si el consumo del predio es menor que el consumo básico, cobre la tarifa básica más
$500.00;
—si el consumo del predio es superior al consumo básico, pero menor que tres veces el
consumo básico, cobre la tarifa básica más $1.500.00;
—de otra manera cobre el doble de la tarifa básica más $2500.00.
Hacer la liquidación por predio en un procedimiento; la factura en otro y el cálculo del
total recaudado por la compañía de gas en una rutina.
Los predios se terminan cuando llegue uno con dirección igual a ‘ZZZZ”. Leer además
una tabla de estratos que contiene: el estrato (de 1 a 6 ) y el consumo básico por estrato.
Hacer la solución por diagrama y por seudocódigo.
Estrato Consumo básico por estrato
1
2
30
20
3
40
4
25
5
45
6
50
87
DIAGRAMA DE FLUJO DEL PROGRAMA PRINCIPAL DE FACTURACION DEL
SERVICIO DE GAS.
88
PROCEDIMIENTO “LIQUIDAR” MEDIANTE EL CUAL SE EFECTUA LA
LIQUIDACION DE LOS PAGOS QUE DEBEN EFECTUAR LOS USUARIOS
89
PROCEDIMIENTO “FACTURAR” MEDIANTE EL CUAL SE EFECTUA LA
FACTURACION DE LOS PAGOS QUE DEBEN HACER LOS USUARIOS.
90
FUNCION “SUMA” MEDIANTE LA CUAL SE EFECTUA LA SUMA PARA
CALCULAR EL TOTAL DE LOS PAGOS QUE DEBEN HACER LOS USUARIOS
91
PROBLEMA DE FACTURACION DE LA COMPAÑIA DE GAS
SOLUCION POR SEUDOCODIGO
PROGRAMA PRINCIPAL
defina matriz P de 1000,5
defina matriz TE de 6,2
defina vector PAGO de 1000
*hasta para 1000 predios
empiece
i =1
mientras i <= 6 haga
empiece
lea TE(i,l) *lectura tabla de estratos
lea TE(i,2)
i= i + 1
termine
I=0
lea d, tb, lecant, lecact, est *información de cada predio
mientras d <> “Z222’ haga
empiece
I =I+1
p(I,1) d
*configuración de la
p(I,2) = tb
matriz de predios
p(I,3) lecant
p(I,4) lecact
p(I,5) = est
lea d,tb,lecant,lecact,est *información de cada predio
termine
LIQUIDAR (P,I,TE,PAGO)
*llamado de procedimiento
FACTURAR(P, 1 ,PAGO)
*llamado de procedimiento
R = SUMA(PAGO, I)
*llamado de función
escriba R, ‘ total recaudado por la compañía
termine
SEUDOCODIGO PROCEDIMIENTO LIQUIDAR
LIQUIDAR (P,I,TE,PAGO)
defina matriz P de 1000,5
92
defina matriz TE de 6,2
defina vector PAGO de 1000
empiece
j=1
mientras j <= i haga
empiece
c = p(j,4) - p(j,3)
*consumo mensual
e = p(j,5)
*estrato de predio
cb = te(e,2)
*consumó básico
si c <= cb entonces *condición de liquidación
empiece
pb = p(j,2)
*pago básico
st = 500
*sobretasa
pago(j)= pb + st
*total a pagar cada predio
termine
d. o. m.
empiece
sa c > 3 * cb entonces
*condición de liquidación
empiece
pb = 2 * p(j,2)
st = 2500
pago(j) = pb + st
termine
d. o. m.
*condición de liquidación
empiece
pb = p(j,2)
st = 1500
pago (j) = pb + st
termina
termine
j= j + 1
*liquidar otro predio
termine
termine
SEUDOCODIGO PROCEDIMIENTO FACTURAR
FACTURAR(P,X ,PAGO)
defina matriz P de 1000,5
defina vector PAGO de 1000
empiece
j=1
mientras j <= X haga
empiece
*facturar cada predio
93
escriba (‘COMPAÑIA DE GAS ‘)
escriba (‘DIRECCION ‘, P(J,1)
escriba (‘ESTRATO ‘, P(J,5) )
escriba (‘LECTURA ACTUAL’,‘, P(J,4))
escriba (‘LECTURA ANTERIOR’,‘, P(J,3))
escriba (‘TARIFA BASICA ‘, P(3,2)
escriba (‘TOTAL A PAGAR’, ‘, PAGQ(J)
*para facturar otro predio y escribir
nueva factura
j =j +1
termine
termine
SEUDOCODIGO FUNCION SUMA
SUMA (PAGO,I)
defina vector P de 1000
empiece
S=0
i=1
mientras j < i haga
empiece
s = s + pago(j) *total recaudado por compañía de gas
j= j+ 1
termine
SUMA = s
termine
94
11. PROBLEMAS PROPUESTOS
En este capitulo se presentan una serie de problemas que pueden ser resueltos por el
lector, con la guía del texto, y que contribuyen al aprendizaje del arte de la
programación de computadores.
Como metodología de solución puede seguir los siguientes pasos:
1. Análisis del problema, entendimiento del enunciado.
2. Solucionarlo mediante diagrama de flujo
3. Verificar la solución. Si no es correcta vuelva al paso 1.
4. Solucionarlo mediante seudocódigo
5. Verificar la solución. Si no es correcta vuelva al paso 1.
6.
Solucionarlo mediante subprogramas.
7. Verificar la solución. Si no es correcta vuelva al paso 1.
8. Si ha solucionado correctamente el problema por las tres formas (diagrama,
seudocódigo y subprogramas), está listo para solucionar otro problema y volver al paso
1.
1. Diseñar un algoritmo que calcule el seno de X.
donde MAX representa un valor entero, por ejemplo 10.
2. Exprese algorítmicamente el logaritmo natural de X.
donde MAX representa un valor entero, por ejemplo 10.
3. Dados dos numeros, calcule la combinatoria de ellos si es posible. (N debe ser > ó
95
= a M, tanto N como M deben ser >
= 0). Recuerde la definición de combinatoria:
4. La serie de Fibonacci se obtiene como la suma de los dos números
inmediatamente anteriores al que se calcula, inicia con O y 1; dado esto halle la serie
de Fibonacci tal que la suma de sus elementos no exceda a 1000. Guarde la serie en
un vector.
5. Tome los valores A, B, C como las coeficientes de la ecuación cuadrática
AX2 + BX + C = O
y halle sus respectivas raíces Xl y X2.
6. Dado un N diga si es numero primo o no, en caso de no serlo imprima sus factores.
7. En estadística se define la varianza como la suma de los cuadrados de las diferencias
entre cada valor dado y la media de la totalidad de datos, dividido por el número de
observaciones. Guarde los Xi en un vector, proceda a calcular la media y posteriormente
halle la varianza.
8. Dado un vector, ordenarlo ascendentemente por el método burbuja, el cual consiste
en tomar el primer elemento del
vector y compararlo con los otros elementos del vector, si se encuentra uno menor se
intercambia, continuando hasta comparar el primero con todos los demás. Luego toma
el segundo y repite la operación de comparación con los restantes de ahí para abajo,
continuándose el proceso. El algoritmo termina cuando ya se han comparado cada uno
de los elementos con los restantes de abajo.
9. Dados dos vectores A y B, si están ordenados
ascendentemente proceda a intercalarlos en el vector C.
96
10. Dado un vector ordenado verifique la existencia o no de un
número dentro del conjunto, utilizando para ello el algoritmo de búsqueda binaria, el
cual consiste en partir el vector en .mitades, verificando si se encuentra en dicha
posición, sino, se examina si está dentro del rango de arriba o del rango de abajo de la
posición. Así continúa el proceso hasta hallarlo o cuando el limite superior del vector
sea contiguo al limite inferior.
11. Leer dos vectores A y 8 de dimensiones N, realizando con ellos las siguientes
operaciones:
— calculo del vector C, si: C(i)=A(i)*B(i)
— calculo del vector D, si: D(i)=INTCA(i)/8(i))
INT significa parte entera.
12. Haga un algoritmo para obtener la matriz C al multiplicar dos matrices, tenga en
cuenta que:
C(i,j)=Suma A(i,k)*B(k,j)
recuerde que a] multiplicar A de dimensión n*m y B de dimensión m*p, se obtiene la
matriz producto C de n*p.
13. En una matriz de dimensión N*M, calcule el promedio de los valores pares
ubicados en las posiciones tales que i+j sea par, así mismo halle la media de los valores
impares ubicados en las posiciones i+j impares; donde i es la fila y j la columna de la
matriz.
14. En algunos problemas de análisis numérico se requiere que:
dada una matriz cuadrada, los elementos de su diagonal sean mayores que la suma de
los restantes elementos de la fila, así, realice un diagrama que diga si una matriz
cuadrada cumple dicha condición.
15. Para una matriz de orden N*M calcule los promedios de los elementos de cada fila y
cada columna.
16 Suponga que impuestos nacionales requiere un diagrama de flujo que obtenga el
monto de impuesto a cobrar en toda transacción. El impuesto se cobra con 0% (exento),
6% ó 10% del valor de la transacción. Además si el monto de la compra es mayor que
$30.000 se le cobra una sobretasa del 2%. Para montos entre $10.000 y $30.000 la
sobretasa es del .1%. En otro caso no hay sobretasa. La sobretasa se cobra a aquellas
transacciones no exentas.
97
17. Se desea obtener el puntaje de eficiencia de 25 trabajadores de una empresa textil de
acuerdo a las observaciones a que fueron sometidos durante el periodo enero 1 a enero
31, las condiciones de calificación fueron:
1. Total horas dejadas de laborar < 24.
2. Piezas totalmente terminadas > 300.
3. Piezas defectuosas < 25.
Una vez definidos los tópicos a calificar se establecieron los siguientes criterios de
calificación:
— Cada trabajador inicia con 50 puntos.
-Si se cumple 1. se le agregan 20 puntos.
— Si se cumple 2. se le suman 30 puntos.
— Si se cumpla 3. se le dan 20 puntos.
Se pide leer los datos de cada trabajador, obtener el respectivo puntaje e imprimir
código y puntaje.
18. El precio de una cadena de oro se calcula de la siguiente manera:
-Se parte de una base de $10.000.000.
— Por cada mgr de oro de peso se le agrega $10.00.
— Si el peso excede 250 mgrs de oro adicionamos $1000.00.
— Si el peso sobrepasa los 600 mgrs de oro se incrementa en $2.500.00 fuera de los ya
cobrados por pasar de
250 mgrs.
Obtener e imprimir el valor de la cadena de oro, imprimiendo además el código
respectivo.
19. Para un grupo de N personas. cada una de ellas con la siguiente información:
—edad
—estado civil: 1 casado, 2 soltero;
—sexo: 1 masculino, 2 femenino.
Establecer el número total de:
98
• hombres casados mayores de 50 años.
• .hombres solteros mayores de 50 anos.
• mujeres casadas mayores de 50 años.
• mujeres solteras mayores de 50 años.
• personas solteras mayores de 40 años.
• personas casadas menores di 40 años.
• personas con edades entre 18 y 45 años.
20. La empresa de teléfonos de Bucaramanga esta interesada en obtener un diagrama
que le permite calcular el salario de sus N empleados, partiendo de los datos al final del
mes, sobre sueldo básico, total de horas extras diurnas laboradas, total de horas extras
nocturnas laboradas; se desea además que solamente se calcule el salario bruto (es decir
sin ningún tipo de descuento). Además se tiene como información que el pago por hora
extra diurna es de $125.00 y la hora extra nocturna se paga a $200.00. El sueldo básico
varía para cada empleado.
99
Descargar