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

Algoritmos y Programacin

Ing. Carlos Castillo Diestra


EJERCICIOS
Estructuras secuenciales
Disee un algoritmo para las siguientes situaciones:
1.
Lea un nmero entero, lo multiplique por dos y a continuacin lo escriba en la panta
lla.
2.
Lea la velocidad inicial (VI), la aceleracin (A) y el tiempo (T) y calcule la vel
ocidad final (VF) y la
distancia recorrida (X).
VF=VI+A*T
X=VI*T+A*T2
2
3.
Hallar la suma y el promedio de tres nmeros.
4.
Hallar el rea y el permetro de un rectngulo. Considere las siguientes frmulas: rea =
base x altura,
permetro = 2 x (base+altura).
5.
Convertir una longitud dada en centmetros a pies. Considere que: 1 pie = 30.48 ce
ntmetros.
6.
Convertir una longitud dada en pies a centmetros. Considere que: 1 pie = 30.48 ce
ntmetros.
7.
Lea las dimensiones de un terreno y las dimensiones de una loseta y nos indique
la cantidad de losetas
necesarias para enlosar el terreno.
8.
Lea una cantidad en dlares y el tipo de cambio y escriba su equivalente en soles.

9.
Lea un nmero dado de segundos y determine su equivalente en minutos y segundos. P
or ejemplo: 130 seg
= 2 min 10 seg
10.
Una institucin benfica europea ha recibido tres donaciones en soles, dlares y marco
s. La donacin ser
repartida en tres rubros: 60% para la implementacin de un centro de salud, 40% pa
ra un comedor de nios
y el resto para gastos administrativos. Disee un algoritmo que determine el monto
en euros que le
corresponde a cada rubro. Considere que: 1 dlar = 3.52 soles, 1 dlar = 2.08 marcos
, 1 dlar = 1.07 euros
11.
En una competencia atltica de velocidad el tiempo se mide en minutos, segundos y
centsimas de segundo
y, el espacio recorrido se mide en metros. Disee un algoritmo para determinar la
velocidad promedio de un
atleta en km/hr. Considere que: 1 hora = 60 minutos, 1 minuto = 60 segundos, 1 s
egundo = 100 centsimas
de segundo, 1 kilmetro = 1000 metros.
12.
Determinar la cifra de las unidades de un nmero entero positivo
13.
Determinar la suma de las cifras de un nmero entero positivo de 4 cifras
14.
Lea la hora actual del da HH:MM:SS y determine cuantas horas, minutos y segundos
restan para culminar
el da.
15.
Lea dos horas del da en horas, minutos y segundos y calcule su suma en horas, min
utos y segundos
16.
El sueldo neto de un vendedor se calcula como la suma de un sueldo bsico de S/.25
0 ms el 12% del monto
total vendido. Disee un algoritmo que determine el sueldo neto de un vendedor sab
iendo que hizo tres
ventas en el mes.
17.
Determine el porcentaje de varones y de mujeres que hay en un saln de clases.
18.
En pases de habla inglesa es comn dar la estatura de una persona como la suma de u
na cantidad entera de
pies ms una cantidad entera de pulgadas. As, la estatura de una persona podra ser 3
' 2" ( 3 pies 2
pulgadas). Disee un algoritmo que determine la estatura de una persona en metros,
conociendo su estatura
en el formato ingls. Considere que: 1 pie = 12 plg, 1 plg = 2.54 cm, 1 m = 100 cm
.
19.
Exprese la capacidad de un disco duro en megabytes, kilobytes y bytes, conociend
o la capacidad del disco
en gigabytes. Considere que: 1 kilobyte = 1024 bytes, 1 megabyte = 1024 kilobyte
, 1 gigabyte = 1024
megabytes.
Estructuras de Seleccin
Disee un algoritmo para las siguientes situaciones:
1.
Califique el puntaje obtenido en el lanzamiento de tres dados en funcin a la cant
idad seis obtenidos, de
acuerdo a lo siguiente:
Seis en los tres dados, excelente.
Seis en dos dados, muy bien.
Seis en un dado, regular.
Ningn seis, psimo.
2.
Una compaa dedicada al alquiler de automviles cobra $30 hasta un mximo de 300 km de
distancia
recorrida. Para ms de 300 km y hasta 1000 km, cobra $30 ms un monto adicional de $
0.15 por cada
kilmetro en exceso sobre 300. Para ms de 1000 km cobra $30 ms un monto adicional de
$ 0.10 por cada
kilmetro en exceso sobre 1000. Los precios ya incluyen el 18% del impuesto genera
l a las ventas, IGV.
Disee un algoritmo que determine el monto a pagar por el alquiler de un vehculo y
el monto includo del
impuesto
1
Algoritmos y Programacin
Ing. Carlos Castillo Diestra
3.
El promedio de prcticas de un curso se calcula en base a cuatro prcticas calificad
as de las cuales se
elimina la nota menor y se promedian las tres notas ms altas. Disee un algoritmo q
ue determine la nota
eliminada y el promedio de prcticas de un estudiante
4.
Lea tres longitudes y determine si forman o no un tringulo. Si es un tringulo dete
rmine de que tipo de
tringulo se trata entre: equiltero (si tiene tres lados iguales), issceles (si tien
e dos lados iguales) o
escaleno (si tiene tres lados desiguales). Considere que para formar un tringulo
se requiere que: "el lado
mayor sea menor que la suma de los otros dos lados".
5.
Lea tres nmeros enteros y determine el menor valor positivo. Si los nmeros positiv
os son iguales, dar
como menor a cualquiera de ellos
6.
Lea tres nmeros y los imprima de mayor a menor y de menor a mayor.
7.
Lea un nmero e indique si se positivo, negativo o cero.
8.
Lea tres nmeros y emita un mensaje que indique si estn en orden ascendente, orden
descendente o en
desorden.
9.
Disee un algoritmo para obtener el grado de eficiencia de un operario de una fbric
a de tornillos, de
acuerdo a las siguientes condiciones, que se le imponen para un perodo de prueba:

