Corso di Informatica

Materie:Appunti
Categoria:Informatica
Download:187
Data:29.08.2001
Numero di pagine:7
Formato di file:.doc (Microsoft Word)
Download   Anteprima
corso-informatica_1.zip (Dimensione: 11.26 Kb)
trucheck.it_corso-di-informatica.doc     45 Kb
readme.txt     59 Bytes



Testo

INFORMATICA, fusione di due parole che sono: - Informazione;
- Automatica (è un funzionamento elettronico.
Non viene svolta dall’uomo).
INFORMAZIONE, insieme di conoscenze Dato Semantica (il dato assume nel
particolare del testo di inserimento).
- ELABORAZIONE DI INFORMAZIONI O DATI;
- COMUNICAZIONE (per l’interno) DI INFORMAZIONI O DATI;
- TRASMISSIONE (per l’esterno) DI INFORMAZIONI O DATI;
- CONSERVAZIONE DI INFORMAZIONI O DATI.
L’informatica si occupa:
Un sistema di elaborazioni è un sistema di elementi diversi tra loro che possono essere divisi in due grandi categorie:
HARDWARE HW Insieme di dispositivi fisici in grado di svolgere materialmente
l’elaborazione;
SOFTWARE SW Insieme di istruzioni (programmi) che eseguiti partendo dai dati,
producono i risultati.
L’hardware di un sistema di elaborazione può essere rappresentato secondo il modello di Von Neumann:
C.P.U. = Central Progressing Unit, è un dispositivo Hw che esegue operazioni logiche matematiche e di trasferimento dati composta da:
- Unità di controllo (C.U.);
- Unità Aritmetico-logica ( ALU);
- Memoria locale (Registri).
È il cervello del calcolatore, tutte le sue attività sono scandite dal Clock CK, la cui frequenza è espressa in Mhz, che determina anche il numero di operazioni che vengono eseguite nell’unità di tempo.
La memoria centrale si divide in RAM e ROM.
R.A.M. (Random Access Memory), memoria volatile, contiene il programma in esecuzione e i suoi dati. Possono esservi lette e scritte delle informazioni, ma queste vengono perse allo spegnimento del calcolatore.
R.O.M. (Read Only Memory), memoria non volatile, conserva informazioni che non possono essere modificate, es. Quelle necessarie per l’avvio del calcolatore e del suo funzionamento di base. Il BIOS è contenuto nella ROM, e controlla i registri e le periferiche.
Il funzionamento del calcolatore si basa sull’utilizzo di dispositivi elettronici operanti su due strati possibili. Di conseguenza nella memoria l’informazione è immagazzinata come combinazione di una unità fondamentale detta BIT: BInary digiT (cifra binaria), che dal punto di vista logico può assumere solo due valori: vero o falso, si o no, 0 o 1, …. ecc..
Nell’insieme di 8 bit prende in nome di Byte e viene utilizzato con l’unità di misura della memoria stessa. Ogni singolo Byte è identificato univocalmente da un indirizzo (numerico) attraverso la quale è possibile accedere al valore memorizzato.
Una caratteristica fondamentale della memoria centrale è il ridotto tempo di accesso, cioè il tempo necessario a leggere o scrivere un dato in memoria.
INPUT = sono quei dispositivi che rendono possibile l’inserimento dei dati dall’esterno all’interno dell’elaboratore.
OUTPUT = sono quei dispositivi che rendono possibile l’invio verso l’esterno dei risultati dell’elaborazione.
L’architettura di Von Neumann è supportata dalla presenza di memoria di massa, che risponde alla necessità di memorizzare e conservare grandi quantità di dati in modo permanente.
La tecnologia utilizzata per realizzare la memoria di massa, analoga alla memoria a lungo termine dell’uomo, si basa sulla registrazione di dati su superfici (dischi o nastri) ricoperti da materiale isolante magnetico (nastro, Hardisck, floppy-disk, cd-rom,… ecc.).
CONCETTO DI PROGRAMMA
Il termine Programma, può essere utilizzato per riferirsi a sequenze di azioni che si prefiggono al raggiungimento di obbiettivi precisi. Nel campo informatico, la definizione di programma è la seguente: è una sequenza di istruzioni scritte in un linguaggio comprensibile al calcolatore, che le esegue per ottenere i risultati richiesti.
CONCETTO DI PROBLEMA E ALGORITMO.
1° ALGORITMO = serie finita di istruzioni univocalmente interpretabili eseguite in sequenza che restituisce, per ogni ingresso, il risultato in uscita. È il metodo di risoluzione al problema.
2° PROBLEMA = quesito da risolvere.
SISTEMA OPERATIVO
Software di base che:
a) consente l’utilizzo del calcolatore; (gestione delle periferiche)
b) interfaccia l’utente con la macchina;
c) gestisce le risorse.
FATTORI DI QUALITA’ DEL SOFTWARE:
- CORRETTEZZA (se l’elaboratore da dei risultati attesi);
- ROBUSTEZZA (se è protetto da mal funzionamenti Sw. Es. quando si imposta un programma, che non abbia difetti);
- AFFIDABILITA’ (è maggiore se più difficilmente sbaglia); l’affidabilità in più dipende dai primi due fattori.
- EFFICIENZA (è maggiore se sono minori i tempi e la memoria richiesta); più è veloce lo svolgimento del programma meglio è eseguibile.
- COMPRENSIBILITA’ (è maggiore quando il listato è leggibile);
- RIUSABILITA’ (è maggiore quanto più si adatta ad altre situazioni);
- MANUTENIBILITA’ (facilità di trovare errori e portabilità);
- PORTABILITA’ (è concetto di chiarezza).

