Anteprima
Vedrai una selezione di 4 pagine su 11
Riassunto Fondamenti di informatica Pag. 1 Riassunto Fondamenti di informatica Pag. 2
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Riassunto Fondamenti di informatica Pag. 6
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Riassunto Fondamenti di informatica Pag. 11
1 su 11
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

(RAM)-Fase di Fetch:

Fase in cui il programma è stato trasferito dalla memoria di massa in memoria RAM sotto forma di sequenza di istruzioni in linguaggio macchina. L'istruzione successivamente viene prelevata e copiata tramite il BUS nei circuiti costituenti il Datapath.

Fase di Decode:

L'istruzione viene decodificata, ossia si cerca di associare a quel determinato codice le "azioni" fisiche da compiere per eseguire il comando ("ciclo di datapath").

Fase di Execute:

Fase in cui la CPU esegue l'istruzione (con il ciclo di datapath) interagendo con la memoria se l'istruzione richiede il caricamento di operandi ed eventuale successiva memorizzazione dei risultati ottenuti. Quando il programma termina, i risultati vengono inviati al dispositivo di Output.

Capitolo 6

Interfaccia a riga di comando

Concetti generali su Matlab e finestra dei comandi

Matlab è fondamentalmente 3 cose: Linguaggio di programmazione, Calcolatrice scientifica e Ambiente.

grafico-Matlab non opera con numeri (scalari) ma con matrici: i vettori e gli scalarivengono considerati come casi particolari di matrici

Concetti generali sulla scrittura dei programmi

