Informatica Generale I SMID a a 20022003 Docente

  • Slides: 47
Download presentation
Informatica Generale I SMID a. a. 2002/2003

Informatica Generale I SMID a. a. 2002/2003

Docente n n n n Giorgio Delzanno Ufficio 104 – I piano Dipartimento di

Docente n n n n Giorgio Delzanno Ufficio 104 – I piano Dipartimento di Informatica e Sc. Inf. Tel. 010 -3536638 E-mail: giorgio@disi. unige. it Pagina web: http: //www. disi. unige. it/person/Delzanno. G/ Pagina web corso: http: //www. disi. unige. it/person/Delzanno. G/SMID/

Orario n n n Martedì 11: 15 -12: 45 14: 15 -16: 00 Mercoledì

Orario n n n Martedì 11: 15 -12: 45 14: 15 -16: 00 Mercoledì 14: 15 -16: 00 Sempre in laboratorio al I piano

Scopi del corso n Aspetti fondazionali n n Cos’è un elaboratore Cos’è un linguaggio

Scopi del corso n Aspetti fondazionali n n Cos’è un elaboratore Cos’è un linguaggio di programmazione Cos’è un algoritmo Aspetti pratici n n n Utilizzo di un elaboratore Utilizzo di software applicativo Esercizi di programmazione

Parte I: Hardware Codifica dell’informazione Architettura dei sistemi informatici n n Struttura dell’elaboratore Linguaggio

Parte I: Hardware Codifica dell’informazione Architettura dei sistemi informatici n n Struttura dell’elaboratore Linguaggio macchina Sistemi operativi n n n Gestione dei processi e della memoria Come usare un sistema operativo Reti di calcolatori n n Web e posta elettronica

Parte II: Applicazioni n Formattazione Testi n n n Presentazioni n n HTML per

Parte II: Applicazioni n Formattazione Testi n n n Presentazioni n n HTML per pagine Web Word Power. Point Fogli Elettronici n Excel

Parte III: Introduzione alla Programmazione n n Compilazione ed esecuzione Costrutti di programmazione Strutture

Parte III: Introduzione alla Programmazione n n Compilazione ed esecuzione Costrutti di programmazione Strutture dati semplici Metodologia di programmazione

Testi di riferimento n n n Istituzioni di informatica Ceri e Mandrioli Mc. Graw-Hill

Testi di riferimento n n n Istituzioni di informatica Ceri e Mandrioli Mc. Graw-Hill Dispense on-line (sul web) e fotocopie http: //www. disi. unige. it/person/Delzanno. G/SMID/ Manualistica varia (Windows, XP, Word, ecc)

Esame n Esercitazioni in laboratorio durante il corso n n n Esercizi scritti: codifica

Esame n Esercitazioni in laboratorio durante il corso n n n Esercizi scritti: codifica dell’informazione, programmazione Con l’elaboratore: HTML, Word, Excel Esame orale n Hardware, Reti

Introduzione all’informatica

Introduzione all’informatica

Cos’è l’informatica? n n Scienza della rappresentazione e dell’elaborazione dell’informazione ovvero Studio degli algoritmi

Cos’è l’informatica? n n Scienza della rappresentazione e dell’elaborazione dell’informazione ovvero Studio degli algoritmi che descrivono e trasformano l’informazione

Nozione di Algoritmo n n n Sequenza di passi per risolvere un determinato problema

Nozione di Algoritmo n n n Sequenza di passi per risolvere un determinato problema Calcolatore = Esecutore di algoritmi Gli algoritmi sono descritti tramite programmi scritti in linguaggi ad alto livello e poi tradotti in linguaggio macchina

Criteri di valutazione n Correttezza n n l’algoritmo risolve il problema in modo completo

Criteri di valutazione n Correttezza n n l’algoritmo risolve il problema in modo completo (spesso occorre provare la correttezza manualmente usando tecniche matematiche) Efficienza n lo risolve nel modo più veloce possibile (esistono criteri matematici di valutazione)

