Está en la página 1de 19

Universidad Industrial de Santander

Profesor Luis Alberto Esteban Villamizar


Licenciado en Matemáticas y Computación
Magister en Informática

Ejercicios de repaso para algoritmos representados mediante diagramas de flujo.

Para cada uno de los siguientes enunciados, hacer el análisis, el diseño y la prueba de escritorio
correspondiente.

• Hacer un algoritmo que lea una mediada de temperatura en grados centígrados y devuelva sus
equivalentes en grados F y grados K
• Escriba un algoritmo que, dadas tres coordenadas de un plano cartesiano, diga si forman un
triángulo o no y en caso afirmativo, calcular el perímetro.
• Diseñe un algoritmo para determinar si un número entero, N, es primo o no.
Hallar las soluciones de una ecuación cuadrática, incluyendo las soluciones imaginarias. Ax2 +Bx +
C=0
• Hallar la suma de los primeros N números enteros.
• Hallar las primeras 100 potencias de 2
• Calcular la suma de los dígitos de un número entero de 10 cifras. Por ejemplo el para el número
1232122112 el se deben sumar los dígitos 1+2+3+2+1+2+2+1+1+2 y da como resultado 17.
• Leer un número entero positivo y decir si es par o impar;
• Calcular la suma de los primeros 100 números pares.
• Encontrar todos los divisores impares (solamente) de un número dado.
• Sumar 100 números introducidos por teclado.
• Leer 100 números Enteros positivos, por teclado, y sumar los impares.
• Hallar el promedio de los primeros 100 números impares.
• Hallar la suma de los divisores de un número entero positivo dado.
• Hallar el saldo en el mes número 27, de una cuenta de ahorros que liquida sus intereses
mensualmente a una razón del 3% sobre el saldo acumulado, dado un capital inicial.
• Obtener la suma de los cuadrados de 100 números dados por teclado.
• En una empresa manufacturera, con N empleados, el jornal de cada obrero es calculado de
acuerdo a un salario base por hora más una bonificación del 10% sobre el valor de la hora por
cada unidad extra producida sobre un mínimo que debe entregar durante el día.
El registro por cada obrero es así:

Codigo obrero salario base por hora producción mínima día producción día

Calcular el pago por día para cada empleado, teniendo en cuenta que si el obrero no cubre la
producción mínima del día entonces el jornal es equivalente al salario básico por hora, multiplicado
por 8.
A cada uno de los empleados se le hace una retención del 3% sobre el salario.
Calcular el total de la nómina, el total de retenciones, el salario promedio.

• Un almacén liquida a sus empleados, de acuerdo a las ventas, a un salario básico y a un


descuento para el seguro, así:
Todos tienen un salario básico igual al mínimo reglamentado.
Tienen una bonificación del 7% sobre las ventas, si dichas ventas superan los $300.000.oo pero son
menores de $1.000.000.oo; si superan el millon de pesos la bonificación corresponde al 10% sobre
las ventas.
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática
Para el seguro, se le descuenta el 5% del salario (incluida las bonificaciones por ventas), si dicho
salario es menor que $200.000.oo; en caso contrario se le descuenta el 8%.

Haga un algoritmo que liquide el salario de todos los empleados del almacén, sabiendo que todos
están identificados por un código y que no existe ningún empleado con código 0.

• Sea F una función de los reales en los reales, definida por

x si x < −5
f ( x ) = x + 3 si − 5 ≤ x ≤ 5
x 2 − 2 si x >5
Haga un algoritmo que lea un X y calcule el F(x).

• Escriba un programa que lea las notas de un curso y escriba el promedio


