vuoi
o PayPal
tutte le volte che vuoi
V
True cut 2 2
=>
= =
write(fact) fact
w 1
:
fact
fact cht
*
= 3)
ch fac
V
v end
(ht
cht 1
+
= 4) fact
cut 24
=u > =
=
fact 6
=
5) fact 120
cnt 3 => =
=
fact 2u
=
Potrei partire dalla seconda interazione perché moltiplicare per 1 è
sostanzialmente inutile. M perché
5
essere
devono intraprendo
altrimenti
5
n = , false
lined
la
Rappresentazione: tipi, variabili e costanti
Il linguaggio C rappresenta i dati attraverso tipi (è quello che caratterizza il range di operazioni che si possono fare su dei
valori).
Un tipo è caratterizzato da:
● Insieme dei valori che rappresenta
● Insieme delle operazioni che is possono effettuare su tali valori
fi
Tipi elementari del C:
● int: numeri interi rappresenta mediante un numero di Byte dipendenti dall’architettura ( da quanti Byte è costituito un
processore) (32, 34 bit)
● oat: numeri razionali in virgola mobile ( oating point)
● double: numeri razionali in virgola mobile con precisione doppia rispetto ai oat
● char: caratteri rappresentati su 8 bit (256 caratteri set del codice ASCII)
● void: tipo nullo, usato quando la sintassi del linguaggio richiede di speci care un tipo di dato ma la semantica non lo
prevede
In C non esiste il tipo booleano: i valori booleani sono rappresentati attraverso numeri interi con la seguente convenzione:
● 0 codi ca il valore booleano false
● Qualsiasi altro intero con valore diverso da zero (tipicamente 1) codi ca il valore booleano true
Variabile è una locazione di memoria che contiene un valore di un tipo.
Il valore può variare durante la computazione, mentre il tipo è invariante.
È possibile associare un nome ad una variabile, per poter riferirsi ad essa senza speci care il suo indirizzo sico in memoria.
Il nome può essere formato da una sequenza arbitraria di caratteri alfanumerici che rispetti i seguenti vincoli:
● Il primo carattere del nome della variabile non può essere numerico, ma solo alfabetico
● Il compilatore non distingue tra variabili i cui nomi sono formati da sequenze che non differiscono sui primi 32 caratteri
Il nome vieen associato alla variabile tramite una dichiarazione:
● int n
● oat media
Per associare un valore ad una variabile si ricorre ad un’assegnazione:
● n=10
● media= 25.5 f
La variabile array è un’insieme di variabili dello stesso tipo che possono essere referenziate tramite un nome collettivo e un
indice numerico che le identi ca (denotandone lo scostamento, od offset, rispetto all’inizio dell’array).
● int V [10]
● V [0] è il riferimento alla prima variabile dell’array (di indice 0)
● V [0] è il riferimento all’ultima variabile dell’array (di indice 9)
V rappresenta l’indirizzo a partire dal quale l’array è collocato.
Oltre ad essere il nome della variabile array, V rappresenta anche l’indirizzo di memoria a partire dal quale l’array è
memorizzato.
Dato che in memoria si indirizzano i Byte e supponendo che un intero sia rappresentato su 32 bit (4 Byte):
● V [0]si trova a partire dall’indirizzo V
● V [1] si trova a partire dall’indirizzo V + (1*4 Byte) = V + 4
● V [2] si trova a partire dall’indirizzo V + (2*4 Byte) = V + 8
La costante è un valore di un certo tipo che non cambia durante la computazione.
● le costanti non possono essere modi cate all’interno del programma
● le costanti sono rappresentate in maniera diversa a seconda del tipo
int: 10
oat: 43.25f
double: 43.25
#de ne PI 3.141592
fl fl
fl
fi fi fi fi fl fi