Sintesi Contenuti di Fondamenti di Informatica UNIFE PDF

Title Sintesi Contenuti di Fondamenti di Informatica UNIFE
Author Rosita Gurzoni
Course Informatica
Institution Università degli Studi di Ferrara
Pages 35
File Size 1.6 MB
File Type PDF
Total Downloads 80
Total Views 166

Summary

contenuti delle slide delle lezioni, necessarie per il superamento dell'esame con il prof giacomo piva. i contenuti sono completi ed ordinati. in pdf stampabile (scritti su doc word)...


Description

FONDAMENTI DI INFORMATICA GIACOMO PIVA UNIFE SINTESI LEZIONI E CONTENUTI

LEZIONE 0 – INTRODUZIONE L’informatica Non è la scienza che "crea" o "studia" i computer. Creare un computer è compito dell'ingegneria elettronica. È la scienza applicata che si occupa del trattamento dell'informazione mediante procedure automatizzate. L’informazione Per capire allora cos’è l’informatica, partiamo dalla definizione di informazione. Secondo ISO (International Organization for Standardization) l’informazione è la conoscenza relativa a oggetti, fatti, concetti, eventi e procedimenti che ha un particolare significato. L’informatica La parola italiana informatica deriva dalla parola francese informatique cioè informat(ion) (automat)ique È la scienza applicata che si occupa del trattamento dell'informazione mediante procedure automatizzate. Partendo dall'informazione gestibile da un utente umano, l’elaboratore consente di Codificare l'informazione per la sua trasmissione e per il suo immagazzinamento e Decodificare i dati per estrarre le informazioni interpretabili da un utente umano. UTENTE → Codifica → COMPUTER → Decodifica → UTENTE L'importanza degli strumenti informatici per la comunicazione e l'informazione diffusa è innegabile, pensiamo ad esempio ai diffusi “Social network” (Facebook, Twitter ...) o a strumenti come Wikipedia, Youtube, etc. questi strumenti non sono “neutrali”, ed oltre a capire in che direzione ci spingono e quale effetto hanno su di noi e sulla società può essere utile capirne anche il funzionamento di base ed i principi tecnici fondamentali su cui si essi si basano. Unità di misura b = bit → 1/0 B = Byte → 8 bit Il bit (con la b minuscola) è l’unità fondamentale con cui si misura l’informazione.Il bit è un tipo di dato che può assumere solamente il valore 0 oppure 1. Il bit è quindi detto dato binario Il Byte (B maiuscola) è il multiplo “base” del bit e raggruppa 8 bit.

I MULTIPLI

I TERMINI

LEZIONE 1 – CONCETTI HARDWARE E SOFTWARE Il Calcolatore Il calcolatore (o elaboratore), è una macchina utilizzata per: • Collezionare;

• Analizzare; • Elaborare. In maniera precisa e (si spera) veloce, grandi quantità di informazioni per risolvere problemi di tipo deterministico. è uno strumento in grado di: • Trasmettere; • Trasformare; • Conservare. Solamente informazioni opportunamente codificate in maniera comprensibile dalla macchina. Costituito da 2 macro-componenti: • Hardware: (componenti elettroniche e meccaniche); In poche parole, l’hardware è tutto ciò che di un computer possiamo “toccare”: Monitor, Tastiera, Mouse. Anche parti più “piccole” e “nascoste”: Processore (CPU), Memoria (RAM), Disco rigido (C:) • Software: (programmi che sfruttano l’ hardware per eseguire calcoli e operazioni). L'UOMO E LA MACCHINA

Le Periferiche Per rendere possibile l’interazione fa l’uomo e la macchina, sono quindi necessari dei dispositivi in grado di essere manipolati dall’uomo. Questi dispositivi prendono il nome di Periferiche e possono essere predisposte per l’immissione dei dati all’interno del computer (controllers) o per l’uscita dei dati dal computer (display).

Dispositivi di Input Altri dispositivi di input: Microfono, Lettori di codici a barre, Web cam Qualunque dispositivo hardware in grado di portare all’interno del computer delle informazioni. Dispositivi di Output Altri dispositivi di output: Casse acustiche, Stampanti 3D, Proiettori Qualunque dispositivo hardware in grado di portare all’esterno del computer delle

