Indice. Prefazione... xxi. Capitolo 1 Introduzione al C Capitolo 2 Fondamenti di C... 11

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Indice. Prefazione... xxi. Capitolo 1 Introduzione al C Capitolo 2 Fondamenti di C... 11"

Transcript

1 Indice Prefazione... xxi Capitolo 1 Introduzione al C Storia del C... 1 Origini... 1 Standardizzazione... 2 Linguaggi basati sul C Pregi e debolezze del C... 3 Pregi... 4 Debolezze... 5 Utilizzo efficace del C... 6 Domande & Risposte... 7 Capitolo 2 Fondamenti di C Scrivere un semplice programma Visualizzare il bad pun Compilazione e linking Sistemi di sviluppo integrati La struttura generale di un programma Direttive Funzioni Istruzioni Stampare le stringhe Commenti Variabili e assegnamenti Tipi Dichiarazioni Assegnamenti Stampare il valore di una variabile Calcolare il peso volumetrico di un pacco... 22

2 vi Indice Inizializzazione Stampare espressioni Leggere l input Calcolare il peso dimensionale di un pacco (rivisitato) Definire nomi e costanti Convertire da Fahrenheit a Celsius Identificatori Keyword La stesura di un programma C Domande & Risposte Esercizi Progetti di programmazione Capitolo 3 Input/Output formattato La funzione printf Specifiche di conversione Utilizzare la printf per formattare i numeri Sequenze di escape La funzione scanf Come funziona la scanf Caratteri ordinari nelle stringhe di formato Confondere printf con scanf Sommare frazioni Domande & Risposte Esercizi Progetti di programmazione Capitolo 4 Espressioni Operatori aritmetici Precedenza degli operatori e associatività Calcolare il carattere di controllo dei codici a barre Operatori di assegnamento Assegnamento semplice Lvalue Assegnamento composto Operatori di incremento e decremento Calcolo delle espressioni Ordine nel calcolo delle sottoespressioni Expression statement Domande e risposte Esercizi Progetti di programmazione Capitolo 5 Istruzioni di selezione Espressioni logiche Operatori relazionali... 76

3 Indice vii Operatori di uguaglianza Operatori logici L istruzione if Le istruzioni composte La clausola else Istruzioni if in cascata Calcolare le commissioni dei broker Il problema dell else pendente Espressioni condizionali Valori booleani nel C Valori booleani in C L istruzione switch Il ruolo dell istruzione break Stampare la data nel formato legale Domande & Risposte Esercizi Progetti di programmazione Capitolo 6 Cicli L istruzione while Cicli infiniti Stampare la tavola dei quadrati Sommare una serie di numeri L istruzione do Calcolare il numero di cifre in un intero L istruzione for Idiomi per l istruzione for Omettere le espressioni nelle istruzioni for I cicli for nel C L operatore virgola Stampare la tavola dei quadrati (rivisitato) Uscire da un ciclo L istruzione break L istruzione continue L istruzione goto Bilancio di un conto L istruzione vuota Domande & Risposte Esercizi Progetti di programmazione Capitolo 7 I tipi base Tipi interi Tipi interi nel C Costanti intere Costanti intere nel C

4 viii Indice Integer overflow Leggere e scrivere interi Sommare una serie di numeri (rivisitato) Tipi floating point Costanti floating point Leggere e scrivere numeri a virgola mobile Tipi per i caratteri Operazioni sui caratteri Caratteri signed e unsigned Tipi aritmetici Sequenze di escape Funzioni per la manipolazione dei caratteri Leggere e scrivere caratteri usando le funzioni scanf e printf Leggere e scrivere caratteri usando le funzioni getchar e putchar Determinare la lunghezza di un messaggio Conversione di tipo Le normali conversioni aritmetiche Conversioni negli assegnamenti Conversioni implicite nel C Casting Definizione di tipi Vantaggi della definizione di tipi Definizione di tipi e portabilità L operatore sizeof Domande & Risposte Esercizi Progetti di programmazione Capitolo 8 Vettori Vettori unidimensionali Indicizzazione di un vettore Invertire una serie di numeri Inizializzazione dei vettori Designatori inizializzati Controllare il numero di cifre ripetute Usare l operatore sizeof con i vettori Calcolare gli interessi Vettori multidimensionali Inizializzare un vettore multidimensionale Vettori costanti Distribuire una mano di carte Vettori a lunghezza variabile (C99) Domande & Risposte Esercizi Progetti di programmazione

