M3 - Programació estructurada / Exercicis UF1: 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!");
}
}
}