Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Corso di informatica B
Ottobre 2013
L'informatica è la scienza della rappresentazione e dell'elaborazione dell'informazione:
- Scienza: ovvero, una conoscenza sistematica e rigorosa di tecniche e metodi.
- Informazione: oggetto dell'investigazione scientifica informatica, intesa come entità astratta e come tecnologie per la sua gestione.
- Rappresentazione: il modo in cui l'informazione viene strutturata e trasformata dai modelli delle macchine.
- Elaborazione: uso e trasformazione dell'informazione per un dato scopo. L'elaborazione deve potere essere eseguita da macchine che processano dati.
L'Algoritmo
«Sequenza precisa di operazioni definite con precisione, che portano alla realizzazione di un compito.»
Le operazioni devono:
- essere comprensibili senza ambiguità
- essere eseguibili da uno strumento automatico (l'esecutore) per arrivare a realizzare un compito in tempo finito
- essere corrette, quindi risolvere il compito senza errori
- essere efficienti, cioè essere eseguite in modo minimale (o ragionevole)
I Programmi
«Sono insieme di algoritmi codificati in linguaggi comprensibili dai calcolatori.»
- Capire e definire il problema
- Ricavare l'algoritmo (occorre creatività e rigore)
- a) PROBLEMA
- b) ALG 1, ALG 2, ALG 3
- c) PROC C, PROC 2, PROC C, PROC MATLAB
- d) PC, SERVER, TELEFONINO
- Il programma deve essere efficiente e corretto
- L'ultimo step pensa a «macchina»
La codifica binaria
- i calcolatori sono in grado delineare con informazioni binarie cioè con base 2 codice 0 oppure 1
- Un bit (binary digit) assume valore 0/1 corrispondente ad un determinato stato fisico (stato fisico determina es: presenza di alta tensione nella cella di memoria)
Perciò con n bit si possono codificare 2n numeri diversi. Ad esempio: tutti gli interi nell'intervallo 0,2n-1
Al bit più significativo ad 8 bit ed esprime 28=256 numeri diversi (ad es. esprima interi: 0, 255)
Numero in notazione posizionale: Nx = am * x 2-m-1 + a m-1x 2-1-m + ...a * xm-2 + ...+ a * x
Esempio:
(101) 2 = 1*22 +0* 21 + 0* x2 -5
(11000.10) 2 = 1* 25 + 1*25-0 +0* 24 + 0* 22 +1*x 2 + 0* x -98
Potenze di 2!
20 21 22 2 5 23 24 2 5 2 6 2 7 2 8 2 9 210 1 2 4 8 16 32 64 128 256 512 1024Unità di misura
Byte = 8 bit
KiloByte (kB) = 103 Byte
MegaByte (MB) = 108 Byte
GigaBte (GB) = 109 Byte
TerraByte (TB)= 1012 Byte
Essenso ciò che mappano ogni contiene in una sequeza di bit. Quello più usato è l' ASCII (American Standard Code For Information Interchange) a 8 bit che continesè.
- Caratteri alfanumerici
- Caratteri simbolici (punporgiatura, @, % etc.)
- Caratteri di comando (termina viga, vai a capo etc.)
NB: in binario, i numeri che terminano con 0 sono pari; quelli che terminano con 1 sono dispari.
LINGUAGGIO C (LA MACCHINA C)
- Descrizione del linguaggio:: è ambientato la macchina C che esegue i programmi codificati
- Due sole periferiche: un’unica unità di ingresso, Standard Input
una unica unità di uscita, Standard Output
- Standard Input, Standard Output e memoria divisi in celle elementari contenenti ciascuna un dato
LINGUAGGIO C (LE VARIABILI)
- Variabili: celle di memoria nella macchina C
- Le variabili hanno un nome, un identificatore simbolico formato da
- successione di lettere e cifre, il carattere in 1o posto una lettera
es: (x, alfa, AKF, ALPHA, pippo, AA1, giuseppe, Dorodonnini, Velocisssssimina)
- Le variabili hanno anche un tipo che:
- Caratterizza valori accumuli nella cella
- Caratterizza le operazioni sulla variabile
- Caratterizza la dimensione della cella in memoria
TIPI SEMPLICI PREDEFINITI (BUILT IN)
- CHAR: permette di contenere un carattere della tabella ASCII che corrisponde ad un intero [O, 256]
- INT: i numeri interi (anche negativi se non specificati diversamente), i valori massimi e minimi dipendono dalla dimensione della parola della macchina
- FLOAT: i numeri decimali a singola precisione
- DOUBLE: i numeri decimali a doppia precisione
DICHIARAZIONE DELLE VARIABILI
In C occorre sempre dichiarare ogni variabile, specificandone il nome e il tipo -> keywordTipo nomeVariabile1 [virgola nomeVariabile2 …] = val iniziale
es: int a=0, b=8
- Ogni variabile deve essere dichiarata prima di essere utilizzata
NB: il valore con cui vengono inizializzate inizializzate le variabili può essere modificato durante le istruzioni di assegnamento.
Operatori Aritmetici
- = Assegnamento di un valore int a una variabile int
- + Somma (tra int ha come risultato un int)
- - Sottrazione (tra int ha come risultato un int)
- * Moltiplicazione (tra int ha come risultato un int)
- / Divisione con troncamento della parte non intera (risultato int)
Operatori Relazionali
- % Resto della divisione intera
- == Relazione di uguaglianza
- != Relazione di diversità
- < Relazione "minore di"
- > Relazione "maggiore di"
- <= Relazione "minore o uguale a"
- >= Relazione "maggiore o uguale a"
Operatori Logici
- ! Negazione (NOT)
- && Congiunzione (AND)
- || Disgiunzione (OR)
COSTRUTTO DO-WHILE ESECUZIONE
- Viene eseguito statement.
- Keywords: do while.
- Viene valutata expression. Se è vera viene eseguito statement e la procedura continua finché expression non diventa falsa (=0).
- Viene eseguita istruzione successiva al ciclo.
COSTRUTTO DO-WHILE SCHEMA DI ESECUZIONE
ISTR BEFORE;
- DO
- statement;
- while (expression);
ISTR BEFORE;
- DO
- ISTR A;
- ISTR B;
- while (expression);
- ISTR AFTER;
DO-WHILE VS WHILE
- Il costrutto do while garantisce l'esecuzione del corpo del while almeno una volta.
DO statement
WHILE (expression);
statement;
WHILE (expression);
statement;
- Utile per garantire che valori acquisiti con scarti soddisfino certi prerequisiti (il do-while).
NB: do while richiede il ; mentre while (expression) il while no.