5 Indice ix Capitolo 9 Funzioni Definire e invocare le funzioni Calcolo delle medie Stampare un conto alla rovescia Stampare un motto (rivisitato) Definizione di funzioni Chiamate a funzione Controllare se un numero è primo Dichiarazioni di funzioni Argomenti Conversione degli argomenti Vettori usati come argomenti Vettori a lunghezza variabile usati come argomenti Usare static nella dichiarazione di un parametro vettore Letterali composti L istruzione return Interrompere l esecuzione di un programma La funzione exit Ricorsione Algoritmo Quicksort Quicksort Domande & Risposte Esercizi Progetti di programmazione Capitolo 10.Organizzazionedel programma Variabili locali Variabili locali statiche Parametri Variabili esterne Esempio: usare una variabile esterna per implementare uno stack Pregi e difetti delle variabili esterne Indovinare un numero Blocchi Scope Organizzare un programma C Classificare una mano di poker Domande & Risposte Esercizi Progetti di programmazione Capitolo 11 Puntatori Variabili puntatore Dichiarare una variabile puntatore L operatore indirizzo e l operatore asterisco L operatore indirizzo

6 x Indice L operatore asterisco Assegnamento dei puntatori Puntatori usati come argomenti Trovare il massimo e il minimo in un vettore Usare const per proteggere gli argomenti Puntatori usati come valori restituiti Domande & Risposte Esercizi Progetti di programmazione Capitolo 12 Puntatori e vettori Aritmetica dei puntatori Sommare un intero a un puntatore Sottrarre un intero da un puntatore Sottrarre da un puntatore un altro puntatore Confrontare i puntatori Puntatori a letterali composti Usare i puntatori per l elaborazione dei vettori Abbinare gli operatori * e Usare il nome di un vettore come puntatore Invertire una sequenza di numeri (rivisitato) Argomenti costituiti da vettori (rivisitato) Utilizzare un puntatore come il nome di un vettore Puntatori e vettori multidimensionali Elaborare gli elementi di un vettore multidimensionale Elaborare le righe di un vettore multidimensionale Elaborare le colonne di un vettore multidimensionale Utilizzare il nome di un vettore multidimensionale come puntatore Puntatori e vettori a lunghezza variabile Domande & Risposte Esercizi Progetti di programmazione Capitolo 13 Stringhe Stringhe letterali Sequenze di escape nelle stringhe letterali Proseguire una stringa letterale Come vengono memorizzare le stringhe letterali Operazioni sulle stringhe letterali Stringhe letterali e costanti carattere a confronto Variabili stringa Inizializzare una variabile stringa Vettori di caratteri e puntatori a caratteri a confronto Leggere e scrivere le stringhe Scrivere una stringa con le funzioni printf e puts Leggere le stringhe con le funzioni scanf e gets

7 Indice xi Leggere le stringhe carattere per carattere Accedere ai caratteri di una stringa Usare la libreria C per le stringhe La funzione strcpy (string copy) La funzione strlen (string length) La funzione strcat (string concatenation) La funzione strcmp (string comparison) Stampare i promemoria di un mese Idiomi per le stringhe Cercare la fine di una stringa Copiare una stringa Vettori di stringhe Argomenti della riga di comando Controllare i nomi dei pianeti Domande & Risposte Esercizi Progetti di programmazione Capitolo 14 Il preprocessore Come opera il preprocessore Direttive del preprocessore Definizione di macro Macro semplici Macro parametriche L operatore # L operatore ## Proprietà generali delle macro Parentesi nelle definizioni delle macro Creare macro più complesse Macro predefinite Macro predefinite aggiunte dal C Argomenti delle macro vuoti Macro con un numero variabile di argomenti L identificatore func Compilazione condizionale Le direttive #if e #endif L operatore defined Le direttive #ifdef e #ifndef Le direttive #elif e #else Usi della compilazione condizionale Direttive varie La direttiva #error La direttiva #line La direttiva #pragma L operatore _Pragma Domande & Risposte Esercizi

8 xii Indice Capitolo 15.Scrivere programmi di grandi dimensioni File sorgente File header La direttiva #include Condividere le definizioni delle macro e le definizioni dei tipi Condividere i prototipi delle funzioni Condividere la dichiarazione delle variabili include annidati Proteggere i file header Direttive #error nei file header Suddividere un programma su più file Formattare del testo Build di un programma costituito da più file Makefile Errori durante il linking Rieseguire il build di un programma Definire la macro al di fuori di un programma Domande & Risposte Esercizi Progetti di programmazione Capitolo 16.Strutture, unioni ed enumerazioni Variabili struttura Dichiarare variabili struttura Inizializzare variabili struttura Inizializzatori designati Operazioni sulle strutture Tipi struttura Dichiarare il tag di struttura Definire un tipo struttura Strutture come argomenti e valori restituiti Letterali composti Annidamento di strutture e vettori Strutture annidate Vettori di strutture Inizializzare un vettore di strutture Mantenere un database di componenti Unioni Usare le unioni per risparmiare spazio Usare le unioni per creare strutture dati composite Aggiungere un campo etichetta a un unione Enumerazioni Tag e nomi di tipo di enumerazione Enumerazioni come gli interi Utilizzare le enumerazioni per dichiarare dei campi etichetta Domande & Risposte

