Anteprima
Vedrai una selezione di 14 pagine su 61
Riassunto esame "Informatica B", prof. Cassano Pag. 1 Riassunto esame "Informatica B", prof. Cassano Pag. 2
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 6
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 11
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 16
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 21
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 26
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 31
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 36
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 41
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 46
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 51
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 56
Anteprima di 14 pagg. su 61.
Scarica il documento per vederlo tutto.
Riassunto esame "Informatica B", prof. Cassano Pag. 61
1 su 61
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

INFORMATICA:

scienza della rappresentazione e dell'elaborazione dell'informazione

  • SCIENZA: conoscenza rigorosa e sistematica
  • INFORMAZIONE: oggetto di investigazione scientifica (tutto ciò che un programma gestisce)

L'informatica è lo studio degli algoritmi che descrivono e trasformano informazione

ALGORITMO:

sequenza di istruzioni, definite con precisione, che portano alla realizzazione di un compito

caratteristiche:

  • COMPRENSIBILITÀ senza ambiguità
  • ESEGUIBILITÀ da parte di uno strumento (esecutore)
  • TEMPO FINITO ovvero devono contenere un numero finito di passaggi, ciascuno eseguibile in un tempo finito

Il calcolatore non può prendere decisioni in situazioni vagamente ambigue

