Un numero primo è un numero naturale maggiore di 1 e divisibile interamente ( cioè senza resto ) esclusivamente da 1 e da se stesso. Si scriva un programma che determini se un certo numero dato in input soddisfi o meno questa condizione di primalità.
Questo è il codice:
class Numero_primo{ //verificare se un numero è primo o no
public static void main(String [] args){
int numero=634763; //questo è il numero che ci chiediamo se è primo o no
System.out.println("Il numero "+numero+" è primo? "+primo(numero));
}
public static boolean primo(int n){ //questo metodo restituisce true se il numero n è primo
if (n<2) //il primo numero primo è il 2, quindi se abbiamo unnumero minore a 2 allora non sarà primo
return false;
if (n<=3) //se il numero in questione è minore o uguale a 3 allora a questo punto si tratta del 2 o del 3, entrambi primi
return true;
if (n%2==0) //se dividendo per 2 il numero si ha resto uguale a zero allora è un numero pari (maggiore a 2) quindi primo
return false;
for (int i=3;i<n;i=i+2){ /* si fa un ciclo partendo con i che da 3 assume i numeri dispari minori al numero da esaminare n, non serve controllare con i numeri pari perchè n non è pari */
if ( n%i==0) // se n dovesse essere divisibile per un qualche i allora non è primo
return false;
}
return true; //se si è giunti fin qui allora il numero n è primo
}
}
venerdì 19 agosto 2011
Esercizio java: verificare numero primo
martedì 16 agosto 2011
Esercizio java: potenza seconda di un numero
L'esempio consiste in un programmino che calcola e stampa il quadrato di un numero dato in input dall'utente. Si ha quindi un metodo che eleva alla seconda un numero fornendo quindi il risultato richiesto.
Ecco il codice:
class Quadrato_numero{ //calcola il quadrato di un certo numero
public static void main(String [] argv){
double n=4.5;
System.out.println("il quadrato di "+n+" è: "+eleva_seconda(n));
}
public static double eleva_seconda(double num){
return num*num;
}
}
Ecco il codice:
class Quadrato_numero{ //calcola il quadrato di un certo numero
public static void main(String [] argv){
double n=4.5;
System.out.println("il quadrato di "+n+" è: "+eleva_seconda(n));
}
public static double eleva_seconda(double num){
return num*num;
}
}
lunedì 15 agosto 2011
Buon Ferragosto a tutti!
15 agosto2011:
bella giornata estiva con il sole che si fa vedere dappertutto.C'è chi ha scelto di passare il tempo in montagna al fresco, magari sulla riva di un fiume come in questa foto qui accanto.
Altri hanno deciso di trascorrere la giornata abbronzandosi in qualche bella spiaggia sulla costa italiana (vedi foto sotto ;)).
Eppure stasera probabilmente tutti vedranno i fuochi d'artificio proiettati nel cielo di tantissime città.
Esercizio java: sommatoria dei numeri naturali minori di un certo numero
Il compito di oggi è scrivere un programminoa che calcoli e stampi a video la somma di tutti i numeri naturali minori di un certo numero inserito dall'utente.
Il codice è il seguente:
class Sommatoria_fino_n{ //somma di tutti i numeri naturali minori di un numero dato
public static void main(String [] argv){
int n=100;
System.out.println("La somma di tutti i numeri naturali minori a "+n+" è: "+somma_fino(n));
}
public static int somma_fino(int n){
int m=0; // vanno sommati i numeri naturali fino ad n quindi si parte da 0, m è il numero che verrà restituito
int i=1; //questo è il numero che verrà sommato ogni volta
while(i<n){ // ci si ferma quando il numero da sommare è maggiore o uguale al numero n da raggiungere
m=m+i; // si somma ad m il numero contenuto in i
i=i+1; // si incrementa i di un'unità
}
return m; // si restituisce il risulatato finale m
}
}
Il codice è il seguente:
class Sommatoria_fino_n{ //somma di tutti i numeri naturali minori di un numero dato
public static void main(String [] argv){
int n=100;
System.out.println("La somma di tutti i numeri naturali minori a "+n+" è: "+somma_fino(n));
}
public static int somma_fino(int n){
int m=0; // vanno sommati i numeri naturali fino ad n quindi si parte da 0, m è il numero che verrà restituito
int i=1; //questo è il numero che verrà sommato ogni volta
while(i<n){ // ci si ferma quando il numero da sommare è maggiore o uguale al numero n da raggiungere
m=m+i; // si somma ad m il numero contenuto in i
i=i+1; // si incrementa i di un'unità
}
return m; // si restituisce il risulatato finale m
}
}
domenica 14 agosto 2011
Esercizio java: somma di due numeri
Si tratta di calcolare la somma di due numeri dati in input dall'utente.
Questo è il codice:
public static void main (String [] args){
double primo=21.9; // valore iniziale
double secondo=15; // sconto da applicare: 15%
System.out.println(primo+" + "+secondo+" = "+somma(primo,secondo));
}
return out;
Questo è il codice:
class Somma{
//dati due numeri si calcola la loro sommapublic static void main (String [] args){
double primo=21.9; // valore iniziale
double secondo=15; // sconto da applicare: 15%
System.out.println(primo+" + "+secondo+" = "+somma(primo,secondo));
}
public static double somma(double addendo1, double addendo2){
double out=addendo1+addendo2; // out sarà il valore restituito, ora contiene la somma dei due parametri ricevuti in inputreturn out;
}
}
giovedì 11 agosto 2011
Esercizio java: sottrarre percentuale di sconto
Utile programmino che dati due numeri, uno ad indicare il valore iniziale e l'altro la percentuale di sconto che va applicata, calcola il valore scontato. Un metodo prende in input i due numeri: prima calcola lo sconto relativo al valore iniziale e poi restituisce il valore scontato sottraendo lo sconto prima calcolato al valore iniziale.
Ecco il codice:
// dal valore iniziale si sottrae lo sconto e quindi si ottiene il valore scontato
public static void main (String [] args){
double out=valore*sconto/100; // out sarà il valore restituito, ora contiene il valore da sottrarre al valore iniziale
out=valore-out; // sottraiamo a valore (il valore iniziale) il valore da scontare. Così otteniamo il valore scontato che restituiamo
return out;
Ecco il codice:
class Sconto{
//dati due numeri, il primo è il valore e il secondo la percentuale di sconto, si calcola il valore scontato// dal valore iniziale si sottrae lo sconto e quindi si ottiene il valore scontato
public static void main (String [] args){
double primo=21.9; // valore iniziale
double secondo=15; // sconto da applicare: 15%
System.out.println("Valore iniziale: "+primo+"\nSconto in percentuale: "+secondo+"%");
System.out.println("Valore scontato: "+valore_scontato(primo,secondo));
}
public static double valore_scontato(double valore, double sconto){double out=valore*sconto/100; // out sarà il valore restituito, ora contiene il valore da sottrarre al valore iniziale
out=valore-out; // sottraiamo a valore (il valore iniziale) il valore da scontare. Così otteniamo il valore scontato che restituiamo
return out;
}
}
martedì 9 agosto 2011
Esercizio java: controllo lettera maiuscola o minuscola e vocale o consonante
Questo programmino è formato dal metodo principale main e da due metodi che verificano se il carattere dato come parametro in input rappresenta una lettera maiuscola o minuscola e una vocale o una consonante. Se si tratta di una lettera maiuscola ( rispettivamente di una vocale ) viene restituito true altrimenti false.
Il codice è questo:
public static boolean maiuscola(char let){
return ((let>='A') && (let<='Z'));
// se il carattere dato in input, let, è compreso tra la lettera A e la Z allora viene restituito true: si tratta di una lettera maiuscola
}
//dato in input un carattere questo metodo restituisce true se è una vocale, false altrimenti, cioè se è una consonante
public static boolean vocale(char let){
switch (let){
//se il parametro let dato in input è A, E, I ecc... allora si tratta di una vocale e si restituisce true altrimenti false perchè vuol dire che si tratta di una consonante
case 'A':
Il codice è questo:
class Controllo_lettera{
public static void main (String [] args){
char lettera='a';
System.out.println("La lettera "+lettera+" è maiuscola? "+maiuscola(lettera));
System.out.println("La lettera "+lettera+" è una vocale? "+vocale(lettera));
}
//dato in input un carattere questo metodo restituisce true se è una lettera maiuscola, false altrimentipublic static boolean maiuscola(char let){
return ((let>='A') && (let<='Z'));
// se il carattere dato in input, let, è compreso tra la lettera A e la Z allora viene restituito true: si tratta di una lettera maiuscola
}
//dato in input un carattere questo metodo restituisce true se è una vocale, false altrimenti, cioè se è una consonante
public static boolean vocale(char let){
switch (let){
//se il parametro let dato in input è A, E, I ecc... allora si tratta di una vocale e si restituisce true altrimenti false perchè vuol dire che si tratta di una consonante
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case 'Y':
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'y':
return true;
default:
return false;
}
}
}
lunedì 8 agosto 2011
I metodi in java
Tante volte capita di dover scrivere ripetutamente lo stesso codice in programmi diversi. Ad esempio in molti programmi occorre verificare se una lettera è maiuscola o minuscola oppure se è una vocale od una consonante. Senza riscrivere ogni volta le stesse porzioni di codice si ricorre all'uso dei metodi. I metodi sono dei sottoprogrammi che possono venir invocati dal programma principale. Con l'uso dei metodi si riesce a dividere il programma in più parti: semplici e riutilizzabili. Il metodo può ricevere in input uno o più parametri dati dal programma invocente, definire nuove variabili e restituire un certo risultato.
Il metodo viene definito attraverso la sua cosiddetta signature: va scritto il tipo di dato restituito ( se non si restituisce alcun dato allora si usa la key-word void ), il nome del metodo con il quale verrà invocato e tra parentesi tonde i tipi dei parametri ricevuti in input con i nomi relativi. Dopo la signature si scrive il codice che si dovrà elaborare e per restituire il risultato del metodo si usa la key-word return.
Il metodo viene definito attraverso la sua cosiddetta signature: va scritto il tipo di dato restituito ( se non si restituisce alcun dato allora si usa la key-word void ), il nome del metodo con il quale verrà invocato e tra parentesi tonde i tipi dei parametri ricevuti in input con i nomi relativi. Dopo la signature si scrive il codice che si dovrà elaborare e per restituire il risultato del metodo si usa la key-word return.
sabato 6 agosto 2011
Esercizio java: ricerca del numero maggiore in un array
Viene dato un array ed il compito è quello di trovare il numero massimo: si confrontano i numeri contenuti nell'array ed il numero cercato è quello che risulta essere maggiore a tutti gli altri.
Questo è il codice:
public static void main (String [] args){
for(int i=0;i<numeri.length;i++)
numeri[i]=Math.random()*100;
//Stampiamo a video i numeri dell'array
System.out.println("Ecco l'array in cui si cerca il numero maggiore");
for(int i=0;i <numeri.length;i++)
System.out.print(numeri[i]+" ");
double maggiore; // questo sarà il numero maggiore contenuto nell'array numeri
if(numeri.length!=0){ //potrebbe capitare un array di lunghezza 0( in questo esempio non accade ma potrebbe succedere in qualche altro caso) quindi per sicurezza meglio verificare
maggiore=numeri[0]; //poniamo nella variabile maggiore il primo numero dell'array
for(int i=1;i<numeri.length;i++){
if(numeri[i]>maggiore)
maggiore=numeri[i]; //se qualche numero dovesse essere maggiore del numero finora più grande allora mettiamo il suo valore nella variabile maggiore
}
System.out.println("\nIl numero maggiore contenuto nell'array è: "+maggiore);
}
else //l'array ha lunghezza 0
System.out.println("\nL'array non contiene alcun numero");
}
}
Questo è il codice:
class Numero_maggiore{
//dato un array di numeri reali si stabilisce quale sia il maggiorepublic static void main (String [] args){
System.out.println("Stabilire quale è il numero maggiore contenuto in un array");
double [] numeri=new double[30];
//si riempie l'array di numeri reali casuali tra 0 e 100 esluso: attrraverso il metodo random della classe Math si ricava un numero casuale tra 0 ed 1 escluso
//quindi moltiplicando per 100 si ottiene un numero casuale tra 0 e 100 esclusofor(int i=0;i
//Stampiamo a video i numeri dell'array
System.out.println("Ecco l'array in cui si cerca il numero maggiore");
for(int i=0;i
double maggiore; // questo sarà il numero maggiore contenuto nell'array numeri
if(numeri.length!=0){ //potrebbe capitare un array di lunghezza 0( in questo esempio non accade ma potrebbe succedere in qualche altro caso) quindi per sicurezza meglio verificare
maggiore=numeri[0]; //poniamo nella variabile maggiore il primo numero dell'array
for(int i=1;i<numeri.length;i++){
if(numeri[i]>maggiore)
maggiore=numeri[i]; //se qualche numero dovesse essere maggiore del numero finora più grande allora mettiamo il suo valore nella variabile maggiore
}
System.out.println("\nIl numero maggiore contenuto nell'array è: "+maggiore);
}
else //l'array ha lunghezza 0
System.out.println("\nL'array non contiene alcun numero");
}
}
Esercizio java: confronto tra due numeri reali
Si stabilisce, dati due numeri reali, se essi sono uguali o altrimenti quale dei due numeri è il maggiore: il primo o il secondo.
Il codice è il seguente:
public static void main (String [] args){
double primo=534.634;
System.out.println("I due numeri sono uguali: "+primo+" = "+secondo);
else{ // i numeri non sonop uguali, vediamo quale sia il maggiore
if(primo>secondo) // se primo è maggiore di secondo allora è primo il maggiore
System.out.println("Il primo numero è maggiore del secondo: "+primo+" > "+secondo);
else // altrimenti, non sono uguali, primo non è il maggiore, allora secondo è il maggiore
System.out.println("Il secondo numero è maggiore del primo: "+secondo+" > "+primo);
}
Il codice è il seguente:
class Confronto_numeri{
//dati due numeri reali chiamati primo e secondo si stabilisce quale dei due sia il maggiore o se sono ugualipublic static void main (String [] args){
System.out.println("Confronto tra due numeri reali");
//numeri da confrontaredouble primo=534.634;
double secondo=5.6;
System.out.println("I numeri da confrontare sono: "+primo+" il primo e "+secondo+" il secondo");
if(primo==secondo) // se i numeri sono ugualiSystem.out.println("I due numeri sono uguali: "+primo+" = "+secondo);
else{ // i numeri non sonop uguali, vediamo quale sia il maggiore
if(primo>secondo) // se primo è maggiore di secondo allora è primo il maggiore
System.out.println("Il primo numero è maggiore del secondo: "+primo+" > "+secondo);
else // altrimenti, non sono uguali, primo non è il maggiore, allora secondo è il maggiore
System.out.println("Il secondo numero è maggiore del primo: "+secondo+" > "+primo);
}
}
}
Iscriviti a:
Post (Atom)