19.12.06

ALBERO BINARIO:


Un albero binario è un albero in cui ogni nodo ha al massimo due figli. Gli alberi binari hanno una elegante definizione ricorsiva:
Un albero binario è una struttura definita su un insieme di nodi che:
non contiene nessun nodo (albero vuoto), oppure
contiene un nodo radice, un albero binario detto sottoalbero sinistro ed un albero binario detto sottoalbero destro.
Molti algoritmi su alberi binari possono essere descritti in modo naturale sfruttando questa definizione ricorsiva, comprendendo un caso base (per l'albero vuoto) e una clausola ricorsiva (con due chiamate ricorsive, per i due sottoalberi).

Microsoft Office 2007


Microsoft Office System 2007 costituisce un set completo di prodotti per desktop e server che contribuiscono all'ottimizzazione del modo in cui una società e i suoi dipendenti svolgono l'attività aziendale. Questa recente versione offre funzionalità significativamente nuove per favorire l'aumento della produttività personale, semplificare la collaborazione, ottimizzare i processi e la gestione del contenuto aziendale e migliorare la qualità delle conoscenze aziendali a livello di organizzazione.
Con Microsoft Office System 2007 puoi:
Migliorare la produttività individuale e ottimizzare l'impatto personale sui risultati aziendali.
Semplificare la collaborazione indipendentemente dall'ora e dal luogo.
Ottimizzare i processi aziendali quotidiani e la gestione del contenuto aziendale.
Estendere e migliorare la qualità delle conoscenze aziendali a livello di organizzazione.



INFO TRATTE DA:http://office.microsoft.com/it-it/default.aspx

18.12.06

gioco della battaglia navale in pascal


program navalwar; { AndRyu }
uses crt;
const max=8;
type dati=record
nome: string[10]; { livello difficolt…, colpi effettuati }
lv,colp,ncol,nsub: byte; { navi colpite e subite }
point: integer; { punteggio }
baro: char; { baro (s/n) }
end;
dimens=1..max;
cel=array[dimens,dimens] of char;
info=array[dimens] of dati;
cell=^cel; { le varie tavole: }
var avvcolp,avvocc,mytab:cell; { colpite, occupate e la propria }
ap:byte; { var di appoggio }
pr:char; { var globale per la lettura dei tasti }
vero:boolean; { usata per il posizionamento navi }
inf:dati;
vet:^info;
fil:file of info;
procedure esc; { chiusura puntatori e arresto del programma, se esc }
begin
if pr=#27 then
begin
dispose(vet);
dispose(avvocc);
dispose(avvcolp);
if inf.lv<>0 then
dispose(mytab);
textcolor(15);
textbackground(0);
halt
end
else
if pr=#0 then
pr:=readkey
end;
procedure iniz(var x:cell); { inizializzazione puntatori }
var i,j:dimens;
begin
new(x);
for i:=1 to max do
for j:=1 to max do
x^[i,j]:=#126
end;
procedure error;
begin
sound(264);
delay(200);
nosound;
end;
procedure inizpunti;
var i:integer;
begin
assign(fil,'scores.txt');
new(vet);
{$I-}
reset(fil);
{$I+}
if ioresult<>0 then
begin
rewrite(fil);
with vet^[1] do
begin
nome:='Nobody ';
ncol:=0;
nsub:=0;
point:=1000;
lv:=12;
colp:=0;
baro:='n'
end;
for i:=2 to max do
vet^[i]:=vet^[1];
write(fil,vet^)
end
else
read(fil,vet^);
close(fil)
end;
procedure askinfo;
var i:byte;
begin
ap:=1;
inf.nome:=' ';
clrscr;
write('Inserisci il tuo nome (max 10 caratteri): ');
for i:=1 to 10 do { non permette l'inserimento di + di 10 caratteri }
if inf.nome[i]=' ' then { quasi inutile, se non per mia soddisfazione}
i:=10
else
write(inf.nome[i]);
repeat
pr:=readkey;
esc;
if (pr=#13) and not (ap=1) then { invio }
ap:=10
else
if (pr=#8) and not (ap=1) then { cancellazione }
begin
ap:=ap-1;
inf.nome[ap]:=' ';
write(pr,' ',pr)
end
else
if (ap<10)>#8) and (pr<>#13) then
begin { scrittura se corretto }
write(pr);
inf.nome[ap]:=pr;
ap:=ap+1
end
until pr=#13;
writeln; writeln;
write('Che livello di difficolta'' vuoi? (1=facile,2=medio,3=difficile) ');
repeat
pr:=readkey;
esc
until (pr>'0') and (pr<'4'); inf.lv:=12-(ord(pr)-ord('0'))*3 end; procedure color(c:char); { controllo del colore } begin case c of '*':textcolor(red); 'þ':textcolor(8); 'o':textcolor(3); '~':textcolor(lightblue); end; end; procedure tab(av,my:cell); var i,j:integer; procedure orizz; { trattini orizzontali} var i:integer; begin for i:=1 to 2*max+1 do write(' Ä'); for i:=1 to max do write(' '); for i:=1 to 2*max+1 do write(' Ä'); writeln end; begin {Procedura Tabella} clrscr; textcolor(green); writeln('BATTAGLIA NAVALE':48); { questi allineamenti sono fatti } textcolor(6); { apposta per il mio monitor, Š } write('Flotta Avversaria':27); { possibile che dovrete cambiarli } textcolor(5); { provate a fare dei tentativi ;) } write('Propria Flotta':40); textcolor(yellow); writeln; write(' '); for i:=1 to max do write(' ',i); write(' '); for i:=1 to max do write(' '); for i:=1 to max do write(' ',i); write(' '); writeln; textcolor(white); orizz; for i:=1 to max do begin textcolor(blue); write(i); textcolor(white); write(' '); for j:=1 to max do begin color(av^[j,i]); write(av^[j,i]); textcolor(white); write(' '); end; for j:=1 to 6 do write(' '); textcolor(blue); write(i); textcolor(white); write(' '); for j:=1 to max do begin color(my^[j,i]); write(my^[j,i]); textcolor(white); write(' '); end; writeln end; orizz; gotoxy(2,25); textcolor(10); write('ESC'); textcolor(8); write('i'); textcolor(15); gotoxy(1,14) end; procedure baro; { se si mostra la soluzione } begin clrscr; write('Sei un baro? (s/n) '); repeat pr:=readkey; esc until (pr='s') or (pr='n') or (pr='S') or (pr='N'); inf.baro:=pr; if (pr='s') or (pr='S') then begin tab(avvocc,mytab); pr:=readkey; end; esc end; procedure pos(var c:cell;var app,ri,co,l:byte;ori:char); begin { stabilisce le posizioni } if (app=0) and (((max-ri+11))) then
vero:=false;
if (c^[ri,co]<>'þ') and vero then
begin
if ord(ori)=1 then
ri:=ri+1
else
co:=co+1;
app:=app+1;
if app'r') and (pr<>'R') then
repeat
gotoxy(55,16);
if ori=#0 then
write('Verticale ')
else
write('Orizzontale');
pr:=readkey;
esc;
case pr of
#77: ori:=chr(1);
#80: ori:=#0;
end
until (pr=#13) or (pr='r') or (pr='R');
vero:=true;
ap:=0;
pos(mytab,ap,i,j,l,ori);
if (not vero) and (pr<>'r') and (pr<>'R') then
error;
t:=t+ap
until (t=2) or (t=6) or(t=8) or (t=5) or (pr='r') or (pr='R');
if (pr='r') or (pr='R') then
l:=5
end
until (pr<>'r') and (pr<>'R') { permette di resettare le navi }
end;
procedure navi(var c:cell); { assegna le posizioni dell'avversario }
var i,j,t,k,ap:byte;
begin
randomize;
for k:=2 to 5 do
begin
t:=0;
repeat
ap:=0;
vero:=true;
i:=random(max)+1;
j:=random(max)+1;
pr:=chr(random(2));
pos(c,ap,i,j,k,pr);
t:=t+ap
until (t=2) or (t=6) or (t=5) or (t=8);
end
end;
procedure points;
var i:byte;
begin
clrscr;
textcolor(10);
writeln('HighScores':44);
writeln;
textcolor(8);
writeln('Navi distrutte':64);
textcolor(15);
writeln('Posto','Nome':7,'Livello':12,'Baro':9,'Colpi':10,'Avversarie':14,
'Proprie':10,'Punteggio':12); writeln;
for i:=1 to max do
with vet^[i] do
begin
textcolor(1+i mod 4);
writeln(i:3,nome:15,(12-lv)div 3:3,baro:10,colp:10,ncol:11,nsub:12,point:12)
end;
textcolor(15);
gotoxy(2,25);
textcolor(4); write('CANC'); textcolor(8); write('ella'); textcolor(15);
gotoxy(1,15);
pr:=readkey;
esc;
if pr=#83 then
begin
write('Sei sicuro di voler cancellare i punteggi? (s/n) ');
repeat
pr:=readkey;
esc
until (pr='s') or (pr='n') or (pr='S') or (pr='N');
if (pr='s') or (pr='S') then
begin
erase(fil);
inizpunti
end
end
end;
procedure gioco; { quale settore bombardare e dove vieni bombardato }
const x=1; y=4;
var i,j:byte;
procedure colrig(var n:integer; sogg:string); { Richiesta Colonna/Riga }
begin
write(sogg);
repeat
pr:=readkey;
esc
until (pr>'0') and (pr<'9'); n:=ord(pr)-ord('0'); writeln(n) end; function perso:boolean; { controllo Perdita } var i,j:byte; begin perso:=true; inf.nsub:=0; for i:=1 to max do for j:=1 to max do if mytab^[i,j]='þ' then perso:=false else if mytab^[i,j]='*' then inf.nsub:=inf.nsub+1 end; function vinto:boolean; { controllo Vittoria } var i,j:byte; begin vinto:=true; inf.ncol:=0; for i:=1 to max do for j:=1 to max do if (avvocc^[i,j]='þ') and (avvcolp^[i,j]<>'*') then
vinto:=false
else
if avvcolp^[i,j]='*' then
inf.ncol:=inf.ncol+1
end;
procedure colpito(a,b:integer); {Sottoprocedura di controllo Colpito}
begin
if avvocc^[a,b]='þ' then
begin
avvcolp^[a,b]:='*';
write('Hai colpito una nave!');
end
else
begin
avvcolp^[a,b]:='o';
write('Hai fatto un buco nell''acqua!');
end
end;
procedure pcatk(c:byte); { attacco del pc }
var i,j:byte;
begin
repeat
i:=random(max)+1;
j:=random(max)+1;
if (mytab^[i,j]<>'*') and (mytab^[i,j]<>'o') then
if mytab^[i,j]='þ' then
begin
mytab^[i,j]:='*';
writeln('Il tuo avversario spara in (',i,',',j,')');
write('Sei stato colpito!');
pr:='o'
end
else
if c mod inf.lv<>0 then
begin
mytab^[i,j]:='o';
writeln('Il tuo avversario spara in (',i,',',j,')');
write('Ha fatto un buco nell''acqua!');
pr:='o'
end
until pr='o';
pr:=readkey;
esc
end;
function addpoints:boolean; { aggiunge il punteggio }
var i:byte;
procedure scambia(var a,b:dati);
var x:dati;
begin
x:=a;
a:=b;
b:=x
end;
begin { addpoints }
with inf do
begin
if (baro='s') or (baro='S') then
i:=2
else
i:=1;
if ncol>nsub then
ap:=255 { bonus di vittoria }
else
ap:=0;
point:=(ncol*lv*100)div i - (colp+nsub)*10+ap
end;
if inf.point>vet^[5].point then
begin
addpoints:=true;
vet^[5]:=inf;
for i:=4 downto 1 do
if vet^[i+1].point>vet^[i].point then
scambia(vet^[i],vet^[i+1]);
reset(fil);
write(fil,vet^);
close(fil)
end
else
addpoints:=false
end;
begin { procedura gioco }
inf.colp:=0;
i:=1;
j:=1;
repeat
repeat
tab(avvcolp,mytab);
writeln;
writeln('Su quali coordinate vuoi sparare? Colpi effettuati=',inf.colp);
repeat
gotoxy(55,15);
write('(',i,',',j,')');
move(avvcolp,x,y,i,j)
until pr=#13;
gotoxy(1,17);
if (avvcolp^[i,j]='o') or (avvcolp^[i,j]='*') then
begin
writeln('Hai gi… colpito questa cella!');
error;
pr:=readkey;
pr:=#0
end
else
begin
colpito(i,j);
pr:=#1;
inf.colp:=inf.colp+1
end;
until pr=#1;
pr:=readkey;
esc;
writeln; writeln;
if vinto then
pr:=#0
else
pcatk(inf.colp)
until perso or (pr=#0);
writeln;
if pr=#0 then
writeln('Hai vinto!! Hai effettuato ',inf.colp,' spari.')
else
begin
writeln('Hai perso!! Hai effettuato ben ',inf.colp,' spari.');
writeln;
write('Premi un tasto per vedere la soluzione.');
pr:=readkey;
esc;
tab(avvocc,mytab)
end;
writeln;
if addpoints then
writeln('Aggiunto il tuo punteggio alla classifica')
else
writeln('Non sei entrato in classifica');
pr:=readkey;
esc
end;
begin { ---->>> Main <<<---- } repeat inizpunti; iniz(avvocc); iniz(avvcolp); repeat textcolor(15); textbackground(0); clrscr; writeln('Premi:'); writeln; writeln('> 1 <<-- per giocare'); writeln('> 2 <<-- per vedere i punteggi'); writeln('>esc<<-- per uscire'); writeln; pr:=readkey; esc; if pr='2' then points until pr='1'; askinfo; navi(avvocc); mynav; baro; gioco until pr=#27; end.


il programma è da testare e mi è stato mandato da un amico!!!!

14.12.06

OCCASIONE IMPERDIBILE, PROF!!!

Pablo Picasso
Dal 1° febbraio al 10 aprile 2007 Sondrio ospiterà in esclusiva regionale una grande mostra d’arte dedicata al più celebre pittore del XX secolo: Pablo Picasso. Per volontà dell’Amministrazione Provinciale, che ha coinvolto nel progetto una cordata pubblico-privata, la Valtellina sarà al centro di un evento artistico di rilevanza nazionale e internazionale che mostrerà il lato più intimo del grande pittore spagnolo attraverso 65 opere, tra disegni, collage, incisioni e 33 ceramiche decorate. La mostra “Picasso & Dominguín – Un’Amicizia ad Arte” racconta tre personaggi e la loro affettuosa amicizia forgiata sulle comuni passioni per l’arte e per la corrida e rivela il lato nascosto e più vero di Picasso. Visitare l’esposizione sarà come entrare nella casa che è stata teatro degli incontri dei tre amici, come vivere i loro ricordi più intimi. Ne emerge l’immagine privata dell’uomo Picasso che è anche l’aspetto originale di una mostra assolutamente unica nel suo genere. Le opere, che risalgono agli anni compresi tra il 1953 e il 1956, sono state rese pubbliche soltanto ora per volontà di Lucia Bosè che sarà presente a Sondrio in occasione della mostra. Per Sondrio e l’intera provincia si tratta di una grande opportunità che l’Amministrazione Provinciale e i partner pubblici e privati hanno deciso di cogliere ravvisandone la rilevanza artistica e promozionale per l’intero territorio. Da un lato, infatti, gli appassionati d’arte, gli studenti e tutti i cittadini di Valtellina e Valchiavenna potranno visitare una mostra di alto livello dedicata ad un grande della pittura mondiale, dall’altra il richiamo artistico attirerà un vasto pubblico da fuori provincia.

Mostra fotografica


Venerdì 15 dicembre e venerdì 22 dicembre 2006, si terrà, presso la biblioteca di Chiuro (SO) , una mostra fotografica curata da Simone Ronzio, un giovane eclettico che dedica il suo impegno ad arti e ingegno!!!

accorrete numerosi!

ESSENZA DELLA COMUNICAZIONE

-note (messaggi rapidi e diretti)
-dichiarazioni (informazioni interne)
-domande (quesiti posti: cosè ? perchè ? comè ?)
-offerte (io mi/vi propongo di...)
-richiesta (per intraprendere...occorre...)
-promesse (pianificazione, garanzie...)
-ipotesi (discussioni sui progetti)

ACCESSIBILITA' INFORMATICA

L'accessibilità, in informatica, è la capacità di un dispositivo, di un servizio o di una risorsa d'essere fruibile con facilità da una qualsiasi categoria d'utente.
Nel web, un sito web accessibile facilita l'accesso ad individui con ogni tipo di disabilità, ma anche ad individui non affetti da patologie. Più nello specifico:
Utilizza un codice semanticamente corretto, logico e validato secondo i parametri del W3C
Utilizza testi chiari, fluenti e facilmente comprensibili
Utilizza testo alternativo per ogni tipo di contenuto multimediale
Sfrutta titoli e link che siano sensati anche al di fuori del loro contesto (evitando, ad esempio, link su locuzioni come "clicca qui")
Ha una disposizione coerente e lineare dei contenuti e dell'interfaccia grafica
Inoltre dovrebbe essere compatibile col maggior numero di browser e PC e utilizzare colorazioni standard e ad alto contrasto.
Tutto ciò, tra l'altro, per permettere la lettura agevole da parte di software detti screenreader specifici per ipovedenti o non vedenti.
Esistono alcuni standard ed alcune linee guida per definire l'accessibilità. Le linee guida internazionalmente più diffuse per quanto riguarda il web sono le WCAG, Web Content Accessibility Guidelines della WAI, Web Accessibility Initiative (sezione del World Wide Web Consortium).

Info raccolte da Wikipedia http://www.wikipedia.org

ALBERI E NATALE!!

Ricomincio a scrivere...e mi scuso ampiamente per la mia continuata e duratura assenza e visto che si è parlato tanto di alberi e che il natale è alle porte ho combinato le 2 cose e quindi guardate qui:

4.12.06

PROBLEMA FIBONACCESCO:

Un tale ricava il doppio di ciò che possedeva
poi spende 12 denari
successivamente ricava il doppio che gli resta
e spende 12 denari ancora
poi ricava il doppio di ciò che possiede
spende 12 denari
alla fine rimane al verde.
Quanto aveva all'inizio?




LA RISPOSTA E': all'inizio aveva 10.5 denari!!!

perchè: (10.5 *2)=21
21-12=9
9*2=18
18-12=6
6*2=12
12-12=0

LIBER ABACI:

Il Liber abaci
Leonardo Fibonacci nacque a Pisa nel 1180 circa. Pisa era in quel periodo la più importante repubblica marinara, dopo che nel 1135 aveva sconfitto Amalfi. Il padre di Leonardo era scrivano al servizio della Repubblica e fu inviato in missione alla dogana di Bugia, città situata sulla costa vicino ad Algeri e qui il figlio lo raggiunse per poi viaggiare ancora attraverso l'Algeria, l'Egitto, la Siria, la Grecia. Durante tali viaggi apprese i nuovi metodi di calcolo e tornato in Italia li descrisse in un trattato in lingua latina intitolato Liber abaci che fu terminato nel 1202. Una seconda redazione fu completata nel 1228 ed in questa versione l'opera ci è pervenuta in varie copie manoscritte per la maggior parte del XV secolo.
La prima versione a stampa è del 1857 (Leonardo Pisano, Scritti inediti, a cura di Boncompagni).

fibonacci:chi è?

Leonardo Pisano
Assieme al padre Guglielmo, rappresentante dei mercanti della Repubblica di Pisa nella regione di Bugia (in arabo: Bejaia, in berbero: Bgayet) in Cabilia (Algeria), passò alcuni anni in quella città, dove studiò i procedimenti aritmetici che gli Arabi stavano diffondendo nelle regioni del mondo islamico. Alcuni di tali procedimenti erano stati introdotti per la prima volta dagli Indiani, cultura molto diversa da quella mediterranea. Proprio per perfezionare queste conoscenze, Fibonacci viaggiò molto, arrivando fino a Costantinopoli, alternando il commercio con gli studi matematici.

Verso il 1200 rientrò a Pisa, dove negli anni successivi pubblicò nel 1202 e nel 1228 la sua opera di quindici capitoli Liber Abaci, tramite la quale introdusse per la prima volta in Europa le nove cifre (da lui chiamate indiane), assieme al segno 0, "che in arabo è chiamato zefiro" (cap. I, con confronti con il sistema romano), presentò criteri di divisibilità, regole di calcolo di radicali quadratici e cubici ed altro. Introdusse con poco successo la barretta delle frazioni (nota al mondo arabo prima di lui) (cap. II-IV).

Una sequenza famosa
Fibonacci è noto soprattutto per la sequenza di numeri da lui ideata e conosciuta, appunto, come successione di Fibonacci):

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ....

in cui ogni termine, a parte il primo, è la somma dei precedenti due.
Sembra che questa sequenza sia presente in diverse forme naturali (per esempio, negli sviluppi delle spirali delle conchiglie, ecc...).
Per mostrare "ad oculum" l'utilità del nuovo sistema egli pose sotto gli occhi del lettore una tabella comparativa di numeri scritti nei due sistemi, romano e indiano (che era si conosciuto ma se ne dubitava la superiorità su quello romano).

Sono anche compresi quesiti che gli furono posti, con la loro soluzione (uno dei capitoli trattava aritmetica commerciale, problemi di cambi, ecc...). Nonostante si tratti di un manoscritto, ne sono giunte alcune copie fino ai nostri tempi, assieme ad alcuni altri suoi libri; si ha notizia anche di altri scritti, però non rintracciabili.

L'eco di Fibonacci giunse anche alla corte di Federico II del Sacro Romano Impero, soprattutto dopo che il suo matematico ebbe alcuni problemi risolti dal Fibonacci. Per questo motivo gli fu assegnato un vitalizio che gli permettesse di dedicarsi completamente ai suoi studi.

1.12.06

Internet 2



Internet2 o UCAID (University Corporation for Advanced Internet Development) è un consorzio non-profit che sviluppa tecnologie e applicazioni avanzate per la rete, spesso per trasferimenti ad alta velocità.
Esso viene gestito da 207 diverse statunitensi e fanno parte anche numerose industrie specializzate nel settore (come AT&T, Intel, Sun Microsystems e Cisco Systems), Qwest Communication International (finanziatrice del progetto) e National Science Foundation che già dal 1980 sponsorizzò varie università per la realizzazione di reti proprie.
-
Alcune tecnologie sviluppate includono anche connettività IPv6, IP multicasting e QOS (quality of service). Il consorzio si è posto anche altri obiettivi da sviluppare negli anni futuri quali facilitare la creazione, lo sviluppo e la messa in opera di un’infrastruttura di comunicazione affidabile e capace di supportare una Qualità del Servizio (QoS) adeguata alle richieste della comunità accademica e della ricerca in genere, supportare la realizzazione e l’adozione di applicazioni avanzate, promuovere sperimentazioni sulla nuova generazione di tecnologie e servizi della comunicazione, fornire servizi di appoggio al sistema educativo per l’insegnamento a distanza e al sistema sanitario per diagnosi remote, catalizzare la collaborazione con organizzazioni statali e private per incoraggiare il trasferimento di queste tecnologie da Internet2 ad internet.