Está en la página 1de 7

Laboratorio_1_PrimerBimestre

May29,2022

1 Fundamentos de programación

1.1 Primer bimestre

1.1.1 Laboratorio 1

En este laboratorio debe implementar un programa de complejidad media, utilizando el lenguaje


de programación Java, en donde usará: secuenciación, estructuras de selección y repetición.
Este entorno permite ingresar y ejecutar código, por esta razón la mayoría de pasos los completará
usted, ingresando el código o complentado alguna porción de código o corriguiendo algún error.
Si cometió algún error, es necesario que vuelva a ejecutar nuevamente todas las celdas

Problema Elabore un programa en Java que permita encontrar la sumatoria de los n primeros
elementos de la siguiente sucesión numérica:

Para verificar el programa, agregue las sentencias que sean necesarias para mostrar que se generan
cada uno de los términos que forman la serie. Prefiera esta técnica de validación antes que comparar
resultados finales.
Su programa debe utilizar únicamente los contenidos cubiertos hasta el momento, NO se acep-
tan programas con estructuras de datos, tales como arreglos o listas, tampoco programas que
implementen otros métodos adicionales al principal (main), aunque en este entorno es innecesario.
NO BORRE las sentencias que se muestran a continuación, aquellas que están al final de la celda
con código. Si lo hace su programa será calificado sobre el 25% de la nota.
//Información general - Por favor NO borrar. Si no incluye este código y su salida, se califica
System.getProperties().forEach((k, v) -> System.out.printf("%s: %s\n", k, v));

Explicación
1. La serie numérica es una mezcla entre números primos y Fibonacci.

1
2. Los signos son alternados e incrementales, así: empieza por 1 positivo que se utiliza en el
primer término, cambia a negativo y se usa en los siguientes 2 términos, nuevamente cambia
a positivo y se usa en los siguientes 3 términos, así sucesivamente.

1.1.2 Creación de código

En las siguientes celdas debe ingresar el código que resuelva el problema propuesto.
Puede ejecutar el código, presionando simultáneamente las teclas Shift+Enter.
A manera de ayuda se ha incluido porciones de código y una breve explicación de su propósito. En
muchas de las líneas de código usted debe completarlas o escribirlas por completo o corregir algún
error.
[ ]: /**
Paso 1. Ingreso de valores.
Reemplace los guiones bajos con las palabras correspondientes de tal manera␣
,→que no

existan errores.
**/
import java.util.Scanner;

