M3 - Programació estructurada / Exercicis UF1: Cerca

De wikiserver
Dreceres ràpides: navegació, cerca

1. Escriu un programa que indiqui si existeix o no algun múltiple de 5 en una seqüència de números naturals finalitzada en -1 (seria interessant que una vegada trobat un múltiple, el programa no continués executant-se).


package ex_cerca;

import java.util.Scanner;

public class Ex1 {

    public static void main(String[] args) {

        Scanner teclat = new Scanner(System.in);
        int num;
        // accedir al primer element
        System.out.println("Introdueix un valor positiu + "
                + "(per acabar -1");
        num = teclat.nextInt();
        // Mentre no últim element i no element trobat fer
        while (num!=-1 && num%5!=0) {
            // obtenir següent element
            System.out.println("Introdueix un valor positiu + "
                    + "(per acabar -1");
            num = teclat.nextInt();
        }
        // tractament final
        if (num%5==0){
            System.out.println(num+ " és múltiple de 5");
        }
        else{
            System.out.println("No hi ha cap múltiple");
        }
        
        

    }
}

2. Escriu un programa que determini si un número enter es primer o no (recorda que un número primer només és divisible per 1 i per ell mateix).

package ex_cerca;

import java.util.Scanner;

public class Ex2 {

    public static void main(String[] args) {

        Scanner teclat = new Scanner(System.in);
        // accedir al primer element
        int num,divisor=2;
        //inicialitzar tractament
        System.out.println("Introdueix un valor positiu");

        num = teclat.nextInt();
        // Mentre no últim element i no element trobat fer
        while((divisor<num)&&(num%divisor!=0)){
                 divisor++;
        }
        // tractament final
        if(divisor==num){
            System.out.println("Primer");
        }
        else{
            System.out.println("No es primer");
        }

    }
}

3. Escriu un programa que vagi llegint notes (per finalitzar -1) i indiqui si hi ha com a mínim tres suspesos. Només cal dir sí o no.

package ex_cerca;

import java.util.Scanner;

public class Ex3 {

    public static void main(String[] args) {

        Scanner teclat = new Scanner(System.in);
        int nota, susp = 0;
        System.out.println("Introdueix un valor positiu + "
                + "(per acabar -1");
        nota = teclat.nextInt();
        while ((nota != -1) && (susp < 3)) {
            if (nota < 5) {
                susp++;
            }
            if (susp < 3) {
                System.out.println("Introdueix un valor positiu + "
                        + "(per acabar -1");
                nota = teclat.nextInt();
            }
        }
        if (susp == 3) {
            System.out.println("Sí");
        } else {
            System.out.println("No");
        }

    }
}

4. Escriu un programa que vagi llegint números positius (per finalitzar -1) i indiqui si tots són parells.

package ex_cerca;

import java.util.Scanner;

public class Ex4 {

    public static void main(String[] args) {

        Scanner teclat = new Scanner(System.in);
        int num;
        System.out.println("Introdueix un valor positiu + "
                + "(per acabar -1");
        num = teclat.nextInt();
        while ((num != -1) && (num % 2 == 0)) {
            System.out.println("Introdueix un valor positiu + "
                    + "(per acabar -1");
            num = teclat.nextInt();

        }
        if(num==-1){
            System.out.println("Tots parells");
        }
        else{
            System.out.println("No són tots parells");
        }
    }
}

5. Escriu un programa que llegeixi un número i indiqui si tots els dígits són parells.

package ex_cerca;

import java.util.Scanner;

public class Ex5 {

    public static void main(String[] args) {

        Scanner teclat = new Scanner(System.in);
        int num;
        System.out.println("Introdueix un valor positiu ");
        num = teclat.nextInt();
        while ((num > 0) && (num % 2 == 0)) {
            num = num / 10;
        }
        if (num == 0) {
            System.out.println("Tots parells");
        } else {
            System.out.println("No són tots parells");
        }

    }
}

6. Escriu un programa que vagi llegint números positius (per finalitzar -1) i indiqui si cada valor és més gran que l'anterior.

Exemple 1:
2 3 9 44 345 876 987 1067 -1

Es compleix!

Exemple 2:
2 4 7 15 56 87 98 123 156 263 298 290

No es compleix!


package ex_cerca;

import java.util.Scanner;

public class Ex6 {

    public static void main(String[] args) {

        Scanner teclat = new Scanner(System.in);
        int num, anterior = -1;
        System.out.println("Introdueix un valor positiu + "
                + "(per acabar -1");
        num = teclat.nextInt();
        while ((num != -1) && (anterior < num)) {
            anterior = num;
            System.out.println("Introdueix un valor positiu + "
                    + "(per acabar -1");
            num = teclat.nextInt();

        }
        if(num==-1){
            System.out.println("Es compleix");
        }
        else{
            System.out.println("No es compleix");
        }

    }
}

7.- Escriu un programa que llegeixi una sèrie de notes entre 0.0 i 10.0 ordenada de forma ascendent i acabada en -1 i ens mostri quans suspesos hi ha i la mitjana de les notes suspeses. Es considera suspès les notes inferiors a 5.0.

Exemple 1:
2.2 3.3 4.5 4.8 5.2

Suspesos = 4
Mitjana = 3.7

Exemple 2:
1.2 2.1 3.0 3.0 4.1 4.2 4.8 -1

Suspesos = 7
Mitjana = 3.2
package ex_cerca;

import java.util.Scanner;

public class Ex7 {
    public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        double sumaNotes =0.0 , nota;
        int contSusp = 0;
        System.out.println("Nota: ");
        nota = teclat.nextDouble();
       while ((nota!=-1) && (nota<5.0)){
            contSusp++;
            sumaNotes += nota;
            System.out.println("Nota: ");
            nota = teclat.nextDouble();
        }
        System.out.println("Suspesos: "+contSusp);
        System.out.println("Mitjana: "+(sumaNotes / contSusp));
    }
}

8- Escriu un programa que demani un número a cercar i llegeixi una seqüència d’enters positius acabada per un -1 i ordenada de forma creixent i indiqui si el número a cercar es troba o no en la seqüència.

Exemple 1:
Num = 123
3 34 36 67 89 98 121 -1

No s'ha trobat el número en la seqüència!

Exemple 2:
Num = 351
3 34 36 67 89 98 121 235 346 411

No s'ha trobat el número en la seqüència!

Exemple 3:
Num = 715
33 134 236 367 489 625 715

S'ha trobat el número en la seqüència!
package ex_cerca;

import java.util.Scanner;

public class Ex8 {
    public static void main(String[] args) {
        Scanner teclat = new Scanner(System.in);
        // accedir al primer element
        System.out.println("Introdueix un valor positiu: ");
        int numCercar = teclat.nextInt();
        System.out.println("Introdueix el primer valor de la seqüència: ");
        int num = teclat.nextInt(); 
        // Mentre no últim element i no element trobat fer
        while (num!=-1 && num<numCercar) {
            // obtenir següent element
            System.out.println("Introdueix el següent valor de la seqüència (per acabar -1): ");
            num = teclat.nextInt();
        }
        // tractament final
        if (num==numCercar){
            System.out.println("S'ha trobat el número en la seqüència!");
        }
        else{
            System.out.println("No s'ha trobat el número en la seqüència!");
        }                 
    }
            
}