Menos de 200 tornillos defectuosos.
Ms de 10000 tornillos producidos
El grado de eficiencia se determina de la siguiente manera:
Si no cumple ninguna de las condiciones, grado 5.
Si slo cumple la primera condicin, grado 6.
Si slo cumple la segunda condicin, grado 7.
Si cumple las dos condiciones, grado 8.
10.
Se cuenta con los votos obtenidos por Juan, Pedro y Maria en una eleccin democrtic
a a la presidencia de
un club. Para ganar la eleccin se debe obtener como mnimo el 50% de los votos ms 1.
En caso que no
haya un ganador se repite la eleccin en una segunda vuelta. Van a la segunda vuel
ta los dos que obtengan
la ms alta votacin , los tres en caso de producirse un empate doble (entre los dos
con menor votacin) o
un empate triple. Disee un algoritmo que determine el resultado de la eleccin.
11.
Lea un nmero entero de 3 cifras, y forme el mayor nmero posible con las cifras del
nmero ingresado. El
nmero formado debe tener el mismo signo que el nmero ingresado
12.
Lea las dimensiones de los ngulos de un tringulo e indique si se trata de un tringu
lo rectngulo. (Para que
sean las dimensiones de los ngulos de un tringulo su suma debe ser 180. Un tringulo
es rectngulo si al
menos uno de los ngulos mide 90)
13.
Lea tres nmeros y escriba el menor de los tres.
14.
Una empresa ha fijado una bonificacin para sus trabajadores, de acuerdo a las sig
uientes reglas:
Si el trabajador tiene hasta 2 hijos recibe S/. 100.00
Si el trabajador tiene ms de 2 hijos recibe S/. 150.00
Si su esposa estuviera desempleada recibe S/. 150.00
Si tiene hijos en la universidad, recibe S/. 100.00 por cada uno de ellos.
Escribir un algoritmo que lea los datos necesarios para calcular la bonificacin y
determine el monto de la
bonificacin.
15.
Lea un ao y determine si es bisiesto (Un ao es bisiesto si es mltiplo de 4 (por eje
mplo, 1992), excepto los
mltiplos de 100 que no son bisiestos salvo que a su vez tambin sean mltiplos de 400
(por ejemplo, 1800 no es
bisiesto, 2000 si)
16.
Lea el nmero de un da de la semana e indique su nombre.
17.
Lea el nmero de un mes (1 al 12) y un ao y escriba el nmero de das que tiene el mes
y si es ao es o no
bisiesto. (Un ao es bisiesto si es mltiplo de 4 (por ejemplo, 1992), excepto los ml
tiplos de 100 que no son
bisiestos salvo que a su vez tambin sean mltiplos de 400 (por ejemplo, 1800 no es
bisiesto, 2000 si).
Estructuras Repetitivas
Disee un algoritmo para las siguientes situaciones:
1.
Escriba todos lo nmeros pares comprendidos entre 1 y 50.
2.
Lea el valor inicial y el valor final de un rango de nmeros enteros y escriba tod
os los nmeros comprendidos en
el rango.
3.
Calcule la suma siguiente:
1 + 1/2 + 1/3+ 1/4+ ... + 1/N
dnde N se especifica por el usuario
4.
Encuentre el primer valor N para el cual la siguiente suma excede a 10000:
1 + 2+ 3 + 4+ ...+ N
5.
Mostrar los N primeros trminos de la serie: 5, 7, 10,14,19,.., N
2
Algoritmos y Programacin
Ing. Carlos Castillo Diestra
6.
Ingrese una serie de nmeros hasta ingresar el valor 0. Luego reporte cuntos de los
nmeros ingresados fueron
impares y cuantos pares.
7.
Calcular la suma de los cuadrados de los N primeros nmeros enteros. N es un enter
o positivo.
8.
Calcule la suma de los nmeros pares comprendidos entre INICIO y FIN. INICIO y FIN
son ingresados por el
usuario.
9.
Que simule un reloj digital. (HH:MM:SS). Ejemplo: 12:06:13
10.
Que permita desplazar el cursor en la pantalla. El usuario pulsa la letra S para
subir, B para bajar, D para derecha,
I para izquierda y T para terminar.
11.
Lea un nmero entero y calcule su factorial (No existe factorial de nmeros negativo
s. N! = 1, si N es cero; N! =
1*2*3*.. (N-1).* N, si N>0)
12.
Lea un nmero entero y determinar si es primo o compuesto. (Un nmero es primo cuand
o es solamente divisible
entre si mismo y entre uno).
13.
Lea una base real y un exponente entero positivo y calcule su potencia.
14.
Lea dos nmeros enteros e imprima todos sus divisores comunes, excepto la unidad.
15.
Lea un nmero entero positivo y determine si es un nmero perfecto. (Un nmero entero
positivo es perfecto si es
igual a la suma de todos sus divisores enteros positivos, excepto el mismo. Ejem
plo: 6 es un nmero perfecto, ya
que sus divisores son: 1,2,3 y 1+2+3 = 6)
16.
Lea nmero entero y lo escriba en forma inversa. (2345, su inverso 5432).
17.
Lea dos nmeros enteros y determine su mnimo comn mltiplo.
18.
Lea dos nmeros enteros y determine su mximo comn divisor.
Programacin de Estructuras Secuenciales
Codificar en C++ los algoritmos diseados en la semana 2
Programacin de Estructuras Selectivas
Codificar en C++ los algoritmos diseados en la semana 3
Programacin de Estructuras Repetitivas
Codificar en C++ los algoritmos diseados en la semana 4
Funciones
Disear los algoritmos y codificar en C++ para los siguientes ejercicios:
1.
Acepte como parmetro un nmero entero y devuelva su factorial (No existe factorial
de nmeros negativos.
N! = 1, si N es cero; N! = 1*2*3*.. (N-1).* N, si N>0)
2.
Acepte como parmetro un nmero entero y determinar si es primo o compuesto. (Un nmer
o es primo
cuando es solamente divisible entre si mismo y entre uno).
3.
Acepte como parmetros una base real y un exponente entero positivo y calcule su p
otencia.
4.
Acepte como parmetros dos nmeros enteros e imprima todos sus divisores comunes, ex
cepto la unidad.
5.
Acepte como parmetro un ao y determine si es bisiesto.
6.
Acepte un nmero entero positivo y determine si es un nmero perfecto. (Un nmero ente
ro positivo es
perfecto si es igual a la suma de todos sus divisores enteros positivos, excepto
el mismo. Ejemplo: 6 es un
nmero perfecto, ya que sus divisores son: 1,2,3 y 1+2+3 = 6)
7.
Acepte como parmetros tres nmeros enteros y determine si son nmeros pitagricos. (Tre
s nmeros son
pitagricos, cuando el cuadrado de uno de ellos es igual a la suma de los cuadrado
s de los otros dos).
8.
Acepte como parmetro un nmero entero y lo escriba en forma inversa. (2345, su inve
rso 5432).
9.
Acepte como parmetros dos nmeros reales y determine el mayor y el menor.
10.
Acepte las dimensiones de los ngulos de un tringulo y determine si se trata de un
tringulo rectngulo.
(Para que sean las dimensiones de los ngulos de un tringulo su suma debe ser 180. U
n tringulo es
rectngulo si al menos uno de los ngulos mide 90)
11.
Acepte como parmetro un nmero entero positivo N y calcule la suma siguiente:
1 + 1/2 + 1/3 + 1/4 + ... + 1/N
12.
Encuentre el primer valor N para el cual la siguiente suma excede a 10000:
1 + 2 + 3 + 4 + ... + N
13.
Determine si un nmero entero N es primo o compuesto. (Un nmero es primo cuando es
solamente
divisible entre si mismo y entre uno, sino es compuesto).
14.
Acepte un nmero entero positivo y determine si es un nmero perfecto. (Un nmero ente
ro positivo es
perfecto si es igual a la suma de todos sus divisores enteros positivos, excepto
el mismo. Ejemplo: 6 es un
nmero perfecto, ya que sus divisores son: 1,2,3 y 1+2+3 = 6)
15.
Escriba todos los nmeros perfectos menores que 10000.
16.
Acepte dos nmeros enteros y determine su mnimo comn mltiplo.
3
Algoritmos y Programacin
Ing. Carlos Castillo Diestra
17.
Acepte dos nmeros enteros y determine su mximo comn divisor.
18.
Acepte tres nmeros enteros y escriba todos sus divisores comunes.
19.
Calcular la suma de los cuadrados de los N primeros nmeros enteros. N es un enter
o positivo.
20.
Acepte como parmetros el da, mes y ao de nacimiento de una persona y obtenga el nmer
o tarot. Para
calcular el nmero Tarot de una persona, se suma los nmeros de su fecha de nacimien
to y a continuacin se
reduce a un nico digito; por ejemplo si la fecha de nacimiento fuera 17 de octubr
e de 1970, los clculos a
realizar seran:
17+10+1970=1997 .
1+9+9+7 =26 .
2+6 .
8
lo que quiere decir que el nmero Tarot es 8.
Usar funciones homnimas (sobrecarga de funciones) o funciones con valores predefi
nidos al parmetro
(valores por omisin)
21.
Acepte como parmetros 2, 3 o 4 nmeros flotantes y devuelva su suma.
22.
Acepte como parmetros 2, 3 o 4 nmeros enteros y devuelva su promedio.
23.
Acepte como parmetros 2, 3 o 4 nmeros reales y devuelva el mayor.
24.
Acepte como parmetros 2, 3 o 4 nmeros enteros y devuelva su mnimo comn mltiplo.
25.
Acepte como parmetros 2, 3 o 4 nmeros enteros y devuelva su mximo comn divisor.
26.
Acepte como parmetros 2, 3 o 4 nmeros enteros y escriba todos sus divisores comune
s.
Usar funciones recursivas:
27.
Acepte como parmetro un nmero entero y devuelva su factorial (No existe factorial
de nmeros negativos.
N! = 1, si N es cero; N! = 1*2*3*.. (N-1).* N, si N>0)
28.
Acepte como parmetros una base real y un exponente entero positivo y calcule su p
otencia.
29.
Acepte como parmetro un nmero entero y lo escriba en forma inversa. (2345, su inve
rso 5432).
30.
Acepte como parmetro un nmero entero N y calcule la suma:
1.
1+2+3+4+ ...+(N-1)+N
31.
Acepte un nmero entero y determine la serie de Fibonacci: 1,1,2,3,5,8,13,21,34,
(Recursivamente se define: Fib(N) = 1, si N=0 o N = 1; Fib(N) = Fib (N-1) + Fib
(N-2), si N > 1)
Arreglos y Cadenas
Disear los algoritmos y codificar en C++ para los siguientes ejercicios:
1.
Lea el vector A de nmeros reales y tamao N, luego lo escriba tal como es e inverti
do y reporte el mayor,
el menor, su suma y el promedio.
2.
Lea 2 vectores A y B, calcule su suma C e imprima los vectores A, B y el vector
suma C
3.
Lea 2 vectores A y B, calcule su producto C e imprima los vectores A, B y el vec
tor producto C
4.
Lea 2 matrices A y B, calcule su suma C e imprima las matrices A, B y la matriz
C
5.
Lea 2 matrices A y B, calcule su producto C e imprima las matrices A, B y la mat
riz C
6.
Lea la matriz: y lo escriba como:
47135 423
20697 701
31264 162
396
574
7.
Lea una matriz cuadrada y escriba la suma de todos los elementos que no pertenec
en a la diagonal principal.
8.
Una matriz cuadrada A se dice que es simtrica si A(i;j)=A(j,i) para todo i,j dent
ro de los lmites de la
matriz. Escribir un programa que decida si una matriz dada es o no simtrica
9.
Escribir un programa que lea las dimensiones de una matriz, lea y visualice la m
atriz y a continuacin
encuentre el mayor y menor elemento de la matriz y sus posiciones.
10.
Los resultados de las ltimas elecciones a alcalde en la ciudad ABC han sido los s
iguientes:
Distrito Candidato A Candidato B Candidato C
1 194 48 206
2 180 20 320
3 221 90 140
4 432 50 821
5 820 61 946
4
Algoritmos y Programacin
Ing. Carlos Castillo Diestra
Escribir un programa que haga las siguientes tareas:
a.
Imprimir la tabla anterior
b.
Calcular e imprimir el nmero total de votos recibidos por cada candidato y el por
centaje del total de
votos emitidos. Asimismo, visualizar el candidato ms votado
c.
Si algn candidato recibe mas del 50% de los votos, el programa imprimir un mensaje
declarndolo
ganador.
d.
Si ningn candidato recibe ms del 50% de los votos, el programa debe imprimir el no
mbre de los dos
candidatos ms votados, que sern los que pasen a la segunda ronda de las elecciones
.
11.
Una tienda registra informacin de sus productos: Cdigo, Descripcin y Precio. Escrib
ir un programa que
lea informacin de 10 productos, luego la escriba y adems reporte el producto cuyo
precio es menor que los
dems.
12.
Lea informacin de 10 alumnos: nombre y nota; y reporte primero el nombre y la not
a de los alumnos
aprobados y a continuacin el nombre y la nota de los alumnos desaprobados.
13.
Determinar la frecuencia de aparicin de cada vocal en un texto tecleado por el us
uario.
14.
Determinar el numero de vocales en un texto tecleado por el usuario
15.
Determinar el nmero de vocales y el numero de consonantes en un texto tecleado po
r el usuario
16.
Acepte como parmetro una cadena de caracteres y determine si se trata de un nmero
entero positivo.
17.
Acepte como parmetro una cadena de caracteres y determine si se trata de un nmero
real.
18.
Lea una frase y a continuacin visualice cada palabra de la frase en columna, segu
ido de su longitud.
19.
Lea una cadena de caracteres y lo escriba en forma inversa (ejemplo, hola amigo se
convierte en ogima
aloh).
20.
Una funcin que reciba una cadena de caracteres y determine si es un palndromo (un
palndromo es un
texto que se lee igual en sentido directo y en inverso, ejemplo: radar, oso).
21.
Escribir un programa que desplace una palabra leda del teclado desde la izquierda
hasta la derecha de la
pantalla.
22.
Lea un texto de formado por un numero impar de palabras y escriba la palabra que
est en el centro.
23.
Escribir un programa que lea una cadena en minsculas y escriba solo la ltima palab
ra en maysculas.
24.
Realizar un programa de criptografa de textos que permita cifrar un texto que se
introduce mediante el
teclado, siguiendo el siguiente cdigo:
La letra A se sustituye por B, la letra B por C, a letra C por D, ......, y la l
etra Z por A.
(Ejemplo: MARIA ES ABOGADA se habr de cifrar e imprimir: NBSJB FT BCPHBEB)
Ordenamiento y Bsqueda
Disear los algoritmos y codificar en C++ para los siguientes ejercicios:
1.
Lea una serie de nmeros enteros, los ordene en orden descendente y a continuacin v
isualice la lista
ordenada.
2.
Lea un vector A de N elementos reales, donde N es impar y luego determine la med
iana. La mediana es el
valor tal que la mitad de los nmeros son mayores que el valor y la otra mitad son
menores.
3.
Lea 42 nmeros enteros en un arreglo 7 x 6 y realizar las siguientes operaciones:

Imprimir el arreglo

Encontrar el elemento mayor del arreglo

Indicar la posicin dnde se encuentra el elemento mayor del arreglo

Si el elemento mayor est repetido, indicar cuntas veces y la posicin de cada elemen
to repetido.
4.
Se lee una lista de nmeros flotantes desde el teclado y se desea saber si entre d
ichos nmeros se encuentra
un nmero A ingresado por el usuario. En caso afirmativo, visualizar su posicin en
la lista. Resolver el
problema por a) Bsqueda secuencial y b) Bsqueda binaria.
5.
Simule un diccionario Ingls/Espaol y Espaol/Ingls. Se debe usar arreglos paralelos.
El programa debe
presentar un men con las siguientes opciones:
1.
Leer diccionario
2.
Buscar Ingls/Espaol
3.
Buscar Espaol/Ingls
4.
Salir
5