Download Guia de practicas - Facultad de Ciencias-UCV

Document related concepts

Algoritmo de Euclides wikipedia , lookup

Factorización de polinomios wikipedia , lookup

Búsqueda Binaria wikipedia , lookup

Problema de la suma de subconjuntos wikipedia , lookup

Ordenamiento por cuentas wikipedia , lookup

Transcript
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN.
INTRODUCCIÓN A LA COMPUTACIÓN (M).
GUÍAS DE PRÁCTICAS
INTRODUCCIÓN A LA COMPUTACIÓN (M)
SEMESTRE II-2004
2
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
INTRODUCCIÓN A LA COMPUTACIÓN
PRÁCTICA #1
PARTE TEÓRICA:
 LENGUAJE NATURAL. LENGUAJE PSEUDOFORMAL.
 LENGUAJE FORMAL. LENGUAJE DE PROGRAMACIÓN.
 ALGORITMO. CARACTERÍSTICAS DE UN ALGORITMO. ACCIÓN.
 VARIABLE. DIFERENCIA ENTRE EL VALOR Y EL NOMBRE DE LA VARIABLE.
 CONSTANTE. DIFERENCIA ENTRE CONSTANTE Y VARIABLE.
 TIPOS DE DATOS BASE.
 OPERADORES (ARITMÉTICOS, LÓGICOS Y RELACIONALES).
 ACCIONES BÁSICAS (LECTURA, ESCRITURA Y ASIGNACIÓN).
 TRAZAS O CORRIDAS EN FRÍO.
PARTE PRÁCTICA:
PARTE I
1.- DADOS LOS SIGUIENTES ALGORITMOS IDENTIFICAR EN C/U:
 VARIABLES.
 CONSTANTES.
 ACCIONES DE LECTURA.
 ACCIONES DE ESCRITURA.
 ACCIONES DE ASIGNACIÓN.
 TRAZA.
A)
INICIO
 LEER(A)
 LEER(B)
 A  A+ B
BA–B
AA–B
 ESCRIBIR (A)
 ESCRIBIR ( B)
FIN
B)
INICIO
 LEER(X)
 LEER(Y)
 X1  X * X
 Y1  Y * Y
 D  (X1*Y1)**(1/2)
 ESCRIBIR ( D)
FIN
GUÍA PARA HACER LA TRAZA
VARIABLES INVOLUCRADAS
# PASO
VARIABLE 1
1
2
3
...
N
VARIABLE 2
... VARIABLE N
ESCRITURAS
JS/JS
SEMESTRE II-2004
3
2.- REALICE LA TRAZA DEL SIGUIENTE ALGORITMO:
INICIO
LEER (PARCP1)
 LEER (PARCP2 )
 LEER (PARCP3 )
 LEER (PARCP4)
 LEER (TAREA1)
 LEER (TAREA2 )
 LEER (TAREA3 )
 LEER (TAREA4 )
 LEER (TAREA5 )
 LEER (PROY)
 LEER (TALL1)
 LEER (TALL2 )
 LEER (TALL3 )
 LEER (PARCT1 )
 LEER (PARCT2)
 LEER (PARCT3 )
 PARCIALP  ((PARCP1 + PARCP2 + PARCP3 + PARCP4) / 4) * 0.48
 PROYECTO  PROY * 0.15
 TALLER  ((TALL1 + TALL2 + TALL3) / 3) * 0.12
 TAREAS  ((TAREA1 + TAREA2 + TAREA3 + TAREA4 + TAREA5) / 5) * 0.25
 PRACTICA  PARCIALP + PROYECTO + TALLER + TAREAS
 TEORÍA  ((PARCT1 * 0.25) + (PARCT2 * 0.35) +(PARCT3 * 0.4))
 ESCRIBIR(‘NOTA DE PRÁCTICA:’, PRACTICA)
 ESCRIBIR (‘NOTA DE TEORÍA:’, TEORÍA)
 ESCRIBIR(‘NOTA DE PRÁCTICA:’, PRACTICA*0.35 + TEORÍA*0.65)
FIN
3.- INVESTIGUE QUÉ OPERACIÓN REALIZAN LOS SIGUIENTES OPERADORES: DIV, MOD.
PARTE II
ESCRIBIR UN ALGORITMO PARA CADA UNO DE LOS SIGUIENTES ALGORITMOS:
1. SEAN GRADOS UNA VARIABLE QUE CONTIENE UNA CANTIDAD EN GRADOS. DETERMINAR EL NÚMERO DE
VUELTAS Y EL ÁNGULO CORRESPONDIENTE EN EL CÍRCULO TRIGONOMÉTRICO EQUIVALENTE AL VALOR
DADO.
EJEMPLO: GRADOS= 390
VUELTAS = 1
ANGULO = 30
2. SEA DIAS UNA VARIABLE QUE CONTIENE UN NÚMERO ENTERO POSITIVO, EL CUAL REPRESENTA UNA
CANTIDAD (VÁLIDA) DE DÍAS. DETERMINAR SU EQUIVALENTE EN AÑOS, MESES Y DÍAS
NOTA: ASUMA QUE TODOS LOS AÑOS SON DE 365 DÍAS Y LOS MESES DE 30 DÍAS.
EJEMPLO:
DIAS= 1423
AÑOS = 3
MESES = 10
DÍAS = 28
JS/JS
SEMESTRE II-2004
4
3. SEA FECHA UNA VARIABLE QUE CONTIENE UN NÚMERO ENTERO POSITIVO DE 6 CIFRAS, EL CUAL
REPRESENTA UNA FECHA (VÁLIDA) CUALQUIERA DE LA FORMA DDMMAA. SEPARAR LOS VALORES
CORRESPONDIENTES A DÍA, MES Y AÑO.
EJEMPLO: FECHA= 171197
DÍA = 17
MES = 11
AÑO = 97
4. SEA SEGUNDOS UNA VARIABLE QUE CONTIENE UN NÚMERO ENTERO N, EL CUAL REPRESENTA UNA
CANTIDAD DE SEGUNDOS. DETERMINAR SU EQUIVALENTE EN DÍAS, HORAS, MINUTOS Y SEGUNDOS.
EJEMPLO:
SEGUNDOS = 997325
DIAS=11
HORAS=3
MINUTOS=2
SEGUNDOS=5
5. SEA BOLIVARES UNA VARIABLE QUE CONTIENE UNA CANTIDAD (ENTERA POSITIVA) DE DINERO EN
BOLÍVARES QUE UN CLIENTE DESEA RETIRAR DE UN CAJERO AUTOMÁTICO, EL CUAL DISPENSA SOLO
MONEDAS DE 1,10,20,50,100 Y 500 BS. DETERMINAR CUANTAS MONEDAS DE CADA DENOMINACIÓN
DEBE DISPENSAR EL CAJERO PARA CUBRIR LA PETICIÓN DEL CLIENTE.
6. DADOS 4 NÚMEROS REALES QUE REPRESENTAN LAS COORDENADAS X1,Y1 Y X2,Y2 DE DOS PUNTOS EN
EL PLANO RESPECTIVAMENTE. DETERMINAR: LA DISTANCIA ENTRE ELLOS Y LA PENDIENTE QUE PASA POR
ELLOS.
7. DADO UN PUNTO EN EL PLANO CON COORDENADAS X E Y. DETERMINAR: LA DISTANCIA DEL PTO. AL
ORIGEN Y EL ÁREA DEL CÍRCULO CUYA CIRCUNFERENCIA TIENE COMO CENTRO EL PUNTO DADO Y EL ORIGEN
PERTENECE A LA MISMA.
8. DADAS LAS PENDIENTES M1,M2 Y LOS CORTES CON EL EJE Y B1 Y B2 DE LAS RECTAS L1 Y L2 TAL QUE:
L1 ES Y=(M1*X)+B1 Y L2 ES Y=(M2*X)+B2. DETERMINAR EL PUNTO DE INTERSECCIÓN ENTRE LAS
RECTAS.
NOTA: ASUMA QUE LAS RECTAS NO SON PARALELAS.
9. DADOS 2 VALORES REALES X1, X2, LOS CUALES REPRESENTAN LAS RAÍCES DE UNA ECUACIÓN DE 2DO
GRADO DE LA FORMA: X2 + BX + C = 0. DETERMINAR LA ECUACIÓN.
AYUDA: LA SUMA DE LAS RAÍCES DE TODA ECUACIÓN DE LA FORMA DADA, ES IGUAL AL COEFICIENTE DE
2DO TÉRMINO CON EL SIGNO CAMBIADO. ASÍ MISMO, EL PRODUCTO ES IGUAL AL 3ER TÉRMINO CON EL
MISMO SIGNO.
EJEMPLO: X1=6 Y X2=-5/3
6
Y
–5/3
SON
LAS
RAÍCES
DE
LA
ECUACIÓN
X2-(13/3)X-(30/3)=0
JS/JS
SEMESTRE II-2004
5
EJERCICIOS ADICIONALES
1. Dado un número entero de 4 dígitos, genere otro número cuyos dígitos sean los
mismos del número dado, pero invertidos. Ejemplos:
Número Dado Número Resultante
5317
7135
1845
5481
2. Dado un entero positivo N con 6 dígitos, que representa el número de tarjeta de
crédito de un cliente en Internet, y otro par de enteros que representan el día y mes de
una compra en particular, es decir:
N = n1n2n3n4n5n6
D = dd
M = mm
Se quiere que elabore un algoritmo que genere un nuevo número R siguiendo las reglas
que a continuación se describen:
-
Separe N en tres grupos de dos dígitos.
Intercambie los dígitos de cada par.
Construya R con los tres nuevos pares en orden inverso, pero incluyendo
entre ellos el día D y el mes M.
Ejemplo: N = 123456, D = 12, M = 4.
C = 6512430412.
1. Dados los coeficientes de dos polinomios de segundo grado, calcule la suma, resta y
multiplicación de ambos polinomios e imprima los coeficientes de los polinomios
resultantes.
JS/JS
SEMESTRE II-2004
6
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
INTRODUCCIÓN A LA COMPUTACIÓN
PRÁCTICA #2
PARTE TEÓRICA:
 ACCIONES BÁSICAS DE UN ALGORITMO PSEUDOFORMAL.
 ESTRUCTURA DE SELECCIÓN MÚLTIPLE.
 ESTRUCTURA DE SELECCIÓN SIMPLE.
