El estudiante debe solucionar de manera individual un (1) problema con programación orientada a objetos, es decir crear clases, crear y usar métodos get, set y entregar la carpeta completa del proyecto.
Para la codificación se requiere el uso de condicionales if, if – else ciclos o estructuras de repetición for o while, operadores aritméticos y relacionales.
Elija uno de estos problemas para anunciarlo en el foro e incluirlo en el informe:
1. Capturar por teclado 2 números enteros positivos entre 1 y 1000 incluidos, para hallar y mostrar por pantalla los números capicúa que se encuentran en ese rango y la cantidad de números hallados.
2. Se necesita diseñar un algoritmo que permita mostrar por pantalla una cantidad de elementos de la serie de Fibonacci, para esto se debe capturar un número entero positivo mayor que 1 por el teclado y esa debe ser la cantidad elementos a mostrar.
3. Solicitar por teclado un número entero positivo entre 10 y 90 ambos incluidos y luego obtener, del número capturado, sus divisores y la cantidad de ellos. Debe mostrar por pantalla todos los divisores y la cantidad de ellos.
4. Capturar por teclado un número capicúa positivo menor que 1000 y hallar su centenas, decenas y unidades e imprimirlas por pantalla.
5. Un banco está ofreciendo interés al 0.7% mes vencido a la cantidad de meses que el cliente desee. Se requiere una aplicación que le proyecte a un cliente cuánto dinero obtendrá si deposita un capital determinado a un número de meses, esta información se debe capturar por teclado. Se debe mostrar por pantalla el capital mes a mes hasta el número de meses capturado.
6. Diseñar un algoritmo que capture por teclado 6 dígitos del 1 al 9 ambos incluidos y halle su raíz cuadrada. Mostrar por pantalla el número capturado y la raíz cuadrada.
7. Se necesita capturar por teclado 8 números enteros entre 3 y 6 ambos incluidos. Se debe establecer cuantas veces se repiten los números del 3 al 6 y hallar la potencia de cada uno de esos números de acuerdo con las veces que se repita. Se deben mostrar por pantalla los 8 números capturados y las potencias de los números del 3 al 6.
8. Capturar por teclado un número de 5 dígitos y establecer los residuos de dividir el número capturado por 10000, 1000, 100 y 10. Se debe mostrar por pantalla el número capturado y los 4 residuos hallados.
9. Capturar por teclado 5 números positivos entre 100 y 500 ambos incluidos, hallar el promedio e identificar el número más cercano al promedio. Se debe mostrar por pantalla los 5 números capturados, el promedio y el número más cercano al promedio.
10. Capturar por teclado un número entero mayor que 0 y menor que 5000, se debe establecer en qué rango se encuentra el número de acuerdo con las siguientes características: rango alto mayor que 4000, rango medio entre 2000 y 4000 ambos incluidos y rango bajo menor que 2000.
En la solución de los problemas planteados se deben aplicar como mínimo estructuras de control de decisión o selección y repetitivas.
Respuestas a la pregunta
A continuación se muestran los programas en pseudocódigo pseint. Se adjunta imagen de salida por pantalla de algunos de los algoritmos.
Algoritmo capicuaEnDoslimites
Definir a,b Como Entero
Definir num Como Caracter
Escribir 'Ingrese dos números '
Escribir 'a: ' Sin Saltar
Leer a
Escribir 'b: ' Sin Saltar
Leer b
Escribir 'Capicúa entre ',a,' y ',b,' son:'
Para x<-a Hasta b Hacer
num= ""
xc<-ConvertirATexto(x)
lon<-Longitud(xc)
para d<-lon Hasta 1 Con Paso -1 Hacer
dig <- SUBCADENA(xc,d,d)
num <- num + dig
FinPara
si ConvertirANumero(num) = x Entonces
Escribir x
FinSi
FinPara
FinAlgoritmo
Algoritmo Fibonacci2
Definir t,r Como Real
Definir x Como Entero
x<-0
Escribir 'Serie Fibonacci'
Escribir 'Cantidad de términos: ' Sin Saltar
Leer t
Repetir
x<-x+1
a <- 1/raiz(5)
b <- ((1+raiz(5))/2)^x
c <- ((1-raiz(5))/2)^x
r <- a*(b-c)
Escribir 'Término(',x,') = ',r
Hasta Que x = t
FinAlgoritmo
Algoritmo divisores
Definir div,n,resto,c Como Entero
Escribir 'Ingresa un entero positivo (10-90)' Sin Saltar
Repetir
Leer n
Hasta Que n >= 10 y n <=90
c <- 0
div <- n
Mientras div>0 Hacer
r <- n MOD div
Si r=0 Entonces
c <- c+1
FinSi
div <- div-1
FinMientras
Escribir 'Cantidad de divisores:',c
FinAlgoritmo
Algoritmo descomposicionCapicua
// Definir variables
Definir d, und, dcnas, ctnas, undmil, dmil, cmil, num Como Caracter
Definir cent Como Entero
Definir n Como Real
cent <- 0
nc <- ""
und <- 'No hay'
dcnas <- 'No hay'
ctnas <- 'No hay'
undmil <- 'No hay'
dmil <- 'No hay'
cmil <- 'No hay'
// Ingresar número
Escribir 'Ingresar número capicúa: ' Sin Saltar
Repetir
leer n
nc<-ConvertirATexto(n)
lon<-Longitud(nc)
para g<-lon Hasta 1 Con Paso -1 Hacer
dig <- SUBCADENA(nc,g,g)
num <- num + dig
FinPara
Si no ConvertirANumero(num) = n Entonces
Escribir "Intente de nuevo"
FinSi
Hasta Que ConvertirANumero(num) = n
Segun Longitud(nc) Hacer
1:
und <- SUBCADENA(nc,1,1)
2:
und <- SUBCADENA(nc,2,2)
dcnas <- SUBCADENA(nc,1,1)
3:
und <- SUBCADENA(nc,3,3)
dcnas <- SUBCADENA(nc,2,2)
ctnas <- SUBCADENA(nc,1,1)
4:
und <- SUBCADENA(nc,4,4)
dcnas <- SUBCADENA(nc,3,3)
ctnas <- SUBCADENA(nc,2,2)
undmil <- SUBCADENA(nc,1,1)
5:
und <- SUBCADENA(nc,5,5)
dcnas <- SUBCADENA(nc,4,4)
ctnas <- SUBCADENA(nc,3,3)
undmil <- SUBCADENA(nc,2,2)
dmil <- SUBCADENA(nc,1,1)
6:
und <- SUBCADENA(nc,6,6)
dcnas <- SUBCADENA(nc,5,5)
ctnas <- SUBCADENA(nc,4,4)
undmil <- SUBCADENA(nc,3,3)
dmil <- SUBCADENA(nc,2,2)
cmil <- SUBCADENA(nc,1,1)
FinSegun
// Mostrar descomposoción del número
si cmil <> 'No hay' Entonces
Escribir 'Centenas de millar: ',cmil
FinSi
si dmil <> 'No hay' Entonces
Escribir 'Decenas de millar: ',dmil
FinSi
si undmil <> 'No hay' Entonces
Escribir 'Unidades de millar: ',undmil
FinSi
si ctnas <> 'No hay' Entonces
Escribir 'Centenas: ',ctnas
FinSi
si dcnas <> 'No hay' Entonces
Escribir 'Decenas: ',dcnas
FinSi
si und <> 'No hay' Entonces
Escribir 'Unidades: ',und
FinSi
FinAlgoritmo
Algoritmo raiz2
Definir n Como Entero
para x<-1 Hasta 6 Hacer
Escribir 'Ingrese número ', x, ": " Sin Saltar
Repetir
leer n
Hasta Que n >=1 y n<=9
Escribir "Raíz cuadrada: ", raiz(n)
FinPara
FinAlgoritmo
Algoritmo mostrarResiduos
Definir nc Como Caracter
Definir n Como Real
Escribir 'Ingresar número: ' Sin Saltar
Repetir
leer n
nc<-ConvertirATexto(n)
Si no Longitud(nc) = 5 Entonces
Escribir "Intente de nuevo"
FinSi
Hasta Que Longitud(nc) = 5
Escribir "Residuo ", n,"/10000=", n mod 10000
Escribir "Residuo ", n,"/1000=", n mod 1000
Escribir "Residuo ", n,"/100 =", n mod 100
Escribir "Residuo ", n,"/10=", n mod 10
FinAlgoritmo
Algoritmo promedio5num
Definir n, m, mr, mnr, pro Como real
Dimension n(5)
para x<-1 Hasta 5 Hacer
Escribir 'Ingrese número ', x, ": " Sin Saltar
Repetir
leer n(x)
Hasta Que n(x) >=100 y n(x) <=500
pro <- pro + n(x)
FinPara
pro <- pro/5
Para x<-1 Hasta 5 Hacer
Para z<-x Hasta 5 Hacer
Si n[x]>n[z] Entonces
numMenor <- n[x]
n[x] <- n[z]
n[z] <- numMenor
FinSi
FinPara
FinPara
mr <-n(5)
para x<-1 Hasta 5 Hacer
m <-abs(pro-n(x))
si m < mr Entonces
mr<- m
mnr<- n(x)
FinSi
FinPara
Escribir "Promedio: ", pro
Escribir "Número más cercano al promedio es: ", mnr
FinAlgoritmo
Algoritmo rangoNumero
Definir n Como Entero
Escribir 'Ingrese número: " Sin Saltar
Repetir
leer n
Hasta Que n >=0 y n<=5000
si n > 4000 Entonces
Escribir "Rango alto"
FinSi
si n >= 2000 y n<=4000 Entonces
Escribir "Rango medio"
FinSi
si n<2000 Entonces
Escribir "Rango bajo"
FinSi
FinAlgoritmo
Para saber más acerca de algoritmo en pseint consulte https://brainly.lat/tarea/28559612
#SPJ2