Variabili e assegnazioni di valori

  • Concetto di variabile: la variabile è rappresentata da una stringa la cui composizione deve seguire delle regole (Lo spazio non è permesso, deve iniziare con una lettera dell'alfabeto, le lettere maiuscole e minuscole sono considerate diverse ("case sensitive"), le keyword non possono essere usate come nomi di variabili)
  • Segno "="

Tipi di dati

  • Si definisce tipo di dato un nome che indica l'insieme di valori che una variabile, o il risultato di un'espressione, possono assumere e le operazioni che su tali valori si possono effettuare
  • Variabili "tipizzate" e "non tipizzate"
  • Tipizzazione debole o dinamica
  • Tipizzazione forte
  • Conversione di tipo o "typecast"

Script

Commenti (simbolo %): sono delle

informazioni aggiuntive che non vengono considerate dal compilatore/interprete

Comandi multipli nella stessa riga

Caratteri e codifica

Caratteri

Codifica ASCII

Tipi numerici in Matlab

Runtime, intmin e intmax

Capitolo 7

La rappresentazione dei numeri reali: Floating e Fixed Point

Fixed Point

Passo: corrisponde alla risoluzione del numero in questione

Una parte delle cifre è dedicata alla rappresentazione della parte intera (ncifre) e la rimanente alla parte frazionaria (m cifre), ricordando che bisogna destinare un posto per il segno. La posizione della virgola è fissa

Floating Point

Alcune cifre vengono dedicate a rappresentare un esponente della base che indica l'ordine di grandezza del numero rappresentato: "notazione scientifica". La posizione della virgola è mobile.

Svantaggi della virgola fissa: non rappresenta bene numeri frazionari molto grandi/molto piccoli

I numeri reali "n" vengono, in tal modo, rappresentati con una coppia di

Numeri<m,e> dove m corrisponde alla mantissa, o significante, ed e corrisponde all'esponente intero-Limitazioni della virgola mobile: intervalli limitati e errori diarrotondamento-Overflow (Sconfinamento in intervalli numerici non consentiti) e Underflow(viceversa)-IEEE 754 o "IEEE standard for binary floating arithmetic"Standard IEEE 754-E' un format non proprietario, ossia non dipendente dal calcolatore-Precisione semplice a 32 bit-Precisione doppia a 64 bit-Esponente: è rappresentato in "eccesso" 127, detta anche "polarizzazione" o"bias"-La rappresentazione in "eccesso 127" significa che al vero esponente è statoaggiunto il valore 127, e dunque per ottenere l'esponente originale bisognasottrargli il valore 127Numeri normalizzati e denormalizzati-I numeri normalizzati sono i numeri in cui l'esponente è diverso da zero e la mantissa risulta normalizzata tra 1 e 2. E' implicito l'1.quindi tutti e 23 ibit vengono utilizzati-I numeri denormalizzati sono quelli in cui l'esponente è uguale a zero e la mantissa risulta normalizzata tra 0 e 1. E' implicito lo 0, quindi tutti e 23 ibit vengono utilizzati Overflow e Underflow-L'esito di un'operazione può essere troppo grande per essere contenuto in un registro (e lo chiameremo "overflow") oppure troppo piccolo (e lo chiameremo "underflow") Capitolo 8 Vettori e Matrici-Ogni tipo numerico definito in Matlab è una matrice di dimensioni n x m. Uno scalare è un caso particolare della matrice in cui n=1 ed m=1 -Array: "Un insieme di dati omogeneo organizzato in maniera che ciascun elemento (dato) è identificato univocamente (tipicamente da un indice)" -Scalare: array di un unico elemento 1 x 1 -Vettore: array monodimensionale (m x 1 o 1 x n) -Matrice: array bidimensionale (m x n) Vettori-I vettori sono disposti su una riga o su una colonna e ciascun

Un elemento del vettore ha due attributi separati e distinti che lo rendono univoco: Valore e PosizioneMatrice.

La PosizioneMatrice è una tabella bidimensionale di valori, gli elementi sono disposti in righe e colonne e le dimensioni sono m x n dove m è il numero di righe mentre n è il numero di colonne.

Operazioni sui vettori:

  • Creare un vettore
  • Determinare la dimensione del vettore
  • Estrarre dati dal vettore tramite gli indici
  • Ridurre un vettore
  • Calcoli matematici e logici sui vettori

Creare un vettore:

  • Creazione diretta e creazione automatica
  • Creazione automatica: Range di valori, valori equamente distribuiti e valori casuali oppure 0 e 1
  • Funzioni definite in Matlab: zeros(1,N), ones(1,N), rand(1,N)

Vettori e matrici: dimensioni

Tre funzioni "built-in": size(A) restituisce un vettore contenente due quantità: numero di righe e numero di colonne, length(a) restituisce il valore massimo tra le dimensioni della matrice (righe e colonne), se è un vettore coincide con la sua lunghezza.

numel(A) restituisce il numero degli elementi (per una matrice è il prodotto righe per colonne). Funzione max e min Indicizzare un vettore In Matlab gli indici di un vettore iniziano dal valore 1. v(index) restituisce l'elemento (o gli elementi) alla(e) posizione(i) specificata(e) dal valore index. v(index) = value modifica gli elementi alla(e) posizione(i) specificata(e) dall'indice assegnandogli il valore "value". L'indice può essere a sua volta un vettore, in tal caso si chiama vettore indice. Funzione round: converte i numeri in valori interi. Lo stesso procedimento che esegue il vettore indice si può fare direttamente senza passare per un vettore indice intermedio. Regole per i vettori indici: Il vettore indice può avere qualsiasi lunghezza, deve contenere solo i numeri interi positivi, il valore del vettore indice deve seguire le seguenti regole: - In lettura tutti i valori dell'indice devono essere 1 <= elemento <= length(vettore). - In scrittura,tutti i valori dell'indice devono essere 1<=elemento Due operazioni: 1. Sostituire degli elementi in un vettore 2. Aumentare le dimensioni Prima regola: non si può accedere ad una componente inesistente Seconda regola: la sostituzione di valori allocati va eseguita direttamente Terza regola: se si prova ad usare una componente non ancora allocata essa verrà automaticamente allocata e le componenti esistenti tra l'ultima assegnata in precedenza e la nuova verranno a loro volta create e poste al valore zero Indici logici: In lettura vengono restituiti solo gli elementi corrispondenti al valore logico "true"; in fase di sostituzione vengono sostituiti solo gli elementi corrispondenti all'indice con valore logico "true" I valori logici non sono valori numerici Ridurre le dimensioni di un vettore (shortening): Per evitare di gestire, in determinate fasi, quantità di memoria eccessiva allora può convenire modificare le dimensioni dei

vettori-Eliminare un elemento è ben diverso che metterlo al valore zero

Operatore vuoto, non occupa spazio

Creare un vettore colonna-Il vettore colonna si crea usando il punto e virgola al posto della virgola o dello spazio

Non è possibile utilizzare l'operatore ":" , allora bisogna ricorrere ad un piccolo trucco: si crea un vettore riga e si "traspone" tramite apposito operatore (apice)

Trasposizione significa trasformare un vettore riga in un vettore colonna e viceversa

Operazioni sui vettori-Due tecniche sono specifiche per gli array in generale ed i vettori in particolare: 1.Concatenazione 2.Slicing (generalized indexing)

Operazioni aritmetiche-Si aggiungono nuovi operatori che devono tenere conto di regole specifiche per vettori e matrici-L'operazione somma tra un vettore ed uno scalare si riduce a sommare il valore scalare ad ogni singola componente del vettore-L'operatore di moltiplicazione è indicato come ".*" ed anche in

media dei valori del vettore. -Funzione "max(v)" e "min(v)" prendono in ingresso un vettore e restituiscono il valore massimo e minimo presente nel vettore. -Funzione "length(v)" restituisce la lunghezza del vettore. -Funzione "size(A)" restituisce le dimensioni della matrice A. -Funzione "zeros(n)" restituisce un vettore di zeri di lunghezza n. -Funzione "ones(n)" restituisce un vettore di uni di lunghezza n. -Funzione "eye(n)" restituisce una matrice identità di dimensione n.e operatore di modulo. Restituisce il resto della divisione tra due numeri. Ad esempio, mod(7, 3) restituisce 1 perché il resto della divisione di 7 per 3 è 1. -Funzione "abs(v)": restituisce il valore assoluto di un numero. Ad esempio, abs(-5) restituisce 5. -Funzione "sqrt(v)": restituisce la radice quadrata di un numero. Ad esempio, sqrt(9) restituisce 3. -Funzione "exp(v)": restituisce il valore di e elevato alla potenza di un numero. Ad esempio, exp(2) restituisce il valore approssimato di e^2. -Funzione "log(v)": restituisce il logaritmo naturale di un numero. Ad esempio, log(10) restituisce il logaritmo naturale di 10. -Funzione "log10(v)": restituisce il logaritmo in base 10 di un numero. Ad esempio, log10(100) restituisce 2 perché 10^2 è uguale a 100. -Funzione "sin(v)", "cos(v)" e "tan(v)": restituiscono rispettivamente il seno, il coseno e la tangente di un angolo in radianti. Ad esempio, sin(pi/2) restituisce 1 perché il seno di pi/2 è 1. -Funzione "asin(v)", "acos(v)" e "atan(v)": restituiscono rispettivamente l'arco seno, l'arco coseno e l'arco tangente di un numero. Ad esempio, asin(1) restituisce pi/2 perché il seno di pi/2 è 1. -Funzione "rand(v)": restituisce un numero casuale compreso tra 0 e 1. Ad esempio, rand() restituisce un numero casuale compreso tra 0 e 1. -Funzione "randi(v)": restituisce un numero casuale intero compreso tra 1 e il valore specificato. Ad esempio, randi(10) restituisce un numero casuale intero compreso tra 1 e 10. Queste sono solo alcune delle funzioni matematiche disponibili in MATLAB. Puoi utilizzare queste funzioni per eseguire calcoli complessi e manipolare i dati in modo efficiente.
Dettagli
Publisher
A.A. 2019-2020
11 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher MarcoJ99 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.