9 Indice xiii Esercizi Progetti di programmazione Capitolo 17 Uso avanzato dei puntatori Allocazione dinamica sulla memoria Funzioni di allocazione della memoria Puntatori nulli Stringhe allocate dinamicamente Utilizzare malloc per allocare memoria per una stringa Utilizzare l allocazione dinamica della memoria nelle funzioni per le stringhe Vettori di stringhe allocate dinamicamente Stampare i promemoria di un mese (rivisitato) Vettori allocati dinamicamente Utilizzare malloc per allocare lo spazio per un vettore La funzione calloc La funzione realloc Deallocare la memoria La funzione free Il problema del puntatore pendente Liste concatenate Dichiarare un tipo nodo Creare un nodo L operatore -> Inserire un nodo all inizio di una lista concatenata Ricerca in una lista concatenata Eliminare un nodo da una lista concatenata Liste ordinate Mantenere un database di componenti (rivisitato) Puntatori a puntatori Puntatori a funzioni Puntatori a funzioni usati come argomenti La funzione qsort Altri utilizzi dei puntatori a funzione Tavole delle funzioni trigonometriche Puntatori restricted (C99) Membri vettore flessibili (C99) Domande & Risposte Esercizi Progetti di programmazione Capitolo 18 Dichiarazioni Sintassi delle dichiarazioni Classi di memorizzazione Proprietà delle variabili

10 xiv Indice Classe di memorizzazione auto Classe di memorizzazione static Classe di memorizzazione extern Classe di memorizzazione register Classe di memorizzazione di una funzione Riepilogo Qualificatori di tipo Dichiaratori Decifrare dichiarazioni complesse Usare le definizioni di tipo per semplificare le dichiarazioni Inizializzatori Variabili non inizializzate Funzioni inline (C99) Definizioni inline Restrizioni per le funzioni inline Usare le funzioni inline con GCC Domande & Risposte Esercizi Capitolo 19.Progettazionedi un programma Moduli Coesione e accoppiamento Tipi di moduli Information hiding Un modulo stack Tipi di dato astratti Incapsulamento Tipi incompleti Un tipo di dato astratto per lo stack Definire l interfaccia per lo stack ADT Implementare lo stack ADT usando un vettore di lunghezza fissa Modificare il tipo degli elementi dello stack ADT Implementare lo stack ADT usando un vettore dinamico Implementare lo stack ADT usando una lista concatenata Elementi di progettazione per i tipi di dato astratti Convenzioni sui nomi Gestione degli errori ADT generici ADT nei linguaggi più recenti Domande & Risposte Esercizi Progetti di programmazione Capitolo 20.Programmazione a basso livello Operatori bitwise Operatori di scorrimento bitwise

11 Indice xv Altri operatori bitwise Utilizzare gli operatori bitwise per accedere ai bit Usare gli operatori bitwise per accedere a campi di bit Cifratura XOR Campi di bit nelle strutture Come vengono memorizzati i campi di bit Altre tecniche a basso livello Definire dei tipi indipendenti dalla macchina Usare le unioni per fornire diverse viste per i dati Usare i puntatori come indirizzi Visualizzare le locazioni di memoria Il qualificatore di tipo volatile Domande & Risposte Esercizi Progetti di programmazione Capitolo 21 La libreria standard Usare la libreria Restrizioni sui nomi utilizzati nella libreria Funzioni nascoste da macro Panoramica della libreria C Diagnostica Gestione dei caratteri Errori Caratteristiche dei tipi a virgola mobile Dimensione dei tipi interi Localizzazione Matematica Salti non locali Gestione dei segnali Argomenti variabili Definizioni comuni Input/Output Utilità generale Gestione delle stringhe Data e ora Modifiche della libreria C Aritmetica complessa Ambiente in virgola mobile Conversione di formato per i tipi interi Ortografie alternative Valori e tipo booleani Tipi interi Matematica per tipi generici Utilità per i caratteri estesi multibyte e per i wide-characters Classificazione dei wide-character e utilità di mapping L header <stddef.h>: definizioni comuni

12 xvi Indice 21.5 L header <stdbool.h> (C99): valori e tipo booleani Domande & Risposte Esercizi Progetti di programmazione Capitolo 22 Input/Output Stream Puntatori a file Stream standard e reindirizzamento File testuali e file binari Operazioni sui file Aprire un file Modalità di apertura Chiudere un file Collegare un file con uno stream aperto Ottenere i nomi dei file dalla riga di comando Controllare se un file può essere aperto File temporanei File buffering Operazioni varie sui file I/O formattato Le funzioni...printf Specifiche di conversione per le funzioni...printf Modifiche del C99 alle specifiche di conversione...printf Esempi per le specifiche di conversione delle funzioni...printf Le funzioni...scanf Stringhe di formato per le funzioni...scanf Specifiche di conversione per la...scanf Esempi delle specifiche di conversione per le funzioni...scanf Rilevare la fine del file e le condizioni di errore I/O di caratteri Funzioni di output Funzioni di input Copiare un file I/O di righe Funzioni di output Funzioni di input I/O di blocchi Posizionamento nei file Modificare un file contenente registrazioni di componenti I/O di stringhe Funzioni di output Funzioni di input Domande & Risposte Esercizi Progetti di programmazione

