Massimo Tistarelli DAP - Università di Sassari Laboratorio di Computer Vision Graphics and Image Processing
|
|
- Filiberto Gianluca Cenci
- 8 anni fa
- Visualizzazioni
Transcript
1 Corso di Laurea in DESIGN Elementi di programmazione Massimo Tistarelli DAP - Università di Sassari Laboratorio di Computer Vision Graphics and Image Processing
2 I linguaggi di programmazione Programma Insieme ordinato di istruzioni elementari impartite ad un calcolatore per svolgere un compito Risponde a requisiti di completezza Elabora dati provenienti dai dispositivi di ingresso Produce risultati che possono essere memorizzati temporaneamente, per ulteriori elaborazioni, oppure trasmessi ai dispositivi di uscita L esecuzione delle istruzioni è effettuata dal processore e coordinata dal sistema operativo Programmazione attività che permette di affrontare in modo sistematico l ideazione e la realizzazione di un programma Massimo Tistarelli 2
3 I linguaggi di programmazione Algoritmo Insieme ordinato di passi non ambigui ed eseguibili che portano alla soluzione di un problema Proprietà che un algoritmo deve soddisfare: Essere comprensibile Non presentare ambiguità Essere attuabile Garantire una terminazione Massimo Tistarelli 3
4 I linguaggi di programmazione Formalizzazione generica di un algoritmo Tramite pseudocodice Tramite diagrammi di flusso Implementazione stesura definitiva di un algoritmo che utilizza un linguaggio di programmazione Il risultato di tale fase è comunemente chiamato programma Massimo Tistarelli 4
5 I linguaggi di programmazione Pseudocodifica Linguaggio il più possibile vicino a quello dell uomo Utilizza l indentazione Esempio: leggere un numero; se e positivo stamparlo e terminare l esecuzione, altrimenti leggerne un altro Ripeti Leggi A Se A > 0 stampa A Esci dal programma Fine se Fine ripeti Massimo Tistarelli 5
6 I linguaggi di programmazione Diagrammi di flusso (flow chart): Visualizzazione grafica del programma: Uso di simboli grafici per indicare le singole operazioni elementari I simboli sono connessi da archi orientati Evidenziano in modo grafico il flusso delle istruzioni Componenti: Istruzioni di Input/Output selezione Istruzioni sequenziali Inizio / fine algoritmo Massimo Tistarelli 6
7 I linguaggi di programmazione Inizio ESEMPIO: leggere un numero; se e positivo stamparlo e terminare l esecuzione, altrimenti leggerne un altro no int A Leggi A A>0? si Stampa A Fine Massimo Tistarelli 7
8 I linguaggi di programmazione Per procedere all implementazione di un programma occorre scegliere un LINGUAGGIO di programmazione Quali opzioni sono possibili? Codice macchina Codice assembler Metacodice Linguaggi di programmazione evoluti Linguaggi naturali PIU DIFFICILE PER L UOMO PIU SEMPLICE PER L UOMO Massimo Tistarelli 8
9 I linguaggi di programmazione Codice macchina È direttamente eseguibile dal processore È una sequenza di cifre binarie che rappresentano i codici operativi delle istruzioni e gli operandi Codice assembler Sostitituisce ai codici operativi e agli operandi codici mnemonici che richiamano alla memoria la funzione dell istruzione LD A 05H - carica il registro A con il valore esadecimale 5 SLA A - scala a sinistra il registro A Massimo Tistarelli 9
10 I linguaggi di programmazione Metacodice Codice non direttamente eseguibile dal processore, ne comprensibile da parte dell utente È una sequenza di byte che, come il codice macchina, rappresenta istruzioni e operandi È indipendente dalla piattaforma hardware Necessita comunemente di un interprete atto a tradurre il metacodice in linguaggio macchina Linguaggi evoluti Sono linguaggi caratterizzati da costrutti sintattici che facilitano la scrittura del codice e la definizione dei dati Possiedono strutture di controllo di alto livello (cicli, blocchi decisionali) Necessitano di compilatori o interpreti atti a tradurre i programmi in linguaggio macchina Massimo Tistarelli 10
11 I linguaggi di programmazione Compilatori programmi che agiscono su un programma sorgente, scritto in linguaggio evoluto, producendo il corrispondente codice macchina sono caratterizzati da una serie di passi, che convertono il programma sorgente in altrettanti oggetti intermedi Librerie, oggetti rilocabili Programma sorgente compilatore Programma assembler assemblatore Codice macchina rilocabile Loader/linker Codice macchina assoluto Massimo Tistarelli 11
12 I linguaggi di programmazione Interpreti programmi che effettuano la conversione in codice macchina passo dopo passo il BASIC e` uno dei più noti linguaggi interpretati un problema comune dei linguaggi interpretati è la lentezza di esecuzione Librerie, oggetti rilocabili Programma sorgente Interprete (generazione di codice macchina assoluto immediatamente eseguito) Massimo Tistarelli 12
13 I linguaggi di programmazione Compilatori JIT (Just in Time) Moderno compromesso tra i compilatori e gli interpreti Traducono il codice come gli interpreti ma ne memorizzano una parte in modo da velocizzare il processo Aumento notevole delle prestazioni (quasi come un linguaggio compilato) Aumento della quantità di memoria necessaria (poco preoccupante in relazione alla grande disponibilità) Massimo Tistarelli 13
14 Introduzione al JAVA Cos è JAVA? JAVA e` un linguaggio interpretato di recente introduzione (1991!) Il successo di JAVA e` legato quasi esclusivamente alla realizzazione del browser HotJava (1995) ed alla successiva integrazione della tecnologia JAVA nel browser Netscape Quali sono le caratteristiche principali? Apprezzare le caratteristiche di JAVA richiede un buon bagaglio di conoscenza Semplicità (deriva da C e C++) Programmazione orientata agli oggetti Elaborazione distribuita Robustezza (non esistono puntatori) Sicurezza Portabilità Massimo Tistarelli 14
15 Introduzione al JAVA Alcuni equivoci comuni JAVA non ha relazioni con il linguaggio HTML; è possibile tuttavia richiamare un programma JAVA da una pagina HTML (applet) Come tutti i programmi evoluti, JAVA non è di facile apprendimento. Ha però caratteristiche che lo rendono di uso abbastanza immediato JAVA non è un ambiente di programmazione. Ambienti di programmazione sono disponibili per JAVA come per altri linguaggi JAVA diventerà un linguaggio universale di programmazione?. È difficile affermarlo con certezza. Massimo Tistarelli 15
16 Introduzione al JAVA JAVA è un linguaggio lento? JAVA è un linguaggio sia compilato che interpretato L interpretazione del metacodice è certamente un punto debole; il problema è tuttavia superato dall utilizzo di compilatori just in time Librerie, oggetti rilocabili Programma sorgente JAVA Compilatore (javac) metacodice (bytecode) Interprete Java Virtual Machine (java) Massimo Tistarelli 16
17 Fondamenti del linguaggio Tipi fondamentali Numeri in virgola mobile Interi float range approx. ± E+38 (7 cifre decimali significative) double range approx ± E+308 (15 cifre decimali significative) int -> da a long -> da L a L short -> da a byte -> da -128 a 127 Massimo Tistarelli 17
18 Fondamenti del linguaggio Tipi fondamentali Caratteri char codice a due byte (unicode) per simboli NB: Il codice si esprime normalmente come \uxxxx dove XXXX sono cifre esadecimali Booleani Boolean -> true oppure false Utilizzati per test logici e per operazioni di confronto Massimo Tistarelli 18
19 Fondamenti del linguaggio Dichiarazione e assegnazione di variabili byte b; int aninteger; long along; char ch; char yesch, capitala; yesch = Y ; capitala = \u0041 ; //corrisponde al carattere A boolean k=true; int i; // DICHIARAZIONE i = 37; // ASSEGNAZIONE Massimo Tistarelli 19
20 Fondamenti del linguaggio Operatori int n = 5; // dichiarazione e inizializzazione int a = 2+n; // a vale 7 int b = a-3; // b vale 4 int c = a*b; // c vale 28 int d = a/b; // d vale 1!!!! int m = 7; // dichiarazione e inizializzazione int n = 7; // dichiarazione e inizializzazione int k; // k non è inizializzata n++; // n vale 8 m--; // m vale 6 k = m*n; // k vale 48 Massimo Tistarelli 20
21 Fondamenti del linguaggio Operatori relazionali Operatori per effettuare confronti: Uguale Diverso Maggiore Minore Maggiore o uguale Minore o uguale (a==b) (a!=b) (a>b) (a<b) (a>=b) (a<=b) Massimo Tistarelli 21
22 Fondamenti del linguaggio Operatori booleani Il risultato di un confronto è una variabile di tipo boolean (5>7) è false Posso combinare i valori delle espressioni booleane con gli operatori AND OR NOT AND (a && b) OR (a b) NOT (~b) XOR (a^b) Esempio: ((5==7) && (5>7)) è false Massimo Tistarelli 22
23 Fondamenti del linguaggio Stringhe: sequenze di caratteri, racchiuse tra virgolette String e = Hello World ; String e = ; Operazioni sulle stringhe: // stringa vuota Sottostringhe: tramite la funzione (metodo) substring String e = Hello World ; String s = e.substring(0,5) // sottostringa // che inizia in posizione 0 e finisce in 5 Concatenazione: si usa il simbolo + String e = Hello ; String s = World ; Stringe t = e+s; // t vale Hello World Massimo Tistarelli 23
24 Fondamenti del linguaggio Lunghezza ed estrazione di caratteri String e = Hello World ; char c = e.charat(4) // carattere in posizione 4 ( o ) int l = e.length() // lunghezza (11) Confronto String e = Hello ; String s = Hi ; if (e.equals(s)) // vale false if (e.compareto(s)) // vale 1 Ricerca String e = Hello ; int k = e.indexof( e ); // prima posizione del carattere // e (1) - vale 1 se non trovo corrispondenza Massimo Tistarelli 24
25 Fondamenti del linguaggio La struttura di un semplice programma JAVA public class Hello { public static void main(string[] args) { Istruzione 1 Istruzione 2 Istruzione 3 Nome classe Programma vero e proprio Massimo Tistarelli 25
26 Fondamenti del linguaggio Esempio 1: somma tra due numeri interi e un numero con la virgola int a,b float c float tot START Stampa messaggio chiedendo all utente l inserimento di un intero leggi b Stampa messaggio chiedendo all utente l inserimento di un numero con la virgola leggi c leggi a Stampa messaggio chiedendo all utente l inserimento di un intero tot = a+b+c Stampa tot END Massimo Tistarelli 26
27 Fondamenti del linguaggio // legge due numeri interi e un numero con la virgola da tastiera // ed effettua la somma import java.util.*; // libreria utilità di sistema! public class esempio1{ public static void main(string[] args) { int a,b; float c, tot; Scanner sc = new Scanner(System.in); System.out.println("Inserire un numero intero"); a= sc.nextint(); System.out.println("Inserire un numero intero"); b= sc.nextint(); System.out.println("Inserire un numero in virgola mobile"); c= sc.nextfloat(); tot = a+b+c; System.out.print("La somma vale: "+tot); Massimo Tistarelli 27
28 Fondamenti del linguaggio Strutture di controllo: if - else if (a>b) { System.out.print(a); else { System.out.print(b); Stampa a a>b Stampa b if (K>10) { K = K+1; K=K+1 K>10 Massimo Tistarelli 28
29 Fondamenti del linguaggio Strutture di controllo: while int x=0; int y = 2; while(x<4) { x ++; y = y*y; System.out.print(y); x<4 x++ y=y*y Stampa y Massimo Tistarelli 29
30 Fondamenti del linguaggio Strutture di controllo: do while int x=0; int y=2; do { x ++; y = y*y; while(x<4); System.out.print(y); x++ y=y*y x<4 Stampa y Massimo Tistarelli 30
31 Fondamenti del linguaggio Strutture di controllo: cicli definiti I=0 for(int I=0; I<=10; I++) { System.out.println(I); I<10 NB: non è diverso dal while Stampa I I++ Massimo Tistarelli 31
32 Fondamenti del linguaggio Strutture di controllo: selezione multipla int choice = sc.nextint(); switch (choice) { case 1: break; case 2: break;... default: break; choice ==1 choice ==2 caso default.. Massimo Tistarelli 32
33 Fondamenti del linguaggio Esempio 2: confronto tra due numeri interi int a,b START Stampa messaggio chiedendo all utente l inserimento di un intero Stampa a si a>b? no Stampa b leggi a END Stampa messaggio chiedendo all utente l inserimento di un intero leggi b Massimo Tistarelli 33
34 Fondamenti del linguaggio // legge due numeri interi e stampa il numero più grande import java.util.*; // libreria utilità di sistema! public class esempio2{ public static void main(string[] args) { int a,b; Scanner sc = new Scanner(System.in); System.out.println("Inserire un numero intero"); a = sc.nextint(); System.out.println("Inserire un numero intero"); b = sc.nextint(); if (a>b) { System.out.print( Il numero più grande è: + a); else { System.out.print( Il numero più grande è: + b); Massimo Tistarelli 34
35 Fondamenti del linguaggio Esempio 3: conteggio ed eliminazione delle vocali di una stringa int contatore String sin, sout, vocali START vocali = aeiouaeiou sout = vuota contatore = 0 Stampa messaggio chiedendo all utente l inserimento di una stringa leggi sin si incolla in coda a sout carattere i-mo sin i=0 i<lung sin si carattere i-mo sin!= vocale? no no contatore ++ stampa sout e contatore END i=i+1 Massimo Tistarelli 35
36 Fondamenti del linguaggio // conta ed elimina le vocali di una stringa import java.util.*; public class esempio3{ public static void main(string[] args) { String vocali, sin, sout; int contatore=0; vocali = "aeiouaeiou"; sout=""; Scanner sc = new Scanner(System.in); System.out.println("Inserire una stringa arbitraria"); sin = sc.nextline(); for (int i=0; i<sin.length();i++) { if (vocali.indexof(sin.charat(i))== -1) { sout = sout+sin.charat(i); else {contatore++; System.out.println("contate ed eliminate "+ contatore + " vocali"); System.out.print(sout); Massimo Tistarelli 36
37 Fondamenti del linguaggio Esempio 4: inversione di una stringa String sin, sout START i=0 sout = vuota Stampa messaggio chiedendo all utente l inserimento di una stringa i<lung sin incolla in testa a sout carattere i-mo sin stampa sout END leggi sin i=i+1 Massimo Tistarelli 37
38 Fondamenti del linguaggio // inverte una stringa import java.util.*; public class esempio4{ public static void main(string[] args) { String sin, sout; sout=""; Scanner sc = new Scanner(System.in); System.out.println("Inserire una stringa arbitraria"); sin= sc.nextline(); for (int i=0; i<sin.length();i++) { sout = sin.charat(i)+sout; System.out.print(sout); Massimo Tistarelli 38
39 Fondamenti del linguaggio Esempio 5: Lettura e scrittura su disco di un file di testo preparare un file di testo di nome ingresso.txt che contenga righe come queste: Amedeo 22 Giovanni 20 Marco 25 Si vuole leggere il file ingresso.txt e creare un file uscita.txt dove i voti siano incrementati di uno, ad esempio: Amedeo 23 Giovanni 21 Marco 26 Massimo Tistarelli 39
40 Fondamenti del linguaggio Esempio 5: Lettura e scrittura su disco di un file di testo String nome int voto ci sono elementi START apri file di ingresso apri file di uscita leggi nome e voto stampa nome e voto voto = voto+1 chiudi file END scrivi nome e voto Massimo Tistarelli 40
41 Fondamenti del linguaggio import java.io.*; import java.util.*; public class LeggiFile{ public static void main(string[] args) throws IOException { FileReader inputf; // stream di ingresso PrintWriter outputf; // stream di uscita String nome; int val; // Apertura stream di ingresso inputf = new FileReader("ingresso.txt"); Scanner sf = new Scanner(inputf); // Apertura stream di uscita outputf = new PrintWriter("uscita.txt"); //(continua) Massimo Tistarelli 41
42 Fondamenti del linguaggio while (sf.hasnext()) { nome = sf.next(); val= sf.nextint(); System.out.println("sto leggendo: " + nome + " " + val); val=val+1; outputf.println(nome+ " " + val); // chiusura stream inputf.close(); outputf.close();...e se volessi usare un file con struttura nome, cognome, voto? Massimo Tistarelli 42
43 Fondamenti del linguaggio Array: sono oggetti di sistema! int[] k = new int[100]; int [][] matrice = new int[10][10]; Notare bene: Il programmatore deve CREARE esplicitamente questi oggetti le celle sono indicizzate a partire dal valore 0 fino a 99 per inizializzare un array occorre utilizzare un ciclo iterativo: Esempio: for (int i=0; i<100; i++){ K[i] = 0; Massimo Tistarelli 43
44 Fondamenti del linguaggio Esempio 6: massimo tra quattro numeri interi int i int [] N int max START max=n[0] i=1 Stampa max Stampa messaggio i=0 no max<n[i] si END max=n[i] i<4 SI Leggi N[i] i=i+1 i=i+1 i<4 Massimo Tistarelli 44
45 Fondamenti del linguaggio // massimo tra quattro numeri import java.util.*; // libreria utilità di sistema! public class esempio6{ public static void main(string[] args) { // dichiarazione delle variabili necessarie int[] N = new int[4]; int max,i; // lettura da tastiera dei valori Scanner sc = new Scanner(System.in); System.out.println("Inserire 4 numeri interi"); for (i=0;i<4;i++) { N[i]= sc.nextint(); // (continua) Massimo Tistarelli 45
46 Fondamenti del linguaggio // inizializzazione variabili max = N[0]; i = 1; // ciclo di controllo do { if(max<n[i]) { max = N[i]; i=i+1; while(i<4); // stampa massimo System.out.println("Massimo:" + max); // fine del main // fine della classe esempio6 Massimo Tistarelli 46
47 Fondamenti del linguaggio Esempio 7 : calcolo di media per una popolazione di 10 numeri in virgola mobile int i float [] val float media float somma START somma=0 i=0 media=somma/i Stampa media i=0 i<10 SI END i<10 SI somma=somma+val[i] leggi val[i] i=i+1 i=i+1 Massimo Tistarelli 47
48 Fondamenti del linguaggio import java.util.*; // libreria utilità di sistema! public class esempio7{ public static void main(string[] args) { // dichiarazione delle variabili float[] val= new float[10]; int i; float media, somma; // lettura da tastiera dei valori Scanner sc = new Scanner(System.in); for (i=0;i<10;i++) { System.out.println("Inserire il numero del vettore in posizione " + i); val[i]=sc.nextfloat(); Massimo Tistarelli 48
49 Fondamenti del linguaggio // ciclo di calcolo somma=0; for (i=0;i<10;i++) { somma = somma + val[i]; media = somma / i; // stampa media System.out.println("Media:" + media); // fine del main // fine esempio 6 Massimo Tistarelli 49
50 Fondamenti del linguaggio // cosa aggiungere per calcolare la varianza? float var; var=0; for (i=0;i<10;i++) { var += (val[i]-media) * (val[i]-media); var /= i; // stampa var System.out.println( Varianza:" + var); Massimo Tistarelli 50
51 Fondamenti del linguaggio Esempio 8 : calcolo del fattoriale int i, num long fat fat=num i=num START Stampa messaggio i>1 SI Stampa fat END leggi num i=i-1 fat = fat * i Massimo Tistarelli 51
52 Fondamenti del linguaggio import java.util.*; // libreria utilità di sistema! public class esempio8{ public static void main(string[] args) { // dichiarazione delle variabili int num, i; long fat; // uso long per codificare numeri grandi System.out.println("Inserire un numero intero"); // lettura da tastiera del valore Scanner sc = new Scanner(System.in); num = sc.nextint(); Massimo Tistarelli 52
53 Fondamenti del linguaggio fat = num; i=num; while(i > 1){ i = i-1; fat = fat * i; // stampo il risultato System.out.print("Il fattoriale di " + num + " vale: "+ fat); //fine main // fine classe di programma Massimo Tistarelli 53
54 Funzioni e procedure Tradizionalmente si indica con il nome di PROCEDURA un insieme di istruzioni associato ad un nome. La procedura, ovvero l insieme di istruzioni associato, può essere richiamato più volte nel corso del programma. Stampa() { System.out.println("Stampo questa frase"); Una procedura viene chiamata FUNZIONE se restituisce un valore int Somma( int a, int b) { int ris; ris = a+b; return ris; Massimo Tistarelli 54
55 Funzioni e procedure In JAVA non c è differenza tra procedure e funzioni. Si utilizza per entrambe il nome metodo. Un metodo deve sempre dichiarare il risultato di ritorno, che ovviamente può essere vuoto: void Stampa() { System.out.println("Stampo questa frase"); I parametri di un metodo devono sempre avere tipo definito. Di norma essi vengono COPIATI (passaggio per valore) e quindi LE VARIABILI ORIGINALI NON POSSONO ESSERE ALTERATE Se viene passato un OGGETTO esso non viene copiato. Le alterazioni all interno del metodo si rifletteranno quindi sull oggetto originale. Massimo Tistarelli 55
56 Funzioni e procedure Esempio 9 : calcolo del fattoriale ripetuto int num long fat START num>1 SI Stampa messaggio Calcola fattoriale di num e salva in fat END leggi num Stampa fat Stampa messaggio leggi num Massimo Tistarelli 56
57 Funzioni e procedure import java.util.*; // libreria utilità di sistema! public class esempio9{ public static void main(string[] args) { // dichiarazione delle variabili int num; long fat; // uso long per codificare numeri grandi System.out.println("Inserire un numero intero"); // lettura da tastiera del valore Scanner sc = new Scanner(System.in); num = sc.nextint(); while(num > 1){ fat = calcola_fattoriale(num); Massimo Tistarelli 57
58 Funzioni e procedure System.out.println( Fatt. di " + num +" = "+ fat); System.out.println("Inserire un numero intero"); num = sc.nextint(); //fine while // fine main static long calcola_fattoriale(int n){ long f; int i; f = n; i = n; while(i > 1){ i = i -1; f = f * i; return (f); // fine metodo calcola_fattoriale // fine classe di programma Massimo Tistarelli 58
59 Cicli nidificati: ordinamento di un array Esempio 10: ordinamento int i, indmin, n i=0 stampa array START Leggi lunghezza array e memorizza in n SI n < 2 i<(n-1) SI trova il min tra gli elementi che vanno dalla posizione i alla fine e memorizza la posizione del minimo in indmin Stampa errore crea array e carica array Scambio elementi in posizione i e indmin i=i+1 END Massimo Tistarelli 59
60 Cicli nidificati: ordinamento di un array Esempio 10: ordinamento int i,j, indmin, n float [] vl float temp START Leggi n (lunghezza vl) i=0 i<(n-1) SI indmin = i j < n SI vl[j]<vl[indmin] SI Stampa vl n < 2 SI i=0 j = i+1 indmin = j Stampa errore i<n j=j+1 SI leggi vl[i] Scambio elementi i e indmin i=i+1 i=i+1 END Massimo Tistarelli 60
61 Cicli nidificati: ordinamento di un array import java.util.*; // libreria utilità di sistema! public class esempio10{ public static void main(string[] args) { // dichiarazione delle variabili float[] vl; int n,indmin,i,j; float temp; // leggo la lunghezza del vettore System.out.println("Inserire il numero totale di valori da caricare nell'array"); Scanner sc = new Scanner(System.in); n = sc.nextint(); Massimo Tistarelli 61
62 Cicli nidificati: ordinamento di un array if (n < 2) { System.out.println("Il numero deve essere superiore a due - termine del programma"); else{ // creo il vettore vl = new float[n]; // carico l'array for (i=0; i<n ; i++) { System.out.println ("Inserire il numero in posizione "+ i); vl[i] = sc.nextfloat(); Massimo Tistarelli 62
63 Cicli nidificati: ordinamento di un array // ordino for (i=0; i<(n-1) ; i++) { indmin=i; for (j=i+1; j<n ; j++) { if (vl[j]<vl[indmin]) {indmin=j; // scambio elementi in posiz i e indmin temp = vl[i]; vl[i]=vl[indmin]; vl[indmin]=temp; //stampo il risultati for (i=0; i<n ; i++) System.out.println( vl[i]); // else // main // classe di programma Massimo Tistarelli 63
64 Esercizi di riepilogo Leggere da tastiera dieci valori che rappresentano la rilevazione relativa al numero di clienti di un albergo nel corso di dieci giorni consecutivi stampare l istogramma orizzontale di tale dato giorno 1 xxxx 2 xxxxxxxxxx 3 xxxxx 4... stampare l istogramma verticale di tale dato x x x x x x x x x x giorno Massimo Tistarelli 64
65 Esercizi di riepilogo // soluzione diagramma orizzontale import java.util.*; public class esempio11{ public static void main(string[] args) { int [] vb = new int[10]; int i,j; Scanner sc = new Scanner(System.in); // carico l'array for (i=0; i<vb.length ; i++) { System.out.print("Inserire il numero in posizione "+ i+ " : "); vb[i] = sc.nextint(); System.out.println ("giorno"); for (i=0; i<vb.length ; i++) { System.out.print(i + " "); for (j=0; j<vb[i] ; j++) { System.out.print("x"); System.out.println(); Massimo Tistarelli 65
66 Esercizi di riepilogo // soluzione diagramma verticale con array bidimensionale import java.util.*; public class esempio12{ public static void main(string[] args) { int [] vb = new int[10]; char [][] isto; int i,j; int max=1; Scanner sc = new Scanner(System.in); // carico l'array di valori memorizzando il massimo valore for (i=0; i<vb.length ; i++) { System.out.print("Inserire il numero in posizione "+ i+ " : "); vb[i] = sc.nextint(); if (vb[i] > max) {max = vb[i]; // creo l'array dell'istogramma a 2 dimensioni e carico i simboli isto = new char[max][vb.length]; for (i=0; i<vb.length ; i++) { for (j=0; j<vb[i] ; j++) { isto[max-1-j][i]= 'x'; Massimo Tistarelli 66
67 Esercizi di riepilogo // soluzione diagramma verticale con array bidimensionale // stampo for (j=0; j<max ; j++) { System.out.print(" "); //spazio ad inizio riga for (i=0; i<vb.length ; i++) { System.out.print(isto[j][i]); System.out.print(" "); // spazio tra i simboli System.out.println(); // nuova riga // stampo la didascalia System.out.print('\n'+"giorno "); for (i=0; i<vb.length ; i++) { System.out.print(i+" "); Massimo Tistarelli 67
68 Programmazione orientata agli oggetti Il Record: un nuovo oggetto di sistema definibile dall utente class Employee { Notare bene: String name; double salary; Il programmatore deve CREARE esplicitamente questi oggetti (come per gli array) esempio: Employee e1 = new Employee(); Massimo Tistarelli 68
69 Programmazione orientata agli oggetti import java.util.*; class Employee { String name; double salary; public class esempio13{ public static void main(string[] args) { Employee e1= new Employee(); e1.name = "Sechi Giovanni"; e1.salary = 12000; System.out.println("Reddito "+ e1.name + ": " + e1.salary); devo utilizzare una classe aggiuntiva entro il file di programma Massimo Tistarelli 69
70 Programmazione orientata agli oggetti Esempio 14 (testo d esame) Una sistema per la gestione telefonica archivia per ogni telefonata i seguenti dati: 1. numero chiamato 2. tipo chiamata (verso telefono fisso o cellulare) 3. durata chiamata in secondi Progettare un programma che consenta di caricare i dati sopra elencati relativi a 5000 interventi. Il programma deve quindi calcolare e stampare la durata media di una chiamata verso telefono fisso. Massimo Tistarelli 70
71 Programmazione orientata agli oggetti Esempio 14: uso record class Telefonata { String numero; boolean tipo; // false = fisso // true = mobile int durata; Telefonata[] elenco_tel int i, cont float dur_media START creazione elenco caricamento dati da tastiera dur_media=0 cont=0 i=0 i< 5000 SI elenco_tel[i].tipo == false i++ SI dur_media = dur_media + elenco_tel[i].durata cont=cont+1 stampa risultato END Massimo Tistarelli 71
72 Programmazione orientata agli oggetti import java.util.*; class Telefonata { String numero; boolean tipo; // false = verso fisso, true = verso mobile int durata; public class esempio14{ public static void main(string[] args) { Telefonata[] elenco_tel; int i; int cont; float dur_media; // creazione elenco telefonate elenco_tel = new Telefonata[10]; for (i=0; i<10 ; i++) {elenco_tel [i] = new Telefonata(); Massimo Tistarelli 72
73 Programmazione orientata agli oggetti // apertura tastiera Scanner kb = new Scanner(System.in); // lettura dati da tastiera for (i=0; i<10 ; i++) { System.out.println("Inserire numero chiamato "); elenco_tel[i].numero = kb.next(); System.out.println("Inserire 1 per chiamata verso mobile, 0 per chiamata verso fisso"); if (kb.nextint()==1) {elenco_tel[i].tipo = true; else {elenco_tel[i].tipo = false; System.out.println("Inserire durata della chiamata in secondi "); elenco_tel[i].durata = kb.nextint(); Massimo Tistarelli 73
74 Programmazione orientata agli oggetti // calcolo durata media telefonate verso fisso dur_media = 0; cont = 0; for (i=0; i<10 ; i++) { if (elenco_tel[i].tipo == false) { dur_media = dur_media + elenco_tel[i].durata; cont = cont+1; // stampa risultati if (cont!=0) { dur_media = dur_media/cont; System.out.println("Durata media verso tel fisso: "+ dur_media); else { System.out.println("Nessuna chiamata verso telefono fisso"); Massimo Tistarelli 74
75 Programmazione orientata agli oggetti La nozione di classe estende il concetto di record i campi diventano PRIVATI si aggiungono funzioni PUBBLICHE che lavorano sui dati funzione funzione funzione dati globali PROGRAMMAZIONE PROCEDURALE metodo metodo dati locali metodo metodo PROGRAMMAZIONE ORIENTATA metodo metodo AGLI OGGETTI dati locali Massimo Tistarelli 75
76 Programmazione orientata agli oggetti Classi definite dall utente: come si creano in modo appropriato class Employee { public Employee(String n, double s) { name = n; COSTRUTTORE salary = s; public void print() { System.out.println(name + " " + salary ); public void raisesalary(double bypercent) { salary *= 1 + bypercent / 100; private String name; private float salary; DATI PROTETTI Massimo Tistarelli 76
77 Programmazione orientata agli oggetti Classi definite dall utente: come si usano in modo appropriato class Employee { public Employee..... public class EmployeeTest { public static void main(string[] args) { Employee E1, E2; E1 = new Employee("Harry Hacker", 35000); E2 = new Employee("Carl Cracker", 35000); E1.print(); E2.print(); E1.raiseSalary(5); E2.raiseSalary(5); E1.print(); E2.print(); queste sono chiamate dei metodi di classe Massimo Tistarelli 77
78 Programmazione orientata agli oggetti Meccanismi di ereditarieta` class Manager extends Employee { public Manager(String n, float s) { super(n, s); secretaryname = ""; public void raisesalary(double bypercent) { // add 1/2% bonus for every year of service double bonus = 0.5 ; super.raisesalary(bypercent + bonus); //continua Massimo Tistarelli 78
79 Programmazione orientata agli oggetti Meccanismi di ereditarieta` // continua da pagina precedente public void setsecretaryname(string n) { secretaryname = n; public String getsecretaryname() { return secretaryname; private String secretaryname; // fine classe Manager Massimo Tistarelli 79
80 Programmazione orientata agli oggetti Meccanismi di ereditarieta` - Uso public class EmployeeTest { public static void main(string[] args) { Employee[] staff = new Employee[2]; staff[0] = new Employee("Harry Hacker", 35000); staff[1] = new Manager("Carl Cracker", 35000); int i; for (i = 0; i < 2; i++) staff[i].print(); for (i = 0; i < 2; i++) staff[i].raisesalary(5); for (i = 0; i < 2; i++) staff[i].print(); // qui di seguito il codice della classe Employee // qui il codice della classe Manager Massimo Tistarelli 80
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
DettagliLa 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.
DettagliNascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti
Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del
DettagliUniversità 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
DettagliAlgoritmi 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
DettagliJava: 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
DettagliTipi 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
DettagliI Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame("Finestra"); // crea frame invisibile
I Canvas Tra i vari contenitori Java il Canvas (area di disegno o tela) è una semplice superficie di disegno particolarmente utile per visualizzare immagini o per effettuare altre operazioni grafiche.
DettagliProgrammare 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
DettagliMatlab: Strutture di Controllo. Informatica B
Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA5 B1 Gestione eventi 1 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti AWT o Swing Programmazione ad eventi 2 1 Introduzione Le interfacce create
DettagliLe 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.
DettagliAccess. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database
Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione
DettagliProgrammazione 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
DettagliUnità B3 Strutture di controllo
(A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: I/O su console Package Blocco di controllo Oggetto System.out Oggetto System.in Oggetto Tastiera Metodo readline() Strutture
DettagliCOS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
DettagliGian 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
DettagliIntroduzione 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
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
Dettagli3. La sintassi di Java
pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer
DettagliAutomatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione
Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento
Dettagli3 - 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
DettagliArduino: 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
Dettagli3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo
DettagliJava Applet. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Java Applet 1 Application VS Applet Una
DettagliLibreria 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:
DettagliIntroduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali
a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:
DettagliProgrammazione Java: Interfacce grafiche (GUI)
Programmazione Java: Interfacce grafiche (GUI) romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp ( 1 ) (GUI) Interfacce grafiche Rendere facili le cose semplici e possibili le cose difficili
DettagliEsercizi Java. class somma2 { static int somma(int a,int b) {return a+b; }
Java è un linguaggio di programmazione c indipendente dalla piattaforma, ovvero un linguaggio di programmazione che permette di compilare i programmi una volta sola e di installarli su computer che usano
DettagliGuida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50
Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra
Dettagli10 - 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
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliStruttura 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
DettagliStudente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Si noti che le soluzioni ai quesiti saranno considerate
DettagliCos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)
Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) 1 Aprire Access Appare una finestra di dialogo Microsoft Access 2 Aprire un
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliFunzioni 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
DettagliGESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
DettagliInformatica 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,
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
DettagliL interfaccia grafica in Java
L interfaccia grafica in Java Java possiede due package per la creazione di interfacce grafiche java.awt javax.swing AWT (Abstract Widget Toolkit) presente già in Java 1.0, migliorato in Java 1.1. Invariato
DettagliLaboratorio 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
DettagliRichiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
DettagliFasi 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
DettagliPer 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
DettagliConcetto 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
DettagliDAL DIAGRAMMA AL CODICE
DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza
DettagliISTITUTO TECNICO ECONOMICO MOSSOTTI
CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche
DettagliFondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliIL LINGUAGGIO Visual Basic
Caratteristiche del linguaggio VB Linguaggio basato sugli eventi IL LINGUAGGI Visual Basic I programmi non sono procedurali, poiche non seguono una sequenza operativa. gni programma si basa infatti su
Dettagli12 - 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,
DettagliMANUALE D'USO DEL PROGRAMMA IMMOBIPHONE
1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma
DettagliEXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,
EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area
DettagliWORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera
WORD per WINDOWS95 1.Introduzione Un word processor e` come una macchina da scrivere ma con molte più funzioni. Il testo viene battuto sulla tastiera ed appare sullo schermo. Per scrivere delle maiuscole
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliEsercitazione n 4. Obiettivi
Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 10 Strutture collegate - 2 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Strutture collegate - 2 1 Contenuti!Strutture
DettagliProgetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012
Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
DettagliLinguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
DettagliEsempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante
Esercizio 0 Scambio lettere Scrivere la funzione void scambiolettere(char *dest, char *lettere, int p_o_d) che modifichi la stringa destinazione (dest), sostituendone i caratteri pari o dispari (a seconda
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari
DettagliOBIETTIVI SPECIFICI DI APPRENDIMENTO
Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa
DettagliLe command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
Dettagli+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice
Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica
DettagliAppunti di Sistemi Elettronici
Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare
DettagliProgrammazione 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
DettagliBARCODE. Gestione Codici a Barre. Release 4.90 Manuale Operativo
Release 4.90 Manuale Operativo BARCODE Gestione Codici a Barre La gestione Barcode permette di importare i codici degli articoli letti da dispositivi d inserimento (penne ottiche e lettori Barcode) integrandosi
DettagliCorso 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
DettagliJava: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
DettagliInizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
DettagliPROVA INTRACORSO TRACCIA A Pagina 1 di 6
PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento
DettagliEsercitazione del 05-03-2007
FUNZIONI Esercitazione del 05-03-2007 1. Aprire una nuova cartella di lavoro. 2. Inserire nel foglio di lavoro di Excel le seguenti colonne: A B 1000 100 1100 200 1200 300 1300 400 1400 500 1500 600 1600
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliLA GESTIONE DELLE VISITE CLIENTI VIA WEB
LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici
DettagliMatematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
DettagliTale attività non è descritta in questa dispensa
Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa
DettagliSOMMARIO INTRODUZIONE...XV CAPITOLO 1: PRESENTAZIONE...1 CAPITOLO 2: FONDAMENTI DI JAVA...39
sommario 24-06-2004 10:18 Pagina V SOMMARIO INTRODUZIONE.......................................XV CAPITOLO 1: PRESENTAZIONE.......................................1 1.1 Introduzione...2 1.2 L organizzazione
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le
DettagliLICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita
LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Modulo 1: Introduzione all informatica Fondamenti di teoria della elaborazione
DettagliExcel. 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
DettagliUTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO)
Codice documento 10091501 Data creazione 15/09/2010 Ultima revisione Software DOCUMATIC Versione 7 UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO) Convenzioni Software gestionale
DettagliStrutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
DettagliVariabili e tipi di dato
Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per
DettagliIntroduzione agli algoritmi e alla programmazione in VisualBasic.Net
Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo
DettagliStrumenti per la programmazione
Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un
DettagliCorso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
Dettagli7.4 Estrazione di materiale dal web
7.4 Estrazione di materiale dal web Salvataggio di file Salvataggio della pagina Una pagina web può essere salvata in locale per poterla consultare anche senza essere collegati alla Rete. Si può scegliere
DettagliOperazioni fondamentali
Foglio elettronico Le seguenti indicazioni valgono per Excel 2007, ma le procedure per Excel 2010 sono molto simile. In alcuni casi (per esempio, Pulsante Office /File) ci sono indicazioni entrambe le
DettagliProva 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
DettagliGrafico della parabola
Grafico della parabola Il grafico matematico è un disegno che mostra l andamento di una funzione f(x) al variare della variabile x. Per tracciare un grafico sul video del computer, si deve scegliere un
DettagliDall 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
DettagliEsame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie
Facoltà di Scienze Motorie CHE COS È UN FOGLIO ELETTRONICO Una tabella che contiene parole e numeri che possono essere elaborati applicando formule matematiche e funzioni statistiche. Esame di Informatica
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2012-13 25 luglio 2013
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2012-13 25 luglio 2013 Testo Il database di una banca è costituito da due vettori paralleli. Il
Dettagli