Scritto da phoby ultima modifica : 25 Maggio 2006

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Scritto da phoby www.erroredigitale.tk ultima modifica : 25 Maggio 2006"

Transcript

1 Scritto da phoby ultima modifica : 25 Maggio 2006 Visitate [under costruction] per altro materiale relativo a programmazione, linux, hacking, security, etc... Il corso e' a puntate e trattera' in maniera completa il linguaggio java... enjoy ;) prima puntata premessa: in questa prima puntata cerchero' di dare una breve panoramica, che verra' ripresa passo a passo (partendo dalle variabili per intenderci!). Non tutto [quasi nulla] vi sara' chiaro in questa introduzione ma non ha importanza. INTRODUZIONE : Prima di tutto cerchiamo di capire cos'e' la programmazione orientata agli oggetti, ma prima ancora cos'e' la programmazione. Premetto che quello di cui parlero' e' alquanto vasto, sara' semplice perdere il filo del discorso ma cerchero' di essere il piu preciso possibile...e si va! Un linguaggio di programmazione che cos'è? Un linguaggio! Come l'italiano e l'inglese, non ha differenza. La sola differenza e che e' una macchina a doverlo capire, quindi il linguaggio deve essere privo di ogni possibile ambiguita'. Un linguaggio di programmazione ha la sua semantica e la sua sintassi; la sintassi equivale alla grammatica nei linguaggi "umani", la semantica al suo significato. Il linguaggio di programmazione piu' vicino alla macchina e' l'assembly (n.b. che non ho scritto assembler). Una istruzione assembly viene tradotta immediatamente in codice macchina (0 e 1 per capirci, insomma in logica digitale) da un software chiamato assembler. La potenza di questo linguaggio e' indiscussa,ma i tempi di stesura di codice sono imbarazzanti: sono stati cosi' creati linguaggi di programmazione di piu' "alto livello", dove il linguaggio e' stato avvicinato al modo di ragionare umano, ma il risultato e' identico, poiche' ogni istruzione di alto livello (ad esempio di linguaggio c) viene tradotta in linguaggio assembly prima di essere creato un eseguibile dell'applicazione. Questi linguaggi di programmazione che stanno sopra l'assembly sono solitamente i linguaggi

2 procedurali (che poi vedremo). Un sorgente scritto in c, che e' di tipo procedurale, viene quindi tradotto da un "compilatore". Quindi non tutti i compilatori sono uguali, in quanto ognuno traduce in maniera differente il codice di alto livello: tutti daranno lo stesso risultato ma prestazioni differenti. quindi per ora possiamo immaginate tale modello di astrazione linguaggi procedurali assembly hardware I linguaggi procedurali sono ad esempio c e pascal. Un programma nasce dall'esigenza di risolvere un problema, avendo un approccio di tipo procedurale, questo problema viene suddiviso in problemi piu' piccoli, dove ognuno di questi problemi viene risolto da una procedura. Ora aggiungiamo il livello di astrazione al nostro modello object oriented linguaggi procedurali assembly hardware Come si nota dal disegno il nuovo livello di astrazione si allontana dall'hard-ware, ma si avvicina sempre di piu' al modo di ragionare umano. I linguaggi di programmazione oo (object oriented -> orientati agli oggetti) cercano di riprodurre la realta' tramite