public class Deber {

public static void main(String[] args) {


//Entrada de datos
Scanner entrada= new Scanner(System.in);

[ ]: System.out.println("Ingrese la cantidad de terminos de la sucecion");

//Declaracion de variable

int numeroDeTerminos=entrada.nextInt ();//almacena el numero de etrminos␣


,→de la sucecion

double indiceRadical=7;//alamcena el indice del radical

int formaAumentoIndiceRadical=1; //controla el aumento del indice del radical

double exponenteFraccion=1/indiceRadical;//alamcena el exponente fraccionario ,␣


,→para obtener la raiz

double penultimoExponente=1,ultimoExponente=1;//controlan el aumento del␣


,→exponente de los terminos pares

double exponenteTerminoPar=penultimoExponente+ultimoExponente;//almacena el␣


exponente del termino par
,→

2
double termino_sucecion=0;//guarda el valor del termino de la sucecion

int␣
,→controladorSignoNegativo=0,controladorDeSigno=1,controladorSignoPositivo=controladorDeSigno+

,→//controlan el signo

boolean determinadorSigno=false;//asigna el signo al termino de la sucecion

double sumaTerminos=0;//alamcena la suma de terminos

int parteEnterai,parteEnteraIndiceRadical,parteEnteraExponente; //variables␣


,→para mostrar numero como entero

entrada.close();
//Bucle para recorrer el numero de terminos del 1 al n introducido
for(double i=1;i<=numeroDeTerminos;i++) {
//Condicional para controlar el signo
if(controladorSignoNegativo<=controladorDeSigno){

controladorSignoNegativo++;

determinadorSigno=false;

//Condicional para desactivar el negativo y actival el signo positivo


if(controladorSignoNegativo==controladorDeSigno) {

controladorSignoNegativo=controladorDeSigno+2;

controladorDeSigno++;

controladorSignoPositivo=0;

}
//Condicional para determinar si el numero es impar
if(!(i%2==0)) {

//Switch que determina como aumenta el indice de radical si es␣


que es en 2 o en 4
,→

switch(formaAumentoIndiceRadical) {
//case 1 aumenta el indice del radical en 4
case 1 :{
//Condicional que comprueba si el signo del termino es positivo o negativo
if(determinadorSigno==true) {

termino_sucecion=Math.pow(i,exponenteFraccion);

3
sumaTerminos=sumaTerminos+termino_sucecion;

parteEnterai=(int)i;

parteEnteraIndiceRadical=(int)indiceRadical;

//Salida de datos
System.out.print(parteEnterai+"^1/"+parteEnteraIndiceRadical+"= ");

else {

termino_sucecion=-Math.pow(i,exponenteFraccion);

sumaTerminos=sumaTerminos+termino_sucecion;

parteEnterai=(int)i;

parteEnteraIndiceRadical=(int)indiceRadical;

//Salida de datos
System.out.print("-("+parteEnterai+"^1/"+parteEnteraIndiceRadical+") = ");
}

indiceRadical=indiceRadical+4;

exponenteFraccion=1/indiceRadical;

formaAumentoIndiceRadical=2;

} break;
//case 2 aumenta el indice del radical en 2
case 2:{
//Condicional que comprueba si el signo del termino es positivo
if(determinadorSigno==true) {

termino_sucecion=Math.pow(i,exponenteFraccion);

sumaTerminos=sumaTerminos+termino_sucecion;

parteEnterai=(int)i; //instruccion para mostar al numero como entero

parteEnteraIndiceRadical=(int)indiceRadical; //instruccion para mostrar el␣


,→numero como entero

4
//Salida de datos
System.out.print(parteEnterai+"^1/"+parteEnteraIndiceRadical+"= ");

else {

termino_sucecion=-Math.pow(i,exponenteFraccion);

sumaTerminos=sumaTerminos+termino_sucecion;

parteEnterai=(int)i; // instruccion para mostrar el numero como entero

parteEnteraIndiceRadical=(int)indiceRadical; // instruccion para mostrar el␣


,→numero como entero

//Salida de datos
System.out.print("-("+parteEnterai+"^1/"+parteEnteraIndiceRadical+") = ");

indiceRadical=indiceRadical+2;

exponenteFraccion=1/indiceRadical;

formaAumentoIndiceRadical=1;

} break;

}
//Condicional que entra si el numero es par
if(i%2==0) {
//Condicional para signar signo, sea positivo o negativo
if(determinadorSigno==true) {

termino_sucecion=Math.pow(i,exponenteTerminoPar);

sumaTerminos=sumaTerminos+termino_sucecion;

parteEnterai=(int)i; //instruccion para mostrar el numero como␣


entero
,→

5
parteEnteraExponente=(int)exponenteTerminoPar; // instruccion apra␣
mostrar el numero como entero
,→

//Saliuda de datos
System.out.print(parteEnterai+"^"+parteEnteraExponente+"= ");

else {

termino_sucecion=-Math.pow(i,exponenteTerminoPar);

sumaTerminos=sumaTerminos+termino_sucecion;

parteEnterai=(int)i;//instruccion para mostara el numero como entero

parteEnteraExponente=(int)exponenteTerminoPar;

//Salida de datos
System.out.print("-("+parteEnterai+"^"+parteEnteraExponente+") = ");

penultimoExponente=ultimoExponente;

ultimoExponente=exponenteTerminoPar;

exponenteTerminoPar=penultimoExponente+ultimoExponente;

//Condicional apra controlar el signo


if(controladorSignoPositivo<=controladorDeSigno){

controladorSignoPositivo++;

determinadorSigno=true;
//Condicional para activar el signo negativo y desactivar el signo␣
positivo
,→

if(controladorSignoPositivo==controladorDeSigno+1){

controladorSignoPositivo=controladorDeSigno+2;

controladorDeSigno++;

controladorSignoNegativo=0;

6
}
}

//Salida de datos
System.out.println(termino_sucecion);

System.out.println("");
//Salida de datos
System.out.println("La suma de los terminos es igual= "+sumaTerminos);

1.1.3 Envío del código

Antes de enviar el código, primero debe ejecutar su código y luego exportarlo a PDF (clic en el
menu File->Download as->PDF via Latex(.pdf)).
Finalmente debe seguir las instrucciones que encontrará en el entorno virtual de aprendizaje.

También podría gustarte