Está en la página 1de 15

Metodología de Programación

Materia
Laboratorio de Computación I

Unidad
Metodología de programación
Versión 2022

Cátedra: Roclaw –Schurman

Página 1 de 15
Metodología de Programación

1. Ejercicios sobre la comprensión del problema

El objetivo de esta práctica es trabajar en grupos para debatir y acordar sobre la comprensión del
problema y sus posibles soluciones.

Además, se pide que determinen el tipo de valores de los datos y de los resultados.

1.1. Calcular el sueldo de un operario conociendo la cantidad de horas que trabajó en el mes y
el valor de cada hora.

1.2. Hallar el máximo entre 2 números reales dados.

1.3. Hallar el número mínimo de una lista de tres números.

1.4. Dada una lista de 3 números, determinar si el primero es menor que los otros 2.

1.5. Dados los catetos de un triángulo, calcular el perímetro de este si la longitud del cateto
mayor es mayor a 100, de lo contrario, calcular su superficie.

1.6. Idem al 1.1., pero ahora para 100 operarios.

1.7. Dada una lista de valores enteros que finaliza cuando se ingresa el valor cero, hallar el
rango de la lista, es decir, la diferencia entre el valor máximo y el mínimo de esta.

1.8. Dada una palabra de 5 letras, determinar si la misma es palíndromo (“capicúa”)

1.9. Idem 1.8, pero para una palabra de n letras.

Página 2 de 15
Metodología de Programación

2. Ejercicios sobre expresiones booleanas

En los ejercicios siguientes se deberá evaluar expresiones que utilizan los operadores aritméticos,
de relación y lógicos.

Recuerde las “Tablas de Verdad” de los operadores lógicos

A B AyB A B AoB A no A
f f f f f f f v
f v f f v v v f
v f f v f v
v v v v v v

Sean A, B y C variables enteras tal que


A= 6 B= -4 C= 6

Indique el resultado de las expresiones si es que las mismas son correctas. Caso
contrario indicar el error.

2.1. A > B + 1
2.2. A = 6 y B = -4
2.3. A = 6 o B = -4
2.4. A = 6 o B = 4
2.5. (A = C) o (B = 4) y (C = 2)
2.6. A – B < o C
2.7. no (A > 0)
2.8. A + 2 = 8 y (C – 2 = b)
2.9. (A = - 6) y (B = -4)

Escriba una expresión lógica para cada una de las siguientes condiciones. Para todos
los casos X, Y, Z Y W son variables reales)

2.10. W es menor que X, menor que Y, y menor que Z.


2.11. W es menor que al menos uno de X, Y, Z.
2.12. W es mayor que el promedio de X, Y, Z y menor que X.

Página 3 de 15
Metodología de Programación

3. Ejercicios sobre “acciones”

En todos los ejercicios que siguen, será necesario hacer lo siguiente:


- Leer bien el enunciado y comprender el problema
- Construir el algoritmo
- Definir las variables
- Verificar la validez de la solución obtenida

3.1. Calcule en la variable ‘promedio’ el promedio de las constantes 20.5 y 16.3, y


emita el resultado

3.2. Dado el siguiente algoritmo:

Proceso seguimiento
//Definimos variables
definir H, R, G, T, N Como Real
// comienzo de algoritmo
H= 2.15
R= 0.85
T= 1.5
G=H+R
T= H*G
N= G-T
Escribir R,R,G,T,N
FinProceso

a. Defina las variables


b. ¿Qué emite el algoritmo como resultado final de su ejecución?
c. Si intercambiamos en la ejecución las 2 primeras asignaciones, ¿qué emite
el nuevo algoritmo?
d. Si al algoritmo original se le intercambia el orden de las asignaciones de las
líneas 4 y 5, ¿qué sucede?, ¿emite algo el nuevo algoritmo?

3.3. Leer dos números enteros por teclado y emitir los resultados de las siguientes
operaciones:
• La suma de ambos
• La resta del primero menos el segundo
• La multiplicación de ambos

3.4. Escriba el algoritmo que resuelva el ejercicio 1.1. que decía: Calcular el sueldo de
un operario conociendo la cantidad de horas que trabajó en el mes y el valor de cada
hora.

3.5. Escriba un programa que lea el peso en libras de un objeto, y calcule y emita su
peso convertido a gramos y a kilogramos. (Supondremos que 1 libra = 450 gr).

3.6. Escriba un programa que calcule y emita la suma y el promedio de 2 números


enteros cualesquiera.

