Вы находитесь на странице: 1из 8

Computacin para ingenieros

Ing. Jaime Alfonso Reyes Corts


Serie 5. Diseo de programas
En las secciones siguientes se presentan una serie de problemas para los cules el
alumno tendr que leer cuidadosamente cada uno de ellos; despus disear sus
correspondientes algoritmos, en pseudocdigo y en diagrama de flujo, y deber realizar,
tambin, las correspondientes pruebas de escritorio.
Nota importante: En los casos que se requiera revise la correspondiente teora
matemtica.
Algoritmos con estructura secuencial
1. Truco matemtico. He aqu un truco matemtico para planterselo a un ami go. Dgale:
a. Piense en un nmero (entero) .
b. Smele 3.
c. Mul tiplique el resultado por 2.
d. Al resultado rst ele 4.
e. Divdalo ent re 2.
f. Rstele el nmero que pens.
Sea cual sea el nmero en que se piense, al seguir correctamen te las instrucciones el
resultado final siempre es igual 1.
Este tru co puede explicarse por medio del simbolismo algebraico o me diante figuras, como a
continuaci6n se expone en la figura 1.
Figura 1
Disear un algoritmo que simule que la computadora juegue con el usuario, mostrando en
pantalla solamente los pasos que debe hacer el usuario.
2. Distancia entre dos puntos . Disear un algoritmo que calcule la distancia entre dos puntos.
Considere que se le deben pedir al usuario los puntos y . Use la distancia
euclidiana y muestre en pantalla el resultado.
3. Conversin de coordenadas polares a rectangulares. Disear un algoritmo que realice la
conversin de coordenadas polares a coordenadas rectangulares. Las coordenadas polares se
pedirn al usuario por va teclado y las coordenadas rectangulares se mostrarn en pantalla.
4. Error absoluto. Disear un algoritmo que calcule el error absoluto. Pida al usuario por va teclado
los valores del valor real y el valor ledo. Muestre en pantalla el error obtenido.
5. Consumo de luz. Para una lmpara incandescente de
) (W Watts x
que al da se prende durante
) (h horas y , se puede obtener su consumo diario de la siguiente manera:
1
]
1


,
_

,
_

