• Non ci sono risultati.

F O NDA M E N T I D I I N F O R M A T ICA II P rog ra mm a z ion e a d O gg e tt i

N/A
N/A
Protected

Academic year: 2021

Condividi "F O NDA M E N T I D I I N F O R M A T ICA II P rog ra mm a z ion e a d O gg e tt i"

Copied!
10
0
0

Testo completo

(1)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 1 U n iv e rs it à d e g li S tud i d i M od e n a e R e gg io E m ili a

F ac o lt à d i I ng e gn e ri a

C O R S O D I

F O NDA M E N T I D I I N F O R M A T ICA II P rog ra mm a z ion e a d O gg e tt i

Ing . F ra n c o Z a m bon e lli

Lu c id i rea li zz a ti i n c o ll a bo ra z ion e c on Ing . E n ri c o D e n ti - D E IS , U n iv . B o logn a

A nno A cca d e m ic o 1999 /2000

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 2 IN T R O DU Z IO N E A LL A T E CN O L OG IA O B J E C T -O R IE N T E D

M O T IVA Z IO N I • p rog ett ar e si st emi so ftw ar e d i g ra nd i d im en si on i ric h ie d e ad egua ti suppo rti • “c ris i d el so ftw ar e” : i co sti d i g es ti on e d iv en ta no p re pond er an ti su qu elli d i p rodu zi on e • il so ftw ar e dov re bb e e ss er e p ro te tt o , ri u sa b il e, d o cu m en ta to , m o du la re , in cre m en ta lm en te e st end ib il e

IL P UN T O C H IAV E • i li ngu agg i d i p rog ra mm az ion e d evono fo rn ir e • non so lo un m odo p er es p rim er e co m pu ta zi on i • m a a n ch e un m odo p er d a re st ru tt u ra all a d es cr iz ion e • e un suppo rto p er o rga n izz a re b en e il p ro ce ss o p ro du tt ivo d el so ft w a re

L ’O B IETT IV Oco st ru zi o n e m od u la re e in cr em en ta le d el so ftw ar e • o tt enu ta p er es te n si o n e / sp ec ia li zz a zi o n e d i co m po n en ti tec no log ia co m po n en t- ba se d

• L e st ru tt u re d ati e le st ru tt u re d i con tr o ll o (p rog ra mm az ion e st ru tt u ra ta ) non ba st ano • L e fun zi on i e le p ro ce du re non ba st ano • F il e e m odu li co m e “c on te n it o ri d i d es cr iz ion i” non ba st ano

(2)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 3 CR IS I D IM E N S IO NA L E

P rog ra mm i d i p icc o le d im en si o n i • acce n to su ll 'a lgo ritm o • d ia g ra mmi d i flu ss o • p rog ra mm az ion e st ru tt u ra ta

N on app en a il p rog ra mm a c re sce in d im en si on i, non si rie sce p iù a g es ti rlo : b is ogn a d imi nu ir e la c o m p le ss it à!

P rog ra mm i d i Me d ie D im en si o n i • fun zi on i e p ro ce du re c o m e a st raz ion i d i i st ru zi on i co m p le ss e • d ec o m po si zi on e d eg li al go ritmi i n b lo cc h i fun zi on ali

A ll a b as e rim an e il con ce tt o d i "a lgo ritm o ".

P rog ra mm i d i G ra nd i D im en si o n i • ti p ica m en te tr att ano g ra nd i m o li d i d ati M A • la d ec o m po si zi on e fun zi on al e non è a d egu at a • non c'è acc opp ia m en to d ati -f un zi on i ch e li el abo ra no • ti p ica m en te d evono ess er e sv il upp ati d a tea m M A • la d ec o m po si zi on e fun zi on al e e il d is acc opp ia m en to d ati - fun zi on i non p er m ett e la d ec o m po si zi on e d el l avo ro • ti p ica m en te tr att ano ed el abo ra no d ati re la ti v i ad en tit à d el m ondo rea le (p er son e, ogg etti , g ra fic i, do cu m en ti ), e in te ra g is cono con en tit à d el m odo rea le M A • le e n tit à d el m ondo rea le non sono "d ati " su cu i op er ano d ell e fun zi on i, m a sono en tit à c h e d evono ess er e tr att at e in m odo co er en te a ll a lo ro ess en za

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 4 CR IS I G ES T IO NA L E

