Estratto del documento

FONDAMENTI DI

INFORMATIC A 1

ELENCO COMANDI

MATL AB

COMANDO SIGNIFICATO

AND, verifica entrambe le variabili.

& AND, verifica prima la prima variabile; se è falsa, termina

&& l’operazione, se è vera controlla la seconda variabile.

OR, vedi descrizione &.

|

|| OR, vedi descrizione &&.

For Dà inizio ad un ciclo (a = 1:5, ciclo ripetuto 5 volte).

End Fine ciclo

Round (x) Restituisce il numero intero più vicino (arrotonda).

Restituisce l’intero più vicino verso lo zero; per valori

Fix (x) positivi di x si comporta come la funzione floor, per valori

negativi di x come la funzione ceil.

Arrotonda al numero intero più vicino andando in direzione

di -∞, ossia al numero intero immediatamente inferiore con

Floor (x) segno.

Ceil (x) Stesso meccanismo di floor, ma in direzione di +∞.

Generare un vettore

] vettore riga.

- A = [1 2 3 4

Manualmente - A = [1; 2; 3; 4] vettore colonna. 2

COMANDO SIGNIFICATO

- B = Vmin : K : Vmax. Il vettore avrà un valore minimo di

partenza al quale verrà ogni volta sommato un intero K

fino al raggiungimento del valore massimo, il quale non

deve essere necessariamente compreso.

Automaticamente - B = linspace (Xmin, Xmax, N). I valori Xmin e Xmax saranno

presenti come componenti vettoriali; il vettore avrà un

massimo di N componenti.

Dimensione di un vettore/matrice

Risultato: vettore con due componenti, la prima indica il

Size (x) numero di righe e la seconda il numero di colonne.

Risultato: ans: numero maggiore tra righe e colonne di una

Length (x) matrice, mentre nel caso di un vettore si ha il numero di

componenti.

Risultato: ans: numero componenti di vettori o matrici. Nel

Numel (x) caso di vettori si comporta come length (nome-vettore), mentre

nel caso di matrici restituisce il prodotto riga per colonna.

Indicizzazione di un vettore

Questo comando restituisce il valore della componente

A(2) richiesta all’interno del vettore A [es. A = (1 4 3 2), A(2) =

4].

Dato un secondo vettore (es. B = [2, 4]), tale comando

restituisce più componenti del vettore A (es. A(B) = 4, 2). B è

A(B) definito vettore indice.

True 1

False 0

Dato un vettore mask [t/f], applicato ad un vettore già

Vettore indici logici esistente, porta ad ottenere i valori definiti veri dal vettore

mask. È utilizzabile anche per la sostituzione.

Dato un vettore vec = 3 4 5, utilizzando la funzione vec(2)=[ ]

Operatore vuoto si rimuove il secondo elemento e si avrà vec = 3 5. Se si

impone vec = [ ], si cancelleranno tutti i valori del vettore vec.

3

COMANDO SIGNIFICATO

Creare un vettore Per trasporre un vettore riga in vettore colonna, si deve

creare un vettore riga e si traspone tramite apposito

colonna a partire da operatore (apice): r = 1:3, c = r .

un vettore riga I

Operazioni algebriche sui vettori

Dato un vettore A = [2 5 7 1 3], la somma A + 5 restituisce

A + B ans = 7 10 12 6 8.

Dato lo stesso vettore A, il prodotto 2.*A restituisce ans = 4

10 14 2 6. Si possono moltiplicare tra di loro due vettori A e

B; vengono moltiplicate le singole componenti dei due

A .* B vettori, una ad una (i due vettori devono avere lo stesso

numero di componenti, n(A) = n(B)). Se si usa solamente

“*”, si va a fare un’operazione di moltiplicazione fra matrici

(riga per colonna); sarebbe quindi corretto fare A * B .

I

Operazioni logiche sui vettori

Dati due vettori A e B, queste operazioni di confronto danno

A >= n, A <= n, A == come risultati i valori che soddisfano tale relazione in

n, A ~ n termini di true (1) e false (0).

Dato un vettore logico (true/false) ed un altro vettore uguale

al find del vettore logico, quest’ultimo restituirà le

Find (vettore logico) componenti true del primo vettore.

Dati due vettori A = [true true false false] e B = [true false true

A [t/f], B [t/f] false], l’operazione A & B darà ans = 1 0 0 0. L’operazione A |

B restituirà invece ans = 1 1 1 0.

Funzioni di libreria particolari

Operatore che restituisce come scalare la somma di tutte le

Sum (x) componenti di un vettore.

Operatore che effettua la media tra i valori delle componenti

Mean (x) del vettore al quale viene applicato.

Min (x) Valore della componente minima. 4

COMANDO SIGNIFICATO

Max (x) Valore della componente massima.

Tecniche specifiche per gli array

Dati due vettori B = 1 2 3 e C = 4 5 6 7, il vettore A = [B, C]

Concatenazione = 1 2 3 4 5 6 7.

Operazioni sulle matrici

Eye (x) Restituisce la matrice identità.

V(1, :) Estrae un’intera riga da una matrice.

V(:, 1) Estrae un’intera colonna da una matrice.

Concatena due matrici in orizzontale.

Horzcat (x, y) Altrimenti si può fare A = [x, y].

Concatena due matrici in verticale.

Vertcat (x, y) Altrimenti si può fare A = [x; y].

Riorganizza “columnwise” gli elementi di una matrice n x m

Reshape (A, p, q) in una nuova matrice p x q, dove n * m = p * q.

Crea la matrice contenente s * t copie di A.

Repmat (A, s, t) 5

SCIENZA DEI

C ALCOL ATORI

1. L’ I N F O R M AT I C A

È la scienza che studia l’elaborazione delle informazioni e le sue applicazioni; più

precisamente l’informatica si occupa della rappresentazione, dell’organizzazione e

del trattamento automatico della informazione. (Trattamento automatico

dell’informazione tramite calcolatore). Ha per oggetto lo studio dei fondamenti

teorici dell’informazione, della sua computazione a livello logico e delle tecniche

pratiche per la sua implementazione e applicazione in sistemi elettronici

automatizzati detti sistemi informatici.

L’informatica ha a che fare con le “informazioni”. Per fare in modo che il

calcolatore recepisca e memorizzi le informazioni, dobbiamo rappresentarla

tramite simboli tradotti in una grandezza fisica disponibile nel mondo

(elettronico) del calcolatore, ossia effettuare quella che viene definita “codifica

dell’informazione”.

Qualsiasi informazione nel calcolatore, almeno nei suoi circuiti interni, è

rappresentata da numeri codificati in base 2 (sequenze di uno e zero, detti

singolarmente bit) e tramite (generalmente, ma non solo) livelli elettrici. Anche i

caratteri, le immagini ed i suoni (e persino gli stessi programmi) sono quindi

rappresentati, dunque “codificati” in sequenze di bit che “simboleggiano”, ossia

rappresentano, l’entità astratta “numero”.

E’ stata scelta la base due per una questione di praticità; è infatti più semplice

scegliere tra due grandezze fisiche rispetto ad un numero maggiore. La formula

che consente la conversione dalla base 2 alla base 10 è: 6

2. IL COMPUTER (O C ALCOL ATORE)

Il termine “computer” deriva dall’inglese “to compute” (calcolare), da cui il francese

“computer”. L'etimo latino è composto da com = cum (insieme) e putare (“tagliare”,

“rendere netto” - da cui l'odierno “potare”) e significa propriamente: “confrontare

per trarre la somma netta”. Solo verso gli anni ‘50 è stato utilizzato nel senso

moderno, ossia ad indicare una macchina (programmabile) capace di eseguire

calcoli ed algoritmi.

L’Informatica è dunque la scienza che si occupa del trattamento dell’informazione

mediante procedure automatizzabili, e quindi (per esempio) tramite computer.

Il computer è una macchina che, stando a questa prima e rozza definizione che

abbiamo implicitamente iniziato a delineare, esegue dei calcoli (in sequenza),

dunque trasforma delle informazioni (in ingresso) in altre informazioni (in

uscita), seguendo un algoritmo, ossia un procedimento di calcolo, descritto da un

software, o programma, scritto a sua volta in un determinato linguaggio.

Attraverso il Teorema del Campionamento è possibile tradurre qualsiasi grandezza

“del mondo esterno” in un formato comprensibile al mondo degli elaboratori

(numeri codificati in binario). È proprio questo ad aver reso l’informatica

universalmente applicabile. Esso semplicemente asserisce che, dato un segnale

analogico, tempo continuo e banda limitata, è possibile rappresentarlo

esaustivamente tramite un numero finito di valori prelevati (misurati) ad

intervalli regolari. In tal guisa, i segnali “esterni” vengono “tradotti” in segnali

comprensibili ai computer tramite dei dispositivi detti “convertitori analogico-

digitali” e, per l’operazione contraria, in convertitori “digitale-analogico”,

applicando, con un certo grado di approssimazione, il teorema del

campionamento.

Da notare che il calcolatore è tradizionalmente una macchina costruita con circuiti

elettronici (o elettromeccanici): le grandezze disponibili sono dunque segnali

elettrici.

Di competenza dell’informatica è la risoluzione sistematica e automatica dei

problemi, (problem solving: “Un problema può essere definito come la situazione in

7

cui si trova un essere vivente, il solutore, il quale desidera passare da uno stato

dato ad uno desiderato, ma non può farlo né tramite un'azione istintiva né

mediante un comportamento appreso. Il termine inglese problem solving indica il

processo cognitivo messo in atto per analizzare la situazione “problemica” ed

escogitare una soluzione. Una tale prima e generale definizione si può estendere

anche a meccanismi d'intelligenza artificiale”).

Per poter fare ciò in primo luogo occorre rappresentare le informazioni rilevanti

alla risoluzione del problema per poi adottare una procedura, tramite un processo

a step, che consenta di ottenere la soluzione, ovvero un algoritmo. La procedura di

rappresentazione, assieme al processo, è l’essenza della scienza della

rappresentazione dell’informazione ed elaborazione automatica (rappresentazione

dell’informazione ed esecuzione automatica di un algoritmo).

3. GLI ALGORITMI

Il termine “automatico” indica una macchina, meccanismo o dispositivo che,

regolato opportunamente, è capace di compiere determinate operazioni o

lavorazioni, per lo più ripetute in serie, chiamate “algoritmi”. Ciascun algoritmo

deve seguire delle opportune istruzioni per poter essere efficiente:

• I passi costituenti devono essere elementari, ovvero non ulteriormente

scomponibili (principio di atomicità).

• I passi costituenti devono essere interpretabili in modo diretto e univoco

dall'esecutore, sia esso umano o artificiale (principio di non ambiguità).

• L'algoritmo deve essere composto da un numero finito di passi e richiedere una

quantità finita di dati in ingresso (finitezza).

• L'esecuzione deve avere termine dopo un tempo finito (terminazione).

• L'esecuzione deve portare a un risultato univoco (effettività).

Il modello di un fenomeno reale è un’approssimazione di esso che riusciamo a

gestire con i nostri mezzi intrinsecamente limitati. Tramite un computer possiamo

8

simulare (modellizzare) numerosi aspetti del mondo reale tramite algoritmi. Per

capire al meglio il concetto di algoritmo viene effettuata una funzione di

trasformazione, mediante una sequenza di passi, da informazioni di ingresso a

informazioni di uscita, secondo lo schema seguente:

Il computer, o elaboratore, è appunto la soluzione tecnologica per “delegare”

l’esecuzione dei passi dell’algoritmo ad un dispositivo che lo faccia per nostro

conto, operando sui dati di ingresso e producendo dei dati di uscita che

rappresentano la soluzione del nostro problema. L’algoritmo verrà tradotto in un

linguaggio di programmazione ed eseguito su un elaboratore elettronico

generalmente a “programma memorizzato”.

Un formalismo molto importante per rappresentare in maniera efficace un

algoritmo è quello noto come “diagramma di flusso”; esso a sua volta fa parte

della grande famiglia del cd. Modelli Grafici, diffusi un po’ in tutte le branche

dell’Ingegneria (e non solo). Esso è un linguaggio di modellazione grafico per

rappresentare il flusso di controllo ed esecuzione degli algoritmi.

Sostanzialmente si tratta di associare ad uno o più passi dell’algoritmo (passi che

saranno poi tradotti con una o più istruzioni di un linguaggio di programmazione)

dei simboli grafici. In questo modo vengono messe meglio in evidenza alcune

caratteristiche dell’algoritmo, e rese più semplici le eventuali successive

operazioni di codifica e/o messa a punto.

Il programma inizia quindi l’esecuzione, rispettando i seguenti passaggi:

Assegna. Assegna ad una variabile (ad una locazione di memoria) il valore di

• una espressione.

Leggi. Legge in input dall’esterno un valore e lo memorizza in una variabile

• (locazione di memoria). 9

Scrivi. Scrive in output il valore di una espressione o di una variabile (locazione

• di memoria).

“Se...allora...altrimenti...” modifica il “flusso” del programma sulla base del

• valore di una espressione logica.

“Vai al passo...” modifica il “flusso” del programma incondizionatamente.

• Fermati termina l’esecuzione del programma.

• In ultimo il blocco “algoritmo collaterale”, meno frequente nell’uso pratico,

• implica che in quel punto verrà eseguito un altro algoritmo, a sua volta

potenzialmente rappresentato tramite un altro diagramma di flusso. Ad

esempio, un algoritmo già sviluppato e testato in tempi differenti e che viene

riutilizzato. 10

Il Teorema fondamentale della programmazione strutturata dimostra che qualsiasi

programma può essere codificato attenendosi esclusivamente a tre strutture

fondamentali:

Le tre strutture di cui sopra possono essere concatenate oppure annidate una

dentro l’altra, ma non intrecciate o accavallate. 11

GENERALITÀ

L’informatica è divisa in due parti:

Tecnologica, che comprende lo studio dei calcolatori e dei sistemi che li

• utilizzano.

Metodologica, la quale studia i metodi per la soluzione di problemi e la gestione

• delle informazioni.

L’informatica intesa come studio dell’elaborazione delle informazioni, ossia quella

scienza che si occupa di trovare soluzioni per mezzo di algoritmi, potrebbe di per

sé esistere senza gli elaboratori (computer), che costituiscono solo un mezzo per

utilizzare in maniera conveniente ed automatica i risultati ottenuti. L’elaboratore è

a sua volta composto da tre componenti:

Hardware, ossia l’insieme dei circuiti fisici comprendenti la memoria, la logica

• di calcolo (microprocessori, unità grafiche, co-processori ecc...), le periferiche di

ingresso/uscita (tastiere, monitor, stampanti, mouse, penne ottiche ecc...).

Software applicativo, l’insieme dei “programmi”, o “app”, che mettono in grado

• l’hardware di svolgere dei compiti “utili”, ossia di risolvere una determinata

classe di problemi od un problema specifico. I software consentono di

specializzare una macchina fisica di tipo generale per eseguire un compito

particolare. ll software è scritto in un linguaggio di programmazione, che può

essere il linguaggio nativo della macchina fisica (detto, appunto, linguaggio

macchina, direttamente comprensibile ai circuiti e costituito da sequenze di bit),

oppure con un linguaggio di alto livello, dove per “livello” si intende il grado di

vicinanza al linguaggio più semplice. Le istruzioni di un linguaggio ad alto

livello vengono tradotte in più istruzioni di linguaggio a basso livello da appositi

programmi detti compilatori; il programma finale sarà comunque costituito da

una serie di bit, l’unico linguaggio comprensibile alla macchina.

Software di base (o Sistema Operativo). È un insieme di programmi in

• dotazione “fissa” alla macchina che interagiscono direttamente con l’hardware e

servono a semplificare l’uso della macchina fisica, trasformandola di fatto in

un’altra macchina “virtuale” con caratteristiche migliori dal punto di vista di

12

fruibilità e facilità di utilizzo. Il sistema operativo definisce anche quella che

viene detta “Interfaccia Utente”, lo strumento finale che serve all’utente per

interagire con l’elaboratore, a lanciare le applicazioni ed in generale ad impartire

comandi al sistema. 13

1. C ODIFIC A

La codifica permette di scambiare informazioni con il computer (attraverso un

“vocabolario”). Attraverso la codifica dei bit l’elaboratore associa ad una data

sequenza un numero, che poi può andare a rappresentare qualsiasi cosa sia

necessaria. Le lettere stesse non sono altro che il frutto di una codifica di numeri

(A = 65, B = 66…). I singoli bit all’interno dei circuiti dell’elaboratore sono

rappresentati da tensioni elettriche. Un potenziale elettrico di 0 V viene

interpretato dall’elaboratore come un numero binario 0, mentre un potenziale più

elevato, come può essere quello di 5 V, viene interpretato come 1. Il computer non

è quindi una macchina multimediale, ma è appunto unimediale, proprio perché

nella sua memoria archivia dati in forma binaria.

2. ARC HITETTURA DEI C ALCOL ATORI

I moderni calcolatori sono costruiti secondo un modello architetturale noto come

Architettura di von Neumann, nota anche come “macchina a programma

memorizzato”.

Un calcolatore è composto da una memoria centrale, la RAM (Random Access

Memory), nella quale vengono immagazzinati le istruzioni ed i dati, un’unità di

ingresso (input), tramite la quale i dati vengono immessi nella memoria centrale e

Anteprima
Vedrai una selezione di 7 pagine su 79
Fondamenti di Informatica Pag. 1 Fondamenti di Informatica Pag. 2
Anteprima di 7 pagg. su 79.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica Pag. 6
Anteprima di 7 pagg. su 79.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica Pag. 11
Anteprima di 7 pagg. su 79.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica Pag. 16
Anteprima di 7 pagg. su 79.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica Pag. 21
Anteprima di 7 pagg. su 79.
Scarica il documento per vederlo tutto.
Fondamenti di Informatica Pag. 26
1 su 79
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Alessandro_Polimeni_04 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma Tor Vergata o del prof Accattatis Alfredo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community