Está en la página 1de 14

Universidad Politécnica de Paria

Ingeniería en Informática
Algorítmica y Programación.
Guía de Algorítmica y Programación I. Profesor Robert López Ciclos Repetitivos 06-04-14

1) Realice un programa que dado un grupo de números naturales positivos calcule e imprima el
cubo de estos números.

2) Un vendedor ha hecho una serie de ventas y desea conocer aquellas de $200 o menos, las
mayores a $200 pero inferiores a S400, y el número de ventas de S400 o superiores a tal cantidad.
Haga un programa que le proporcione al vendedor los datos de salida después de haber leído los
datos de entrada.

Algoritmo VendedorVentas
Definir ventasMenores200, ventasEntre200y400, ventasMayores400 Como Entero
ventasMenores200 <- 0
ventasEntre200y400 <- 0
ventasMayores400 <- 0

Escribir “Ingrese el número de ventas realizadas:”


Leer totalVentas

Para i <- 1 Hasta totalVentas Hacer


Escribir “Ingrese el monto de la venta “, i, “:”
Leer montoVenta

Si montoVenta <= 200 Entonces


ventasMenores200 <- ventasMenores200 + 1
Sino Si montoVenta > 200 Y montoVenta < 400 Entonces
ventasEntre200y400 <- ventasEntre200y400 + 1
Sino
ventasMayores400 <- ventasMayores400 + 1
Fin Si
Fin Para

Escribir “Ventas de $200 o menos:”, ventasMenores200


Escribir “Ventas entre $200 y $400:”, ventasEntre200y400
Escribir “Ventas de $400 o más:”, ventasMayores400
FinAlgoritmo

3) El siguiente de llama la conjetura de ULAM en honor al matemático S. Ulam:

 Comience con un entero positivo.


 Si es par, divídalo entre 2; si es impar multiplíquelo por 3 y agréguele 1.
 Obtenga enteros sucesivamente repitiendo el proceso.

Al final obtendrá el numero 1 independientemente del entero inicial. Por ejemplo cuando el
entero inicial es 26, la secuencia será 26,13,40,20,10,5,16,8,4, 1.

Construya un programa que lea un número positivo y obtenga e imprima la sucesión de ULAM.
Algoritmo ConjeturaDeUlam
Definir n, siguiente Como Entero

Escribir “Ingrese un número positivo:”


Leer n
Mientras n <> 1 Hacer
Si n % 2 = 0 Entonces
Siguiente <- n / 2
Sino
Siguiente <- 3 * n + 1
FinSi

Escribir siguiente
N <- siguiente
FinMientras

FinAlgoritmo

4) Escriba un programa que calcule e imprima la suma de los primeros 50 números enteros

Algoritmo SumaPrimeros50Enteros
Definir suma, i Como Entero

Suma <- 0 # Inicializamos la variable de suma en 0

Para i <- 1 Hasta 50 Con Paso 1 Hacer


Suma <- suma + i # Agregamos el valor actual de ‘i’ a la suma
FinPara

Escribir “La suma de los primeros 50 números enteros es:”, suma


FinAlgoritmo

5) Realice un programa que sume independientemente los pares y los impares de los números
comprendidos entre 1 y 100

Algoritmo SumaParesImpares
Definir sumaPares, sumaImpares, i Como Entero

sumaPares <- 0
sumaImpares <- 0

Para i <- 1 Hasta 100 Con Paso 1 Hacer


Si i % 2 = 0 Entonces
sumaPares <- sumaPares + i
Sino
sumaImpares <- sumaImpares + i
FinSi
FinPara

Escribir “La suma de los números pares entre 1 y 100 es:”, sumaPares
Escribir “La suma de los números impares entre 1 y 100 es:”, sumaImpares
FinAlgoritmo

6) Realice un programa que lea una serie de números no nulos, terminada con la introducción
de un número 0, y calcule e imprima el mayor de ellos y diga si se han introducidos números
negativos.

Algoritmo MayorYNegativos
Definir numero, mayor, negativos Como Entero

Mayor <- 0
Negativos <- 0

Escribir “Introduce una serie de números no nulos (termina con 0):”

Repetir
Leer numero

Si numero <> 0 Entonces


Si numero > mayor Entonces
Mayor <- numero
FinSi

Si numero < 0 Entonces


Negativos <- negativos + 1
FinSi
FinSi
Hasta Que numero = 0

Escribir “El número mayor es:”, mayor

Si negativos > 0 Entonces


Escribir “Se han introducido números negativos.”
Sino
Escribir “No se han introducido números negativos.”
FinSi
FinAlgoritmo