a Resuelva el problema para un curso de exactamente 50 alumnos.
b Resuelva el problema general para cualquier curso; donde el profesor indique el numero de
alumnos que tiene en su grupo.
c Resuelva el problema más general para el caso en que el profesor no sabe cuántos alumnos tiene
y en el cual cada alumno tenga un número no determinado de notas con las cuales se obtiene la
definitiva. Utilice como convención para determinar el número de notas del alumno un número
que no este en el rango de notas válidas y para determinar el numero de alumnos utilice el
código cero.
• Se dice que un número N es número perfecto si la suma de sus divisores propios es igual
a el mismo.
El conjunto de divisores propios de un número N, está formado por todos sus divisores,
Excepto él mismo. Ejs, los divisores propios de 9 son 1 y 3. Los divisores propios de 6
son 1,2 y 3.
Por lo tanto 6 es un número perfecto porque la suma de sus divisores propios 1 + 2 +3 es
igual a él mismo (a 6). Y 9 no es perfecto.
a Hacer un algoritmo que lea un número y diga si es perfecto o no.
b Hacer un algoritmo que halle todos los números perfectos menores que un número
dado.
• Las muy conocidas series de Taylor se definen por medio de sumatorias.
para el seno...
x3 x5 x7 x 2 k +1
Seno ( X ) = x − + − +...+( −1) k +.....
3! 5! 7! (2 k + 1)!
utilizando notación de sumatoria sería :
15
x 2 k +1
Seno ( x ) = ∑( −1) k

k =0 ( 2 k + 1)!
Para el coseno
x2 x4 x6 x 2k
Cos ( X ) = 1 − + − +...+( −1) k +.....
2! 4! 6! 2k !
Utilizando notación de sumatoria sería :
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática
15
x 2k
Cos ( x ) = ∑( −1) k
k =0 ( 2 k )!
Para el exponencial
x2 x3 x4
ex = 1+ x + + + +....
2 ! 3! 4!
Utilizando notación de sumatoria

xi
ex = ∑
i =1 i !
Hacer un algoritmo que lea un X y calcule Seno(x), Cos(x) y ex , utilizando las series de
Taylor descritas anteriormente.

• El número de combinaciones de m elementos tomados de n en n esta determinado por


m m!
 =
 n  n!( m − n)
Haga un algoritmo que lea dos números M y N y calcule la combinatoria m,n.
Recordar que n y m son positivos y que si n es mayor que m la combinatoria es cero.

• Hacer el análisis y diseño de un algoritmo que lea un número N y halle el promedio de


sus divisores.
Ej: Dado el Número 6, sus divisores son 1,2,3 y 6; por lo tanto el promedio de los
divisores de 6 es igual a 3
• Hacer el análisis y diseño de un algoritmo que dado un X y un N calcule la siguiente
sumatoria

N
( x − 1) 2 k

k =1
( −1) k

( k − 1)!

• Sea la serie:
1, 4, 2, 8, 4, 16, 8, ......
Determinada por
a1=1
a2= 22 / a1 = 4
a3= 23 / a2 = 2
a4 = 24 / a3 = 8
.....
ak= 2k / ak-1

Hacer el análisis y diseño de un algoritmo que calcule los N primeros términos de esta
serie.

• Escriba un algoritmo que dado un número entero


Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

1
c calcule
n!
d Determinar si n es un número factorial (es decir si existe un k tal que n=k!)
• Manolito tiene una cuenta de ahorros en la corporación SINFONDOS. Esta corporación
otorga a sus ahorradores un interés mensual y un interés anual sobre el saldo del
momento. Determinar a partir del saldo de la cuenta, del interés mensual y del interés
anual, los ahorros que tendrá Manolito despúes de un número determinado de meses
(dado por pantalla), si él no retira ni deposita dinero en ese tiempo.
• La primitiva población de OSCANDIA se rige por un modelo macroeconómico
particular de oferta y Demanda para su producto básico: el OSCAO. En este modelo el
precio del producto, su oferta y su demanda en un periodo i-esimo, están dados en
función de los datos de ese periodo y del periodo anterior por las siguientes fórmulas:
sea:
Pi = Precio en el periodo i-esimo
Oi = Oferta en el periodo i-esimo
di = Demanda en el periodo i-esimo
d
Pi = Pi −1 * i −1
Oi −1
Pi −1
Oi = * ( 0.9 * Oi −1 + 01
. * d i −1 )
Pi
Pi −1
d i = d i −1 * + Ratacrec
Pi
Donde Ratacrec es un valor constante igual a 100.
Haga un algoritmo que reciba el precio, la oferta y la demanda del OSCAO en un periodo
inicial (i=0) y calcule y presente el precio, la oferta y la demanda en cada uno de los 24
periodos siguientes.
Se debe indicar en cada periodo si la oferta supera la demanda, si la demanda a la oferta o si
están en equilibrio
• Escriba un algoritmo que calcule los vueltos de una compra de $X, utilizando
billetes de $100, $200, $500, $1000, $2000, $5000 y $10000.
El algoritmo debe minimizar el número de billetes devueltos.
• El método de Newton-Raphson para calcular una raíz cuadrada de un número X,
parte de un número inicial r a partir del cual se van calculando aproximaciones cada
vez mas exactas a la solucón. Para calcular la aproximación (i+1)-esima se usa la
anterior (la i-esima) y se aplica la formula
x
ri +
ri
ri +1 =
2
El proceso termina cuando el valor absoluto de la diferencia entre dos aproximaciones
consecutivas es menor que un margen de error permitido (el cual debe ser suficientemente
pequeño).
Escriba un programa que lea un número entero positivo X y calcule, por este método, su
raíz cuadrada, con un margen de error de 0.0000001, partiendo de un valor inicial ro=1.
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