PARTE PRÁCTICA:
ESCRIBIR UN ALGORITMO PARA CADA UNO DE LOS SIGUIENTES PLANTEAMIENTOS:
1. DADOS 3 NÚMEROS REALES A, B Y C LOS CUALES REPRESENTAN LOS COEFICIENTES DE UNA ECUACIÓN DE
2DO GRADO. DETERMINAR SUS RAÍCES, YA SEAN REALES O IMAGINARIAS.
AYUDA:
X1 = [ -B + (B2-4AC)]/(2A)
X2 = [ -B - (B2-4AC)]/(2A)
2. DADOS 4 NÚMEROS REALES M1,M2,B1 Y B2 QUE REPRESENTAN LOS COEFICIENTES DE LAS ECUACIONES
DE DOS RECTAS L1 Y L2, TAL QUE: L1 ES Y=(M1*X)+B1 Y L2 ES Y=(M2*X)+B2. DETERMINAR SI
LAS DOS RECTAS SON PARALELAS, SE INTERCEPTAN EN ALGÚN PTO., O COINCIDEN (SON IGUALES).
3. DADOS 3 NÚMEROS REALES P, S Y T. DETERMINAR EL MAYOR Y MENOR NÚMERO.
4. DADOS 3 NÚMEROS ENTEROS A1, A2 Y A3 QUE REPRESENTAN LOS ÁNGULOS QUE FORMAN A UN
TRIÁNGULO. DETERMINAR SI EL TRIÁNGULO FORMADO ES ACUTÁNGULO (LOS TRES ÁNGULOS SON
AGUDOS), OBTUSÁNGULO (TIENE UN ÁNGULO OBTUSO) Ó RECTÁNGULO (TIENE UN ÁNGULO RECTO).
5. DADOS 3 NÚMEROS REALES L1, L2 Y L3 QUE REPRESENTAN LAS LONGITUDES DE LOS LADOS DE UN
TRIÁNGULO. DETERMINAR EL ÁREA SI Y SOLO SI ES ISÓSCELES O EQUILÁTERO.
6. DADOS 2 NÚMEROS REALES A Y B. DETERMINAR (SIN REALIZAR LA OPERACIÓN) EL SIGNO DE:
 LA SUMA DE A Y B.
 EL PRODUCTO DE A Y B.
7. DADO UN NÚMERO ENTERO POSITIVO EL CUAL REPRESENTA UN CÓDIGO QUE REFERENCIA A UNA FIGURA
GEOMÉTRICA. DETERMINAR EL ÁREA DE LA MISMA, SEGÚN EL VALOR DEL CÓDIGO.
NOTA: LEA LA CANTIDAD DE VALORES NECESARIOS PARA EL CÁLCULO DEL ÁREA RESPECTIVA.
CÓDIGO
1
2
3
4
FIGURA GEOMÉTRICA
CÍRCULO
CUADRADO
RECTÁNGULO
TRIÁNGULO
JS/JS
SEMESTRE II-2004
7
8. DADO UN NÚMERO REAL X. DETERMINAR EL VALOR DE LAS SIGUIENTES FUNCIONES:
MODULO(X) =
F(X) =
X
0
-X
X2
0
X3
X>0
X=0
SI X < 0
SI
SI
X>0
X=0
SI X < 0
SI
SI
9. DADOS DOS NÚMEROS REALES LI Y LS QUE REPRESENTAN LOS LÍMITES INFERIOR Y SUPERIOR DE UN
INTERVALO Y DADO UN NÚMERO N. DETERMINAR SI DICHO NÚMERO SE ENCUENTRA EN EL INTERVALO.
10. DADOS CUATRO NÚMEROS REALES LI1, LS1, LI2 Y LS2, LOS CUALES REPRESENTAN LOS LÍMITES
INFERIORES Y SUPERIORES DE DOS INTERVALOS A Y B RESPECTIVAMENTE. DETERMINAR SI:
 A=B
 AB
 BA
 A Y B SE INTERCEPTAN (SIN CONTENCIÓN)
 SI A Y B SON DISJUNTOS, VERIFICAR SI A ESTÁ A LA DERECHA DE B Ó A ESTÁ A LA IZQUIERDA