13 Indice xvii Capitolo 23.Supporto per numeri e caratteri L header <float.h>: caratteristiche dei tipi a virgola mobile L header <limits.h>: dimensioni dei tipi interi L header <math.h> (C89): matematica Errori Funzioni trigonometriche Funzioni iperboliche Funzioni esponenziali e logaritmiche Funzioni di elevamento a potenza Funzioni di intero più vicino, valore assoluto e resto L header <math.h> (C99): matematica Lo standard floating point dell IEEE Tipi Macro Errori Funzioni Macro di classificazione Funzioni trigonometriche Funzioni iperboliche Funzioni esponenziali e logaritmiche Funzioni di elevamento a potenza e valore assoluto Funzioni di errore e gamma Funzioni per l intero più vicino Funzioni per il resto Funzioni di manipolazione Funzioni di massimo, minimo e differenza positiva Moltiplicazione e somma in virgola mobile Macro per i confronti L header <ctype.h> (C99): gestione dei caratteri Funzioni per la classificazione dei caratteri Testare le funzioni di classificazione dei caratteri Funzioni per il case-mapping Testare le funzioni di case-mapping L header <string.h> (C99): manipolazione delle stringhe Funzioni per la copia Funzioni per il concatenamento Funzioni di confronto Funzioni di ricerca Funzioni varie Domande & Risposte Esercizi Progetti di programmazione Capitolo 24 Gestione degli errori L header <assert.h>: diagnostica L header <errno.h>: errori

14 xviii Indice Le funzioni perror e strerror L header <signal.h>: gestione dei segnali Macro per i segnali La funzione signal Handler predefiniti per i segnali La funzione raise Testare i segnali L header <setjmp.h>: salti non locali Testare setjmp/longjmp Domande & Risposte Esercizi Capitolo 25 Internazionalizzazione L header <locale.h>: localizzazione Categorie La funzione setlocale La funzione localeconv Caratteri multibyte e wide character Caratteri multibyte Wide character Unicode e l Universal Character Set Codifiche per Unicode Funzioni di conversione tra caratteri multibyte e wide character Funzioni di conversione tra stringhe multibyte e stringhe wide character Digrafi e trigrafi Trigrafi Digrafi L header <iso646.h>: grafie alternative Universal Character Name (C99) L header <wchar.h> (C99): utilità per i multibyte estesi e i wide character Orientamento dello stream Funzioni di input/output formattato per i wide character Funzioni di input/output per i wide character Utilità generali per le stringhe wide Funzioni varie Funzioni wide character per la conversione degli orari Utilità per la conversione multibyte esteso/wide character Funzioni riavviabili di conversione tra stringhe multibyte e stringhe wide L header <wctype.h> (C99): utilità per la classificazione e la mappatura dei wide character Funzioni di classificazione dei wide character Funzioni estendibili di classificazione dei wide character Funzioni di mappatura dei wide character Funzioni estendibili per la mappatura dei wide character

15 Indice xix Domande & Risposte Esercizi Progetti di programmazione Capitolo 26 Funzioni di libreria L header <stdarg.h>: argomenti variabili Chiamare una funzione con un elenco variabile di argomenti Le funzioni v...printf Le funzioni v...scanf L header <stdlib.h>: utilità generali Le funzioni per le conversioni numeriche Testare le funzioni di conversione numerica Funzioni per la generazione di sequenze pseudo casuali Testare le funzioni per la generazione di sequenze pseudo casuali 712 Comunicazione con l ambiente Utilità per la ricerca e l ordinamento Determinare le miglia aeree Funzioni per l aritmetica intera L header <time.h>: data e ora Funzioni per la manipolazione delle ore Funzioni per la conversione delle ore Visualizzare la data e l ora Domande & Risposte Esercizi Progetti di programmazione Capitolo 27.Supporto aggiuntivo del C99 per la matematica L header <stdint.h> (C99): tipi interi Tipi <stdint.h> Limiti dei tipi interi con dimensione specificata Limiti per gli altri tipi interi Macro per le costanti intere L header <inttypes.h> (C99): conversione di formato dei tipi interi 737 Macro per specificatori di formato Funzioni per i tipi interi con la dimensione più grande Numeri complessi (C99) Definizione dei numeri complessi Aritmetica complessa Tipi complessi nel C Operazioni sui numeri complessi Regole di conversione per i tipi complessi L header <complex.h> (C99): aritmetica complessa Macro <complex.h> La direttiva pragma CX_LIMITED_RANGE Funzioni <complex.h> Funzioni trigonometriche

