6. Acquisizione dati da tastiera

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "6. Acquisizione dati da tastiera"

Transcript

1 6. Acquisizione dati da tastiera pag.39 Si sarà notato che gli esempi proposti non acquisiscono mai dati da tastiera ma solo per assegnamento o generazione random di numeri. Tutto questo è imputabile al fatto che, per eseguire una acquisizione dati da tastiera, si rende necessario introdurre le classi di Input e Output di Java. In secondo luogo Java è un linguaggio utile per realizzare interfacce di input di carattere grafico ovvero è più semplice acquisire dati in un campo all interno di una finestra video (vedi ambiente windows) che non direttamente da console o ambiente DOS come usualmente opera il Pascal. Si farà un semplicissimo esempio di acquisizione dati da tastiera senza approfondire tutti i particolari di questo metodo perché è scarsamente utilizzato in un programma Java come si vedrà nei successivi sviluppi Uso dell input da console (tastiera) Le classi di Input e output sono contenute nel package java.io l informazione può essere utile anche se di tali classi si farà un uso limitatissimo e non si entrerà nel dettaglio. L unica istruzione di output utilizzata fino ad ora è stata la System.out.println( ) oppure print( ): la prima equivale alla Writeln() del Pascal e la seconda alla Write( ). Nel seguito si farà uso di una istruzione equivalente alla Read() del Pascal la System.in.read( ). Questa è in grado di leggere solo semplici caratteri o byte da tastiera. Iniziamo da un esempio. esempio 6.1 : Si codifichi il seguente problema semplice costruire un programma che acquisisca la dimensione N dall utente, generi un array di N interi e assegni ad ogni componente i valori 100, N-1 e lo stampi. Richieste: a) Rispettare la seguente scomposizione ad albero: main() chiama leggi() che restituisce un intero, genera il vettore richiesto e lo stampa. leggi() : acquisisce da tastiera un intero che sarà la dimensione N del vettore; b) realizzare il main() program. c) realizzare le procedure leggi() e alt(); main( ) leggi( ) Prima codifica del main( )

2 pag.40 Commenti alla codifica La prima stesura del codice mostra il main che non contiene elementi nuovi, se si esclude l invocazione di leggi(). Questa procedura (più esattamente metodo statico) é scritta in forma di prototipo vuoto. Anche in queste condizioni il programma può essere compilato per testare gli eventuali errori. L intestazione della function ha il seguente significato: int leggi() significa che la leggi() non riceve dati di input ma restituisce un intero (int) in output. Servirà per acquisire un numero che corrisponde alla dimensione del vettore da generare nel main(). Prosecuzione della codifica: codice di leggi(). Le nuove parole chiave sono: import java.io.*; che importa il package di i/o per usare il metodo di lettura da tastiera System.in.read(). throws IOException se non si aggiunge questa istruzione il compilatore segnala errore (Exception). Per ora la si interpreti semplicemente come un ordine al compilatore di non segnalare errori in sede di acquisizione dati. Vedremo in seguito cosa sono le eccezioni. (Notare che il throws è ripetuto nel main()). throws NumberFormatException (tralascia le segnalazioni di eccezione sul formato dei numeri) se non si aggiunge questa istruzione il compilatore segnala errore. Per ora interpretiamola semplicemente come un ordine al compilatore di non segnalare errori in sede di trasformazione di una stringa in intero operata dal metodo r= Integer.parseInt(s); La chiamata di questo metodo statico associato agli oggetti Integer trasforma la stringa s di input in un int r restituito in output. Il ciclo while (<cond>) { <blocco> }; - acquisisce singoli caratteri da tastiera con la System.in.read() e li pone nella stringa s fino al RETURN= \n.

3 pag.41 s=s+string.valueof(c); è un metodo statico associato agli oggetti Stringa che, applicato al carattere (c), lo trasforma in una stringa che poi appende a s. s=s.substring(in, fin); è un metodo associato agli oggetti Stringa che, applicato alla stringa s con parametri interi (in, fin), restituisce la sottostringa da in a fin e la assegna a s stessa. (Serve ad eliminare da s il carattere di RETURN appeso dal ciclo precedente). Si può notare che le istruzioni del main() i=leggi(); V=new int[i]; consentono di dimensionare in corsa il vettore. A differenza del linguaggio Pascal i vettori di Java hanno un comportamento dinamico. Il Run da console Dopo la compilazione del programma si passa all esecuzione che avverrà (a differenza dell esecuzione dei programmi precedenti) con l opzione: Build: Run with Console e non con l opzione Build: Rum application. La ragione dell uso di questa diversa opzione di RUN risiede nel fatto che per la prima volta il programma non deve mostrare solo un OUTPUT ma anche acquisire in INPUT; questo impone l uso della finestra di tipo Console. Di seguito si nota la console di Input Output con i risultati:

4 6.2. Parametri in Pascal e in Java pag.42 Si è visto che per codificare un sottoproblema in Pascal si utilizza lo strumento della Procedure e della Function. Tale strumento è utile per stabilire quali dati di input riceve e quali dati in output deve restituire il sottoproblema individuato. In Java è definito il concetto equivalente di Metodo e lo si è usato con analoghe modalità. Per Metodo si intende una funzione che riceve dati di input, dal programma invocante, esegue certe operazioni su uno o più oggetti predefiniti e restituisce al termine, eventuali dati di output al programma che lo ha invocato. L'interfaccia o intestazione di un metodo Java trova quindi una corrispondenza nelle intestazioni di procedure o function del Pascal. Di seguito si cercheranno di individuare criteri tesi a stabilire l'esatta corrispondenza tra questi strumenti di codifica nei due linguaggi e di conseguenza permettere di trasformare procedure del Pascal in Metodi di Java. Si è fatto uso di metodi Java statici (static) e di metodi dinamici il cui diverso funzionamento è stato schematizzato con un diverso utilizzo della memoria del computer per l'allocazione dei valori assegnati. Si tratta ora di capire come questi due tipi di strumento possano essere usati correttamente per risolvere sottoproblemi. In sintesi si potrebbe dire che un metodo statico corrisponde al concetto di Function (o procedure) del Pascal in quanto può essere interpretato come uno spezzone di codice che riceve dati di input e restituisce risultati in output senza essere vincolato a nessuna Classe o Oggetto dinamico. Un Metodo dinamico è invece sempre definito in una Classe e viene sempre applicato ad una sua istanza (Oggetto). Gli oggetti possono essere manipolati solo con l'invocazione di questi metodi dinamici. Vediamo queste differenze attraverso esempi. Il sottoproblema, ormai risolto tante volte, che calcola il Massimo Comun Divisore tra due numeri Naturali, potrebbe essere schematizzato con le seguenti intestazioni: Intestazione sottoproblema Esempio di invocazione Pascal Function MCD (a, b :integer):integer; Var c:integer; c:=mcd(12, 18); Java public static int MCD( int a, int b); int c=mcd(12, 18) (a.1) Java public (*)Naturale MCD(Naturale b); (*)Se esistesse la Classe Naturale in Java Naturale a, b, c; a = new Naturale(12); b = new Naturale(18); c = a.mcd(b); (b.1) Nei tre casi precedenti si può interpretare l intestazione di MCD() come una "entità" che riceve due numeri interi (a,b) e restituisce l intero o il Naturale (c). a, b c MCD