DE B.
11. PARA CONOCER EL PRECIO A PAGAR POR SERVICIO DE ESTACIONAMIENTO SE MULTIPLICA EL NUMERO DE
HORAS QUE PERMANECIÓ EL AUTOMÓVIL DENTRO DEL ESTACIONAMIENTO POR BS. 200 Y SE SUMA A ESTA
CANTIDAD LA FRACCIÓN (SI ESTA ES<=30) POR BS. 100 (EN CASO DE SER MAYOR QUE 30 SE CUENTA
COMO UNA HORA). ELABORE UN ALGORITMO QUE A PARTIR DE LA HORA DE ENTRADA Y LA HORA DE SALIDA
DE UN VEHÍCULO, EN UN MISMO DÍA, CALCULE EL MONTO A PAGAR POR CONCEPTO DE ESTACIONAMIENTO.
DADO:
HE: ENTERO QUE INDICA LA HORA DE ENTRADA
ME: ENTERO QUE INDICA LOS MINUTOS DE LA HORA DE ENTRADA
DE: ENTERO QUE INDICA SI ES AM O PM
HS: ENTERO QUE INDICA LA HORA DE SALIDA
MS: ENTERO QUE INDICA LOS MINUTOS DE LA HORA DE SALIDA
DS: ENTERO QUE INDICA SI ES AM O PM
NOTA: ASUMA QUE LOS DATOS SON VALIDOS (HS>=HE)
12. SEA AÑO UNA VARIABLE QUE CONTIENE UN NÚMERO ENTERO POSITIVO DE 4 CIFRAS, EL CUAL
REPRESENTA UN AÑO VALIDO CUALQUIERA. DETERMINE SI EL AÑO DADO ES BISIESTO. UN AÑO ES
BISIESTO SI, ADEMÁS DE SER DIVISIBLE POR 4,
* NO ES ÚLTIMO DE SIGLO
* ES ULTIMO DE SIGLO Y SU NÚMERO DE CENTENAS ES DIVISIBLE POR 4.
EJEMPLO:
AÑO = 1900
ES FALSO QUE EL AÑO 1900 ES BISIESTO.
AÑO = 1996
ES VERDAD QUE EL AÑO 1996 ES BISIESTO.
JS/JS
SEMESTRE II-2004
8
13. DEFINA BAJO QUE CONDICIONES UNA SECUENCIA DE SELECCIONES SIMPLES ES EQUIVALENTE A UNA
SELECCIÓN MÚLTIPLE. DE UN EJEMPLO Y UN CONTRAEJEMPLO.
EJERCICIOS ADICIONALES
1. En un plano, dos circunferencias pueden tener varias posiciones relativas, de acuerdo
a estas posiciones se pueden definir:






Circunferencias Exteriores: Los puntos de cada una son exteriores a la
otra.
Circunferencias Tangentes Exteriormente: Tiene un punto en común y los
demás puntos de cada una son exteriores a la otra.
Circunferencias Secantes: Si tienen dos puntos comunes.
Circunferencias Tangentes Interiormente: Si tienen un punto en común y
todos los demás puntos de una de ellas son interiores a la otra.
Circunferencias Interiores: Cuando todos los puntos de una son interiores
a la otra y sus centros no coinciden.
Circunferencias Concéntricas: Cuando tienen el mismo centro.
Si D es la distancia entre los centros de dos circunferencias de radios R1 y R2.
Elabore un algoritmo que determine las posiciones relativas de las dos
circunferencias.
2.Dados seis (6) pares ordenados pertenecientes al plano cartesiano, determine si éstos
forman la siguiente figura en la posición mostrada:
A
F
B
E
C
D
3. El señor X desea adquirir un sofá que le sirva para leer y para tomar una siesta. Los
gustos del señor X son muy singulares, razón por la cual, el sofá debe cumplir con las
siguientes condiciones:




Debe ser lo suficientemente ancho para que quepa cómodamente acostado. Si
las piernas no le caben, no le importaría colocarlas en el brazo del sofá.
Debe estar diseñado de manera que pueda recostar la cabeza en el respaldar del
sofá cuando se siente a leer.
Debe ser lo suficientemente ancho para que quepan sus 3 hijos sentados sin
necesidad de montarse uno sobre el otro.
Debe ser lo suficientemente ancho para que quepa él sentado en un extremo y
su esposa acostada con la cabeza en sus piernas. A ella no le importaría colocar
las piernas en el brazo del sofá. Este es un punto muy importante porque a
ambos les gusta leer poemas en esa posición.
JS/JS
SEMESTRE II-2004
9
Las medidas necesarias para determinar si el sofá le conviene al señor X son largo de
la cabeza del señor X (LCX), distancia desde la nuca hasta la cadera del señor X
(NCX), largo de la cabeza de la señora X (LCSX), distancia desde la nuca hasta la
cadera de la señora X (NCSX), ancho del hijo mayor (AH1), el ancho del hijo del
medio es el 74,3% del ancho del hijo mayor, el ancho del hijo menor es el K% del
ancho del hijo del medio, la distancia entre los brazos del sofá (AS) y el largo del
respaldar del sofá (RS).
Dadas las medidas antes mencionadas, elabore un algoritmo que determine si el
señor X debe comprar el sofá.
JS/JS
SEMESTRE II-2004
10
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
INTRODUCCIÓN A LA COMPUTACIÓN
PRÁCTICA #3
PARTE TEÓRICA:
 ACCIONES BÁSICAS DE UN ALGORITMO PSEUDOFORMAL.
 ESTRUCTURAS CÍCLICAS: REPETIR Y MIENTRAS.
PARTE PRÁCTICA:
PARTE I
ESCRIBIR UN ALGORITMO USANDO EL CICLO REPETIR, PARA CADA UNO DE LOS SIGUIENTES
PLANTEAMIENTOS:
1. DADA UNA SECUENCIA DE CARACTERES FINALIZADA EN ‘*’. CONTAR LA CANTIDAD DE CARACTERES.
2. DADA UNA SECUENCIA DE CARACTERES ALFABÉTICOS FINALIZADA EN ‘*’. INDICAR CUANTAS VOCALES
HAY.
3. DADO UN CONJUNTO DE 100 NÚMEROS ENTEROS. DETERMINAR: EL PORCENTAJE DE NÚMEROS POSITIVOS
Y NEGATIVOS.
4. DADO UN CONJUNTO DE M NÚMEROS REALES, LOS CUALES REPRESENTAN EL DIÁMETRO DE M ESFERAS.
CALCULAR EL VOLUMEN DE CADA ESFERA E INDICAR CUAL ES EL VOLUMEN MAYOR.
AYUDA: V = (4/3) *  * R3
5. DADO UN NÚMERO ENTERO N. CALCULAR LA SUMA DE TODOS LOS NÚMEROS ENTRE 1 Y N.
6. DADA UNA SECUENCIA DE N NÚMEROS ENTEROS. DETERMINAR:
 CANTIDAD DE NÚMEROS POSITIVOS.
 SUMA DE LOS NÚMEROS POSITIVOS.
 PROMEDIO DE NÚMEROS POSITIVOS.
 CANTIDAD DE NÚMEROS NEGATIVOS.
 SUMA DE LOS NÚMEROS NEGATIVOS.
 PROMEDIO DE NÚMEROS NEGATIVOS.
7. DADA UNA SECUENCIA DE NÚMEROS REALES TERMINADA EN 0. DETERMINAR:
 CANTIDAD DE NÚMEROS.
 EL ELEMENTO MAYOR.
 EL ELEMENTO MENOR.
NOTA: EL 0 PERTENECE A LA SECUENCIA.
8. DADA UNA SECUENCIA DE NÚMEROS ENTEROS TERMINADA EN 0. DETERMINAR:
 LA SUMA DE TODOS LOS NÚMEROS PARES.
 LA SUMA DE TODOS LOS NÚMEROS IMPARES.
 PROMEDIO DE TODOS LOS ELEMENTOS DE LA SECUENCIA.