da
kWh y x
da
h
y kWh
x
1000
*
1000
Considere un precio de $0.635 por cada kWh. Realice un algoritmo que pida al usuario por va
teclado la cantidad de Watts que consume la residencia del usuario y la cantidad de horas durante las
cules se hace uso de esos Watts. Con base en sto calcule el costo diario que realiza el usuario y lo
muestre en pantalla. Deduzca tambin el costo mensual y complete el algoritmo para que tambin
devuelva el costo mensual del usuario (Consumo de luz).
6. Dobleces y agujeros. Paso 1. Tmese una hoja de papel y dblese a la mitad.
Paso 2. Dblese de nuevo a la mitad y crtese la esquina en la que han concurrido los
dobleces.
Al desdoblar la hoja tendr un aspecto como el que se, mues tra en el resultado de la figura 2,
es decir, con dos dobleces y el corte hemos obtenido un agu jero. Repita el mismo proceso,
pero esta vez haciendo tres doble ces antes de cortar la esquina. Trate de predecir el nmero de
agujeros que se obtendrn. Cuntos agujeros se obtendrn con cuatro dobleces? Con n
dobleces? Obtenga una frmula que represente el nmero de agujeros que se obtendrn con
base en el nmero de dobleces. Disee un algoritmo que le pida al usuario el nmero de
dobleces y que muestre en pantalla la cantidad de agujeros que se obtendrn.
Paso 2
Paso 3
Resultado
Figura 2
7. Suma de enteros. Gauss, famoso matemtico alemn, siendo joven, encontr la suma de los
primeros 100 nmeros consecutivos por l siguiente procedimiento:
Dedujo que haba 50 parejas de nmeros, cada una de las cuales sumara 101 , como se observa
en la figura 3.
Figura 3
Por consiguiente la suma total sera 50 * 101 es decir, 5050. Con base en esto se puede saber
que la suma de los n primeros nmeros enteros consecutivos es:
( ) 1
2
+ n
n
Disee el algoritmo que le pida al usuario el nmero n de enteros que se desean sumar y que
muestre en pantalla la suma obtenida por la ecuacin anterior.
Despus realice las pruebas de escritorio para resolver los incisos a y b.
a. La suma de los primeros 80, nmeros consecutivos.
b. La suma de los primeros 200 nmeros consecutivos.
8. Suma de enteros pares e impares. Realice un anlisis similar al del ejercicio 7 y determine
una frmula para la suma de:
a. los n primeros nmeros pares,es decir, 2 + 4 + 6 + ... + (2n - 4)+ (2n -2) +2n.
b. los n primeros nmeros impares (es decir, 1 + 3 + 5 + ... + (2n - 3) + (2n - 1)).
Disee el respectivo algoritmo que le pida al usuario el valor de n y devuelva la
correspondiente suma de nmeros pares o impares. Segn corresponda realice como pruebas
de escritorio:
La suma de todos los nmeros impares desde 1 hasta 49.
La suma de todos los nmeros impares desde 1 hasta 199.
La suma de todos los nmeros pares desde 2 hasta 400.
Algoritmos con decisiones
1. Coordenadas rectangulares a polares. Disear un algoritmo que realice la conversin de
coordenadas rectangulares a coordenadas polares. Se deben de pedir al usuario por va teclado las
coordenadas rectangulares y mostrar en pantalla sus correspondientes coordenadas polares.
2. Error relativo. Disear un algoritmo que calcule el error relativo. Pida al usuario por va teclado los
valores del valor real y el valor ledo. Muestre en pantalla el error obtenido.
3. Caracteres numricos. Disea un algoritmo que le pida al usuario un carcter por va teclado y en
caso de que el carcter sea numrico muestre en pantalla el valor entero equivalente que le
corresponda. En caso de cualquier otro carcter indicar que ha habido un error.
4. Valor absoluto. Disear un algoritmo que calcule el valor absoluto de un nmero real sin usar
funciones matemticas de los lenguajes de programacin.
5. La lnea recta. Disear un algoritmo que dados dos puntos, y , de una recta
calcule la ecuacin que define dicha recta. Muestre en pantalla la ecuacin obtenida. Despus pedir
al usuario por va teclado un valor de la abscisa para obtener su correspondiente ordenada y
mostrarla en pantalla.
6. Tringulos. Disear un algoritmo que dados tres puntos, , y , que
definen un triangulo en el plano coordenado x-y. Indique en pantalla si se trata de un tringulo o no
lo es. En caso de que sea un tringulo deber mostrar en pantalla el tipo de tringulo al que se refiere
(issceles, equiltero, escaleno) y tambin determine los ngulos de cada triangulo usando la ley de
cosenos.
Nota: Para ver si dos lados son iguales considere que podra existir un error de redondeo, es decir,
asuma que dos lados son iguales si la diferencia entre sus longitudes es menor de 0.00001 (error
absoluto <= 0.00001 o error relativo <= 0.001).
Realiza como pruebas de escritorio los siguientes incisos.
a. Prueba con los puntos (0,0), (2,4) y (6,0)
b. Prueba con los puntos (1,2), (4,5) y (7,2)
c. Prueba con los puntos (0,0), (3,5.196152) y (6,0)
d. Define tres puntos que no formen un tringulo.
7. Operaciones con racionales. Disee un algoritmo que me permita elegir el tipo de operacin a
realizar entre dos nmeros racionales. Las operaciones que pueden realizarse son: suma, resta,
multiplicacin o divisin.
Algoritmos que emplean ciclos
9. Tabular una lnea recta. Disear un algoritmo que dados dos puntos, y , de una
recta calcule la ecuacin que define dicha recta. Muestre en pantalla la ecuacin obtenida. Tabule en
pantalla los valores de con respecto a desde hasta . Considera que el valor del incremento (
) se le deber pedir al usuario por va teclado.
10. Tabular la funcin sinc. Disear un algoritmo que tabule la funcin en el
intervalo de x Considera que el valor del incremento ( ) se le deber pedir al
usuario por va teclado.para cada valor de , que es fraccin de (p.ej
32

) y que .
11. Cronmetro digital. Disear un algoritmo que se comporte como un cronmetro que slo
cuente minutos y segundos, es decir, mm:ss.
12. Suma de enteros con ciclos. Disear los respectivos algoritmos que, mediante ciclos,
obtengan las respectivas sumatorias y las muestren en pantalla para:
a. la suma de los n primeros enteros consecutivos.
b. la suma de los n primeros enteros pares.
c. la suma de los n primeros enteros impares.
En cada caso el valor de n se le deber pedir al usuario y se deber comparar las sumas obtenidas con
la expresiones obtenidas por Gauss para comprobar que se cumplen.
13. Pirmide numrica . Realice un algoritmo que le pida un nmero entero al usuario y muestre
en pantalla la pirmide correspondiente. Por ejemplo, para el nmero 5 se tiene la siguiente
salida:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
Figura 4
14. Serie numrica. Estudie el modelo de la figura 5. Observe que se expresa el cuadrado de un
nmero entero como una suma de nmeros consecutivos.
Disee el algoritmo que pida el nmero entero al usuario que se desea y muestre en pantalla su
correspondiente rengln . Realice las pruebas de escritorio para expresar los cuadrados de 6, 7
y 8 del mismo modo.
1
2
= 1
2
2
= 1 + 2 + 1
3
2
= 1 + 2 + 3 + 2 + 1
4
2
= 1 + 2 + 3 + 4 + 3 + 2 + 1
5
2
= 1 + 2 + 3 + 4 + 5 + 4 + 3 + 2 + 1
Figura 5
15. Trucos con el nmero 9. En la figura 6 se muestra un modelo matemtico relacionado con el
nmero 9. Verificar, si se desea, que cada una de las siguientes igualdades es correcta:
1 * 9 + 2 = 11
12 * 9 + 3 = 111
123 * 9 + 4 = 1111
1234 * 9 + 5 = 11111
12345 * 9 + 6 = 111111
Figura 6
Trate de determinar una correspondencia entre el nmero de unos que componen al nmero de
la derecha y uno de los nmeros que se utilizan a la izquierda. Ahora desarrolle el algoritmo
que sin efectuar el clculo, obtenga los unos indicados en el resultado de la operacin. Pida al
usuario el nmero de unos que se quieren obtener y despliegue en pantalla todos los renglones
anteriores hasta llegar a la operacin deseada.
Realice las siguientes operaciones como prueba de escritorio:
a. 123456 * 9 + 7 = ?
b. 1234567 * 9 + 8 = ?
16. El gato. Un gato est en el stano de un edificio de 30 pisos. Por el da sube tres pisos y por la
noche baja dos. Cunto tiempo tar dar en llegar a la azotea del edificio?
Realizar un algoritmo que simule los pisos que el gato sube de da y baja por la noche hasta
llegar a su destino. selo para contestar a la pregunta anterior. Considere a la planta baja
como un piso tambin.
17. Nmero perfecto. Se llama nmero perfecto al que es igual a la suma de sus divisores, no
incluido el nmeral mismo. El 6 es nmero perfecto dado que 6 = 1 + 2 + 3. A la fecha nadie
ha determinado un nmero perfecto impar, pero nadie ha demostrado que todo n mero
perfecto es par. Puede usted determinar el siguiente nmero perfecto que sigue al 6?
Algoritmos con arreglos
1. Determinar si un nmero natural es capcula, es decir, se lee igual de derecha a izquierda que
de izquierda a derecha.
2. Estudie cada una de las igualdades mostradas en la figura 7.
15
2
= 1 * 200 + 25 = 225
25
2
= 2 * 300 + 25 = 625
35
2
= 3 * 400 + 25 = 1225
45
2
= 4 * 500 + 25 = 2025
Figura 7
Enuncie un mtodo abreviado para elevar al cuadrado un nmero de dos dgitos de los
cuales el de las unidades sea 5.
Realice un algoritmo que le pida al usuario un nmero que desee elevar al cuadrado, como el
lado izquierdo de las igualdades y a partir de se nmero determine el rengln restante con base en el
mtodo enunciado.
Nota: Alamacene el nmero pedido como una cadena y tome los primeros caracteres para
determinar la operacin a realizar..
3. Despus de estudiar el modelo matemtico de la figura 8, desarrolla un algoritmo que le pida
al usuario el nmero de unos y que permita construir dicho modelo.
l*l = 1
11 * 11 = 121
111 * 111 = 12321
1111 * 1111 = 1 234 321
11111 * 11111 = 123454321
Figura 8
Considera que el modelo expuesto contina hasta que el usuario decida terminarlo.
Use como prueba de escritorio al producto de 1111111111 * 1111111111..
4. Consideremos los nmeros del 1 al 12 de un reloj de 12 horas. Se sabe que la suma, en dicho
reloj, se basa en el conteo segn la direccin de sus mane cillas. As por ejemplo, para
determinar la suma de 9 + 5, empe zamos en las 9 y contamos 5 unidades en la direccin de las
manecillas del reloj obtenindose 2 como resultado.
a. Disear un algoritmo que cree una tabla de sumas para un reloj de 12 horas como la
siguiente:
+ 1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12 1
2 3 4 5 6 7 8 9 10 11 12 1 2
3 4 5 6 7 8 9 10 11 12 1 2 3
4 5 6 7 8 9 10 11 12 1 2 3 4
5 6 7 8 9 10 11 12 1 2 3 4 5
6 7 8 9 10 11 12 1 2 3 4 5 6
7 8 9 10 11 12 1 2 3 4 5 6 7
8 9 10 11 12 1 2 3 4 5 6 7 8
9 10 11 12 1 2 3 4 5 6. 7 8 9
10 11 12 1 2 3 4 5 6 7 8 9 10
11 12 1 2 3 4 5 6 7 8 9 10 11
12 1 2 3 4 5 6 7 8 9 10 11 12
b. Haciendo uso de la tabla anterior disee un algoritmo que obtenga la suma de dos
horas dadas por el usuario. Por ejemplo :
8+7=3
5 + 12 = 5
3+11 =2
5. Una matriz escasamente poblada es aquella cuyos elementos son en su mayora cero. Disee
un algoritmo para determinar si una matriz de m*n es escasamente poblada o no lo es. Los
valores de dicha matriz se le debern pedir al usuario y despus determinar si es escasamente
poblada o no lo es.
6. Podemos dar una aproximacin de u na matriz de n*n es positiva definida si todos sus
elementos son mayores que cero. Una matriz de n*n es positiva semidefinida si todos sus
elementos son mayores o iguales que cero. Una matriz de n*n es negativa definida si todos sus
elementos son menores que cero. Disee un algoritmo que le pida al usuario el valor de n y
los valores de la matriz cuadrada. Despus determine si la matriz dada es positiva definida,
positiva semidefinida o ninguna de las dos.

Вам также может понравиться