viernes, 26 de mayo de 2023

Pseint : Uso de Estructuras Para - SI - entonces - Repetir

 

CASO 1: En una comunidad de habitantes existe un padrón de 20 individuos y se ha decidido realizar una estadística con los que se encuentran el día de hoy.

Pregunta 1.- (10 puntos): Para este propósito se pide ingresar la religión que profesan (Budista/Católico/Evangélico), los N ciudadanos de tal forma que se reporte el porcentaje de budistas, católicos y evangélicos. Nota. - Validar los caracteres que representan c/u de las religiones.


codigo pseint:

Algoritmo budismo
definir n,i como entero;
definir religion Como Caracter;
Definir estatus,cont1,cont2,cont3 Como entero;
escribir "Ingrese el valor muestral [1-20]";
leer n;
status<-0;
cont1<-0;
cont2<-0;
cont3<-0;
Para i<-1 Hasta n Con Paso 1 Hacer
escribir "Individuo ",i;
Repetir
Escribir "Ingrese Religion que profesa [B/C/E]";
Leer religion;
Si religion=="B" o religion=="C" o religion=="E" o religion=="b" o religion=="c" o religion=="e"  Entonces
estatus<-1;
Si religion=="B" o religion=="b" Entonces
cont1<-cont1+1;
SiNo
Si religion=="C" o religion=="c" Entonces
cont2<-cont2+1;
SiNo
cont3<-cont3+1;
Fin Si
Fin Si
SiNo
Escribir "Ingreso erroneo , Intente de nuevo";
Fin Si
Hasta Que estatus<>0
estatus<-0;
Fin Para
escribir "% de budistas ",(cont1*100/n);
escribir "% de catolicos ",(cont2*100/n);
escribir "% de evangelicos ",(cont3*100/n);
FinAlgoritmo





sábado, 20 de mayo de 2023

METODOS DE ORDENACION: METODO DE LA BURBUJA

 

 

METODOS DE ORDENACION: METODO DE LA BURBUJA

 La técnica utilizada se denomina ordenación por burbuja u ordenación por hundimiento debido a que los valores más pequeños “burbujean” gradualmente (suben) hacia la cima o parte superior del array de modo similar a como suben las burbujas en el agua, mientras que los valores mayores se hunden en la parte inferior del array. La técnica consiste en hacer varias pasadas a través del array. En cada pasada, se comparan parejas sucesivas de elementos. Si una pareja está en orden creciente (o los valores son idénticos), se dejan los valores como están. Si una pareja está en orden decreciente, sus valores se intercambian en el array.

 En el caso de un array  con n elementos, la ordenación por burbuja requiere hasta n-1 pasadas. Por cada pasada se comparan elementos adyacentes y se intercambian sus valores cuando el primer elemento es mayor que el segundo elemento. Al final de cada pasada, el elemento mayor ha “burbujeado” hasta la cima de la sublista actual.


Ejemplo:

         



 Codigo Java:


 

       

            
            
            
              package clases;


              public class metodoburbuja {
                  public static void main(String[] args) {
                      //se declara e inicializa un array de enteros de 6 elementos
                      int[] A={5,6,12,1,30,7,2};
                      //imprimimos el array inicial
                      System.out.println("Array Inicial:");
                      //llamamos al metodos "mostrararray" para mostrarlo
                      mostrararray(A);        
                      //llamamos a la funcion "ordenarxburbuja" para ordenarlo ascendentemente
                      ordenarxburbuja(A);        
                      // mostramos array ordenado
                      System.out.println("Array Ordenado:");
                      //llamamos al metodos "mostrararray" para mostrar el array ordenado
                      mostrararray(A);
                  }

                  //metodo que muestra el array por pantalla
                  public  static void mostrararray(int[] A){
                      //recorrera el array hasta mostrar cada uno de los elementos
                      for (int i = 0; i < A.length; i++) {
                          //se muestra los elementos
                          System.out.print(A[i] +" , ");
                      }
                      System.out.println("");
                  }    
                  // metodo que ordena el array por el metodo de la burbuja
                  public static void ordenarxburbuja(int[] a){
                      // se realizan a.length-1 pasadas 
                      for (int i = 0; i < a.length-1; i++) {
                          // se evaluan pares adyacentes y se intercambian cuando el primero
                          //es el mayor que el segundo
                          for (int j = 0; j < a.length-i-1; j++) {
                              if(a[j+1]<a[j]){
                              // se intercambian pares
                                  int aux=a[j+1];
                                  a[j+1]=a[j];
                                  a[j]=aux;
                              }
                          }
                      }
    }
}
 

 

