Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
L'ARCHITETTURA SOFTWARE: I SISTEMI OPERATIVI
Sistema operativo - è il software che consente di utilizzare un calcolatore, coordinando e ottimizzando le attività, cioè, l'uso delle risorse da parte dei processi.
Il sistema operativo ha una struttura a strati, a "buccia di cipolla":
- Il Nucleo - è lo strato che gestisce i processi; avvia le operazioni di input/output su unità periferiche; ha funzioni di archiviazione e ripresa del controllo.
- Gestione memoria - è lo strato responsabile dell'allocazione dei programmi e dei dati nella RAM.
- Gestione I/O - questo strato si occupa di rendere disponibili e di attivare opportuni programmi, detti driver, per la gestione specifica delle periferiche.
- Gestione dei file system - è lo strato che si occupa di organizzare le memoria di massa.
- Interprete comandi - è lo strato che interfaccia l'utente.
Esso• acquisisce i comandi, li decodifica e comunica agli strati più interni le operazioni da eseguire.
LINGUAGGI DI PROGRAMMAZIONE
Linguaggio di programmazione – deve consentire di realizzare programmi, cioè insieme di comandi dati ad un calcolatore, al fine di risolvere tutti quei problemi che sono risolvibili mediante l’applicazione di funzioni calcolabili.
Classificazione di linguaggi di programmazione:
- Linguaggi imperativi;
- Linguaggi funzionali;
- Linguaggi dichiarativi.
Tipi astratti di dato – costituiscono uno dei principi metodologici della programmazione. Un dato, non è costituito solo ed esclusivamente dall’insieme dei valori che può assumere, ma anche dalle operazioni che possono essere compiute su di esso. Perciò un dato assume un duplice aspetto: esso è visto come un valore appartenente ad un certo dominio, ma è anche visto come argomento di alcune ben specifiche operazioni.
Fasi
della metodologia dei tipi astratti:
Fase specifica astratta – ha la finalità di individuare le caratteristiche essenziali del dato, vale a dire quali domini di valori sono interessati e quali operazioni sono eseguibili su di essi.
Fase della rappresentazione concreta del tipo astratto di dato – si sceglie un linguaggio di programmazione e si realizzano i tipi di dato concreti e le unità di programma corrispondenti alle operazioni eseguibili sul tipo di dato preso in considerazione.
5. Elementi costitutivi del linguaggio Java:
Classe – elemento fondamentale del linguaggio Java. È costituita dai membri che sono campi e metodi;
Campi – possono essere variabili e oggetti;
Variabili – sono locazioni di memoria a cui si fa riferimento mediante gli identificatori. Ogni deve essere dichiarata di un determinato tipo;
Tipi – sono semplici (elementari) e strutturati;
Oggetti – sono istanze di classi;
Metodi – sono rappresentazioni delle operazioni che possono essere eseguite• sulle variabili.
BASI DI DATI
- Un sistema di archiviazione è detto Base dei Dati se:
- Non c’è ridondanza nei dati.
- Ogni nuovo inserimento, aggiornamento e cancellazione di dati mantiene la consistenza nel dati.
- Modelli dei dati per Basi dei dati:
- Relazionale;
- Gerarchico;
- Reticolare;
- Ad oggetti.
- Modello relazionale – i dati sono organizzati in tabelle, chiamate relazioni.
- Ogni tabella è costituita da un certo numero di colonne (gli attributi dellarelazione, cioè i valori appartenenti ai domini) e di righe (le n-uple del prodottocartesiano, dette genericamente tuple della relazione).
- Schema di Relazione – per distinguere il significato di una relazione dai valori della tuple che costituiscono a ogni istante una relazione si introduce il concetto di Schema di Relazione. È la semplice indicazione
dell’elenco degli attributi della relazione, preceduto dal nome della relazione.
Data Base – è un insieme di relazioni.
5. Data Base Intensionale - è quello costituito da tutti gli schemi di relazione.
6. Data Base Estensionale – è quello costituito da tutte le relazioni, cioè da tutte le tuple che a un certo istante fanno parte delle relazioni del data base.
Chiave – un attributo si chiama chiave, perché determina, da solo, l’univocità.
8. Chiave primaria – deve sempre avere valori non nulli. In uno schema di relazione gli attributi individuati con la sottolineatura denotano solo la chiave primaria.
In uno schema di relazione:
- gli attributi chiave si indicano mediante sottolineatura;
- esiste sempre una chiave, cioè esiste almeno un attributo che svolge il ruolo di chiave;
- è possibile che esistano più chiavi, cioè raggruppamenti di attributi.
che individuano univocamente le tuple delle relazioni.
Operazioni insiemistiche sulle relazioni – poiché le relazioni sono insiemi di tuple, è del tutto naturale che su di esse si possano eseguire le tipiche operazioni insiemistiche, quali l'unione, la intersezione e la differenza. I risultati di queste operazioni sono ancora relazioni. Affinché sia possibile applicare tali operazioni, è però necessario che le relazioni siano definite sugli stessi attributi.
Operazione di Selezione – si applica ad una relazione specificando una opportuna "condizione di selezione".
Operazione di Proiezione – si esegue su una relazione specificando alcuni dei nomi degli attributi che compaiono nel corrispondente schema di relazione e, quindi, nella stessa relazione.
Operazione di Join – è definita su due o più relazioni.
Linguaggio SQL – è stato realizzato per l'interrogazione, la definizione
e la14. manipolazione delle basi sei dati. SQL è un linguaggio:
- di interrogazione per basi di dati relazionali che rappresenta uno standard per i programmi di basi di dati relazionali;
- dichiarativo cioè specifica l'interrogazione ma non la modalità con cui eseguirla.
DBMS:15.
- Analizza l'interrogazione e formula una richiesta nel suo linguaggio procedurale interno per la gestione della base di dati;
- Traduce, tramite un compilatore, l'interrogazione SQL in una scritta nel linguaggio procedurale interno;
- Permette la definizione dei dati e la manipolazione e cioè la modifica delle basi di dati.
INFORMATICA
INTRODUZIONE ALL'INFORMATICA
9. Informatica – è la scienza che tratta l'elaborazione delle informazioni, cioè, ricercare soluzioni a determinati problemi.
10. Classificazione di problemi
- Problemi che ammettono una sola soluzione;
- Problemi che ammettono in generale più soluzioni.
soluzioni:
- Problemi in cui non si sa se esistono soluzioni. Per un dato problema, l'obiettivo consiste nel determinare tutte le possibili soluzioni ad esso, cioè, determinare un metodo di soluzione ed applicarlo ai dati del problema.
11. Algoritmi - sono metodi che hanno le caratteristiche di:
- Non ambiguità, ogni istruzione è univocamente interpretabile;
- Eseguibilità, ogni istruzione è eseguibile;
- Terminazione, il metodo perviene al risultato dopo un tempo finito.
12. Un Algoritmo è una procedura che risolve un dato problema in termini di:
- Azioni;
- Ordine di esecuzione delle azioni.
L'ordine di esecuzione di un algoritmo si chiama controllo dell'algoritmo. L'algoritmo deve poter essere tradotto in una successione di istruzioni di un qualsiasi linguaggio di programmazione.
13. Un Algoritmo può essere rappresentato con un diagramma di flusso costituito da simboli quali:
- Ovale
- – con la parola “inizio” e “fine”;
- Rettangolo – “simbolo di azione”, indica qualsiasi tipo di operazione;
- Rombo – “simbolo decisionale” e viene posto nei punti dove la linea di esecuzione delle azioni può prendere diverse direzioni a seconda del verificarsi di alcune condizioni;
- Cerchietti – “simboli di connessione” e vengono messi all’inizio e alla fine , se il diagramma rappresenta solo una parte dell’algoritmo;
- Linee di flusso – connettono tra loro i simboli, sono orientate con frecce che indicano l’ordine con cui vengono eseguite le azioni.
- I problemi;
- Le informazioni;
- Metodo di soluzione;
- Un esecutore;
- Le interfacce.
- Costante: quando il tempo di esecuzione del programma è indipendente dalla dimensione del problema;
- Logaritmica: quando il tempo di esecuzione è proporzionale al logaritmo della dimensione del problema;
- Lineare: quando il tempo di esecuzione è proporzionale alla dimensione del problema;
- Polinomiale: quando il numero di istruzioni da eseguire è espresso da un polinomio di grado K;
- Esponenziale: quando il numero di istruzioni da eseguire è esprimibile da una funzione esponenziale della dimensione del problema.
- Trattabili – hanno una complessità intrinseca al massimo polinomiale di ordine inferiore alla decina;
- Intrattabili – hanno una complessità intrinseca esponenziale o polinomiale di ordine superiore.
14. Gli elementi che fanno parte del trattamento delle informazioni sono:
15. La complessità è la misura dell’efficienza di un Algoritmo e può essere riferita o alla memoria
Richiesta per eseguire il programma o altempo di esecuzione di un programma e, si esprime con una funzione matematica del tipo:
16. I problemi che ammettono soluzioni si distinguono in: