ECDL Patente europea del computer MODULO 1 Concetti generali della ICT 1.0 Fondamenti
1.0.1 Algoritmi 1.0.1.1 L’algoritmo Algoritmo: Dato un problema, si chiama algoritmo un insieme di istruzioni che descrive la sequenza di operazioni con cui lo si può risolvere Esempi: procedimenti per eseguire le quattro operazioni, per scomporre in fattori primi, per semplificare una frazione
1.0.1.2 Risoluzione di problemi in forma algoritmica Le istruzioni di un algoritmo devono essere chiare, non interpretabili soggettivamente, eseguibili manualmente o con un calcolatore Pseudolinguaggio: Linguaggio che descrive in modo non formale le operazioni da compiere (poi tradurre in linguaggio di programmazione)
1.0.1.3 Rappresentare algoritmi mediante diagrammi Diagramma di flusso: serie di blocchi contenenti le istruzioni, collegati da frecce
1.0.2 Rappresentazione dei dati 1.0.2.1 Il sistema di numerazione binario Analogico: i dati variano in modo continuo (lancette) Digitale: i dati variano in modo discreto (display) Sistema binario (base 2): Sistema posizionale: il valore delle cifre dipende dalla posizione (come sistema decimale) Cifre binarie: 0 e 1 Da sistema binario a decimale 10010 = 1x24 + 0x23 + 0x22 + 1x21 + 0x20 = 16 + 0 + 0 + 2 + 0 = 18
1.0.2.2 I caratteri in forma binaria. Bit e byte I dati sono rappresentati con sequenze di 0 e 1 (cifre binarie) bit: singola cifra binaria, 0 o 1 byte: pacchetto di 8 bit, un carattere alfanumerico Codice ASCII: tabella di 256 simboli (numeri, lettere, punteggiatura) associati a un valore numerico e a un byte Esempio: lettera A (codice ASCII 65) = 01000001
1.0.2.3 L’immagine digitale Anche le immagini sono rappresentate con sequenze di 0 e 1 Ogni immagine è suddivisa in una serie di quadratini (pixel) Al pixel bianco si può assegnare il bit 1 e a quello nero il bit 0. Le immagini a colori sono mescolanza dei colori primari (sistema RGB) e richiedono più bit per ogni pixel
1.0.3.1 Il linguaggio di programmazione Programmi: insieme di istruzioni necessarie al computer per svolgere compiti specifici Sono la traduzione degli algoritmi in un linguaggio di programmazione, linguaggio necessario per comunicare con il computer
1.0.3.2 I connettivi logici Operazioni logiche (confronto tra dati): vero (1) o falso (0) I connettivi logici tra due proposizioni: AND (congiunzione): vero solo se entrambe vere OR (disgiunzione): vero se almeno una è vera NOT (negazione); cambia il valore di verità (vero diventa falso e viceversa) Sono utilizzati nella programmazione e nel funzionamento di motori di ricerca
1.0.3.3 Linguaggio macchina e linguaggi procedurali Linguaggio macchina: serie di “parole” formate da sequenze di 0 e 1; molto complicato da usare Linguaggi procedurali: le cui istruzioni sono ordini che vanno eseguiti in un ordine prestabilito; più vicini al linguaggio naturale, più semplici e intuitivi Programmazione strutturata (Pascal, C): basata su strutture di controllo che governano l’esecuzione di un programma attraverso espressioni (combinazioni di variabili e operatori) Programmazione orientata a oggetti (C++, Java, Visual Basic): usano oggetti, cioè pacchetti di dati e procedure già pronti
1.0.3.4 Un semplice programma in pseudolinguaggio Esempio di algoritmo in pseudolinguaggio: verificare se i numero B sia o meno divisore del numero A Leggi primo numero e assegna il suo valore a variabile A Leggi secondo numero e assegna il suo valore a var. B Assegna a variabile C il valore ottenuto dividendo A per B Se C è un numero intero, allora B è un divisore di A; in caso contrario, non lo è