3 oggetti. Immaginiamo di voler rappresentare eclip in codice java [eclip è un mio amico alquanto suonato ;) ]. public class Persona { \*attributi*\ int altezza; String coloreocchi; \*metodi*\ salta() { System.out.println ("sto saltando"); In questa maniera ho descritto le caratteristiche di una generica persona, questa descrizione viene chiamata classe. Posso quindi creare un oggetto di nome eclip che ha queste caratteristiche cosi': Persona Eclip = new Persona() non provatelo che il codice non funzionera' e in seguito capirete il perche'. Immagino che dal codice abbiate capito poco o niente, ma e' giusto cosi', dovete piu' che altro catturarne la struttura e la logica... Che cos'e' una classe? codice che descrive degli oggetti. Una classe si divide in metodi e attributi. Gli attributi sono i dati che avra' l'oggetto creato da quella classe, i metodi sono le "azioni" che l'oggetto creato da quella classe puo' fare. Creiamo un eclip che funziona e capiamolo passo passo (eheheh): public class Persona { \\ attributi String nome; int altezza; \\questo metodo viene eseguito quando viene eseguita la classe persona public static void main (String args[]){ \\creiamo l'oggetto eclip che avra' le caratteristiche della classe persone (metodi e attributi) Persona eclip = new Persona(); //poi vedremo in dettaglio che vuol dire

4 \\questo metodo viene eseguito quando viene istanziato un oggetto della classe persona e viene chiamato costruttore public Persona() { name = " eclip"; altezza = 180; ve lo trascrivo senza commenti public class Persona { String nome; int altezza; public static void main (String args[]){ Persona eclip = new Persona(); public Persona() { name = " eclip"; altezza = 180; Cosa ne facciamo di questo codice? Non fa parte dell'introduzione. Su questo ci soffermeremo a lungo, ma prima abbiamo bisogno delle conoscenze base. Passiamo alla pratica installando tutto il necessario per eseguire codice java. E se non avete capito una mazza non preoccupatevi...e' del tutto normale, capirete più avanti! seconda puntata INSTALLAZIONE DELL'OCCORRENTE: Prima di tutto installiamo la virtual machine,poi vedremo a che serve.qui verso la fine e' spiegato bene df vi dira' un link per un download non funzionante voi usate questo e scegliete quello per la vostra architettura. Se sul materiale che vi ho linkato non vi sembra spiegata bene la procedura di installazione installazione, potete cercare materiale da google...e ne troverete aiosa.

5 Nella slyde e spiegata l'installazione per windows. Per linux cercate sulla documentazione della vostra distro ( per ubuntu ) Una volta installato avrete a disposizione due nuovi comandi che ci interessano. java javac noi scriveremo i sorgenti in un file con estensione java,ad esempio Spiderz.java, lo compiliamo cosi': javac Spiderz.java ed otteniamo un file Spiderz.class; scriviamo : java Spiderz e il nostro programma viene eseguito. usate questo sorgente per provare: public class Spiderz { public static void main (String args[]){ System.out.println ("welkome to spiderz forum "); >>>>>>>>>NOTA BENE : IL FILE.JAVA DEVE AVERE LO STESSO NOME DELLA CLASSE PUBBLICA, IN QUESTO CASO IL NOME DEL FILE SARA' Spiderz.java e occhio alle maiuscole e minuscole! <<<<<< Che cosa fa lo scoprimremo piu' avanti, per il momento scriveremo i nostri programmi solamente nel main ovvero public class Spiderz { public static void main (String args[]){ //qui metterete il vostro codice tutto quello che imparerete + o - vale anche per c, per questo ho preferito fare un mini tutorial su java. La vera potenza del linguaggio java sta nel poter essere eseguito su tutte le piattaforme, senza alcuna modifica di codice. Questo e' dovuto alla virtual machine, un software che emula una macchina, macchina che si occupa di interpretare il bytecode.

6 Il bytecode e' il risultato di una compilazione di un sorgente java[ il.class]. La virtual machine deve essere installata per poter eseguire un programma java (piu' precisamente il bytecode). immaginate questo: Test.java --> compilatore---> Test.class -->virtual machine-->nostro computer quindi io scrivo il mio programma in un file.java, lo compilo ed ottengo il.class, faccio eseguire alla virtual machine il.class ed ecco la mia apllicazione. Esistera' una virtual machine e un compilatore per ogni architettura cosi' gli stessi programmi possono essere eseguiti su differenti architetture, se fornite di virtual machine. Detto questo sappiamo quanto basta per iniziare a programmare, ad eccezzione di un buon editor che ci facilita' la stesura di un programma. Per chi usa windows consiglio jcreator (freeware), per i linuxiani gedit o kwrite vanno già benissimo! Quando sarete piu' esperti un ottimo IDE [ambiente di sviluppo integrato] e' sicuramente eclipse. terza puntata In realta' noi non useremo le potenzialita' di java per un po' perche' abbiamo bisogno prima di alcune nozioni. I commenti in java si segnano con // per commentare una riga intera oppure /*commento*/. Noi come gia' detto scriveremo i programmi nel main public class NomeClasse{ public static void main (String args[]){ /*qui scriverete il vostro programma*/ il file su cui salverete il source avra' lo stesso nome della classe con il nome public: per ora non ponetevi il problema in quanto useremo solo una classe che segneremo sempre pubblica. Per eseguire l'esempio daremo: javac NomeClasse.java java NomeClasse e naturalmente il programma non fara' nulla. finito questo breve ripassino passiamo alle variabili, cosa sono e come si usano. Una variabile e' un contenitori di dati, ad esempio se voglio fare una somma, avro' bisogno di tre variabili, due che mi contengano i due operandi e uno per il risultato.

7 Esistono vari tipi di variabili a seconda del dato che devono contenere (char,numeri interi o con virgola,etc). Per dichiarare una variabile : tipo nomevariabile; dove al posto di nomevariabile metteremo un nome che renda l'idea di che uso ne faremo della variabile, e per tipo il tipo della variabile: i tipi che per ora ci interessano possono essere.. -tipo boolean puo contenere il valore true o false -tipo int per i numeri interi -tipo float per numeri con la virgola, con un solo numero dopo la virgola (singola precisione) -tipo char per i caratteri Per creare una variabile, se ad esempio voglio fare la somma tra un numero contenuto nella variabile a e un numero contenuto nella variabile b, e mettere il risulato nella variabile c: //nota che ogni istruzione e seguita da un punto e virgola //creo la variabile di tipo intero a int a; //gli assegno il valore 2 a = 2; //creo la variabile b int b; //gli assegno il valore 5 b = 5; //creo la variabile c int c; //assegno alla variabile c il risultato di a + b c = a + b; lo trascrivo senza commenti int a; a = 2; int b; b = 5; int c; c = a + b; quindi abbiamo fatto per ogni variabile una dichiarazione ed un assegnamento, in due istruzioni ma potevamo farlo in un unica istruzione cosi':

8 //creo e inizializzo con il valore 2 la variabile a int a = 2; int b = 5; int c = a + b; mettiamo tutto nel codice che vi ho dato prima per darlo in pasto al compilatore e ne uscira' questo codice: public class NomeClasse{ public static void main (String args[]){ /*qui scriverete il vostro programma*/ //creo e inizializzo con il valore 2 la variabile a int a = 2; int b= 5; int c = a + b; copiatelo e incollatelo in un file di nome "NomeClasse.java" ed eseguitelo.poi compilatelo: javac NomeClasse.java ed eseguitelo: java NomeClasse a questo punto il programma non fa nulla. Ovvero fa le somme che vi ha detto ma nessuno gli ha detto di stamparlo a monitor. Per stampate a monitor bisogna usare questa istruzione (per ora prendetela cosi') che e' System.out.println(/*qui mettete la variabile da visualizzare*/); quindi applichiamo una modifichina al source : public class NomeClasse{ public static void main (String args[]){ int a = 2; int b=5 int c = a +b; //stampo a monitor il contenuto della variabile c System.out.println(c); eseguite ed otterrete come output il numero 7 [c = a+b = =7] possiamo anche fare una cosa del genere: public class NomeClasse{ public static void main (String args[]){ int a = 2;

9 int b = 5; //stampo a monitor il risultato di a + b System.out.println(a+b); Passiamo ai char... i char vengono assegnati cosi': char c; c = 'a'; ovvero il carattere da assegnare si mette tra apici. per stamparla a monitor: System.out.println(c); e verra' visualizzato il carattere a. Il carattere = viene detto operatore di assegnamento e differisce da scrivere == che viene usato per controllare una condizione, non per "assegnare"; Gia' che parliamo di condizioni facciamo le if. ad esempio voglio stampare a monitor la variabile c solo se e' maggiore di 0, utilizzo la parola chiave if: ecco qui il codice da mettere all'interno del metodo main: int c = 5; if (c>0) System.out.println(c); nella seconda riga viene verificata se e' vera la condizione tra parentesi, se lo e' si passa all' istruzione in terza riga, altrimenti si passa direttamente alla quarta riga se c'e'. quindi se avessi scritto cosi' int c = -2; if (c>0) System.out.println(c); System.out.println(c); avrebbe fato comunque la stessa perche non essendo vera la condizione tra parentesi sarebbe passata alla quarta riga che cmq fa la stessa cosa della terza. L'if permette di eseguire piu' di un istruzione se la sua condizione e' verificata, o di saltarle se non e' verificata, raggruppando le istruzioni tra parentesi graffe, ovvero cosi'; if(/*condizione*/) {

10 /*istruzione1*/; /*istruzione2*/; /*istruzione3*/; spero che le cose siano chiare, non sono difficili ma un po' meno semplici da spiegare, soprattuto con java che bisogna partire con numerosi "e' cosi' poi capirai perche'!". Per eventuali errori o consigli, contattatemi.. ;) quarta puntata FACCIAMO UNA CALCOLATRICE CHE FACCIA SOLO SOMMA O DIFFERENZA: Prima di tutto acquisiremo i due operandi, e poi chiederemo all'utente che tipo di operazione fare, digitando s per la somma e d per la differenza. Per ora useremo la classe SavitchIn (se non avete il concetto di classe per ora pensatela come una libreria) per acquisire dati da tastiera. Per poter utilizzare questa libreria bisogna compilare il sorgente SavitchIn.java[che e' presente nei download di e mettere il file SavitchIn.class nella dir del programma che stiamo creando. Noi useremo queste "istruzioni" (che in realta' sono le "funzioni" nel c e i "metodi" in java, comunque vedremo dopo, per ora e' un argomento troppo avanzato). SavitchIn.readInt() SavitchIn.readNonwhiteChar() La prima serve per acquisire interi, e restituisce un intero che noi assegneremo ad una variabile: esempio: int a = SavitchIn.readInt(); cosi' il sistema attende che l'utente immetta un numero per poi assegnarlo alla variabile a. Il medesimo funzionamento lo ha il secondo metodo della classe SavitchIn, solo che preleva un carattere. Si potrebbe iniziare a fare un osservazione (piccola piccola) di come abbiamo avuto accesso a

11 quelle "istruzioni" (che in realta' sono metodi). Abbiamo scritto il nome della classe, un punto, e poi il nome del metodo. Come vedremo ha lo stesso significato per: System.out.println(); Ora la comprensione del programma che segue dovrebbe essere semplice... //creiamo le variabili int operando1; int operando2; int risultato; char op; //acquisiamo il primo operando System.out.println("immettere primo operando"); operando1 = SavitchIn.readInt(); //il secondo System.out.println("immettere secondo operando"); operando2 = SavitchIn.readInt(); //chiediamo all'utente se fare una somma o differenza System.out.println("digitare s per la somma, d per la differenza"); op = SavitchIn.readNonwhiteChar(); //guardiamo se op vale s, se si facciamo la somma if (op=='s') /*ricordate che le char vanno tra apici*/ { risultato = operando1 + operando2; System.out.println (risultato); if (op=='d') /*ricordate che le char vanno tra apici*/ { risultato = operando1 - operando2; System.out.println (risultato); Tutta questa porkeria la mettiamo nel main e compiliamo come al solito public class test { public static void main (String args[]){ //creiamo le variabili int operando1; int operando2; int risultato;

12 char op; //acquisiamo il primo operando System.out.println("immettere primo operando"); operando1 = SavitchIn.readInt(); //il secondo System.out.println("immettere secondo operando"); operando2 = SavitchIn.readInt(); //chiediamo all'utente se fare una somma o differenza System.out.println("digitare s per la somma, d per la differenza"); op = SavitchIn.readNonwhiteChar(); //guardiamo se op vale s, se si facciamo la somma if (op=='s') /*ricordate che le char vanno tra apici*/ { risultato = operando1 + operando2; System.out.println (risultato); if (op=='d') /*ricordate che le char vanno tra apici*/ { risultato = operando1 - operando2; System.out.println (risultato); Osservazioni: Nel file SavitchIn.java potete notare che ogni metodo e' ben documentato nel sorgente. Noi abbiamo utilizzato solo due metodi, e ne useremo pochi altri in seguito. Vedremo in seguito che si poteva acquisire un input da tastiera in altri modi, senza ricorrere a librerie esterne. quinta puntata I booleani Vediamo piu' in dettaglio quali sono le "cose" che si possone inserire tra le parentesi dell'if. Possiamo inserire qualsiasi "cosa" che restituisca un boolean, ovvero "true" o "false". Se mi chiedo se "a>b" sara' true o false. potrei scrivere : booelan c = true; int a = 2;

13 int b = 1; c = a < b; System.out.println(c); e verra' stampato a monitor false, in quanto c varra' false, in quanto a non e' minore di b. Esistono degli operatori per legare piu' operazioni logiche, e sono & operatore and operatore or se suppongo a,b,c variabili booleane e scrivo: c = a & b c varra' true solo se, sia a che b, sono true(detto and logico). c = a b c varra' true se,a oppure b e' true. Naturalmente si possono legare tra di loro e l'operatore and ha la priorita'. Se io scrivo: if (true){ istruzion1; l'istruzione1 verra eseguita sempre. supponiamo che io voglia stampare un numero se compreso tra 3 a 10 questo sara' il blocco rispettivo all if if ((numero >=3) & (numero <=10)) { System.out.println(numero); Il maggiore e' uno degli operatori relazionali disponibili. Vi e' anche == (uguale) e!= (diverso). Per una lista completa cercate su google. sesta puntata Il costrutto while e simile all'if, la differenza (notevole) e che il suo corpo (le istruzioni tra le graffe)

14 viene eseguito a ciclo finche la condizione non diventa false. se scrivo while (true){ System.out.printl("phoby"); Avrete il mio nome che invade il vostro schermo, insomma un ciclo infinito. Quindi e' scontato che nel corpo del while devono esserci istruzioni che vadano a modificare la condizione tra parentesi. Se scrivo int a = 0 while (a<2){ System.out.printl(a); a =a + 1; System.out.printl("sei uscito dal while"); Viene creata la variabile a e viene inizializzata a 0. Siccome a e' minore di 2 viene eseguito il corpo tra le graffe. finito un ciclo viene rieseguito il controllo della condizione. Il ciclo si ripete finche' la condizione non diventa' false. Quindi l'output del codice di sopra sara': 0 1 sei uscito dal while ex claro? come direbbe bakunin... settima puntata Il for e' un potenziamento del while, ma fanno la stessa e identica cosa.

15 facciamo un esempio con while int a = 0 while (a <3){ System.out.println(a); a = a + 1; tradotto in un for for (int a = 0;a <3;a = a + 1){ System.out.println(a); quindi il for continua ad eseguire il suo corpo (il contenuto tra le graffe) fino a ke la condizione espressa nel secondo campo [tra le tonde] ritorna true. L'istruzione che serve a cambiare tale condizione per uscire dal ciclo viene messa nel terzo campo [viene eseguita alla fine di ogni ciclo]. Nel primo campo viene inzializzata la variabile che fara' da "contatore". Attenzione che alla chiusura del for tutte le variabili dichiarate al suo interno verranno perse. Quindi utilizzando il while la variabile a non verra persa in quanto e' dichiarata al suo esterno. Se voglio mantenere la variabile a anche uscito dal for: int a; for (a = 0;a <3;a = a + 1){ System.out.println(a); Nel primo campo posso anche fare piu' assegnamenti, anche piu' di una dichiarazione di variabile ma dello stesso tipo. Nel secondo campo posso mettere qualsiasi espressione booleana (posso legare quindi piu' condizioni con & oppure ). Nel terzo campo posso rifilare quante operazioni voglio. Questo esempio dovrebbe rendere l'idea, se io scrivo for (int i = 0; i <10; System.out.println(i), i = i +1){ questo for sembra vuoto, ma siccome le istruzioni del terzo campo sono sempre eseguite se si entra nel ciclo, quel for equivale a questo for (int i = 0; i <10;i = i +1){ System.out.println(i);

16 che equivale anche a questo: for (int i = 0; i <10;;){ System.out.println(i); i = i +1; che equivale a questo while: int i = 0; while (i <10){ System.out.println(i); i = i +1; Un po' di esempi per vedere se avete capito for(int a = 0; a < 2;;){ System.out.println(a); Questo e' un ciclo infinito in quanto nessuna istruzione modifica a...quindi la condizione sara' sempre vera for(int a = 0; a > 2; a++;){ System.out.println(a); Questo ciclo non verra' mai eseguito in quanto la condizione di ingresso non sarà mai vera... [a++ equivale a fare a = a + 1] for(int a = 0; a < 2; a++;){ System.out.println(a); System.out.println(a); Questo codice non compila in quanto la variabile a viene distrutta all'uscita dal for e non esiste quindi per l'istruzione di stampa. il codice per compilarlo va corretto così int a; for(a=0; a < 2;;){ System.out.println(a); Se non avete capito, non proseguite in quanto questi concetti sono fondamentali, in tal caso puo'

17 'essere che io mi sia spiegato male, quindi vi consiglio di consultare altre guide prima di proseguire. ;) ottava puntata E da molto che non continuo la guida, e ho impiegato mezz'oretta a correggere le boiate che ho scritto, che per fortuna mi sono state segnalate, ora dovrebbe essere tutto giusto...mi scuso...mi inkino a voi...skusate!! ;) Torniamo seri...[certo 8) ] Fino a questo punto abbiamo utilizzato solo il main, che e' un metodo che deve essere presente nella classe che viene eseguita per prima (noi per ora ne abbiamo usata max una). Per ora utilizzeremo java in maniera erronea, ovvero come se fosse un linguaggio procedurale, ma e' l'unica maniera per poter proseguire nell'apprendimento. Proviamo a creare noi un nostro metodo, il metodo somma, io butto giu' il codice poi lo vediamo passo passo. public class Lalala { public static void main (String args[]){ int operando1,operando2,risultato; operando1 = 1; operando2 = 3; risultato = Lalala.somma(operando1,operando2); System.out.println(risultato); public static int somma(int a,int b){ int c = a + b ; return c; in questa parte di codice viene creato questo metodo. public static int somma(int a,int b){ int c = a + b ; return c; e in questa parte lo abbiamo usato risultato = Lalala.somma(operando1,operando2);

18 Partiamo dalla creazione ed e' importante studiare la prima riga: public static int somma(int a,int b) le prime due parole per ora le prendete cosi' e le metterete sempre, quindi passiamo ad analizzare le successive int somma(int a,int b) tra le parentesi viene descritto dove andranno a finire (in che variabili e di che tipo) i valori che io passo all'interno del mio metodo. La prima parola indica di che tipo e' il valore ritornato dal metodo. (essendo il risultato della somma tra interi e' un int); quando scrivo somma(3,2) dove somma e il nome del metodo, assegno alla variabile a il valore 3 ed alla b il valore 2. Nel corpo del metodo viene svolta la somma e la parola return indica cosa deve ritornare il metodo, che come si legge dal codice ritorna la variabile c. risultato = Lalala.somma(operando1,operando2); Come si legge da questa riga il valore ritornato della funzione viene assegnato alla variabile "risultato". Per accedere al metodo ho usato la notazione col punto, ma essendo il metodo interno alla classe in cui lo uso, potevo scrivere solamente risultato = somma(operando1,operando2); senza specificare la classe in cui si trova il metodo. Creiamo un metodo che...che...non ho idee...facciamo che esegua istruzioni a muzzo tipo un po' di print. public static void nonfaccionulladisensato (){ System.out.println("il fumo uccide? si ma non sempre, l'ignoranza uccide continuamente!"); Come notate le parentesi sono vuote in quanto non necessita di parametri in input e il tipo di ritorno e' void, ovvero non torna nulla. Per usarlo scrivete nel vostro main nonfacciofaccionulladisensato(); e verra' eseguita la print.

19 All'interno di un metodo possono essere richiamati anche altri metodi. quindi per ora (lo faremo meglio nelle prox lezioni) stiamo usando java in maniera procedurale. Prima di utilizzarlo seriamente dobbiamo prendere grossa dimestichezza con i metodi e dobbiamo ancora vedere le stringhe...[ke noia!!...diventa molto più interessante arrivati alle socket!] Prima di chiudere la puntata facciamo una calcolatrice che fa somma e differenza (uguale a quella scorsa) solo che utilizza metodi fatti da noi: public class test { public static void main (String args[]){ //creiamo le variabili int operando1; int operando2; int risultato; char op; //acquisiamo il primo operando System.out.println("immettere primo operando"); operando1 = SavitchIn.readInt(); //acquisiamo il secondo operando System.out.println("immettere secondo operando"); operando2 = SavitchIn.readInt(); //chiediamo all'utente se fare una somma o differenza System.out.println("digitare s per la somma, d per la differenza"); op = SavitchIn.readNonwhiteChar(); //guardiamo se op vale s, se si facciamo la somma if (op=='s') /*ricordate che le char vanno tra apici*/ { risultato = somma(operando1,operando2); System.out.println (risultato); if (op=='d') /*ricordate che le char vanno tra apici*/ { risultato = diff(operando1,operando2); System.out.println (risultato); public static int somma(int a, int b){ int c = a + b; return c; public static int diff(int a, int b){ int c = a - b;

20 return c; Questa la lascio analizare a voi...se non la capite, non avete capito granche', quindi tornerei indietro, o cercherei su altre guide... Per info date un occhio all'home page del mio sito [ nona puntata Ora un altro argomento estremamente importante...le stringhe! Una stringa e' un tipo di dato che permette di contenere una sequenza di caratteri. Per ora alcune cose non ve le diro', ma verranno dette quando useremo gli oggetti. Se volessi salvare il mio nome in un char...non potrei in quanto contiene solo un carattere, potrei usare un array di char, ma noi gli array non gli abbiamo trattati, e cmq sono scomodi, ma bensi usiamo le stringhe, così: String mionome = "phoby"; System.out.println(mionome); verra' stampato a monitor il mio nome quindi la creazione di una stringa ha la seguente sintassi: String nomevariabile = "testo";... ATTENZIONE String va' scritto con la S maiuscola se no non va!!... Ogni carattere inserito nella stringa ha una sua posizione Le posizioni partono da 0 fino alla fine della stringa...dall'esempio [String nomevariabile = "testo";]così: caratteri t e s t o posizioni quindi possiamo vedere la stringa come una sequenza di char, e accedere ad una singola posizione tramite il metodo charat()...così [upponiamo mi interessi la lettera in posizione 3 che e' un char con valore 't']: String prova = "testo"; char lettera = prova.charat(3); Per ottenere la lunghezza di una stringa (che equivale all'ultima posizione +1), si puo' usare il metodo length()..così: int lunghezza = prova.length();

21 Per stampare, una lettera alla volta di una stringa, andando a capo dopo ogni lettera, questo e' il codice... String prova = "peppino" for(int i = 0; i < prova.length(); i++){ System.out.println(prova.charAt(i)); l'output sara' p e p p i n o SPEZZIAMO LE STRINGHE Supponiamo questa stringa String test = "ciao ok" carattere c i a o o k posizione Mettiamo caso che mi interessino le posizioni dalla 3 alla fine della stringa uso questo metodo String ciao =""; ciao = test.substring(3); System.out.println(ciao); E verra' stampato a monitor: o ok Se io volessi una stringa da 2 a 3 farei così: ciao = test.substring(2,1); dove il primo parametro indica dove iniziare il taglio[posizione 2], e il secondo di quanto avanzare per chiudere il taglio [1]. Per confrontare una stringa con un altra stringa [per vedere se sono uguali] si usa il metodo equals che ritorna un boolean, true nel caso siano uguali...esempio: String stringa1 = "prova"; String stringa2 = "prova";

22 boolean a = stringa1.equals(stringa2); if(a){ System.out.println("sono uguali"); potevo anche scriverlo così: if(stringa1.equals(stringa2)){ System.out.println("sono uguali"); oppure così if(stringa2.equals(stringa1)){ System.out.println("sono uguali"); perfezionamo il programma così if(stringa1.equals(stringa2)){ System.out.println("sono uguali"); else{ System.out.println("sono diverse"); L'else serve a far eseguire le istruzioni in esso contenute nel caso in cui l'istruzione if che lo precede non sia stato eseguito, quindi leggendo il codice in maniera naturale: SE STRINGA1 E' UGUALE A STRINGA2, STAMPA A MONITOR "SONO UGUALI" ALTRIMENTI STAMPA A MONITOR "SONO DIVERSE" Possiamo anche usare l'operatore "!" che inverte la condizione booleana, ovvero se scrivo boolean a = false; boolean b =!a; b varra' il contrario di a, ovvero true... quindi il codice con l'else equivale a questo if(stringa1.equals(stringa2)){ System.out.println("sono uguali"); if(!(stringa1.equals(stringa2))){ System.out.println("sono diverse");

Programmare in Java. Olga Scotti

Programmare in Java. Olga Scotti Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale

Dettagli

Struttura di un programma Java

Struttura di un programma Java Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

IL MIO PRIMO SITO: NEWS

IL MIO PRIMO SITO: NEWS Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un

Dettagli

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

Calcolare il massimo di una lista

Calcolare il massimo di una lista Calcolare il massimo di una lista Ieri abbiamo imparato a calcolare il massimo di una lista predefinita: lista = [4,24,-89,81,3,0,-12,31] max = lista[0] # questo e' un commento: primo elemento di lista

Dettagli

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI Pagina 1 UN SISTEMA DI NEWS Sommario UN SISTEMA DI NEWS...1 Introduzione...2 Scelgo l'area su cui operare...3 Un minimo di teoria...3 Creo le Pagine...4 Definizione dello Schedario Novità...6 Compilo la

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015 Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Esercitazione N7:Gioco dei 21 fiammiferi (impariamo java giocando)

Esercitazione N7:Gioco dei 21 fiammiferi (impariamo java giocando) Esercitazione N7:Gioco dei 21 fiammiferi (impariamo java giocando) Le basi della programmazione ad oggetti: per costruire in modo adeguato una applicazione basata sulla programmazione ad oggetti occorre

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

DOCUMENTO ESPLICATIVO

DOCUMENTO ESPLICATIVO DOCUMENTO ESPLICATIVO Modificare il proprio sito con Web designer Digitate il vostro username e password e compariranno tre tasti: AREA RISERVATA, WEB DESIGNER e LOGOUT Cliccate sul tasto WEB DESIGNER

Dettagli

Note per scaricare e installare il software cliccando alla pagina DOWNLOAD del sito,

Note per scaricare e installare il software cliccando alla pagina DOWNLOAD del sito, Come ben sapete, anch io,come voi, sono golosa di schemi,trovati in internet e nei giornali, e questo comporta, soprattutto per gli schemi virtuali, che devo cercare una soluzione per evitare che il mio

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Programmazione in Java Parte I: Fondamenti

Programmazione in Java Parte I: Fondamenti Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

Dettagli

tommaso.iacomino@gmail.com INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1

tommaso.iacomino@gmail.com INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1 INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1 IMPORTANTE: forse non visualizzate questa barra, se così fosse usiamo questa procedura: posizioniamo il cursore sulla parte vuota tasto destro del

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

Il programmatore che c e in noi Lezione 12 Statements

Il programmatore che c e in noi Lezione 12 Statements Il programmatore che c e in noi Lezione 12 Statements Mi sveglio, vado in bagno, doccia, colazione. Per colazione, preparo il caffe, accendo il gas, se e acceso metto la caffettiera sopra il fornello ed

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008 Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti

Dettagli

Olga Scotti. Basi di Informatica. File e cartelle

Olga Scotti. Basi di Informatica. File e cartelle Basi di Informatica File e cartelle I file Tutte le informazioni contenute nel disco fisso (memoria permanente del computer che non si perde neanche quando togliamo la corrente) del computer sono raccolte

Dettagli

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina [Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina Creare cartelle per salvare il lavoro] Per iniziare dobbiamo imparare a gestire quello spazio bianco che diverrà la

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

void funzioneprova() { int x=2; cout<<dentro la funzione x=<<x<<endl; } FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...

Dettagli

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO 4.1 PER INIZIARE 4.1.1 PRIMI PASSI COL FOGLIO ELETTRONICO 4.1.1.1 APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO L icona del vostro programma Excel può trovarsi sul desktop come in figura. In questo caso basta

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013] MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire

Dettagli

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per

Dettagli

Come realizzare i disegni in Autocad partendo da un immagine

Come realizzare i disegni in Autocad partendo da un immagine Come realizzare i disegni in Autocad partendo da un immagine L obbiettivo di questo articolo, è quello di poter avere a disposizione le linee di costruzione in qualsiasi scala, senza dover fare decine

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

Alcune regole di base per scrivere un programma in linguaggio C

Alcune regole di base per scrivere un programma in linguaggio C Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

Guida informatica per l associazione #IDEA

Guida informatica per l associazione #IDEA Guida informatica per l associazione #IDEA Questa guida vi spiegherà come utilizzare al meglio gli strumenti informatici che utilizza l associazione #IDEA in modo da facilitare il coordinamento con tutti

Dettagli

Joomla: Come installarlo e come usarlo. A cura di

Joomla: Come installarlo e come usarlo. A cura di Joomla: Come installarlo e come usarlo. A cura di In questa dispensa andremo a vedere come si installa joomla sul noto software xampp e come viene usato per creare siti web dinamici. Tecnol earn Firmato

Dettagli

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 Vicenza, 3 giugno 2015 Gentile cliente, si ricorda che a partire dall aggiornamento PROFIS 2011.1 è stato automatizzato

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

AT1542C - CED - Tablet offline - manuale utente

AT1542C - CED - Tablet offline - manuale utente Con la versione 15.0 è stata aggiunta al nostro applicativo di vendita a Tablet una nuova funzionalità: la funzionalità di vendita offline Questa modalità vi verrà in aiuto in tutte quelle situazioni in

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono

Dettagli

NOZIONI BASE SHELL E SCRIPT LINUX

NOZIONI BASE SHELL E SCRIPT LINUX NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI (ermes@zannoni.to.it) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory

Dettagli

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

Dettagli

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere

Procedura per creare un archivio storico remoto nelle 24 ore giornaliere Procedura per creare un archivio storico remoto nelle 24 ore giornaliere La seguente procedura ha lo scopo di illustrare il metodo di creazione di un archivio storico fotografico nell arco delle 24 ore

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Innanzitutto andiamo sul sito http://www.dropbox.com/ ed eseguiamo il download del programma cliccando su Download Dropbox.

Innanzitutto andiamo sul sito http://www.dropbox.com/ ed eseguiamo il download del programma cliccando su Download Dropbox. Oggi parlerò di qualcosa che ha a che fare relativamente con la tecnica fotografica, ma che ci può dare una mano nella gestione dei nostri archivi digitali, soprattutto nel rapporto professionale con altre

Dettagli

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2007-08 Primo scritto 11 Gennaio 2008

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2007-08 Primo scritto 11 Gennaio 2008 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2007-08 Primo scritto 11 Gennaio 2008 Si noti che le soluzioni ai quesiti saranno considerate valide

Dettagli

File, Modifica, Visualizza, Strumenti, Messaggio

File, Modifica, Visualizza, Strumenti, Messaggio Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere

Dettagli

MINIGUIDA PER RISORSE SU CLASH OF CLANS

MINIGUIDA PER RISORSE SU CLASH OF CLANS MINIGUIDA PER RISORSE SU CLASH OF CLANS Visto che le richieste in chat sono sempre maggiori ed è difficile riassumere in poche righe il sistema che utilizzo per fare risorse in poco tempo, ho pensato che

Dettagli

IL MODELLO CICLICO BATTLEPLAN

IL MODELLO CICLICO BATTLEPLAN www.previsioniborsa.net 3 Lezione METODO CICLICO IL MODELLO CICLICO BATTLEPLAN Questo modello ciclico teorico (vedi figura sotto) ci serve per pianificare la nostra operativita e prevedere quando il mercato

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

La posta elettronica (mail)

La posta elettronica (mail) Sindacato Pensionati Corsi di Informatica per Anziane e Anziani La posta elettronica (mail) V1.0, 09/11/2012 Bruno Boni Castagnetti, Nicoletta Giorda, Franco Marra Obiettivi della lezione Spiegare i concetti

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

INTRODUZIONE I CICLI DI BORSA

INTRODUZIONE I CICLI DI BORSA www.previsioniborsa.net 1 lezione METODO CICLICO INTRODUZIONE Questo metodo e praticamente un riassunto in breve di anni di esperienza e di studi sull Analisi Tecnica di borsa con specializzazione in particolare

Dettagli

COME ELIMINARE PARTI DEL TEMPLATE IN PAGINE SINGOLE

COME ELIMINARE PARTI DEL TEMPLATE IN PAGINE SINGOLE COME ELIMINARE PARTI DEL TEMPLATE IN PAGINE SINGOLE Con questa guida impareremo come eliminare delle singole zone del template che utilizziamo all'interno di una pagina specifica. Questo metodo torna utile

Dettagli

SIMULAZIONE CIRCUITI LOGICI CON LOGISIM

SIMULAZIONE CIRCUITI LOGICI CON LOGISIM SIMULAZIONE CIRCUITI LOGICI CON LOGISIM Introduzione In questo articolo spiegherò come è possibile simulare i circuiti spiegati a lezione di architettura degli elaboratori (= Calcolatori Elettronici per

Dettagli

MAGAZZINO FISCALE (agg. alla rel. 3.4.1)

MAGAZZINO FISCALE (agg. alla rel. 3.4.1) MAGAZZINO FISCALE (agg. alla rel. 3.4.1) Per ottenere valori corretti nell inventario al LIFO o FIFO è necessario andare in Magazzino Fiscale ed elaborare i dati dell anno che ci serve valorizzare. Bisogna

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Fate doppio click sul file con nome postgresql-8.0.msi e impostate le varie voci come riportato nelle immagini seguenti:

Fate doppio click sul file con nome postgresql-8.0.msi e impostate le varie voci come riportato nelle immagini seguenti: ,QVWDOOD]LRQHGL'LVNL L installazione di Diski e composta di due parti: il back-end e il front-end. Il back-end e il database relazionale orientato agli oggetti PostgreSQL. PostgreSQL e disponibile in diverse

Dettagli

Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento.

Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento. Guida all uso del sito E Commerce Axial Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento. Innanzitutto,

Dettagli

NOZIONI BASE PER ESERCITAZIONI

NOZIONI BASE PER ESERCITAZIONI NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi

Dettagli

Prova di Laboratorio di Programmazione

Prova di Laboratorio di Programmazione Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare

Dettagli

Formattazione. ü Introduzione

Formattazione. ü Introduzione Formattazione ü Introduzione Abbiamo fatto un bel po' di lavoro con Mathematica, vero? Abbiamo visto come creare, valutare, semplificare, disegnare, programmare, cucinare, pescare, ed anche come sfilare

Dettagli

TRUCCHI PER GIMP - Elemento a colori in foto bianco e nero

TRUCCHI PER GIMP - Elemento a colori in foto bianco e nero TRUCCHI PER GIMP - Elemento a colori in foto bianco e nero Salve Prof. Cantaro come promesso le mando un altro articolo da poter inserire nelle sue guide. Questa volta però a differenza dell'ultima,ho

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1 PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ

Dettagli

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia Utilizzo del Forum NEWS Il forum news è stato pensato per dare ad ogni associazione la possibilità di pubblicare una pagina di novità all intero del proprio sito (scheda o pagina autocomposta). E la sezione

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Informa(ca Appun% dal laboratorio 2

Informa(ca Appun% dal laboratorio 2 Informa(ca Appun% dal laboratorio 2 Conce- fondamentali Esistono programmi, come Microso8 Word oppure Acrobat Reader, che vengono usa% dagli uten% per far eseguire al computer determinate operazioni (come

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Figura 1 Le Icone dei file di Excel con e senza macro.

Figura 1 Le Icone dei file di Excel con e senza macro. 18 Le macro Le macro rappresentano una soluzione interessante per automatizzare e velocizzare l esecuzione di operazioni ripetitive. Le macro, di fatto, sono porzioni di codice VBA (Visual Basic for Applications)

Dettagli

1.0 GUIDA PER L UTENTE

1.0 GUIDA PER L UTENTE 1.0 GUIDA PER L UTENTE COMINCIA FACILE Una volta effettuato il login vi troverete nella pagina Amministrazione in cui potrete creare e modificare le vostre liste. Una lista è semplicemnte un contenitore

Dettagli