Esempio: elevamento a potenza n Problema: Calcolare a elevato alla n n Algoritmo: n

Esempio: elevamento a potenza n Problema: Calcolare a elevato alla n n Algoritmo: n n Utilizziamo le variabili N Ris Inizialmente Ris=1 e N=n Fino a che N>0 Calcola Ris * a e memorizzalo in Ris Decrementa N Correttezza: n Al termine Ris=a elevato alla n

Linguaggi di Programmazione Scopo: descrivere in maniera rigorosa un n algoritmo Classi di linguaggi:

Linguaggi di Programmazione Scopo: descrivere in maniera rigorosa un n algoritmo Classi di linguaggi: n n Linguaggio macchina n n Dipendono dall’hardware Linguaggio ad alto livello n C, C++, Java, Virtual Basic

Esempio in Pseudo Pascal Program potenza; Integer Ris, N, A; Read(N); Read(A); Ris=1; While

Esempio in Pseudo Pascal Program potenza; Integer Ris, N, A; Read(N); Read(A); Ris=1; While (N>0) do Ris=Ris*A; N=N-1; Print(Ris);

Esempio n n n Il precedente programma va tradotto in linguaggio macchina (comprensibile all’elaboratore)

Esempio n n n Il precedente programma va tradotto in linguaggio macchina (comprensibile all’elaboratore) cioè viene compilato in sequenze di istruzioni Quando le istruzioni vengono eseguite il programma prende dati in ingresso (valori iniziali di N e A) attraverso la tastiera (input) e poi stampa il risultato sul video (valore finale di Ris) (output) In generale un programma può essere visto infatti come una funzione da input ad output.

Utilizzo di un elaboratore n Come utente: n n Uso software applicativo esistente per

Utilizzo di un elaboratore n Come utente: n n Uso software applicativo esistente per creare documenti e interfacce grafiche, effettuare calcoli, navigare in rete Come sviluppatore: n Creo nuovi programmi sullo strato del software esistente n n Nuovi programmi applicativi Nuovi programmi di sistema (cioè che fanno funzionae il calcolatore)

Parte I: Hardware

Parte I: Hardware

Architettura dei Sistemi Informatici n n n Sistemi informatici PC, terminali e reti Architettura

Architettura dei Sistemi Informatici n n n Sistemi informatici PC, terminali e reti Architettura insieme delle componenti del sistema, descrizione delle loro funzionalità e della loro interazione Suddivisione principale hardware e software

Hardware n Unità di Elaborazione (Processore o CPU): n n Svolge le elaborazioni Coordina

Hardware n Unità di Elaborazione (Processore o CPU): n n Svolge le elaborazioni Coordina il trasferimento dei dati Cioè esegue i programmi Memoria Centrale n n Memorizza dati e programmi per l’elaborazione Volatile Accesso rapido Capacità limitata

Hardware n Memoria Secondaria (harddisk, floppy) n n Grande capacità Persistente Accesso piu lento

Hardware n Memoria Secondaria (harddisk, floppy) n n Grande capacità Persistente Accesso piu lento della RAM Unità Periferiche n n n Interfaccia verso l’esterno Terminali (tastiera, video) Stampanti

Hardware n Bus di Sistema n Collega le altre componenti n n RAM Memorie

Hardware n Bus di Sistema n Collega le altre componenti n n RAM Memorie Secondarie Periferiche Insieme di collegamenti di vario tipo

Esempi: Personal Computer (PC) n Contenitore con n n CPU, RAM Memoria Centrale n

Esempi: Personal Computer (PC) n Contenitore con n n CPU, RAM Memoria Centrale n n Fisso Unità per Dischetti/CD Monitor Tastiera

Alcuni accessori per PC n n n Lettore Floppy, CD, DVD Modem Mouse Stampante

Alcuni accessori per PC n n n Lettore Floppy, CD, DVD Modem Mouse Stampante Scanner Joystick

Altri Sistemi Informatici n Workstation n n Main-frame n n Calcolatore con elevate prestazioni