NOTA: EL 0 NO PERTENECE A LA SECUENCIA ( NO SE TOMA EN CUENTA PARA EL PROMEDIO ).
JS/JS
SEMESTRE II-2004
11
PARTE II
ESCRIBIR UN ALGORITMO USANDO EL CICLO MIENTRAS, PARA CADA UNO DE LOS SIGUIENTES
PLANTEAMIENTOS:
1. DADO UN NÚMERO ENTERO N Y UN DÍGITO D. DETERMINAR LA CANTIDAD DE VECES QUE APARECE EL
DÍGITO D EN EL NÚMERO N Y LAS POSICIONES EN QUE APARECE DICHO DÍGITO.
2. DADO UN PAR DE NÚMEROS ENTEROS P Y S. REALICE UN ALGORITMO PARA C/U DE LOS SIGUIENTES
REQUERIMIENTOS:
 EL PRODUCTO MEDIANTE SUMAS SUCESIVAS.
 LA DIVISIÓN MEDIANTE RESTAS SUCESIVAS.
3. DADO UN NÚMERO ENTERO N. DETERMINAR SU RAÍZ CUADRADA APROXIMADA POR MEDIO DEL MÉTODO DE
RESTAS IMPARES SUCESIVAS.
EJEMPLO: N=12
12 – 1 = 11
11 – 3 = 8
8–5= 3
3 – 7 = -4
LA CANTIDAD DE RESTAS CUYO RESULTADO SEA MAYOR O IGUAL A 0 INDICA EL VALOR APROXIMADO DE LA
RAÍZ CUADRADA DEL NÚMERO. ENTONCES LA RAÍZ CUADRADA DEL NÚMERO 12 ES 3.
PARTE III
ESCRIBIR UN ALGORITMO USANDO EL CICLO REPETIR Ó MIENTRAS, PARA CADA UNO DE LOS SIGUIENTES
PLANTEAMIENTOS:
1. DADO UN NÚMERO ENTERO N (Y M). DETERMINAR EL RESULTADO DE LAS SIGUIENTES EXPRESIONES:
A)
N
(1/IR)
I=1
B)

N M
(I/J)
I=1 J=1
C)

N M
 (I*J)
I=1 J=1
2. DADO UN NÚMERO ENTERO N (Y M). DETERMINAR EL RESULTADO DE LAS SIGUIENTES EXPRESIONES:
A)
D)
M
I
I=1
N
B)
M
  (I+J)
I=1 J=1
N
M
  I/(J*(J-1))
I=1 J=2
C)
N
M
((I+M)  (J+I))
I=1
J=1
3. DADOS 2 VALORES ENTEROS N Y M CALCULAR:
N M
  (I+J)
I=1 J=1
M
I
(I+M)*(  (J+I) )
I=1
J=1
SI N>M
SI N M
JS/JS
SEMESTRE II-2004
12
4. DADA UNA CANTIDAD DE TÉRMINOS N CALCULE EL VALOR DE  A PARTIR DE LA SUMA:
  4
4 4 4 4 4
     ....
3 5 7 9 11
N TÉRMINOS
5. SE TIENE UNA SECUENCIA DE ENTEROS TERMINADA EN 9999, LOS CUALES REPRESENTAN LOS
COEFICIENTES DE UN POLINOMIO. ESTOS COEFICIENTES ESTÁN ORDENADOS EN FORMA ASCENDENTE DE
ACUERDO AL GRADO DEL TÉRMINO QUE LO ACOMPAÑA, EL CUAL COMIENZAN CON EL GRADO CERO.
ENTONCES, DADA LA SECUENCIA Y UN VALOR ENTERO X SE DESEA:
 LA EVALUACIÓN DEL POLINOMIO EN X
 LA EVALUACIÓN DE LA DERIVADA DEL POLINOMIO EN X
 EL GRADO DE LA DERIVADA DEL POLINOMIO
EJEMPLO: SECUENCIA 1 40 2 0 -1 9999
POLINOMIO REPRESENTADO P(X) = 1 + 40X + 2X2 + 0X3 - X4
PARTE IV
1. REESCRIBIR EL FORMATO GENERAL DEL CICLO MIENTRAS, UTILIZANDO EL CICLO REPETIR. RECUERDE QUE
EL FORMATO DEL CICLO MIENTRAS ES DE LA SIGUIENTE FORMA:
MIENTRAS  HACER
<ACCIONES A>
FMIENTRAS
SE TIENE UN CONJUNTO DE
ACCIONES A QUE SE REPITEN 0 Ó MÁS VECES, SEGÚN LA CONDICIÓN DE
PARADA.
2. REESCRIBIR EL FORMATO GENERAL DEL CICLO REPETIR, UTILIZANDO EL CICLO MIENTRAS. RECUERDE QUE
EL FORMATO DEL CICLO REPETIR ES DE LA SIGUIENTE FORMA:
REPETIR
<ACCIONES A>
HASTA 
SE TIENE UN CONJUNTO DE
ACCIONES A QUE SE REPITEN 1 Ó MÁS VECES, SEGÚN LA CONDICIÓN DE
PARADA.
EJERCICIOS ADICIONALES
1. Dada una secuencia de caracteres terminada en punto (.), elabore un algoritmo para
resolver cada uno de los siguientes problemas:
a) Calcular el porcentaje de caracteres iguales a ‘G’ o ‘C’.
b) Contar la cantidad de caracteres distintos de un cierto carácter X de entrada.
c) Contar la cantidad de vocales y la cantidad de consonantes. Asuma que los únicos
caracteres especiales son: punto (.), coma (,) y punto y coma (;).
d) Verificar si existe la segunda aparición del primer carácter del texto. Si existe,
indicar la posición que ocupa en el texto.
EJEMPLO: “ESTE ES EL TEXTO”

Primer carácter: E
JS/JS
SEMESTRE II-2004
13

Segunda aparición de ‘E’ en la posición: 4
e) Determinar si el n-ésimo carácter del texto es una vocal, una consonante o un
carácter especial. Asuma que los únicos caracteres especiales son: punto (.),
coma (,) y punto y coma (;).
f) Determinar si en el texto existe la segunda aparición de cada una de las vocales.
2. Dado un número entero de 5 dígitos, se quiere obtener el número producto de desplazar
circularmente a la derecha tantos dígitos del número dado como lo indique su primer
digito.
EJEMPLO:
Nro. Dado
34524
78431
28431
Nro. Resultante
52434
31784
31284
3. Escriba un algoritmo que dada una cadena de caracteres que representa una fecha en
formato “dd/mm/aaaa”, muestre la fecha en formato largo.
EJEMPLO: ENTRADA: “25/09/1978”
SALIDA:
“25 de Septiembre de 1978”
JS/JS
SEMESTRE II-2004
14
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
INTRODUCCIÓN A LA COMPUTACIÓN
PRÁCTICA #4
PARTE TEÓRICA:
 PROCEDIMIENTO, FUNCIÓN. DIFERENCIAS.
 PARÁMETROS FORMALES Y ACTUALES.
 PASE DE PARÁMETROS POR VALOR Y POR REFERENCIA.
 VARIABLES GLOBALES Y LOCALES.
