Un esempio per cominciare

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Un esempio per cominciare"

Transcript

1 Vs ANSI Almerico Murli- a.a. 2003/ Un esempio per cominciare La somma di 3 numeri PROGRAM SOMMA; VAR A,B,,d:REAL; BEGIN (* Inizializzazione di A,B, *) READLN(); A:=5.; B:=7.; (* alcolo della somma tra A,B e *) d:=a+b+; (* Stampa del risultato *) WRITELN ( SOMMA=,d); END. #include <stdio.h> main() { /* inzio */ float a,b,,d; /* Inizializzazione di a, b, c */ scanf( %f,& ); a=5.; b=7.; /* alcolo della somma tra a,b e */ d=a+b+; printf( SOMMA= %f \ n,d); /* Stampa del risultato*/ } /* fine */ Almerico Murli- a.a. 2003/2004 2

2 Inizio e fine di un programma L inizio di un programma è determinato da BEGIN La fine di un programma è determinata da END. L inizio di un programma è determinato dalla prima parentesi { La fine di un programma è determinata dall ultima parentesi } main( ) { /* inizio */ } /* fine */ Almerico Murli- a.a. 2003/ Regole sintattiche Possibilità di scrivere più istruzioni sulla stessa linea; Non c e differenza tra lettere minuscole o maiuscole. Possibilità di scrivere più istruzioni sulla stessa linea; è differenza tra lettere minuscole e maiuscole. Almerico Murli- a.a. 2003/2004 4

3 I ommenti (* Inizializzazione di A, B,, d *) (* Inizializzazione di A, B,, d *) La linea di commento è racchiusa tra ( * *) oppure { } /* Inizializzazione di a, b, */ /* Inizializzazione di a, b, */ La stringa di caratteri di un commento è racchiusa tra /* */ Almerico Murli- a.a. 2003/ Dichiarazioni delle variabili VAR A,B, : REAL; VAR A,B, : REAL; VAR I,J : INTEGER; VAR I,J : INTEGER; float a,b,,d; float a,b,,d; int a,b,,d; int a,b,,d; Almerico Murli- a.a. 2003/2004 6

4 Operazioni di I/O WRITELN( SOMMA=,); Le operazioni di I/O sono eseguite da istruzioni READ();, READLN(); WRITE();,WRITELN( ); printf( SOMMA= %f \n,c); printf( SOMMA= %f \n,c); Le operazioni di I/O sono eseguite da funzioni di libreria scanf( ); printf( ); Almerico Murli- a.a. 2003/ Assegnazioni A:=5; A:=5; L operazione di assegnazione si effettua attraverso l operatore := a=5; a=5; L operazione di assegnazione si effettua attraverso l operatore = Almerico Murli- a.a. 2003/2004 8

5 : Utilizzo degli header file Prima dell istruzione main() e presente una direttiva del tipo: #include file.h Per eseguire Operazioni di I/O Per utilizzare Funzioni Matematiche Gestione Stringhe... file.h contiene: specifiche di funzioni; definizioni di strutture di dati; definizioni di parametri;... #include<stdio.h> #include<math.h> #include<string.h> Almerico Murli- a.a. 2003/ stdio.h int scanf( const char *format,.) Lettura da tastiera; int fscanf(file *strean, const char *format, ) lettura da file ; int printf(const char *format,.) int fprintf(file *strean, const char *format, ) FILE *fopen ( cont char *filename, cost char *mode) FILE *fclose ( FILE * stream ) Stampa a video; Stampa su file; Apertura file; hiusura file; Almerico Murli- a.a. 2003/

6 math.h Gli argomenti x ed y sono di tipo double, n è di tipo int e tutte le funzioni restituiscono un double. double sin( x) seno di x; double cos(x) coseno di x; double tan(x) tangente di x; double exp(x) funzione esponenziale e x ; double log(x) logaritmo naturale ln(x), con x>0; double log10(x) logaritmo in base 10 log(x), con x>0; double pow(x,y) potenza x y ; double sqrt(x) radice quadrata di x, con x>0; Almerico Murli- a.a. 2003/ : operazioni a basso livello 1. Operazioni dirette sui bit 2. Accesso agli indirizzi delle variabili. Almerico Murli- a.a. 2003/