5 pag.43 La terza riga della tabella individua un terzo caso puramente teorico, in quanto la classe Naturale non esiste in Java, ma serve per mostrare che l'invocazione di un metodo dinamico in Java ha una forma diversa e deve sempre essere chiamato anteponendo all'identificatore del metodo l'oggetto a cui è associato: in questo caso è un Naturale. <oggetto>. metodo( <parametri> ); Se ci si sofferma sul significato dei parametri di invocazione di un metodo si nota che l'intestazione può avere due forme: (a) Metodo statico intestazione: public static <tipo par. out> nome_metodo ( <par. input> ); (a.1) invocazione di metodo statico definito all interno di una classe: ris = nome_metodo(<par. Input>); (a.2) invocazione metodo statico associato ad una classe: ris = <Classe>.nome_metodo(<par. Input>); (b) Metodo dinamico intestazione: public < tipo par. out > nome_metodo ( <par. input> ); (b.1) invocazione metodo dinamico ris = <Oggetto>.nome_metodo(<par. input>); Quali sono nei due casi (a) e (b) i parametri di input e quelli di output? Nel metodo statico (a.1) l'invocazione è analoga a quella di una Function del Pascal. I parametri di input sono tutti e solo quelli che compaiono entro le parentesi tonde (<par. input>), quelli restituiti devono sempre comparire raggruppati in una unica variabile (eventualmente strutturata) il cui tipo viene dichiarato davanti all'identificatore del metodo <tipo par. out>. I metodi int leggi() e void alt() dell esempio precedente erano di questo tipo. Nel metodo statico associato ad una classe (a.2) l'invocazione richiede che si anteponga all'identificatore del metodo la corrispondente class di Java <classe>. I parametri di input di output sono esattamente gli stessi caso (a.1). I metodi usati nell esempio precedente: int i = Integer.parseInt(String); String s = String.valueOf( char ); erano del tipo (a.2). Nel metodo dinamico, sempre associato a una classe (b.1) l'invocazione richiede che si anteponga all'identificatore del metodo un oggetto <oggetto> allocato in precedenza con new. I parametri di input sono tutti quelli che compaiono entro le parentesi tonde, a cui si deve aggiungere l'oggetto con cui è invocato. Quelli di output sono quindi identici a quelli del precedente caso (a.1) I metodi di String e StringBuffer del capitolo precedente: String S = A.substring(int, int); è applicato all aggetto A che deve essere allocato e riceve in input i due parametri di tipo int, restituisce in output la sottostringa S.

6 Se A,B sono due StringBuffer allocati con caratteri, l invocazione pag.44 StringBuffer C = A.appen(B); Applica all oggetto referenziato A l operazione di append dell oggetto in input B e restituisce l oggetto C modificato in output. Un sottoproblema che determini la prima è l'ultima occorrenza di un carattere assegnato in stringa ha le seguenti intestazioni: Intestazione sottoproblema Esempio di invocazione Pascal Procedure pri_ult(s : string; ch : char; Var p,u : integer); Var p,u : integer; pri_ult('banana', 'a', p,u); writeln(p," ", u); Java public static coppia pri_ult(string s, char ch); class coppia { int p, int u } Java public coppia pri_ult(ch:char); (*) (*)Se esistesse il metodo in String coppia c; c = pri_ult("banana", 'a' ); (a.1) System.out.println(c.p+" "+c.u); String s="banana"; coppia c; c = s.pri_ult('a'); (b.1) System.out.println(c.p+" "+c.u); Si nota che un metodo statico o dinamico restituisce sempre un solo tipo di dato, è di conseguenza sempre necessario definire il tipo di dato da restituire, sia che questo tipo di dato appartenga a quelli predefiniti del linguaggio, sia che si tratti di un tipo di dato strutturato di nostra definizione. Nel caso particolare siccome devono essere restituiti due interi si dovrà dichiarare una classe coppia che diviene il contenitore unico dei due valori restituiti in output dal metodo. Anche in questo caso i tre sottoproblemi possono essere interpretati dal seguente "schema" s, ch c Pri_ult (c) non è più un tipo semplice ma è costituito dalla coppia (c.p, c.u). Un sottoproblema che elimini un carattere di posizione assegnata in una sequenza di caratteri ha le seguenti intestazioni; Pascal Intestazione sottoproblema Esempio di invocazione Function deletecharat(s:string; ind:integer ):string; Var sr : string; sr := deletecharat ('fico', 3); Pascal Procedure deletechatat(var s:string, ind:integer); Var s:straing; s := 'fico'; Java public static StringBuffer deletecharat (StringBuffer s, int ind); deletecharat (s, 3); StringBuffer sr, s; s = new StringBuffer("fico"); sr = deletecharat(s, 3) (a.1) Java public StringBuffer deletecharat(int ind); (*) (*) metodo presente in StringBuffer StringBuffer sr, s; s = new StringBuffer("fico"); sr= s.deletecharat(ind);