Ejecución del programa usando netbeans
    



Ordenar Array de String o Cadenas con el método burbuja
           Para este caso compararemos los pares de elementos adyacentes en el array con el método                       COMPARETO()
    
COMPARETO(): nos sirve para saber si dos cadenas son iguales o cual de ellas es mayor, devuelve 0 si las cadenas son iguales, resultara un valor menor que 0 si la primera es menor y mayor que 0 si es mayor, para nuestro caso ignoraremos las mayusculas y utilizaremos el metodo compareToIgnoreCase() , veamos un ejemplo usando el metodo de burbuja y comparando los elementos adyacentes con compareToIgnoreCase().


 


         


         



       

            
            
package clases;


public class burbujacadenas {
    public static void main(String[] args) {
        //se declara e inicializa un array de enteros de 6 elementos
        String[] A={"Fernando","Juan","Andres","bernardo"};
        //imprimimos el array inicial
        System.out.println("Array Inicial:");
        //llamamos al metodos "mostrararray" para mostrarlo
        mostrararray(A);        
        //llamamos a la funcion "ordenarxburbuja" para ordenarlo ascendentemente
        ordenarxburbuja(A);        
        // mostramos array ordenado
        System.out.println("Array Ordenado:");
        //llamamos al metodos "mostrararray" para mostrar el array ordenado
        mostrararray(A);
        
    }
    
     public  static void mostrararray(String[] A){
        //recorrera el array hasta mostrar cada uno de los elementos
        for (int i = 0; i < A.length; i++) {
            //se muestra los elementos
            System.out.println(A[i]);
        }
        System.out.println("");
    } 
     
