In questo articolo presento alcune classi java utilizzate per illustrare l’utilizzo dei metodi getter e setter, tali metodi servono per accedere alle variabili private di una classe java.
Leggi tutto “Esercitazione Java esempio di un progetto per la gestione della scuola”Presentazione anno di prova insegnamento B16
Comandi base del prompt di Windows
Di seguito troverete delle slides con l’elenco dei comandi base del prompt di Windows e un semplice esercizio da svolgere.
Comandi base: cd – dir – cls – color – exit – help – mkdir – rmdir – ren – xcopy – tree – move – echo – del – more – copy
Leggi tutto “Comandi base del prompt di Windows”Multithreading join in linguaggio C – Migliorato
Ho deciso di apportare un piccolo miglioramento del codice dell’articolo precedente per poter sfruttare ad ogni lancio del dado sempre lo stesso blocco di codice per generare un numero random. Di seguito è riportato il codice in linguaggio C.
Leggi tutto “Multithreading join in linguaggio C – Migliorato”Multithreading join in linguaggio C – srand function
In questo esempio riprendiamo il codice di un articolo precedente, in cui si usava un thread per simulare il lancio di un dado, adattandolo per simulare stavolta il lancio di 3 dadi in multithreading sfruttando sempre la funzione srand. Di seguito il codice completo.
Leggi tutto “Multithreading join in linguaggio C – srand function”Thread Join in linguaggio C
Di seguito viene mostrato un esempio di codice che crea un thread nel cui codice viene generato un numero casuale da 1 a 6, simulando il lancio di un dado.
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
int parametroOUT;
void* codice(void *arg){
srand(time(NULL));
parametroOUT = (rand() % 6)+1;
pthread_exit((void*) ¶metroOUT);
}
int main(){
int *risultato;
pthread_t t1;
pthread_create(&t1, NULL, codice, NULL);
pthread_join(t1, (void*) &risultato);
printf("dado estratto: %d\n", *risultato);
return 0;
}
Fork Join in linguaggio C
Di seguito si mostra un esempio del costrutto Fork Join utilizzando le funzioni fork() e wait() del linguaggio C. In particolare sia il processo padre che il processo figlio eseguiranno in parallelo dei calcoli ed in fine il processo padre sommerà i risultati dei calcoli paralleli.
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
int potenza(int n, int e){
int k=n;
int i;
printf("1.1 elab. parallela processo figlio\n");
for(i=1;i<e;i++) k=k*n;
return k;
}
int fattoriale(int n){
int k=n;
int i;
printf("1 elab. parallela processo del padre\n");
for(i=n-1;i>0;i--) k=k*i;
return k;
}
int somma(int a, int b){
int k;
printf("2 elab. finale padre \n");
k=(a+b);
return k;
}
int main(){
int x, y, z, retv;
pid_t pid;
pid=fork(); //inizio elaborazione parallela
if(pid == 0){
x=potenza(3,3); //esecuzione parallela calcoli figlio
exit(x); //termina processo figlio
}
else{
y=fattoriale(4); //esecuzione parallela calcoli padre
}
printf(".. join: padre aspetta \n");
wait(&retv); //join: il padre aspetta il figlio
x = WEXITSTATUS(retv); //prende il risultato del figlio
z = somma(x,y); //esegue gli ultimi calcoli
printf("-> risultato finale z = %d \n", z);
}
Utilizzare gli array, il ciclo for, i numeri random e la funzione potenza nel linguaggio C
Scrivere un programma in C che popola un array di grandezza DIM_ARRAY con un ciclo for inserendo un valore casuale tra 1 e 100.
Successivamente copiare la potenza di 2 di ogni valore dell’array A in un nuovo array B ma con ordine inverso.
#include <stdio.h>
#include <stdlib.h>
#include <time.h> //questa libreria mi serve per richiamare la funzione time(0)
#include <math.h> //pow(n,e); n=numero e=esponente es: pow(5,2) = 25
#define DIM_ARRAY 10
void main() {
int A[DIM_ARRAY];
int B[DIM_ARRAY];
int i;
srand(time(0)); //inizializiamo il generatore su time(0) per avere valori sempre diversi
printf("Inizializzo e stampo Array A\n");
for(i=0;i<DIM_ARRAY;i++){
A[i]=1+rand()%100; //inserisco nell'array un numero casuale tra 1 e 100
printf("A[%d]: %d",i,A[i]);
printf("\n");
}
printf("Inizializzo e stampo Array B\n");
int j=0;
for(i=DIM_ARRAY-1;i>=0;i--){
B[i]=pow(A[j],2);
j++;
printf("B[%d]: %d",i,B[i]);
printf("\n");
}
}
JAVA – NetBeans – Tomcat – HttpServlet
In questo video tutorial vi mostro come creare rapidamente una Java HttpServlet con NetBeans e come effettuare il deploy manuale in Tomcat del progetto .war
Gioco del TRIS in C++
Di seguito è riportato un esempio pratico che implementa il gioco del TRIS utilizzando il linguaggio C++. Non ci sono i commenti nel codice poiché è a scopo didattico e vorrei che il lettore si sforzasse di comprendere il funzionamento testando direttamente il codice oppure parte di esso. Non ho implementato i controlli per la verifica del punteggio e del vincitore, ma questo potrebbe essere un buon motivo, per il lettore, per migliorare il codice.
Leggi tutto “Gioco del TRIS in C++”