7 Problema Verificare se un numero naturale e PARI o DISPARI PROGRAM PARDIS; VAR N,RESTO : INTEGER; BEGIN WRITELN( inserisci numero ); READLN(N); RESTO:=N-(N DIV 2)*2; IF RESTO = 0 THEN WRITELN( NUMERO PARI ) ELSE WRITELN( NUMERO DISPARI ); END. 1 addizione + 2 molt. #include <stdio.h> main() { int n,resto; printf( inserisci numero\ n ); scanf( %d,&n); resto= n & 1; if(resto==0) { printf( numero pari\n );} else { printf( numero dispari\n );} } 1 confonto bit a bit. Almerico Murli- a.a. 2003/ Operatore & Regole di composizione dell operatore & & ESEMPIO 1 (a & 1) a=65 10 = a & 1 = & 1 10 = = a & 1 = 1 ESEMPIO 2 (a & b) a=40 10 = a & b = & b=34 10 = = a & b = Almerico Murli- a.a. 2003/ =

8 Qual è il vantaggio di eseguire un operazione bit a bit? Almerico Murli- a.a. 2003/ La somma di due numeri con mantissa costituita da n bit richiede: 2n confronti Se T confronto = µ e il tempo necessario per un confronto, allora: T addizione 2n µ Il tempo per eseguire un prodotto e sicuramente maggiore di quello per un addizione T prodotto T addizione T addizione +2 T prodotto > nt confronto =n µ T addizione +2 T prodotto > nt confronto =n µ Almerico Murli- a.a. 2003/

9 In particolare Nell esempio,n & 1 equivale al resto della divisione di N per 2 R:=N-(N/2)*2; Il resto della divisione per 2 e il bit meno significativo 0 se il numero e pari 1 se e dispari Es. n=12 10 = r = n & 1 = & = Es. n=13 10 = r = n & 1 = & = r = n & 1 ; & AND bit a bit Almerico Murli- a.a. 2003/ ALTRE OPERAZIONI bit a bit Divisione di un numero intero N per 2 N := N/2; dividere per due significa spostare di un posto verso destra la rappresentazione binaria Es. n=13 10 = n/2=6 10 = n>>1 ; >> SHIFT verso destra Moltiplicazione di un numero intero N per 2 R := N * 2; Moltiplicare per 2 significa spostare di 1 posto verso sinistra la rappresentazione binaria Es. n=13 10 = n * 2= * = =26 10 inv << 1; << SHIFT verso sinistra Almerico Murli- a.a. 2003/

10 : Operatori sui bit & >> << ^ ~ and shift a destra shift a sinistra or inclusivo or esclusivo complemento a 1 si utilizzano solo con operandi di tipo intero e carattere Almerico Murli- a.a. 2003/ OSSERVAZIONE RESTO:= N- (N DIV 2) * 2 RESTO:= N- (N DIV 2) * 2 Bisogna utilizzare l operatore DIV per effettuare la divisione tra interi l operatore / si utilizza per effettuare la divisione reali /* Inizializzazione di a, b, */ /* Inizializzazione di a, b, */ l operatore / si utilizza per effettuare la divisione di variabili di QUALSIASI tipo Almerico Murli- a.a. 2003/

11 ( Operatori sui bit ) ( Puntatori ) Almerico Murli- a.a. 2003/ Memorizzazione di un dato di tipo intero Indirizzi In Memoria y = 2 x = 3 t = Almerico Murli- a.a. 2003/