informazioni. Informazioni e Dati Le informazioni, una volta codificate e rese comprensibili al computer, prendono il nome di Dati. I Dati sono gestiti dal calcolatore come insieme di Byte John Von Neumann Budapest, 28 Dicembre 1903 – Washington, 8 Febbraio 1957 Matematico, Fisico e Informatico. L’architettura hardware di Von Neumann è stata pensata negli anni ‘40 ed oggi è ancora l’architettura sulla quale si basa la maggior parte dei computer moderni. Macchina di Von Neumann I calcolatori moderni sono ancora basati sull’architettura della macchina di V. N. che è composta da 4 componenti: • Dati (ingresso e uscita); • Programma; • Memoria; • Agente.

CPU - Principali funzioni La CPU a sua volta è composta da due componenti: • CU: Controller Unit: Controllo del flusso delle istruzioni • ALU: Arithmetic Logic Unit: Esegue le istruzioni Aritmetiche e logiche Memoria I dati, all’interno del calcolatore devono essere conservati in memoria. Esistono più tipi di memoria: • Dischi rigidi (Persistente) • Memoria RAM (Principale) • Cache (Riservata alla CPU) • Registri (Riservata alla CPU) La principale distinzione che si può fare è fra: • Memoria Volatile:

- Memoria Principale • Capacità ridotte (qualche GB) • Prestazioni elevate (poche decine di ns)

ns = nano-secondi => 10-9 secondi => 1 miliardesimo di secondo

- Memoria Riservata • Capacità ridotte (da alcuni KB fino a 1 MB) • Prestazioni molto elevate (pochissimi ns) • Memoria Persistente • Elevate capacità (TB) • Prestazioni non elevate (ms) Le prestazioni della memoria persistente, sono oggi il vero “collo di bottiglia“ delle prestazioni dei calcolatori UNITA' DI MISURA DELLA MEMORIA

RIASSUMENDO Il Calcolatore attraverso i dispositivi di Input (Periferiche) raccoglie le informazioni e le trasforma in Dati per conservarle nella Memoria. Il Calcolatore, recupera dalla Memoria i Dati per restituire le informazioni attraverso i dispositivi di Output SOFTWARE Il Software si divide in: • Software di Base (OS); • Software Applicativo (dipendente dal OS). Sistema Operativo Il sistema operativo è il programma (cioè un software) responsabile del controllo e della gestione dei componenti hardware che costituiscono un computer e dei programmi che su di esso vengono eseguiti. Ha anche il compito di permettere all'uomo di interagire

con la macchina. Compiti principali: • Avvio del computer • Gestione del processore • Gestione della memoria • Gestione dei dispositivi di input/output • Interazione con l’utente In passato i S.O. avevano una interfaccia detta “A linea di comando” o commandline

A partire dagli anni ’80 (1984 Apple “Lisa”) i computer hanno una interfaccia più “user friendly”

Programma È l’insieme delle istruzioni definite dal programmatore. È un’entità statica tipicamente memorizzata su un supporto di archiviazione (disco). Scritto con un linguaggio di programmazione, viene eseguito tramite l’ausilio del S.O. Si possono suddividere in 2 categorie:

- Programmi interattivi: programmi che durante la loro esecuzione dialogano con l’utente attraverso una interfaccia; - Programmi batch: programmi che non hanno interazione con l’utente, non hanno una interfaccia per l’utente. un esempio: Il sistema operativo è il responsabile della gestione del calcolatore. Ad esempio, l’utente può richiede al sistema operativo di eseguire un programma (facendo “doppio click” sull’icona corrispondente). A questo punto, il sistema operativo, svolge le seguenti attività: 1) Individua il programma all’interno del disco; 2) Copia il codice del programma nella memoria principale 3) Avvia l’esecuzione del programma (compare la finestra sul nostro schermo) I Processi Con il termine processo, si indica un programma in esecuzione, cioè, un’entità in continuo mutamento. Nei sistemi attuali, più copie dello stesso programma si possono eseguire contemporaneamente, quindi, una definizione più formale di processo è: Una copia di un programma in esecuzione sul calcolatore più i dati necessari alla sua esecuzione.

