8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
1/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 se6uenziali7cio5 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 calcolatorein una unit: di tempo (sec)%
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
2/29
=% -./I ,I #AL./A*I+' -' . CALC+LA/+'
/ecnologia ,imensioni (scala di integrazione) -otenza elettrica dissipata #elocit: di calcolo
,imensioni di memoria Affidabilit: Costo
1% ,'>II*I+' ,I SIS/'MI I>+MA/ICI
Sistemi complessi (a vari livelli) hardare e softare (e firmare) con molte partiinteragenti interfacciati con un ambiente per svolgere un compito in modo autonomo(automatico) o interattivo (con operatori umani)
?A,@A' 5 la componente fisica7 e 6uindi soggetta ad usura% S+>/@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#+
Appunto La comunicazione tra due terminali puB essere sincrona (richiede larisposta del destinatario) asincrona (non richiede la risposta del destinatario) o
broadcast (comunicazione con pi destinatari%
1.5 LINGUAGGI DI PROGRAMMAZIONE
Il programma determina cosa fare7 in che ordine e con che scopo% Ci sono pilinguaggi di programmazione (a differenza di 6uello naturale7 il linguaggio artificiale5 unificato e scritto con vari programmi)%,i solito i linguaggi di programmazione (circa =DDD) sono univoci7 mentre la linguanaturale 5 spesso ambigua%
-er il controllo di apparati-er le funzioni organizzative-er la produttivit: personale
Softare di base(sistema operativoe ambienti disviluppo)
Softare dicomunicazione
?A,@A'
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
3/29
GENERAZIONI
$< LI&.A&&I MACC?IA
=< LI&.A&&I ASS'M!L'
1< LI&.A&&I '#+L./I
2< -ACC?'//I -'S+ALI**A/I
4< LI&.A&&I ,IC?IAA/I#I
I linguaggi di programmazione possono essere pi vicini e facilitare il compito oall"uomo o alla macchina%Con l"andare del tempo si 5 cercato di formulare linguaggi di programmazione pifacili per l"uomo che per la macchina8 /uttavia esistono situazioni ove 5 ancoraopportuno usare il linguaggio pi vicino alla logica della macchina%-artendo dagli anni "ED con l"+S (operations system)7 capace di svolgere pi di$DDDDDD di istruzioni7 si 5 cercato di incrementare sempre di pi la produttivit:dell"elaboratore aumentando il numero di istruzioni svolte dall"elaboratore%Si sono anche creati programmi traduttori detti 9compilatori; che traducono i
linguaggi pi 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 ImperativiMacchina Cobol Algl Apl -ascal
&pss -rolog,ichiarativi
>+/A -er applicazioni scientificheC+!+L Linguaggio per applicazioni gestionarie!ASIC -rimo linguaggio per -C7 pi interattivo e di facile utilizzo
-ASCAL '" particolarmente curato nella struttura% +ggi il suo utilizzo 5 diminuitoma 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
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
4/29
1.7 IL CONCETTO DI ALGORITMO
Algoritmo deriva da alGoarizmi7 matematico arabo del IJ secolo%,'>II*I+' Metodo &''AL'(K)7 AS/A//+(KK)7 '>>'//I#+(KKK) dirisoluzione di problemi formulati esplicitamente%(K) sommare 1F2 (particolare) sommare Fy (generale per ogni coppia di 7y)(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
uesto >lochart ha lo scopo di sommare mFn7 con una rappresentazione staticama dall"andamento dinamico8 Il principio con cui vengono sommati i numeri 5 ilseguente
m n
7 3
8 2
9 1
( prendo $ unit: da n e la metto in m fino a 6uando nND)
SPIEGAZIONE DEL DIAGRAMMA
II*I+
mmF$ nn$
>I'
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
5/29
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 nD torna a =% nn$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 istantesuccessivo (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 flochart 5 il seguente
II*I+ o >I'
C+M-+'/I ,'LL"AL&+I/M+ -'M+,I>ICA ,'LLA #AIA!IL'
+SS'#A*I+' S.LLA #AIA!IL'(condizioni) -.+" 'SS'' #'A (true)o >ALSA (false)
uindi il programma 5 la rappresentazione degli algoritmi in una particolaresituazione (anche se l"algoritmo 5 indipendente dalla situazione)%
1.9 LEFFETTIVITA(condizioni di definitezza ed eseguibilit: di un algoritmo)
$% ?a zero o pi dati in ingresso (6uantit: assegnate prima dell"inizio)=% ?a uno o pi dati in uscita1% ,eve poter terminare dopo un numero finito e discreto di passi2% +gni passo deve essere definito in modo preciso e non ambiguo7 per ogni caso possibile4% 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
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
6/29
Leggi i valori a7b7c
$%$$VARIA!ILI " ASSEGNAMENTI
.na variabile ?a un nome
,enota un valore
Istruzione i !sse"n!#entoesempio A!FC
sindest %!% $ sola variabileCalcola 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%
%!% Il valore di A viene modificato mentre 6uelli di ! e C sono fissi%
Istruzione i s$rittur!%
.n valore si puB usare una sola volta's% A! S!A&LIA/+
!A
A! !C &I.S/+ (rinomino la ! in C per poi riutilizzarla con A) CA
'sempio Stampo $7=
Stampa i valori delle variabili di nome $ e = ome $ e = Stampa 9nessuna soluzione; Stampa (senza alcuna elaborazione)la se6uenza
/ra le virgole%
$%$=LALGORITMO PIU ANTICO
b c
$$
1
=
a b c
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
7/29
Si tratta dell"algoritmo di '.CLI,' Oelementi7 libro #II7 proposizioni I e II7 11D1$Da%c%P,ati due interi positivi m e n7 trovare il loro M%C%,%7 cio5 il minimo intero positivoche divide senza resto sia m che n%'$%Otrovare il restoPdividere m per n e chiamare r il resto
'=%O5 zeroQPse rND l"algoritmo termina e n 5 la risposta'1%OscambiareP -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%,%
($) 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%,%(nm7n)NM%C%,%(m=Kn7n)N
NM%C%,%(m6Kn7n)NM%C%,%(r7n)NM%C%,%(n7r)
1.13ALGORITMI CHE USANO ALTRI ALGORITMI(prodotto (7y))
7y
falso
vero
1.14
1.15
1.14 PROGRAMMAZIONE
In piccolo (singoli) -+!L'MAAL&+I/M+-+&AMMA In grande (gruppi)
Sistemista-rogettista
II*I+
*D
yy$ z somma(z7)
ND
>I'
SIS/'MA ?T@ST@
Softare Applicativo
-ro $ -ro
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
8/29
-rogrammatore
1.15 FLO#$CHART %&'(")*+
# >
odo +perativo odo decisionale(istruzioni) (condizioni)
odo iniziale odo finale
'sempio
S/A/ S/+-
-
r
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
9/29
# >
#
>
>
#
'sempio n VWn
#
(rite >)
'sempio di spaghetticharts
S/A/
!
C
,
S/+-
VD >$
S/A/
VVF$ >V>
S/+-
S/A/
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
10/29
1.16 STILI DI PROGRAMMAZIONE " STRUTTURE DI
CONTROLLO
-er costruire un programma funzionante e ben strutturato si devono osservare 6uesteprime regole base
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+
-roblema -rogrammi scritti con &+ /+ sono complessi (difficili da modif%)8
C'CA' C+S/.//I LI&.IS/ICI AL/'A/I#I
+bbiettivi 'vitare la complessit: dei programmi mediante criteri di divisione in
parti%
S/+-
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
11/29
S/.,I+ ,'&LI SC?'MI ,I C+/+LL+
TRE SCHEMI !ASE,
S'.'*A!"-*
A
!
E/
S'L'*I+'
# > I0 PT(" A
E&" !
>I0 P
# T(" A
I/'A*I+'>
#(*" P / A
# % / P " * * A+
R"": A :* P> %R*":* A 0* ;/ P
D*": "+
A
!
A !
-
A !
-
A
-
AA
-
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
12/29
#
SCHEMA IN PAROLE CHIAVE
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
13/29
FORTE% ,ue programmi sono >+/'M'/' '.I#AL'/I se7 per ogni insiemedi dati di ingresso7 le rispettive se6uenze di esecuzione sono uguali%('.I#AL'*AAL&+I/MICA)%
'S'M-I+ ,I -+&AMMI >+/'M'/' '.I#AL'/I
R"": A !"-*
U:* ! A
> > #(*" / AE/
# #
'S'M-I+ ,I -+&AMMI ,'!+LM'/' '.I#AL'/I
#
>
#
>
- (ttN$)p(t$)(tND)
-A6 (tD)(tN$)pA6(t$) (tN$) (Assegnamento del-a6!p (tD)(tN$)pA6!(tN$) #alore $ a t)
-(t$)(tN$)
2.2 TEOREMA DI !($='** %1966+
,ato un programma costruito a partire da uno schema flochart esiste sempre unprogramma costruito con gli schemi di base debolmente e6uivalenti a 6uello dato%%!% Con i tre schemi si puB comporre 6ualun6ue funzione ma + rappresentare
6ualun6ue algoritmo%
2.3 DEFINIZIONE DI GRAMMATICA DI UN LINGUAGGIO
- -
A
A
!
t
/
A
!
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
14/29
G>?:@@@&/ N Insieme di simboli terminali
N Insieme di simboli non terminali (cat% Sintattica)- N Insieme di regole grammaticali
S N Simbolo iniziale (radice7 scopo)'sempio / unito N ins%vuoto S appartiene
2.4 PROGRAMMAZIONE STRUTTURATA
-+!L'MA descrizione in italiano
AL&+I/M+ descrizione di massima (flochartpseudocodice)
-+&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%
SINTASSI carte sintattiche
'sempio yFz Assegnamento variabile espressione
SEMANTICA a parole
-rogrammaSorgente in L
Compilatore(grammaticain L)
-rogramma+ggetto in L
'S'C./+'
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
15/29
#iene calcolato il valore dell"espressione in funzione del valore corrente dellevariabili componenti e il risultato diventa il nuovo valore delle variabili%
3.1 IL PASCAL
L &:*, -rogettato nel $0EY$0E0 ealizzato nel $03D -ubblicato nel $03$ ,efinizione assiometrica nel $031 apporto rivisto e manuale nel $032
G* BB*"::**, >ondatezza concettuale >acilit: di apprendimento Compilazione a una passata
L0B":, Lettere (A7!7C8a7b7c8) Cifre (D7$7=71) Caratteri speciali ( F K T N W R ( ) O P Z [ % 7 8) Carattere \spazio" o blacG (b)
I 'B*, Simboli speciali (delimitatori) (F N WR WN RN %%) -arole riservate (if7 then7 else7 hile7 repeat]%%) Identificatori umeri Stringhe
IDENTIFICATORI%
'sempioCorretti Scorretti A 1K!
adice $ adice$ K1! epeat Somma /rue
NUMERI%
L'//'A
L'//'A
CI>A
CI>A % CI>A
'
F
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
16/29
'sempioCorretti Scorretti
1 17$ D1 D%$%2
E=3=Y22 JII
STRING'E%
'sempio Corrette Scorrette\A" \6uesta e" scorretta"
\JN=4" \6uesta e"" corretta"
SEPARATORI%
Se6uenza in !lacG
(carriage) returna capoline feednl (ne line)
3.2 OGGETTI DI PASCAL
CI>A
\ CAA//%,iverso da"
\
\ \
b
>inelinea
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
17/29
#ariabili Costanti 'spressioni >unzioni
T** " *B**,Caratteristiche
Insieme dei possibili valori TIPO
+perazioni applicabili
+peratori >unzioni predefinite
RAPPRESENTAZIONE
FUNZIONALITA
T** &")*'* " ')&:*,
/I-+
S'M-LIC' C+M-+S/+
Insieme di valori Insieme di valori
elementari ciascuno dei 6uali5 composto da pivalori elementari%
'sempioInteger ,ata
< posti al cinema giorno(integer) Mese (integer) Anno (integer)
S' /"* :**,
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)
C&&*0*'*" /"* :**,
/I-I
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
18/29
SCALAI S/.//.A/I -./A/+I
S/A,A, C+S/.I/I S'/ AA 'C+, >IL' Oins%potenzaP Oins%funzioniP Oinsieme chiusuraP
#AIA/ 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#i Ci diverso C^ per i diverso ^ CiWC^ per $WNiWN^WNn
O(er!tori i re)!zione W7WN7R7RN7N7WR
Funzioni%
S.CC (Ci)NCiF$ ($WNiWNn)-', (Ci)NCi$ ($WiWNn)+, (Ci)Ni$ ($WNiWNn)
Ti(i enu#er!ti*i%
'sempio
/ype mese(gen7 feb7 mar7 ecc%%%) Colore(rosa7 giallo7 nero7 ecc])
Sesso(maschio7 femmina)
I linguaggi di enumerazione sono ordinatiesempio >ebWmar
,evono essere disgiuntiesempio/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%
/-' meseN(]),efinisce l"attributo mese associabile ad una variabile
#A 7y mese
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
19/29
,ichiara che le variabili e y sono di tipo mese%'sempio ,IC?IAA*I+I var z integer
IS/.*I+I zNzF$ z zF$JNgen ecc%%
SIMPLE T,PE%
T,PE IDENTIFIER%
CONGRUENZA DI TIPO (negli assegnamenti)
#A s(positivo7 negativo)#A C$7C=(rosso7 blu7 giallo)
SN positivoC$N rosso C+'//IC=NC$
C$N positivoC=N verde 'A/I
C$N S
TIPO SU&RAGE%Si indicano gli estremi gli estremi di un intervallo/-' MesestivoN &I.%%S'/
ota
/-'I,'/I>I'
( I,'/I>I' )
7
C+S/A/ %% C+S/A/
I/'&'
'AL
!++L'A
C?A
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
20/29
#A a7b Mese#A 7y Mesestivo
aN genbN agoN a (puB dare degli errori in esecuzione)
bN y (v: sempre bene)
3.4 TIPI STANDARD
TIPO STANDARD INTEGER
Integer N (maint 7 $%%maint)(maint costante dipendente dell"implementazione)
+-'A/+I F 7 7 K 7 div 7 mod'sempio a N ((a div b)Kb)F(a mod b)
>.*I+I odd(dispari) 7 abs 7 s6r(6uadrato)7 pred 7 succ
TIPO STANDARD REAL
eal N ($DXe$%%$DXe= 7 $DXe1%%$DXe2)(e$7e=7e17e2 sono costanti dipendenti dall"implementazione)
%!% >loating -oint N #irgola Mobile
otazione ,ecimale otazione Scientifica1%$2 4'E 4K$DXE 4DDDDDD
=4%D E%D'2 EK$DX2 D%DDDEFD%$0 FE%DY'F=3
+-'A/+I F 7 7 K 7 T 7 W 7 R
>.*I+I abs 7 s6r 7 ep 7 ln 7 sin 7 cos 7 arctan 7 trunc 7 round
TIPO STANDARD !OOLEAN
!oolean N (false7 true)
+-'A/+I 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
'sempio#A log boolean Int7a7b7c7d integer8LogN true
LogN int RNDIf log then]%If (aWb) and (not(cNd)) then]%
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
21/29
TIPO STANDARD CHAR
Char N (]%7"`"7""7"D"7]%7"0"7"a"7]%7"z"7]%)
>.*I+I chr(1E) N \ " (in codice ASCII7 nel 6uale ad ogni carattere 5 associato
+rd(\`") N 1E un valore numerico)
,: il codice numerico del carattereChr(ord(car)) N car+rd(chr(int)) N intF operatori e funzioni degli scalari (es% succ(\L") N (\M"))
3.5 OPERATORI
Sono definiti ,+MII+ (tipo di operandi) di ogni operatore e funzione
C+,+MII+ (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 r
< scalare scalare boolean
pred scalareno real! scalare !
Simbolicamente> , C (dominio codominio) ,$K,= C (in generale ,$K]%K,nC)ESPRESSIONI CON OPERATORI
#A b boolean C char
I7 ^ integer J real
! and ( trunc (sin () ) F ord (C) W i div ^ )
real
integer integer
integer integer
boolean boolean
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
22/29
boolean
PRECEDENZE DEGLI OPERATORI (2 livelli)ma
not operatori monadici
KTdiv operatori moltiplicativimodand
F operatori additivi
or
NWRWR operatori di relazioneWNRNin
min
%!% 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 conil procedere del programma%
#ariable ,eclaration
'sempio
#A integer8y7z real8
#A Identifier /-' 8
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
23/29
3.7 LE COSTANTI
Le costanti sono dei valori dichiarati nella sezione C+S/ che assumono un valore in talesezione e 6uesto non cambia con lo svolgersi del programma%
Constant ,eclaration
'sempioC+S/ min N $D8
ma N $DD8
3.8 ITERAZIONI
C+S Identifier N Constant 8
#HILE 'J-'SSI+ DO S/A/'MA/
S/A/'MA/ UNTIL S/A/'MA/
8
FOR N
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
24/29
ISTRUZIONE FOR,
>+ iNe$ /+ e= ,+ S >+ iNe$ ,+@/+ e= ,+ S
> >
# #
In generaleiN succ(i)
'S'M-I+
CONSTpaganormale N $DDDD8 -agastraordinario N =DDDD8
I,'/I>I' 'J-'SSI+
DO#NTO
'J-'SSI+
S/A/'MA/
iNe$
iNiF$
iWNe
S
iNe$
iRNe
S
iNiF$
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
25/29
TPEgiorno N (lun7mar7mer7gio7ven7sab7dom)8
VARpaga D%%maint8 giornoferiale lun%%ven8
giornofestivo sab%%dom8 ore D%%=28
!EGIN
-aga N D8FOR giornoferiale N lun TO ven DO !EGIN ead (ore)8 paga N pagaForeKpaganormale8
END
FOR giornofestivo N sab TO dom DO!EGIN
ead (ore)8paga N pagaForeKorestraordinario8END
riteln (\pagaN"7paga)8
END.
3.9 EUIVALENZE
'6uivalente a
> >
# #
REPEATS UNTIL- &EGINS8
-'ILEnot -DO S END
S
S
not
S
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
26/29
>> e6uivalente a
# #
>
-'ILE-DOS#
IF- T'ENREPEATS UNTILnot -
ZnRND[ ZnRN$[ ZnRND[ ZnRND[
>N$ >N$ >N$ >N$8@?IL' nR$ ,+ '-'A/ I> nR$ /?' >+ iNn ,+@/+ $ ,+
!'&I >N>Kn8 '-'A/ >NfKi >N >Kn8 nNn$ >N>Kn8
nNn$ ./IL nND nNn$ ',% ./IL nND
3.1 TIPI STRUTTURATI
Caratteristiche
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
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
27/29
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
28/29
8/11/2019 [Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]
29/29
Top Related