12 Memorizzazione di un dato di tipo reale ESEMPIO z = (.1172x10 2 ) 2= ( x ) Segno della mantissa Segno dell esponente Indirizzi In Memoria x = t = z =.1172x10 2 h = x q =.8x10 1 Almerico Murli- a.a. 2003/ I PUNTATORI DEFINIZIONE Il Il puntatore e e una variabile che contiene l indirizzodi di un altra variabile Indirizzi In Memoria x = 0 3 z =.1172x t = 17 h = x p = 8 Almerico Murli- a.a. 2003/

13 ESEMPI x = 3 variabile di tipo intero x = 3 variabile di tipo intero x Indirizzo Px contiene l indirizzo di x Px contiene l indirizzo di x Px z variabile di tipo floating-point z variabile di tipo floating-point z Indirizzo Pz contiene l indirizzo di z Pz contiene l indirizzo di z Pz Almerico Murli- a.a. 2003/ OME SI DIHIARA UN PUNTATORE? type pointer =^integer; var p : pointer; p e e un puntatore ad una variabile intera. type pointer =^real; var p : pointer; p e e un puntatore ad una variabile reale. int *p p e e un puntatore ad una variabile intera. float *p p e e un puntatore ad una variabile float. Almerico Murli- a.a. 2003/

14 In Pascal e e possibile accedere alle variabili attraverso il il loro indirizzo. In e e possibile accedere alle variabili attraverso il il loro indirizzo e conoscere l indirizzo stesso. Almerico Murli- a.a. 2003/ OME SI DEFINISE UN PUNTATORE in? L istruzione: p = &x; assegna l indirizzo di x alla variabile puntatore P (P punta a x) In memoria: X P Almerico Murli- a.a. 2003/

15 In particolare. Esempio... int x,*p; p=&x; /*Assegnazione dell indirizzo di x a p */ *p=3; /* L istruzione assegna il valore 3 alla variabile x puntata da p */... p x Indirizzi di Memoria 100 (P punta a x) Almerico Murli- a.a. 2003/ Operatori sui bit Puntatori Allocazione dinamica Almerico Murli- a.a. 2003/

16 Utilizzo degli array PROGRAM XXXX; BEGIN type vet = array[1..n] of integer; puntvet = ^vet; var a : puntvet; var n,x,i : integer; READLN(N); READLN(x); new(a); for i:=1 to n do a(i)= x *i;... despose(a) END. #include <stdio.h> main() { int *a,n,x,i; scanf( %d,&n); scanf( %d,&x); a=(int*)malloc(n*sizeof(int)); for (i=0; i<n; i++) { a[i]= x * i; }... free(a); } Se n = 4 Utilizzo solo solo della memoria necessaria le le dimensioni di di un un arraysono stabilite in in runtime Almerico (ALLOAZIONE Murli- a.a. 2003/2004DINAMIA) 31 In ed in in è possibile allocare dinamicamentela la memoria Almerico Murli- a.a. 2003/

17 Allocazione dinamica in (cont.) type vet = array[1..n] of integer; puntvet = ^vet; var a : puntvet; readln(n); new(a); Numero delle locazioni di memoria da allocare n a Puntatore all area di memoria Almerico Murli- a.a. 2003/ Allocazione dinamica in (cont.) int *a; a = (int *) malloc (n * sizeof(int)); Lunghezza in byte di ciascuna locazione Numero delle locazioni di memoria da allocare n sizeof(int) a Puntatore all area di memoria Almerico Murli- a.a. 2003/

18 Per deallocare un puntatore dispose(p); La memoria puntata da p e e libera. free(p) La memoria puntata da p e e libera. Almerico Murli- a.a. 2003/ FINE LEZIONE Almerico Murli- a.a. 2003/