Per descrivere un algoritmo si può usare

  • SEQUENZIALITÀ ISTRUZIONI (così le legge l'esecutore)
  • COSTRUTTO CONDIZIONALE
  • COSTRUTTO ITERATIVO

OBBLIGATORIO

METTERE RAMO "THEN" diretta espressione (i.f.) impone una scelta secondo logica booleana (vero o falso)

NON OBBLIGATORIA PRESENZA RAMO "ELSE" (va direttamente a inst_after)

• COSTRUTTO ITERATIVO

se expression è vera, si entra nel corpo del ciclo (si eseguano inst. del ciclo). Altrimenti si valuta se expr. è ancora vera o falsa (per esser un algoritmo deve fermarsi ad un certo punto)

PROPRIETÀ FONDAMENTALI ALGORITMI

CORRETTEZZA (O EFFICACIA): algoritmo risolve il compito senzaerrori o difetti.

EFFICIENZA: algoritmo usa le risorse in modo ottimale(-) (limite ragionevole)

Vedere esempi su ppt. Lez 1, slide 63-88

CALCOLATORE: patente esecutore di algoritmi

PROGRAMMA: algoritmo codificato in linguaggio comprensibiledal calcolatore

il programmatore deve → IDEARE ALGORITMO (risolvere un problemae schematizzazione, passaggi)

CODIFICARE ALGORITMOIN UN PROGRAMMA (conoscere ling. scelto)

I calcolatori sono in grado di operare con info binarie (0,1)

bit (binary digit): assume valore 0, 1 secondo stato fisico della cell. di memoria (alta o bassa tensione)

BIT È INDIVISIBILE

I/O (input/output): interfaccia che permette di interagire con il mondo esterno

MM: tavolo da lavoro della CPU, che legge solo MM, mai I/O.

Bus dati e bus indirizzi sono paralleli.

Bus indirizzi: stesse dimensioni registro indirizzi

Bus dati: stesse dimensioni registro dati

contiene un dato che voglio scrivere nella MM o che proviene dalla MM (quindi dimensioni una word)

CICLO DI LETTURA DELLA MEMORIA

  1. Voglio leggere ciò che c’è scritto in un indirizzo (es: #123). Il numero dell’indirizzo che si vuole leggere è scritto sul REGISTRO INDIRIZZI, collegato a BUS INDIRIZZI.
  2. Su BUS CONTROLLO MEMORIA viene incaricato di fare "read".
  3. Sull’indirizzo #123 c’è il dato 4): il REGISTRO DATI lo preleva dalla MM tramite il BUS DATI.
  4. BUS CONTROLLO MEMORIA prende un segnale da MM e invia il feedback alla CPU.

BUS INDIR

BUS DATI

BUS CONTROL

In un assegnamento, il valore a dx può essere:

  • un numero o carattere
  • il contenuto di una variabile
  • un'operazione matematica (+, -, *, /, % modulo)

Istruzioni (o statement) sono frasi eseguibili, devono essere terminate da ;

Errori di sintassi - es.: anziché scrivere un ; scrivo direttamente in A

  • Il compilatore se ne accorge e dà segnali d'errore

Errori semantici (di significato) il compilatore non se ne accorge perché è solo un traduttore → difficile da debuggare il codice

Tre tipi di istruzioni:

  • assegnamento
  • ingresso/uscita
  • composte

es.:

a = a + 1Incremento di 1 (valore di a anche att.; tra)

a = a - 1Diminuisco di 1 il valore di a (anche a...a)

I caratteri alfanumerici char sono racchiusi tra apici singoli ' '

char y = 49;cambia sequenza binariachar y = '1';non è il numero 1, ma il carattere ASCII 1, che corrisponde a numero 49

Una variabile allocata di un tipo rimane PER SEMPRE di quel tipo e rimane allocata in quello stesso spazio

c = a/b; se c è un int, il risultato è un int (vengono troncati i numeri decimali)

d = a%b; in d c'è il resto della divisione intera tra a e b (tra float non avrebbe senso)

es: A∧C∧B∣∣C - operazione logica si svolge in sequenza

A∧B∣∣B A∧C∧B A∧C∧B∣∣C

TABELLA DI VERITÀ

0 0 1 1 0

COLONNA DI INGRESSI

USCITA

valori in ingresso sono 2n (in questo caso 3)

- valori booleani (V, F)

in ingresso ciò che cambia

Leggi di De Morgan

1. (a∧∧b) == !a ∣∣ !b 2. (a∣∣b) == !a ∧∧!b

es: A∧∧C∧∧B !! preciso — cerco sapere se !!( B∣∣ !(C∧∧A)

1° metodo: calco tabella veritá delle 2 espressioni

- se coincidano ingressi e uscite, allora sono equivalenti

2° metodo: applica De Morgan (utile se variabili sono tanti)

servono per definire condizioni in costr. iterativo e condiz.

COSTRUTTO if

es: int esempio;

if(expression) {

instr A;

instr b;

}

else {

instr c;

}

instr After;

if(expression) ti

{ corpo_if; }

else {

corpo_else;

} - then|case cosa fare se espr. è V

Keyword else si puo anche omettere se non si vuole fare niente quando if é falsa

expr è booleano (vale 0 o 1)

break fa uscire dal ciclo prima di verificare condizione(fa uscire da un blocco {} qualsiasi)

continue (SOLO NEI CICLI) fa saltare a iterazione seguente

while (...) { A if (...) continue B}

se falsa esegue sia A che B

se vera ritorna a riga while

continue fa 'cortocircuito' ALL'INTERNO del ciclobreak fa uscire prematuramente dal ciclo

in for (...; ...; ...) se vera ritorna a rivalutare while il continue fa tornare qui (loop instruction)

variable flag → variabile a cui assegno valore 0 o 1per determinare veridicità

  • bandiera bassa flag=0 → rimango nel ciclo
  • bandiera alta flag=1 → segnala qualcosa

vedere esempio a slide

variabile flag dà intrinsecamente una soluzione che mi fa uscire dal ciclo → SO PERCHE' SONO USCITO DAL CICLO

posso dare messaggio diversose sono uscito in un modo o in un altro

LE COSTANTI IN C

per ogni variabile si può associare const in dichiarazione

VARIABILI DICHIARATE CONST NON POSSONO ESSERE VARIATE (no assegnamenti, no scambi, inizializzazione obbligatoria in dichiarazione)

così tutti quelli che ci mettono mano al programma sanno che è una costante

no V

sì V

V1 = V2 hanno stessa L = MAX

non v1[i] = v2[i-1]

(coppiette in ordine analogico)

se il primo è > 5 -> NO -> i2 rimane 0

se è accaduto i > 5 -> SI -> v2[i2] = v1[i-1] e i2 diventa i

EFFETTI

  • ho compatto elementi significativi in cima a v2
  • so lunghezza effettiva di v2 appena < dimensione di v2

STUDIARSELI CHE C'è AL ESAME

9/10/19

Strutture ARRAY DI CARATTERI

unica differenza è che

stringa termina per \0 (NUL)

caratteri a fine stringa

so per certo

QUANTO È LUNGA LA STRINGA, PERCHÉ

lo dice che dopo di lui c'è monnezza

come per ogni array si possono usare carattere per

carattere, ricordandosi di porre: s[n-i] = \0;

Dettagli
Publisher
A.A. 2020-2021
61 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher andrea.00.at di informazioni apprese con la frequenza delle lezioni di Informatica base 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 Milano o del prof Cassano Luca.