LEZIONE 2 – ARCHIVIAZIONE File System Il File System è quella parte del sistema operativo che gestisce come i file sono memorizzati e organizzati su un dispositivo di archiviazione e consente di: • Creare un file o una directory • Dargli un nome • Collocarlo in un opportuno spazio • Accedervi in lettura e scrittura I file vengono inclusi all’interno di directory ed hanno una tipica organizzazione gerarchia detta “ad albero”. Più in dettaglio, il F.S. gestisce come i file sono memorizzati e organizzati su un dispositivo di archiviazione (Disco, Chiavetta USB, ma non solo). Le suo principali funzioni, riguardano • Memorizzazione • Organizzazione gerarchica • Navigazione • Accesso Memorizzazione Il F.S. si occupa di memorizzare i dati (file e directory) all’interno sul nostro disco (o dispositivo di massa). Il F.S. definisce proprio le regole con cui scrivere i Byte che compongono i nostri file sui dispositivi di archiviazione. Questo fa sì che un disco che è stato organizzato da un certo F.S. non sia leggibile da alti F.S. Per poter, con un calcolatore, leggere un dispositivo di archiviazione, è necessario che il S.O. di quel calcolatore abbia lo stesso F.S.

Navigazione Il F.S. ci permette di spostarci da una directory all’altra, di salire o di scendere nell’albero delle directory Accesso Il F.S. si occupa di controllare (e quindi permettere o negare) se possiamo leggere o scrivere un file. I moderni S.O. hanno tutti la caratteristica di essere multi utente, è possibile cioè, avere più persone che utilizzano lo stesso computer come se fossero computer diversi, con diverse impostazioni, diverso sfondo ecc… Il F.S. garantisce che un utente non sia in grado di leggere e scrivere i documenti di un altro utente garantendo privacy e sicurezza. Percorso (o Path) I file e le directory sono individuabili univocamente dalla loro posizione nel file system, descritta dal percorso:

La memoria secondaria La memoria secondaria deve avere capacità di memorizzazione permanente e quindi per la sua realizzazione si utilizzano tecnologie basate: Sul magnetismo (tecnologia magnetica): - Dischi magnetici (hard disk e floppy disk)

- Nastri magnetici (decisamente obsoleti) Dischi magnetici Hard Disk: Sono dei dischi che vengono utilizzati come supporto di memoria secondaria fisso all’interno del computer (varie centinaia di GB di memoria) Tecnologia magnetica Sfrutta il fenomeno fisico della polarizzazione • Sul supporto ci sono delle particelle magnetiche • I due diversi tipi di magnetizzazione (positiva e negativa) corrispondono alle unità elementari di informazione (0 e 1) • La testina di lettura/scrittura cambia la polarizzazione Attenzione ad avvicinare magneti ad un disco rigido

Per effettuare un’operazione di lettura/scrittura la testina deve “raggiungere” il blocco desiderato. Ogni blocco è identificato dal numero della traccia e dal numero del settore. I dischi magnetici consentono l’accesso diretto. È possibile posizionare direttamente la testina su un qualunque blocco. Hanno capacità di diverse centinaia di GB. In commercio è possibile trovare dischi fino 4TB. È possibile unire più dischi per ottenere capacità ancora maggiori. La memoria secondaria Basate sull’uso dei raggi laser (tecnologia ottica): Dischi ottici (CD-ROM, DVD, Blu Ray) Tecnologia ottica Usa il raggio laser e sfrutta la riflessione della luce. Viene quindi utilizzata una superficie che può essere forata o non forata. L’informazione viene letta guardando la riflessione del raggio laser: Se il laser viene riflesso allora avremo l’informazione “1” se non viene riflessa avremo l’informazione “0”. • CD-ROM hanno capacità fissa di 650 o 700 MB • DVD-ROM

