Minicorso tematico elementi di programmazione con java dal computer al web al cellulare
This presentation is the property of its rightful owner.
Sponsored Links
1 / 48

Minicorso tematico: “Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare” PowerPoint PPT Presentation


  • 114 Views
  • Uploaded on
  • Presentation posted in: General

Minicorso tematico: “Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare”. Dott. Francesco Ricca Dipartimento Di Matematica Università della Calabria [email protected] Presentiamoci. Mi chiamo Francesco Ricca Ricercatore presso il Dip. Di Matematica Mi occupo di:

Download Presentation

Minicorso tematico: “Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare”

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Minicorso tematico elementi di programmazione con java dal computer al web al cellulare

Minicorso tematico: “Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare”

Dott. Francesco Ricca

Dipartimento Di Matematica

Università della Calabria

[email protected]


Presentiamoci

Presentiamoci

  • Mi chiamo Francesco Ricca

  • Ricercatore presso il Dip. Di Matematica

  • Mi occupo di:

    • Intelligenza Artificiale

    • Programmazione Logica

  • Insegno:

    • Introduzione all’Informatica

    • Ingegneria del Software

    • Programmazione ad Oggetti


Programma del corso

Programma del Corso

  • Introduzione all’Informatica

  • Problemi, Algoritmi e Programmi

  • Fondamenti di Programmazione

    • … con il linguaggio Java

  • Siti dinamici con Java

  • J2ME: Java per i cellulari


Materiale didattico

Materiale Didattico

  • Lucidi delle Lezioni

  • Guide rapide

    • http://www.html.it

    • http://java.sun.com

  • Libri

    • L. Nigro, “Introduzione alla programmazione orientata agli oggetti in Java”, Edizioni Luim

    • L.Cabibbo, “Fondamenti di Informatica: Oggetti e Java”, McGraw-Hill

    • C.S. Horstmann – G. Cornell, “Core Java 2”, Prentice Hall


Orario ed esame

Orario ed Esame

  • Esame Finale giorno 9 Maggio:

    • Facoltativo

    • Chi lo supera consegue un attestato per riscattare 1CFU

    • L’attestato di frequenza valido per l’esame di stato non è connesso all’esame


Introduzione all informatica

Introduzione All’Informatica

Nozioni di base


Cosa l informatica

Cosa è l’Informatica?

  • Scienza degli elaboratori elettronici

    • Computer Science

  • Scienza dell’informazione

    • rappresentazione

    • memorizzazione

    • elaborazione e trasmissione dell’informazione

  • Parente stretta della Matematica

    • 2 anime: teorica, tecnico-pratica


Il computer

Il Computer

  • Elaboratore elettronico (o “calcolatore”)

  • E’ uno strumento per la rappresentazione, la memorizzazione e l’elaborazione delle informazioni.

  • E’ programmabile: può essere predisposto per eseguire un particolare insieme di azioni, allo scopo di risolvere un problema.


Cosa possiamo fare con un calcolatore

Cosa possiamo fare con un calcolatore?


Cosa possiamo fare con un calcolatore1

Cosa possiamo fare con un calcolatore?


Utilizzo di un elaboratore

Utilizzo di un elaboratore

  • Come utente:

    • Uso software applicativo esistente per creare documenti e interfacce grafiche, effettuare calcoli, navigare in rete

  • Come sviluppatore:

    • Creo nuovi programmi sullo strato del software esistente

      • Nuovi programmi applicativi

      • Nuovi programmi di sistema (cioè che fanno funzionare il calcolatore)


Cosa possiamo fare con un calcolatore2

Cosa possiamo fare con un calcolatore?

  • Word Processing. Memorizzare, elaborare testi.

  • Basi di Dati. Memorizzare grossi archivi di dati, recupero veloce, produrre informazioni globali.

  • Accesso Remoto. Trasmissione e recupero di informazioni.

  • Calcolo. Risolvere problemi matematici.

  • Simulazioni. Rappresentare e elaborare informazioni che simulano l’ambiente reale.


Parole chiave

Parole chiave:

  • Hardware

  • Software


Hardware

Hardware

  • Contenitore con

    • CPU, RAM

    • Memoria Centrale

      • Fisso

      • Unità per Dischi - CD/DVD

  • Monitor

  • Tastiera

  • Ecc.


Hardware1

Hardware

  • Unità di Elaborazione (Processore o CPU):

    • Svolge le elaborazioni

    • Coordina il trasferimento dei dati

    • Cioè ‘esegue’ i programmi

  • Memoria Centrale

    • Memorizza dati e programmi per l’elaborazione

    • Volatile

    • Accesso rapido

    • Capacità limitata


Hardware2

Hardware

  • Memoria Secondaria (es. Harddisk,floppy)

    • Grande capacità

    • Persistente

    • Accesso piu lento della RAM

  • Unità Periferiche

    • Interfaccia verso l’esterno

    • Terminali (tastiera, video)

    • Stampanti


Software

Software

  • Software di base:

    • Dedicato alla gestione dell’elaboratore

    • Esempio: Sistema Operativo (Windows, Linux, etc)

  • Software applicativo:

    • Dedicato alla realizzazione di specifiche applicative

    • Esempio: programmi per scrittura, gestione aziendale, navigazione su internet, ecc


