[Colombo-bt.org eBook ITA]Programmazione - Fondamenti Di Informatica[by Ale88]

Embed Size (px)

Citation preview

  • 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