7 pag.45 6.E Esercizi Realizzazione o Conversione di sottoproblemi (con dati assegnati nel programma) con acquisizione dell input da tastiera. Uso dei metodi di String, StringBuffer, Integer, Float, Double per risolvere problemi. 6.1 (conversione 5.2) Si desidera costruire un programma che acquisita da tastiera una stringa che contenga sia lettere che numeri determini e stampi quante sono le prime e quanti i secondi e stampi a video il risultato. Richiesta: realizzare un main() che invochi una function leggi_stri() analoga a leggi_int() dell esercizio svolto del paragrafo 6.1. e fare uso dei metodi di String e StringBuffer. 6.2 (conversione 5.3) Si desidera costruire un programma che acquisita da tastiera una stringa che contenga sia lettere che numeri sostituisca tutti i numeri con in carattere x e stampi vecchia e nuova stringa a video. Richiesta: realizzare un main() che invochi una function leggi_stri() analoga a leggi_int() dell esercizio svolto del paragrafo 6.1. e fare uso dei metodi di String e StringBuffer. 6.3 (conversione 5.1) Realizzare un programma che acquisita da tastiera una stringa e un carattere determini quante volte il carattere ricorre nella stringa e stampi a video il risultato. Richiesta: rispettare la seguente scomposizione ad albero in sottoproblemi: leggi stri() main() leggi char() conta() main() deve invocare in sequenza leggi_stri(), leggi_char(), conta() e quindi stampare sulla console la stringa, il carattere e la sua ricorrenza; leggi_stri() deve acquisire da tastiera la stringa (String o StringBuffer); leggi_char() deve acquisire da tastiera il carattere necessario; conta() deve restituire il conteggio delle ricorrenze. Nota: le procedure leggi_xx() possono essere realizzate in analogia a leggi_int() dell esercizio svolto del paragrafo (conversione 5.4) Realizzare un programma che acquisita da tastiera la dimensione N<=20 di un vettore (di Integer), lo generi in modo random con interi compresi tra 0 e 99. Stampi a video tutte le componenti dell array e la somma.. Richiesta: rispettare la seguente scomposizione ad albero in sottoproblemi: leggi dim() main() somma() stampa()

8 pag.46 main() deve invocare in sequenza leggi_dim(), somma(), stampa(); leggi_dim() deve acquisire da tastiera la dim<=20 del vettore. somma() solo eseguire e restituire la somma, inviando gli opportuni parametri di input; stampa() deve ricevere i dati da stampare ed eseguire la stampa a video. Nota: la procedura leggi_dim() può essere realizzata in analogia a leggi_int() dell esercizio svolto del paragrafo (conversione 5.7) Si desidera costruire un programma che generi un array di dimensione dim<=30 di oggetti Number, immettendo in modo casuale nelle componenti sia Integer compresi tra 1 e 30 che Double compresi tra e e infine stampi e verifichi la distribuzione generata. Richieste: rispettare la seguente scomposizione in procedure: leggi_dim() scelta() main() gen_int() gen_double() stampa() - main(): invoca dim=leggi_dim() per acquisire la dimensione dim<=30 dell array da allocare, alloca l array di Number e quindi all interno di un ciclo invochi ripetutamente la procedura scelta() e, a seconda del numero generato da questa, saranno invocate gen_int() o gen_double() per generare l oggetto desiderato e assegnarlo alla componente dell array. Infine, fuori dal ciclo, sarà invocata la procedura stampa() che mostrerà a video il contenuto dell array. - scelta(): restituisce casualmente (random) 0 oppure 1. Zero indica la necessità di invocare gen_int() per assegnare un Integer all array, Uno di invocare gen_double() per assegnare un Double all array; - gen_int(): genera un int compreso tra 1 e 30; - gen_double(): genera un double compreso tra e stampa(): stampa l array. 6.6 Si desidera costruire un programma che generi un array di dimensione dim<=30 di oggetti Number, come il precedente 6.5. Oltre alla stampa delle componenti dell array come il precedente, stampi a fianco di ogni componente il tipo di dato (la classe a cui appartiene). Vedi esercizio 5.8. Esempio di stampa: V[0] = Double V[1] = 23 Integer V[2] = 2 Integer Ecc.

6.1 L uso di istruzioni di input da console con la classe Tastiera

6.1 L uso di istruzioni di input da console con la classe Tastiera appunti java Capitolo 6 pag. 1 6. Acquisizione dati da tastiera e sottoprogrammi Si sarà notato che gli esempi proposti non acquisiscono mai dati da tastiera, ma solo per assegnamento o generazione random

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni

Dettagli

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E01 Esempi di programmi A. Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di programmi - 1 1 Contenuti

