Introduzione al linguaggio C
|
|
- Lidia Mattioli
- 6 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Bari Corso di Laurea in Informatica Corso di Linguaggi di Programmazione Corso C, sedi Brindisi e Corigliano Introduzione al linguaggio C Pasquale Lops Stefano Ferilli Corrado Mencar Obiettivi del corso Fornire le conoscenze di base per la programmazione nel linguaggio C Confrontare i costrutti del linguaggio C con quelli del linguaggio Pascal Fornire gli elementi per sviluppare in C mediante l ambiente di sviluppo DEV-C++ Prerequisito: Conoscenza del Pascal 1
2 Testi consigliati Linguaggio C (ANSI C) II ed. B.W. Kernighan, D.M. Ritchie (Jackson) C Corso Completo di Programmazione H.M. Deitel, P.J. Deitel (Apogeo) Caratteristiche fondamentali del C Linguaggio imperativo Tra basso livello e alto livello Costrutti di alto livello tipo Pascal Cicli, selezioni, funzioni, etc. Leggibilità e manutenibilità dei programmi Costrutti di basso livello tipo Assembly Aritmetica degli indirizzi, enfasi sui puntatori, corrispondenza con le istruzioni macchina Efficienza dei programmi 2
3 Caratteristiche fondamentali del C Tipizzazione debole Controlli di tipo poco rigorosi Utile per la programmazione di basso livello Possibili effetti indesiderati Scarsa manutenibilità Portabilità Assicurata dallo standard ANSI Possibilità di sviluppare programmi non portabili Nutrito insieme di librerie standard Il C è case-sensitive Parole chiave in minuscolo Struttura di un programma Pascal C Main program Procedure Procedure Funzioni Funzioni Procedure Funzioni Funzione main Funzione Funzione 3
4 Struttura di un programma Pascal program nome-prog dich-tipi dich-variabili dich-procedure-efunzioni begin istruzioni end. C main() { istruzioni funzione-1 funzione-2 funzione-n Struttura di un programma Pascal Struttura nidificata Astrazione funzionale Apposita sezione dichiarativa Visibilità: l intera procedura/funzione Leggibilità, controllo C Struttura appiattita Funzioni paritarie Dichiarazioni sparse Visibilità: il blocco in cui sono dichiarate Efficienza in spazio 4
5 Il più semplice programma C abbreviazione per: main () { int main (void) { Le funzioni restituiscono per default un intero void Parola chiave per specificare l assenza di parametri o di risultato Funzioni Pascal function nome([var] arg: tipo,, [var] arg: tipo): tipo; dichiarazioni begin end; C tipo nome(tipo arg,, tipo arg) /* dichiarazioni nel corpo */ { Passaggio parametri riferimento o valore Valore di ritorno nome := valore Passaggio parametri valore Valore di ritorno return valore; 5
6 Tipi semplici Pascal Integer Real Boolean Char C int float, double -- char Modificatori di tipo Ampiezza char (8 bit) < short (16 bit) < int < long (32 bit) float < double < long double Possono coincidere con 1, 2 o 3 ampiezze diverse Segno signed/unsigned Applicabili a char e int Estensione del segno 6
7 Il pre-processore Direttive #include nomefile #include <nomeheader.h> Inclusione di file esterni I file di intestazione raccolgono dichiarazioni di costanti e funzioni definite in altri moduli #define NOME espansione Definizione di costanti simboliche Prima della compilazione tutte le occorrenze di NOME vengono sostituite da espansione Variabili - Costanti Pascal var id: tipo; Dichiarazione obbligatoria Globali se dichiarate nel programma principale Solo dichiarazione e non inizializzazione const id = valore; C tipo id [= valore]; Dichiarazione obbligatoria Globali se dichiarate fuori dalle funzioni Possibile inizializzazione const tipo id = valore; Costanti matematiche: <float.h> Costanti di piattaforma: <limits.h> 7
8 Costanti enumerative enum nome { ID [= valore],, ID [= valore] ; Valori non necessariamente distinti Valori progressivi dall ultimo specificato Se non specificato, il primo valore è 0 Nomi diversi in enumerazioni distinte Esempio enum mesi {GEN=1, FEB, MAR Istruzioni Pascal ; separatore Funzioni elementari predefinite I/O di base matematiche (* *), { C ; terminatore Nessuna funzione predefinita #include <stdio.h> #include <math.h> /* */ 8
9 Assegnamento Operatori aritmetici Pascal := var := var op espr var := var + 1 var := var - 1 C = var = var op espr var op = espr var++ ++var var-- --var +, -, * /, div mod +, -, * / % Operatori relazionali Operatori logici Pascal = <> <, <=, >, >= C ==!= <, <=, >, >= not and or! && 9
10 Puntatori &variabile Indirizzo in memoria di variabile Utilizzabile per il passaggio di parametri per riferimento *puntatore Valore contenuto all indirizzo di memoria puntatore * operatore di indirezione tipo *puntatore *puntatore è di tipo tipo, ossia puntatore è l indirizzo di un valore di tipo tipo Puntatori - Esempio int x = 1, y = 2, z[10]; int *ip; /* ip puntatore ad un intero */ ip = &x; /* ip punta ad x */ y = *ip; /* y vale 1 */ *ip = 0; /* x vale 0 */ ip = &z[0] /* ip punta a z[0] */ Esempi di costrutti validi: *ip = *ip + 10; y = *ip + 1; *ip += 1; ++*ip; (*ip)++ 10
11 Procedura di scambio di valori void swap(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp; Viene chiamata con i riferimenti: swap(&a, &b); I/O base Pascal write( ) writeln( ) read( ) C printf(, ) printf( \n, ) scanf(, ) 11
12 Funzioni di I/O base printf( formato, parametro,, parametro) scanf( formato, ¶metro,, ¶metro) formato è la stringa da stampare/leggere Possibilità di inserire caratteri speciali Segnaposto per i parametri da stampare/leggere Corrispondenza fra numero e tipo dei segnaposto e sequenza dei parametri Numero di spaziature ignorato in lettura Caratteri speciali Sequenze di escape \n a capo \t tab orizzontale \v tab verticale \b cancellazione \ doppi apici \ apice singolo \? punto interrogativo \\ barra rovesciata Segnaposto parametri %d decimale %i intero %f virgola mobile %e esponenziale %c carattere %s stringa %% stampa % 12
13 Programma di benvenuto #include <stdio.h> main () { printf( Salve, mondo\n ); #include <stdio.h> main () { printf( Salve, ); printf( mondo ); printf( \n ); Somma e media di due valori #include <stdio.h> main() { int a,b,s; printf( Inserisci due numeri interi:\n ); scanf( %d %d,&a,&b); s = a + b; printf( Somma = %d\tmedia = %f\n,s,s/2.0); 13
14 Sequenza Pascal begin end[;] C { Località delle variabili Selezione binaria Pascal if condizione then istruzione/sequenza [else istruzione/sequenza ] C if (condizione) istruzione/sequenza [else istruzione/sequenza ] condizione èuna espressione booleana condizione è un espressione che restituisce un numero intero Se il risultato è zero, la condizione è falsa, altrimenti è vera 14
15 Parità di un intero #include <stdio.h> main() { int n; printf("inserisci un intero: "); scanf("%d",&n); if (n % 2 == 0) printf("%d e' pari\n",n); else printf("%d e' dispari\n",n); Selezione multipla Pascal case espressione of valori: istruzione; valori: istruzione[; otherwise istruzione] end; C switch (espressione) { case costante: istruzione [break;] case costante: istruzione [break;] default: istruzione 15
16 Stampa numeri #include <stdio.h> main() { char n; printf("inserisci il numero 1 o 2: "); scanf("%d",&n); switch (n) { case 1: printf( Uno\n"); break; case 2: printf( Due\n"); break; default: printf( Numero non riconosciuto\n",n); Segno di un intero #include <stdio.h> main() { signed int n; printf("inserisci un intero: "); scanf("%d",&n); if (n > 0) printf("positivo\n"); else if (n < 0) printf("negativo\n"); else printf("nullo\n"); 16
17 Iterazione Pascal while condizione do istruzione C while (condizione) istruzione repeat istruzione until condizione-falsa do { istruzione while condizione-vera Conto alla rovescia #include <stdio.h> main() { int n = 10; while (n!= 0) { printf("%d\n",n); n--; printf( GO!\n"); 17
18 Inserimento di valori negativi #include <stdio.h> main() { signed int n; do { printf("inserisci un intero negativo: "); scanf("%d",&n); while (n >= 0); Iterazione Pascal for ind := inf to sup do istruzione; ind := inf; while ind <= sup do begin istruzione; ind := ind + 1 end; C for (espr1; espr2; espr3) istruzione espr1; while espr2 { istruzione; espr3; 18
19 Calcolo dei primi n numeri dispari #include <stdio.h> main() { int n; printf( Quanti numeri devo generare?\n ); scanf( %d,&n); for(int i=0; i<n; i++) printf( %6d.%10d\n,i+1,2*i+1); Vettori Pascal var: array[dim] of tipo; C tipo var[[dim]] [= {val,, val]; Indici enumerativi Intervallo a piacere Indici interi Partono sempre da 0 In C var &var[0] Accesso: variabile[ind] Accesso: variabile[ind] 19
20 Vettori multidimensionali Pascal var: array[dim,,dim] of tipo C tipo var[[dim]] [[dim]] [= {{val,, val,, {val,, val] Accesso: var[ind,,ind] Accesso: var[ind] [ind] Strutture Pascal variabile: record id: tipo; id: tipo; end; Accesso: variabile.id C struct [nome] { tipo id; tipo id; [variabile = {val,, val]; Accesso: variabile.id 20
21 Strutture p Puntatore a struttura *p Contenuto della struttura (*p).el abbreviato in p->el Elemento della struttura Definizione di nuovi tipi typedef tipo Nome; Semplici sinonimi di tipi esistenti Possibilità di dare un nome a tipi complessi Interpretata dal compilatore (a differenza della #define) Parametrizzazione di programmi (portabilità) Significatività dei nomi (documentabilità) 21
22 Forzatura di tipi (tipo) espressione Operatore di Cast Forzatura di un valore ad un tipo Il tipo deve essere compatibile col valore Input & Output (I/O) Gestione dell I/O tramite funzioni delle librerie standard Input e Output realizzato attraverso flussi Flusso (stream) = sequenza ordinata di byte FILE = sorgente o destinazione di un flusso Un FILE in C può essere: Un file del sistema operativo Una periferica (tastiera, monitor, stampante, etc.) 22
23 Flussi standard stdin (standard input) Flusso di dati proveniente dalla tastiera Lettura del flusso con la funzione scanf( ) stdout (standard output) Flusso di dati verso lo schermo Scrittura del flusso mediante printf( ) stderr (standard error) Flusso di dati verso una periferica per la notifica di errori Spesso stdout = stderr Libreria per l uso dei flussi standard: stdio.h I formati di file Testuale File definito da linee di caratteri stampabili, separate da newline ( \n ) Esempi: documenti di testo (txt), codice sorgente Binario File definito da qualunque sequenza di byte Esempi: immagini, file eseguibili, etc. 23
24 La gestione dei flussi Struttura dati FILE Definita nella libreria stdio.h Contiene le informazioni necessarie all accesso (lettura e/o scrittura) ad un flusso Di norma, non si accede direttamente alle informazioni contenute nella struttura, ma essa viene passata come parametro nelle funzioni per l I/O Apertura e chiusura di file Aprire un file = abilitare un flusso di dati Esempio in C: FILE* fp; fp = fopen(nomefile, mode); Modalità di apertura (mode) r : lettura da file testuale w : scrittura di nuovo file testuale a : scrittura (append) su file testuale esistente r+ : lettura/scrittura su file testuale esistente rw : lettura/scrittura su nuovo file mode+ b (es. wb ): accesso a file binario Chiusura di un file = disabilitare un flusso di dati fclose(fp); 24
25 Lettura e scrittura per caratteri char fgetc(file*) Legge un carattere da un flusso fputc(char, FILE*) Scrive un carattere in un flusso feof(file*) Verifica se un flusso è terminato o no Vale per tutti i tipi di flusso Lettura e scrittura per linee di testo char* fgets(char* s, int n, FILE* stream) Legge una linea di testo (cioè fino alla prossima newline) e la memorizza in s. Il numero massimo di caratteri che possono essere letti è stabilito da n fputs(char* s, FILE* stream) Scrive una linea in un testo 25
26 Lettura e scrittura formattata fscanf(file* f, char* format, vars) Legge dal file testuale f e valorizza le variabili in vars secondo il formato specificato in format Esempio: fscanf(f, %d %c, &v1,&v2) legge da f un decimale (%d) che memorizza in v1 e un carattere (%c) che memorizza in v2 fprintf(file* f, char* format, vars) Scrive nel file f la stringa specificata nel formato con i valori delle variabili specificate Esempio: fprintf(f, %d %c, v1, v2) scrive in f i valori di v1 e v2 separati da uno spazio. Altre modalità di lettura e scrittura Per blocchi (file testuali) fread / fwrite Utili per la lettura/scrittura di record Accesso diretto fseek / ftell 26
27 La libreria standard assert.h Gestione delle asserzioni. Utile per verificare la correttezza semantica dei programmi ctype.h Gestione dei caratteri Riconoscimento di categorie di caratteri (p.e. maiuscole, minuscole, cifre, punteggiatura, etc.) Trasformazioni di caratteri (p.e. minuscolo maiuscolo) La libreria standard limits.h Dimensioni dei tipi di dati dipendenti dall implementazione math.h Funzioni matematiche complesse stdio.h Funzioni per l input e l output 27
28 La libreria standard stdlib.h Funzioni di utilità generale (p.e. generazione di numeri pseudo-casuali, conversione da testo a numeri, etc.) string.h Gestione delle stringhe di testo (copia, concatenazione, confronto, etc.) time.h Gestione delle informazioni temporali 28
Linguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliIntroduzione al C. Stream e disk file
Introduzione al C Stream e disk file Stream Un canale è una sequenza di byte di dati Sorgente o destinazione di dati che possono essere associati ad un disco o ad altre periferiche Due tipi di stream:
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliL accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione.
I file L accesso ai dispositivi esterni (tastiera, monitor, file,...) viene gestito mediante canali di comunicazione. I canali, sono delle strutture dati che contengono informazioni sul dispositivo fisico,
DettagliGestione dei File. dischi nastri cd
Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliStruttura dati FILE. Concetto di FILE
Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file
DettagliIntroduzione 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
DettagliI file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti
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?
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliFondamenti di Informatica T. Linguaggio C: File
Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.
DettagliGestione dei file. Linguaggio ANSI C Input/Output - 13
Gestione dei file Necessità di persistenza dei file archiviare i file su memoria di massa. Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni
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
Dettagligiapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie
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,
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)
DettagliSULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI
SULL USO DEI CARATTERI Ricordiamo che: int x; si legge con ( %d,&x) e si stampa con ( %d,x) float x; si legge con ( %f,&x) e si stampa con ( %f,x) double x;si legge con ( %lf,&x) e si stampa con ( %f,x)
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)
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliFondamenti 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
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)
DettagliLP1 Lezione 13: i File in C. Maurizio Tucci
LP1 Lezione 13: i File in C Maurizio Tucci mtucci@unisa.it 1 Il File: Dichiarazione Memorizzare dati in maniera non volatile In C (libreria ) è definito un tipo FILE che astrae il concetto di sequenza
DettagliAlfabeto ed elementi lessicali del linguaggio C
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2015-2016 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n
DettagliEsercitazione 5. Procedure e Funzioni Il comando condizionale: switch
Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case
DettagliI File. Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa.
I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un
DettagliProgramma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3 - indirizzo MERCURIO A.S. 2009/2010 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
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
DettagliEsercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf
Riassunto Esercitazione 3 Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Sono state introdotte anche le seguenti relazioni: uguaglianza:
DettagliIntroduzione alla programmazione. Walter Didimo
Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata
DettagliDOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII
Gestione dei files DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/
Dettagli---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero
---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi
DettagliSommario. 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
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Linguaggi di Programmazione Sintassi e semantica Compilatori, interpreti e il linker Introduzione al C La funzione main del C 2 Definizione 1 Un linguaggio è un insieme di parole
DettagliUniversità degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto
Il Pascal (continua) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Le procedure! Spesso, soprattutto
DettagliProgramma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3M - indirizzo MERCURIO A.S. 2010/2011 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliDispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
DettagliPIANO DI LAVORO. a.s. 2015 / 2016
PIANO DI LAVORO a.s. 2015 / 2016 Materia: INFORMATICA Classe: terza informatica- sez. A Data di presentazione: 15/10/2015 DOCENTI FIRMA Cerri Marta Bergamasco Alessandra Posta elettronica: itisleon@tin.it
DettagliAppunti di Informatica 1. Gianluca Rossi
Appunti di Informatica 1 Gianluca Rossi Versione maggio 2011 Indice 1 Algoritmi, macchine e linguaggi di programmazione 3 1.1 La macchina di Von Neumann........................ 5 1.2 Dal linguaggio macchina
DettagliUD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
Dettaglilinguaggio di programmazione e programma
I/O bus CPU memoria elementi di Sistemi Informatici il segnale digitale: conversione analogico-numerica esempi di supporti di memorizzazione dell informazione computer: definizione e struttura (modello
DettagliSono file di caratteri, organizzati in linee. Ogni linea e` terminata da una marca di fine linea (newline, cara ttere '\n').
I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa. Consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale. Generalmente un
DettagliArray multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
DettagliLe Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
DettagliManipolazioni elementari di flussi di testo strutturati
Manipolazioni elementari di flussi di testo strutturati L output di molti comandi è costituito da flussi di testo strutturati: ogni riga rappresenta una parte del risultato ed è divisa in campi (fields)
DettagliFILE BINARI FILE BINARI
FILE BINARI Un file binario è una pura sequenza di byte, senza alcuna strutturazione particolare È un'astrazione di memorizzazione assolutamente generale, usabile per memorizzare su file informazioni di
DettagliCorso di Fondamenti di Informatica Classi di istruzioni 2
Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
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
DettagliESAME DI FONDAMENTI DI INFORMATICA I ESAME DI ELEMENTI DI INFORMATICA. 28 Gennaio 1999 PROVA SCRITTA
28 Gennaio 1999 PROVA SCRITTA Esercizio 1 Un elaboratore rappresenta numeri interi in complemento a due su 8 bit e numeri reali in utilizzando un byte per la mantissa normalizzata e un byte per l esponente
DettagliIntroduzione al Linguaggio C ed all IDE DEV-C++
Microsoft Windows e Dev-C++ Introduzione al Linguaggio C ed all IDE DEV-C++ 1 Le Esercitazioni in Laboratorio! MTA + MLAB1/2: Edificio Via Valotti, primo piano e piano interrato! Orario: Giovedì 14:30-17:30!
DettagliLA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
DettagliLabVIEW parte II. Ing. Gianfranco Miele November 3, 2010
Ing. Gianfranco Miele (g.miele@unicas.it) http://www.docente.unicas.it/gianfranco_miele November 3, 2010 Le stringhe Una stringa è una sequenza di caratteri Ogni carattere ha una corrispondente codifica
Dettagli3. La sintassi di Java
pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer
DettagliUnità 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. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
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
DettagliVISUAL BASIC FOR APPLICATION
VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia
DettagliSTRINGHE: ARRAY DI CARATTERI! a p e \0
STRINGHE: ARRAY DI CARATTERI! Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più
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
DettagliStrutture Dinamiche. Fondamenti di Informatica
Strutture Dinamiche Fondamenti di Informatica 1 Indice Allocazione e de-allocazione di memoria Liste e loro gestione Companies, srl 2 Allocazione e cancellazione di memoria malloc (sizeof (TipoDato));
DettagliLe funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni
Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica
DettagliEsercizio 1: calcolo del massimo di una sequenza (versione 1)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 2 Esercitazione: 12 ottobre 2005 Primi esercizi in C Esercizio 1: calcolo del massimo di una sequenza (versione 1) Si legga
DettagliUn esempio di if annidati
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di
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
DettagliConsideriamo un vettore allocato dinamicamente
Libreria per per la la gestione/manipolazione dei dei vettori Consideriamo un vettore allocato dinamicamente int * v; v = (int *) malloc (n * sizeof (int) ); Conversione di tipo da void * a int * Numero
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice
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
DettagliPROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico
ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI
DettagliCARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe
CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe Caratteri e stringhe Caratteri Sono i blocchi costitutivi di ogni programma:
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)
DettagliDati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi
Tipi di dato testuali Caratteri Stringhe Caratteri e stringhe 5 Tipi di dato testuali I programmi visti finora erano in grado di elaborare esclusivamente informazioni numeriche Numeri eri (), numeri reali
DettagliAPPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL
APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione
DettagliFondamenti di Informatica. Tecniche di input/output per l'accesso ai file
Corso di per il corso di Laurea di Ingegneria Meccanica Tecniche di input/output per l'accesso ai file Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'importanza
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
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliAPPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014
APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 20.VI.2014 VINCENZO MARRA Indice Esercizio 1 1 Leggere stringhe e caratteri 1 Esercizio 2 2
DettagliStrutturare il codice: sottoprogrammi
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Motivazioni Alcuni problemi si presentano frequentemente durante lo sviluppo di un programma
DettagliII Esercitazione: S.O. & Fortran 77
II Esercitazione: S.O. & Fortran 77 Francesco Battista Corso di Calcolo Numerico 1 DIMA, Sapienza University of Rome, Italy February 9, 2014 Argomenti trattati 1 Brevi cenni sulle architetture informatiche
DettagliEsercitazione 3. Espressioni booleane I comandi if-else e while
Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if
DettagliLa programmazione nel linguaggio C
3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi
DettagliLinguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi
Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori
DettagliLinguaggio C: introduzione
Linguaggio C: introduzione Il linguaggio C è un linguaggio general purpose sviluppato nel 1972 da Dennis Ritchie per scrivere il sistema operativo UNIX ed alcune applicazioni per un PDP-11. Il linguaggio
DettagliOTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C
CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files
DettagliStrutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
DettagliISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++
ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è
DettagliLIA. LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L
LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L Corso di laurea in Ingegneria Chimica - Anno Accademico 2007-2008 Funzioni Esercizio 3.3 Si scriva un programma in linguaggio
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
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)
DettagliLinguaggio C. Fondamenti. Struttura di un programma.
Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione
DettagliMATLAB: FILES. Informatica B/C - A.A. 2013/2014
MATLAB: FILES Informatica B/C - A.A. 2013/2014 I FILE Contenitori di informazione: sequenze di byte associate ad un nome Sono memorizzati su memoria di massa (non-volatile) Possono continuare ad esistere
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
Dettagli06AZN - 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),
DettagliESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015
COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: [3 punto] Rappresentare i numeri 36 e 91 (in base 10) in notazione binaria
Dettagli(1) - - (4) R4 = R7 * R7 (4) (2) (3) 5 - (4) rinviata perché in WAW con (3) 6 (3) e (4) ritirabili ma attendono il completamento di (2) (2) (3) (4)
Esercizio 1 (20%) Si assuma di avere una macchina con 10 registri ufficiali (da R0 a R9) e sufficienti registri segreti in grado di avviare 2 istruzioni per ciclo di clock. Tale macchina richiede 2 cicli
DettagliIstruzioni iterative. Istruzioni iterative
Istruzioni iterative Esempio: Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d",
DettagliInformatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza
Dettagli