Variabili. Programma principale: funzione main. Funzioni
|
|
- Damiano Di Matteo
- 5 anni fa
- Visualizzazioni
Transcript
1 Un programma descrive al computer, in estremo dettaglio, la sequenza di passi (istruzioni) necessari a svolgere un determinato compito o risolvere un particolare problema. Un linguaggio di programmazione di alto livello come il C++ permette di scrivere un programma in maniera intuitiva una volta che se ne conosca la sintassi e la semantica. Le istruzioni del programma in C++ non sono direttamente eseguibili dal computer e vanno perciò tradotte (compilate) in linguaggio macchina. Variabili Le variabili sono gli oggetti su cui le istruzioni del C++ agiscono. Tutti gli oggetti che vengono utilizzati all interno di un programma di C++ devono essere note al programma prima del loro utilizzo. Rendere noto un oggetto (dichiarazione) significare scrivere una istruzione in cui si afferma che un certo nome da quel momento in poi identifica una variabile con un tipo di dato (int, float, char...) specifico. Una dichiarazione di una variabile è del tipo: tipo_di_dato nome_variabile; Programma principale: funzione main Ogni programma C++ deve contenere una (ed una sola) funzione principale, quella cioè che viena eseguita quando il programma compilato viene eseguito. Questa funzione principale viene chiamata main, e nella sua forma più semplice deve essere della forma: int main() { return 0; } Funzioni Un blocco di istruzioni C++ può essere raggruppato in una funzione, in modo che ogni volta che si debba utilizzare quel blocco di istruzioni, invece di scriverle esplicitamente nel programma, si possa richiamare il nome della funzione che rappresenta quel blocco di istruzioni. In C++ le funzioni si scrivono come: tipo_di_dato NomeFunzione(tipo_di_dato parametro1,..., tipo_di_dato parametron) { istruzioni; } L identificatore di tipo di dato (ad es. int, double o char) prima del nome della funzione indica qual è il tipo di dato del risultato restituito dalla funzione tramite un comando return. Il NomeFunzione permette di richiamare la funzione all interno di un programma attraverso il suo nome. Tra parentesi tonde dopo il nome della funzione si trova la lista (eventualmente vuota, come nel caso della funzione principale main()) dei parametri il cui valore viene fornito come ingresso alla funzione. Ogni funzione conosce infatti unicamente le variabili dichiarate al suo interno e quelle passate come parametri. All interno delle parentesi graffe dopo la lista dei parametri c è il corpo della funzione, cioè la sequenza di istruzioni che vengono eseguite dalla funzione.
2 Notare che alla fine della lista dei parametri non c è il punto e virgola, indicando che il blocco di istruzioni all interno delle successive parentesi graffe fanno effettivamente parte della funzione e ne sono il corpo. Prototipi Come le variabili devono essere dichiarate prima di poter essere utilizzate, così anche l esistenza di una funzione deve essere nota prima che essa possa essere utilizzata. Il compilatore, per una analisi della correttezza sintattica e semantica del programma scritto, si accontente di richiedere che sia nota la forma esteriore di una funzione (il suo prototipo), formata dal tipo di dato di ritorno, il nome della funzione e la sua lista di parametri. Il prototipo di una funzione generica sarà dunque: tipo_di_dato NomeFunzione(tipo_di_dato parametro1,...,tipo_di_dato parametron); Notare che alla fine del prototipo della funzione c è il punto e virgola, che indica la fine dell istruzione. Se l analisi sintattica e semantica è corretta, il passo della compilazione che si occupa del collegamento delle varie funzioni utilizzate (linker), cercherà il codice sorgente della funzione. File sorgente e file di intestazione Per poter compilare un programma, le istruzioni C++ devono essere salvate in uno o più file di testo con estensione.cpp (file sorgente). All interno dei file sorgente che vengono compilati assieme deve esserci una ed una sola funzione main(), e deve essere presente il codice sorgente di tutte le funzioni ausiliarie che vengono utilizzate dal programma. Dal momento che però le funzioni devono essere note prima di essere utilizzate, è importante l ordine in cui vengono scritte nei file sorgenti. Inoltre i prototipi delle funzioni presenti in file sorgenti diversi devono essere esplicitamente scritte all inizio dei file in cui non sono definite per poter essere utilizzate. Per semplificare questo meccanismo, e far sì che l ordine in cui sono scritte le funzioni non influenzi la compilazione, è possibile raccogliere i prototipi delle funzioni in un file di intestazione: esso è un file di testo con estensione.h (abbreviazione di header), all interno del quale sono presenti solo prototipi di funzioni. Se scrivo delle funzioni in un file Funz1.cpp, è buona norma mettere i loro prototipi nel file Funz1.h. I file di intestazione vanno inclusi all interno dei file sorgenete attraverso la direttiva al compilatore: #include NomeHeader.h I file di intestazione definiti dall utente vanno identificati fra virgolette, mentre quelli contenenti i prototipi delle funzioni di qualche libreria standard di C++ vanno scritti fra i simboli di maggioe e minore: #include <iostream> #include <cmath> Librerie di funzioni Un insieme di funzioni possono essere compilate e raccolte in librerie. In tale maniera è possibile saltare il passo della compilazione di tali funzioni, essendo sufficiente il passo di collegamento (link).
3 Le librerie standard del C++ vengono collegate automaticamente al programma scritto dal programmatore, qualora una delle loro funzioni venisse utilizzata. Così, una volta che siano inclusi i prototipi delle funzioni presenti nella libreria iostream in modo che le funzioni siano note al programma, durante la compilazione ed il collegamento, le librerie vengono automaticamente collegate. Array Un array (o vettore) e una sequenza di dati dello stesso tipo. Permette di gestire un insieme di dati sequenziali utilizzando un solo identificativo (il nome della variabile array), e di accedere ad ogni dato attraverso la sua posizione nella sequenza. La dichiarazione di una variabile array è del tipo: tipo_di_dato nome_variabile[dimensione_array]; In tale maniere si crea un array chiamato nome_variabile, il cui numero di elementi è dimensione_array, e i cui elementi sono tutti del tipo di dato (int, char, float,...) tipo_di dato. Nella dichiarazione di tale variabile, le parentesi quadre identificano che si sta creando un vettore, e il valore compreso tra di esse indica la dimensione del vettore (il numero di elementi consecutivi per cui viene riservato dello spazio in memoria). Dopo aver dichiarato l array, è possibile accedere ad ogni elemento tramite l indicizzazione, cioè indicando la posizione dell array alla quale vogliamo accedere per leggerla o per scriverci un valore: nome_variabile[posizione]; La posizione deve essere un numero intero compreso fra 0 e (dimensione_array-1). Puntatori Alle volte pò essere utile poter accedere al valore di una posizione di memoria (o di una variable) attraverso un riferimento ad essa, cioè attraverso il suo indirizzo di memoria. Il C++ fornisce la possibilità di utilizzare delle variabili puntatore, che sono delle variabili che contengono un indirizzo. Le variabili puntatore in realtà, devono contenere già al loro interno l informazione su come interpretare il valore che si trova all indirizzo che contengono (che puntano), perciò nella loro dichiarazione è necessario indicare il tipo di dato a cui si riferiscono. La dichiarazione di una variabile puntatore è del tipo: tipo_di_dato *nome_variabile; L asterisco indica che la variabile chiamata nome_variabile contiene l inidirizzo di un dato tipo_di_dato. Per accedere al valore contenuto nell indirizzo di una variabile puntatore, si utilizza l operatore di dereferenziamento che è l asterisco *. Ad es: double *puntatore; double valore; valore=*puntatore; dichiaro una variabile puntatore a double ed una variabile double. Con l istruzione di assegnazione accedo al valore contenuto nell indirizzo contenuto in puntatore attraverso il dereferenziamento, e assegno tale valore alla variabile valore. E possibile parimenti ottenere l indirizzo di una variabile attraverso l operatore & :
4 double *puntatore; double valore; puntatore=&valore; In tal modo assegno alla variabile puntatore il valore dell indirizzo della variabile valore. Relazione fra puntatori e array Quando si dichiara una variabile array, la variabile in realtà rappresenta solo l indirizzo del primo elemento del vettore, e l operazione di indicizzazione mi permette di leggere i dati spostando la posizione di lettura in maniera relativa rispetto al primo elemento. Dunque, essendo una variabile array semplicemente l indirizzo del suo primo elemento, potrei pensare di utilizzare una variabile puntatore per fare la stessa cosa. In effetti posso utilizzare le parentesi quadre per spostarmi di un certo numero di dati a partire da un indirizzo tenuto in una variabile puntatore, allo stesso modo in cui lo faccio per un array: double *puntatore; puntatore[2]; In tal modo, a partire dall indirizzo contenuto in puntatore, mi sposto dello spazio di due double in memoria e leggo un double a partire da tale posizione: bisogna però fare attenzione che la memoria all indirizzo contenuto in puntatore e non è riservata come quando si dichiara un array. Si può assegnare una variabile array ad una variable puntatore, ed in tal modo entrambe punteranno al primo elemento del vettore: double *puntatore; double vettore[10]; puntatore=vettore; Oppure posso utilizzare operatori aritmetici su variabili vettore come se fossero puntatori: char vettore[10]; vettore=vettore+1; l indirizzo contenuto in vettore sarà adesso l indirizzo del secondo elemento dell array originale, dal momento che all inidirizzo originale ho aggiunto al dimensione di una variabile char. Infatti ogni volta che ci si sposta da un indirizzo di un numero intero di posizioni, ci si sposta di un numero intero di elementi del tipo di dato del vettore o dell array. Visibilità delle variabili Una coppia di parentesi graffe delimita un blocco di codice. Ogni variabile dichiarata all interno di un blocco di codice viene eliminata quando il programma termina di eseguir le istruzioni in esso contenute e ne esce: le variabili sono perciò visibili solo localmente in ogni blocco di codice racchiuso tra due parentesi graffe. Una variable dichiarata all interno di un blocco, con lo stesso nome di una variabile dichiarata all esterno del blocco, rappresenta una variabile differente a tutti gli effetti, e nasconde la variabile dichiarata esternamente. Tutte le modifiche e le operazioni compiute nel blocco di codice agiranno sulla variabile locale, e non saranno disponibili un volta che si esca dal blocco:
5 int x; x=0; { int x; x=1 ; } cout << x; Le variabili all interno ed all esterno della coppia di graffe, pur chiamandosi con lo stesso nome, sono a tutti gli effetti differenti: la variabile dichiarata fuori dalle parentesi viene nascosta da quella all interno durante l esecuzione delle istruzioni all interno delle parentesi graffe, così l assegnazione del valore 1 a x vale unicamente per la variabile interna. L istruzione di visualizzazione cout è al di fuori delle parentesi graffe, la dichiarata localmente a quel blocco di codice non è più visibile, e dunque il valore visulaizzato sarà 0. Passaggio dei parametri: per valore e per riferimento Quando delle variabili vengono passate come ingresso di una funzione, il loro valore viene copiato in corrispondenti variabili locali alla funzione in esecuzione. Questo è quello che va sotto il nome di passaggio dei parametri per valore, perchè non viene realmente passata la variabile alla funzione, ma solo il suo valore. Questo fa sì che il risultato di eventuali modifiche apportate a tale valore all interno della funzione (che è un blocco di codice), non si rifletta sulla corrispondente variabile originale il cui valore è stato passato alla funzione. Il C++ mette a disposizione la possibilità di passare i parametri per riferimento ad una funzione, in modo che la funzione al suo interna veda non il valore della variabile, ma un riferimento (l indirizzo) alla variabile originale. In tal modo, ogni modifica alla variabile locale della funzione agisce all indirizzo della variabile originale, modificandola effettivamente. In questo modo le modifiche ad un parametro passato per riferimento saranno disponibili una volta che la funzione sia terminata. Per dichiarare che un parametro è passato per riferimento e non per valore si utilizza il segno & : tipo_dato nome_funzione(tipo_dato per_valore, tipo_dato &per_riferimento); In tale esempio la funzione nome_funzione ha come ingressi due parametri, di cui il primo è passato per valore (modalità standard), mentre il secondo è passato per riferimento, essendoci il simbolo di e commerciale davanti al nome della variabile. Allocazione statica della memoria Durante la compilazione di un programma, le dimensione di tutte le variabili deve essere nota, in modo che il compilatore possa calcolare l esigenza di memoria del programma, che all inizio della sua esecuzione richiede tale spazio al sistema operativo per funzionare. Questa strategia va sotto il nome di allocazione statica della memoria, cioè il programma utilizza una quantità fissata ed immutabile di memoria durante la sua esecuzione. Questo fa sì che non sia possibile, ad esempio, modificare la dimensione di un vettore durante la esecuzione di un programma scrivendo delle istruzione del tipo: int dimensione; cin >> dimensione; double vettore[dimensione]; perchè la dimensione del vettore (allocato staticamente) può essere nota solo durante l esecuzione del programma,
6 Allocazione dinamica della memoria Nel caso fosse necessario o auspicabile poter riservare della memoria durante l esecuzione, per poter accomodare lo spazio necessario al programma mano a mano che si renda necessario, il C++ fornisce al programmatore la possibilità di allocare della memoria attraverso l istruzione new. La strategia di riservare lo spazio in memoria quando sia necessario, senza doverlo conoscere all inizio dell esecuzione del programma e durante la compilazione, va sotto il nome di allocazione dinamica della memoria. Bisogna ricordare, che allocando staticamente la memoria, il C++ si prende carico di gestire da un lato l allocazione della memoria necessaria per tutte le variabili utilizzate dal programma, e dall altro la loro cancellazione e rilascio della memoria alla fine dell esecuzione. Utilizzando l allocazione dinamica, tale compito cade invece sulle spalle del programmatore, che può richiedere memoria aggiuntiva durante l esecuzione, ma deve assicurarsi che tale memoria sia rilasciata alla fine del programma. Ogni volta che si alloca della memoria per una variabile tramite l operore new, bisogna assicurare che tale variabile sia cancellata esplicitamente attraverso l operatore delete. La sintassi dell operatore new è: tipo_dato *puntatore; puntatore = new tipo_dato; Cioè l operatore riserva dello spazio in memoria pari alla dimensione di tipo_dato e restituisce l indirizzo di memoria in cui tale dato si trova. La cancellazione di una variabile allocata dinamicaminte sarà: delete puntatore; Nel caso si voglia allocare (e poi cancellare) un array la sintastti è leggermente diversa: int dimensione; cin >> dimensione; tipo_dato *puntatore; puntatore = new tipo_dato[dimensione]; delete [] puntatore; La dimensione del vettore non è nota a priori, ma solo durante l esecuzione del programma quando si chiede all utente di inserire la dimensione del vettore desiderato. L operatore new restituisce l indirizzo del primo elemento dell array desiderato. Quando si deve cancellare un array, bisogna segnalare all operatore delete che si vuole cancellare un vettore (una sequenza di dati), e non solo il dato di cui la variabile puntatore è l indirizzo. Per fare ciò si utilizza la sintassi del comando delete seguito dalle parentesi quadre che indicano che il puntatore seguente è l indirizzo di un array.
Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliCodifica: dal diagramma a blocchi al linguaggio C++
Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU
DettagliGestione delle eccezioni in Java
Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel
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
DettagliFiles in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007
Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)
DettagliIngegneria del Software
Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi
DettagliAppunti del corso di Informatica 1. 6 Introduzione al linguaggio C
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C
Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)
DettagliLaboratorio di Programmazione Lezione 1. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676
Dettagli2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.
Tipo File Per memorizzare un dato su un supporto magnetico come un hard disk o un nastro, o più in generale su un'unità di memoria di massa viene utilizzata un tipo di dato chiamato file. Un file può essere
Dettaglipuntatori Lab. Calc. AA 2007/08 1
puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene
DettagliCOMPILAZIONE. Tarsformazione di linguaggi
COMPILAZIONE Tarsformazione di linguaggi Le fasi della compilazione File sorgente Compilazione File sorgente File sorgente File sorgente Compilazione Compilazione Compilazione Libreria di run-time File
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)
DettagliIL CONCETTO DI FILE. È illecito operare oltre la fine del file.
IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni
DettagliIl comando provoca il salvataggio dello stato e la terminazione dell esecuzione.
Scrivere un programma per la gestione di una videoteca. Il programma deve essere in grado di tenere traccia dello stato corrente (presente/in prestito a x/smarrito da x/danneggiato da x a livello nn) e
DettagliTUTORATO di LINGUAGGI I
TUTORATO di LINGUAGGI I Enrico Vianello TUTORATO di LINGUAGGI I contatti utili LE LEZIONI SI TERRANNO: VENERDI 12.30-14.30 PER INFORMAZIONI e DOMANDE: enrico.vianello@student.unife.it IL MATERIALE UTILIZZATO
DettagliIntroduzione al linguaggio C Gli array
Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome
DettagliJava Native Interface Appunti
Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per
Dettagli4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste
4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1
DettagliConnessione ad internet
Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliAllocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
DettagliIl file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.
Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti
DettagliBreve riepilogo della puntata precedente:
Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta
Dettagli3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.
3.5 STAMPA UNIONE Le funzioni della stampa unione (o stampa in serie) permettono di collegare un documento principale con un elenco di nominativi e indirizzi, creando così tanti esemplari uguali nel contenuto,
DettagliInformatica Medica C++ Informatica Medica I semestre Docenti: Fabio Solari e Manuela Chessa. Sviluppo di un applicazione eseguibile
Corso di Laurea in Ingegneria Biomedica Informatica Medica I semestre Docenti: Fabio Solari e Manuela Chessa Prof. Fabio Solari: fabio.solari@unige.it (010-3532059) Prof. Manuela Chessa: manuela.chessa@unige.it
DettagliGestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
DettagliLinguaggio C - Funzioni
Linguaggio C - Funzioni Funzioni: Il linguaggio C è di tipo procedurale; ogni programma viene suddiviso in sottoprogrammi, ognuno dei quali svolge un determinato compito. I sottoprogrammi si usano anche
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.
DettagliCosa è importante: pom.xml Goal Plug-in Repository
Cos è Maven? Maven è un software usato principalmente per la gestione di progetti Java e build automation, ma è utile anche per gestire documentazione, report, dipendenze... Cosa è importante: pom.xml
DettagliIntroduzione a ROOT. 1. Informazioni generali
Introduzione a ROOT 1. Informazioni generali ROOT è un ambiente visualizzazione e trattamento dati interattivo sviluppato al CERN (si veda il sito ufficiale http://root.cern.ch interamente sviluppato in
DettagliFondamenti di Informatica T. Linguaggio C: i puntatori
Linguaggio C: i puntatori Il puntatore E` un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore
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
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica I tipi strutturati: gli array e le strutture Claudio De Stefano - Corso di Fondamenti di Informatica 1 arrays un array (o vettore) è una sequenza di oggetti dello stesso
DettagliLe stringhe. Le stringhe
Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è
DettagliCorso Programmazione 1 Capitolo 01: Concetti Elementari
Corso Programmazione 1 Capitolo 01: Concetti Elementari Docente: Roberto Sebastiani - roberto.sebastiani@unitn.it Esercitatori: Mario Passamani - mario.passamani@unitn.it Alessandro Tomasi - alessandro.tomasi@unitn.it
DettagliVARIABILI LOCALI E GLOBALI (ESTERNE)
VARIABILI LOCALI E GLOBALI (ESTERNE) Le variabili locali sono definite (ed il loro uso dichiarato) nella funzione (o nel blocco) che le usa; nascono quando la funzione entra in esecuzione e muoiono al
DettagliSistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
DettagliI puntatori e l allocazione dinamica di memoria
I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in
DettagliProgrammazione I / Informatica generale Prova scritta 11 Giugno 2008
Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 NOTA: Si trascuri ogni problema legato al tipo ed al valore di ritorno della funzione main. Inoltre, nei programmi è da sottintendere
DettagliINFORMATICA - I puntatori Roberta Gerboni
1 2 I puntatori in C++ Il puntatore un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un
DettagliManuale Utente CMMG Corso Medici Medicina Generale
CMMG- Manuale Utente CMMG Aprile 2014 Versione 1.1 Manuale Utente CMMG Corso Medici Medicina Generale CMMG-Manuale Utente.doc Pagina 1 di 14 CMMG- Manuale Utente AGGIORNAMENTI DELLE VERSIONI Versione Data
DettagliFondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli
DettagliArchitettura dei calcolatori e sistemi operativi. Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H
Architettura dei calcolatori e sistemi operativi Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H Sommario Il processo di assemblaggio Il collegatore (linker) 2 Assemblatore: traduzione
DettagliINFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C
INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C DESCRIZIONE GENERALE In questa esperienza il C verrà utilizzato per elaborare immagini
DettagliIl calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
DettagliLe Liste. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Le Liste 1 / 31
Le Liste Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Le Liste 1 / 31 Cos è una Lista Una lista è una collezione di elementi omogenei che: potrebbero
DettagliGestione risorse (Windows)
Gestione risorse (Windows) Organizzazione dei file Il sistema di memorizzazione è organizzato ad albero secondo una struttura gerarchica DISCO (drive) FILES CARTELLE (directory) FILES SOTTOCARTELLE FILES
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
DettagliProf. Pagani Corrado HTML
Prof. Pagani Corrado HTML IPERTESTI E MULTIMEDIALITÀ Un ipertesto è un insieme di documenti messi in relazione tra loro per mezzo di parole chiave sensibili (link). Può essere visto come una rete; i documenti
DettagliGrammatica di base: Pointers
Grammatica di base: Pointers Esistono I puntatori a funzioni. Bisogna esplicitare esattamente il tipo di ritorno e il tipo di argomento. Per evitare ambiguità con il prefisso * nel declarator, il nome
DettagliTipi di dato-prima parte
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Tipi di dato-prima parte Ing. Agnese Pinto 1 di 15 Tipi di dato Sommario Tipi di dato Classificazione dei tipi di dato Tipi
Dettaglie-shop Ordina online i tuoi prodotti con pochi e semplici clic!
Ordina online i tuoi prodotti con pochi e semplici clic! ACQUISTI IMPERO ONLINE GUIDA UTENTE Introduzione e-shop, il sito web per gli acquisti Impero online e-shop garantisce l accesso a 10 000 articoli
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
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,
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
DettagliLaboratorio di Algoritmi e Strutture Dati. La gestione della memoria dinamica Heap
Laboratorio di Algoritmi e Strutture Dati La gestione della memoria dinamica Heap Proff. Francesco Cutugno e Luigi Lamberti 2009 Cenni sui Processi Si definisce Programma un insieme di Istruzioni destinate
DettagliRaccolta dati di qualità dei servizi telefonici
Manuale d uso Raccolta dati di qualità dei servizi telefonici Comunicazione dati I semestre 2014 Le imprese di vendita di energia elettrica e gas con più di 50.000 clienti finali 1 entro la scadenza del
DettagliSIREA: SISTEMA DI REVISIONE DELLE ANAGRAFI
SIREA: SISTEMA DI REVISIONE DELLE ANAGRAFI Manuale d uso. Versione 26/03/2012 INDICE Note tecniche per l utilizzo del Sistema Sirea 2 Sistema di autenticazione 2 Operatori.6 Variazione Responsabile comunale
DettagliIl programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1
Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria R. Vitolo Dipartimento di Matematica Università di Lecce SaLUG! - Salento Linux User Group Il programma OCTAVE per l
DettagliProgrammazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
Dettagli* in giallo le modifiche apportate rispetto alla versione precedente datata 17/04/2012
Nota Salvatempo Contabilità 22 MAGGIO 2012 * in giallo le modifiche apportate rispetto alla versione precedente datata 17/04/2012 Nuova modalità di esportazione dei dati dalla Contabilità all Unico Persone
Dettagli----------------------------------------------------------------
---------------------------------------------------------------- utilizzo frequente di chiamate a.. A differenza del Pascal, il C permette di operare con assegnamenti e confronti su dati di tipo diverso,
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono
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
Dettagli3) Il seguente numerale A1F0 in base 16 a quale numero in base 10 corrisponde?
Leggete attentamente le domande del test e date la/le vostra/e risposta/e. 1) Per quanto tempo la memoria RAM di un personal computer conserva le informazioni? Finchè lo hard disk funziona in modo corretto
DettagliInput/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliI servizi del SITR-IDT
I servizi del SITR-IDT Sistema Informativo Territoriale Regionale (SITR-IDT) Titolo Creatore I servizi del SITR-IDT SITR Data 05/02/10 Soggetto Tipo Editore Descrizione Autori Formato Riferimento Diritti
DettagliSPORTELLO DIPENDENTE. - Personale amministrativo tecnico ausiliario (A.T.A.);
SPORTELLO DIPENDENTE - Personale amministrativo tecnico ausiliario (A.T.A.); - Personale assistente ed educatore; - Personale insegnante e coordinatori pedagogici delle scuole dell infanzia; - Personale
DettagliPG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20
PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»
Dettagli3. Terza esercitazione autoguidata: progetto gestione voli
9 3. Terza esercitazione autoguidata: progetto gestione voli Qui ci occupiamo di scrivere un programma abbastanza lungo, dedicato alla gestione di una tabella di dati. Una tabella e una struttura dati
DettagliLe sue caratteristiche:
I Virus Un virus, in informatica, è un software, appartenente alla categoria dei malware, che è in grado, una volta eseguito, di infettare dei file in modo da riprodursi facendo copie di se stesso, generalmente
DettagliManuale di configurazione e utilizzo Barcode card
Manuale di configurazione e utilizzo Barcode card Premessa... 3 Impostazioni Monetica... 3 Impostazioni... 3 Menu Barcode card... 5 Impostazioni... 6 Registrazione... 6 Elenco barcode card... 7 Configurazione
Dettagli18/05/2016 MANUALE UTENTE
18/05/2016 MANUALE UTENTE Indice dei contenuti 2 1. ACCESSO AL SISTEMA PAGOINRETE... 3 2. HOME PAGE... 4 3. RICHIEDI ASSISTENZA... 5 4. SERVIZI DI PAGAMENTO... 6 5. VISUALIZZA CONDIZIONI CONTRATTUALI PSP...
Dettagliinteroperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,
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
DettagliIntroduzione alle macchine a stati (non definitivo)
Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in
DettagliAlcune regole di base per scrivere un programma in linguaggio C
Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza
DettagliPlanet School Guida per l utente GENERIC (GENITORE) - GUIDA PER L UTENTE GENITORE
Planet School Guida per l utente GENERIC (GENITORE) 2 - GUIDA PER L UTENTE GENITORE 1. LA TESSERA DEI SERVIZI La tessera dei servizi è un badge con banda magnetica (simile al bancomat) che permetterà agli
DettagliLaboratorio di Programmazione Gruppo III, Ml-ZZ. Alberto Finzi finzi@na.infn.it
Laboratorio di Programmazione Gruppo III, Ml-ZZ Alberto Finzi finzi@na.infn.it Record e File binari Record La definizione della struttura è data dalla parola riservata struct seguita da un identificatore,
DettagliIstruzioni utilizzo Sitemanager area Amministrazione Trasparente per il personale comunale
Istruzioni utilizzo Sitemanager area Amministrazione Trasparente per il personale comunale Sommario Modalità di accesso... 4 Struttura del Sitemanager... 5 Cosa sono le cartelle e le sottocartelle... 6
DettagliLe operazioni di allocazione e deallocazione sono a carico del sistema.
Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione
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
Dettaglivoid funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
DettagliALBO PRETORIO WEB MANUALE DI GESTIONE
ALBO PRETORIO WEB MANUALE DI GESTIONE Demos Data S.r.l. INDICE 1. Accesso all area riservata 2. Inserimento di una nuova pubblicazione con allegati 2.1 Nuova pubblicazione 2.2 Allegare documenti 3. Modifica
Dettaglijsibac ELEZIONI REGIONALI ED AMMINISTRATIVE DEL 31 MAGGIO 2015 LISTE ORDINARIE Guida Area Servizi Demografici
jsibac ELEZIONI REGIONALI ED AMMINISTRATIVE DEL 31 MAGGIO 2015 LISTE ORDINARIE Guida Area Servizi Demografici M 1 Premessa Questo manuale si pone come guida di massima del software jsibac Area Demografici
DettagliINDICE 1. PREMESSA... 3 1.1 MODIFICHE DOCUMENTO... 3 1.2 ACRONIMI E DEFINIZIONI... 3 2. PROCEDURA PER L ACCREDITAMENTO (ISTRUZIONI GENERALI)...
ipa Descrizione dei processi di Accreditamento e Gestione Referenti Guida per l accreditamento e Gestione Referenti ver. 3.00 del 13/04/2015 INDICE 1. PREMESSA... 3 1.1 MODIFICHE DOCUMENTO... 3 1.2 ACRONIMI
DettagliAccademia NaturalLook
Accademia NaturalLook Manuale B2B Giugno 2016 Versione 1.1 Indice 1 Accesso servizio B2B Net... 2 1.1 Collegamento al B2B - Ordini... 2 1.2 Accedere al B2B... 3 1.3 Cambio Password... 4 2 Procedere con
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 Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei
IG 9CFU 25/06/10 1/12 Esame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei Docente Risultati Scritto Orali Fiorino martedi venerdì Mazzei Martedì pv (sito docente) Mercoledì
DettagliProvincia di Reggio Calabria Procedura di Registrazione degli Operatori Economici e Messaggi di Notifica.
Provincia di Reggio Calabria Procedura di Registrazione degli Operatori Economici e Messaggi di Notifica. Indice 1 OBIETTIVI DEL DOCUMENTO... 3 2 REGISTRAZIONE AL PORTALE GARE TELEMATICHE DELLA PROVINCIA
DettagliLezione 9: Strutture e allocazione dinamica della memoria
Lezione 9: Strutture e allocazione dinamica della memoria Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Maggio 2012 Allocazione dinamica della memoria Memoria dinamica È possibile creare
DettagliCorso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO
Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato
DettagliGuida Rapida per i Docenti dell ITIS Galilei
Guida Rapida per i Docenti dell ITIS Galilei Il nuovo server Internet learning dell Istituto Galileo Galilei di Roma è raggiungibile digitando http://lnx.itisgalileiroma.it/moodle nella barra degli indirizzi
DettagliAnthericaCMS. Gestisci in autonomia i contenuti del tuo sito-web
AnthericaCMS Gestisci in autonomia i contenuti del tuo sito-web INDICE I vantaggi di un sito dinamico... 1 I vantaggi di anthericacms... 2 La piattaforma di gestione dei contenuti... 3 Accesso: le sezioni...
DettagliProgetto Istanze On Line. Presentazione OnLine Modello B. 13 Giugno 2014
2014 Progetto Istanze On Line Presentazione OnLine Modello B 13 Giugno 2014 INDICE 1 INTRODUZIONE ALL USO DELLA GUIDA... 3 1.1 SIMBOLI USATI E DESCRIZIONI... 3 2 COMPILAZIONE DEL MODULO DI DOMANDA ON LINE...
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica L uso delle funzioni in C++ Claudio De Stefano - Corso di Fondamenti di Informatica 1 Funzioni Nel C++ è possibile scomporre problemi complessi in moduli più semplici
DettagliRICHIESTA CERTIFICATO DI AGIBILITÀ IMPRESE CHE OCCUPANO LAVORATORI DEL SETTORE DELLO SPETTACOLO
RICHIESTA CERTIFICATO DI AGIBILITÀ IMPRESE CHE OCCUPANO LAVORATORI DEL SETTORE DELLO SPETTACOLO MANUALE UTENTE Data di consegna 15/05/2015 Versione 1.0 - Pag. 1 1. Introduzione... 3 2. Scopo del documento...
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,
Dettagli