16 xx Indice Funzioni iperboliche Funzioni esponenziali e logaritmiche Funzioni per le potenze e il valore assoluto Funzioni di manipolazione Trovare le radici di un equazione quadratica L header <tgmath.h> (C99): matematica per tipi generici Macro per tipi generici Invocare una macro per tipi generici L header <fenv.h> (C99): ambiente in virgola mobile Flag di stato floating point e modi di controllo Macro <fenv.h> Direttiva pragma FENV_ACCESS Funzioni per le eccezioni floating point Funzioni per gli arrotondamenti Funzioni relative all ambiente Domande & Risposte Esercizi Progetti di programmazione Appendice A Operatori C Appendice B C99 e C89 a confronto Appendice C C89 e K&R C a confronto Appendice D Set di caratteri ASCII Appendice E Funzioni della libreria standard (disponibile on line, Bibliografia Indice analitico

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C... Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...

Dettagli

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C Sommario Introduzione... xv Organizzazione del volume... xv Argomenti...xvi Domande...xvi Verifiche...xvi Domande e risposte...xvi Esercizi...xvi Non è richiesta alcuna precedente esperienza di programmazione...

Dettagli

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di

Dettagli

Indice. Introduzione PARTE PRIMA LE BASI DEL C++: IL LINGUAGGIO C 1

Indice. Introduzione PARTE PRIMA LE BASI DEL C++: IL LINGUAGGIO C 1 Indice Introduzione XV PARTE PRIMA LE BASI DEL C++: IL LINGUAGGIO C 1 Capitolo 1 Una panoramica sul linguaggio C 3 1.1 Le origini e la storia del linguaggio C 3 1.2 Il C è un linguaggio di medio livello

Dettagli

La sintassi del C APPENDICE H

La sintassi del C APPENDICE H APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i

Dettagli

Lezione 19 e Allocazione dinamica della memoria - Direttive al preprocessore - Libreria standard - Gestione delle stringhe

Lezione 19 e Allocazione dinamica della memoria - Direttive al preprocessore - Libreria standard - Gestione delle stringhe Lezione 19 e 20 - Allocazione dinamica della memoria - Direttive al preprocessore - Libreria standard - Gestione delle stringhe Valentina Ciriani (2005-2008) Laboratorio di programmazione Valentina Ciriani

Dettagli

Sommario. Note alla traduzione... xix

Sommario. Note alla traduzione... xix Sommario Prefazione... xv L utilizzo del linguaggio C per insegnare a sviluppare programmi...xv Puntatori e organizzazione del testo...xvi Concetti di ingegneria del software...xvi Aspetti pedagogici...xvii

Dettagli

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLE APPLICAZIONI JAVA...

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLE APPLICAZIONI JAVA... Sommario PREFAZIONE... XI Lo scopo di questo libro... xi La metodologia di insegnamento... xiii L apprendimento attraverso il codice... xiii La programmazione orientata agli oggetti... xiii L accesso al

Dettagli

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript...

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript... SOMMARIO Prefazione... xi Panoramica del libro... xi Caratteristiche distintive...xii Aspetti qualificanti del libro...xii Browser Web da usare... xiii Ringraziamenti... xiii Da leggere prima di iniziare...xiv

Dettagli

Indice Introduzione I fondamenti di C#

Indice Introduzione I fondamenti di C# Indice Introduzione XV Capitolo 1 I fondamenti di C# 1 1.1 L albero genealogico di C# 2 C: l inizio dell era moderna della programmazione 2 La creazione di OOP e C++ 3 La nascita di Internet e Java 4 La

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili

Dettagli

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA PROGRAMMAZIONE DISCIPLINARE PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA 1. Competenze: le specifiche competenze di base disciplinari previste dalla

Dettagli

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3 Introduzione...vii Organizzazione del libro... viii Struttura del libro e convenzioni... ix Codice sorgente e progetti... x Compilare ed eseguire direttamente i listati e gli snippet di codice... x Compilare

Dettagli

C: panoramica - I parte

C: panoramica - I parte C: panoramica - I parte Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010

Dettagli

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)

Dettagli

Dati aggregati. Violetta Lonati

Dati aggregati. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture

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

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

Uso avanzato dei puntatori Allocazione dinamica della memoria

