Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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.
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).
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.
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.
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
• 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 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
• 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.
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
⇒ Hallar el cociente del promedio de los divisores pares y el promedio de los divisores
impares de un número entero positivo dado.
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.
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 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)
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
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
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
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
1 Crear un Vector A con todos los números primos menores que 100.
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;
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.
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;
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);