• El vendedor de una compañía de electrodomésticos desea llevar un cálculo de las


ganancias obtenidas por las ventas del mes. Los artículos con costo menor a $5000, le
reportan una ganancia del 15%, para los artículos con un valor entre $5000 y $12000
(inclusive), obtienen una ganancia del 20%, y los artículos que valen más de $12000 le
dejan un 30% de ganancia. Sabiendo que cada artículo tiene un código, un nombre,
un precio y que ningún articulo tiene por código 0(cero), haga un algoritmo que de
acuerdo al número y costo de artículos vendidos en el mes, obtenga las ganancias.
• Escriba un algoritmo que calcule el n-ésimo término de la serie de Fibonacci,
determinada por:
a1=1
a2=1
a3=2
...
an=an-1 + an-2
• Haga un algoritmo que genere los primeros 500 números de la secuencia 0, 1, 1, 5,
18,.. La cual está determinada por la fórmula:
s0=0
s1=1
s2=1
....
sn= 3*sn-1 + 2* sn-2 + sn-3

• Para cada uno de los siguientes problemas, escriba un algoritmo que lea un vector
de enteros y devuelva:
e El elemento menor del arreglo.
f El elemento mayor del arreglo.
g El elemento mayor y menor de un arreglo, junto con las posiciones donde se
encuentran.
h La suma de todos los elementos del vector.
i El promedio de los elementos.

• Escriba un algoritmo que:


a lea 30 caracteres en un vector
b lea 30 caracteres y guarde en un vector los que sean diferentes del carácter ‘9’.
c Guarde 30 caracteres en un vector y luego elimine los caracteres ‘9’ y compacte el
vector. (sin usar un vector auxiliar).

• Escriba un algoritmo que elimine los elementos repetidos que se encuentran seguidos en
un vector. Por ejemplo el vector 1,2,2,2,3,4,3,3,1,1,1 quedaría 1,2,3,4,3,1.
• Escriba un algoritmo que encuentre la máxima diferencia absoluta entre dos elementos
consecutivos de un vector de enteros e indique las dos posiciones de vector entre las que
se encontró esta diferencia.
• Enséñele al computador el juego del ahorcado (adivinar palabras).
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

Inicialmente el una persona(el programador), le da una palabra de N letras al programa.


Luego le sede el turno a un jugador. Este debe tratar de adivinar la palabra y para ello
teclea N letras. Si esa no es la palabra, el computador le dice al jugador cuántas letras
adivinó. (solo aquellas que estén en la posición correcta).
El juego debe continuar hasta adivinar la palabra.
Al final el computador le informa cuantos intentos realizó.
• Hacer un algoritmo que lea dos vectores A y B de tamaño n y m respectivamente.
a ordene ascendentemente los vectores A y B
b Llene un tercer vector C de n + m posiciones con todos los elementos de A y de B en
orden.
c Resuelva el problema anterior sin repetir los elementos.
d Construya un vector C con los elementos que están tanto en A como en B

• En un censo de población se registra el nombre, el sexo y la edad de cada persona.