Problemi algoritmi e programmi

Problemi, Algoritmi e Programmi

I concetti fondamentali dell’Informatica


Il problema

Il problema

  • Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia

Strategia

Problema

Obiettivo


Esempi di problemi

Esempi di problemi

  • Trovare il numero di telefono di una persona

  • Individuare il numero più piccolo di una sequenza

  • Stabilire se una parola precede alfabeticamente un’altra

  • Calcolare il costo totale di un certo numero di prodotti

  • Trovare perimetro e area di una figura geometria


Risolvere un problema

Risolvere un problema

  • Come si costruisce la soluzione a un problema?

  • Qual è il giusto “punto di partenza” per pensare la soluzione a un problema?

  • Quali metodologie e tecniche usare?


Risolvere un problema1

Verifica dei risultati

Problema

Interpretazione

Esecuzione

Procedimento risolutivo

Modello

Risolvere un problema


Algoritmo

Algoritmo

  • Un algoritmo è una sequenza finita di operazioni elementari che porta alla risoluzionein un tempo finitouna classe di problemi.

  • In generale un algoritmo può essere visto come una funzione da un dominio d’ingresso ad uno d’uscita

Algoritmo

Dati(INPUT)

X

Risultati(OUTPUT)

f(X)


Algoritmi propriet fondamentali

Algoritmi: proprietà fondamentali

  • Eseguibilità: ogni azione deve essere eseguibile da parte dell’esecutore dell’algoritmo in un tempo finito

  • Non-ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore

  • Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, deve essere finito.


Algoritmi equivalenti

Algoritmi equivalenti

  • forniscono lo stesso risultato

  • ma possono avere diversa efficienza

  • e possono essere profondamente diversi !

  • Esempio: moltiplicare tra loro due numeri

  • Algoritmo 1: Somme successive:

    • 12x12 = 12+12+…+12=144

Algoritmo 2

12x

12=

24

12=

144


Esecuzione

Esecuzione


Algoritmi e programmi

PROBLEMA

ALGORITMO

PROGRAMMA

Algoritmi e programmi

  • Algoritmo

    • Sequenza finita di passi che risolve in tempo finito un problema.

  • Codifica

    • Fase di scrittura di un algoritmo in un qualche linguaggio di programmazione, che specificano le azioni da compiere.

  • Programma

    • Testo scritto in accordo con la sintassi e la semantica di un linguaggio di programmazione.


Linguaggi di programmazione

Linguaggi di Programmazione

  • Linguaggi per esprimere in maniera rigorosa un algoritmo

  • Linguaggio macchina (seq. Istruzioni)

  • Linguaggi ad alto livello (vicini al ling. naturale)

    • Pascal, C e C++, Basic, Cobol

    • Java


Esempio potenza

Esempio: potenza

  • Problema: Calcolare an

  • Algoritmo:

    Fino a che N>0

    Calcola Ris*a e memorizzalo in Ris

    Decrementa N

  • Nota che:

    • Al termine Ris=an


Esempio in java

Esempio …in Java

int potenza(int a, int n)

{ int ris = 1;

while ( n > 0 ) {

ris = ris * a; n = n-1;

}

return ris;

}


Riassumendo

Riassumendo…

  • Un algoritmo è il processo risolutivo di un problema

  • Ogni elaboratore è una macchina in grado di eseguire azioni elementari su dati dette istruzioni

  • Le istruzioni sono espresse attraverso frasi di un opportuno linguaggio di programmazione

  • Un programma è la formulazione testuale di un algoritmo in un linguaggio di programmazione


Esistono problemi che un elaboratore non pu risolvere

Esistono problemi che un elaboratore non può risolvere?

  • Sì. Ci sono problemi non calcolabili da nessun modello di calcolo reale o astratto

  • Esempio: data una funzione f : N N, stabilire se f(x) è costante per ogni valore di x


Fondamenti di programmazione

Fondamenti di Programmazione

…con Java


Linguaggi di programmazione1

Linguaggi di Programmazione

  • Linguaggi per esprimere in maniera rigorosa un algoritmo

  • La “lingua del Computer”

  • Diversi tipi di linguaggi:

    • Imperativi

    • Dichiarativi

    • Ad Oggetti


Linguaggi imperativi

Linguaggi Imperativi

  • “Comandano” il computer indicando le azioni da compiere

  • Si specificano le azioni da fare per ottenere il risultato

  • Algoritmo = “insieme di operazioni da compiere sui dati” Algoritmo = DATI + Controllo


Linguaggi dichiarativi

Linguaggi Dichiarativi

  • “Chiedono” al computer di trovare una soluzione

  • Si specifica quello che si vuole e non come deve essere calcolato

  • Linguaggi Funzionali: Lisp

  • Linguaggi Logici: Prolog

  • Questo è stato espresso da Robert Kowalski con la formula:

    Algoritmo = Logica + Controllo


Linguaggi ad oggetti