PARTE PRÁCTICA:
PARTE I
ESCRIBIR UNA ACCIÓN NOMINADA (PROCEDIMIENTO O FUNCIÓN) PARA CADA UNO DE LOS SIGUIENTES
PLANTEAMIENTOS:
1. DADO UN NÚMERO ENTERO N. DETERMINAR SU FACTORIAL.
AYUDA:
1
SI
N=0
F(N)=
N*(N-1)*(N-2)*...*1 SI N0
2. OBTENER LOS N PRIMEROS NÚMEROS DE LA SERIE DE FIBONACCI.
AYUDA:
0
F(N)=
1
F(N-1) + F(N-2)
SI
N=0
N=1
SI N>1
SI
3. DADO UN NÚMERO ENTERO N. DETERMINAR SI ES UN NÚMERO PRIMO O UN NÚMERO PERFECTO.
AYUDA:
 UN NÚMERO ES PRIMO SI SÓLO TIENE DOS DIVISORES COMO MÁXIMO.
 UN NÚMERO ES PERFECTO SI LA SUMA DE SUS DIVISORES EXCLUYÉNDOLO, ES IGUAL A ÉL.
4. DADO UN NÚMERO ENTERO N. CONTAR LA CANTIDAD DE PRIMOS MOROCHOS QUE HAY ENTRE 1 Y N.
AYUDA: UN PAR DE PRIMOS SON MOROCHOS SI SON IMPARES CONSECUTIVOS, P.E.1 Y 3, 3 Y 5, 5 Y 7,
ETC.
NOTA: SE ASUME QUE EL 1 ES PRIMO.
5. DADA UNA SECUENCIA DE NÚMEROS ENTEROS FINALIZADA EN 0. DETERMINAR LA CANTIDAD DE NÚMEROS
PRIMOS Y PRIMOS MOROCHOS.
6. DADO EL SIGUIENTE ALGORITMO
INICIO
LEER(A); LEER( B ); LEER(C)
ESCRIBIR (A,B,C)
PROC1(A,B,C)
ESCRIBIR(A,B,C)
JS/JS
SEMESTRE II-2004
15
PROC2(A,B,C)
ESCRIBIR(C,B,A)
PROC1(A,C,B)
ESCRIBIR (A,B,C)
FIN
ACCIÓN PROC1(C,A: ENTERO; VAR B: ENTERO)
VAR S: ENTERO
SC+A
SELECCIÓN
S>10: B  B + C
S10: B  B +A
FSELECCIÓN
ESCRIBIR (A,B,C)
FACCIÓN PROC1
ACCIÓN PROC2(X: ENTERO; VAR Y: ENTERO; Z: ENTERO)
VAR T: ENTERO
TX+Y
SELECCIÓN
T=0: Z  X + Y
T0: Z  Y + Z
FSELECCIÓN
ESCRIBIR (X,Y,Z)
FACCIÓN PROC2
INDICAR EN CADA LLAMADA DE UNA ACCIÓN NOMINADA LOS PARÁMETROS ACTUALES Y SU PARÁMETRO
FORMAL CORRESPONDIENTE, ASÍ MISMO; LOS PARÁMETROS FORMALES PASADOS POR VALOR O POR
REFERENCIA, SE DEBE ADEMÁS INDICAR POR CADA ACCIÓN LAS VARIABLES LOCALES. REALICE LA TRAZA
PARA DETERMINAR EL VALOR DE LOS PARÁMETROS ACTUALES Y FORMALES EN CADA LLAMADA Y RETORNO
DE LAS ACCIONES.
LUEGO, CAMBIE LOS PROCEDIMIENTOS POR FUNCIONES.
7. DADOS 3 RECTÁNGULOS DEFINIDOS CADA UNO POR UN PAR DE PUNTOS (ESQUINA SUPERIOR IZQUIERDA Y
ESQUINA INFERIOR DERECHA) Y DADA UNA SECUENCIA DE N PUNTOS. SE DESEA SABER EN CUÁLES
RECTÁNGULOS ESTÁ CONTENIDO (DE SER POSIBLE) CADA UNO DE LOS PUNTOS.
8. DADA UN DÍGITO K Y UNA SECUENCIA DE ENTEROS TERMINADA EN CERO, SE QUIERE QUE USTED POR
CADA ENTERO GENERE UN NUEVO VALOR, PRODUCTO DE ELIMINAR DICHO DÍGITO.
PARTE II
ESCRIBIR UNA FUNCIÓN PARA LOS SIGUIENTES PLANTEAMIENTOS:
1. DADO UN NÚMERO REAL X. DETERMINAR EL RESULTADO DE LAS SIGUIENTES EXPRESIONES QUE
APROXIMAN FUNCIONES MATEMÁTICAS:
a) SEN(X)= (X1/1!)-(X3/3!)+...+((-1N+1)X2N-1/(2N-1)!). CON UNA COTA DE ERROR DE 106, ES DECIR, EL VALOR ABSOLUTO DEL N-ÉSINO TÉRMINO DEBE SER MENOR O IGUAL A LA COTA DADA.
b) COS(X)= (X0/0!)-(X2/2!)+...+((-1N-1)X2(N-1)/(2(N-1))!). CONSIDERE QUE EL VALOR
ABSOLUTO DE LA DIFERENCIA DE LOS DOS ÚLTIMOS TÉRMINOS DEBE SER MENOR QUE UNA COTA
DADA.
c) EX=1+(X2/2!)+...+(XN/N!). CONSIDERE QUE EL VALOR ABSOLUTO DE LA DIFERENCIA DE LOS
LOS ÚLTIMOS TÉRMINOS DEBE SER MENOR QUE UNA COTA DADA.
NOTA: DICHOS EJERCICIOS QUE APROXIMAN FUNCIONES MATEMÁTICAS SOLO SERÁN REALIZADOS EN
LENGUAJE PSEUDOFORMAL.
PARTE III
RESUELVA LOS SIGUIENTES EJERCICIOS, LUEGO HAGA SU CORRESPONDIENTE TRADUCCIÓN A LENGUAJE C++:
1. SUPONGA QUE EN PSEUDOFORMAL NO DISPONE DEL OPERADOR DE POTENCIACIÓN “**” Y EN C++ NO
DISPONE DE LA FUNCIÓN “POW”, SE DESEA QUE REALICE UNA FUNCIÓN QUE REALICE POTENCIACIÓN.
DADOS 2 VALORES: LA BASE (REAL) Y EL EXPONENTE (ENTERO), RETORNE EL VALOR DE DICHA
POTENCIACIÓN.
JS/JS
SEMESTRE II-2004
16
PUEDE UTILIZAR SI DESEA EL SIGUIENTE ENCABEZADO PARA LA FUNCIÓN:
FUNCION POTENCIA(BASE: REAL; EXPO:ENTERO):REAL
2. DADOS 3 VALORES ENTEROS A,B,C, EVALÚE LA SIGUIENTE FUNCIÓN MATEMÁTICA (UTILICE SOLO
FUNCIONES):
A+ MAXIMO(A,B,C) SI PAR(C)=VERDADERO
F(A,B,C)=
B-MINIMO(A,B,C)
SI PAR(C)=FALSO
3. SEA X UN NÚMERO REAL TAL QUE N < X < N+1, DONDE N Y N+1 SON VALORES PARA LOS CUALES EL
LOGARITMO EN BASE 10 ESTÁ TABULADO. SEAN L=LOG(N) Y A=LOG(N+1), ENTONCES EL LOGARITMO
DE X VIENE DADO POR:
Log(X)= L + (X - N) * (A - L)
SE QUIERE QUE USTED REALICE UNA FUNCIÓN LN(X) DEFINIDA DE LA SIGUIENTE MANERA:
LN(X)= LOG(X) * LN(10), DONDE LN(10)= 2.3025
A CONTINUACIÓN SE MUESTRA LA TABLA DE ALGUNOS VALORES DE X CON SUS RESPECTIVOS
LOGARITMOS DECIMALES:
NÚMERO
10
11
12
13
14
15
16
17
LOG
1
1,0414
1,0792
1,1139
1,1461
1,1761
1,2041
1,2304
EJERCICIOS ADICIONALES
1. Los ingredientes para 4 personas de la receta de “Pastel de Manzana Danés” son los
indicados en la lista adjunta. Escriba un algoritmo que calcule los ingredientes para un
número variable de personas que se lee por teclado.