Altri Sistemi Informatici n Workstation n n Main-frame n n Calcolatore con elevate prestazioni Servono reti di terminali con centinaia di utenti Notebook (palmari) e palmari n Elaboratori portatili

Altri Sistemi Informatici n Reti di Calcolatori n Reti Locali n n collegano terminali

Altri Sistemi Informatici n Reti di Calcolatori n Reti Locali n n collegano terminali vicini tra loro (ad es. il nostro laboratorio) Reti Geografiche n collegano dei calcolatori a medio-grandi distanze (ad es. Internet)

Software n Software di base: n n n Dedicato alla gestione dell’elaboratore Esempio: sistema

Software n Software di base: n n n Dedicato alla gestione dell’elaboratore Esempio: sistema operativo Software applicativo: n n Dedicato alla realizzazione di specifiche applicative Esempio: n n n programmi per scrittura, gestione aziendale, navigazione su internet, . . .

Sistema Operativo n n n Rende la componente hardware facile da usare Fornisce funzionalità

Sistema Operativo n n n Rende la componente hardware facile da usare Fornisce funzionalità ad alto livello agli utenti Ad esempio: n n organizza la memoria di massa gestisce comandi immessi dall’utente: n n n Esegui un programma! Mostra i dati su video! Se il sistema è multi-utente deve gestire le risorse disponibili cercando di soddisfare tutti gli utenti Esempi: MS DOS, OS 2, Windows, Unix

Software Applicativo n Video Scrittura n n Agende elettroniche n n per comunicazione Fogli

Software Applicativo n Video Scrittura n n Agende elettroniche n n per comunicazione Fogli elettronici n n indirizzario, calendari Posta Elettronica n n per costruire e testi e definire formati di stampa per elaborazioni contabili Database n sistemi per la gestione di dati

Applicazioni n n n Calcolo Numerico: statistiche, ecc Gestione Aziendale: banche, assicurazioni, Telematica: bancomat,

Applicazioni n n n Calcolo Numerico: statistiche, ecc Gestione Aziendale: banche, assicurazioni, Telematica: bancomat, ecc Automazione industriale: , robotica, ecc Internet: commercio virtuale, ecc

Rappresentazione della Informazione

Rappresentazione della Informazione

Codifica dell’informazione n Il calcolatore memorizza ed elabora vari tipi di informazioni n n

Codifica dell’informazione n Il calcolatore memorizza ed elabora vari tipi di informazioni n n n Numeri, testi, immagini, suoni Occorre rappresentare tale informazione in formato facilmente manipolabile dall’elaboratore Si utilizza una rappresentazione digitale