Linguaggi ad Oggetti

  • Sono basati sul concetto di oggetto software

  • Un oggetto software rappresenta un oggetto del mondo reale

    • un numero, un archivio, un testo, una matrice, una persona...

  • I dati sono rappresentati come oggetti

  • Le azioni da compiere come operazioni da effettuare sugli oggetti.

  • Di solito sono realizzati come estensione dei linguaggi imperativi.

  • Un programma modella un problema reale come una collezione di oggetti software che interagiscono.


  • Ma davvero questa la lingua del computer

    Ma è davvero questa la lingua del computer?

    • Questi sono linguaggi ad alto livello

      • Più simili al nostro modo di esprimerci

    • Il computer “conosce” solo i bit e le operazioni elementari su questi (linguaggio a basso livello)

    • C’è bisogno di un traduttore!!!

    • Il Compilatore traduce un programma scritto in un linguaggio di programmazione ad alto livello in bit e operazioni elementari

    • Si trovano negli ambienti di sviluppo: e.s. JDK e/o Eclipse


    Dal programma all esecuzione

    Dal programma all’esecuzione…

    Il compilatore lo traduce

    Scrivo il programma

    In JAVA

    Il Computer lo ESEGUE

    Se è scritto male,

    saranno segnalati gli errori

    (attenti, è molto pignolo!)


    Concetti di base della poo

    Concetti di base della POO

    POO = Programmazione Orientata agli Oggetti


    Il concetto di classe

    Il concetto di Classe

    • Una classe è un insieme di oggetti che hanno le stesse caratteristiche e lo stesso comportamento

    • Definire una classe =

      • Elencarne le caratteristiche (~ definire i dati)

      • Specificarne il comportamento (~ definire le operazioni)

    • Una classe definisce il “progetto” di un oggetto software

    • Quando un oggetto software appartiene ad una classe ha tutte le caratteristiche ed il comportamento specificate per questa.


    Esempio la classe dei libri

    Esempio: la classe dei libri

    • Ogni libro ha:

      • un titolo

      • un numero di pagine

      • un elenco numerato di pagine

    • Su ogni libro possiamo operare

      • Leggiamo il titolo

      • Vediamo quante pagine ha

      • Cerchiamo una pagina

      • Stampiamo una pagina o tutto il libro

    Caratteristiche:

    Dati

    Un’altra classe!!!

    Comportamento: Operazioni o Metodi


    La visibilit

    La visibilità

    • Un po di “privacy”

      • Non tutti possono vedere tutte le caratteristiche di un oggetto: Information Hiding

      • Il mago Silvan non rivela a tutti il trucco con cui ha fatto comparire un coniglio o sparire l’assistente

      • Mostrereste dove si trova la cassaforte a casa vostra?

      • Dareste a tutti il PIN del vostro cellulare?

    • Tre parole chiave per proteggere o meno le caratteristiche e i metodi di una classe:

      • public, private, protected


    La classe libro in java

    La classe libro in Java

    Diamo il nome

    Indichiamo la classe ed il nome della proprietà

    class Libro{

    // Caratteristiche

    private Titolo nomeLibro;

    private Numero numeroDiPagine;

    private Lista<Pagine> pagine;

    // Metodi

    public Titolo dammiTitolo();

    public Numero dammiNumeroDiPagine();

    }

    class Libro {

    // Caratteristiche

    private Titolo nomeLibro;

    private Numero numeroDiPagine;

    private Lista<Pagine> pagine;

    // Metodi

    public Titolo dammiTitolo();

    public Numero dammiNumeroDiPagine();

    }

    Indichiamo il nome del metodo e il tipo di oggetti che calcola


    Il concetto di variabile

    Il concetto di variabile

    • Come manipoliamo un oggetto software?

      • Gli oggetti software “vivono” nella memoria del computer

    • Abbiamo bisogno di nomi che riferiscono direttamente gli oggetti per “manipolarli”

    • Es. somma 3 al numero X

      • X = X + 3

      • X è una variabile, che consente di manipolare un certo tipo di oggetti (in questo caso dei numeri)

    • Le variabili associano nome e tipo ad un oggetto nella memoria


    Manipolazione di oggetti

    Manipolazione di oggetti

    • Se vogliamo ottenere il titolo di un libro dobbiamo chiamare il metodo dammiTitolo()

      Supponiamo che la variabile lriferisca un libro

      Titolo t = l.dammiLibro();

    • Si usa la notazione col punto (dot notation)

      VARIABILE . PROPRIETÀ

      VARIABILE . METODO( PARAMETRI )

      Pagina p = l.dammiPagina( 33 );


    Il mio primo programma

    Il mio primo programma

    Il sistema si aspetta un metodo così fatto:

    Main = Principale

    • Stampiamo “ciao” sullo schermo.

      class StampaCiao {

      public static void main(String args []) {

      System.out.println(“Ciao”);

      }

      }

    Oggetto sistema

    Ha la proprietà out che è lo schermo

    Chiamiamo il metodo

    Println = stampa linea


    Scriviamo davvero i programmi

    Scriviamo davvero i Programmi

    L’ambiente di sviluppo Eclipse

    Tanti, tanti esempi


  • Login