METODI DI SVILUPPO DEL SOFTWARE
1° il metodo Top-down segue una strategia deduttiva che consiste nell’analizzare il problema nelle sue linee generali per poi comporlo in una serie si sotto problemi, ciascuno affrontabile separatamente. Si applica poi lo stesso principio fino a raggiungere un livello di dettaglio tale da poter considerare elementari i singoli passi individuati.
2° il metodo Botton-up, invece si sviluppano subito i dati più salienti, che vengono poi gradatamente integrato con gli altri fino a raggiungere lo scopo finale. Si tratta di una strategia induttiva, si va cioè dal particolare al generale.
RUOLO DEI LINGUAGGI
a) NATURALE (Italiano), modo di comunicare;
b) DI PROGETTO, formalismi per esplicare un algoritmo risolutivo, in maniera univoca. (es. linguaggio di progetto, Flow-chart)
c) DI PROGRAMMAZIONE:
• LINGUAGGIO MACCHINA, non è portabile. (non si può adattare ad altre situazioni, es. si utilizza una versione nuova su una vecchia);
• LINGUAGGIO ASSEMBLER, è un linguaggio a basso livello; ad ogni istruzione del programmatore, corrisponde un’istruzione da parte del calcolatore;
• LINGUAGGIO AD ALTO LIVELLO:
a. General Purpose (a scopo generale, es. Basic, Pascal, ecc.);
b. Specializzati (Format, Cobol);
c. Avanzati (Grafica e Simulazione).
• SW APPLICATIVO;
• Nell’ambito dell’intelligenza artificiale, si cerca di ricreare il modo di ragionare dell’uomo:
1) Linguaggi a programmazione Logica: si programma mediamente frasi logiche (Prolog);
2) Linguaggi a programmazione funzionale: si utilizza il concetto di funzione matematica (Lisp);
3) Linguaggi orientati agli oggetto: si prestano maggiori attenzioni alla variabile piuttosto che alle funzioni (Visual Basic).
STRUMENTI DI SVILUPPO DEL SOFTWARE
Quell’insieme di strumenti software che servono al programmatore per far funzionare il programma.
1° Sistema Operativo.
2° Editor, permette la scrittura di un file sorgente, file che contiene la sequenza di istruzioni.
3° Compilatore, verifica la correttezza sintattica del file sorgente: in caso negativo segnala errore, in caso positivo crea un file oggetto.
4° Linker, unisce più file oggetto in un unico file eseguibile.
5° Debugger, facilita l’individuazione di errori di logica, permette l’esecuzione di una istruzione alla volta e si arresta quando raggiunge una determinata riga.
In sostituzione al compilatore, linguaggio ad alto livello, possono avere l’interprete che permette al programma di andare in esecuzione fino a che non trova un errore sintattico. In un linguaggio interpretato, ogni istruzione viene tradotta ed eseguita istantaneamente da un programma, l’interprete; in un linguaggio compilativo, il compilatore traduce il programma completo in un linguaggio macchina e la sua esecuzione è rimandata ad una fase successiva.
Un interprete sta ad un compilatore come un traduttore simultaneo sta a un traduttore di testi scritti.

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI (OOP)
Si presta maggior attenzione alle variabili piuttosto che alle funzioni:
- Classe: insieme di oggetti che esibiscono all’esterno lo stesso comportamento (presentano cioè la stessa interfaccia con le stesse operazioni).
Viene definita come un modulo che comprende (incapsula) la definizione del tipo (struttura dati) e le funzioni che manipolano le variabili:
- Oggetto: come elemento (istanza) della classe.
- Stato interno: insieme dei valori contenuti nell’oggetto.
- Metodi: funzioni che descrivono o modificano il comportamento dell’oggetto; i metodi si dividono in Comandi e Osservatori.
- Comandi: quelle funzioni che modificano lo stato interno dell’oggetto.
- Osservatori: danno informazioni sullo stato interno di un oggetto.
- Data abstraction: caratteristica della classe utilizzare nuovi tipi di dati con maggiori proprietà di astrazione.
Il programmatore utente manipola gli oggetti solo con i metodi di:
- Protezione: l’utente viene protetto dall’oggetto e viceversa.
- Information aiding: occultamento delle informazioni (nascondere). Semplifica l’uso di una classe e impedisce un uso improprio dei dati.
CONCETTI BASE DELLA OOP
- Incapsulamento: proprietà in base alla quale una classe è definita dalle sue caratteristiche che includono gli attributi; che rappresentano i dati, e le procedure (metodi) che rappresentano le operazioni su quei dati.
Supera la tradizionale scissione tra dati e funzioni.
È importante sottolineare che una classe non è oggetto ma solo una sua descrizione e come tale non riserva un’area di memoria.
La classe è caratterizzata dai seguenti attributi:
Nome, Dati membro, Funzioni membro e livello di accesso.
- Ereditarietà: è la possibilità di definire, a partire da una classe base, delle (una o più) classi derivate (sottoclassi) che ereditano gli attributi della classe antenata con qualche attributo in più o diverso. Ci si rifà al concetto di tassonomia (scienza dell’ordine): catalogazione degli oggetti in classi e definizione di quali classi sono sottoclassi di altre.
- Polimorfismo: caratteristica che consente agli oggetti provenienti da classi diverse di una stessa gerarchia di ricevere uno stesso messaggio e di rispondere automaticamente, ogni oggetto con il proprio membro, e quindi in maniera coerente con la classe di origine.
- Insieme dei dati membri: quelle parti della classe che portano le informazioni che variano per ogni oggetto. Il concetto è a fine ai campi della struttura (o vettore).
- Insieme di funzioni membri: vedi “Metodi”.
- Livelli di accesso:
1) Pubblico: un elemento è pubblico quando vi si può accedere da ogni parte del programma.
2) Privato: un elemento è privato quando vi si può accedere tramite un elemento funzione della classe.
3) Protetto:
a) è pubblico per tutte le classi derivate (che ereditano);
b) è privato per il resto del programma.

Esempio