Il co st o m agg io re n el p ro ce ss o d i p rod u zi o n e d el so ftw a re è do vu to a l su o m a n te n im en to : • co rr etti vo • ad att ati vo

P rog ra mm i d i p icc o le d im en si o n i • non d iff ic ili ss im o tr ov ar e g li err o ri • p rop ag az ion e d eg li eff etti d ell e m od if ic h e limit at e in tr in seca m en te d all e d im en si on i d el p rog ra mm a

P rog ra mm i d i Me d ie D im en si o n i • g es ti on e b as at a su ll e p ro ce du re p er l'i nd iv idu az ion e d eg li err o ri • g li eff etti d ell e m od if ic h e non sono limit ati all e p ro ce du re in cu i t al e m od if ic h e sono fa tt e, m a si p rop ag ano , a ca u sa d el non - acc opp ia m en to d ati fun zi on i

P rog ra mm i d i G ra nd i D im en si o n i • qu as i im po ss ib il e tr ov ar e g li err o ri • se le m od if ic h e si po ss ono p rop ag ar e non è po ss ib il e fa re d ell e m od if ic h e se n za c o invo lg er e tu tt o il t ea m d i sv il uppo

è n ece ss a ri o ca m b ia re RA D ICA L M E N T E il m odo d i co n ce p ir e, p rog ett a re e p rog ra mm a re il so ftw a re !

(3)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 5 IL CA M B IO D I P ARAD IG M A

T ra d iz ion a le :

D A T I F U N Z IO N I e C H IA M A TE a F U N Z IO N I E L A B . D A T I

A d O gg e tt i:

OGG ET T I = da ti + fu nz io ni ch e vi op er an o

S C A M B IO D I M E S S AG G I (r ic hi es te di se rv iz io ) T R A OGG E T T I

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 6 C O NC E TT I CH IA VE • A st raz ion e d i D at o • T ip i d i d at o as tr att o (AD T , A b st ra ct D a ta T yp e) • M od ell o C li en te / S er v it o re (C li en t / S er ve r) • O gg etti e C la ss i • M odu li

A S T RA Z IO N E D I D A T O • F o ca li zza re l’ att en zi on e su ll e ca te go ri e c on ce tt ua li d ei d ati d el do mi n io app li ca ti vo • co st ru ir e il p rog ra mm a in te rmi n i d i "e n tit à" , ra pp re se n ta te d a un a st ru tt u ra d ati i n te rn a NA S C O S T A e d a op er az ion i ch e po ss ono AG IR E S U I DA T I, ch e in te ra g is cono tr a lo ro

VAN T A GG I • ag evo la la m odu la rit à acc opp ia ndo d ati e fun zi on i (c h e è g iu sti fica ta si a p er la d imi nu zi on e d i co m p le ss it à si a p er il fa tt o ch e ce rti d ati po ss ono ess er e tr att ati so lo tr amit e ce rte fun zi on i si a p er ch é ce rte fun zi on i po ss ono tr att ar e so lo ce rti d ati ); • fa vo ris ce il con tr o ll o su ll 'in te g rit à d ei d ati (s o lo ce rte fun zi on i po ss ono ag ir e su i d ati e non fun zi on i ar b it ra rie c h e po tr ebb er o fa re d ei d ann i o co se e rr at e!) .S e un d at o ris u lt a e rr at o , si lo ca li zza fac ilm en te l’ err o re p er ch é so lo ce rte op er az ion i h anno po tu to ag ir e su qu es ti d ati • fa vo ris ce la c reaz ion e d i co m pon en ti au tono mi e “ v ali d ati ” • mi n imi zza la d is ta n za c on ce tt u al e tr a p rob le m a e su a ris o lu zi on e in te rmi n i so ftw ar e