Escriba un algoritmo que:
a Imprima en pantalla el nombre de todos los hombres.
b Imprima en pantalla el nombre de todos los hombres mayores de 30 años.
c Imprima en pantalla el nombre de todos los mujeres menores de 18 años.
d Imprima la edad promedio de todas las personas.
e Imprima en pantalla el nombre de la mujer más joven.
f Imprima en pantalla el nombre del hombre más joven.

• Escriba un programa que lea un texto (una cadena de caracteres) y:


a Elimine los caracteres blancos repetidos.
b Cuente el número de palabras del texto.
c Cuente cuantas palabras en el arreglo terminan en ’de’.

• Escriba un programa que lea un texto (secuencia de caracteres) hasta encontrar un punto
(.) y diga cuánto mide la palabra más larga del texto. Nota: Supóngase que el texto, está
formado únicamente por palabras (no tiene más signos de puntuación que el punto final)
y que cada palabra está separada de la siguiente por un solo espacio en blanco(‘ ‘).
• Represente un polinomio por medio de un vector, guardando el coeficiente de cada una
de las potencia en el sitio subindicado por la potencia. Por ejemplo:
El polinomio 7x4 + 5x2 - 8x + 2 corresponde al vector de 5 posiciones (0 a la 4),
2, -8, 5, 0, 7.
Escriba un algoritmo que lea los coeficientes de un polinómio y un punto X (real) y evalúe
el polinomio en dicho punto.
• Usando la representación para polinomios, planteada anteriormente, encuentre el vector
que represente el polinomio de la deriva correspondiente a un polinomio dado y evalúe
dicha derivada en un punto X.
a Haga un algoritmo que dado un número entero decimal, lo convierta a binario
b Dados dos números decimales, los convierta a binario y los sume en binario.

Ejercicios primer previo


Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

1 Defina los 5 principales componentes funcionales del computador y haga un cuadro
estructurativo.
2 Transforme a binario 57. Transforme a base 10, el numero 101110 que está en base 2.
3 DOS: Defina Brevemente (no más de dos líneas): Directorio, Archivo, Comando, Path,
Comodín
Cuales son las ordenes secuenciales necesarios para crear la siguiente estructura de
directorios en el disco que se encuentra en la unidad A:
A

F is i c o m e c a nH i uc am a n i d a d e Ss a l u d

S i s t e m a s C i v i l M e d i c in a F i s io t e r a p i a

I n g e n ie r i a d e l s o f t w a r e
C I D L I S
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

Segundo Previo
Código __________Apellidos
________________________Nombres________________________
⇒ Defina: Expresión, clases de expresiones, Análisis, Diseño.
(Valor 1 pto)
Haga el análisis y construya el algoritmo representado mediante diagrama de flujo para
solucionar los siguiente problema
⇒ Se dice que un número N es número perfecto si la suma de sus divisores propios es igual
a el mismo.
El conjunto de divisores propios de un número N, está formado por todos sus divisores,
Excepto él mismo. Ejs, los divisores propios de 9 son 1 y 3. Los divisores propios de 6
son 1,2 y 3.
Por lo tanto 6 es un número perfecto porque la suma de sus divisores propios 1 + 2 +3 es
igual a él mismo (a 6).
Hacer un algoritmo que lea un número y diga si es perfecto o no.
(Valor 2 pto)

⇒ Se dice que dos número N y M son números amigos si la suma de los divisores propios
de N da como resultado M y al mismo tiempo la suma de los divisores propios de M da
como resultado N.
El conjunto de divisores propios de un número N, está formado por todos sus divisores,
Excepto él mismo. Ejemplo
Los divisores propios de 284 son 1,2,4,71 y 142 ; su suma resulta igual a 220.
Los divisores propios de 220 son 1,2,4,5,10,11,20,22,44,55 y 110; su suma resulta igual
a 284.
Por lo tanto 284 y 220 son números amigos.
Hacer un algoritmo que lea dos número (N,M) y diga si son amigos o no.
(Valor 2ptos).
⇒ Sea la función definida de los enteros positivos en los enteros positivos, definida como

ex si x <5
f ( x ) = x + 3 si 5 ≤ x ≤ 25
x 2 − 2 si x > 25

sabiendo que ex se puede calcular mediante series de taylor asi:


x2 x3 x4
ex = 1+ x + + + +....
2 ! 3! 4!
Utilizando notación de sumatoria

xi
ex = ∑
i =1 i !
Hacer un algoritmo que lea un X entero y calcule f(x) , utilizando la función definida y la
serie de Taylor descrita anteriormente.
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

⇒ Hallar el cociente del promedio de los divisores pares y el promedio de los divisores
impares de un número entero positivo dado.

Promedio de divisores pares


Rta= -------------------------------------
Promedio de divisores impares

1. Sea la serie:
1, 4, 2, 8, 4, 16, 8, ......
Determinada por
a1=1
a2= 22 / a1 = 4
a3= 23 / a2 = 2
a4 = 24 / a3 = 8
.....
ak= 2k / ak-1

Hacer el análisis y diseño de un algoritmo que calcule los N primeros términos de esta
serie.
(Valor 2.5 ptos)

2 Hacer el análisis y diseño de un algoritmo que lea dos números N y M. Si N<M, hallar
el promedio de todos los números primos que se encuentren en el intervalo [N,M].
Si N >= M mostrar un mensaje advirtiendo el intervalo inválido.
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

Tercer Previo

1. (Valor 1pto)
Defina:
• Estructura de Datos
• Arreglo bidimensional
• Registro
• ¿ Cual es la estructura general de un programa en pascal ?.
• Escriba la sección de declaraciones de un programa en pascal que necesita tres matrices de máximo 10
filas y 13 columnas.

Nota: Para los ejercicios 2 y 3, hay que representar el algoritmo en Pascal y tendrán como valor 2 ptos. Si
por algún motivo no los puede hacer en pascal, représentelos en diagramas de flujo y cada uno tendrá un valor
de 1.7 ptos

2. Hacer un algoritmo que lea un vector de N datos y encuentre el dato que más se repita.

3. Hacer un algoritmo que lea un Arreglo unidimensional D de N datos y que guarde en un arreglo A todos
los pares, en un arreglo B todos los Impares y en un arreglo C todos los mayores que 10.
Al final el algoritmo debe mostrar los elementos de cada uno de los vectores A, B y C respectivamente.
/'^'\
(oo)
---o000--(_)--000o-------------------------
(Suerte)
1. Se desea Construir un programa para procesar las notas de un grupo de estudiantes.
Sabiendo que:
Cada estudiante posee un código diferente de cero, dos notas parciales que están entre 0 y 5
(no debe permitir otras notas), inicialmente no conocemos el numero de alumnos que posee
el curso.

Utilizando arreglos unidimensionales y/o bidimensionales hacer el programa en pascal para


hallar la definitiva de cada alumno y al final decir cuantos pasaron y cuantos perdieron.

2 Uno de los problemas en los computadores es operar números enteros con gran cantidad
de dígitos por ejemplo (100 dígitos o más). Podemos simular la representación de estos
números enteros mediante el uso de arreglos donde cada casilla del arreglo representa un
dígito y de igual forma podemos simular la suma de estos enteros.

Hacer un programa en pascal para que lea dos arreglos Ay B de tamaño n, en cada casilla
solo admitir un número entero entre 0 y 9 y sumarlos en un tercer arreglo C de acuerdo a
las reglas de la suma de enteros, como se ilustra en la figura

n … 10 9 8 7 6 5 4 3 2 1
A 4 5 6 7 5 4 3 5 6 4 6 3

B 9 5 6 5 4 3 9 3 4 3 5 3
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

C 1 4 1 3 2 9 8 2 9 0 8 1 6

Nota:
Aunque el arreglo esta numerado de derecha a izquierda sigue siendo lo mismo

• Haga un algoritmo que lea dos Arreglos A y B de tamaño n y m respectivamente y


genere un arreglo C con todos los datos que están en A pero que no están en B.

Por ejemplo si los arreglos A y B contienen los siguientes datos:


A 1 4 7 3 2
y
B 4 5 6 7 5 4
Entonces el arreglo C quedará conformado por los siguientes datos:
C 1 3 2

• Haga un algoritmo que lea un arreglo A de n posiciones y elimine los datos repetidos.
Por ejemplo el arreglo A contiene los siguientes datos:
A 1 4 1 3 2 1 5 3 3 2 7 4 1
Al final del proceso el arreglo A quedará:
A 1 4 3 2 5 7
• Haga un algoritmo que lea dos Arreglos A y B de tamaño n y m respectivamente y
genere un arreglo C con todos los datos que están en A y que también están en B. (con
los comunes de los dos arreglos)

Por ejemplo si los arreglos A y B contienen los siguientes datos:


A 1 4 7 3 2
y
B 4 5 6 7 5 4
Entonces el arreglo C quedará conformado por los siguientes datos:
C 4 7
• Haga un algoritmo que lea dos Arreglos A y B de tamaño n y m respectivamente y
genere un arreglo C con todos los datos que no son comunes a A y B.

Por ejemplo si los arreglos A y B contienen los siguientes datos:


A 1 4 7 3 2
y
B 4 5 6 7 9 8
Entonces el arreglo C quedará conformado por los siguientes datos:
C 1 3 2 5 6 9 8
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática
Código:___________ Apellidos________________________Nombre_________________________

1 Leer una matriz A de 2 filas y n columnas. En un vector C guardar lo elementos de A que se encuentran
tanto en la fila 1 como en la fila 2 (los elementos comunes en las dos filas).
Ejemplo:
Si la matriz A es:
1 6 2 4 2 3 1
2 5 7 8 9 3 6

El vector resultante C es:


2 3 6

1 Leer un Vector A de n datos y elimine los elementos que sean primos.


Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática
Código:___________ Apellidos________________________Nombre_________________________

1 Leer una matriz A de n filas y n columnas (una matriz cuadrada). Intercambiar la primera fila con la
última, la segunda fila con la penúltima y asi sucesivamente.
Ejemplo:
Si la matriz A es:
1 6 2 4
2 5 7 8
3 4 5 6
3 6 5 3

El resultado del algoritmo debe ser la misma matriz A pero así


3 6 5 3
3 4 5 6
2 5 7 8
1 6 2 4

1 Leer un Vector A de n datos y un vector B de m datos. Construya un vector C con los datos que se
encuentran en A pero que no están en B.
Ejemplo

A 7 6 5 2 4 2 9 3

B 2 3 3 2 3 5 6

C 7 4 9
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática
Código:___________ Apellidos ________________________ Nombre _________________________

1 Leer una matriz A de n filas y n columnas (una matriz cuadrada). Sumar los elementos de cada fila y
guardar el resultado en la última columna.
Ejemplo:
Si la matriz A es:
1 6 2 4
2 5 7 8
3 4 5 6
3 6 5 3

El resultado del algoritmo debe ser la misma matriz A pero así


1 6 2 4 13
2 5 7 8 22
3 4 5 6 18
3 6 5 3 17

1. Leer un Vector A de n datos y un vector B de m datos. Construya un vector C con los datos PARES que
se encuentran tanto en el vector A como en el vector B (los datos pares comunes a los arreglos A y B).
Ejemplo

A 7 6 5 2 4 2 9 3

B 2 3 7 2 3 5 6

C 6 2

2. Construya un programa que lea una matriz A de n filas y m columnas y en un vector C, guardar la suma
de los elementos de cada fila, y en un vector D guardar la suma de los elementos de cada columna
Por ejemplo
Si la matriz A de 3x4 es:
1 6 2 4
2 5 7 0
3 4 5 6
En el vector C debe quedar la suma de los elementos de cada fila, es decir:
C 13 14 18
Y el vector D será:
D 6 15 14 10
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

3. Construya un programa que lea una matriz cuadrada A de nxn datos y determine si es una matriz mágica
o no.
Una Matriz en mágica si la suma de los elementos de cada fila, de cada columna y de cada diagonal es
igual.
Ejemplo para una matriz 3x3
2 9 4 15
7 5 3 15
6 1 8 15

15 15 15 15 15

4. Construya un programa que lea un vector ordenado A de n datos (supongase que los datos son entrados
en orden ascendente). Leer un dato X e insertarlo en el arreglo, sin desordenarlo.
Por ejemplo si el vector A es
A 3 5 7 7 8 11 12
Y el valor para X es 9, entonces el arreglo A quedará:
A 3 5 7 7 8 9 11 12
Nota: No puede utilizar algoritmos de ordenamiento.
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática
Código:___________ Apellidos________________________Nombre_________________________