3.7. Leer 3 caracteres y emitirlos en orden inverso.

3.8. Realizar un programa para intercambiar los contenidos de dos variables enteras.

3.9. Realizar un programa que declare las variables x, y, z, les asigne los valores 10,
20 y 30 e intercambie entre si sus valores de forma que el valor de x pasa a y, el de y

Página 4 de 15
Metodología de Programación

pasa a z y el valor de z pasa a x (se pueden declarar variables auxiliares, aunque se


pide que se use el menor número posible).

Más Ejercicios de Acción

3.10. Suponga que un individuo desea invertir su capital en un banco y desea saber
cuánto dinero ganara después de un mes si el banco paga a razón de 2% mensual.

3.11. Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus
ventas, el vendedor desea saber cuánto dinero obtendrá por concepto de comisiones
por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en
cuenta su sueldo base y comisiones.

3.12. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente
desea saber cuánto deberá pagar finalmente por su compra.

3.13. Un alumno desea saber cuál será su calificación final en la materia de


Algoritmos. Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.

3.14. Un maestro desea saber qué porcentaje de hombres y que porcentaje de


mujeres hay en un grupo de estudiantes.

3.15. Dada una cantidad en pesos, obtener la equivalencia en dólares, asumiendo que
la unidad cambiaría es un dato desconocido.

3.16. Leer un número y escribir el valor absoluto del mismo.

3.17. La presión, el volumen y la temperatura de una masa de aire se relacionan por la


formula:
masa = (presión * volumen)/(0.37 * (temperatura + 460))

3.18. Calcular el número de pulsaciones que una persona debe tener por cada 10
segundos de ejercicio, si la formula es:
num. pulsaciones = (220 - edad)/10

3.19. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su
salario anterior.

3.20. En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El


presupuesto anual del hospital se reparte conforme a la sig. tabla:

Área Porcentaje del presupuesto


Ginecología 40%
Traumatología 30%
Pediatría 30%

Obtener la cantidad de dinero que recibirá cada área, para cualquier monto
presupuestal.

Página 5 de 15
Metodología de Programación

3.21. El dueño de una tienda compra un artículo a un precio determinado. Obtener el


precio en que lo debe vender para obtener una ganancia del 30%.

3.22. Todos los lunes, miércoles y viernes, una persona corre la misma ruta y
cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona
tarda en recorrer la ruta en una semana cualquiera.

4. Ejercicios de “Condición simple y compuesta” introductorios

4.1. Leer 2 valores reales y emitir el mayor de ellos.

4.2. Leer 2 valores reales e indicar si el primero es mayor que el segundo.

4.3. Dados 2 números reales, emitir uno de estos 3 mensajes, según corresponda:
- “El primero es mayor que el segundo”
- “El primero es menor que el segundo”
- “Ambos son iguales”
4.4. Leer un número real y emitir una leyenda informando si es mayor, menor o igual a
cero

Página 6 de 15
Metodología de Programación

4.5. Analizar el siguiente programa:

Proceso seguimiento
//Definimos variables
definir a, b, c Como Entero
// comienzo de algoritmo
leer a
leer b
leer c
segun a hacer
1:
si b>c entonces
escribir b
Sino
escribir c
FinSi
2:
si b>c entonces
escribir b
Sino
si b<=c entonces
escribir c
FinSi
FinSi
3:
si b>0 entonces
si c>0 entonces
escribir b
sino
escribir c
FinSi
Sino
si b=0 entonces
escribir c
sino
si b<0 entonces
escribir b
FinSi
FinSi
FinSi
4:
d= b+c
escribir d
De Otro Modo:
Escribir "Opción no válida"
FinSegun
FinProceso

Página 7 de 15
Metodología de Programación

a) Defina las Variables


b) Indique qué hace este programa
c) Simplifíquelo si es posible

4.6. Dadas las longitudes de los 3 lados de un triángulo, determinar e informar si éste
es equilátero, isósceles o escaleno. Dar 2 soluciones diferentes a este ejercicio.

4.7. Resolver el ejercicio 1.4 que decía: Dada una lista de 3 números, determinar si el
primero es menor que los otros 2.

4.8. Se ingresan 3 valores numéricos. Si el primer valor es mayor que el segundo, pero
menor que el tercero, se debe emitir el producto de los 3 valores; caso contrario se
debe emitir la suma de los 3 valores.

4.9. Leer 3 valores enteros y emitir el máximo de ellos.

4.10. Leer 3 caracteres y emitir el máximo de ellos. Si fueran 3 cadenas, ¿hay cambios
en el algoritmo?

