Anteprima
Vedrai una selezione di 9 pagine su 38
Informatica - teoria e programmazione Pag. 1 Informatica - teoria e programmazione Pag. 2
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Informatica - teoria e programmazione Pag. 6
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Informatica - teoria e programmazione Pag. 11
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Informatica - teoria e programmazione Pag. 16
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Informatica - teoria e programmazione Pag. 21
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Informatica - teoria e programmazione Pag. 26
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Informatica - teoria e programmazione Pag. 31
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Informatica - teoria e programmazione Pag. 36
1 su 38
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Il computer

  • 1942 - 52
  • 1958 - 63
  • 1964 - 80
  • 1980 - oggi
  • Futuro

Esistono due grandi classi di elaboratori:

  • Elaboratori di uso generale (general-purpose computer) es. PC
  • Elaboratori dedicati (special-purpose computer) es. computer dentro alla lavatrice

Server: è un elaboratore che fornisce dei "servizi" ad altri elaboratori (chiamati client) attraverso una rete (computer network)

Server farm: si fa riferimento all'insieme di elaboratori server collocati in un apposito locale (centro di calcolo) presso una media o grande azienda

(Big iron) Mainframes: sono elaboratori di grandi prestazioni usati principalmente da grandi imprese per rilevanti applicazioni software

Super computer: grandissimi calcolatori. IBM Blue Gene/Q (Luglio 2012) Labs - Potenza: 16 PFlops (Peta flops)

Super computer (bozJune 2010) 16.400.000.000 moltiplicazioni al secondo (16.4 miliardi)

Flops = Floating point - operazioni con numeri con la virgola cioè COMPLICATE

Peta = mille miliardi di operazioni

Operazione per secondo

Dobbiamo tradurre il problema in una serie di passi/passaggi così che il PC comprenda la situazione

La soluzione a un problema passa generalmente attraverso un algoritmo. Algoritmo + Dati = Programma

  • Algoritmo semplice: cucinare la pasta
  • Algoritmo complesso: ordinare un mazzo di carte

Algoritmi x ordinamento più famosi: - Bubblesort - Quicksort

Diagramma di flusso

  • Calcolo del massimo tra due valori A e B
  • Soluzione: il massimo è il più grande tra A e B

Soluzione formale

  1. Reset (Inizializzare max = 0) A, B - Inizia
  2. Mettere max = B, stop

La programmazione consiste nella scrittura di un "documento" (file sorgente) che descrive la soluzione del problema in oggetto.

In genere non esiste "la" soluzione ad un certo problema.

Diagrammi di flusso (flow-chart)

Blocchi di inizio fine

  • Start
  • Stop

Blocchi di azione

  • Azione generica
  • I/O

Input (tastiera), Output (schermo/video)

Blocco di decisione

Condizione

Es.

Start

MAX:=0

NO

A>B?

MAX:=B

MAX:=A

Stop

Blocco di connessione

Architettura degli Elaboratori

RAM

Random Access Memory - Accesso casuale alla memoria

Microprocessore

(MP) è un chip che realizza le funzioni "Central Processing Unit" (CPU) in un computer o in un sistema elettronico.

Registri:

  • ALU: Unità aritmetica e logica
  • Unità di controllo: Gestisce unità, decodifica istruzioni, ciclo fetch
  • Bus: Trasporto di segnali per governare le attività nel tutto

Massima memoria integrata:

  • La dimensione dell'ABUS determina il max numero di celle di memoria indirizzabili
  • ABUS da 20 bit
  • Max memoria = 2ABUS x DBUS
  • Esempio: 232 celle x 232 word = 232 x 4 bytes

La memoria esterna

Non dipende dall'ABUS perchè viene vista come un periferico (in input e/o in output I/O)

Memoria

La massima quantità di memoria esterna dipende dal bus I/O (ovvero su cui sono collegate periferiche)

Dati

I dati numerici sono più usati e tutti gli altri tipi di dati vengono trasformati in numerici.