hanno capacità diverse secondo la generazione fino a 17GB Basate su memoria flash (tecnologia NAND) Dispositivi a stato solido (chiavette USB) Tecnologia flash Questi dispositivi di archiviazione sono diffusi in vari formati e con vari nomi (memory card, compact flash, memory pen, memory stick, USB flash drive, USB stick, …) Sono nati inizialmente per le immagini digitali (per fotocamere e telecamere) come supporto interno estraibile Il declino dei dispositivi Negli ultimi anni si è potuto notare quello che è possibile descrivere come il declino della popolarità dei dispositivi di archiviazione fisici portatili. Nel Febbraio 2018 chiude l'ultima fabbrica di Compact Disc degli USA I servizi Cloud Dropbox è uno dei servizi più celebri del mondo del file storage ossia di archiviazione di documenti di qualsiasi tipo. Il salvataggio avviene su server online per diversi scopi (salvataggio, condivisione, reperibilità …). Per poter utilizzare il servizio è necessario iscriversi e scaricare una applicazione specifica per ogni dispositivo. Il servizio ha un piano gratuito e diversi piani a pagamento a seconda dello spazio a disposizione. Il servizio si comporta come una directory (cartella) presente su più dispositivi ed il software installato si occupa di sincronizzare tutti i cambiamenti fatti su tutti i dispositivi. Quando aggiungiamo un contenuto alla nostra directory Dropbox, questo viene automaticamente caricato sul server. Quasi istantaneamente il file viene poi aggiunto a tutti i dispositivi collegati con il medesimo account. Attenzione però! La stessa cosa succede anche se cancelliamo un file! Se rimuoviamo ad esempio una foto dalla Dropbox sul nostro telefono, questa viene cancellata ovunque sugli altri dispositivi!

LEZIONE 3 – DATABASE 1 Informazione: – strutturata – non strutturata Data Base Per potere rappresentare informazioni in modo duraturo occorre sviluppare delle tecniche per mantenerle in memoria secondaria e poterle consultare in modo pratico. Lo strumento informatico utilizzato per questo scopo sono le Basi di Dati. Una base di dati e’ una collezione di dati immagazzinati in modo permanente su disco che permette di definire delle entità e delle relazioni. Un database è uno strumento che permette di: • Inserire • Aggiornare • Recuperare • Cancellare • Combinare fra loro i dati (cioè le informazioni)

Lo scopo di un Data base è quello di rappresentare il mondo reale in termini di entità e relazioni. Le entità sono gli oggetti (ma non solo) del nostro mondo reale: Un film su DVD, Un impiegato, Un dipartimento. Le relazioni invece rappresentano i legami fra le entità (come si relazionano fra loro). Esempio: rubrica telefonica

bob = entità nome, cognome, numero tel., email = relazioni Chiave primaria Perchè una base di dati funzioni al meglio, deve essere strutturata in modo che ogni riga sia identificabile univocamente attraverso il valore di un suo attributo. In altre parole, deve esistere una colonna per cui non è possibile che esistano due righe in cui ci sia lo stesso valore. Esempio: Nome → Bob, Marco, Alice... Cognome → ….. La colonna, o meglio l’attributo che identifica univocamente una riga prende il nome di Chiave Primaria o Primary Key (PK). Ogni entità può avere una ed una sola chiave primaria. La Chiave primaria viene definita durante la fase di creazione dell’entità e deve sempre avere un valore. Utilizzare come chiave primaria il numero di telefono o l’indirizzo email, può andare bene se stiamo lavorando con una piccola rubrica personale, ma non possiamo fare affidamento su questi valori in casi più complessi. Pensiamo al caso in cui la tabella “Persone” faccia parte di una rubrica più grande, magari gli impiegati di una grande azienda suddivisa in reparti in cui: • Il numero di telefono -> di un ufficio con più persone. • Email -> di un reparto con più persone. In tutti quei casi in cui è possibile identificare una “caratteristica” o “proprietà” davvero univoca per ogni oggetto, parliamo di chiave primaria naturale. Ma esistono tantissimi casi in cui non è possibile identificare una chiave primaria naturale. In questi casi, le possibilità sono 2: • O ci affidiamo a chiavi naturali e imponiamo a priori che non è possibile inserire 2 record (righe) con quello stesso valore di attributo (ad esempio l’indirizzo email)