     // metodo que ordena el array por el metodo de la burbuja
    public static void ordenarxburbuja(String[] a){
        // se realizan a.length-1 pasadas 
        for (int i = 0; i < a.length-1; i++) {
            // se evaluan pares adyacentes y se intercambian cuando el primero
            //es el mayor que el segundo
            for (int j = 0; j < a.length-i-1; j++) {
                //si la segunda cedena es menor que la primera se intercambia
                //el compareto arrojara -1 si a[j+1] es menor que a[j]
                // en este caso para ignorar mayusulas usaremos compareToIgnoreCase
                if(a[j+1].compareToIgnoreCase(a[j])<0 a="" aux="" code="" intercambian="" j="" pares="" se="" string="">
 

COMPARAR TRES NUMEROS DETERMINAR MAYOR INTERMEDIO Y MENOR EN PSEINT

 

COMPARAR TRES NUMEROS DETERMINAR MAYOR INTERMEDIO Y MENOR EN PSEINT


Estructura Condicional Anidada:

 una estructura condicional es anidada cuando por la rama del verdadero o el falso de una estructura condicional hay otra estructura condicional.

            


 


Ejercicio 1:  COMPARAR TRES NUMEROS DETERMINAR MAYOR INTERMEDIO Y MENOR

            

Proceso compararnumeros

//defnimos 3 variables para almacenar los 3 numeros del tipo entero

definir n1,n2,n3 como enteros;

//se ingresa por pantalla el primer numero

Escribir "INGRESE PRIMER NUMERO:";

Leer n1;

//se ingresa por pantalla el segundo numero

Escribir "INGRESE SEGUNDO NUMERO:";

Leer n2;

//se ingresa por pantalla el tercer numero

Escribir "INGRESE TERCER NUMERO:";

Leer n3;

//utilizamos la condicional anidada

//el primer SI validara cuando n1 sea el mayor por ello la condicion n1>n2 y n1>n3 permitirá esto

Si n1>n2 y n1>n3 Entonces

//al cumplirse esta condicion n1 sera el mayor

Escribir "EL NUMERO MAYOR ES ",n1;

//el primer SI anidado validara cuando n2 sea mayor a n3

Si n2>n3 Entonces

//imprimimos por pantalla n2 numero intermedio y n3 el menor

escribir "EL NUMERO INTERMEDIO ES ",n2

escribir "EL NUMERO MENOR ES ",n3

SiNo

//imprimimos lo contrario n3 numero intermedio y n2 el menor

escribir "EL NUMERO INTERMEDIO ES ",n3

escribir "EL NUMERO MENOR ES ",n2

Fin Si

SiNo

//para el segundo caso se cumplira cuando n2 sea el mayor

Si n2>n1 y n2>n3 Entonces

//al cumplirse esta condicion n2 sera el mayor

Escribir "EL NUMERO MAYOR ES ",n2;

// validara cuando n1 sea mayor a n3

Si n1>n3 Entonces

//imprimimos por pantalla n1 numero intermedio y n3 el menor

escribir "EL NUMERO INTERMEDIO ES ",n1

escribir "EL NUMERO MENOR ES ",n3

SiNo

//imprimimos por pantalla n3 numero intermedio y n1 el menor

escribir "EL NUMERO INTERMEDIO ES ",n3

escribir "EL NUMERO MENOR ES ",n1

Fin Si

SiNo

//para el tercer caso se cumplira cuando n3 sea el mayor

Si n3>n1 y n3>n2 Entonces

//al cumplirse esta condicion n3 sera el mayor

Escribir "EL NUMERO MAYOR ES ",n3;

// validara cuando n1 sea mayor a n2

Si n1>n2 Entonces

//imprimimos por pantalla n1 numero intermedio y n2 el menor

escribir "EL NUMERO INTERMEDIO ES ",n1

escribir "EL NUMERO MENOR ES ",n2

SiNo

//imprimimos por pantalla n2 numero intermedio y n1 el menor

escribir "EL NUMERO INTERMEDIO ES ",n2

escribir "EL NUMERO MENOR ES ",n1

Fin Si

SiNo

//en caso no se cumpla los casos anteriores , se mostrar un mensaje de que los numeros no 

// son diferentes

Escribir "LOS NUMEROS INGRESADOS DEBEN SER DIFERENTES!!";

Fin Si

Fin Si

Fin Si

FinProceso

   

         Este tema también le puede interesarcondicional simple

         Imagen de Pseint:





            VIDEO: Video Explicativo





Estructura Condicional Simple: Si - Entonces

 

ESTRUCTURA CONDICIONAL SIMPLE:


1. Ingresar el sueldo de una persona , si supera los 3000 dólares mostrar un mensaje en pantalla indicando que debe abonar impuestos.

Codigo: 

//Ingresar el sueldo de una persona, si supera los 3000 pesos mostrar un mensaje en pantalla indicando que debe abonar impuestos.

Proceso ejercicio1

//definimos variables

definir sueldo Como Real;

//se ingresa por pantalla el sueldo del trabajador

escribir "Ingrese sueldo de trabajador:";

leer sueldo;// se almacena lo ingresado en la variable sueldo

//aplicamos la condicional simple con el si . entonces

Si sueldo>3000 Entonces

//si cumple la condicion  mostramos por pantalla mensaje

escribir "El trabajador debe abonar impuestos"

Fin Si

FinProceso





 ejecución:


 


 



Pseint : Uso de Estructuras Para - SI - entonces - Repetir

  CASO 1: En una comunidad de habitantes existe un padrón de 20 individuos y se ha decidido realizar una estadística con los que se encuent...