675 gramos de manzanas
75 gramos de mantequilla
150 gramos de azúcar
100 gramos de migas de pan
150 mililitros de leche
a. El Centro de Computación de la Facultad de Ciencias, en vista de los problemas que
han venido sucediendo con el uso de las cuentas de email de los estudiantes, ha
decidido generar de manera automática las claves asociadas a cada cuenta, partiendo
del número de cédula de cada estudiante, de la siguiente forma:
Se invierte el orden de los dígitos de la cédula de identidad, obteniéndose de esta
forma la clave 1.
JS/JS
SEMESTRE II-2004
17
1. Si la cantidad de dígitos de la cédula de identidad es par, en la posición
correspondiente a la mitad más uno de la clave 1, se insertará el dígito
resultante de aplicar el módulo 10 a la suma de los dígitos de la clave 1.
EJEMPLO:
Cédula = 368941
1 + 4 + 9 + 8 + 6 + 3 = 31
Clave Definitiva = 1491863
31 mod 10 = 1
2. Si la cantidad de dígitos de la cédula de identidad es impar, a la clave 1 se le
añade en la posición más significativa, el dígito obtenido al aplicar el módulo 10 al
producto del primero y del último dígito de la clave 1. Una vez generado este
nuevo valor para la clave 1, se insertará el dígito resultante de aplicar el módulo
10 a la suma de los dígitos de la clave 1, en la posición correspondiente a la
mitad más uno de la clave 1.
EJEMPLO:
Cédula = 3889428 3 * 8 = 24
24 mod 10 = 4
4 + 8 + 2 + 4 + 9 + 8 + 8 + 3 = 46 46 mod 10 = 6
Clave Definitiva = 482469883
Se quiere que, de acuerdo a la política de generación de claves definitivas, elabore un
algoritmo el cual dadas las cédulas de y las claves de tres (3) estudiantes, verifique si
estas son válidas.
NOTA: Considere que las cédulas de identidad están en el rango 100.000 –
99.999.999
JS/JS
SEMESTRE II-2004
18
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
INTRODUCCIÓN A LA COMPUTACIÓN
PRÁCTICA #5
PARTE TEÓRICA:
 TIPO DE DATO ESTRUCTURADO.
 TIPO DE DATO BASE.
 ARREGLO UNIDIMENSIONAL Y BIDIMENSIONAL.
 INTERVALO.
 ÍNDICE.
 DIMENSIÓN DE UN ARREGLO.
 DIFERENCIA ENTRE ELEMENTO Y POSICIÓN EN UN ARREGLO.
 TAMAÑO DE UN ARREGLO.
 DECLARACIÓN DE UN ARREGLO.
PARTE PRÁCTICA:
PARTE I: VECTORES (ARREGLOS UNIDIMENSIONALES)
1. ESCRIBA UN ALGORITMO QUE LLENE UN ARREGLO DE DIMENSIÓN 1 (UNIDIMENSIONAL) DE TAMAÑO N Y
TIPO BASE ENTERO.
2. ESCRIBA UN ALGORITMO QUE MUESTRE LOS ELEMENTOS DE UN ARREGLO DE DIMENSIÓN 1
(UNIDIMENSIONAL) DE TAMAÑO N Y TIPO BASE REAL.
3. DADO UN ARREGLO UNIDIMENSIONAL DE TAMAÑO N Y TIPO BASE ENTERO. DETERMINAR:
 LA SUMA DE LOS ELEMENTOS.
 CANTIDAD DE NÚMEROS PRIMOS.
 CANTIDAD DE NÚMEROS PARES E IMPARES.
4. DADO UN ARREGLO UNIDIMENSIONAL DE TAMAÑO N Y TIPO BASE REAL. DETERMINAR:
 EL ELEMENTO MAYOR Y LA CANTIDAD DE VECES QUE SE REPITE EN EL ARREGLO.
 EL ELEMENTO MENOR Y LA CANTIDAD DE VECES QUE SE REPITE EN EL ARREGLO.
5. DADO UN ARREGLO DE DIMENSIÓN 1, DE TAMAÑO N Y TIPO BASE CARÁCTER, HACER UNA BÚSQUEDA
SECUENCIAL DE UN CARÁCTER X E INDICAR LAS POSICIONES EN QUE APARECE (SI SE ENCUENTRA EN EL
ARREGLO). DE NO ENCONTRARSE EN EL ARREGLO, SE DEBE EMITIR UN MENSAJE.
6. DADO UN ARREGLO DE DIMENSIÓN 1, DE TAMAÑO N Y TIPO BASE ENTERO EL CUAL TIENE SUS ELEMENTOS
ORDENADOS ASCENDENTEMENTE, HACER UNA BÚSQUEDA BINARIA DE UN NÚMERO ENTERO X.
7. DADO UN ARREGLO DE DIMENSIÓN 1, DE TAMAÑO N Y TIPO BASE ENTERO. INVERTIR EL ORDEN DE SUS
ELEMENTOS.
EJEMPLO:
ARREGLO DE ENTRADA:
3 5 1 9
ARREGLO DE SALIDA:
9 1 5 3
JS/JS
SEMESTRE II-2004
19
8. DADO UN ARREGLO DE DIMENSIÓN 1, DE TAMAÑO N Y TIPO BASE LÓGICO. DETERMINAR:
 EL VALOR DE VERDAD RESULTANTE DE LA CONJUNCIÓN (Y LÓGICO) DE TODOS LOS ELEMENTOS.
 EL VALOR DE VERDAD RESULTANTE DE LA DISYUNCIÓN (O LÓGICO) DE TODOS LOS ELEMENTOS.