T IP O D I DA T O A S T RA TT O E n tit à simili po ss ono ess er e c on si d er at e "d ell o st ess o ti po " (o d ell a st ess a c la ss e) , an ch e se c on att ribu ti sp ec if ic i d iv er si .

(4)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 7 ESE M P IO : il c on ta to re

A pp ro cc io cl a ss ic o :

main() { … int cont;

cont++; cont--;

if (cont == MAX) {….}

cont = cont*cont; /* puó avere senso per un intero ma non ha alcun senso per una entità contatore */ }

P R O BLE M I

• dov' è l'e n tit à c on ta to re? • D ov e sono le op er az ion i amm ess e sug li ogg etti d i ti po con ta to re? • po ss ia m o fa re c o se NON S E N S A TE su l con ta to re • sti am o u sa ndo le m o ss e e le m en ta ri d ell a m acc h in a C (in te g er e op er at o ri d i i n cr em en to ), non sti am o u sa ndo d ell e ca te go rie con ce tt u ali d i ti po con ta to re ! non po ss ia m o ri- u sa re il con ce tt o d i con ta to re !

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 8 ESE M P IO : il c on ta to re

T IP O D I DA T O A S T RA TT O " C o n ta to re "

DA T I ( A tt ribu ti ch e ca ra tt er izza no un con ta to re ): valore_cont;

O P E R A Z ION I ( qu ell e p er m ess e su un ti po d i d at o con ta to re” ) void inc(); void dec(); int getValue();

V o rre mm o P o ter F a re :

main() {Contatore cont; /* definisco un TDA Contatore*/ /* NEL LINGUAGGIO A OGGETTI SI DICE "ISTANZIARE" */

Contatore cont2; /* ne istanzio un'altro */

cont.inc(); /* invoco delle operazioni sul contatore */ cont.dec();

cont2.dec() /* le stesse operazioni le posso invocare chiedendole all'altro contatore: sono dello stesso tipo, ma ovviamente avranno attributi specifici diversi!*/

if(cont.getValue() > MAX) {….}

cont++; /* ERRORE: NON E' UN INTERO */

cont.valore_cont=cont*345; cont.valore_cont++ /* ERRATE ENTRAMBE: il dato valore_cont è accessibile solo tramite le operazioni di cont */ }

(5)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 9 ESE M P IO : s tud e n ti

A pp ro cc io C la ss ic o :

typedef struct Studente { char nome[20]; char cognome[20]; int matricola; int num_esami_dati; struct esami[29] {char nome[20]; int voto;} }

void nuovo_esame_dato(Studente s, char *nome_esame, int voto_preso) { strcpy(s.esami[s.num_esami_dati].nome, nome_esame); strcpy(s.esami[s.num_esami_dati++].voto, voto_preso); } /* e altre funzioni varie…..*/

main() { Studenti s1, s2;

s1.nome = "pippo"; s2.cognome = "rossi"; /* NON BELLO: COSI' ACCEDO AI DATI INTERNI DI STUDENTE*/

/* POI POSSO FARE */ new_esame(s1, "Sistemi Operativi", 18);

/* MA ANCHE */ s1.esami[4].voto++; /* NON DOVREI! NON HA SENSO! Non e’ una operazione ammissibile sul tipo di dato*/

}

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 10 ESE M P IO : s tud e n ti

DA T I: char nome[20]; char cognome[20]; int matricola; Cont num_esami_dati; struct esami sostenuti {char * nome; int voto};

O P E R A Z ION I ( al cun e p en sa b ili t ra qu ell e a mmi ss ib ili )

void nuovo_esame_dato(char *nome_esame, int voto_preso); Int calcola_media(void); void iscrivi_anno_successivo();

V o rre mm o P o ter F a re :

main() { Studenti s1("Franco Zambonelli"), s2("Donald", "Duck");

s1.nuovo_esame(s1, "Sistemi Operativi", 28);

} G R O SS O CA M B IA M E N T O D I P ARA D IG M A :

N O N s i ric h ie d e a fun zi on i d i op er ar e su d ati

nuovo_esame(s1, "Sistemi Operativi", 28);

M A s i ric h ie d e a ll e e n tit à d i es egu ir e d ell e fun zi on i