Dettagli

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura: Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA A - Array // Prerequisiti Variabili semplici Operazioni su variabili Strutture di controllo // Introduzione In molte situazioni reali può capitare di elaborare elenchi

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Input/Output, Variabili, Tipi e Stringhe Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 26 TUTOR Angelo Feraudo

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare

Dettagli

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61 Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Uso di metodi statici. Walter Didimo

Uso di metodi statici. Walter Didimo Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un

Dettagli

Unità A1 Funzioni MODULO Java 2

Unità A1 Funzioni MODULO Java 2 Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Passaggio parametri per valore Passaggio parametri per indirizzo Parametri formali e attuali Regole di visibilità Ambiente

Dettagli

C: primi elementi. Lezione 4

C: primi elementi. Lezione 4 C: primi elementi Lezione 4 Evoluzione del BCPL (1967) e B (1970), entrambi typeless Sviluppato da Dennis Ritchie nel 1972 ed implementato per il PDP-11 Usato per lo sviluppo del sistema operativo UNIX

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T -Struttura vettore 0/08/0 Prerequisiti Programmazione elementare Passaggio parametri per indirizzo 0/08/0 Introduzione I dati di tipo semplice (Intero, Reale, Carattere, Booleano)

Dettagli

Concetti base programmazione. Antonio Gallo

Concetti base programmazione. Antonio Gallo Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - 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 Corso di Laurea

Dettagli

Il primo programma C++

Il primo programma C++ Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

-! $% '.! / %! % ) & & RAM Statica Progr. Java. Var statiche del Progr. RAM. Statica Progr. Java. Var statiche del Progr. 3 ####

-! $% '.! / %! % ) & & RAM Statica Progr. Java. Var statiche del Progr. RAM. Statica Progr. Java. Var statiche del Progr. 3 #### ! " # $ % #()* +, $ ( -! $%.! / %! % ) 012 334 *4 5 (/5 i k 114 635 /67(!3% i k RAM Statica Progr. Java Var statiche del Progr. RAM Statica Progr. Java Var statiche del Progr. 3 #### RAM Dinamica o RAM

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA7 A1 Vector, Arrays e StringBuffer 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Algoritmi notevoli sul vettore 2 1 Introduzione In questa

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Prof.Angela Bonifati 1 Istruzione while int vet1[] = new int[20]; int vet2[] = new int[20]; for(int

Dettagli

Java Gli array. Array

Java Gli array. Array Java Gli array 1 Gli array In generale un array è una sequenza di locazioni di memoria, che contengono entità dello stesso tipo, e a cui si può fare riferimento con un nome comune Le entità che compongono

Dettagli

Introduzione Programmazione Java

Introduzione Programmazione Java Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea

Dettagli

Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Polistena (RC)

Autore: Prof. Agostino Sorbara ITIS M. M. Milano Polistena (RC) con questo nome si indica in genere un pezzo di programma, dotato di una propria identità: un modulo, ad esempio, potrebbe essere l insieme di alcune funzioni C, o Pascal, che risiedono in un unico file

Dettagli

Java Gli array. Array

Java Gli array. Array Java Gli array 1 Gli array In generale un array è una sequenza di locazioni di memoria, che contengono entità dello stesso tipo, e a cui si può fare riferimento con un nome comune Le entità che compongono

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Introduzione all uso degli oggetti in Java (parte I) Walter Didimo

Introduzione all uso degli oggetti in Java (parte I) Walter Didimo Introduzione all uso degli oggetti in Java (parte I) Walter Didimo Java Java è un linguaggio di programmazione orientato agli oggetti; nel seguito vedremo: come sono strutturati i programmi Java come si

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni 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

Dettagli

Corso di Informatica A.A

Corso di Informatica A.A Corso di Informatica A.A. 2009-2010 Lezione 9 Lezione 9 1 Il linguaggio C Istruzioni di input/output Arrays La funzione printf() La funzione printf() consente di mostrare sullo standard output (normalmente

Dettagli

Programmazione M.A. Alberti. Comunicazione digitale AA 2009/ Classi in Java 1. Le classi in Java. Oggetti. Classi. Classi. Visibilità dei dati

Programmazione M.A. Alberti. Comunicazione digitale AA 2009/ Classi in Java 1. Le classi in Java. Oggetti. Classi. Classi. Visibilità dei dati Oggetti Le classi in Java Corso di laurea in Un oggetto è definito dal suo stato - descrive le sue caratteristiche comportamento - quello che può fare Ad esempio: il modello di una moneta Una moneta può

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere

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 La classe String Lettura da input di dati numerici (tipo int) Stampa di dati numerici Uno sguardo al codice Esercizi 21/03/2011 2

Dettagli

La Programmazione. Cos è la programmazione? Concetti preliminari

La Programmazione. Cos è la programmazione? Concetti preliminari La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione

Dettagli

3. La sintassi di Java

3. 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

Dettagli

Octave. Luca Abeni. Informatica Luca Abeni 1 / 21

Octave. Luca Abeni. Informatica Luca Abeni 1 / 21 Luca Abeni Informatica Luca Abeni 1 / 21 Linguaggi di Programmazione di Alto Livello Parole chiave: possibilmente con significato in inglese Ma agli informatici piacciono molto contrazioni e acronimi...

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

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Informatica per Statistica Riassunto della lezione del 21/10/2011

Informatica per Statistica Riassunto della lezione del 21/10/2011 Informatica per Statistica Riassunto della lezione del 1/10/011 Igor Melatti Costrutti del linguaggio C: ripasso Si consideri il programma C alla Figura 1 ci sono due dichiarazioni di funzioni, insertion

Dettagli

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

Variabili e Funzioni. Informatica 1 / 19

Variabili e Funzioni. Informatica 1 / 19 Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Metodi statici Parametri attuali e formali Passaggio dei parametri Effetti collaterali Metodi statici per Array Esercizi 16/01/2013

Dettagli

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Input/Output, Variabili, Tipi e Stringhe Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19 VARIABILI

Dettagli

Impariamo a programmare in. Lezione 7

Impariamo a programmare in. Lezione 7 Impariamo a programmare in Ancora Stringhe Sequenze di escape Proviamo a stampare una stringa che contiene delle virgolette Hello, World! // NON FUNZIONA! System.out.println("Hello, "World"!"); Il compilatore

Dettagli

Funzioni, puntatori, strutture. Lab. Calc. AA 2006/07

Funzioni, puntatori, strutture. Lab. Calc. AA 2006/07 Funzioni, puntatori, strutture sommario In questa lezione integriamo le informazioni fornite su puntatori e funzioni approfondendo i seguenti punti Puntatori a puntatori Puntatori e array come parametri

Dettagli

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statici. Dichiarazione e chiamata di metodi statici Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

L oggetto creato. Creazione di Oggetti. Rectangle: il concetto 10. Costruzione. Lo spazio di memoria del linguaggio Java. Rectangle: l oggetto

L oggetto creato. Creazione di Oggetti. Rectangle: il concetto 10. Costruzione. Lo spazio di memoria del linguaggio Java. Rectangle: l oggetto Usare e costruire oggetti Variabili e Oggetti Lo spazio di memoria di Java Le API di Java Gli oggetti sono entità di un programma che si possono manipolare invocando i metodi System.out oggetto della classe

Dettagli

Metodi statci. Dichiarazione e chiamata di metodi statci

Metodi statci. Dichiarazione e chiamata di metodi statci Metodi statci Dichiarazione e chiamata di metodi statci Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Record Laboratorio di Informatica Ingegneria Meccanica Lezione 9, 6 dicembre 2007 versione 18 dicembre 2007 Renato Menicocci Array: collezione di dati omogenei

Dettagli

Passare argomenti al programma

Passare argomenti al programma Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di

Dettagli

Assegnazione di una variabile

Assegnazione di una variabile Assegnazione di una variabile Per scrivere un valore dentro una variabile si usa l operatore di assegnazione, che è rappresentato dal simbolo =. Quindi, se scrivo int a; a = 12; assegno alla variabile

Dettagli

La Gestione della Memoria. Carla Binucci e Walter Didimo

La Gestione della Memoria. Carla Binucci e Walter Didimo La Gestione della Memoria Carla Binucci e Walter Didimo Esecuzione di programmi Java L esecuzione di un programma Java richiede: la compilazione del codice Java in bytecode Java (un linguaggio macchina

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Input/Output e Interi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 19 TUTOR Angelo Feraudo Email: angelo.feraudo2@unibo.it

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

I CARATTERI E LE STRINGHE

I CARATTERI E LE STRINGHE I CARATTERI E LE STRINGHE IL CODICE ASCII Per memorizzare i simboli grafici corrispondenti ai caratteri bisogna associare un numero intero a ciascuno di essi Il codice ASCII / æski/ (American Standard

Dettagli

Cicli annidati ed Array multidimensionali

Cicli annidati ed Array multidimensionali Linguaggio C Cicli annidati ed Array multidimensionali Cicli Annidati In C abbiamo 3 tipi di cicli: while(exp) { do { while(exp); for(exp;exp;exp3) { Cicli annidati: un ciclo all interno del corpo di un

Dettagli

Verso i puntatori: Cosa è una variabile?

Verso i puntatori: Cosa è una variabile? Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per

Dettagli

CICLO FOR. for contatore:= valore_iniziale to valore_finale do begin istruzione 1; istruzione 2; istruzione n; end;

CICLO FOR. for contatore:= valore_iniziale to valore_finale do begin istruzione 1; istruzione 2; istruzione n; end; CICLO FOR Il ciclo FOR è una particolare struttura iterativa che viene utilizzata per ripetere un blocco di istruzioni per un numero di volte che è noto a priori, a differenza del ciclo REPEAT-UNTIL e

Dettagli

! Intro metodi/sottoprogrammi. ! Definizione (intestazione e corpo) e uso. ! Parametri formali e attuali, associazione

! Intro metodi/sottoprogrammi. ! Definizione (intestazione e corpo) e uso. ! Parametri formali e attuali, associazione Dove siamo I metodi - II Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 10! Mattoni, Programmazione

Dettagli

L input da tastiera in Java. Dott. Ing. M. Banci, PhD

L input da tastiera in Java. Dott. Ing. M. Banci, PhD L input da tastiera in Java Dott. Ing. M. Banci, PhD La lettura di un flusso di input in Java avviene attraverso l'oggetto in della classe System. System.in appartiene alla classe InputStream (letteralmente

Dettagli

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

4. Un ambiente di sviluppo per Java

4. Un ambiente di sviluppo per Java pag.15 4. Un ambiente di sviluppo per Java Esistono in commercio molti ambienti di sviluppo utilizzati dai programmatori Java, in particolare si tratta di editor complessi che mettono a disposizione tools

Dettagli

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per

Dettagli

Introduzione al linguaggio C Funzioni

Introduzione al linguaggio C Funzioni Introduzione al linguaggio C Funzioni Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Programmazione a oggetti

Programmazione a oggetti Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

Dettagli

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del

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 Effetti collaterali Metodi ricorsivi Esercizi proposti 19/04/2011 2 import javax.swing.joptionpane; public class esempioarrayg{ public

Dettagli

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) { Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

Introduzione al linguaggio C

Introduzione al linguaggio C Linguaggio C Introduzione al linguaggio C Sistemi di sviluppo integrati Noti anche come IDE: Integrated Development Environment Un pacchetto software che permette di scrivere, preprocessare, compilare,

Dettagli

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi Fondamenti di Informatica METODI in Java Prof.Angela Bonifati 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile definire nuovi tipi di dati, tramite i metodi è possibile

Dettagli

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili Lo scopo 2 Il primo esperimento Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video Ver. 2.4

Dettagli

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

RETI DI CALCOLATORI Linguaggio Java: Eccezioni Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione

Dettagli

L'Allocazione Dinamica della Memoria nel linguaggio C

L'Allocazione Dinamica della Memoria nel linguaggio C L'Allocazione Dinamica della Memoria nel linguaggio C Prof. Rio Chierego riochierego@libero.it http://www.riochierego.it/informatica.htm Sommario Questo documento tratta l'allocazione dinamica della memoria

Dettagli

Corso di Informatica A.A

Corso di Informatica A.A Corso di Informatica A.A. 2009-2010 Lezione 11 Corso di Informatica 2009-2010 Lezione 11 1 Utilizzo dei puntatori Funzioni Perche i Puntatori? I puntatori hanno tre importanti applicazioni: 1. Passaggio

Dettagli

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) { Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

Una funzione riceve dati di ingresso in corrispondenza ai parametri

Una funzione riceve dati di ingresso in corrispondenza ai parametri FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

Dettagli