AYUDA: EN LA CONJUNCIÓN, EL RESULTADO ES VERDAD, SI TODOS LOS VALORES SON VERDAD.
EN LA DISYUNCIÓN, EL RESULTADO ES VERDAD, SI ALGUNO DE LOS VALORES SON VERDAD.
9. GENERAR LAS N PRIMERAS LÍNEAS DEL TRIÁNGULO DE PASCAL.
AYUDA: LA PRIMERA LÍNEA ES 01.
EN CADA LÍNEA, EL PRIMERO Y EL ÚLTIMO SON 01.
LOS RESTOS DE LOS NÚMEROS DE C/LÍNEA SE OBTIENE SUMANDO LOS NÚMEROS DE LA LÍNEA
ANTERIOR, QUE OCUPEN LA MISMA POSICIÓN EN LA COLUMNA ANTERIOR.
EJEMPLO: N= 5
01
01 01
01 02 01
01 03 03 01
01 04 06 04 01
10. DADO UN ARREGLO DE DIMENSIÓN 1, DE TAMAÑO N Y TIPO BASE LÓGICO. DETERMINAR:
A. EL VALOR DE VERDAD RESULTANTE DE LA CONJUNCIÓN (Y LÓGICO) DE TODOS LOS ELEMENTOS.
B. EL VALOR DE VERDAD RESULTANTE DE LA DISJUNCIÓN (O LÓGICO) DE TODOS LOS ELEMENTOS.
AYUDA: EN LA CONJUNCIÓN, EL RESULTADO ES VERDAD, SI TODOS LOS VALORES DE LOS ELEMENTOS
SON VERDAD.
EN LA DISJUNCIÓN, EL RESULTADO ES VERDAD, SI ALGUNO DE LOS VALORES DE LOS
ELEMENTOS ES VERDAD.
PARTE II: MÉTODOS DE ORDENAMIENTO
1. DADO UN ARREGLO UNIDIMENSIONAL DE TAMAÑO N Y TIPO BASE ENTERO ORDENADO ASCENDENTEMENTE.
SE DESEA INSERTAR UN NUEVO ELEMENTO X, DE TAL FORMA QUE EL ORDEN SE CONSERVE.
NOTA: EL ELEMENTO DE LA ÚLTIMA POSICIÓN SE PIERDE.
2. DADO UN ARREGLO UNIDIMENSIONAL DE TAMAÑO N Y TIPO BASE ENTERO. BUSCAR EL ELEMENTO MAYOR E
INSERTARLO EN LA POSICIÓN K (1  K  N).
3. DADO UN ARREGLO UNIDIMENSIONAL DE TAMAÑO N Y TIPO BASE ENTERO. RECORRER DICHO ARREGLO
SECUENCIALMENTE, UNA SOLA VEZ, DE TAL FORMA QUE SI EL VALOR DEL ELEMENTO DE LA POSICIÓN
DONDE ESTÁ ES MENOR QUE EL DE LA POSICIÓN ANTERIOR, SE HACE UN INTERCAMBIO DE VALORES ENTRE
ESTAS POSICIONES.
4. ESTUDIE Y COMPARE A TRAVÉS DE TRAZAS, UTILIZANDO UN MISMO ARREGLO DE PRUEBA, CADA UNO DE
LOS SIGUIENTES PROCEDIMIENTOS PARA ORDENAR ARREGLOS.
ACCIÓN INSERCIÓN DIRECTA (N:ENTERO; VAR A:ARREGLO[1..N] DE ENTERO)
VAR I,J,X:ENTERO
I2
MIENTRAS I  N HACER
X  A[I]
JI-1
MIENTRAS (X < A[J])* Y (J1) HACER
A[J + 1]  A[J]
JS/JS
SEMESTRE II-2004
20
JJ-1
FMIENTRAS
A[J + 1]  X
II+1
FMIENTRAS
FACCIÓN INSERCIÓN
DIRECTA
ACCIÓN SELECCIÓN DIRECTA (N:ENTERO; VAR A:ARREGLO[1..N] DE ENTERO)
VAR I,J,K,X:ENTERO
I1
MIENTRAS (I  N - 1) HACER
KI
X  A[I]
JI+1
MIENTRAS (J  N) HACER
SI (A[J] < X )* ENTONCES
KJ
X  A[J]
A[K]  A[I]
A[I]  X
FSI
JJ+1
FMIENTRAS
II+1
FMIENTRAS
FACCIÓN
SELECCIÓN DIRECTA
ACCIÓN BURBUJA (N:ENTERO; VAR A:ARREGLO[1..N] DE ENTERO)
VAR I,J,X:ENTERO
I2
MIENTRAS (I  N) HACER
JN
MIENTRAS (J  I) HACER
SI (A[J - 1] > A[J])* ENTONCES
X  A[J - 1]
A[J - 1]  A[J]
A[J]  X
FSI
JJ-1
FMIENTRAS
II+1
FMIENTRAS
FACCIÓN
BURBUJA
NOTA: SI EN LAS CONDICIONES MARCADAS CON * SE REEMPLAZA EL “< “ POR UN “>” Y VICEVERSA, EL
ALGORITMO QUE ORIGINALMENTE ORDENABA ASCENDENTEMENTE, LO HARÁ DESCENDENTEMENTE.
PARTE III: MATRICES (ARREGLOS BIDIMENSIONALES)
1. ESCRIBA UN ALGORITMO QUE LLENE UN ARREGLO DE DIMENSIÓN 2 (BIDIMENSIONAL) DE TAMAÑO N*M Y
TIPO BASE ENTERO.
2. ESCRIBA UN ALGORITMO QUE MUESTRE LOS ELEMENTOS DE UN ARREGLO DE DIMENSIÓN 2
(BIDIMENSIONAL) DE TAMAÑO N*M Y TIPO BASE REAL.
JS/JS
SEMESTRE II-2004
21
3. DADO UNA MATRIZ DE TAMAÑO N*M Y TIPO BASE ENTERO. DETERMINAR:
 LA SUMA DE LOS ELEMENTOS DE CADA FILA.
 LA SUMA DE LOS ELEMENTOS DE CADA COLUMNA.
SUGERENCIA: HACER USO DE UN ARREGLO DE TAMAÑO N PARA LAS SUMAS DE LAS FILAS, ASÍ MISMO,
PARA LAS COLUMNAS.
4. DADAS DOS MATRICES A Y B DE TAMAÑO N*M Y TIPO BASE ENTERO. GENERAR OTRA MATRIZ S QUE
CONTENGA LA SUMA DE A Y B.
AYUDA: SIJ = AIJ + BIJ
I,J; I=1..N; J=1..M
5. DADAS DOS MATRICES A Y B DE TAMAÑO N*N Y TIPO BASE ENTERO. GENERAR OTRA MATRIZ P QUE
CONTENGA EL PRODUCTO DE A Y B.
AYUDA: PIJ =  1  K N AIK * BKJ
I,J; I,J=1..N
6. DADA UNA MATRIZ A DE TAMAÑO N*M Y TIPO BASE REAL. GENERAR OTRA MATRIZ T, DE TAMAÑO M*N
QUE CONTENGA LA TRASPUESTA DE A.
7. DADA UNA MATRIZ A DE TAMAÑO N*N Y TIPO BASE REAL. DETERMINAR SI DICHA MATRIZ ES:
 DIAGONAL.
 TRIANGULAR SUPERIOR.
 TRIANGULAR INFERIOR.
EJERCICIOS ADICIONALES
1. Dado un arreglo cuyos elementos son enteros, y un entero K, obtenga el arreglo
resultante de realizar K desplazamientos circulares sobre el arreglo de entrada. Los
desplazamientos serán a la derecha si K es mayor que 0 y a la izquierda en caso
contrario.
2. Calcular la Desviación Estándar (DE) de los elementos de un arreglo de enteros,
sabiendo que DS se define como:
DE 
(X
i
 m) 2
n 1
y
m
X
i
n
Donde Xi son los elementos del arreglo y n la cantidad de elementos del arreglo.
3. Elabore un algoritmo que realice el recorrido de una matriz según el esquema:
c) matriz de NxM
d) matriz de NxN
JS/JS
SEMESTRE II-2004
22
UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
INTRODUCCIÓN A LA COMPUTACIÓN
PRÁCTICA #6
PARTE TEÓRICA:
 TIPO DE DATO ESTRUCTURADO HETEROGÉNEO.
 REGISTRO.
 CAMPO DE UN REGISTRO.
 ARCHIVO.
 ARCHIVOS DE REGISTROS.
