1)
a)
INICIO
ENTERO suma = 0
PARA i DESDE 1 HASTA 99 HACER
SI i % 2 == 0 ENTONCES
suma = suma + i
FINSI
FINPARA
DEVOLVER suma
FIN
b)
INICIO
ENTERO X
ENTERO N
ENTERO suma = 0
LEER “Ingrese un número:”
GUARDAR en X
LEER “Ingrese un límite:”
GUARDAR en N
PARA i DESDE 1 HASTA N-1 HACER
SI i % X == 0 ENTONCES
suma = suma + i
FINSI
FINPARA
DEVOLVER suma
FIN
2)
Grados centígrados = (grados Fahrenheit − 32) × 5/9
INICIO
FLOTANTE Celsius
FLOTANTE Fahrenheit
LEER “Introduzca una temperatura en grados Fahrenheit:”
GUARDAR en Fahrenheit
Celsius = (Fahrenheit – 32) * 5/9
DEVOLVER Celsius
FIN
3)
FUNCION encontrarIndiceMayor(A)
ENTERO indiceMayor = 1
ENTERO valorMayor = A[1]
PARA j DESDE 2 HASTA largo(A) HACER
SI A[j] > valorMayor ENTONCES
indiceMayor = j
valorMayor = A[j]
FINSI
FINPARA
DEVOLVER indiceMayor
FINFUNCION
INICIO
VECTOR A = [4, 6, 11, 78, 223, 10, 1, 43]
indiceMayor = encontrarIndiceMayor(A)
valorMayor = A[indiceMayor]
ESCRIBIR “El número más grande es: ”, valorMayor
FIN
FUNCION encontrarValorMayor(A)
ENTERO valorMayor = A[1]
PARA j DESDE 2 HASTA largo(A) HACER
SI A[j] > valorMayor ENTONCES
valorMayor = A[j]
FINSI
FINPARA
DEVOLVER valorMayor
FINFUNCION
INICIO
VECTOR A = [4, 6, 11, 78, 223, 10, 1, 43]
valorMayor = encontrarValorMayor(A)
ESCRIBIR “El número más grande es: ”, valorMayor
FIN
4)
FUNCION actualizarPrecio(valorInicial, inflaciones)
FOTANTE precioFinal = valorInicial
PARA inflacion EN inflaciones HACER
diferencia = precioFinal * (inflación / 100)
precioFinal = precioFinal + diferencia
FINPARA
FINFUNCION
5)
FUNCION esPrimo(numero)
SI numero <= 1 ENTONCES
DEVOLVER Falso
SINO
ENTERO raíz = raizCuadrada(numero)
PARA i DESDE 2 HASTA (numero - 1) HACER # o usar raíz para reducir tiempo
SI numero % i == 0 ENTONCES
DEVOLVER Falso
FINSI
FINPARA
FINSI
DEVOLVER Verdadero
FINFUNCION
6)
FUNCION factorial(num)
SI num == 0 O num == 1
DEVOLVER 1
FINSI
resultado = 1
PARA i DESDE 1 HASTA num -1 HACER # considerando un HASTA incluyendo el ultimo valor
resultado = resultado * i
FINPARA
DEVOLVER resultado
FINFUNCION
Version recursiva
FUNCION factorial_recursivo(num)
SI num == 0 O num == 1 ENTONCES
DEVOLVER 1
SINO
DEVOLVER num * factorial_recursivo(num - 1)
FINSI
FINFUNCION
7)
INICIO
ENTERO num
LEER “Indique el número entero”
GUARDAR en num
ultimoDigito = RESTO(num, 10)
ESCRIBIR “El ultimo digito es: ”, ultimoDigito
FIN
INICIO
ENTERO segundos
ENTERO minutos
ENTERO horas
LEER “Indique una cantidad de segundos:”
GUARDAR en segundos
horas = segundos / 3600
minutos = RESTO(segundos, 3600) / 60
segundosRestantes = RESTO(segundos, 60)
ESCRIBIR “Tiempo total:”, horas, “:”, minutos, “:”, segundos
FIN
8)
FUNCION encontrarValor(A, X)
ENTERO índice = -1
PARA i DESDE 1 HASTA longitud(A) HACER
SI A[i] == X entonces
Índice = i
FINSI
FINPARA
DEVOLVER indice
FINFUNCION
FUNCION buscarValorOrdenado(A, X)
ENTERO indice = -1
ENTERO inicio = 1
ENTERO fin = longitud(A)
MIENTRAS inicio <= fin HACER
ENTERO medio = (inicio + fin) / 2
SI A[medio] == X ENTONCES
indice = medio
SINOSI A[medio] < X ENTONCES
inicio = medio + 1
SINO
fin = medio -1
FINSI
FINMIENTRAS
DEVOLVER indice
FINFUNCION
9)
FUNCION sumaEnteros(A, B)
resultado = []
acarreo = 0
# longitud_max = MAXIMO(longitud(A), longitud(B))
PARA i DESDE 1 HASTA longitud(A) HACER # o HASTA longitud_max
# Obtener dígitos (0 si no existen)
# digito_A = SI i <= longitud(A) ENTONCES A[i] SINO 0 FINSI
# digito_B = SI i <= longitud(B) ENTONCES B[i] SINO 0 FINSI
# suma = digito_A + digito_B + acarreo
suma = A[i] + B[i] + acarreo
SI suma >= 10 ENTONCES
acarreo = 1
[Link](suma - 10)
SINO
[Link](suma)
acarreo = 0
FINSI
FINPARA
SI acarreo == 1 ENTONCES
[Link](acarreo)
FINSI
DEVOLER resultado
FINFUNCION