ABC Programacion
ABC Programacion
ABC Programacion
Escribir un
algoritmo que lea cuatro números y a continuación visualice el mayor de los cuatro. 2.7. Diseñar
un algoritmo que lea tres números y descubra si uno de ellos es la suma de los otros dos. 2.8.
Diseñar un algoritmo para calcular la velocidad (en m/s) de los corredores de la carrera de 1.500
metros. La entrada consistirá en parejas de números (minutos, segundos) que dan el tiempo del
corredor; por cada corredor, el algoritmo debe visualizar el tiempo en minutos y segundos, así
como la velocidad media.
Ejemplo de entrada de datos: (3,53) (3,40) (3,46) (3,52) (4,0) (0,0); el último par de datos se
utilizará como fin de entrada de datos. 2.9. Diseñar un algoritmo para determinar los números
primos iguales o menores que N (leído del teclado). (Un número primo sólo puede ser divisible por
él mismo y por la unidad.) 2.10. Escribir un algoritmo que calcule la superficie de un triángulo en
función de la base y la altura (S = 1/2 Base × Altura). 2.11. Calcular y visualizar la longitud de la
circunferencia y el área de un círculo de radio dado.
2.12. Escribir un algoritmo que encuentre el salario semanal de un trabajador, dada la tarifa
horaria y el número de horas trabajadas a la semana
2.13. Escribir un algoritmo que indique si una palabra leída del teclado es un palíndromo. Un
palíndromo (capicúa) es una palabra que se lee igual en ambos sentidos como “radar”.
2.14. Escribir un algoritmo que cuente el número de ocurrencias de cada letra en una palabra leída
como entrada. Por ejemplo, "Mortimer" contiene dos "m", una "o", dos "r", una "i", una "t" y una
"e".
2.15. Muchos bancos y cajas de ahorro calculan los intereses de las cantidades depositadas por los
clientes diariamente según las premisas siguientes. Un capital de 1.000 euros, con una tasa de
interés del 6 por 100, renta un interés en un día de 0,06 multiplicado por 1.000 y dividido por 365.
Esta operación producirá 0,16 euros de interés y el capital acumulado será 1.000,16. El interés
para el segundo día se calculará multiplicando 0,06 por 1.000 y dividiendo el resultado por 365.
Diseñar un algoritmo que reciba tres entradas: el capital a depositar, la tasa de interés y la
duración del depósito en semanas, y calcular el capital total acumulado al final del período de
tiempo especificado.
EJERCICIOS
3.1. Diseñar los algoritmos que resuelvan los siguientes problemas: a) Ir al cine. b) Comprar una
entrada para los toros. c) Colocar la mesa para comer. d) Cocer un huevo. e) Hacer una taza de té.
f) Fregar los platos del almuerzo. g) Buscar el número de teléfono de un alumno. h) Reparar un
pinchazo de una bicicleta. i) Pagar una multa de tráfico. j) Cambiar un neumático pinchado (se
dispone de herramientas y gato). k) Hacer palomitas de maíz en una olla puesta al fuego con
aceite, sal y maíz. l) Cambiar el cristal roto de una ventana. m) Hacer una llamada telefónica.
Considerar los casos: a) manual, con operadora; b) automático; c) cobro revertido. n) Quitar una
1
bombilla quemada de un techo. o) Encontrar la media de una lista indeterminada de números
positivos terminada con un número negativo.
3.2. ¿Cuáles de los siguientes identificadores no son válidos? a) XRayo b) X_Rayo c) R2D2 d) X e) 45
f) N14 g) ZZZZ h) 3μ
3.3. ¿Cuáles de las siguientes constantes no son válidas? a) 234 b) –8.975 c) 12E – 5 d) 0
a) √ b2 – 4ac b) x2 + y2 z2
c)
3x + 2y 2z
d)
a+bc–d
e) 4x2 – 2x + 7 f)
x+yx
3x 5
g)
a bc
h) xyz
i)
y2 – y1 x2 – x1
j) 2πr
k)
43
2
3.8. Si el valor de A es 4, el valor de B es 5 y el valor de C es 1, evaluar las siguientes expresiones: a)
B * A – B ^ 2 / 4 * C b) (A * B) / 3 ^ 2 c) (((B + C) / 2 * A + 10) * 3 * B) – 6
A^B^C
3.10. Obtener el valor de cada una de las siguientes expresiones aritméticas: a) 7 div 2 b) 7 mod 2
c) 12 div 3 d) 12 mod 3 e) 0 mod 5 f) 15 mod 5 g) 7 * 10 – 50 mod 3 * 4 + 9 h) (7 * (10 – 5) mod 3) *
4 + 9 Nota: Considérese la prioridad de Pascal: más alta: *, /, div, mod; más baja: +, –.
3.11. Encontrar el valor de cada una de las siguientes expresiones o decir si no es una expresión
válida: a) 9 – 5 – 3 b) 2 div 3 + 3 / 5 c) 9 div 2 / 5 d) 7 mod 5 mod 3 e) 7 mod (5 mod 3) f) (7 mod 5)
mod 3 g) (7 mod 5 mod 3) h) ((12 + 3) div 2) / (8 – (5 + 1)) i) 12 / 2 * 3 j) raiz2 (cuadrado(4) k)
cuadrado (raiz2(4)) l) trunc(815) + redondeo(815)
3.12. Se desea calcular independiente la suma de los números pares e impares comprendidos
entre 1 y 200.
3.13. Leer una serie de números distintos de cero (el último número de la serie es –99) y obtener
el número mayor. Como resultado se debe visualizar el número mayor y un mensaje de indicación
de número negativo, caso de que se haya leído un número negativo.
3.14. Calcular y visualizar la suma y el producto de los números pares comprendidos entre 20 y
400, ambos inclusive.
3.16. Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una compra
de un artícul o determinado, del que se adquieren una o varias unidades. El IVA a aplicar es del 15
por 100 y si el precio bruto (precio venta más IVA) es mayor de 1.000 euros, se debe realizar un
descuento del 5 por 100.
3.17. Calcular la suma de los cuadrados de los cien primeros números naturales.
3.21. Calcular los N primeros múltiplos de 4 (4 inclusive), donde N es un valor introducido por
teclado.
3.22. Diseñar un diagrama que permita realizar un contador e imprimir los cien primeros números
enteros.
3.23. Dados diez números enteros, visualizar la suma de los números pares de la lista, cuántos
números pares existen y cuál es la media aritmética de los números impares.
3
3.24. Calcular la nota media de los alumnos de una clase considerando n-número de alumnos y c-
número de notas de cada alumno.
3.26. Escribir un algoritmo que lea los datos de entrada de un archivo que sólo contiene números y
sume los números positivos.
4.1. Escribir las sentencias si apropiadas para cada una de las siguientes condiciones:
a) Si un ángulo es igual a 90 grados, imprimir el mensaje "El ángulo es un ángulo recto" sino
imprimir el mensaje "El ángulo no es un ángulo recto". b) Si la temperatura es superior a 100
grados, visualizar el mensaje “por encima del punto de ebullición del agua” sino visualizar el
mensaje “por debajo del punto de ebullición del agua”. c) Si el número es positivo, sumar el
número a total de positivos, sino sumar al total de negativos. d) Si x es mayor que y, y z es menor
que 20, leer un valor para p. e) Si distancia es mayor que 20 y menos que 35, leer un valor para
tiempo.
4.2. Escribir un programa que solicite al usuario introducir dos números. Si el primer número
introducido es mayor que el segundo número, el programa debe imprimir el mensaje El primer
número es el mayor, en caso contrario el programa debe imprimir el mensaje El primer número es
el más pequeño. Considerar el caso de que ambos números sean iguales e imprimir el
correspondiente mensaje.
4.4. Calcular la raíz cuadrada de un número y escribir su resultado. Considerando el caso en que el
número sea negativo.
4.5. Escribir los diferentes métodos para deducir si una variable o expresión numérica es par.
4.6. Diseñar un programa en el que a partir de una fecha introducida por teclado con el formato
DIA, MES, AÑO se obtenga la fecha del día siguiente.
4.7. Se desea realizar una estadística de los pesos de los alumnos de un colegio de acuerdo a la
siguiente tabla: Alumnos de menos de 40 kg. Alumnos entre 40 y 50 kg. Alumnos de más de 50 kg
y menos de 60 kg. Alumnos de más o igual a 60 kg.
4.8. Realizar un algoritmo que averigüe si dados dos números introducidos por teclado uno es
divisor del otro.
4
4.10. El sistema de calificación americano (de Estados Unidos) se suele calcular de acuerdo al
siguiente cuadro:
Grado mayor o igual a 90 Menor de 90 pero mayor o igual a 80 Menor de 80 pero mayor o igual a
70 Menor de 70 pero mayor o igual a 69 Menor de 69
ABCDF
Fundamentos de programación
Utilizando esta información, escribir un algoritmo que acepte una calificación numérica del
estudiante (0-100), convierta esta calificación a su equivalente en letra y visualice la calificación
correspondiente en letra.
4.11. Escribir un programa que seleccione la operación aritmética a ejecutar entre dos números
dependiendo del valor de una variable denominada seleccionOp.
4.12. Escribir un programa que acepte dos números reales de un usuario y un código de selección.
Si el código introducido de selección es 1, entonces el programa suma los dos números
introducidos previamente y se visualiza el resultado; si el código de selección es 2, los números
deben ser multiplicados y visualizado el resultado; y si el código seleccionado es 3, el primer
número se debe dividir por el segundo número y visualizarse el resultado.
4.13. Escribir un algoritmo que visualice el siguiente doble mensaje Introduzca un mes (1 para
Enero, 2 para Febrero,…) Introduzca un día del mes
5.1. Determinar la media de una lista indefinida de números positivos, terminados con un número
negativo.
5.2. Dado el nombre de un mes y si el año es o no bisiesto, deducir el número de días del mes.
5
5.3. Sumar los números enteros de 1 a 100 mediante: a) estructura repetir; b) estructura mientras;
c) estructura desde.
5.4. Determinar la media de una lista de números positivos terminada con un número no positivo
después del último número válido. 5.5. Imprimir todos los números primos entre 2 y 1.000
inclusive. 5.6. Se desea leer las calificaciones de una clase de informática y contar el número total
de aprobados (5 o mayor que 5).
5.7. Leer las notas de una clase de informática y deducir todas aquellas que son NOTABLES (>= 7 y
< 9).
5.8. Leer 100 números. Determinar la media de los números positivos y la media de los números
negativos.
5.10. Una estación climática proporciona un par de temperaturas diarias (máxima, mínima) (no es
posible que alguna o ambas temperaturas sea 9 grados). La pareja fin de temperaturas es 0,0. Se
pide determinar el número de días, cuyas temperaturas se han proporcionado, las medias máxima
y mínima, el número de errores —temperaturas de 9°— y el porcentaje que representaban.
5.11. Calcular:
E(x) = 1 + x =
x2 2!
+ ... +
nn n!
a) Para N que es un entero leído por teclado. b) Hasta que N sea tal que xn/n < E (por ejemplo, E =
10–4).
A1 = 1 A2 = 2 A3 = 1 + 2 = A1 + A2 An = An – 1 + An – 2 (n >= 3)
5.13. Se pretende leer todos los empleados de una empresa —situados en un archivo EMPRESA—
y a la terminación de la lectura del archivo se debe visualizar un mensaje «existen trabajadores
mayores de 65 años en un número de ...» y el número de trabajadores mayores de 65 años.
5.14. Un capital C está situado a un tipo de interés R. ¿Al término de cuántos años se doblará?
5.15. Se desea conocer una serie de datos de una empresa con 50 empleados: a) ¿Cuántos
empleados ganan más de 300.000 pesetas al mes (salarios altos); b) entre 100.000 y 300.000
pesetas (salarios medios); y c) menos de 100.000 pesetas (salarios bajos y empleados a tiempo
parcial)?
6
5.16. Imprimir una tabla de multiplicar como