Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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)
2
SEMESTRE II-2004
JS/JS
SEMESTRE II-2004
3
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 B) INICIO
LEER(A) LEER(X)
LEER(B) LEER(Y)
A A+ B X1 X * X
BA–B Y1 Y * Y
AA–B D (X1*Y1)**(1/2)
ESCRIBIR (A) ESCRIBIR ( D)
ESCRIBIR ( B) FIN
FIN
VARIABLES INVOLUCRADAS
JS/JS
SEMESTRE II-2004
4
3.- INVESTIGUE QUÉ OPERACIÓN REALIZAN LOS SIGUIENTES OPERADORES: DIV, MOD.
PARTE II
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.
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.
JS/JS
SEMESTRE II-2004
5
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.
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.
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.
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 ESY=(M1*X)+B1 Y L2 ES Y=(M2*X)+B2. DETERMINAR EL PUNTO DE
INTERSECCIÓN ENTRE LAS RECTAS.
9. DADOS 2 VALORES REALESX1, 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.
JS/JS
SEMESTRE II-2004
6
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 = 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:
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
7
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)
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.
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.
JS/JS
SEMESTRE II-2004
8
X SI X > 0
MODULO(X) = 0 SI X=0
-X SI X < 0
X2 SI X>0
F(X) = 0 SIX=0
X3 SI X < 0
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
AB
BA
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
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.
JS/JS
SEMESTRE II-2004
9
AÑO = 1996
ES VERDAD QUE EL AÑO 1996 ES BISIESTO.
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
2.Dados seis (6) pares ordenados pertenecientes al plano cartesiano, determine si éstos
forman la siguiente figura en la posición mostrada:
F B
E C
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:
JS/JS
SEMESTRE II-2004
10
las piernas en el brazo del sofá. Este es un punto muy importante porque a
ambos les gusta leer poemas en esa posición.
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).
JS/JS
SEMESTRE II-2004
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:
2. DADA UNA SECUENCIA DE CARACTERES ALFABÉTICOS FINALIZADA EN ‘*’. INDICAR CUANTAS VOCALES
HAY.
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:
N N M N M
A) (1/IR) B) (I/J) C) (I*J)
I=1 I=1 J=1 I=1 J=1
M N M N M
A) I B) (I+J) C) I/(J*(J-1))
I=1 I=1 J=1 I=1 J=2
N M
D) ((I+M) (J+I))
I=1 J=1
N M
(I+J) SI N>M
I=1 J=1
M I
(I+M)*( (J+I) ) SI N M
I=1 J=1
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
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
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
EJERCICIOS ADICIONALES
1. Dada una secuencia de caracteres terminada en punto (.), elabore un algoritmo para
resolver cada uno de los siguientes problemas:
Primer carácter: E
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.
EJEMPLO:
Nro. Dado Nro. Resultante
34524 52434
78431 31784
28431 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.
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:
AYUDA: 1 SI N=0
F(N)=
N*(N-1)*(N-2)*...*1 SI N0
AYUDA: 0 SI N=0
F(N)= 1 SI N=1
F(N-1) + F(N-2) SI N>1
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.
INICIO
LEER(A); LEER( B ); LEER(C)
ESCRIBIR (A,B,C)
PROC1(A,B,C)
ESCRIBIR(A,B,C)
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) ACCIÓN PROC2(X: ENTERO; VAR Y: ENTERO; Z:
ENTERO)
VARS: ENTERO VAR T: ENTERO
SC+A TX+Y
SELECCIÓN SELECCIÓN
S>10: B B + C T=0: Z X + Y
S10: B B +A T0: Z Y + Z
FSELECCIÓN FSELECCIÓN
ESCRIBIR (A,B,C) E SCRIBIR (X,Y,Z)
FACCIÓN PROC1 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:
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 PSEUDOFORMAL NO DISPONE DEL OPERADOR DE POTENCIACIÓN “**” Y EN C++ NO
QUE EN
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.
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:
NÚMERO LOG
10 1
11 1,0414
12 1,0792
13 1,1139
14 1,1461
15 1,1761
16 1,2041
17 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.
EJEMPLO:
Cédula = 368941 1 + 4 + 9 + 8 + 6 + 3 = 31 31 mod 10 = 1
Clave Definitiva = 1491863
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
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:
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 DEENTRADA:
3 5 1 9
ARREGLO DE SALIDA:
9 1 5 3
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.
EJEMPLO: N= 5
01
01 01
01 02 01
01 03 03 01
01 04 06 04 01
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
I2
MIENTRAS I N HACER
X A[I]
JI-1
MIENTRAS (X < A[J])* Y (J1) HACER
A[J + 1] A[J]
JJ-1
FMIENTRAS
A[J + 1] X
II+1
FMIENTRAS
FACCIÓN INSERCIÓN DIRECTA
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.
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.
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.
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
DE
(X i m) 2
y m
X i
n 1 n
Donde Xi son los elementos del arreglo y n la cantidad de elementos del arreglo.
PRÁCTICA #6
PARTE TEÓRICA:
TIPO DE DATO ESTRUCTURADO HETEROGÉNEO.
REGISTRO.
CAMPO DE UN REGISTRO.
ARCHIVO.
ARCHIVOS DE REGISTROS.
PARTE PRÁCTICA:
TIPO
ASIGNACION = REGISTRO
TRANSPORTE : REAL
COMIDA : REAL
VACACIONES : REAL
FREGISTRO
DEDUCCION = REGISTRO
SEGURO: REAL
AH : REAL
FREGISTRO
EMPLEADO = REGISTRO
CÓDIGO : ENTERO
ACTIVO : LÓGICO
SEXO :CARÁCTER
SUELDO_HORA: REAL
HORAS_TRAB : REAL
AS : ASIGNACIÓN
DE : DEDUCCION
FREGISTRO
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.
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.
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 Signo
21/03 al 20/04 Aries
21/04 al 20/05 Tauro
21/05 al 20/06 Géminis
21/06 al 22/07 Cáncer
23/07 al 23/08 Leo
24/08 al 23/09 Virgo
24/09 al 23/10 Libra
24/10 al 23/11 Escorpio
24/11 al 22/12 Sagitario
23/12 al 20/01 Capricornio
21/01 al 19/02 Acuario
20/02 al 20/03 Piscis
EJEMPLO: Si eres signo Libra y naciste a las 11:00 AM, tu signo ascendente es Sagitario
Signo Natal
06:00 AM – 08:00 Libra
AM
08:00 AM – 10:00 Escorpio
AM
10:00 AM – 12:00 Sagitario
PM
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.