Uso avanzato dei puntatori Allocazione dinamica della memoria Uso avanzato dei puntatori Allocazione dinamica della memoria Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica)

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Compendio sottoinsieme del C++ a comune col C (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Librerie 1/2 Il solo insieme di istruzioni di un linguaggio di programmazione

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

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un

Dettagli

Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65

Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65 Indice Introduzione 15 1.1 - Un po di storia 15 1.2 - Le vecchie schede 18 1.3 - La filosofia open 23 L hardware 24 2.1 - La scheda Arduino UNO 24 2.1.1 - Avvertenze sull uso della scheda 27 2.2 - Il microcontrollore

Dettagli

L Allocazione Dinamica della Memoria

L Allocazione Dinamica della Memoria L Allocazione Dinamica della Memoria Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario Questo documento

Dettagli

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari Input/Output Lettura e scrittura Caratteri e Stringhe: Terminale e file Input/output console file caratteri stringhe formattato ascii binari Linguaggio ANSI C Input/Output - 1 La libreria standard del

Dettagli

Esercitazione 11. Liste semplici

Esercitazione 11. Liste semplici Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene

Dettagli

Prefazione. Capitolo 1 Sistemi di elaborazione 1

Prefazione. Capitolo 1 Sistemi di elaborazione 1 Prefazione XI Capitolo 1 Sistemi di elaborazione 1 1.1 Algoritmo 1 1.2 Esecuzione 3 1.3 Memoria 4 1.4 Calcolo meccanico 5 1.5 Capacità di calcolo 7 1.6 Computer 8 Domande di verifica 11 Esercizi 11 Capitolo

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

Preprocessore, linker e libreria standard

Preprocessore, linker e libreria standard Preprocessore, linker e libreria standard Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 IL PREPROCESSORE Programma sorgente

Dettagli

Introduzione alla programmazione in C++

Introduzione alla programmazione in C++ Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione

Dettagli

Il preprocessore. Direttiva define Direttiva include Direttiva if

Il preprocessore. Direttiva define Direttiva include Direttiva if Il preprocessore Direttiva define Direttiva include Direttiva if Il preprocessore Il preprocessore è un processore di testi che elabora il contenuto di un file sorgente prima della compilazione vera e

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma. Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 5 Struct, Union e allocazione dinamica della memoria Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;

Dettagli

IV Indice I comandi e la sintassi dei linguaggi formali Proposte di variazione sul tema Le stringhe Tipi di dato Operazioni co

IV Indice I comandi e la sintassi dei linguaggi formali Proposte di variazione sul tema Le stringhe Tipi di dato Operazioni co Indice Introduzione... IX A chi si rivolge questo libro...x Requisiti per la lettura...x Struttura del libro...x Presentazione dei capitoli...xi Programmi presentati nel libro... XII Credits... XII Software...

Dettagli

Informatica (A-K) 7. Linguaggio C - 1

Informatica (A-K) 7. Linguaggio C - 1 Storia del linguaggio C Informatica (A-K) 7. Linguaggio C - 1 Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Linguaggio C 1972, nato come evoluzione

Dettagli

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) gianfranco.rossi@unipr.it Indice 1 Introduzione

Dettagli

Linguaggio C - Array. Array: tipo nome_array[num_elementi]

Linguaggio C - Array. Array: tipo nome_array[num_elementi] Linguaggio C - Array Array: Gli array o vettori sono delle strutture dati in grado di contenere un insieme di valori tutti dello stesso tipo. Un array lo possiamo immaginare come un contenitore suddiviso

Dettagli

06AZN - Fondamenti di Informatica (GES, LOP, ORG) Esercitazione di laboratorio n. 8 (1/12/09)

06AZN - Fondamenti di Informatica (GES, LOP, ORG) Esercitazione di laboratorio n. 8 (1/12/09) La presente esercitazione presuppone conoscenza delle seguenti parti del linguaggio C: main, return, commenti, variabili, identificatori, tipi scalari, assegnazione, costanti letterali, printf (base),

Dettagli

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore

I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p

Dettagli

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O Il linguaggio C C O P Y R I G H T ( C ) 2 0 0 8 W W W. F O N D A M E N T I. I N F O P E R M I S S I O N I S G R A N T E D T O C O P Y, D I S T R I B U T E A N D / O R M O D I F Y T H I S D O C U M E N

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

Dettagli

Client - Interfaccia - Implementazione

Client - Interfaccia - Implementazione Client - Interfaccia - Implementazione Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Stringhe e allocazione dinamica della memoria

Stringhe e allocazione dinamica della memoria Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per

Dettagli

Indice. Introduzione PARTE PRIMA FONDAMENTI 1

Indice. Introduzione PARTE PRIMA FONDAMENTI 1 Indice Introduzione XV PARTE PRIMA FONDAMENTI 1 Capitolo 1 Che cos è Flash 3 1.1 Gerarchia temporale 4 Implicazioni relative ad animazioni e dimensioni del file 4 Implicazioni per la programmazione 6 Scelta

Dettagli

Sviluppare un programma in FORTRAN

Sviluppare un programma in FORTRAN Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,

Dettagli

Sommario. A proposito di A colpo d occhio 1. Novità e miglioramenti 5. Introduzione a Excel Ringraziamenti... xi Autore...

Sommario. A proposito di A colpo d occhio 1. Novità e miglioramenti 5. Introduzione a Excel Ringraziamenti... xi Autore... Sommario Ringraziamenti............................................ xi Autore................................................. xiii 1 2 3 A proposito di A colpo d occhio 1 Niente computerese!.....................................

Dettagli

1 PANORAMICA SUL LINGUAGGIO C