4.11. Dados 2 valores reales, hallar el cociente del primero por el segundo. Emitir un
mensaje en el caso de la división por cero.

4.12. Dados 2 número reales cualesquiera, emitirlos ordenados de menor a mayor.

4.13. Aprovechar el ejercicio 1.1. el cual decía: Calcular el sueldo de un operario


conociendo la cantidad de horas que trabajó en el mes y el valor de cada hora.
Agregarle al mismo la condición de deducción de un 1.5% de impuestos si el salario
bruto excede los $30000.

4.14. Ingresar 4 números de a uno por vez. Si los valores están ordenados en forma
estrictamente creciente, emitir el mensaje “Conjunto Ordenado”, caso contrario, emitir
el mensaje “Conjunto Desordenado”.

Página 8 de 15
Metodología de Programación

4.16. Leer un número entero y determinar si es un número par

5. Ejercicios de “Condición” SIMPLE

5.1. Un hombre desea saber cuánto dinero se genera por concepto de intereses sobre
la cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses
siempre y cuando estos excedan a $10000, y en ese caso desea saber cuánto dinero
tendrá finalmente en su cuenta.

5.2. Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si


su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.

5.3. En un almacén se hace un 20% de descuento a los clientes cuya compra supere
los $5000 ¿Cuál será la cantidad que pagará una persona por su compra?

5.4. Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig.


manera:
Si trabaja 40 horas o menos se le paga $160 por hora
Si trabaja más de 40 horas se le paga $160 por cada una de las primeras 40 horas y
$200 por cada hora extra.

5.5. Calcular el total que una persona debe pagar en una gomería, si el precio de cada
llanta es de $20000 si se compran menos de 5 llantas y de $70000 si se compran 5 o
más.

5.6. En un supermercado se hace una promoción, mediante la cual el cliente obtiene


un descuento dependiendo de un número que se elige al azar. Si el número escogido
es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o
igual a 74 el descuento es del 20%. Obtener cuánto dinero se le descuenta.

5.7. Calcular el número de pulsaciones que debe tener una persona por cada 10
segundos de ejercicio aeróbico; la fórmula que se aplica cuando el sexo es femenino
es:
num. pulsaciones = (220 - edad)/10
y si el sexo es masculino:
num. pulsaciones = (210 - edad)/10

5.8. Una compañía de seguros está abriendo un departamento de finanzas y


estableció un programa para captar clientes, que consiste en lo siguiente: Si el monto
por el que se efectúa la fianza es menor que $500 000 la cuota a pagar será por el 3%
del monto, y si el monto es mayor que $500 000 la cuota a pagar será el 2% del
monto. La afianzadora desea determinar cuál será la cuota que debe pagar un cliente.

5.9. En una escuela la colegiatura de los alumnos se determina según el número de


materias que cursan. El costo de todas las materias es el mismo.
Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo
siguiente: si el promedio obtenido por un alumno en el último periodo es mayor o igual
que 9, se le hará un descuento del 30% sobre la colegiatura y no se le cobrará IVA; si
el promedio obtenido es menor que 9 deberá pagar la colegiatura completa, la cual
incluye el 10% de IVA.
Obtener cuánto debe pagar un alumno.

Página 9 de 15
Metodología de Programación

5.11. Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes
condiciones: Si los ingresos del comprador son menores de $80000 el enganche será
del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en
diez años. Si los ingresos del comprador son de $80000 o más el enganche será del
30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 7
años.

5.12. El gobierno desea reforestar un bosque que mide determinado número de


hectáreas. Si la superficie del terreno excede a 1 millón de metros cuadrados,
entonces decidirá sembrar de la sig. manera:
Porcentaje de la superficie del bosque Tipo de árbol
70% pino
20% oyamel
10% cedro

Si la Superficie del terreno es menor o igual a un millón de metros cuadrados,


entonces decidirá sembrar de la sig. manera:
Porcentaje de la superficie del bosque Tipo de árbol
50% pino
30% oyamel
20% cedro

El gobierno desea saber el número de pinos, oyameles y cedros que tendrá que
sembrar en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15
metros cuadrados caben 15 oyameles y en 18 metros cuadrados caben 10 cedros.
También se sabe que una hectárea equivale a 10 mil metros cuadrados.

6. Ejercicios de “Condición” COMPUESTA

6.1. Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el
segundo que los reste y si no que los sume.

6.2. Leer tres números diferentes e imprimir el número mayor de los tres.