7) En una universidad con un número determinado de alumnos se desea obtener el promedio


de notas de la población femenina, el promedio de notas de la población masculina y el
promedio de notas en general. Por cada alumno se ingresa la nota y el sexo. Realice un
programa para calcular lo solicitado.

Algoritmo PromedioNotasGenero
Definir nota, sexo, sumaFemeninas, sumaMasculinas, cantidadFemeninas,
cantidadMasculinas, promedioFemeninas, promedioMasculinas, promedioGeneral Como Real

sumaFemeninas <- 0
sumaMasculinas <- 0
cantidadFemeninas <- 0
cantidadMasculinas <- 0

Escribir “Ingrese las notas y sexos de los alumnos (0 para finalizar):”

Repetir
Escribir “Nota:”
Leer nota
Si nota <> 0 Entonces
Escribir “Sexo (1 para femenino, 2 para masculino):”
Leer sexo
Si sexo = 1 Entonces
sumaFemeninas <- sumaFemeninas + nota
cantidadFemeninas <- cantidadFemeninas + 1
Sino
sumaMasculinas <- sumaMasculinas + nota
cantidadMasculinas <- cantidadMasculinas + 1
FinSi
FinSi
Hasta Que nota = 0

promedioFemeninas <- sumaFemeninas / cantidadFemeninas


promedioMasculinas <- sumaMasculinas / cantidadMasculinas
promedioGeneral <- (sumaFemeninas + sumaMasculinas) / (cantidadFemeninas +
cantidadMasculinas)

Escribir “Promedio de notas de la población femenina:”, promedioFemeninas


Escribir “Promedio de notas de la población masculina:”, promedioMasculinas
Escribir “Promedio de notas en general:”, promedioGeneral
FinAlgoritmo

8) Realice un programa que dado como datos 20 números enteros calcule la suma de los
números impares y el promedio de los números pares.

Algoritmo SumaPromedioImparesPares
Definir numero, sumaImpares, sumaPares, cantidadPares Como Entero
Definir promedioPares Como Real

sumaImpares <- 0
sumaPares <- 0
cantidadPares <- 0

Para i <- 1 Hasta 20 Con Paso 1 Hacer


Escribir “Ingrese el número “, i, “:”
Leer numero

Si numero MOD 2 = 0 Entonces


sumaPares <- sumaPares + numero
cantidadPares <- cantidadPares + 1
Sino
sumaImpares <- sumaImpares + numero
FinSi
FinPara

Si cantidadPares > 0 Entonces


promedioPares <- sumaPares / cantidadPares
Escribir “El promedio de los números pares es:”, promedioPares
Sino
Escribir “No se ingresaron números pares.”
FinSi

Escribir “La suma de los números impares es:”, sumaImpares


FinAlgoritmo

9) Realice un programa que lea un numero entero N y calcule el resultado de la serie


1 1 1 1
1− + − + … , ±
2 3 4 N

Algoritmo SerieAlternante
Definir N, resultado, i Como Real
Escribir "Ingrese un número entero N:"
Leer N
resultado <- 1.0
Para i <- 2 Hasta N Con Paso 1 Hacer
Si Mod(i,2) = 0 Entonces
resultado <- resultado - (1/i)
Sino
resultado <- resultado + (1/i)
FinSi
FinPara
Escribir "El resultado de la serie es: ", resultado
FinAlgoritmo

10) Realice un programa que lea un número y calcule e imprima su factorial N!


El factorial de un número se calcula:
0!=1
1|=1
2!=2*1
3!=3*2*1
N!=N*(N-1)* (N-2)*(N-3)*....*3*2*1

Algoritmo CalculoFactorial
Definir num, contador, factorial Como Entero

Escribir “Ingrese un número entero positivo:”


Leer num

Contador <- 1
Factorial <- 1

Mientras contador <= num Hacer


Factorial <- factorial * contador
Contador <- contador + 1
FinMientras

Escribir “El factorial de”, num, “es:”, factorial


FinAlgoritmo

11) Realice un programa que escriba las tablas de multiplicar del 1 al 10.

Algoritmo TablasDeMultiplicar
Definir tabla, multiplicador, resultado Como Entero

Para tabla <- 1 Hasta 10 Con Paso 1 Hacer


Escribir “Tabla de multiplicar del”, tabla, “:”
Para multiplicador <- 1 Hasta 10 Con Paso 1 Hacer
Resultado <- tabla * multiplicador
Escribir tabla, “ x “, multiplicador, “ = “, resultado
FinPara
Escribir “” # Línea en blanco para separar las tablas
FinPara
FinAlgoritmo
12) Escribir un programa que calcule y visualice el más grande, el más pequeño y el promedio
de N números. El valor de N se solicitará al principio del programa y los números serán
introducidos por el usuario.