PARTE PRÁCTICA:
1. SE DESEA ALMACENAR TODA LA INFORMACIÓN SOBRE LOS ESTUDIANTES DE INTRODUCCIÓN A LA
COMPUTACIÓN.
DEFINA LA ESTRUCTURA DE DATOS MÁS CONVENIENTE PARA ORGANIZAR Y MANEJAR ESTA INFORMACIÓN.
2. DADA LA SIGUIENTE ESPECIFICACIÓN:
TIPO
ASIGNACION = REGISTRO
TRANSPORTE : REAL
COMIDA
: REAL
VACACIONES : REAL
FREGISTRO
DEDUCCION = REGISTRO
SEGURO: REAL
AH
FREGISTRO
EMPLEADO =
: REAL
REGISTRO
: ENTERO
: LÓGICO
:CARÁCTER
CÓDIGO
ACTIVO
SEXO
SUELDO_HORA: REAL
HORAS_TRAB
AS
DE
: REAL
: ASIGNACIÓN
: DEDUCCION
FREGISTRO
REALICE UN ALGORITMO QUE PERMITA:
A) DECLARAR UNA VARIABLE DE TIPO EMPLEADO.
B) INICIALIZAR CADA CAMPO DEL REGISTRO.
C) CALCULAR EL SUELDO DE UN EMPLEADO ACTIVO. DADO QUE:
ST = (SH * HT) + A - D
SIENDO: ST= SUELDO TOTAL, SH = SUELDO POR HORAS, HT = HORAS TRABAJADAS, A
ASIGNACIONES, D = DEDUCCIONES
=
JS/JS
SEMESTRE II-2004
23
5. LA EMPRESA "ABC" DESEA LLEVAR UN CONTROL DE TODOS LOS DEPARTAMENTOS QUE EN ELLA
FUNCIONAN. PARA ELLO CUENTA CON LA SIGUIENTE INFORMACIÓN DE SUS EMPLEADOS: NÚMERO DEL
EMPLEADO, DEPARTAMENTO EN EL CUAL TRABAJA, SEXO, ESTADO CIVIL, ANTIGÜEDAD, SUELDO Y CARGA
FAMILIAR: DENTRO DE ÉSTA RAMA, SE CUENTA CON: NÚMERO DE HIJOS, NÚMERO DE OTRAS PERSONAS
(TÍOS, ABUELOS, ETC.), GASTOS GENERALES. DEFINA LA ESTRUCTURA PARA SOPORTAR LA INFORMACIÓN
DE LOS EMPLEADOS.
6. PARA LA ESTRUCTURA DEL EJERCICIO ANTERIOR, DEFINA UN PROCEDIMIENTO O FUNCIÓN QUE PERMITA
LLENAR LA ESTRUCTURA.
7. UN ARCHIVO DE REGISTROS CONTIENE LA DESCRIPCIÓN DE PERSONAS A EFECTOS ESTADÍSTICOS. CADA
REGISTRO TIENE LOS CAMPOS: NOMBRE, EDAD, SEXO, ALTURA, COLOR DE PIEL, COLOR DE OJOS,
NACIONALIDAD Y REGIÓN. ESCRIBIR UN ALGORITMO QUE LEA Y ALMACENE DATOS DENTRO DE ESTE
ARCHIVO.
8. EL CENTRO DE ESTUDIANTES DE LA FACULTAD DE CIENCIAS, DECIDE PASAR UNA ENCUESTA A LOS
ESTUDIANTES A FIN DE DETERMINAR SUS PREFERENCIAS EN CIERTAS ACTIVIDADES:

ACTIVIDAD CULTURAL: TEATRO, CINE, LITERATURA, TÍTERES.
 ACTIVIDAD DEPORTIVA: BASEBALL, FÚTBOL, PING PONG, AJEDREZ, ATLETISMO, GIMNASIA.
 ACTIVIDAD MUSICAL:
CUATRO, GUITARRA, PIANO, FLAUTA, ARPA, VIOLÍN, BAJO,
ACORDEÓN, MARACAS.
CADA ESTUDIANTE DEBE INDICAR:

SUS PREFERENCIAS.

CANTIDAD DE HORAS QUE DEDICA A CADA ACTIVIDAD.
 NIVEL DE PRÁCTICA DE CADA ACTIVIDAD: PROFESIONAL, AVANZADO, MEDIO Y
AFICIONADO.

DEFINA UN ARCHIVO QUE SOPORTE LA INFORMACIÓN REQUERIDA.
9. EL DIRECTOR DE UN COLEGIO DESEA QUE USTED REALICE UN ALGORITMO QUE PROCESE UN ARCHIVO DE
REGISTROS CORRESPONDIENTES A LOS DIFERENTES ALUMNOS DEL COLEGIO A FIN DE OBTENER LA
SIGUIENTE INFORMACIÓN:




PROMEDIO DE NOTAS DE CADA ALUMNO
PROMEDIO DE NOTAS DE CADA CURSO
PROMEDIO DE NOTAS DEL COLEGIO.
POR CADA ALUMNO SE CONOCE:
CURSO AL QUE PERTENECE
NOTAS OBTENIDAS EN EL CURSO.
NOTA: DEFINA EL FORMATO DE LOS REGISTROS DEL ARCHIVO Y SU ORDEN, ANTES DE RESOLVER EL
PROBLEMA.
10. ESCRIBIR LA DECLARACIÓN DE UN REGISTRO CUYA ESTRUCTURA ES:
JS/JS
SEMESTRE II-2004
24
PROGRAMADOR
DATOS PERSONALES
NOMBRE
CI
SEXO
FECHA DE NACIMIENTO
DIRECCIÓN
DIA
MES
AÑO
CALLE
CIUDAD
URBANIZACIÓN
ESTADO
EDO. CIVIL
EJERCICIOS ADICIONALES
1. Dado un archivo PERSONAS el cual posee la siguiente información para cada una de las
personas: cédula de identidad, nombre, fecha de nacimiento, hora de nacimiento (hora
militar), signo natal, signo ascendente. Estos dos últimos campos están vacíos. Se quiere
calcular por persona, cual es su signo natal y su signo ascendente. Para conocer su signo
ascendente, debe conocer primero su signo natal y a partir de este y de la hora de
nacimiento calcular un desplazamiento, con base a la siguiente relación:
Una persona nacida bajo el signo X, quiere decir que el sol se encontraba en ese signo a
las 6:00 AM, a partir de allí, cada dos horas comienzan los signos ascendentes a avanzar
según la siguiente tabla:
Periodo
21/03 al 20/04
21/04 al 20/05
21/05 al 20/06
21/06 al 22/07
23/07 al 23/08
24/08 al 23/09
24/09 al 23/10
24/10 al 23/11
24/11 al 22/12
23/12 al 20/01
21/01 al 19/02
20/02 al 20/03
Signo
Aries
Tauro
Géminis
Cáncer
Leo
Virgo
Libra
Escorpio
Sagitario
Capricornio
Acuario
Piscis
EJEMPLO: Si eres signo Libra y naciste a las 11:00 AM, tu signo ascendente es Sagitario
06:00 AM – 08:00
AM
08:00 AM – 10:00
AM
10:00 AM – 12:00
PM
Libra
Signo Natal
Escorpio
Sagitario
Signo Ascendente
Se quiere que elabore un algoritmo el cual dado el archivo de PERSONAS, actualice por
cada persona los campos de signo natal y signo ascendente.
JS/JS
SEMESTRE II-2004
25
JS/JS
SEMESTRE II-2004