6.3. Determinar la cantidad de dinero que recibirá un trabajador por concepto de las
horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo
exceden de 40, el resto se consideran horas extras y que estas se pagan al doble de
una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan
las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.

6.4. Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si


este se le asigna como un porcentaje de su salario mensual que depende de su
antigüedad en la empresa de acuerdo con la sig. tabla:

Tiempo Utilidad
Menos de 1 año 5 % del salario
1 año o más y menos de 2 años 7% del salario
2 años o más y menos de 5 años 10% del salario
5 años o más y menos de 10 años 15% del salario
10 años o más 20% del salario

Página 10 de 15
Metodología de Programación

6.5. En una fábrica de computadoras se planea ofrecer a los clientes un descuento


que dependerá del número de computadoras que compre. Si las computadoras son
menos de cinco se les dará un 10% de descuento sobre el total de la compra; si el
número de computadoras es mayor o igual a cinco pero menos de diez se le otorga un
20% de descuento; y si son 10 o más se les da un 40% de descuento. El precio de
cada computadora es de $210000

6.6. En una gomería se ha establecido una promoción de las llantas marca


“Ponchadas”, dicha promoción consiste en lo siguiente:
Si se compran menos de cinco llantas el precio es de $30000 cada una, de $25000 si
se compran de cinco a 10 y de $20000 si se compran mas de 10.
Obtener la cantidad de dinero que una persona tiene que pagar por cada una de las
llantas que compra y la que tiene que pagar por el total de la compra.

6.7. En un juego de preguntas a las que se responde “Si” o “No” gana quien responda
correctamente las tres preguntas. Si se responde mal a cualquiera de ellas ya no se
pregunta la siguiente y termina el juego. Las preguntas son:
¿Colon descubrió América?
¿La independencia de México fue en el año 1810?
The Doors fue un grupo de rock Americano?

6.8. Un proveedor de estéreos ofrece un descuento del 10% sobre el precio sin IVA,
de algún aparato si esta cuesta $2000 o más. Además, independientemente de esto,
ofrece un 5% de descuento si la marca es “NOSY”. Determinar cuánto pagará, con IVA
incluido, un cliente cualquiera por la compra de su aparato.

6.9. Una frutería ofrece las manzanas con descuento según la siguiente tabla:
NUM. DE KILOS COMPRADOS % DESCUENTO
0 - 2 0%
2.01 - 5 10%
5.01 - 10 15%
10.01 en adelante 20%
Determinar cuánto pagara una persona que compre manzanas es esa frutería.

6.10. El dueño de una empresa desea planificar las decisiones financieras que tomará
en el siguiente año. La manera de planificarlas depende de lo siguiente:

Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo


bancario para que su nuevo saldo sea de $100000. Si su capital tiene actualmente un
saldo positivo pedirá un préstamo bancario para tener un nuevo saldo de $200000,
pero si su capital tiene actualmente un saldo superior a los $200000 no pedirá ningún
préstamo.
Posteriormente repartirá su presupuesto de la siguiente manera.
$50000 para equipo de cómputo
$20000 para mobiliario
y el resto la mitad será para la compra de insumos y la otra para
otorgar incentivos al personal.
Desplegar que cantidades se destinarán para la compra de insumos e incentivos al
personal y, en caso de que fuera necesario, a cuánto ascendería la cantidad que se
pediría al banco.

6.11. Realizar un programa que le presente al usuario un menú de opciones con las
cuatro operaciones básicas (suma, resta, multiplicación, división). Según la operación
elegida ingresará 2 números enteros, se realizará la misma y se mostrará por pantalla

Página 11 de 15
Metodología de Programación

el resultado. El usuario podrá trabajar en el programa hasta que indique lo contrario.


Recordar que la división por cero es indeterminada.

Página 12 de 15
Metodología de Programación

7. Ejercicios de “Repetición”

7.1. Ingrese 10 juegos de pares de valores reales. Calcule y emita el promedio de


cada juego.

7.2. Ingrese 5 pares de valores. En cada oportunidad, emita ambos valores, pero si
además ambos son positivos, emita también el promedio.

7.3. Leer 1000 caracteres. Contar y emitir la cantidad de letras ‘A’ que hay entre esos
caracteres (es indistinto mayúsculas y minúsculas).

7.4. Dada una lista de 100 valores reales, calcular y emitir la sumatoria de todos los
valores menores que el primero de la lista.

7.5. Construir un programa que resuelva el ejercicio 1.6.

7.6. Leer un lote de N valores, de a uno por vez. Determinar y emitir el valor máximo
del conjunto.