Algoritmo MayorMenorPromedio
Definir N, numero, mayor, menor, suma Como Entero
Definir promedio Como Real

Escribir “Ingrese la cantidad de números (N):”


Leer N

Mayor <- -999999 # Inicializamos con un valor muy pequeño


Menor <- 999999 # Inicializamos con un valor muy grande
Suma <- 0

Para i <- 1 Hasta N Con Paso 1 Hacer


Escribir “Ingrese el número “, i, “:”
Leer numero

Si numero > mayor Entonces


Mayor <- numero
FinSi

Si numero < menor Entonces


Menor <- numero
FinSi

Suma <- suma + numero


FinPara

Promedio <- suma / N

Escribir “El número mayor es:”, mayor


Escribir “El número menor es:”, menor
Escribir “El promedio es:”, promedio
FinAlgoritmo

13) Escribir un programa que visualice el siguiente dibujo utilizando ciclos for.
*
* **
* * * * *
* * * * * * *
* * * * *
* * *
*
Algoritmo DibujarEstrella
Definir i, j Como Entero
Para i <- 1 Hasta 5 Hacer
Para j <- 1 Hasta i*2-1 Hacer
Escribir Sin Saltar “* “
Fin Para
Escribir “”
Fin Para

Escribir “*”
Para i <- 3 Hasta 1 Paso -1 Hacer
Para j <- 1 Hasta i*2-1 Hacer
Escribir Sin Saltar “* “
Fin Para
Escribir “”
Fin Para

FinAlgoritmo

14) Escriba un programa que calcule la suma de la serie 1/2 +2/2 2 + 3/23 +.... n/2n n es un
número que se introduce por teclado.

Algoritmo SumaSerieAlternante
Definir n, i Como Entero
Definir suma Como Real

Escribir “Ingrese un número entero positivo (n):”


Leer n

Suma <- 0

Para i <- 1 Hasta n Con Paso 1 Hacer


Suma <- suma + i / (2^i)
FinPara

Escribir “La suma de la serie es:”, suma


FinAlgoritmo

15) Escriba un programa que determine si un número introducido por teclado es o no un


número primo.

Algoritmo NumeroPrimo
Definir numero, divisor, residuo Como Entero
Definir esPrimo Como Logico

Escribir “Ingrese un número entero positivo:”


Leer numero

esPrimo <- Verdadero # Suponemos que el número es primo inicialmente

Si numero <= 1 Entonces


esPrimo <- Falso # Los números menores o iguales a 1 no son primos
Sino
Para divisor <- 2 Hasta Raiz(numero) Con Paso 1 Hacer
Residuo <- numero MOD divisor
Si residuo = 0 Entonces
esPrimo <- Falso # Si encontramos un divisor, el número no es primo
Salir # Salimos del bucle
FinSi
FinPara
FinSi

Si esPrimo Entonces
Escribir numero, “ es un número primo.”
Sino
Escribir numero, “ no es un número primo.”
FinSi
FinAlgoritmo

Guía de ejercicios, Primer examen.

1) Escriba un programa que lea un valor de una distancia en pies, lo convierta a metros y lo
saque en pantalla.

Algoritmo ConvertirPiesAMetros

Definir pies, metros Como Real

Escribir “Ingrese la distancia en pies:”

Leer pies

Metros = pies * 0.3048

Escribir “La distancia en metros es:”, metros

FinAlgoritmo

2) Escriba un programa que lea el nombre de una persona y su peso en libras, luego saque en
pantalla el nombre de la persona y su peso en Kilogramos.

Algoritmo ConvertirLibrasAKilogramos
Definir nombre Como Cadena
Definir pesoLibras, pesoKilogramos Como Real

Escribir “Ingrese el nombre de la persona:”


Leer nombre

Escribir “Ingrese el peso en libras:”


Leer pesoLibras

pesoKilogramos = pesoLibras * 0.453592

Escribir “Nombre:”, nombre


Escribir “Peso en kilogramos:”, pesoKilogramos
FinAlgoritmo

3) Escriba un programa que lea el nombre de una persona y su edad (suponiendo que ya
cumplió años), luego saque en pantalla el nombre y el año en que nació.

Algoritmo CalcularAnioNacimiento
Definir nombre Como Cadena
Definir edad, anioNacimiento Como Entero

Escribir “Ingrese el nombre de la persona:”


Leer nombre