s1.nuovo_esame(s1, "Sistemi Operativi", 28);

(6)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 11 M O D E LL O C L IE N T E /SE R V IT O R E

• D at o un p rob le m a, b as ar si su un in si em e d i ce n tr i d i se rv iz io , ognuno ca p ace d i es egu ir e un b en p rec is o in si em e d i a tti vit à

S po st am en to d el fuo co • NON ch ia m ar e un a fun zi on e c h e e la bo ri d ei d ati M A • ch ie d er e a un a e n tit à so ftw ar e d i svo lg er e un se rv iz io

E se m p io : d at o un v ett o re , NON invo ca re un a p ro ce du ra d i o rd in am en to , M A ch ie d er e a un a e n tit á o rd in at rice d i fa rc i il s er v zi o d i o rd in ar ci il v ett o re

E se m p io : d at o un fil e, non invo ca re un a fun zi on e c h e sc riv a d ati su l fil e, m a ch ie d er e a l fil e st ess o d i svo lg er e il se rv iz io re la ti vo all a sc ritt u ra d i fil e su d i ess o

• I cli en ti non cono sc ono l ’o rg an izzaz ion e in te rn a d ei ce n tr i d i se rv iz io , e non po ss ono acce d er e d ir ett a m en te a e ss a • non in te re ss a l'a lgo ritm o (c o m e sono fa tt e le c o se ) m a in te re ss a c h e le c o se v eng ano fa tt e • i cli en ti sono ind ip end en ti d a c o m e sono fa tti i se rv it o ri: fac ilit a la m anu te n zi on e!

N ell' es em p io p rece d en te : • il m ai n ch ie d e se rv iz i all o S tud en te s1 , il qu al e c h ie d e se rv iz i a un C on ta to re c on t;

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 12 C O S A V O RR E M O ?

UN L INGU A GG IO P ER D EF IN IRE E IS T A N Z IARE A D T , C H E P O SS ONO IN T ERA G IRE T RA L O R O S O L O T RA M T E R IC H IE S T E D I S ERV IZ IO

ADTdef Contatore { int valore_cont; /* struttura dati interna */ /* operazioni ammesse */ void inc() {valore_cont++;} void dec() {valore_cont--;} int getValue() {return valore_cont;} }

ADTdef Studente { /* struttura d ati interna */ char nome[20]; char cognome[20]; int matricola; Cont atore num_esami_dati; struct esami[29] {char nome[20]; int voto;} /* operazioni ammesse */ void nuovo_esame(char *nome_esame, int voto_preso) { int cont = num_esame_dati.getValue(); esami[cont].nome = nome; …} … }