1 PANORAMICA SUL LINGUAGGIO C 1 PANORAMICA SUL LINGUAGGIO C 1.1 Le origini del linguaggio C Il C fu inventato e implementato da Dennis Ritchie negli anni 70 su una macchina che impiegava il sistema operativo Unix. Il C è il risultato

Dettagli

Introduzione a Matlab

Introduzione a Matlab INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi

Dettagli

Indice generale Introduzione...xiii Capitolo 1 Strumenti per sviluppare applicazioni...1

Indice generale Introduzione...xiii Capitolo 1 Strumenti per sviluppare applicazioni...1 Introduzione...xiii Applicazioni basate su spreadsheet... xiv Aggiornamento... xvi Sicurezza... xvi Tipi di applicazioni... xvi Pronto impiego... xvii Tabelle personali... xviii Applicazioni condivisibili...

Dettagli

Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore)

Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore) Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore) Macchina astratta: un linguaggio di programmazione trasforma un calcolatore in una macchina

Dettagli

Indice generale Prefazione...xiii Capitolo 1 Introduzione...1 Capitolo 2 Sviluppo del software, tipi di dati ed espressioni...31

Indice generale Prefazione...xiii Capitolo 1 Introduzione...1 Capitolo 2 Sviluppo del software, tipi di dati ed espressioni...31 Indice generale Prefazione...xiii Capitolo 1 Introduzione...1 1.1 Due concetti fondamentali dell informatica: algoritmi ed elaborazione delle informazioni... 2 1.1.1 Algoritmi... 2 1.1.2 Elaborazione delle

Dettagli

Fondamenti di Programmazione. Strutture di controllo

Fondamenti di Programmazione. Strutture di controllo Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due

Dettagli

Struct, enum, Puntatori e Array dinamici

Struct, enum, Puntatori e Array dinamici Struct, enum, Puntatori e Array dinamici Tratti dal corso del Dr. Francesco Fabozzi Corso di Informatica Tipi di dato in C Abbiamo esaminato diversi tipi di dato che il C mette a disposizione dell utente

Dettagli

Tipi di dato personalizzati Array di struct. Tipi di dato utente. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Tipi di dato personalizzati Array di struct. Tipi di dato utente. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. Array di Tipi di dato utente Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Array di Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione

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

La programmazione in linguaggio C

La programmazione in linguaggio C FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Gestione dinamica della memoria

Gestione dinamica della memoria Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Gestione dinamica della memoria Pietro Di Lena - pietro.dilena@unibo.it A pessimistic programmer sees the array as half empty.

Dettagli

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere

Dettagli

Anagrammando Proposte di variazione sul tema Cosa hai imparato

Anagrammando Proposte di variazione sul tema Cosa hai imparato Indice Introduzione... XI A chi si rivolge questo libro...xi Requisiti per la lettura...xi Struttura del libro... XII Presentazione dei capitoli... XIII Programmi presentati nel libro... XIV Credits...

Dettagli

Applicando lo stesso meccanismo al tipo puntatore, possiamo dichiarare un array di puntatori:

Applicando lo stesso meccanismo al tipo puntatore, possiamo dichiarare un array di puntatori: Le tabelle In C, dato un tipo di variabile, è possibile costruire un array di variabili di tale tipo usando la dichiarazione (facendo l esempio per il tipo float): float vettore[100]; Applicando lo stesso

Dettagli

Il linguaggio C. Caratteristiche generali

Il linguaggio C. Caratteristiche generali Il linguaggio C Caratteristiche generali Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni

Dettagli

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi

Dettagli

Librerie Stringhe. Librerie e stringhe. Lezione 9. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. 2015/2016

Librerie Stringhe. Librerie e stringhe. Lezione 9. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A. 2015/2016 e stringhe Lezione 9 Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2015/2016 Calendario delle lezioni Lezione 1 (7 e 9/10/2015) - Introduzione all ambiente Linux Lez. 2 (14 e 16/10/2015)

Dettagli

Programmazione con il linguaggio LibreOffice Basic

Programmazione con il linguaggio LibreOffice Basic Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software

Dettagli

Strutture Dati Dinamiche

Strutture Dati Dinamiche Strutture Dati Dinamiche Motivazioni Le variabili considerate fino a questo punto devono essere dichiarate staticamente, ossia la loro esistenza, il loro nome e la loro dimensione devono essere previsti

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto FUNZIONI E PROCEDURE http://www.diee.unica.it/giacinto/lab

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Esercitazione 12. Esercizi di Ricapitolazione

Esercitazione 12. Esercizi di Ricapitolazione Esercitazione 12 Esercizi di Ricapitolazione Esercizio Scrivere un programma che, dato un numero intero positivo, stampa la sua rappresentazione binaria. ALGORITMO Scriviamo una procedura stampa_bin che,

Dettagli

Introduzione alle stringhe e algoritmi collegati