19 Problema Dati 2 array di ordine N scambiare il loro contenuto F77 PROGRAM SAMBIO INTEGER A(50),B(50),TMP... DO 10 i=1,50 TMP=A(i) A(i)=B(i) B(i)=TMP 10 ONTINUE... N SAMBI!! #include <stdio.h> main() { int a[50],b[50],*tmp,*pa,*pb;... /* pa e pb contengono indirizzo del primo elemento di a di b */ pa=&a[0]; pb=&b[0]; /* scambio di indirizzi */ tmp=a; a=b; b=tmp;... 1 SAMBIO } Almerico Murli- a.a. 2003/ In memoria. pa = &a[0] pa a[0] a[1] a[49] pb = &b[0] pb b[0] b[1] b[49] Almerico Murli- a.a. 2003/

20 Lo scambio. pa a[0] a[1] a[49] pb b[0] b[1] b[49] Dopo lo lo scambio :: pb pb contiene l indirizzo di di a[0] pa pa contiene l indirizzo di di b[0] Almerico Murli- a.a. 2003/ aratteristiche principali del Linguaggio Operatori sui bit I Puntatori Allocazione dinamica Ricorsione Almerico Murli- a.a. 2003/

21 La Ricorsione Una funzione si si dice ricorsiva se, assegnato un un valore iniziale, il il proprio valore in in ogni un un punto, si si definisce a partire dal valore precendete a oo se se n=0 a n n =f(a n-1 n-1 ) se se n 0 Almerico Murli- a.a. 2003/ F77 INTEGER FUNTION FATT(N) INTEGER N FATT==1 5 DO 10 i=2,n FATT=FATT*I 5 ONTINUE RETURN Non e possibile implementare moduli che richiamano se stessi; la ricorsione viene simulata con l iterazion RESTRIZIONI ALL USO DELLA RIORSIONE Problema: alcolo del fattoriale (N!) Factorial(n) int n; { if( n==1) return 1; return n*factorial(n-1); } E possibile che una function richiami se stessa direttamente o indirettamte. IMPLEMENTAZIONE NATURALE DELLA RIORSIONE Almerico Murli- a.a. 2003/

22 La Ricorsione Factorial (n) n * Factorial (n-1) Factorial (n-2) Factorial (n-3) altrimenti Almerico Murli- a.a. 2003/ In è possibileavere informazioni sull indirizzo delle variabili in memoria. In è possibile lavorare a basso livello attraverso i puntatori Almerico Murli- a.a. 2003/

23 In memoria In memoria a[0] a[1] a[2] x = *pa y = *(pa + 1) x y Almerico Murli- a.a. 2003/ F 77 PROGRAM SOMMA REAL A(10), B(10),(100) INTEGER n,x,i N=5 X=10 DO 5 I=1,N A(I) =X*I B(I)=X+I 5 ONTINUE DO 10 I=1,N (I)=A(I)+B(I) WRITE(*,*), (I) 10 ONTINUE STOP END Problema: somma di due vettori #include <stdio.h> main() { float a[10];b[10],c[10]; int i,n,x; n=5; x=10; for(i=0; i<n; i++) { a[i]=x*i; b[i]=x+i; } for(i=0; i<n; i++) { c[i]=a[i]+b[i]; printf( %f \n,c[i]); } STESSO UTILIZZO DELLA MEMORIA PER GLI ARRAY (ALLOAZIONE STATIA) } Almerico Murli- a.a. 2003/

24 Allocazione statica degli array F77 REAL A(10), B(10),(100) A(1) A(10) gli indici iniziano per default da 1 float a[10],b[10],c[10]; a[0] a[9] gli indici iniziano per default da 0 Almerico Murli- a.a. 2003/ OME SI DEFINISE UN PUNTATORE IN? L istruzione in fase dichiarativa: P^ = x; assegna l indirizzo di x alla variabile puntatore P In memoria: (P punta a x) X P Almerico Murli- a.a. 2003/

