Trabajo de programación general
Kevin estrada Fontalvo
Profesor
Ricardo Saavedra
1.Elabore un algoritmo que lea un número entero y que produzca el mensaje acerca de
si el entero leído es par o impar.
Iniciar
// Leer un número entero
Leer número
// Determinar si el número es par o impar
Si número % 2 == 0
Mostrar mensaje "El número " & número & " es par."
Sino
Mostrar mensaje "El número " & número & " es impar."
Fin Si
Terminar
2.Elabore algoritmo que lea el nombre de una persona, su estatura y su peso el
algoritmo debe imprimir los datos leídos y un mensaje acerca de si la persona, es
obesa no. Una persona se considera obesa si la relación estatura-peso es menor o igual
que 2. Su programa debe leer la estatura en metros y el peso en kilogramos
.Iniciar
Leer nombre de la persona (nombre)
Leer estatura en metros (estatura_metros)
Leer peso en kilogramos (peso_kg)
Calcular estatura en centímetros (estatura_cm) ← estatura_metros * 100
Calcular relación estatura-peso (relacion) ← estatura_cm / peso_kg
Si relacion <= 2
Mostrar mensaje nombre "es obeso(a)."
Sino
Mostrar mensaje nombre "no es obeso(a)."
Fin Si
Terminar
3.Elabore un algoritmo que lea tres datos numéricos enteros y que determine si con
esos tres datos se puede construir un triangulo equilátero. Su algoritmo debe
imprimir, si se puede' o 'no se puede
Iniciar
Leer lado1 (entero)
Leer lado2 (entero)
Leer lado3 (entero)
Si lado1 <= 0 o lado2 <= 0 o lado3 <= 0
Mostrar mensaje "Los lados deben ser mayores que cero"
Terminar
Fin Si
Si lado1 + lado2 <= lado3 o lado1 + lado3 <= lado2 o lado2 + lado3 <= lado1
Mostrar mensaje "No se puede formar un triángulo"
Terminar
Fin Si
Mostrar mensaje "Sí se puede formar un triángulo equilátero"
Terminar
4.Elabore un algoritmo que lea año, mes y día de nacimiento de una persona, y año,
mes y día actual. El algoritmo debe determinar e imprimir mensaje apropiado si la
edad de la persona está entre 18 y 25 años.
Iniciar
// Leer fecha de nacimiento
Leer año_nacimiento (entero)
Leer mes_nacimiento (entero)
Leer dia_nacimiento (entero)
// Leer fecha actual
Leer año_actual (entero)
Leer mes_actual (entero)
Leer dia_actual (entero)
// Calcular edad en años
edad_años ← año_actual - año_nacimiento
// Calcular si la persona cumple años en este mes
cumple_este_mes ← (mes_actual == mes_nacimiento) and (dia_actual >=
dia_nacimiento)
// Calcular si la persona ya ha cumplido 18 años
cumplio_18 ← edad_años >= 18
// Calcular si la persona aún no ha cumplido 25 años
no_cumplio_25 ← edad_años < 25
Si cumple_este_mes
edad_años ← edad_años + 1
Fin Si
Si cumplio_18 and no_cumplio_25
Mostrar mensaje "La persona tiene " & edad_años & " años y está entre 18 y 25 años."
Sino
Mostrar mensaje "La persona no está entre 18 y 25 años."
Fin Si
Terminar
5.Elabore un algoritmo que lea dos números enteros, efectúe el producto y la suma de
ellos, y luego imprima el resultado mayor entre la suma y el producto, con un mensaje
apropiado
Iniciar
Leer número1 (entero)
Leer número2 (entero)
suma ← número1 + número2
producto ← número1 * número2
Si suma > producto
Mostrar mensaje "La suma (" & suma & ") es mayor que el producto (" & producto &
"). "
mayor ← suma
Sino
Mostrar mensaje "El producto (" & producto & ") es mayor que la suma (" & suma &
"). "
mayor ← producto
Fin Si
Mostrar mensaje "El mayor valor entre la suma y el producto es: " & mayor
Terminar
6.Elabore un algoritmo que lea tres datos a, b, c correspondientes a la ecuación
ax+bx+cy que produzca como salida las raíces de dicha ecuación.
Iniciar
// Leer coeficientes de la ecuación
Leer a (real)
Leer b (real)
Leer c (real)
// Verificar si el coeficiente a es diferente de cero
Si a = 0
Mostrar mensaje "La ecuación no es cuadrática."
Terminar
Fin Si
// Calcular discriminante
discriminante ← b^2 - 4 * a * c
// Verificar si el discriminante es positivo, cero o negativo
Si discriminante > 0
// Raíces reales y distintas
x1 ← (-b + sqrt(discriminante)) / (2 * a)
x2 ← (-b - sqrt(discriminante)) / (2 * a)
Mostrar mensaje "Las raíces son:", x1, "y", x2
Sino Si discriminante = 0
// Raíz real única
x1 ← -b / (2 * a)
Mostrar mensaje "La raíz única es:", x1
Sino
// Raíces complejas conjugadas
parte_real ← -b / (2 * a)
parte_imaginaria ← sqrt(-discriminante) / (2 * a)
Mostrar mensaje "Las raíces complejas conjugadas son:", parte_real, "+",
parte_imaginaria, "i y", parte_real, "-", parte_imaginaria, "i"
Fin Si
Terminar
7.Elabore algoritmo que lea tres enteros positivos y que determine si pueden formar
triângulo o no. Si pueden formar triangulo debe imprimir qué clase de triángulo es
equilátero, isosceles o escaleno. Tres enteros forman triangulo si cada de ellos menor
que la suma de los otros dos.
Iniciar
// Leer lados del triángulo
Leer lado1 (entero positivo)
Leer lado2 (entero positivo)
Leer lado3 (entero positivo)
// Verificar si se cumple la condición para formar un triángulo
Si lado1 + lado2 <= lado3 o lado1 + lado3 <= lado2 o lado2 + lado3 <= lado1
Mostrar mensaje "No se puede formar un triángulo."
Terminar
Fin Si
// Ordenar los lados de mayor a menor
Si lado1 > lado2
auxiliar ← lado1
lado1 ← lado2
lado2 ← auxiliar
Fin Si
Si lado2 > lado3
auxiliar ← lado2
lado2 ← lado3
lado3 ← auxiliar
Fin Si
// Determinar el tipo de triángulo
Si lado1 == lado2 and lado2 == lado3
Mostrar mensaje "El triángulo es equilátero."
Sino Si lado1 == lado2
Mostrar mensaje "El triángulo es isósceles."
Sino Si lado2 == lado3
Mostrar mensaje "El triángulo es isósceles."
Sino
Mostrar mensaje "El triángulo es escaleno."
Fin Si
Terminar
1. Elabore un algoritmo que lea un número entero y que determine e imprima el
mensaje apropiado si el número leído es impar y menor que 100
Iniciar
Leer número (entero)
Si número es impar and número < 100
Mostrar mensaje "El número " & número & " es impar y menor que 100."
Sino
Mostrar mensaje "El número " & número & " no es impar o no es menor que 100."
Fin Si
Terminar
2.Elabore un algoritmo que lea un número entero y que produzca como salida el
número leído con el mensaje 'es positivo' o 'es negativo' según el caso.
Iniciar
Leer número (entero)
Si número > 0
Mostrar mensaje "El número " & número & " es positivo."
Sino Si número < 0
Mostrar mensaje "El número " & número & " es negativo."
Sino
Mostrar mensaje "El número " & número & " es cero."
Fin Si
Terminar
3.Elabore un algoritmo que lea el nombre de un estudiante y las tres notas obtenidas
en los exámenes de una materia. El algoritmo debe calcular la definitiva y producir un
mensaje de felicitación si la materia fue aprobada, o un mensaje de reproche si la ma-
teria fue reprobada. La materia se aprueba si obtiene como definitiva una nota mayor
o igual que 3.0.
Iniciar
// Leer nombre del estudiante
Leer nombre_estudiante (cadena de texto)
// Leer notas de los exámenes
Leer nota1 (real)
Leer nota2 (real)
Leer nota3 (real)
// Calcular la definitiva
definitiva ← (nota1 + nota2 + nota3) / 3
// Mostrar mensaje de aprobación o reprobación
Si definitiva >= 3.0
Mostrar mensaje "Felicidades, " & nombre_estudiante & ", has aprobado la materia
con una definitiva de " & definitiva & "."
Sino
Mostrar mensaje "Lo sentimos, " & nombre_estudiante & ", has reprobado la materia
con una definitiva de " & definitiva & "."
Fin Si
Terminar
4.Elabore un algoritmo que lea dos números enteros de dos dígitos y determine si
tienen algún dígito en común.
Iniciar
// Leer dos números enteros de dos dígitos
Leer número1 (entero entre 10 y 99)
Leer número2 (entero entre 10 y 99)
// Extraer los dígitos de cada número
digito1_unidad ← número1 % 10
digito1_decena ← (número1 // 10) % 10
digito2_unidad ← número2 % 10
digito2_decena ← (número2 // 10) % 10
// Comparar los dígitos
Si digito1_unidad == digito2_unidad or digito1_unidad == digito2_decena or
digito1_decena == digito2_unidad or digito1_decena == digito2_decena
Mostrar mensaje "Los números sí tienen dígitos en común."
Sino
Mostrar mensaje "Los números no tienen dígitos en común."
Fin Si
Terminar
5.Elabore un algoritmo que lea dos números enteros de tres dígitos y que determine e
imprima el mensaje apropiado si ambos números terminan en el mismo digito.
Iniciar
// Leer dos números enteros de tres dígitos
Leer número1 (entero entre 100 y 999)
Leer número2 (entero entre 100 y 999)
// Obtener el último dígito de cada número
digito_final_número1 ← número1 % 10
digito_final_número2 ← número2 % 10
// Comparar los últimos dígitos
Si digito_final_número1 == digito_final_número2
Mostrar mensaje "Los números sí terminan en el mismo dígito."
Sino
Mostrar mensaje "Los números no terminan en el mismo dígito."
Fin Si
Terminar
1.elabore un algoritmo que lea un numero entero menor que 32768 y que determine
cuantos dígitos tiene.
Iniciar
Leer número entero (n)
Si n < 0
Mostrar mensaje "Error: El número debe ser positivo"
Terminar
Fin Si
Contador ← 0
Mientras n > 0
n ← n / 10
Contador ← Contador + 1
Fin Mientras
Mostrar mensaje "El número tiene " & Contador & " dígitos"
Terminar
2.Elabore un algoritmo que lea un número entero menor que 32768 y que determine si
el número leído es múltiplo de la suma de sus dígitos.
Iniciar
// Leer un número entero menor que 32768
Leer número (entero entre 1 y 32767)
// Calcular la suma de los dígitos
suma_digitos ← 0
numero_auxiliar ← número
Mientras numero_auxiliar > 0
digito ← numero_auxiliar % 10
suma_digitos ← suma_digitos + digito
numero_auxiliar ← numero_auxiliar // 10
Fin Mientras
// Verificar si el número es múltiplo de la suma de sus dígitos
Si número % suma_digitos == 0
Mostrar mensaje "El número " & número & " es múltiplo de la suma de sus dígitos."
Sino
Mostrar mensaje "El número " & número & " no es múltiplo de la suma de sus
dígitos."
Fin Si
Terminar
3.Elabore un algoritmo que lea un número entero menor que 10 y determine si es
primo о no.
Iniciar
// Leer un número entero menor que 10
Leer número (entero entre 1 y 9)
// Inicializar variables
es_primo ← True
divisor ← 2
// Recorrer desde 2 hasta la raíz cuadrada del número
Mientras divisor * divisor <= número and es_primo
Si número % divisor == 0
es_primo ← False
Sino
divisor ← divisor + 1
Fin Si
Fin Mientras
// Mostrar mensaje según el resultado
Si es_primo
Mostrar mensaje "El número " & número & " es primo."
Sino
Mostrar mensaje "El número " & número & " no es primo."
Fin Si
Terminar
4.Elabore un algoritmo que valide que un número entero leído tenga tres dígitos y que
luego determine en cuál posición se halla el mayor de los tres dígitos
Iniciar
// Leer un número entero
Leer número
// Validar que el número tenga tres dígitos
Si longitud(número) ≠ 3
Mostrar mensaje "Error: El número debe tener tres dígitos."
Terminar
Fin Si
// Extraer los dígitos
digito_unidad ← número % 10
digito_decena ← (número // 10) % 10
digito_centena ← número // 100
// Determinar la posición del mayor dígito
mayor ← digito_unidad
posicion_mayor ← 1
Si digito_decena > mayor
mayor ← digito_decena
posicion_mayor ← 2
Fin Si
Si digito_centena > mayor
mayor ← digito_centena
posicion_mayor ← 3
Fin Si
// Mostrar mensaje con la posición del mayor dígito
Mostrar mensaje "El dígito mayor (" & mayor & ") se encuentra en la posición " &
posicion_mayor & "."
Terminar
5.Elabore un algoritmo que lea tres números enteros y que sólo imprima el mayor de
ellos.
Iniciar
// Leer tres números enteros
Leer número1
Leer número2
Leer número3
// Determinar el mayor número
mayor ← número1
Si número2 > mayor
mayor ← número2
Fin Si
Si número3 > mayor
mayor ← número3
Fin Si
// Imprimir el mayor número
Mostrar mensaje "El mayor número es: " & mayor
Terminar
6.Elabore un algoritmo que lea un número de dos dígitos y determine si alguno de
ellos es impar.
Iniciar
// Leer un número entero de dos dígitos
Leer número (entero entre 10 y 99)
// Extraer los dígitos
digito_unidad ← número % 10
digito_decena ← (número // 10) % 10
// Verificar si alguno de los dígitos es impar
Si digito_unidad es impar o digito_decena es impar
Mostrar mensaje "El número tiene al menos un dígito impar."
Sino
Mostrar mensaje "El número no tiene dígitos impares."
Fin Si
Terminar
7.Elabore un algoritmo que lea un número entero de cinco dígitos menor que 32768 y
determine si sus dígitos constituyen un palindromo. Palindromo es una hilera que se
lee igual de izquierda a derecha que de derecha a izquierda
Iniciar
// Leer un número entero de cinco dígitos menor que 32768
Leer número
// Validar que el número tenga cinco dígitos
Si longitud(número) ≠ 5
Mostrar mensaje "Error: El número debe tener cinco dígitos."
Terminar
Fin Si
// Extraer los dígitos
digito_unidad ← número % 10
digito_decena ← (número // 10) % 10
digito_centena ← (número // 100) % 10
digito_millar ← (número // 1000) % 10
digito_decena_millar ← (número // 10000) % 10
// Comparar dígitos en direcciones opuestas
Si digito_unidad == digito_decena_millar and \
digito_decena == digito_millar and \
digito_centena == digito_decena
Mostrar mensaje "El número " & número & " es un palíndromo."
Sino
Mostrar mensaje "El número " & número & " no es un palíndromo."
Fin Si
Terminar