Escribir “Ingrese la edad de la persona:”


Leer edad

anioNacimiento = AñoActual() – edad


Escribir “Nombre:”, nombre
Escribir “Año de nacimiento:”, anioNacimiento
FinAlgoritmo

4) Escriba un programa que lea 5 números y saque en pantalla el promedio entre ellos.

Algoritmo CalcularPromedio
Definir num1, num2, num3, num4, num5, promedio Como Real

Escribir “Ingrese el primer número:”


Leer num1
Escribir “Ingrese el segundo número:”
Leer num2
Escribir “Ingrese el tercer número:”
Leer num3
Escribir “Ingrese el cuarto número:”
Leer num4
Escribir “Ingrese el quinto número:”
Leer num5

Promedio = (num1 + num2 + num3 + num4 + num5) / 5

Escribir “El promedio es:”, promedio


FinAlgoritmo

5) Escriba un programa que lea 2 números y luego saque en pantalla el resultado de la


multiplicación.

Algoritmo MultiplicarNumeros
Definir num1, num2, resultado Como Real

Escribir “Ingrese el primer número:”


Leer num1
Escribir “Ingrese el segundo número:”
Leer num2

Resultado = num1 * num2

Escribir “El resultado de la multiplicación es:”, resultado


FinAlgoritmo

6) Escriba un programa que lea la altura y la base de un triángulo y calcule y. escriba en pantalla
su área. (área = base X altura / 2).

Algoritmo Calcular_Area_Triangulo
Definir base, altura, area Como Real

Escribir “Introduzca la base del triángulo:”


Leer base

Escribir “Introduzca la altura del triángulo:”


Leer altura

Area = (base * altura) / 2


Escribir “El área del triángulo es:”, area
FinAlgoritmo

7) Escriba un programa que lea un número del1 al 12 y diga a que mes corresponde, por
ejemplo: Si se le introduce 3, el programa arrojará marzo.

Algoritmo Mes_Correspondiente
Definir numero_mes Como Entero

Escribir “Introduzca un número del 1 al 12:”


Leer numero_mes

Según numero_mes Hacer


1: Escribir “Enero”
2: Escribir “Febrero”
3: Escribir “Marzo”
4: Escribir “Abril”
5: Escribir “Mayo”
6: Escribir “Junio”
7: Escribir “Julio”
8: Escribir “Agosto”
9: Escribir “Septiembre”
10: Escribir “Octubre”
11: Escribir “Noviembre”
12: Escribir “Diciembre”
De Otro Modo: Escribir “Número inválido”
FinSegun
FinAlgoritmo

8) Escribir un programa que lea un número correspondiente a la nota de un estudiante y lo


clasifique según lo siguiente:

De O a <10 Deficiente.
De 10 a<16 Bueno
De 16 a <20 Distinguido
Si es 20 Sobresaliente
Más de 20 No es una nota

Algoritmo Clasificar_Nota
Definir nota Como Real

Escribir “Introduzca la nota del estudiante:”


Leer nota

Según nota Hacer


0 Hasta 10: Escribir “Deficiente”
10 Hasta 16: Escribir “Bueno”
16 Hasta 20: Escribir “Distinguido”
20: Escribir “Sobresaliente”
De Otro Modo: Escribir “No es una nota válida”
FinSegun
FinAlgoritmo
9) Escriba un programa que lea un número correspondiente al salario de un empleado y calcule
un aumento de acuerdo a lo siguiente:

De 0 a 1000 S 20 % de aumento
De 1001 a 5000 $ 10 % de aumento
De 5001 a 10000 $ 5% de aumento
De 10001 en adelante 0 % de aumento
El programa debe sacar en pantalla el sueldo anterior, el porcentaje aumentado y el sueldo
final.

Algoritmo AumentoSueldo
Definir salario, aumento, sueldoFinal Como Real
Escribir “Ingrese el salario del empleado:”
Leer salario

Si salario >= 0 Y salario <= 1000 Entonces


Aumento <- salario * 0.20
Sino Si salario >= 1001 Y salario <= 5000 Entonces
Aumento <- salario * 0.10
Sino Si salario >= 5001 Y salario <= 10000 Entonces
Aumento <- salario * 0.05
Sino
Aumento <- 0
FinSi

sueldoFinal <- salario + aumento

Escribir “Sueldo anterior: “, salario


Escribir “Porcentaje aumentado: “, aumento
Escribir “Sueldo final: “, sueldoFinal
FinAlgoritmo