7.7. Leer un lote de N valores, de a uno por vez. Determinar y emitir el valor mínimo
del conjunto y la posición en que se halla. Si el mínimo se encuentra en más de una
posición, considerar solo el primero encontrado. ¿Qué debería modificarse en el
algoritmo original si se quiere considerar el último mínimo encontrado en caso de que
haya varios mínimos?

7.8. Leer un lote de valores enteros cuyo fin está dado por un 0 (cero). Contar y emitir
cuántos valores componen este lote.

7.9. Ingresar, carácter por carácter, una palabra terminada con un ‘.’ (punto). Contar y
emitir la cantidad de letras que componen este lote.

7.10. Leer una secuencia de caracteres que termina con un ‘*’ (asterisco) y contar la
cantidad de letras ‘a’ que componen la secuencia.

7.11. Ingresar pares de valores reales. En cada oportunidad, emitir ambos valores. Si
además ambos son positivos, emitir también su promedio. La lista de pares finaliza
con un par (0,0).

7.12. Dada una lista de valores enteros positivos cuya terminación debe usted indicar,
construya un programa que cuente y emita la cantidad de valores mayores de 200 que
se encuentran en esa lista.

7.13. Leer un lote de valores reales, de a uno por vez. El fin del lote está indicado por
el 0 (cero). Determinar y emitir el valor máximo de aquellos que sean mayores a 10.
De no haber ninguno, hay que indicar que el máximo es cero.

7.14. Agregar al ejercicio anterior, la posición del máximo (si hay más de uno, indicar
la primera aparición)

Página 13 de 15
Metodología de Programación

7.15. Analizar el siguiente algoritmo.

Proceso Reptitivo
leer a
leer b
mientras x=0 hacer
a= a+b
escribir a, b
FinMientras
FinProceso

a- Definir las variables


b- Indiqué qué hace el programa
c- Modifíquelo si es necesario para mejorarlo/corregirlo

7.16. Se posee un conjunto de valores numéricos no nulos que serán leídos de a uno
por vez. Calcular y emitir el rango de variación del conjunto, que es la diferencia entre
el máximo y el mínimo del lote (el lote finaliza con un valor cero).

7.17. Una empresa informa para cada uno de sus vendedores el Código de vendedor y
el Importe vendido en el mes. Se desea emitir el importe máximo vendido y cuántos
vendedores alcanzaron dicho máximo.

7.18. Escriba un programa que pida al usuario 10 números enteros y multiplique el


primero por uno, el segundo por dos y así sucesivamente. Debe entregar como salida
la suma de las multiplicaciones.

7.19. Se ingresa por teclado la cantidad de agua caída, en milímetros día a día durante
un mes. Se pide determinar el día de mayor lluvia, el de menor y el promedio

7.20. Una farmacia considera diferentes modalidades de ventas. Cada una está
representada por un código indicador (‘O’, ‘E’ o ‘T’) y un importe.
Si el código es ‘O’, significa que corresponde a una obra social (se abona sólo en
efectivo), le corresponde un 40% de descuento.
Si el código es ‘E’, significa que se abona en efectivo, le corresponde un 10% de
descuento.
Si el código es ‘T’, significa que se abona con tarjeta, le corresponde un 15% de
recargo.
Al terminar el día se ingresa un movimiento con ‘*’ en el código.

Otros con MAXIMOS Y MINIMOS


7.21. Leer una secuencia de números reales cuyo ingreso se termina ingresando un
valor 0. Imprimir los datos a medida que se los ingresa junto con la suma parcial de los
mismos.

7.22. Dada una secuencia de números reales cuyo ingreso se termina ingresando un
valor 0, determinar el valor máximo de la misma.

7.23. Dada una secuencia de números reales cuyo ingreso se termina ingresando un
valor 0, determinar el valor mínimo y la primera posición en la que aparece.

7.24. Dada una secuencia de números reales, determinar el valor máximo y el mínimo
de la secuencia. Se deberá ir preguntando si hay más números para ingresar.

Página 14 de 15
Metodología de Programación

7.25. Dada una secuencia de números reales, determinar el valor máximo, el mínimo y
las posiciones en que éstos se encontraban en la secuencia. Se deberá ir preguntando
si hay más números para ingresar

7.26. Dada una secuencia de números enteros terminada en cero, imprimir los dos
mayores.

7.27. Dada una secuencia de números enteros terminada en cero, imprimir los tres
mayores

Página 15 de 15

También podría gustarte