25 PROGRAM XXXX; Type vet=array[1..100] of integer; VAR n,x: INTEGER; Var a : vet; Begin READLN(n); READLN(x); for i:=1 to n A(i)= x *i end Sprecodi di locazioni di di memoria!!!!!! Utilizzo degli array Se n = 4 #include <stdio.h> main() { int *a,n,x,i; scanf( %d,&n); scanf( %d,&x); a=(int*)malloc(n*sizeof(int)); for (i=0; i<n; i++) { a[i]= x * i; }... } Utilizzo solo solo della memoria necessaria le le dimensioni di di un un arraysono stabilite in in runtime (ALLOAZIONE DINAMIA) Almerico Murli- a.a. 2003/ Array e puntatori Il nome di un array e l indirizzo della prima componente Il nome di un array e l indirizzo della prima componente int a[50]; int *pa; pa = & a[0]; /* Definizione di pa */ pa a[0] a[1] a[49] pa contiene l indirizzo del primo elemento di a Almerico Murli- a.a. 2003/

Un esempio per cominciare. Inizio e fine di un programma. La somma di 3 numeri PASCAL ANSI C. Regole sintattiche

Un esempio per cominciare. Inizio e fine di un programma. La somma di 3 numeri PASCAL ANSI C. Regole sintattiche Un esempio per cominciare La somma di 3 numeri Vs ANSI PROGRAM SOMMA; VAR A,B,,d:REAL; BEGIN (* Inizializzazione di A,B, *) READLN(); A:5.; B:7.; (* alcolo della somma tra A,B e *) d:a+b+; (* Stampa del

Dettagli

INTRODUZIONE AL LINGUAGGIO C

INTRODUZIONE AL LINGUAGGIO C INTRODUZIONE AL LINGUAGGIO C Problema: Somma di 2 numeri In PASCAL-LIKE begin Somma { dichiarazione delle variabili var: a,b,c: reali { inizializzazione di a e b a:=5. b:=7. { calcolo della somma di a

Dettagli

Dati due punti sul piano calcolare la loro distanza

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

Dettagli

02/10/2014. Evoluzione del C. Evoluzione del C. Passi per risolvere un problema con il calcolatore

02/10/2014. Evoluzione del C. Evoluzione del C. Passi per risolvere un problema con il calcolatore Evoluzione del C LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica il C e un linguaggio di programmazione ad alto livello sviluppato agli inizi degli anni 70 del XX sec. presso i BELL Laboratories

Dettagli

Costrutti presenti in C ( non disponibili in FORTRAN ) Cicli di iterazione : IL FOR. Esempio: Conversione Fahrenait / Celsius FORTRAN 77 ANSI C

Costrutti presenti in C ( non disponibili in FORTRAN ) Cicli di iterazione : IL FOR. Esempio: Conversione Fahrenait / Celsius FORTRAN 77 ANSI C Esempio: onversione Fahrenait / elsius FORTRAN 77 Vs ANSI F 77 PROGRAM ONVERT REAL ELS INTEGER FAHR STAMPA DELLA TABELLA DO 10 FAHR=0,00,20 ELS=(FAHR-2)*5./9. WRITE(*,*), FAHR,ELS float cels; int fahr;

Dettagli

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main() Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

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

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Il linguaggio C funzioni e puntatori

Il linguaggio C funzioni e puntatori Salvatore Cuomo Il linguaggio C funzioni e puntatori Lezione n. 8 Parole chiave: Linguaggio C, procedure, funzioni. Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio Email

Dettagli

Qualsiasi programma in C++ segue lo schema: Variabili

Qualsiasi programma in C++ segue lo schema: Variabili Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Dettagli

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi

Dettagli

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio RICORSIONE, PUNTATORI E ARRAY Quarto Laboratorio 16 DICEMBRE 2011 SCADENZA TERZA ESERCITAZIONE FUNZIONI RICORSIVE ESERCIZIO Scrivere una funzione ricorsiva che, assegnati due interi N1 ed N2, restituisca

Dettagli

Introduzione al linguaggio C

Introduzione al linguaggio C Introduzione al linguaggio C Corso di Linguaggi di Programmazione Stefano Ferilli ferilli@di.uniba.it Università degli Studi di Bari A.A. 2001/2002 Il linguaggio C Tendente al basso livello Corrispondenza

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Linguaggio C: le funzioni

Linguaggio C: le funzioni Linguaggio C: le funzioni prof. Lorenzo Porcelli e mail: genna18@iol.it sito: http://users.iol.it/genna18 Introduzione attraverso un esempio Problema: Conoscendo le misure di n rettangoli, determinare

Dettagli

Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

Università 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 Operatori! I segni di operazione

Dettagli

Introduzione alla programmazione in C(++)

Introduzione alla programmazione in C(++) Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie

Dettagli

JAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) {

JAVA. import java.util.*; #include <stdio.h> public static class test { int variable; private int variable; int main (int argc, char *argv[]) { JAVA C import javautil*; public static class test { private int variable; public void main (String[] args) { variable = 0; Systemoutprintln( Variable is: + variable); #include int variable; int

Dettagli

Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza

Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza 1.1. Introduzione al linguaggio Pascal Struttura di programma Elementi lessicali: le parole riservate e gli

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

Verso i puntatori: Cosa è una variabile?

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

Dettagli

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009 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

Evoluzione del C 07/04/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 16 IL LINGUAGGIO C

Evoluzione del C 07/04/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 16 IL LINGUAGGIO C LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 16 IL LINGUAGGIO C Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Puntatori. Fondamenti di Programmazione

Puntatori. Fondamenti di Programmazione Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale

Dettagli

Corso di Automazione industriale

Corso di Automazione industriale Corso di Automazione industriale Lezione 7 PLC Testo strutturato Università degli Studi di Bergamo, Automazione Industriale, A.A. 2017/2018, A. L. Cologni 1 Introduzione Il Testo strutturato è il linguaggio

Dettagli

Corso sul linguaggio C

Corso sul linguaggio C Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione

Dettagli

Lezione 11: Liste a Puntatori e Input/Output

Lezione 11: Liste a Puntatori e Input/Output Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 26 Sommario: Gestione dei file in C. File ad accesso sequenziale: apertura, chiusura, lettura e scrittura. File binari. Gestione files

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

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

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 0 Ottobre 016 Esercizio 1 Funzione valore assoluto Il file.c di questo esercizio deve contenere nell ordine, il prototipo (dichiarazione) di una una funzione abs, che prende in

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

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

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

Argomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili

Argomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili Linguaggio C Argomenti Avanzati! I puntatori! Stack! Visibilità delle Variabili 2 ! Il C consente di associare ai tipi di dati nomi definiti dal programmatore, mediante la parola chiave typedef! Dal punto

Dettagli

Corso di Laboratorio di programmazione e calcolo

Corso di Laboratorio di programmazione e calcolo Corso di Laboratorio di programmazione e calcolo Docente: Stefano Finzi Vita Pagina del corso: http://www1.mat.uniroma1.it/mat_cms/pres_corso.php?corso_da_ presentare=1851&lingua=italiano oppure link da

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

Guida breve alla programmazione in C: Prontuario delle istruzioni più usate

Guida breve alla programmazione in C: Prontuario delle istruzioni più usate Guida breve alla programmazione in C: Prontuario delle istruzioni più usate Giulio Del Corso 1 GDC Indice: Primi passi 3 Librerie 4 Variabili globali 5 Tipi strutturati 6 Liste 7 Tipi definiti dall'utente

Dettagli

1

1 Manuali di C Linguaggio C B. W. Kernigan, D. M. Ritchie Jackson La guida completa al C H. Schildt McGraw-Hill Fondamenti di Informatica 1 Linguaggio C Creato nei primi anni 70 per sviluppare il S.O. Unix

Dettagli

Associazione Variabile-Indirizzo

Associazione Variabile-Indirizzo I puntatori Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include

Dettagli

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma

Dettagli

Classificazione Tipi semplici predefiniti Definizione di nuovi tipi Tipi strutturati

Classificazione Tipi semplici predefiniti Definizione di nuovi tipi Tipi strutturati Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL. Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio.

INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL. Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio. INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio. ESERCIZIO: realizzare un algoritmo (in linguaggio di

Dettagli

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici

Dettagli

Pascal: esempi di programmazione

Pascal: esempi di programmazione Pascal: esempi di programmazione Problemi elementari di programmazione.................. 2252 a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net Somma tra

Dettagli

Operazioni su file di caratteri

Operazioni su file di caratteri Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si

Dettagli

Corso di Laboratorio di Sistemi Operativi A.A

Corso di Laboratorio di Sistemi Operativi A.A Corso di Laboratorio di Sistemi Operativi A.A. 2016 2017 Lezione 9 Ivan Scagnetto ivan.scagnetto@uniud.it Nicola Gigante gigante.nicola@spes.uniud.it Dipartimento di Scienze Matematiche, Informatiche e

Dettagli

Lezione 1. Ing. Colazzo Sebastiano

Lezione 1. Ing. Colazzo Sebastiano Lezione 1 Ing. Colazzo Sebastiano Linguaggi macchina: lingua naturale di un particolare computer, esso consiste di sequenze di numeri (1 o 0) e dipende dalla macchina 0000111101 1111110001 0011001111 Linguaggi

Dettagli

Prof. G. Ascia. I puntatori. Fondamenti di Informatica

Prof. G. Ascia. I puntatori. Fondamenti di Informatica I puntatori 1 Associazione Variabile-Indirizzo Tutte le volte che in un programma si dichiarano delle variabili, l'esecutore associa alla variabile un indirizzo. Es. Dato il programma #include

Dettagli

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Laboratorio di Programmazione A.A. 2000\2001 La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Editazione a cura di: de Pinto E.

Dettagli

Puntatori. Unità 6. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Puntatori. Unità 6. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Storia del linguaggio C Fondamenti di Informatica 7. Linguaggio C - Introduzione Corso di Laurea in Ingegneria Informatica e dell Automazione A.A. 2012-2013 2 Semestre Prof. Giovanni Pascoschi Linguaggio

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 linguaggio C

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

Dettagli

Precisazione sui tipi in ANSi C

Precisazione sui tipi in ANSi C Precisazione sui tipi in ANSi C Tipi primitivi del C Un tipo è costituito da un insieme di valori ed un insieme di operazioni su questi valori. Classificazione dei tipi primitivi del C scalari aritmetici:

Dettagli

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Una funzione per i numeri di Fibonacci

Dettagli

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio

I/O da tastiera + Alessandra Giordani Lunedì 2 maggio I/O da tastiera + costrutti while e if Alessandra Giordani agiordani@disi.unitn.it Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una

Dettagli

Programmazione a moduli in C

Programmazione a moduli in C Funzioni Programmazione a moduli in C Politecnico di Milano Motivazioni Alcuni programmi possono essere molto, molto complessi E utile poter partizionare il lavoro di progettazione in sottolavori più semplici

Dettagli

Corso di programmazione in C

Corso di programmazione in C Corso di programmazione in C Lezione 3: un semplice programma Liceo Scientico Teresa Gullace M. Prisco 15 marzo 2019 Liceo Scientico Teresa Gullace Corso di programmazione in C 15 marzo 2019 1 / 11 Outline

Dettagli

Definizione Allocazione e deallocazione di variabili Allocazione e deallocazione di vettori

Definizione Allocazione e deallocazione di variabili Allocazione e deallocazione di vettori Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Lezione 6: Array e puntatori

Lezione 6: Array e puntatori Lezione 6: Array e puntatori Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Una funzione per i numeri di Fibonacci

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

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Appunti di LINGUAGGIO C

Appunti di LINGUAGGIO C Appunti di LINGUAGGIO C TIPI DI DATI E DIMENSIONI char 1 byte int 16 o 32 bit float floating-point in singola precisione double floating-point in doppia precisione short int intero corto long int intero

Dettagli

Lezione 10. L arte della programmazione

Lezione 10. L arte della programmazione Lezione 10 Linguaggi di programmazione: il C Le variabili e le costanti L assegnazione Gli operatori La documentazione L input/output L arte della programmazione La soluzione di un problema tramite un

Dettagli

Corso di Informatica A.A

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

Dettagli

Gli Operatori. Università degli Studi di Brescia

Gli Operatori. Università degli Studi di Brescia Linguaggio C Gli Operatori 1 Gli operatori! Costruiscono le espressioni del C! Specificano come devono essere manipolati gli operandi dell espressione! Il C definisce una moltitudine di operatori, quali

Dettagli

Funzioni. Fondamenti di Informatica, Ingegneria Elettronica, Università La Sapienza Roma. aa R. Beraldi

Funzioni. Fondamenti di Informatica, Ingegneria Elettronica, Università La Sapienza Roma. aa R. Beraldi Funzioni Qualunque programma C potrebbe essere realizzato senza far uso di funzioni (tranne ovviamente il main). Le funzioni cioè non aggiungono alcuna capacità di calcolo Il vantaggio delle funzioni consiste

Dettagli

Passaggio dei parametri

Passaggio dei parametri Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment

Dettagli

I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria.

I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. Puntatori I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. NOTA: quando un programma viene mandato in esecuzione, ad esso viene assegnata un area di memoria di lavoro

Dettagli

Struttura di un. Struttura dei programmi C

Struttura di un. Struttura dei programmi C Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive

Dettagli

Cosa è una variabile?

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

Dettagli

ALGORITMI E STRUTTURE DATI

ALGORITMI E STRUTTURE DATI ALGORITMI E STRUTTURE DATI Esercitazioni AndreA Orlandini http://www.dia.uniroma3.it/~orlandin/asd/ e-mail: orlandin@dia.uniroma3.it Orario di ricevimento: Martedì 14.00-16.00 Puntatori e Liste StudentiDIA

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.2b: Programmazione in Pascal (1)

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.2b: Programmazione in Pascal (1) INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Programmazione in Pascal (1) PROGRAMMAZIONE: Introduzione al Pascal (1) 14 nov 2011 Dia 2

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti di Programmazione per il Software di Base Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 5: Tipi di dati ed idiomi del C Vittorio Scarano Corso di Laurea in Informatica : soluzioni agli esercizi Tipi di dato Idiomi per la programmazione Priorità ed associatività

Dettagli

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

I costrutti del C. Strutture condizionali Strutture iterative Introduzione alle funzioni

I costrutti del C. Strutture condizionali Strutture iterative Introduzione alle funzioni I costrutti del C Strutture condizionali Strutture iterative Introduzione alle funzioni 1 Le Strutture del C Condizionali if-else (else if) switch Iterative while for do while break and continue 2 Il costrutto

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

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

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

Lezione 12: Allocazione Dinamica della Memoria

Lezione 12: Allocazione Dinamica della Memoria Lezione 12: Allocazione Dinamica della Memoria Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Aprile 2013 Puntatori e vettori Puntatori ed indirizzi Semplificando, la memoria di un computer

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

Lezione 22: Input/Output e Files

Lezione 22: Input/Output e Files Lezione 22: Input/Output e Files Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Esami: date e modalità Funzioni di libreria standard

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1

Dettagli

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità

Dettagli

Tutorato Elementi di Informatica 2018

Tutorato Elementi di Informatica 2018 Università degli Studi di Cagliari Pattern Recognition & Application Lab Dipartimento di Ingegneria Elettrica ed Elettronica Tutorato Elementi di Informatica 2018 Esercitazione 2 Introduzione e Tipi di

Dettagli

Il linguaggio C Strutture

Il linguaggio C Strutture Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C -- Strutture 2 Ringraziamenti Questi

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