Codifica digitale n n n L’unità minimale di rappresentazione è il bit (binary digit

Codifica digitale n n n L’unità minimale di rappresentazione è il bit (binary digit – cifra digitale): 0 o 1 Informazioni complesse si memorizzano come sequenze di bit Una sequenza di 8 bit viene chiamata Byte n n n 00000001. . .

Codifica dell’informazione n n Per codificare in nomi delle province liguri mi bastano 2

Codifica dell’informazione n n Per codificare in nomi delle province liguri mi bastano 2 bit Ad esempio: n n n 0 0 1 1 0 1 per per rappresentare Genova La Spezia Imperia Savona In generale su N bit si possono codificare 2 N informazioni (tutte le possibili combinazioni di 0 e 1 su N posizioni) Con un byte si possono codificare quindi 28 = 256 possibili informazioni

Altre unità di misura n n n Kilo. Byte (KB), Mega. Byte (MB), Giga.

Altre unità di misura n n n Kilo. Byte (KB), Mega. Byte (MB), Giga. Byte (GB) Per ragioni storiche in informatica Kilo, Mega, e Giga indicano però le potenze di 2 che più si avvicinano alle corrispondenti potenze di 10 Più precisamente n n n 1 KB = 1024 x 1 byte = 210 ~ 103 byte 1 MB = 1024 x 1 KB = 220 ~ 109 byte 1 GB = 1024 x 1 MB =230 ~ 1012 byte. . . I multipli del byte vengono utilizzati come unità di misura per la capacità della memoria di un elaboratore

La Codifica dei Caratteri A B. . . a b. . & % $.

La Codifica dei Caratteri A B. . . a b. . & % $. . .

Codici per i simboli dell’alfabeto n Per rappresentare i simboli dell’alfabeto anglosassone (0 1

Codici per i simboli dell’alfabeto n Per rappresentare i simboli dell’alfabeto anglosassone (0 1 2. . . A B. . . A b. . . ) bastano 7 bit n n n Nota: B e b sono simboli diversi Per l’alfabeto esteso con simboli quali &, %, $, . . . bastano 8 bit come nella codifica accettata universalmente chiamata ASCII Per manipolare un numero maggiore di simboli la Microsoft ha introdotto la codifica UNICODE a 32 bit (232 caratteri)

Codifica ASCII n n La codifica ASCII (American Standard Code for Information Interchange) utilizza

Codifica ASCII n n La codifica ASCII (American Standard Code for Information Interchange) utilizza codici su 8 bit Ad esempio n n 0 1 0 0 0 1 rappresenta A 0 1 0 rappresenta B 0 1 0 0 1 1 rappresenta C Le parole si codificano utilizzando sequenze di byte n 01000010 01000001 B A

Codifica di immagini n

Codifica di immagini n

Pixel – Picture element n n Le immagini vengono scomposte in griglie Le caselle

Pixel – Picture element n n Le immagini vengono scomposte in griglie Le caselle di una griglia vengono chiamate pixel n La risoluzione indica il numero di pixel in cui è suddivisa un’immagine n Risoluzione tipica di uno schermo video 800 x 600, 1024 x 768

Codifica di un’immagine 0 0 0 0 1 1 1 1 0 0 1

Codifica di un’immagine 0 0 0 0 1 1 1 1 0 0 1 0 codifica Pixel = 1 0 0 0

Decodifica 0 0 0 0 1 1 1 1 0 0 0 0 0

Decodifica 0 0 0 0 1 1 1 1 0 0 0 0 0 0 Codifica Immagine

Immagini in toni di grigio n Se si assegna un solo bit a ogni

Immagini in toni di grigio n Se si assegna un solo bit a ogni pixel si rappresentano immagini in bianco e nero n n 0 = bianco 1 = nero Per poter rappresentare immagini più complesse n n si codificano i toni di grigio Si associa una codifica di un tono di grigio ad ogni pixel

Immagini a colori n Nella codifica RGB si utilizzano tre colori rosso n n

Immagini a colori n Nella codifica RGB si utilizzano tre colori rosso n n n Ad ogni colore si associa un certo numero di sfumature codificate su N bit (2 N possibili sfumature) Ad esempio n n n (Red), verde (Green) e blu (Blue): se si utilizzano 2 bit per colore si ottengono 4 sfumature per colore ogni pixel ha un codice di 6 bit Con 8 bit si ottengono 256 sfumature e 2563 (16 milioni) possibili colori

Bitmap n n n La rappresentazione di un’immagine mediante la codifica a pixel viene

Bitmap n n n La rappresentazione di un’immagine mediante la codifica a pixel viene chiamata bitmap Il numero di byte richiesti per memorizzare una bitmap dipende dalla risoluzione e dal numero di colori Es. se la risoluzione è 640 x 480 con 256 colori occorrono 2. 457. 600 bit = 307 KB I formati bitmap più consciuti sono BITMAP (. bmp), GIF (. gif), JPEG (. jpg) In tali formati si utilizzano metodi di compressione per ridurre lo spazio di memorizzazione

Rappresentazione dei suoni n n n Si effettuano dei campionamenti su dati analogici Si

Rappresentazione dei suoni n n n Si effettuano dei campionamenti su dati analogici Si rappresentano i valori campionati con valori digitali La frequenza del campionamento determina la fedeltà della riproduzione del suono