You are on page 1of 29

1.

1 INTRODUZIONE ALLINFORMATICA
Linformatica :
- La scienza dei calcolatori elettronici(computer science)
- Linsieme delle applicazioni
- La scienza dellinformazione(Information theoty)
- La scienza della rappresentazione e della elaborazione dellinformazione
- Scienza dellartificiale basata su molti livelli di astrazione(progettazione di mondi
artificiali o astratti
1.2 AREE DISCIPLINARI DELLINFORMATICA
(secondo ACM Assocation for computing machinery)
- Algoritmi e strutture dati
- Linguaggi di programmazione
- Architetture degli elaboratori
- Sistemi operativi
- Ingegneria del softare
- Computazione numerica e simbolica
- !asi di dati e sistemi per il reperimento dell"informazione
- Intelligenza artificiale
- #isione e robotica
- Sistemi distribuiti e reti di calcolatori
1.3 MACCHINE DA CALCOLO E COMPUTER
(nella storia)
- Abaco (!""" a#c#)
- $ascal% Leibnitz&meccaniche ('("")'*"")
- +ac,uard% -abbage&a programma ('."")
- /ollerith ('0"")
- 1i2en (3145 ')% 3auchly e 6c2ert (67I18)###('09")'09:)
- 3acchina di ;on 7eumann###calcolatore elettronico digitale a programma
memorizzato (universale)
1.4 INTRODUZIONE ALLINFORMATICA 2
$% &'(')A*I+(I ,I C+M-./')
- #alvole ($010)
- /ransistor ($023)
- Circuiti integrati ($040) (detti anche chip)
- Microprocessori ($034)
- -arallelismo massiccio
L"evoluzione in campo informatico 5 iniziata creando calcolatori se6uenziali7
cio5 che svolgono $ operazione per volta8 -oi si 5 sviluppata con la creazione di
calcolatori paralleli7 capaci di svolgere molte operazioni contemporaneamente%
In 6uesti ultimi si intende 9velocit:;il n< di operazioni che svolge il calcolatore
in una unit: di tempo (sec)%
=% -.(/I ,I #AL./A*I+(' -') .( CALC+LA/+)'
- /ecnologia
- ,imensioni (scala di integrazione)
- -otenza elettrica dissipata
- #elocit: di calcolo
- ,imensioni di memoria
- Affidabilit:
- Costo
1% ,'>I(I*I+(' ,I SIS/'MI I(>+)MA/ICI
- Sistemi complessi (a vari livelli) hardare e softare (e firmare) con molte parti
interagenti interfacciati con un ambiente per svolgere un compito in modo autonomo
(automatico) o interattivo (con operatori umani)
- ?A),@A)'A 5 la componente fisica7 e 6uindi soggetta ad usura%
- S+>/@A)'A 5 l"insieme di programmi che comandano l"hardare e non sono soggetti
a danni fisici8 /uttavia possono contenere errori di progettazione%
- S+>/@A)' A--LICA/I#+A
AppuntoA La comunicazione tra due terminali puB essere sincrona (richiede la
risposta del destinatario) asincrona (non richiede la risposta del destinatario) o
broadcast (comunicazione con piC destinatari%
1.5 LINGUAGGI DI PROGRAMMAZIONE
Il programma determina cosa fare7 in che ordine e con che scopo% Ci sono piC
linguaggi di programmazione (a differenza di 6uello naturale7 il linguaggio artificiale
5 unificato e scritto con vari programmi)%
,i solito i linguaggi di programmazione (circa =DDD) sono univoci7 mentre la lingua
naturale 5 spesso ambigua%
-er il controllo di apparati
-er le funzioni organizzative
-er la produttivit: personale
Softare di base
(sistema operativo
e ambienti di
sviluppo)
Softare di
comunicazio
ne
?A),@A)'
GENERAZIONI
$< LI(&.A&&I MACC?I(A
=< LI(&.A&&I ASS'M!L')
1< LI(&.A&&I '#+L./I
2< -ACC?'//I -')S+(ALI**A/I
4< LI(&.A&&I ,IC?IA)A/I#I
I linguaggi di programmazione possono essere piC vicini e facilitare il compito o
all"uomo o alla macchina%
Con l"andare del tempo si 5 cercato di formulare linguaggi di programmazione piC
facili per l"uomo che per la macchina8 /uttavia esistono situazioni ove 5 ancora
opportuno usare il linguaggio piC vicino alla logica della macchina%
-artendo dagli anni "ED con l"+S (operations system)7 capace di svolgere piC di
$DDDDDD di istruzioni7 si 5 cercato di incrementare sempre di piC la produttivit:
dell"elaboratore aumentando il numero di istruzioni svolte dall"elaboratore%
Si sono anche creati programmi traduttori detti 9compilatori; che traducono i
linguaggi piC evoluti a linguaggi macchina%
1.6 PARADIGMI DI LINGUAGGI DI PROGRAMMAZIONE
Lisp MC Scheme
>unzionali
Simula CFF ada 04
+ggetti
SmalltalG Hava
Linguaggi >ortran !asic Ada Imperativi
Macchina Cobol Algl Apl -ascal
&pss -rolog
,ichiarativi
>+)/)A(A -er applicazioni scientifiche
C+!+LA Linguaggio per applicazioni gestionarie
!ASICA -rimo linguaggio per -C7 piC interattivo e di facile utilizzo
-ASCALA '" particolarmente curato nella struttura% +ggi il suo utilizzo 5 diminuito
ma 5 utile per fissare i concetti della programmazione% Il -ascal puB fare parte di
,elphi (sistema di programmazione ad oggetti)%
.omo
!asso livello
Alto livello
1.7 IL CONCETTO DI ALGORITMO
Algoritmo deriva da alIGoarizmi7 matematico arabo del IJ secolo%
,'>I(I*I+('A Metodo &'(')AL'(K)7 AS/)A//+(KK)7 '>>'//I#+(KKK) di
risoluzione di problemi formulati esplicitamente%
(K) sommare 1F2 (particolare)
sommare LFy (generale per ogni coppia di L7y)
(KK) indipendente del metodo di rappresentazione %
(KKK) Soddisfa le condizioni di definitezza ed eseguibilit:%
1.8 DIVERSE RAPPRESENTAZIONI DELLO STESSO ALGORITMO
>lochart (diagramma di flusso)
Input m7n
falso
vero
+utput m
Muesto >loIchart ha lo scopo di sommare mFn7 con una rappresentazione statica
ma dall"andamento dinamico8 Il principio con cui vengono sommati i numeri 5 il
seguenteA
m n
7 3
8 2
9 1
( prendo $ unit: da n e la metto in m fino a 6uando nND)
SPIEGAZIONE DEL DIAGRAMMAA
I(I*I+
mmF$
nnI$

(ND
>I('
I( I/ALIA(+ I( -S'.,+C+,IC'
$% Ac6uisisci in ingresso !'&I(
I valori m7n )'A, m7 n Sintassi
=% Incremento m di $ e )'-'A/
,ecremento n di $ mmF$
1% Se n=D torna a =% nnI$
2% -roduci in uscita il .(/IL nND
#alore di m @)I/' m
'(,%
- mmF$
)appresenta il valore della variabile in un istante (sinistra) e in un istante
successivo (destra)
- Assegnamento (assegno a m il valore ottenuto da mF$)
- #ariabile N simbolo che rappresenta valori diversi nel tempo
- Il significato delle forme geometriche in un floIchart 5 il seguenteA
I(I*I+ o >I('
C+M-+('(/I ,'LL"AL&+)I/M+ -')
M+,I>ICA ,'LLA #A)IA!IL'
+SS')#A*I+(' S.LLA #A)IA!IL'
(condizioni)A -.+" 'SS')' #')A (true)
o >ALSA (false)
Muindi il programma 5 la rappresentazione degli algoritmi in una particolare
situazione (anche se l"algoritmo 5 indipendente dalla situazione)%
1.9 LEFFETTIVITA
(condizioni di definitezza ed eseguibilit: di un algoritmo)
$% ?a zero o piC dati in ingresso (6uantit: assegnate prima dell"inizio)
=% ?a uno o piC dati in uscita
1% ,eve poter terminare dopo un numero finito e discreto di passi
2% +gni passo deve essere definito in modo preciso e non ambiguo7 per ogni caso possibile
4% Le azioni (operazioni) devono essere eseguite da un esecutore che le sa interpretare7 in
6uantit: finita di tempo
1.1 STRUZIONI DI LETTURA
Leggi a7b7c
Assegna alle variabili di nome a7b7c i valori forniti dall"esterno7 nell"ordine
a
Leggi i valori a7b7c
$%$$ VARIA!ILI " ASSEGNAMENTI
.na variabileA
I ?a un nome
I ,enota un valore

Istruzione i !sse"n!#entoA
esempioA A!FC
sindest (%!%A $ sola variabile
Calcola il valore dell"espressione !FC(sommando il valore della variabile !
con il valore della variabile C) e lo assegna come (nuovo) valore della variabile A%
(%!%A Il valore di A viene modificato mentre 6uelli di ! e C sono fissi%
Istruzione i s$rittur!%
.n valore si puB usare una sola voltaA
's% A! S!A&LIA/+
!A

A!
!C &I.S/+ (rinomino la ! in C per poi riutilizzarla con A)
CA
'sempioA Stampo L$7L=

Stampa i valori delle variabili di nome L$ e L=
(ome L$ e L=
Stampa 9nessuna soluzione;
Stampa (senza alcuna elaborazione)la se6uenza
/ra le virgole%
$%$= LALGORITMO PIU ANTICO
b c
$$
1
=
a b c
Si tratta dell"algoritmo di '.CLI,' Oelementi7 libro #II7 proposizioni I e II7 11DI1$D
a%c%P
,ati due interi positivi m e n7 trovare il loro M%C%,%7 cio5 il minimo intero positivo
che divide senza resto sia m che n%
'$%Otrovare il restoPAdividere m per n e chiamare r il resto
'=%O5 zeroQPAse rND l"algoritmo termina e n 5 la risposta
'1%OscambiarePA -orre mn nr% /ornare indietro al passo '$%
($) m e n sono dati d"ingresso7 presi dall"insieme degli interi positivi
(=) n7 dato d"uscita7 5 il M%C%,% dei dati d"ingresso
(1) r decresce dopo ogni applicazione del passo '$7 e una se6uenza decrescente di interi
positivi deve necessariamente finire con D
(2) La divisione e il resto sono definiti matematicamente e sono eseguibili in un tempo
finito%
-ropriet: del M%C%,%A
($) M%C%,% (n7m)NM%C%,%(n7m)
(=) Se mNn allora M%C%,%(m7n)NnNm
(1) Se mRn e nND allora M%C%,%(m7D)Nm
(2) Se mRn e nRD allora M%C%,%(m7n)NM%C%,%(nIm7n)NM%C%,%(mI=Kn7n)N
NM%C%,%(mI6Kn7n)NM%C%,%(r7n)NM%C%,%(n7r)
1.13ALGORITMI CHE USANO ALTRI ALGORITMI
(prodotto (L7y))
L7y
falso
vero
1.14
1.15
1.14 PROGRAMMAZIONE
- In piccolo (singoli)A -)+!L'MAAL&+)I/M+-)+&)AMMA
- In grande (gruppi)A
Sistemista
-rogettista
I(I*I+
*D
yyI$
z somma(z7L)
SND
>I('

SIS/'MA ?T@IST@
Softare Applicativo
-rog$ -rogI
-rogrammatore
1.15 FLO#$CHART %&'(")*+
# >
(odo +perativo (odo decisionale
(istruzioni) (condizioni)
(odo iniziale (odo finale
'sempioA
S/A)/ S/+-
-
r
6
# >
#
>
>
#
'sempio n<=A CALC+L+ ,'L >A//+)IAL' ,I nU
(read n)
>
VWn
#
(rite >)
'sempio di spaghettiIchartsA
S/A)/
!
C
,
S/+-
VD
>$
S/A)/
V VF$
> VI>
S/+-
S/A)/
1.16 STILI DI PROGRAMMAZIONE " STRUTTURE DI
CONTROLLO
-er costruire un programma funzionante e ben strutturato si devono osservare 6ueste
prime regole baseA
- Suddividere il programma in moduli coerenti8
- +rganizzare il programma in modo da evidenziare la struttura8
- Scrivere commenti significativi per spiegare il programma8
- .sare nomi significativi per procedure e variabili%
S/).//.)' ,I C+(/)+LL+A
-roblemaA -rogrammi scritti con &+ /+ sono complessi (difficili da modif%)8
C')CA)' C+S/).//I LI(&.IS/ICI AL/')(A/I#I
+bbiettiviA 'vitare la complessit: dei programmi mediante criteri di divisione in
parti%
S/+-
S/.,I+ ,'&LI SC?'MI ,I C+(/)+LL+
TRE SCHEMI !ASE,
- S'M.'(*AA
!"-*.
A
!
E./
- S'L'*I+('A
# > I0 P
T(". A
E1&" !
>
I0 P
# T(". A
- I(/')A*I+('A
>
#(*1" P /2 A
# % 345./2 P 6 7"85 75* *. A+
R"9"5: A 4.:*1 P
> %R*9":* A 0*.2 5 ;45./2 P
D*7".:5 7"85+
A
!
A
!
-
A !
-
A
-
A
A
-
#
SCHEMA IN PAROLE CHIAVE <NASTING$(nidificato)
IF C$ THEN
IF C= THEN
!$
ELSE
!=
ELSE
IF C1 THEN !1
Se6uenza di esecuzioneA
1.17 COMPOSIZIONE DI STRUTTURE
*NAX!
3 2.1 E3UIVALENZE
DE&OLE% ,ue programmi sono ,'!+LM'(/' 'M.I#AL'(/I se7 per ogni stesso
insieme di dati in ingresso7 producono gli stessi dati in uscita7 e uno termina se
termina l"altro%('M.I#AL'(*A >.(*I+(AL')%
C$ vera C$ vera C$ falsa C$ falsa
C= vera C= falsa C1 vera C1 falsa
!$ != !1 I
LA; y !8 z $8
Sdiv
Sdis
* zKL
S yT=8
J LKL8
FORTE% ,ue programmi sono >+)/'M'(/' 'M.I#AL'(/I se7 per ogni insieme
di dati di ingresso7 le rispettive se6uenze di esecuzione sono uguali%('M.I#AL'(*A
AL&+)I/MICA)%
'S'M-I+ ,I -)+&)AMMI >+)/'M'(/' 'M.I#AL'(/IA
R"9"5: A !"-*.
U.:*1 ! A
> > #(*1" 9 /2 A
E./
# #
'S'M-I+ ,I -)+&)AMMI ,'!+LM'(/' 'M.I#AL'(/IA
#
>
#
>
- (t0)(tN$)p(t $)(tND)
-A6 (t D)(tN$)pA6(t $)
(tN$) (Assegnamento del
-a6!p (t D)(tN$)pA6!(tN$) #alore $ a t)
-(t $)(tN$)
2.2 TEOREMA DI !2(.$=5'29*.* %1966+
,ato un programma costruito a partire da uno schema floIchart esiste sempre un
programma costruito con gli schemi di base debolmente e6uivalenti a 6uello dato%
(%!%A Con i tre schemi si puB comporre 6ualun6ue funzione ma (+( rappresentare
6ualun6ue algoritmo%
2.3 DEFINIZIONE DI GRAMMATICA DI UN LINGUAGGIO
- -
A

A
6
!
t0
/

A
6
!
G>?:@.@9@&A
/ N Insieme di simboli terminali
( N Insieme di simboli non terminali (cat% Sintattica)
- N Insieme di regole grammaticali
S N Simbolo iniziale (radice7 scopo)
'sempioA / unito ( N ins%vuoto S appartiene (
2.4 PROGRAMMAZIONE STRUTTURATA
-)+!L'MA I descrizione in italiano
AL&+)I/M+ I descrizione di massima (floIchartIpseudocodice)
-)+&)AMMA*I+(' (pascal)
S/).//.)' ,I C+(/)+LL+
-ASCAL S/).//.)' ,I ,A/I
S/).//.)' ,I -)+&)AMMA
SINTASSI%
SI (programma oggetto)
(+ (mostra errori)
SEMANTICA%
Corretto
+./-./ Scorretto
DESCRIZIONE DEI LINGUAGGI DI PROGRAMMAZIONE%
SINTASSIA carte sintattiche

'sempioA LyFz
AssegnamentoA variabile espressione
SEMANTICAA a parole
-rogramma
Sorgente in L
Compilatore
(grammatica
in L)
-rogramma
+ggetto in L
'S'C./+)'
#iene calcolato il valore dell"espressione in funzione del valore corrente delle
variabili componenti e il risultato diventa il nuovo valore delle variabili%
3.1 IL PASCAL
L5 &:28*5,
I -rogettato nel $0EYI$0E0
I )ealizzato nel $03D
I -ubblicato nel $03$
I ,efinizione assiometrica nel $031
I )apporto rivisto e manuale nel $032
G1* 2BB*"::*7*,
I >ondatezza concettuale
I >acilit: di apprendimento
I Compilazione a una passata
L5105B":2,
I Lettere (A7!7C8a7b7c8)
I Cifre (D7$7=71)
I Caratteri speciali ( F I K T | N W R ( ) O P Z [ % 7 A 8)
I Carattere \spazio" o blacG (b)
I1 72'5B2158*2,
I Simboli speciali (delimitatori) (F AN WR WN RN %%)
I -arole riservate (if7 then7 else7 hile7 repeat]%%)
I Identificatori
I (umeri
I Stringhe
IDENTIFICATORI%
'sempioA
Corretti Scorretti
A 1K!
)adice $ )adiceI$
K1! )epeat
Somma /rue
NUMERI%
L'//')A
L'//')A
CI>)A
CI>)A
%
CI>)A
'
F
I
'sempioA
Corretti Scorretti
1 17$
D1 D%$%2
E=3=Y22 JII
STRING'E%
'sempioA Corrette Scorrette
\A" \6uesta e" scorretta"
\JN=4"
\6uesta e"" corretta"
SEPARATORI%
Se6uenza in !lacG
(carriage) return
a capo
line feed
nl (ne line)
3.2 OGGETTI DI PASCAL
CI>)A
I
\
CA)A//%
,iverso da"
\
\ \
b
>ine
linea
- #ariabili
- Costanti
- 'spressioni
- >unzioni
T*9* " 758*5B*1*,
CaratteristicheA
Insieme dei possibili valori
TIPO
+perazioni applicabili
+peratori
>unzioni predefinite
RAPPRESENTAZIONE
FUNZIONALITA
T*9* &")91*'* " '2)92&:*,
/I-+
S'M-LIC' C+M-+S/+
Insieme di valori Insieme di valori
elementari ciascuno dei 6uali
5 composto da piC
valori elementari%
'sempioA
IntegerA ,ataA
(< posti al cinema giorno(integer)
Mese (integer)
Anno (integer)
S'292 /"* :*9*,
o 'splicitare gli attributi delle variabili
o Controllare l"applicazione degli operatori
o +ttimizzare l"allocazione in memoria
o ,efinire le regole di composizione dei dati (analogamente alla composizione delle azioni)
C15&&*0*'5C*2." /"* :*9*,
/I-I
SCALA)I S/).//.)A/I -.(/A/+)I
S/A(,A), C+S/).I/I S'/ A))AS )'C+), >IL'
Oins%potenzaP Oins%funzioniP Oinsieme chiusuraP
IIIIIIII #A)IA(/
Interi Intervalli Oprod% CartesianoP O.nione disgiuntaP
Caratteri 'numerazione
!ooleani
)eali
Oinsieme ordinatiP
3.3 TIPI SCALARI
Insieme finito di valori ordinati
/N(C$7C=]]Cn) con Ci($WNiWNn) identificatori di costanti ed n N cardinalit: di /
Assio#iA Ci diverso C^ per i diverso ^
CiWC^ per $WNiWN^WNn
O(er!tori i re)!zioneA W7WN7R7RN7N7WR
Funzioni%
S.CC (Ci)NCiF$ ($WNiWNn)
-)', (Ci)NCiI$ ($WiWNn)
+), (Ci)NiI$ ($WNiWNn)
Ti(i enu#er!ti*i%
'sempioA
/ype mese(gen7 feb7 mar7 ecc%%%)
Colore(rosa7 giallo7 nero7 ecc])
Sesso(maschio7 femmina)
I linguaggi di enumerazione sono ordinatiA
esempioA >ebWmar
,evono essere disgiuntiA
esempioA
/ype mezzi di trasporto(auto7 nave7 aereo7 treno)
Mezzi terrestri(tram7 treno)
(non 5 corretto perch_ non 5 valutabile autoWtreno)
Ti(i e *!ri!+i)i%
/S-' meseN(])
,efinisce l"attributo mese associabile ad una variabile
#A) L7yA mese
,ichiara che le variabili L e y sono di tipo mese%
'sempioA ,IC?IA)A*I+(IA var zA integer
IS/).*I+(I zANzF$ z zF$
JANgen ecc%%
SIMPLE T,PE%
T,PE IDENTIFIER%
CONGRUENZA DI TIPO (negli assegnamenti)A
#A) sA(positivo7 negativo)
#A) C$7C=(rosso7 blu7 giallo)
SAN positivo
C$AN rosso C+))'//I
C=ANC$
C$AN positivo
C=AN verde '))A/I
C$AN S
TIPO SU&RAGE%
Si indicano gli estremi gli estremi di un intervallo
/S-' MesestivoN &I.%%S'/
(otaA
/S-'
I,'(/I>I')
(
I,'(/I>I')
)
7
C+S/A(/
%%
C+S/A(/
I(/'&')
)'AL
!++L'A(
C?A)
#A) a7bA Mese
#A) L7yA Mesestivo
aAN gen
bAN ago
LAN a (puB dare degli errori in esecuzione)
bAN y (v: sempre bene)
3.4 TIPI STANDARD
TIPO STANDARD INTEGER
Integer N (ImaLint 7 $%%maLint)
(maLintA costante dipendente dell"implementazione)
+-')A/+)IA F 7 I 7 K 7 div 7 mod
'sempioA a N ((a div b)Kb)F(a mod b)
>.(*I+(IA odd(dispari) 7 abs 7 s6r(6uadrato)7 pred 7 succ
TIPO STANDARD REAL
)eal N (I$DXe$%%I$DXIe= 7 $DXIe1%%$DXe2)
(e$7e=7e17e2 sono costanti dipendenti dall"implementazione)
(%!%A >loating -oint N #irgola Mobile
(otazione ,ecimale (otazione Scientifica
1%$2 4'E 4K$DXE 4DDDDDD
I=4%D IE%D'I2 EK$DXI2 ID%DDDE
FD%$0 FE%DY'F=3
+-')A/+)IA F 7 I 7 K 7 T 7 W 7 R
>.(*I+(IA abs 7 s6r 7 eLp 7 ln 7 sin 7 cos 7 arctan 7 trunc 7 round
TIPO STANDARD !OOLEAN
!oolean N (false7 true)
+-')A/+)IA not 7 and 7 or
AB not A A and B A or B
FF T F F
FT T F T
TF F F T
TT F T T

'sempioA
#A) log A boolean
Int7a7b7c7d A integer8
LogAN true
LogAN int RND
If log then]%
If (aWb) and (not(cNd)) then]%
TIPO STANDARD CHAR
Char N (]%7"`"7"a"7"D"7]%7"0"7"a"7]%7"z"7]%)
>.(*I+(IA chr(1E) N \`" (in codice ASCII7 nel 6uale ad ogni carattere 5 associato
+rd(\`") N 1E un valore numerico)
,: il codice numerico del carattere
Chr(ord(car)) N car
+rd(chr(int)) N int
F operatori e funzioni degli scalari (es% succ(\L") N (\M"))
3.5 OPERATORI
Sono definiti ,+MI(I+ (tipo di operandi) di ogni operatore e funzione
C+,+MI(I+ (tipo di risultato)
Operatore o Funzione 1 Operando 2 Operando Risultato
div integer integer integer
/ real real real
not boolean boolean
and boolean boolean boolean
trunc real integer
chr integer char
+ integer o real Integer o real integer o real
< scalare scalare boolean
pred scalareno real! scalare !
SimbolicamenteA
> A , C (dominio codominio)
,$K,= C (in generale ,$K]%K,nC)
ESPRESSIONI CON OPERATORI
#A) bA boolean
CA char
I7 ^A integer
JA real
! and ( trunc (sin (L) ) F ord (C) W i div ^ )
real
integer integer
integer integer
boolean boolean
boolean
PRECEDENZE DEGLI OPERATORI (2 livelli)
maL
I
not operatori monadici
K
T
div operatori moltiplicativi
mod
and
I
F operatori additivi
or
N
W
R
WR operatori di relazione
WN
RN
in
min
(%!%A a parit: di livello ordine da sinistra a destra
3.6 LE VARIA!ILI
Le variabili sono dei valori dichiarati nella sezione #A) che possono modificarsi con
il procedere del programma%
#ariable ,eclarationA
'sempioA
#A) L A integer8
y7z A real8
#A
)
Identifier
A
/S-'
8

3.7 LE COSTANTI
Le costanti sono dei valori dichiarati nella sezione C+(S/ che assumono un valore in tale
sezione e 6uesto non cambia con lo svolgersi del programma%
Constant ,eclarationA
'sempioA
C+(S/ min N $D8
maL N $DD8
3.8 ITERAZIONI
C+(S
/
Identifier
N
Constant
8
#HILE
'J-)'SSI+(
DO
S/A/'MA(/

REPEAT
S/A/'MA(/
UNTIL
S/A/'MA(/
8
FOR AN

TO
ISTRUZIONE FOR,
>+) iANe$ /+ e= ,+ S >+) iANe$ ,+@(/+ e= ,+ S
> >
# #
In generaleA
iAN succ(i)
'S'M-I+A
CONST paganormale N $DDDD8
-agastraordinario N =DDDD8
I,'(/I>I') 'J-)'SSI+(

TO
DO#NTO
'J-)'SSI+(

DO
S/A/'MA(/
iANe$
iANiF$
iWNe
=
S
iANe$
iRNe
=
S
iANiF$
TDPE giorno N (lun7mar7mer7gio7ven7sab7dom)8
VAR paga A D%%maLint8
giornoferiale A lun%%ven8
giornofestivo A sab%%dom8
ore A D%%=28
!EGIN
-aga AN D8
FOR giornoferiale AN lun TO ven DO
!EGIN
)ead (ore)8
paga AN pagaForeKpaganormale8
ENDE
FOR giornofestivo AN sab TO dom DO
!EGIN
)ead (ore)8
paga AN pagaForeKorestraordinario8
ENDE
riteln (\pagaN"7paga)8
END.
3.9 E3UIVALENZE
'6uivalente a
> >
# #
REPEAT S UNTIL - &EGIN
S8
-'ILE not - DO S
END
S

S
not
S

-

-
>
> e6uivalente a
# #
>
-'ILE - DO S
#
IF - T'EN
REPEAT S UNTIL not -
ZnRND[ ZnRN$[ ZnRND[ ZnRND[
>AN$ >AN$ >AN$ >AN$8
@?IL' nR$ ,+ )'-'A/ I> nR$ /?'( >+) iANn ,+@(/+ $ ,+
!'&I( >AN>Kn8 )'-'A/ >ANfKi
>AN >Kn8 nANnI$ >AN>Kn8
nANnI$ .(/IL nND nANnI$
'(,% .(/IL nND
3.1 TIPI STRUTTURATI
CaratteristicheA
ARRAY RECORD FILE SET
OMOE!EITA" si no si si
ORDI!AME!TO si no si no
DIME!SIO!E "issa "issa variabile variabile
ACCESSO diretto#posi$ione! diretto#nome! se%uen$iale diretto#pari!
I!SIEME di "un$ioni prodotto cart& chiusura poten$a
S
S
(ot
-

You might also like