main() {Studente s1;

s1.new_esame("Fondamenti II", 30); /* corretta */ new_esame(Fondamenti II", 18); /* ERRATO: a quale entità stiamo richiedendo l'operazione?*/ s1.matricola++; /* ERRATO non possiamo agire sulla struttura dati interna se non tramite le operazioni ammesse */ }

M A QU E S T O S AREBBE E S A TT A M E N T E UN L INGU A GG IO D I P R OG RA MM A Z ION E A D OGG E TT I!

(7)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 13 IL C O NC E T T O D I OGG E T T O

• U n ogg ett o co m e a st ra zi o n e d i da to o ce n tr o d i se rv iz i • con un a pa rt e v is ib il e I N T ERFA CC IA • e un a pa rt e na sc o st a

LE O P E RA Z IO N I D I I N TE R F ACC IA RA PP R E S E N T AN O : • I se rv iz i ch e g li alt ri ogg etti po ss ono ric h ie d er e a ll 'ogg ett o • M od alit à d i t ra tt am en to d ei d ati d ell 'ogg ett o o d i acce ss o ai d ati

L A P AR TE NA S C O S T A C O N T IE N EDA T I • G li att ribu ti ch e ca ra tt er izza no l'ogg ett o • L o st at o d ell 'ogg ett o • S ono acce ss ib ili so lo att ra v er so ric h ie st e d i se rv iz io • O P E RA Z IO N I P R IVA TE • S fr u tt at e d all e op er az ion i pubb li ch e m a non se rv iz i es te rn i C en tr o se rv iz i O p er az ion e A

O p er az ion e B

O p er az ion e C P a rt e na sc o st a

P a rt e v is ib il e (I N T ERFA CC IA )

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 14 ARC H ITETT URA D I UN S IS TE M A A OGG ETT I

• U n in si em e d i ogg etti • ch e in ter g is co n o g li un i co n g li a lt ri • se n za c ono sce re nu ll a d ell e ris p etti v e ra pp re se n taz ion i con cr et e

D E S CR IZ IO N E D I UN S IS TE M A A OGG ETT I • O gn i ogg ett o app ar ti en e a (“è is ta n za d i” ) un a d at a cl a ss eL a cl a ss e ra cc h iu d e e in cap su la la sp ec if ic a d i • st ru tt u ra d ell ’ogg ett o (d ati ) • co m p o rt a m en to d ell ’ogg ett o (op er az ion i) • L e c la ss i in te g ra n o e d es te n do n o il co n ce tt o d i AD T • e po ss ono ess er e c o rr el at e tr a lo ro → ta ss ono m ie d i er ed it a ri et à ch e p er m ett ono il co ll eg am en to tr a c la ss i simil e p er r i- u sa re il cod ice c o m un e

R IS U LT A T I • suppo rto a p rog ett az ion e e sv il uppo in cr em en ta li • fac ilit az ion e d i co st ru zi on e coop er a ti va d i so ftw ar e • po ss ib ilit à d i rap ida p ro to ti pa zi on e

(8)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 15 R E A L IZZ A Z IO N E D E G L I AD T

N ei li ngu agg i “c la ss ic i” , non a ogg etti , è c o m unqu e po ss ib il e se gu ir e un a “ fil o so fia d i p rog ett az ion e d el so ftw ar e” a ogg etti . P er ò le limit az ion i d el li ngu agg io re ndono l'a pp ro cc io o "s po rc o " o limit at o d al pun to d i v is ta e sp re ss ivo . In C , du e a pp ro cc i po ss ib ili: • AD T rea li zza ti t ra mit e ty p ed ef e v a ri ab ili ( e/ o pun ta to ri) • A tr az ion i d i D at o rea li zza ti t ra mit e m od u li (f il es )

C a so : ti po d i da to a st ra tt o d ef in it o d a typedef • g li ogg ett i so n o va ri a b ili d el ti po d ef in it o d a typedef → il cli en te può cr ea rn e tan te is tan ze qu an te d es id er a • le o p er a zi o n i so n o f un zi o n i fr a i cu i p ar am et ri figu ra il n o m e d ell a va ri a b il e- ogg ett o (is ta n za ) su cu i d evono ag ir e

C on se gu en za : il cli en te d ev e tr a sf er ir e e sp li cit a m en te l’ ogg ett o ai suo i se rv it o ri (f un zi on i ch e rea li zza no le op er az ion i d ell ’ogg ett o )

II ° C a so : a st ra zi o n e d i da to r ea li zza to tr amit e m odu li o fil e • il C non fo rn is ce un co st ru tt o m odu lo n el li nguagg io • si u sa no i fil es co m e co n te n it o ri , sfr u tt ando li • si a p er se p ar ar e in te rf acc ia e im p le m en taz ion e ( .h / .c ) • si a co m e (e le m en ta ri) m ecc an is m i d i p ro te zi on e

C on se gu en za : la se pa ra zi on e c on ce tt ua le in te rf acc ia /im p le m en taz ion e d iv en ta un a se pa ra zi on e fi si ca i cli en ti i n cl udono lo h ead er p er u sa re l’ AD T

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 16 E S . 1 : UN C O N T A T O R E co m e AD T

counter.h ...

typedef Contatore int;

int getValue(Contatore); void setValue(Contatore *, int ) ; void inc(Contatore *c); void dec(Contatore *c);

.... e counter.c

#include “counter.h” int getValue(Contatore c){return c;} void setValue(Contatore* c, int v ) {*c=v;}; void inc(Contatore *c){ (*c)++;} void dec(counter *c){ (*c)--;}

U so :

#include “counter.h” void main(){ Contatore c1, c2; setValue(&c1, 10); setValue(&c2, -31); printf("Valore di c1 = %d ", getValue(c1) ); inc(&c2); dec(&c1); }

P R O : • P o ss ib ilit à d i d ef in ir e e u sa re p iù ogg etti d i ti po counter

C ON T R O : • N ece ss it à d i p ass ar e pun ta to ri • R is ch io d i u sa re ogg etti non in iz ia li zz a ti (s e c i si d im en ti ca setValue ... ) • P o ss ib ilit á d i fa re op er az ion i non amm ess e su l con ta to re , po ic h é c ’è li b er o acce ss o all a v ar ia b il e. E s. Contatore * = Contatore ;

(9)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 17 E S . 2 : UN C O N T A T O R E co m e si n go la a st ra zi o n e d i d a to

count.h ...

int getValue(void); void setValue( int ); void inc(void); void dec(void);

.... e count.c

static int Contatore = 0;

int getValue(void){return Contatore;} void setValue( int v ) {Contatore=v;}; void inc(void){ Contatore++;} void dec(void){ Contatore--;}

U so :

#include count.h” void main(){ setValue(10); printf("Valore = %d ", getValue() ); inc(); }

P R O : • N on è n ece ss ar io d ef in ir e v ar ia b ili e p ass ar e ogg etti o pun ta to ri • Il con ta to re è p ro te tt o , ess endo in acce ss ib il e d all ’e st er no d el fil e count.c in m odo d ir ett o • S o lo le op er az ion i d en tr o d ef in it e d en tr o al fil e c oun t.c po ss ono acce d er e a c on t, non c’ è ris ch io d i fa re op er az ion i err at e!

C ON T R O : • E ’ im po ss ib il e d ef in ir e e u sa re p iù ogg etti c on ta to ri: non c'e ' il ti po d i d at o as tr att o ! E ’un a si ngo la a st ra zi on e d i da to • C ’è un so lo con ta to re , g ià e si st en te , e si può u sa re so lo qu ell o !

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 18 AD T e O P E RA Z IO N I

O p er a zi o n i = m ecca n is m o p er d is acc opp ia re i cli en ti d all a ra pp re se n taz ion e d eg li ogg etti

C la ss ifi ca zi on e d ell e op er a zi on i C a te go ri e

d al pun to d i v is ta d i ch i l e u sa • co st ru tt o ri • se le tt o ri • tr as fo rm at o ri • p re d ica ti • ....

d al pun to d i v is ta d i ch i l e re a li zz a • p rim iti v e / non -p rim iti v e • op er az ion i d i co st ru zi on e / op er az ion i d i con figu raz ion e • op er az ion i p riv at e / pubb li ch e

Il pun to d i v is ta d ell ’u te n te • op er az ion i d i co st ru zi on e (c o st ru tt o ri ) • op er az ion i d i se lez ion e d i so tt o -c o m pon en ti ( se le tt o ri ) • op er az ion i d i v er if ica d i p rop rie tà (p re d ic a ti ) • op er az ion i d i tr as fo rm az ion e

L a p re se n za o m eno d i ce rte ca te go rie d i op er az ion i cr ea d iff er en ti ca te go ri e d i ogg etti :ogg ett i a to m ic i / ogg ett i co m p o st i • g li ogg etti at o mi ci non hanno se le tt o riogg ett i p ri v i d i st a to / ogg ett i d o ta ti d i st a to • g li ogg etti p riv i d i st at o non hanno tr a sf o rm a to ri

(10)

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 19 L ’AD T " P AR O L A " : p re se n za d i tr a sf o rm a to ri ... ?

L A D IC O T O M IA VA L O R I / C O N TE N IT O R I

E se m p io : “un a p ar o la è un a se qu en za d i ca ra tt er i (non -s ep ar at o ri) ”

P ro b le m a : si pu ò m o d if ic a re un a p a ro la?

D u e a lt er n ati v e: • con ce tt o d i “p ar o la” c o m e con te n it o re d i ca ra tt er i → s ono po ss ib ili m od if ic h e a l con te nu to (m a i si ngo li ca ra tt er i sono v al o ri... ) • con ce tt o d i “p ar o la” c o m e va lo re → non sono po ss ib ili m od if ic h e a l con te nu to → non ci sono tr as fo rm at o ri (a tt en zi on e a ll ’a ss egn am en to !)

Q u es ta te m a tic a si ri tr ova , n a sc o st a , n ell a p se m p li ce (? ) d ell e o p er a zi o n i: l’ a ss eg n a m en to .

L -VA L U E e R -VA L U E

x = x + 2 • il sim bo lo x d eno ta • un va lo re (in te ro ) qu ando co m p ar e a d es tr a d ell ’ = (r -v a lu e) • un co n te n it o re qu ando co m p ar e a si n is tr a d ell ’ = (l- va lu e) • so lo un l- v al u e può co m p ar ir e a si n is tr a d ell ’ = ab cd xy z un a p ar o la

un a p ar o la d iv er sa

F ran co Z a m bon elli , E n ri co D en ti - I n tr odu zi on e a ll a T ec no log ia o ri en ta ta ag li O gg etti 20 L ’AD T P AR O L A : il pun to d i v is ta d ell ’im p le m en ta to re • op er az ion i d i co st ru zi on e / d i con figu raz ion e • op er az ion i p rimiti v e / non -p rimiti v e • op er az ion i p riv at e / pubb li ch e

C o st ru zi o n e: • un ’op er az ion e d i d efi n iz ion e, ch e a ll o ca m em o ria e ev en tu alm en te in iz ia li zza

P ri m it iv e: • op er az ion i d ip end en ti da ll a rapp re se n ta zi on e • d evono ess er e un in si em e fun zi on alm en te c o m p le to • sono le un ic h e a po te r acce d er e a ll a ra pp re se n taz ion e in te rn a

N o n p ri m it iv e: • rim angono in alt er at e an ch e se c a m b ia la rapp re se n ta zi on e • pu rc h é le p rimiti v e re sti no fo rm alm en te id en ti ch e

P ro tez io n e • op er az ion i ch e tu tti po ss ono es egu ir e (pubb li ch e) • op er az ion i p ri va te , ch e so lo alt re op er az ion i po ss ono u sa re → c o m e ga ran ti rl o?

T ip ica m en te e si st ono : • p rimiti v e v is ib ili • non -p rimiti v e v is ib ili • p rimiti v e p riv at e (a d u so es cl u si vo d el se rv it o re st ess o , p er rea li zza re a lt re op er az ion i p iù im po rta n ti i n m odo ind ip end en te d all a ra pp re se n taz ion e) • non -p rimiti v e p riv at e

Riferimenti

Documenti correlati

Sulla base dei dati disponibili, i criteri di classificazione non sono soddisfatti... Gravi danni

passa attraverso al contatore per portarsi ai con- cessionarii, altrettanta deve essere pagata alla So- cietà incaricata della distribuzione e neanche può attraverso ad esso

65T del 10/07/2019 ad oggetto: “Servizio di progettazione, direzione lavori, coordinamento della sicurezza lavori di riqualificazione e adeguamento caldaie dell’edificio comunale

Nel caso in cui l’Azienda intenda recedere dal contratto prima di aver ottenuto il Certificato di Conformità, sarà tenuta al pagamento delle spese già sostenute (es. audit o prove

contenute agli artt.4, 5 e 9, sui tempi della fase istruttoria e della decisione, rendono effettivo, nei procedimenti di riconoscimento di infermità o lesione dipendente da causa

La tariffa TARI è determinata sulla base del Metodo Tariffario per il servizio integrato di gestione dei Rifiuti (MTR) approvato dall’Autorità ARERA con Delibera 31 ottobre

zione dell'utente, in realtà è possibile lavorare solo su una parte di questa. Ciò si deve al fatto che nei primi personal computer, gli XT, è stato posto un limite alla

5. Fermo restando l’obbligo di denuncia all’autorità giudiziaria, il dipendente segnala, in via riservata, al RPCT le situazioni di illecito o irregolarità di cui venga a