Introduzione alle stringhe e algoritmi collegati Introduzione alle stringhe e algoritmi collegati Algoritmicamente August 15, 2009 1 Introduzione 1.1 Introduzione ai caratteri In informatica o più generalmente in una terminologia scientifica, il carattere

Dettagli

Indice. Introduzione PARTE PRIMA PRELUDIO: SERVIZIO CON SORRISO 1

Indice. Introduzione PARTE PRIMA PRELUDIO: SERVIZIO CON SORRISO 1 Indice Introduzione XIII PARTE PRIMA PRELUDIO: SERVIZIO CON SORRISO 1 Capitolo 1 Creazione di servizi Web 3 1.1 I servizi Web 3 Architetture distribuite basate su componenti 4 Come creare servizi Web 5

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

Linguaggio C. Vettori, Puntatori e Funzioni Stringhe. Università degli Studi di Brescia. Prof. Massimiliano Giacomin

Linguaggio C. Vettori, Puntatori e Funzioni Stringhe. Università degli Studi di Brescia. Prof. Massimiliano Giacomin Linguaggio C Vettori, Puntatori e Funzioni Stringhe Università degli Studi di Brescia Prof. Massimiliano Giacomin SCHEMA DELLA LEZIONE RELAZIONE TRA VETTORI E PUNTATORI (e le stringhe letterali come caso

Dettagli

$QDOLVLGHOSURJUDPPDTXDGUDWR

$QDOLVLGHOSURJUDPPDTXDGUDWR $QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =

Dettagli

Elementi del linguaggio di programmazione C

Elementi del linguaggio di programmazione C Elementi del linguaggio di programmazione C Violetta Lonati Università degli studi di Milano Dipartimento di Informatica PAS classe A042 Gennaio 2014 Violetta Lonati Elementi del linguaggio di programmazione

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012 Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli

<programma> ::= {<unità-di-traduzione>} <main> {<unità-di-traduzione>}

<programma> ::= {<unità-di-traduzione>} <main> {<unità-di-traduzione>} STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita nel modo seguente: ::= {} {} Intuitivamente un programma

Dettagli

Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.

Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

File binari e file di testo

File binari e file di testo I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file

Dettagli

Capitolo 2 Introduzione alla programmazione in C

Capitolo 2 Introduzione alla programmazione in C Capitolo 2 Introduzione alla programmazione in C Introduzione Un semplice programma C: Stampa di una linea di testo Un altro semplice programma C: Sommare due interi Concetti sulla Memoria Aritmetica in

Dettagli

Dal C al C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi

Dal C al C++ Corso di Linguaggi di Programmazione ad Oggetti 1. a cura di Giancarlo Cherchi Dal C al C++ Corso di Linguaggi di Programmazione ad Oggetti 1 a cura di Giancarlo Cherchi 1 Commenti Non aumentano la dimensione del programma eseguibile ma si rivelano utili per riassumere il comportamento

Dettagli

Java il Corso Fondamentale

Java il Corso Fondamentale Java il Corso Fondamentale Imparare a Programmare APP per Android, applicativi per Server e Desktop, applet e molto altro. IlTuoCorso - Ermes srl Via E.De Amicis 57 20123 Milano Il corso Ciao! Se desideri

Dettagli

TUTORATO di LINGUAGGI I

TUTORATO 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

Dettagli

Allocazione dinamica della memoria: calloc() Se T è il nomed di un tipo, la chiamata calloc(n, sizeof(t)) è equivalente a malloc(n * sizeof(t))

Allocazione dinamica della memoria: calloc() Se T è il nomed di un tipo, la chiamata calloc(n, sizeof(t)) è equivalente a malloc(n * sizeof(t)) Allocazione dinamica della memoria: malloc() In C è possibile allocare dinamicamente un area di memoria (ossia, durante l esecuzione di un programma) tramite le funzioni malloc() e calloc() (occorre includere

Dettagli

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

Dettagli

Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO

Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO Prima parte: le basi di Python 1. Introduzione. Cosa ci serve, cosa è richiesto, cosa faremo. Note sull'indentazione 1 Introduzione 1 Scrittura degli script: l'idle 2 Importare moduli in uno script 3 I

Dettagli

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata Puntatori int i = 10; int * pi = &i; pi i = 10 116 int * pi = pi contiene un informazione che mi permette di accedere ( puntare ) ad una variabile intera Un puntatore contiene un numero che indica la locazione

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti

Dettagli

Stringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche

Stringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche Fondamenti di Informatica T-1 modulo 2 Laboratorio 04: stringhe 1 Stringhe In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche terminatore

Dettagli

direttive del preprocessore simboli speciali parole chiave identificatori costanti

direttive del preprocessore simboli speciali parole chiave identificatori costanti 5) Elementi di C #include #define TF2TC main() { double tc, tf, offset, conv; offset = 32.; direttive del preprocessore simboli speciali parole chiave identificatori costanti #ifdef TF2TC conv

Dettagli