• Oppure, inventiamo una chiave primaria sicuramente univoca. (es. codice ficale) Se, la nostra entità non ha una chiave primaria naturale, è possibile crearne una “artificiale” (es: num identificativo) I database offrono la possibilità di gestire automaticamente le chiavi primarie in maniera “sicura” garantendo l’univocità delle stesse. Perchè dovremmo aggiungere attributi? Per poter aumentare le possibilità di estrarre informazioni… Il linguaggio SQL Il linguaggio SQL (Structured Query Language) è lo strumento utilizzato per estrarre le informazioni da una base di dati. Il risultato di una Query di interrogazione SQL è sempre una Entità Il linguaggio SQL consente, oltre ad interrogare la base di dati anche di creare le entità e di … • Inserire le informazioni in una entità • Aggiornare le informazioni in una entità • Cancellare le informazioni in una entità Relazioni Il “riporto” della chiave primaria di una entità all’interno di una seconda entità prende il nome di “Chiave Esterna” o Foreign Key (FK). A differenza delle Chiave Primaria, una relazione può avere più Chiavi Esterne, una per ogni relazione. Relazione 1:N Aggiungendo una colonna con l’id del regista, abbiamo creato la una relazione fra film e registi. Questo tipo di relazione si indica con “1 : N” e si legge “Uno a N” (“Uno a molti”) Ovvero, UN regista ha diretto N film. Relazione N:M La relazione N:M è una relazione che associa a più record di una entità più record di una seconda entità. Si legge “N a M” (“Molti a molti”). Un esempio potrebbe essere la relazione “Ha recitato in” che collega la nostra entità Film con una entità Attori Relazione 1:1 La relazione 1:1 è una relazione che associa ad una entry di una entità una sola entry di una seconda entità. Si legge “Uno a Uno”. Un esempio potrebbe essere la relazione “Dirige/È diretto” che collega una ipotetica entità Dipartimenti con una entità Direttori. Un secondo esempio è la relazione che c’è fra “Stati” e “Presidenti”. Uno Stato ha un solo Presidente ed un Presidente lo è di un solo Stato. Lo schema ER Lo schema ER (entità relazione) è una rappresentazione grafica dei dati in cui le entità sono rappresentate da rettangoli e le relazioni da rombi. Gli attributi di una entità sono rappresentati da un ovale. Gli elementi sono uniti con delle linee. Un'entità possiede uno o più attributi. Due entità possono essere legate da una relazione. Cardinalità delle relazioni

1,1: Ogni record dell’entità deve essere presente una sola volta nella relazione 1,N: Ogni record dell’entità deve essere presente nella relazione e può esserlo più volte 0,1: Ogni record dell’entità può non essere presente e può essere presente una sola volta 0,N: Ogni record dell’entità può non essere presente e può essere presente più volte esempio film:

LEZIONE 4 – LINGUAGGI E STRUMENTI Il Calcolatore Il calcolatore (o elaboratore), è una macchina utilizzata per: • Collezionare; • Analizzare; • Elaborare. In maniera precisa e (si spera) veloce, grandi quantità di informazioni per risolvere problemi di tipo deterministico. Problemi e Calcolatori Come sappiamo, lo scopo per cui sono stati creati i calcolatori è quello di svolgere calcoli al fine di risolvere problemi. Ogni calcolatore è in grado di comprende ed eseguire un limitato e specifico insieme di istruzioni. Per poter risolvere un problema attraverso l’uso di un calcolatore è necessario prima definire i passaggi per poter risolvere il problema e poi ridefinire questi passaggi in modo che essi possano essere “compresi” dal calcolatore. COME? Per prima cosa è necessario ridefinire questi passaggi come insieme di passi successivi che il calcolatore deve essere in grado di eseguire. L’insieme dei passi successivi in cui viene ridefinito il modo di risolvere il problema, prende il nome di ALGORITMO.

L'Algoritmo Il nome ALGORITMO non e’ stato inventato dagli informatici ma dai matematici e deriva dal nome del matematico persiano Muhammad ibn Mūsa 'l-Khwārizmī che attorno all’825 scrisse un trattato chiamato Kitāb al-djabr wa 'lmuqābala (Libro sulla ricomposizione e sulla riduzione) AL-KHWARIZMI >> ALGORISMO >> ALGORITMO AL-DJABR >> ALGEBRA I passaggi con i quali si risolve una addizione, sottrazione, moltiplicazione o divisione in colonna sono sostanzialmente il primo esempio formale di algoritmo. La definizione informale di un Algoritmo è quindi: Una sequenza FINITA di passi DISCRETI e NON AMBIGUI che porta alla soluzione di un problema. La macchina di Turig Definita da Alan Turing nel 1936 allo scopo di descrivere i limiti della meccanica nel calcolo computazionale. La macchina di Turing è uno strumento...


Similar Free PDFs