In C tutti i dati devono essere dichiarati prima di essere usati.

  • La dichiarazione di un dato richiede:
    • L'allocazione di uno spazio in memoria atto a contenere il dato
    • L'assegnazione di un nome a tale spazio in memoria

La dichiarazione va nella parte dichiarativa (globale o locale). Occorre specificare: nome, tipo e modalità d'accesso.

Se la modalità di accesso non è specificata è sottintesa: variabile

Identificatori da parole chiave

  • char: intera a 8 bit usato per i caratteri (codifica ASCII)
  • int: intero
  • float: reale (floating point singola precisione, ex. 32 bit)
  • double: reale ( " " " doppia " " ex. 64 bit)

La dimensione di questi tipi dipende dall'architettura (non definita dal linguaggio), ad eccezione del char. 1 char = 8 bit = 1 byte sempre.

Sono presenti dei modificatori ai tipi base:

  • signed / unsigned: applicabili a char e int
    • valore numerico con segno
    • valore numerico senza segno
    • signed 2n-1 -> - 2n-1 + 1
    • unsigned 2n -> +

short / long: applicabili a int. Utilizzabili anche senza specificare int. dimensione

  • es. long int: numero intero con il doppio di bit 64 bit
  • short int: ". . . la metà di bit 16 bit
  • long long int: ". . . quadruplo di bit 128 bit

es. [signed / unsigned] short [int]

int

long [int]

long long [int]

es. int x;

short int stipendio;

6,02 * 1023 = 6,02 e 23 "realtà" in C

Unicode

Mettete tutti i caratteri di tutte le lingue del mondo (+ di un milione)

UTF-8

È la codifica di Unicode più usata.

  • 1 byte per caratteri ascii (MSB = 0)
  • 2 byte per caratteri latini con simboli diacritici, greci, cirillico, armeno, ebraico, arabo, simboli matematici
  • 3 byte per altra lingue di uso comune
  • 4 byte per caratteri rarissimi

Raccomandata da IETFF per e-mail

Rappresentazione di un testo in formato ascii

Ogni riga terminata dal terminatore di MGA

  • in MS–DOS e Windows = CR+LF
  • in UNIX = LF
  • in MacOS = CR

Pagine talvolta separate da FF

Codifiche o formati di testo/stampa

Non confondere il formato di un file Word con codici ascii

Un testo può essere memorizzato in due formati:

  • Formattato = sono memorizzati i seguenti di byte che permettono l'aspetto del testo (e.g. font/spaziatura)
  • Non formattato = sono memorizzati unicamente i caratteri che compongono il testo

PDF

(Portable Document Format) è un formato open di file basato su un linguaggio di descrizione di pagina sviluppato da Adobe Systems per rappresentare documenti in modo indipendente dall'hardware e dal software utilizzati per generarli o per visualizzarli.

Un file PDF può descrivere documenti che contengono testo e/o immagini a qualsiasi risoluzione.

While

< inizializzazione >

while ( < condizione > )

< blocco >

< incremento >

ES Dan N, stampa la somma S dei primi N numeri interi.

int N, S, i;

i = 1

S = 0

scanf("%d\n",&N);

while (i <= N)

{

S = S + i;

i++;

}

printf("Somma: %d\n", S);

Do

Sinntassi :

do

< blocco >

while ( < condizione > )

ES. LETO n CONTROLA CHE SIA POSITIVO SE NO RIPETE LA LETTURA

int n;

do

scanf("%d", &n);

while (n <= 0)

Stringhe

Sequenze di caratteri terminate dal carattere '0' (null)

Sintassi: char s[]

Es. char s[] = "ciao"

La stringa vuota non è un vettore "vuoto"

char s[] = "";

Dettagli
Publisher
A.A. 2015-2016
38 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher combo_96 di informazioni apprese con la frequenza delle lezioni 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à Politecnico di Torino o del prof Scienze matematiche Prof.