1 Leer una matriz A de n filas y por n columnas. En un vector C guardar los elementos de A que se
encuentran tanto en la columna 1 como en la última columna (los elementos comunes en las dos
columnas 1 y n).
Ejemplo:
Si la matriz A es:
1 6 2 2
2 5 7 8
4 2 3 1
8 9 3 6

El vector resultante C es:


1 2 8

1 Crear un Vector A con todos los números primos menores que 100.

Sea la siguiente definición para u registro

Type
Tvector = array [1..10] of real;
Testudiante = record
Cod: longint;
Nombre, Direccion: string [40];
Tel: longint;
Edad: byte;
Sexo: boolean; { true es Hombre, false es mujer}
NumNot: byte; {numero de notas del estudiante}
Notas: Tvector;
End;
Suponga que existe un archivo en la unidad a que se llama ´datos.dat´ y contiene varios registros de tipo
Testudiante;

Construya los siguientes subprogramas


1. Adicionar un registro a un archivo de registros de tipo Testudiante
Procedure adicionar (nombrearchivo: string; R: Testudiante);

2. Intercambiar dos registros dentro del archivo


Procedure intercambiar (nombrearchivo: string; pos1,pos2: word);

3. Una función que me devuelva la posición del registro donde se encuentran los datos del estudiante que
tenga el mejor promedio de notas;
Function buscarmejor (nombrearchivo:string ):word;

4. Crear un nuevo archivo llamado ´consul.dat´ con todos los registros que se encuentran dentro del archivo
´datos.dat´ y que cumplan la siguiente condición: Hombres mayores de 20 años cuyo promedio de notas
este entre 3 y 4
Procedure consulta (nombrearchivo1, nombrearchivo2:string);
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática
5. Cree el cuerpo principal de un programa que haga el llamado a estos procedimientos
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática
Código:___________ Apellidos________________________Nombre_________________________

1. Una matriz es mágica, si la suma de los elementos de cada fila, de cada columna y de cada diagonal, es la
misma.
Hacer un algoritmo que lea una matriz cuadrada de n filas por n columnas y diga si es mágica o no.

Ejemplo:
Si la matriz A es:
2 9 4
7 5 3
6 1 8

La suma de los elementos de cada fila da 15, la suma de los elementos de cada columna da 15 y la suma de
los elementos de las diagonales da 15; por lo tanto es una matriz mágica.

1 Leer una Arreglo A de n datos y crear un arreglo B con todos los datos de A que sean primos mayores de
20 y menores de 200.

Sea la siguiente definición para un registro


Type
Tvector = array [1..10] of real;

Testudiante = record
Cod: longint;
Nombre, Direccion: string [40];
Tel: longint;
Edad: byte;
Sexo: boolean; { true es Hombre, false es mujer}
NumNot: byte; {numero de notas del estudiante}
Notas: Tvector;
End;

Suponga que existe un archivo en la unidad a que se llama ´datos.dat´ y contiene varios
registros de tipo Testudiante;

Construya los siguientes subprogramas


6. Adicionar un registro a un archivo de registros de tipo Testudiante
Procedure adicionar (nombrearchivo: string; R: Testudiante);

7. Intercambiar dos registros dentro del archivo


Procedure intercambiar (nombrearchivo: string; pos1,pos2: word);

8. Una función que me devuelva la posición del registro donde se encuentran los datos del
estudiante que tenga el mejor promedio de notas
Function buscarmejor (nombrearchivo:string ):word;
Universidad Industrial de Santander
Profesor Luis Alberto Esteban Villamizar
Licenciado en Matemáticas y Computación
Magister en Informática

9. Crear un nuevo archivo llamado ´consul.dat´ con todos los registros que se encuentran
dentro del archivo ´datos.dat´ y que cumplan la siguiente condición: Hombres mayores
de 20 años cuyo promedio de notas este entre 3 y 4
Procedure consulta (nombrearchivo1, nombrearchivo2: string);

Cree el cuerpo principal de un programa que haga el llamado a estos procedimientos