10) Una tienda de ropa clasifica a sus empleados de acuerdo al número de ventas realizadas
durante el mes. Construya un programa en lenguaje C, tal que dado como dato el nombre y
número de ventas de un empleado, escriba el nombre y la calificación del empleado de acuerdo
al siguiente criterio:

0<= ventas < 50 Deficiente


50<= ventas <100 Regular
100<= ventas Sobresaliente.

Algoritmo ClasificarEmpleado
Definir nombre Como Cadena
Definir ventas Como Entero
Escribir “Ingrese el nombre del empleado:”
Leer nombre
Escribir “Ingrese el número de ventas realizadas:”
Leer ventas

Si ventas >= 0 Y ventas < 50 Entonces


Escribir nombre, “ tiene una calificación: Deficiente”
Sino Si ventas >= 50 Y ventas < 100 Entonces
Escribir nombre, “ tiene una calificación: Regular”
Sino
Escribir nombre, “ tiene una calificación: Sobresaliente”
FinSi
FinAlgoritmo

11) Dado como dato tres números enteros, realice un programa en C que determine si la
multiplicación de cualquier pareja de ellos es mayor a 100, si cumple esta condición escribir el
resultado y la palabra MAYOR, y en caso contrario escribir el resultado y la palabra MENOR.

Algoritmo MultiplicacionMayor100
Definir num1, num2, num3, producto Como Real
Escribir “Ingrese el primer número entero:”
Leer num1
Escribir “Ingrese el segundo número entero:”
Leer num2
Escribir “Ingrese el tercer número entero:”
Leer num3

Producto <- num1 * num2


Si producto > 100 Entonces
Escribir “La multiplicación es MAYOR a 100. Resultado:”, producto
Sino
Escribir “La multiplicación es MENOR o igual a 100. Resultado:”, producto
FinSi
FinAlgoritmo

12) Escriba un programa que lea un número correspondiente al precio de un producto y calcule
un descuento según lo siguiente:

De 0,00 a 2,00 Bs 0% de descuento


De 2,01 a 5,00 5% de descuento
De 5,01 a 10,00 10% de descuento
De 10,01 en adelante 20% de descuento

El programa debe sacar en pantalla el precio actual, el descuento y el precio con el descuento
aplicado.

Algoritmo CalcularDescuento
Definir precio, descuento, precioConDescuento Como Real
Escribir “Ingrese el precio del producto:”
Leer precio

Si precio >= 0.00 Y precio <= 2.00 Entonces


Descuento <- 0
Sino Si precio >= 2.01 Y precio <= 5.00 Entonces
Descuento <- 0.05
Sino Si precio >= 5.01 Y precio <= 10.00 Entonces
Descuento <- 0.10
Sino
Descuento <- 0.20
FinSi

precioConDescuento <- precio – (precio * descuento)

Escribir “Precio actual: “, precio


Escribir “Descuento aplicado: “, descuento * 100, “%”
Escribir “Precio con descuento: “, precioConDescuento
FinAlgoritmo

13) Escriba un programa que dado como dato tres números enteros diga si puede realizarse o
no un triángulo, y si puede realizarse que diga si es equilátero, isósceles o escaleno.

Algoritmo ClasificarTriangulo
Definir a, b, c Como Real
Escribir “Ingrese la longitud del primer lado (a):”
Leer a
Escribir “Ingrese la longitud del segundo lado (b):”
Leer b
Escribir “Ingrese la longitud del tercer lado ©:”
Leer c

Si (a + b > c) Y (a + c > b) Y (b + c > a) Entonces


Escribir “Se puede formar un triángulo.”
Si a = b Y b = c Entonces
Escribir “Es un triángulo equilátero.”
Sino Si a = b O b = c O a = c Entonces
Escribir “Es un triángulo isósceles.”
Sino
Escribir “Es un triángulo escaleno.”
FinSi
FinSi
Sino
Escribir “No se puede formar un triángulo con estas longitudes.”
FinSi
FinAlgoritmo

14) Escribir un programa que determine si un año es bisiesto. Un año es bisiesto si es múltiplo
de 4 (por ejemplo, 1984). Sin embargo, los años múltiplos de 100 solo son bisiestos cuando a la
vez son múltiplos de 400 (por ejemplo, 1800 no es bisiesto, mientras que 2000 si lo será).

Algoritmo AnioBisiesto

Definir anio Como Entero

Escribir “Ingrese un año:”

Leer anio

Si (anio % 4 = 0) Y ((anio % 100 <> 0) O (anio % 400 = 0)) Entonces

Escribir anio, “ es un año bisiesto.”

Sino

Escribir anio, “ no es un año bisiesto.”

FinSi
FinAlgoritmo

También podría gustarte