Sistemi informativi (6 CFU)
Introduzione all'informatica
Definizione Informatica: L'informatica è la scienza che si occupa della rappresentazione, dell'elaborazione e della conservazione dell'informazione, e in generale di tutti gli aspetti del trattamento dell'informazione mediante procedure automatizzabili. Il termine “informatica” è stato introdotto da Philippe Dreyfus (Direttore di Bull negli anni ’50) come contrazione di information electronique ou automatique ossia informazioni elettroniche o automatiche. Potremmo pertanto considerare il termine informatica come l'unione di Informazione+automatica, dove per informazione si intende quell'insieme di entità astratte che raccolgono conoscenza derivata dallo sforzo di descrizione ed interpretazione del mondo (materiale o immateriale), per es.: un libro, una sinfonia, un quadro, un insieme di dati relativi agli studenti di un corso di laurea…
Rappresentazione dell'informazione: avviene mediante la trascrizione e registrazione dell'informazione su supporti materiali (es: la scrittura, un CD che registra una melodia, un insieme di schede che mantengono le informazioni relative agli studenti) secondo una opportuna codifica (es. le convenzioni di rappresentazione dei caratteri, il formato del CD, la struttura dei campi di una scheda studente…). Un supporto attivo per la rappresentazione dell'informazione è il Calcolatore (o elaboratore, o computer) che può:
- Raccogliere enormi quantità di dati: es. tutto l’archivio di una biblioteca.
- Rendere disponibili questi dati in modo istantaneo a diversi utenti in diverse parti del mondo.
- Elaborare automaticamente la rappresentazione delle informazioni in modo da presentarle in modo diverso a diversi soggetti (per es. un utente adm piuttosto che un utente generico), nonché prendere delle decisioni in base alle proprietà delle informazioni rappresentate, per es. stampare la lista dei libri presenti nella biblioteca; decidere se è necessario inviare un sollecito per un libro non restituito.
Alcuni esempi di applicazioni complesse sono: l'elaborazione di dati medici: risonanza magnetica, TAC, presentazione; progettazione di prodotti complessi; editoria elettronica; elaborazione di dati del territorio; Applicazioni in campo didattico: electronic learning (eLearning) ossia Siti WEB interattivi, corsi on-line, Formazione a distanza, broadcast interattivi, CBT (Computer-Based Training); Ambienti Virtuali Distribuiti (Virtual Classrooms).
Potremmo considerare come primo prototipo di calcolatore nella storia l’abaco, poiché in questi ritroviamo le caratteristiche dei moderni calcolatori, ossia la rappresentazione dell’informazione (i gruppi di dischetti che rappresentano ciascun numero) e l’elaborazione di questa (manipolare i due gruppi di dischetti, due numeri, in modo da avere un gruppo unico che rappresenti correttamente il risultato finale).
I calcolatori moderni consentono ovviamente di rappresentare informazione di natura estremamente più varia: dati di vario tipo (immagini, numeri, suoni, testo, etc.) e ‘ricette’ o ‘sequenze di passi’ (gli algoritmi) per l’elaborazione dei dati. La rappresentazione inoltre è uniforme: ogni informazione è rappresentata come una sequenza di zero (0) e di uno (1), cioè il cosiddetto codice binario.
I calcolatori inoltre sono general purpose: a differenza dell’abaco, che permette di elaborare le informazioni in maniera limitata, ossia permette di eseguire solo alcuni compiti (somma, sottrazione, moltiplicazione, divisione), il calcolatore permette la realizzazione di diversi compiti e di conseguenza diverse forme di elaborazione dell’informazione, mediante la possibilità di creare/immaginare una nuova ‘ricetta’ (ossia un nuovo algoritmo), che permette di specializzare il calcolatore ad un nuovo compito, e quindi è necessario: fornire innanzitutto al calcolatore un programma che lo rappresenti, chiedere alla macchina di decodificare il programma (cioè risalire dalla codifica ai passi di cui è composto), per cui è necessario creare un algoritmo comprensibile al calcolatore che permetta a quest’ultimo di eseguirlo (cioè portare a termine i passi richiesti per il nuovo compito).
Storia dei calcolatori
Dai primi calcolatori basati su relays meccanici quali 1940: Stibitz ai Bell Laboratories; 1944: Mark I: Howard Aiken e IBM a Harvard… o basati su valvole termoioniche, quali 1937-1941: Atanasoff-Berry; 1940: Colossus: inglese, per decrittare messaggi tedeschi; 1940: ENIAC: Mauchly & Eckert a U. of Penn…. si è passato a:
- Anni '50: i calcolatori a transistor, i linguaggi di programmazione: FORTRAN per applicazioni scientifiche e COBOL per applicazioni commerciali.
- Anni '60: i calcolatori a circuiti integrati, il time-sharing (IBM 360), e il software “real-time” – missione Apollo.
- Anni '70: microprocessori (Intel), i personal computers ed i linguaggi di programmazione ad alto livello (Pascal, C).
- Anni '80: sistemi operativi “a finestre”.
- Anni '90: Internet e il WWW (comunicazione digitale).
- Anni 2000: Internet integra computer + TV + telefono.
Gli algoritmi
Cos’è un algoritmo? Il nome deriva da quello del matematico persiano al- Khowarizmi (780-850 d.C.), considerato padre dell'algebra; informalmente un algoritmo è una procedura, una sequenza di passi semplici per la soluzione di un problema o per meglio dire un task (compito).
I calcolatori eseguono algoritmi. Ogni calcolatore è caratterizzato da:
- Dati di input da trasformare in dati di output ossia la soluzione del task: (i dati di ingresso, gli argomenti del task, devono essere codificati da algoritmo).
- Programma che effettua la trasformazione (ossia il programma che deve essere fornito al calcolatore per svolgere il task) esegua l'algoritmo per far sì che i dati input si trasformano in output.
- Agente che esegue le azioni programmate.
- Memoria in cui registrare i dati intermedi dei calcoli.
Algoritmi e programmi: Il programma si colloca quindi tra umano e macchina: l'umano crea un algoritmo decifrabile per il calcolatore, ossia che descriva azioni ed argomenti del task che il calcolatore è in grado di effettuare e con un linguaggio che è in grado di comprendere in quanto il calcolatore conosce solo alcune azioni elementari, es. confrontare due numeri, eseguire semplici operazioni aritmetiche; fornisce poi il programma che lo elabora e decodifica, ciò permetterà di ottenere i dati output, ossia la soluzione del task.
Le Proprietà degli Algoritmi sono quindi:
- Insieme di azioni/passi ben ordinato: l'ordinamento delle operazioni da eseguire è chiaro e non ambiguo, in modo tale che controllo proceda senza ambiguità da una operazione alla successiva. Le operazioni sono elencate come passi numerati e in assenza di altra indicazione (cioè in assenza di operazioni condizionali o iterative) il controllo passa sempre al passo successivo.
- Le operazioni contenutisticamente devono essere non ambigue e calcolabili: tutti i passi devono essere chiari per l'agente, ossia l'algoritmo deve descrivere operazioni non ambigue e primitive cioè bisogna fornire passi e sottopassi dettagliati, caratterizzati anche da ciò che per l'umano sarebbe scontato. Possibilmente, partendo da una prima versione dell'algoritmo, occorre verificare il funzionamento di quest'ultimo, ossia che tutte le operazioni coinvolte siano primitive. Inoltre le operazioni devono essere effettivamente computabili. Esempi di operazioni non effettivamente computabili sono per esempio: stampa l'elenco di tutti i numeri interi; scrivi il valore decimale esatto di π.
Quindi la definizione tecnica dell'algoritmo è: Un insieme ben ordinato di operazioni non ambigue ed effettivamente calcolabili che, eseguito, produce un risultato e termina in una quantità finita di tempo.
Rappresentazione di un algoritmo:
- Linguaggio naturale
- Pseudocodice: ossia uno pseudolinguaggio di programmazione con un proprio lessico, una propria sintassi e una propria semantica. Es. INIZIO; Scrivi: …; Leggi …, Altrimenti: … FINE
-
Diagrammi di flusso: rappresentazione grafica delle azioni di un algoritmo, una variante del diagramma a blocchi. Ogni azione è rappresentata da sagome convenzionali.
- Tipologie di blocchi: I blocchi sono collegati tra loro da frecce direzionali e connettori di collegamento secondo una logica sequenziale e condizionale, cioè ogni blocco realizza un solo compito ben definito. Il controllo passa all'operazione successiva quando il compito del blocco è finito.
- Ogni diagramma di flusso è caratterizzato da un inizio e una fine, graficamente rettangoli con spigoli arrotondati, che indicano l'inizio e la fine del programma; il flusso di esecuzione procede pertanto da un'istruzione a quella successiva fino a quando non viene raggiunta la fine del programma.
- Operazioni di ingresso ed uscita: di forma romboidale (parallelograma), che conferiscono i dati input e output. Operazioni di ingresso Es.: acquisisci il valore per “variabile”. Operazioni di uscita Es.: stampa il valore per “variabile”, descrizione della variabili.
- Operazioni di Elaborazione, forma rettangolare normale, indica un'attività/un compito. Per es.: eseguire un calcolo per il valore di “variabile”.
- Operazioni condizionali: forma di rombo, rappresentano un punto decisionale (SI/NO), selezionano quindi l’operazione successiva sulla base della risposta alla domanda.
- Operazioni iterative: seguono un ciclo di istruzioni fino a quando la condizione di uscita è verificata.
- Si parla di Ciclo a condizione iniziale (Finché “condizione” è vera/falsa ripeti: Istruzione 1, Istruzione 2 … Istruzione N) o di Ciclo a condizione finale (Ripeti: Istruzione 1, Istruzione 2... Istruzione N finché “condizione” è vera/falsa).
- Linguaggio di programmazione
I fogli elettronici
Cos’è un foglio elettronico? La denominazione di "foglio elettronico" indica un programma per la gestione di dati numerici e non numerici, che permette di instaurare relazioni tra i dati stessi, per es. svolgere calcoli anche molto elevati, creare tabelle e grafici ecc.
Un foglio elettronico è impiegato soprattutto per calcoli ripetitivi; rappresentano uno strumento di grande versatilità per l’elaborazione delle informazioni e di semplicità allo stesso tempo: consentono cioè il trattamento automatico dell’informazione anche a utenti non esperti e permettono di svolgere compiti complessi in maniera semplice. Sono largamente utilizzati in molti campi lavorativi e aiutano a “pensare in modo algoritmico”.
Vi sono molti applicativi disponibili come Microsoft Excel, OpenOffice Calc, Google Documents, AppleWorks… I svantaggi sono però che alcuni tipi di informazione non possono essere trattati in maniera efficiente ed hanno limiti sul numero di informazioni che possono essere trattate.
Celle: Unità minima di un foglio elettronico è la CELLA. La posizione di ogni cella è identificata da una coordinata (o riferimento di cella) costituita dalla lettera di riga (una o due lettere tra A ed IV per un totale di 256 colonne) + numero di colonna (un numero intero compreso tra 1 e 65536), per es. cella A5). Ogni cella può contenere cifre, caratteri alfabetici o testi (stringhe) cioè elementi indipendenti tra loro, nonché formule che mettono in relazione le diverse celle, in questo caso parliamo di una matrice cell array (matrice di celle) in cui il valore di una cella può dipendere da quanto contenuto in altre.
Organizzare e ordinamento dei dati, operazioni sulle celle
- Non ci sono regole fisse che impongono come organizzare i dati, si può scegliere la struttura che si preferisce.
- È opportuno scegliere la struttura che consenta di rendere più semplici le operazioni automatiche sui dati: Inserimento – Ricerca - Elaborazione automatica.
Ordinare i dati: gli applicativi di gestione dei fogli elettronici mettono a disposizione delle funzionalità di ordinamento dei dati: è possibile riordinare le righe mettendole in ordine secondo i valori contenuti in una o più colonne (selezionare il contenuto manualmente o con CTRL+A e metterlo in ordine cliccando su DATI – ORDINA).
Formule nei fogli elettronici: Permettono di calcolare un valore sulla base del contenuto di altre celle. È possibile calcolare manualmente il valore da inserire scriverlo nella cella X, però, se si modifica il valore delle celle soggette ad operazione di cui X è il risultato, X rimane invariata, invece, usando una formula, il valore di X varrà automaticamente se il valore dei costituenti dell’operazione subirà variazione. Una formula inizia sempre con il segno "=".
- Le operazioni non sono solo aritmetiche, ma anche relative a celle che contengono stringhe. Esse sono:
- Addizione (+); Sottrazione/numero negativo (-); Moltiplicazione (*); Divisione (/); Percentuale(%); Elevazione a potenza (^); Percentuale (=B12%)
- Operatori di confronto (= A1=A2; A1>B1; A1
=B1 o A1<=B1 cioè maggiore/minore-uguale; A1<>B1 cioè diverso da..) - Operatori sulle stringhe: & Concatena due stringhe es. =A1&A2 (si utilizzeranno due virgolette, alla fine del primo termine e all’inizio del secondo, prima e dopo &, per creare lo spazio nella cella di bersaglio, es. =A1" "&" "A2)
Copia delle formule: È possibile volere ripetere la stessa formula in più celle, per ripetere la stessa operazione su un insieme di dati. Le formule possono essere copiate e incollate, i riferimenti delle celle delle operazioni saranno modificate automaticamente. I riferimenti in questo caso vengono detti relativi, cioè dipendono dalla posizione della cella in cui sono posizionati. Se non si vuole modificare il contenuto di una cella quando si copia e incolla una formula da una cella ad un’altra, si usa il simbolo “$” per cui i riferimenti delle celle e il valore originari saranno invariati, in questo caso parleremo di riferimenti assoluti.
I riferimenti possono essere anche misti, cioè un elemento della coordinata assoluto e l’altro relativo, per es: A1 colonna e riga entrambe relative; $A1 colonna assoluta e riga relativa; A$1 colonna relativa e riga assoluta; $A$1 colonna e riga entrambe assolute.
Funzioni
In matematica, una funzione è una relazione tra due insiemi, che associa ad ogni elemento del primo uno e un solo elemento del secondo. Le funzioni nei fogli elettronici si rendono alfabeticamente. Tutte le funzioni assumono la forma: NOMEFUNZIONE(param1; param2; …): param1, param2 indicano i parametri richiesti dalla specifica funzione.
- Funzioni matematiche: Somma, arrotonda, prodotto, quoziente, conta valori di una cella ecc…
- Funzioni statistiche: media, massimo, minimo in un insieme di celle, …
- Funzioni logiche: se, e, o, no, …
- Funzioni di testo: Concatena, trova, stringa.estrai, rimpiazza, …
Ogni funzione ha un numero di parametri prefissato.
Esempi di funzioni: “=media(A1:A9)” calcola il valore medio tra le celle A1, A2, ..., A9 il simbolo “:” tra i riferimenti a due celle indica il range (intervallo) dei valori delle celle; il simbolo “;” viene utilizzato per separare gli argomenti di una funzione. Es. =QUOZIENTE(SOMMA(A1:A10);CONTA.NUMERI(A1.:A10) variante per la media aritmetica.
Funzione SE: La funzione SE prende come argomenti: una condizione, il valore da restituire se la condizione è soddisfatta; il valore da restituire se la condizione non è soddisfatta. Sintassi: =SE(condiz.;valore_SE_si;valore_SE_no) Il valore restituito dalla funzione può essere un numero oppure testo o un valore di errore (#VALORE!)
Le funzioni annidate sono funzioni composte cioè una funzione di cella che comprende più funzioni e quindi le funzioni rappresentano qui i parametri della funzione principale per es.=somma(A1:A3;media(A1:A3)) dove i parametri della funzione somma sono la somma di A1 e A3 e la funzione di media dell’intervallo A1, A2, A3.
Rappresentazione delle informazioni
Ogni INFORMAZIONE consta di DATI cioè la codificazione mediante simboli + SEMANTICA cioè il referente attribuito al dato in funzione del contesto di riferimento.
Codificazione e informazione avviene pertanto mediante:
- Un alfabeto: I, V, X … ossia un numero finito di simboli.
- Sintassi: IV, I, IIV*, VX*, VIIIIIII*, … ossia le regole di accostamento dei simboli che definiscono quali sequenze di simboli sono ammissibili, cioè decifrabili dal calcolatore, o meno.
- Semantica: I II III IV V VI , attribuzione di un referente alla sequenza di simboli.
Rappresentazioni delle informazioni in un calcolatore: In un calcolatore le INFORMAZIONI possono essere; numeriche (100, 3000, 15200, …); alfanumeriche (Rossi Carlo, Via Pisa 15, …); multimediali (suoni, immagini, filmati,…) o istruzioni (while …, if…then…else, for i= … to …).
Ogni informazione è dotata di:
- Rappresentazione esterna: per essere interpretata dall’utilizzatore.
- Rappresentazione interna: per essere decifrata e utilizzata dal calcolatore.
La rappresentazione interna avviene sempre in formato binario.
Rappresentazione dei numeri nel sistema decimale vs sistema binario
Nel sistema decimale esistono 10 cifre univoche (0 1 2 3 4 5 6 7 8 9) e il valore delle posizioni in un numero è basato sulle potenze di 10: Unità (100); Decine (101); Centinaia (102); Migliaia (103).
Esempio: 2359 2 migliaia, 3 centinaia, 5 decine e 9 unità. 2* 1000 + 3* 100 + 5*10 + 9*1 = 2* 103 + 3* 102 + 5 * 101 + 9 * 100
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Elaborato 2 Sistemi di elaborazione delle informazioni
-
Elaborato 1 sistemi di elaborazione delle informazioni
-
Lezioni di Sistemi di elaborazione delle informazioni
-
Lezioni di Sistemi di elaborazione delle informazioni