La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 CORSO DI INTRODUZIONE ALLINFORMATICA Ing. Giovambattista Ianni Indirizzo: Dipartimento di Matematica, Università della Calabria.

Presentazioni simili


Presentazione sul tema: "1 CORSO DI INTRODUZIONE ALLINFORMATICA Ing. Giovambattista Ianni Indirizzo: Dipartimento di Matematica, Università della Calabria."— Transcript della presentazione:

1 1 CORSO DI INTRODUZIONE ALLINFORMATICA Ing. Giovambattista Ianni Indirizzo: Dipartimento di Matematica, Università della Calabria Rende (Cosenza) Tel. Ufficio:

2 2 PROGRAMMA DEL CORSO LEZIONI n Introduzione n Introduzione agli algoritmi n Rappresentazione delle Informazioni n Architettura del calcolatore n Reti di Calcolatori (Reti Locali, Internet) n Elementi di Programmazione

3 3 PROGRAMMA DEL CORSO LABORATORIO n Ambiente Operativo Windows n Elaborazione dei Testi n Strumenti e Servizi Internet n Fogli Elettronici

4 4 Prove di Accertamento: Scritto (teoria) + Prova Pratica (laboratorio)

5 5 TESTI CONSIGLIATI: n Sciuto, Bonanno, Fornaciari, Mari Introduzione ai Sistemi Informatici McGraw-Hill 1997 n Curtin, Foley, Sen, Morris Informatica di Base McGraw-Hill 1999

6 6 INTRODUZIONE AGLI ALGORITMI

7 7 ALCUNE DOMANDE FONDAMENTALI n Quali istruzioni esegue un elaboratore? n Quali problemi può risolvere un elaboratore? Esistono problemi che un elaboratore non può n risolvere? Che ruolo ha il linguaggio di programmazione?

8 8 Il PROBLEMA DI FONDO n Come si costruisce la soluzione a un problema? n Qual è il giusto punto di partenza per pensare la n soluzione a un problema? Quali metodologie e tecniche usare?

9 9 ALGORITMO Sequenza finita di mosse che risolve in un tempo finito una classe di problemi. Codifica Fase di scrittura di un algoritmo attraverso un insieme ordinato di frasi (istruzioni), scritte in un qualche linguaggio di programmazione, che specificano le azioni da compiere. Esecuzione L'esecuzione delle azioni nell'ordine specificato dall'algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono il problema. ALCUNI CONCETTI CHIAVE

10 10 ESECUZIONE

11 11 Ogni elaboratore è una macchina in grado di eseguire azioni elementari su dati L'esecuzione delle azioni elementari è richiesta all'elaboratore tramite comandi chiamati istruzioni Le istruzioni sono espresse attraverso frasi di un opportuno linguaggio di programmazione Un programma non è altro che la formulazione testuale di un algoritmo in un linguaggio di programmazione ALGORITMO E PROGRAMMA

12 12 ESEMPIO DI PROGRAMMA Sub SOMMA( ) Dim A, B as Integer A = InputBox("Immetti un numero") B = InputBox(Immetti un secondo numero) Print Somma:; A+B End Sub

13 13 ALGORITMI: PROPRIETA FONDAMENTALI 1) Eseguibilità: ogni azione deve essere eseguibile da parte dellesecutore dellalgoritmo in un tempo finito 2) Non-ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore 3) Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, deve essere finito.

14 14 ALGORITMI EQUIVALENTI Due algoritmi si dicono equivalenti quando: hanno lo stesso dominio di ingresso; hanno lo stesso dominio di uscita; in corrispondenza degli stessi valori nel dominio di ingresso producono gli stessi valori nel dominio di uscita.

15 15 ALGORITMI EQUIVALENTI Due algoritmi equivalenti: forniscono lo stesso risultato ma possono avere diversa efficienza e possono essere profondamente diversi ! Esempio: moltiplicare tra loro due numeri Algoritmo 1 Somme successive: 12x12 = …+12=144 Algoritmo 2 somma e shift: 12x 12= 24 12= 144

16 16 CI SONO COSE CHE UN CALCOLATORE NON PUÓ FARE? n Sì. Ci sono problemi non calcolabili da nessun modello di calcolo reale o astratto n Esempio: data una funzione f : N N, stabilire se f(x) è costante per ogni valore di x

17 17 RAPPRESENTAZIONE DELLE INFORMAZIONI

18 18 RAPPRESENTAZIONE DELLE INFORMAZIONI Idea di fondo: Usare n presenza/assenza di carica elettrica n passaggio/non passaggio di corrente/luce BInary digiT (cifra binaria): il BIT Usiamo cioe una rappresentazione binaria (a due valori) dellinformazione

19 19 INFORMAZIONI COMPLESSE Con 1 bit rappresentiamo solo 2 diverse informazioni: si/no - on/off - 0/1 Mettendo insieme piu bit possiamo rappresentare piu informazioni:

20 20 INFORMAZIONI COMPLESSE In generale, con N bit, ognuno dei quali puo assumere 2 valori, possiamo rappresentare 2 N informazioni diverse viceversa: Per rappresentare M informazioni dobbiamo usare N bit, in modo che: 2 N >= M

21 21 ESEMPIO: Per rappresentare 57 informazioni diverse dobbiamo usare gruppi di almeno 6 bit. Infatti: 2 6 = 64 > 57 Cioe un gruppo di 6 bit puo assumere 64 configurazioni diverse: / / …/ /

22 22 IL BYTE: In informatica ha assunto particolare importanza il concetto di: byte = 8 bit = 2 8 = 256 inf. diverse Il byte e usato come unita di misura per indicare le dimensioni della memoria, la velocita di trasmissione, la potenza di un elaboratore Usando sequenze di byte (e quindi di bit) si possono rappresentare caratteri, numeri immagini, suoni.

23 23 IL SISTEMA DECIMALE n 10 cifre di base: 0, 1, 2, …, 9 n Notazione posizionale: la posizione di una cifra in un numero indica il suo peso in potenze di 10. I pesi sono: –unita= 10 0 = 1(posiz. 0-esima) –decine= 10 1 = 10(posiz. 1-esima) –centinaia= 10 2 = 100(posiz. 2-esima) –migliaia= 10 3 = 1000(posiz. 3-esima) – …

24 24 ES. DI NUMERO RAPPR. IN NOTAZIONE DECIMALE Il numerale 2304 in notazione decimale (o in base 10) rappresenta la quantita: 2304 = 2* * * *10 0 = = 2304 (numero) Nota: numero e numerale qui coincidono, perche il sisema decimale e quello adottato come sistema di riferimento.

25 25 IL SISTEMA BINARIO n 2 Cifre di base: 0 e 1. n Notazione posizionale: la posizione di una cifra in un numero binario indica il suo peso in potenze di 2. I pesi sono: – 2 0 = 1(posiz. 0-esima) – 2 1 = 2(posiz. 1-esima) – 2 2 = 4(posiz. 2-esima) –2 3 =8; 2 4 =16; 2 5 =32; 2 6 =64; 2 7 =128; 2 8 =256; 2 9 =512; 2 10 = 1024; 2 11 =2048, 2 12 =4096;...

26 26 ES. DI NUMERO RAPPR. IN NOTAZIONE BINARIA Il numerale in notazione binaria (o in base 2) rappresenta la quantita: *2 7 +0*2 6 +1*2 5 +0*2 4 +0*2 3 +1*2 2 +0*2 1 +1* = 165 (numero)

27 27 IL NUMERO PIU GRANDE RAPPRESENT. CON N CIFRE n Sist. Decimale = 99…99 = 10 N - 1 n Sist. Binario= = 2 N - 1 n Esempio: (8 bit binari) = = 255. Per rappresentare il n. 256 ci vuole un bit in piu: = 1*2 8 = 256.

28 28 QUINDI: Fissate quante cifre (bit) sono usate per rappresentare i numeri, si fissa anche il numero piu grande che si puo rappresent.: –con 16 bit: = –con 32 bit: = –con 64 bit: = circa 1,84 * Pero: si possono rappresentare numeri piu grandi se si tollera un certo grado di imprecisione.

29 29 CONVERSIONE DA BASE 2 A 10 Basta moltiplicare ogni bit per il suo peso e sommare il tutto: Esempio: * * * * *2 0 = = 20 la conversione e una somma di potenze (N.B. se il numero binario termina per 1 e dispari altrimenti e pari).

30 30 CONVERSIONE DA BASE 10 A 2 n Dividere il numero per 2 ripetutamente finche` il risultato non e` 0 n Scrivere i resti in ordine inverso. Esempio: conversione del numero 12 Divisioni:12/2 = 6/2 = 3/2 = 1/2 = 0 Resti: = 1100

31 31 CONVERSIONE DA BASE 10 A 2 Idea di fondo: usare le potenze di 2 che, sommate, danno il numero N da convertire: –Prendere le potenze di 2 <= di N nellordine dalla piu grande alla piu piccola (cioe 2 0 ) –Associare il bit 1 alle potenze che vengono usate nella somma per ricostruire N –Associare il bit 0 alle potenze non usate.

32 32 ESISTONO ANCHE ALTRE BASI DI NUMERAZIONE: n CODICE OTTALE –cifre: 0, 1, 2, 3, 4, 5, 6, 7 –10 (ottale) = 8 (decimale) n CODICE ESADECIMALE –cifre: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F –10 (esadecimale) = 16 (decimale); B = 11; 2B=2*16 1 +B*16 0 = = 43

33 33 RAPPRESENTAZIONE DI NUMERI POSITIVI E NEGATIVI n Il bit piu` a sinistra rappresenta il segno del numero: 0 = +1 = = -5 n Con un byte possiamo rappresentare tutti i numeri compresi tra +128 ( ) e –128 ( )

34 34 RAPPRESENTAZIONE DI NUMERI FRAZIONARI IN VIRGOLA FISSA Un numero frazionario e rappresentato come una coppia di numeri interi: la parte intera e la parte decimale. 12,52

35 35 NUMERI A VIRGOLA MOBILE (NUMERI FLOATING POINT) Idea: 12,52 = 1252/100 = 1252 * Un numero decimale e rappresentato come un intero moltiplicato per una opportuna potenza di 10, cioe con una coppia: mantissaesponente

36 36 NUMERI FLOATING POINT E necessario stabilire quanti bit assegnare alla mantissa e allesponente. Ad esempio, con 16 bit a disposizione possiamo usarne 12 per la mantissa e 4 per lesponente (in realta dovremmo anche tener conto dei segni)

37 37 NUMERI FLOATING POINT Con lo stesso metodo possiamo rappresent. Numeri molto grandi. Ad esempio, con 8 bit: 5 bit di mantissa: = 31 3 bit di esponente: 111 = = 31 * 10 7 = 310 milioni Mentre, con la notazione classica, con 8 bit rappresentiamo al massimo il n. 255

38 38 NUMERI FLOATING POINT Ma allora, perche; non usare sempre la notazione floating point? Perche si perde in precisione Esempio: 5 cifre (decimali) : 4 per la mantissa, 1 per lesponente. Rappresentare 312,45 = [312, ,5]???

39 39 NUMERI FLOATING POINT Quindi: possiamo rappresentare numeri molto grandi o con molti decimali al costo di una perdita di precisione Perche? Perche i computer permettono solo rappresentazioni finite, e cosi dobbiamo approssimare alcuni numeri (ad esempio gli irrazionali), ma anche immagini e suoni

40 40 LA CODIFICA DEI CARATTERI E necessario convenire un codice per rappresentare i caratteri. Il codice ASCII (American Standard Code for Interchange Code) usa i primi 7 bit di ogni byte: 2 7 = 128 caratteri diversi Sufficienti per lalfabeto anglosassone

41 41 ALTRI CODICI DI CODIFICA n ASCII ESTESO –Usa anche il primo bit di ogni byte –256 caratteri diversi –non e standard (cambia con la lingua usata) n UNICODE –standard proposto a 16 bit ( caratteri) n EBCDIC –altro codice a 8 bit della IBM (quasi in disuso)

42 42 Le cifre 0..9 rappresentate in Ascii sono simboli o caratteri NON quantita numeriche Non possiamo usarle per indicare quantita e per le operazioni aritmetiche. (Anche nella vita di tutti giorni usiamo i numeri come simboli e non come quantita: i n. telefonici) NUMERI IN ASCII

43 43 CODIFICA DELLE IMMAGINI B/N n Dividere limmagine in una griglia a righe orizzontali e verticali n Ogni quadratino della griglia e un pixel n Codificare ogni pixel con: –0 se il pixel e bianco –1 se il pixel e nero n Convenire un ordinamento per i bit usati nella codifica

44 44 CODIFICA DELLE IMMAGINI Quindi: le immagini sono rappresentate con un certo livello di approssimazione, o meglio, di risoluzione, ossia il numero di pixel usati per riprodurre limmagine: –640 x 480 pixel; 800 x 600 pixel –1024 x 768 pixel; 1280 x 1024 pixel N.B. Ha importanza anche il dot pitch, il grado di definizione del pixel: 0,25 - 0,28)

45 45 CODIFICA DELLE IMMAGINI - Anche il colore e approssimato. Per il bianco e nero, con 8 bit si codificano 256 livelli di grigio. (ottenuti regolando la luminosita del pixel) - Per i video a colori, con 8 bit si rappresent. 256 colori, con 16 bit colori, con 24 bit 16 milioni di colori diversi per pixel - BITMAP: la rappresentazione di una immagine con codifica dei pixel. Porta via molto spazio: (immagine a 640 x 480 x 256 c.= Byte)

46 46 CODIFICA DELLE IMMAGINI - E possibile risparmiare spazio nella rappr. delle immagini: Aree dello stesso colore si rappresentano in modo abbreviato. - Esistono vari formati di codifica: (bmp, gif, jpg, pict, tiff) - E in genere possibile passare da un formato ad un altro.

47 47 CODIFICA VETTORIALE DELLE IMMAGINI n Istruzioni su come disegnare limmagine p.e.: Linea dal punto a n Idonea per immagini di tipo geometrico (p.e., progetti ingegneristici). n Richiede poco spazio. n Il formato piu` diffuso e` il PostScript (ps, eps) - anche per la stampa dei testi n Altri formati: wmf, cdr (CorelDraw)

48 48 CODIFICA DEI FILMATI n Sono sequenze di immagini compresse: (ad esempio si possono registrare solo le variazioni tra un fotogramma e laltro) n Esistono vari formati (compresi i suoni): –mpeg (il piu usato) –avi (microsoft) –quicktime (apple) –mov n E possibile ritoccare i singoli fotogrammi

49 49 CODIFICA DEI SUONI Londa sonora viene misurata (campionata) ad intervalli regolari Minore e lintervallo di campionamento e maggiore e la qualita del suono CD musicali: campionamenti al secondo, 16 bit per campione.

50 50 CODIFICA DEI SUONI Alcuni formati: ---.mov ---.wav ---.mpeg, ---.avi, formato midi usato per lelaborazione della musica al computer

51 51 IL CONCETTO DI FILE FILE: sequenza di byte conosciuta nel computer con un certo nome. TIPI DI FILE: – file di dati (es: immagini o suoni) – programmi (es: word o explorer) – file di testo (cioe caratteri ascii) ESTENSIONI DI UN FILE (windows95/98) – nome.gif, nome.exe, nome.doc,...

52 52 LA STRUTTURA DEI FILE (?) E meglio vedere un file come una sequenza di byte. E il programma che usa il file a gestirne il contenuto in modo corretto. Ad esempio, nei file di testo quando viene incontrato il byte = si devono visualizzare i caratteri successivi nella riga sottostante.

53 53 ARCHITETTURA DEI CALCOLATORI

54 54 ARCHITETTURA DEI COMPUTER (LHARDWARE!!!) n Processore (CPU) n Memoria Principale (o Primaria o RAM) n Memoria di Massa (o secondaria, il famoso hard disk, ma anche nastri, CD) n Dispositivi di Input/Output (video, tastiera, stampanti,…)

55 55 FUNZIONAMENTO n Programmi e dati risiedono in file memorizzati in memoria secondaria. n Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria primaria. n La cpu e in grado di eseguire le istruzioni di cui sono composti i programmi

56 56 LA MEMORIA PRINCIPALE n Sequenza di celle di memoria n Ogni cella memorizza un byte n Fisicamente e fatta di componenti elettronici (transistors) miniaturizzati n Ogni unita elementare puo trovarsi a due diversi livelli di tensione elettrica: ecco il corrispettivo fisico del bit

57 57 LA MEMORIA PRINCIPALE n Le celle sono numerate in sequenza: il numero di ogni cella costituisce il suo indirizzo n Specificando lindirizzo di una cella, la cpu e in grado di leggere e/o modificare il valore del byte memorizzato in quella cella n Random Access Memory (RAM), perche ogni cella e indirizzabile direttamente.

58 58 LA MEMORIA PRINCIPALE (LA RAM) …………

59 59 DIMENSIONI DELLA RAM n Spazio di indirizzamento: insieme o numero delle celle indirizzabili direttam. n Il numero di celle indirizzabili e una potenza di due. Con: –16 bit si indirizzano 2 16 celle = celle –32 bit si indirizzano 2 32 = celle –…..

60 60 UNITA DI MISURA DELLA MEMORIA n Si usano delle unita di misura per indicare la dimensione della memoria: –kilobyte (KB) = 1024 byte (2 10 byte) –megabyte (MB) = 1000 KB (2 20 B) –gigabyte (GB) = 1 miliardo di byte n Quindi: –con 16 bit si indirizzano 64KB di memoria – con 32 bit si indirizzano 4GB di memoria

61 61 DIMENSIONI TIPICHE DELLA RAM n Nei Personal computer: –8, 16, 32, 64, 128 Megabyte –una volta era un lusso avere 64 KB n Nei Mainframe/Workstations: –32, 64, 128, 256, …., Megabyte n Ricordatevi che la memoria e espandibile (fino ad un certo limite)

62 62 ALTRE INFO. SULLA RAM: LA PAROLA O WORD n La parola (word) di un computer: quanti bit possono essere letti/scritti/usati dalla cpu con un unico accesso alla memoria (16, 32, 64, 128 bit) n Piu grande e la parola, maggiore e la potenza del computer (vedasi le playstations)

63 63 ALTRE PROPRIETA DELLA RAM n La ram e veloce: per leggere/scrivere una cella ci vogliono, in media nanosecondi (millesimi di milionesimi di secondo = 30 * ) n la ram e volatile: e fatta di componenti elettronici, e se togliete lalimentazione perdete tutto n La ram e costosa (relativamente)

64 64 LA MEMORIA SECONDARIA (LHARD DISK) n Programmi e dati risiedono normalmente in memoria secondaria. n Quando si lancia un programma questo viene copiato dalla memoria secondaria (di solito un hard disk) in memoria primaria. Questa operazione si chiama caricamento (eseguita dal sistema operativo).

65 65 LHARD DISK: n E fatto di supporti magnetici permamenti, gestiti mediante dispositivi meccanici. n Tempi di accesso dellordine dei micro/millisecondi. n Spazio disponibile: –Hard disk:2, 4, 5, 6, 8, 10 Gigabyte (una volta era un lusso avere 20 Megabyte) –Floppy disk (3.5): 1.44 Megabyte (obsoleto ma, incredibilmente, ancora in uso)

66 66 I BLOCCHI DELLHARD DISK n Nellhard disk la memoria e organizzata in blocchi di dimensione fissa (512B, 1KB,2KB,..) indirizzabili direttamente n La lettura/scrittura del disco avviene sempre in blocchi, per risparmiare tempo (pensate al tempo perso se si dovesse leggere un byte per volta!) n Il disco e quindi formattato in blocchi

67 67 MEMORIA PRIMARIA VS MEMORIA SECONDARIA RAMHARD DISK veloce (nanosec)lenta (microsec) piccola (Megabyte)grande (Gigabyte) volatilepermanente Notate che, in teoria, il computer potrebbe funzionare con la sola ram o il solo harddisk

68 68 NASTRI MAGNETICI, CD n A parte le diverse tecnologie di costruzione sono anchessi organizzati in blocchi (att. Non i CD musicali) n Nastri: accesso sequenziale, e quindi molto lento. Vengono usati soprattutto per i backup, perche sono i supporti piu economici. n CD: spesso sono solo leggibili

69 69 IL PROCESSORE - CPU (CENTRAL PROCESSING UNIT) n Si occupa di eseguire i programmi che sono scritti in linguaggio macchina n I programmi sono fatti di istruzioni n le istruzioni sono operazioni elementari: –somma due numeri, confronta due numeri,

70 70 LE ISTRUZIONI MACCHINA Codice istruzione | argom. 1 | argom o 32 bit di lunghezza gli argomenti possono mancare

71 71 IL SET DI ISTRUZIONI MACCHINA n Ogni tipo di processore e in grado di eseguire un numero limitato (40/100) di istruzioni n Istruzioni aritmetiche, logiche, di spostamento, di lettura/scrittura in memoria, di salto. n Combinando in modo diverso sequenze anche molto lunghe di istruzioni (i programmi) si possono far fare al computer tantissime cose completamente diverse

72 72 LE COMPONENTI DELLA CPU: LA CONTROL UNIT (CU) n Esegue in modo ciclico: –preleva dalla memoria centrale la prossima istruzione da eseguire; –preleva gli operandi specificati nelllistruzione –esegui listruzione –ripeti tutto n Alla velocita del clock (300, 400,... MHz) (es.: 300 milioni di cicli al secondo)

73 73 LE COMPONENTI DELLA CPU: I REGISTRI n piccole unita di memoria (2, 4, 8 byte) con tempi di accesso molto piu bassi delle celle della memoria primaria n Ospitano le informazioni necessarie per eseguire listruzione corrente n In numero molto limitato (10, 20, 64) si dividono in registri speciali e generali

74 74 LE COMPONENTI DELLA CPU: I REGISTRI SPECIALI n Il Program Counter (PC) –contiene lindirizzo in memoria centrale della prossima istruzione da eseguire. –Allinizio dellesecuzione di un programma viene caricato con lindirizzo della prima istruzione di quel programma. –Ad ogni struzione eseguita viene il PC viene modificato per contenere lindirizzo della istruzione successiva

75 75 LE COMPONENTI DELLA CPU: I REGISTRI SPECIALI n LInstruction Register (IR): –contiene listruzione correntemente in esecuzione –la CU legge listruzione contenuta nellinstruction register e la esegue n IL Registro di stato (PS - Progr. status) –descrive lo stato corrente della esecuzione –segnala eventuali errori (ad es.: overflow)

76 76 LE COMPONENTI DELLA CPU: I REGISTRI SPECIALI n Registro Indirizzi Memoria (RIM) –contiene lindirizzo della cella da cui leggere o in cui scrivere un dato n Registro dati Memoria (RDM) –contiene il dato letto dalla memoria o da scrivere in memoria

77 77 LE COMPONENTI DELLA CPU: I REGISTRI GENERALI n I registri generali: –in numero di 8, 16, 64 –sono usati come memorie temporanee per contenere gli operandi delle istruzioni e i risultati parziali durante lesecuzione delle istruzioni.

78 78 LE COMPONENTI DELLA CPU: LA ARITHMETIC-LOGIC UNIT (ALU) n Si occupa di eseguire le operazioni di tipo aritmetico/logico: somme, confronti… n preleva gli operandi dai / deposita il risultato delle operazioni nei: registri gen. n A volte e affiancata da un co-processore matematico

79 79 UN PROGRAMMA IN LINGUAGGIO MACCHINA (ASSEMBLER) LOAD 3568 R1 LOAD 3574 R2 ADD R1 R2 STORE R JUMP 1000 …… STORE R

80 80 LA MEMORIA CACHE n livello di memoria intermedio tra i registri e la ram. n per memorizzare i dati usati piu spesso senza doverli recuperare im memoria n 64KB, 128KB, 256KB, 512KB n interna o esterna alla CPU n Influisce moltissimo sulle prestazioni e il costo della CPU (e quindi del computer)

81 81 MEMORIE DI UN COMPUTER Registri16/64 Byte100 * picosec. Cache128/512 KBnanosecondi RAM16/256 MB10 * nanosec Hard disk2/10 GB10 * microsec. Nastri> 10 GBmillisecondi

82 82 DISPOSITIVI DI INPUT/OUTPUT (I/O, PERIFERICHE) n Terminali. Tastiera + Video: –risoluzione, dimensione in pollici,… n Stampanti: –ad aghi, a getto, dinchiostro, laser,… n Modem: per collegarsi in rete n Scanner: per digitalizzare le immagini

83 83 I PROGRAMMI (IL SOFTWARE!!!) n Qualcosa di assolutamente immateriale, memorizzato mediante supporti magnetici ed elettronici che dice al computer cosa fare n Il computer e programmabile. Usando programmi (sequenze di istruzioni) diversi, gli facciamo fare cose diverse

84 84 IL SOFTWARE DI BASE n Si ma: dobbiamo impartire ordini al computer usando solo il codice binario??? n Ovviamente no: il computer e dotato di alcuni programmi (il software di base) che rendono il computer facile da usare n Questi programmi trasformano il computer in una macchina virtuale, piu vicina alle esigenze dellutente che puo cosi ignorare i dettagli implementativi.

85 85 IL SOFTWARE DI BASE n Il sistema operativo: che permette di – sfruttare le risorse del computer in modo semplice e (si spera) intuitivo (si pensi ad esempio alle interfacce grafiche) –usare i programmi che ci interessano (di scrittura, di studio, i videogames) senza preoccuparci di come questo avvenga allinterno del computer

86 86 IL SOFTWARE DI BASE n I Linguaggi di programmazione ad alto livello, che permettono di: –scrivere i propri programmi, cioe di usare il computer come vogliamo noi –di poter usare questi programmi su qualsiasi (beh, quasi) computer (questa si chiama portabilita)

87 87 IL SISTEMA OPERATIVO n E di gran lunga il programma piu importante che gira su un qualsiasi computer n Senza il Sistema Operativo (SO) il computer sarebbe scomodissimo e complicatissimo da usare.

88 88 COSA FA IL SIST. OPERATIVO? n Gestisce in modo efficiente le risorse del computer: cpu, memoria, periferiche. n Interpreta i comandi dellutente: mouse e clicks, esecuzione di programmi,… n Nasconde la macchina fisica allutente

89 89 LA CIPOLLA DEL SISTEMA OPERATIVO INTERFACCIA COMANDI GESTIONE MEMORIA/RISORSE KERNEL(machine dependent)

90 90 TIPI DI SISTEMI OPERATIVI: n Mono-utente o Multi-utente (Mono/multi- user) n Mono o Multi-programmati (Mono/multi- tasking) n Distribuiti ( o di rete)

91 91 LE FUNZIONI PRINCIPALI DEI SO n Gestione del processore e dei processi n gestione della memoria principale n gestione della memoria virtuale n gestione della memoria secondaria (il file system)

92 92 Reti di Calcolatori

93 93 TIPI DI RETI (dal punto di vista della loro estensione) n Rete locale (LAN - Local Area Network): collega due o piu computer in un area non piu grande di un palazzo. Collega i computer di un laboratorio, gruppo di lavoro, ufficio, ditta. n Internet: la rete delle reti. Collega fra loro reti locali e singoli computer di tutto il mondo n Rete metropolitana: concettualmente simile ad una rete locale, collega computer di una singola organizzazione (es.: Banca con filiali cittadine).

94 94 TIPI DI RETI LOCALI: LINEARI (ETHERNET, APPLETALK) n Ethernet e il tipo di rete locale piu diffuso. n Qualsiasi computer di qualsiasi tipo prevede la possibilita di usare una scheda Ethernet per connettersi alla rete locale PC1PC2PC3PC4

95 95 ETHERNET - APPLETALK n Quando un computer vuole comunicare invia il segnale sul cavo di collegamento. n Se un computer si accorge che un altro sta trasmettendo, aspetta n Se si verifica un conflitto (due computer hanno tentato di comunicare contemporaneamente) i due computer si fermano e aspettano per un tempo T casuale, poi riprovano. n Velocita di trasmissione: 100 Megabit/secondo

96 96 TIPI DI RETI LOCALI: AD ANELLO n La tecnica token-ring viene usata per la comunicazione tra gli elaboratori. PC2 PC3 PC4 PC1

97 97 n Un token (un gruppetto di byte) viene passato continuamente da un computer allaltro. n Un computer puo trasmettere sulla rete solo quando e in possesso del token. n Se un computer riceve un messaggio non destinato a lui, lo rimette in circolo. TOKEN RING

98 98 TIPI DI RETI LOCALI: PUNTO A PUNTO n Ottima tolleranza ai guasti; ma altissimi costi per i collegamenti ( O(n 2 )) n Utilizzabile solo per reti con pochissimi nodi. PC1PC2 PC3PC4

99 99 TIPI DI RETI LOCALI: A STELLA n HUB: dispositivo hardware specializzato che smista le comunicazioni dei computer PC2PC1 PC4PC3 hub

100 100 TIPI DI RETI LOCALI: A TOPOLOGIA MISTA hub

101 101 SISTEMI OPERATIVI DI RETE (LOCALE) n In una LAN si vogliono condividere le risorse, di solito, come minimo, stampanti e hard disk. n Il S.O. deve permettere anche luso di quelle risorse che non sono fisicamente collegate al computer su cui si sta lavorando. n I S.O. dei compuer in rete devono quindi dialogare fra loro per permettere la condivisione delle risorse.

102 102 FILE SYSTEM DISTRIBUITO n Parliamo di file system distribuito quando lutente del file system vede ununica struttura ad albero, e non si accorge che alcune parti dellalbero (sub- tree) risiedono in realta sullhard disk di un altro computer della rete. n Il S.O. maschera completamente la situazione. (Unix. Windows95 un po meno) n E possibile configurare in file system distribuito in molti modi diversi, prendendone pezzi dalle varie macchine in rete

103 103 SISTEMI OPERATIVI DISTRIBUITI n Versione piu sofisticata dei S.O. di rete n Quando lutente di un computer esegue un programma, non e detto che questo venga fatto girare sulla CPU locale: il S.O. si occupa di selezionare il computer (e quindi la CPU) piu scarica su cui il processo deve girare. n I S.O. distribuiti sono ancora in fase di studio. Non esiste nulla a livello commerciale

104 104 PROTOCOLLO DI COMUNICAZIONE n I computer di una rete, per comunicare si scambiano dei messaggi. Ogni messaggio deve contenere: –lindirizzo del mittente e del destinatario –il tipo di servizio richiesto ed eventuali dati n Ad esempio, il PC A puo richiedere al PC B la stampa di un file sulla stampante connessa a B n Il protocollo deve essere anche in grado di gestire gli errori di comunicazione

105 105 PROTOCOLLO DI COMUNICAZIONE n TCP/IP (Transmission Control Protocol/Internet Protocol) e il protocollo di comunicazione usato in internet e anche nella maggior parte delle altre reti. n Praticamente tutti i servizi offerti da Internet, compreso il web, sono costruiti usando TCP/IP n Il modello ISO-OSI è in parte ispirato al TCP/IP

106 106 TRASMISSIONE DIGITALE O ANALOGICA n Nelle reti locali, la comunicazione tra due computer passa di solito su cavi dedicati, installati esplicitamente per la rete, e adatti per la trasmissione digitale delle informazioni. n (Semplificando un po) su questi cavi si ha una variazione del livello di tensione fra due valori, che corrisponde alla trsmissione di bit di valore zero oppure 1.

107 107 TRASMISSIONE DIGITALE O ANALOGICA n Per le comunicazioni su lunga distanza, si cerca di sfruttare le reti di comunicazione esistenti, come ad esempio la rete telefonica. n La rete telefonica e pero fatta per comunicare la voce, cioe un segnale analogico che varia in maniera continua in una banda di frequenze. n Sono necessari dei dispositivi per poter usare la rete telefonica come mezzo di comunicazione tra computer

108 108 IL MODEM COMPUTERMODEM Segnale digitale MODEMCOMPUTER Segnale digitale Segnale analogico linea telef.

109 109 IL MODEM n I modem attuali hanno velocita di trasmissione di , , , bit/sec. Ossia una velocita massima di non piu di 6 kByte/sec n Se due computer comunicano con un modem, la velocita di comunicazione e sempre quella del modem piu lento. n Il modem e usato soprattutto per le comunicazioni private (ad esempio un utente che si collega ad internet tramite il suo provider)

110 110 COMUNICAZIONE SU LINEA DEDICATA O COMMUTATA n Quando due computer sono connessi direttamente da un cavo di comunicazione, si parla di linea dedicata di trasmiss./comunic. n Nel caso piu generale, e soprattutto su internet, la comunicazione tra due computer avviene attraverso computer intermedi, che fanno da tramite tra i due che devono comunicare, ritrasmettendo i loro messaggi. Si parla allora di comunicazione su linea commutata

111 111 NAMING n Ogni computer di una rete deve avere un nome logico unico. Il nome logico e usato dagli utenti della rete per comunicare con quel computer n Il computer ha anche un indirizzo fisico: lindirizzo con il quale il software che gestisce le comunicazioni in rete localizza e gestisce la comunicazione con quel computer. n Deve essere gestita una corrispondenza tra il nome logico e lindirizzo fisico del computer

112 112 INTERNET n Collega fra loro reti locali e metropolitane di tutto il mondo. n La comunicazione tra le sottoreti avviene sfruttando canali di comunicazione dedicati ad alta tecnologia (ISDN, ATM, fibre ottiche) che consentono velocita di trasmissione dellordine di decine o centinaia di Megabit/sec n Ovviamente non avrebbe senso usare la rete telefonica, che e troppo lenta

113 113 INTERNET n Ogni rete locale si affaccia su Internet attraverso un dispositivo (un vero e proprio computer ) detto router. Il router si occupa di smistare il traffico dei pacchetti in uscita ed in entrata nella rete locale rispetto a internet n Al router e spesso associato anche un dispositivo detto firewall. Il firewall protegge la rete locale da accessi indesiderati dallesterno (e in alcuni casi, viceversa)

114 114 INDIRIZZAMENTO IN INTERNET n Gli indirizzi logici Internet hanno la forma: aaa.bbb.ccc e sono organizzati in domini e sotto domini n I domini possono essere geografici: xxx.yyy.it aaa.bbb.uk jjj.kkk.ca n o di altro tipo: aaa.com bbb.ccc.ddd.net xxx.gov

115 115 INDIRIZZAMENTO IN INTERNET n Allinterno dei domini vi sono i sotto-domini, sotto- sotto-domini, e cosi via, fino eventualmente a raggiungere lo specifico computer della rete locale relativa: –xxx.unito.it (sotto-dominio delluniv. di Torino) –di.unito.it (sotto-sotto-dominio del Dip. Di Informat., a cui corrisponde fisicamente la rete locale del Dip. –Pianeta.di.unito.it (uno dei computer della rete locale del Dipartimento di Informatica dellUniv. Di Torino, Italia)

116 116 INDIRIZZAMENTO IN INTERNET n Gli indirizzi logici sono usati solo per comodita degli utenti. I veri indirizzi Internet, (detti indirizzi fisici), sono numerici. Ad esempio: –pianeta.di.unito.it = F 130 = dominio.it F 192 = sotto-dominio.unito F 239 = rete locale del Dip. di Informatica F 1 = il computer pianeta

117 117 IL DOMAIN NAME SERVICE (DNS) n Il meccanismo di gestione degli indirizzi internet e chiamato Domain Name Service (DNS) n Ogni dominio e gestito da un computer che contiene lassociazione tra i nomi logici e gli indirizzi fisici di ogni suo sotto-dominio n Ogni sottodominio e gestito da un computer che contiene lassociazione tra i nomi logici e gli indirizzi fisici di ogni suo sotto-sotto-dominio n In questo modo e facile localizzare qualsiasi punto della rete usando solo nomi logici.

118 118 IL DOMAIN NAME SERVICE (DNS) n Ad esempio, se da un pc negli USA si vuole comunicare con la macchina pianeta.di.unito.it. n Viene contattato il gestore del dominio.it (130) n che contatta il gestore del dominio.unito (192) n che contatta il gestore del dominio.di (239) n che sa che la macchina pianeta, allinterno della rete locale.di (239) ha numero 1. n Viene quindi restituito lindirizzo fisico che sara usato nella comunicazione:

119 119 STRUMENTI E SERVIZI INTERNET n Telnet (connessioni remote su Internet) n FTP (per trasferire file su Internet) n Talk/Chat (per conversare in tempo reale) n Mailing Lists (liste di discussione) n NewsGroups (gruppi di discussione ) n World Wide Web (WWW)

120 120 TELNET n Protocollo e programma per collegarsi ad un computer remoto n molti servizi per la ricerca di informazioni su internet sono basati su telnet n Funziona solo verso macchine multi-user predisposte per telnet (Unix/Linux)

121 121 Windows95Unix si no TELNET

122 122 FILE TRANSFER PROTOCOL (FTP) n Protocollo per trasferire files su internet n Programma FTP corrispondente n Accesso con parola chiave o anonimo (anonymous FTP) n versione grafica di FTP (WS_FTP)

123 123 PER USARE FTP CI VUOLE: n Un Indirizzo Internet: dora.di.unito.it n Un user-id (login): utenti n Una Password: utenti n Un computer predisposto per ftp (di solito una macchina Unix con ftpd)

124 124 Windows95Unix si File Transfer Protocol

125 125 FTP ANONIMO: n user-id (login): anonymous n Password: n Con ftp anonimo non si possono modificare o rimuovere file o directory remote

126 126 WS_FTP PERMETTE DI: n memorizzare le connessioni piu usate n prelevare il contenuto di una directory e delle sue sotto-directory n compiere quasi tutte le operazioni in modo grafico

127 127 CHAT n Evoluzione del servizio TALK n Salotti Virtuali n Conversazioni Molti a Molti n Uno dei servizi piu usati della rete

128 128 MAILING LIST (LISTE DI DISCUSSIONE) n strumenti di discussione attraverso mail elettronica n esistono mailing list sui piu svariati argomenti e in tutte le lingue n sulle M.L. avvengono discussioni, si fanno annunci, vengono distribuiti bollettini elettronici

129 129 FUNZIONAMENTO DELLE MAILING LIST n una mailing list e un indirizzo di mail che redistribuisce il messaggio ad una lista di indirizzi (gli iscritti alla mailing list) n es: mail

130 130 ISCRIZIONE A - E RIMOZIONE DA - UNA MAILING LIST (1) n mail –subject: subscribe nomelista –body: subscribe nomelista n mail –subject: unsubscribe nomelista –body: unsubscribe nomelista

131 131 NEWSGROUPS (USENET) n NewsGroups: liberta e anarchia n Un NewsGroup mette automaticamente in contatto persone che desiderano: –cercare/fornire informazioni –scambiare opinioni –litigare! su uno specifico argomento n NG = paniere elettronico distribuito

132 132 NEWSGROUPS: n Un NewsGroup mette in contatto curiosi, principianti, appassionati, esperti, professionisti di un determinato campo. n I NG sono una delle fonti principali per recuperare informazioni su Internet: testi, programmi, immagini, suoni, filmati. n Imparare ad usare i NG richiede tempo (gergo, netiquette, spam, crossposting...)

133 133 FUNZIONAMENTO n Gestione completamente distribuita n Molti News-servers sparsi per il mondo: –Ogni News-server riceve i messaggi dei suoi utenti e li invia agli altri news- servers n Alcuni gruppi vengono oscurati n Alcuni gruppi sono moderati n I messaggi durano un tempo limitato

134 134 World Wide Web (WWW o Web) ragnatela mondiale di documenti organizzati secondo un modello ipertestuale

135 135 Organizzazione di un testo lettura sequenziale pag1 pag2 pag3 pag4 pag7 pag5 pag6

136 136 Organizzazione di un ipertesto nodi (pagine) link anchor

137 137 Terminologia per gli ipertesti sul Web n Browser: programma applicativo per navigare in rete n Page (pagina): singolo foglio di un ipertesto n Home-page: punto di ingresso di un sito web n Hotspot, hotword: porzione di una pagina che, se selezionata, permette di raggiungere un altro punto dellipertesto o una nuova risorsa

138 138 Terminologia per gli ipertesti sul Web n web: insieme di pagine che costituiscono un singolo documento ipertestuale n Web: insieme di tutti gli ipertesti della ragnatela n FAQ: domande ricorrenti su un certo argomento

139 139 HTML n gli ipertesti del Web sono scritti usando il linguaggio Hypertext Markup Language (HTML) n HTML NON è un linguaggio di programmazione! n HTML descrive la disposizione di tutti gli elementi presenti allinterno di un documento

140 140 n grazie al Web si possono condividere delle informazioni ma non solo..... n è anche possibile creare dei meccanismi di comunicazione interattiva mediante luso del linguaggio HTML opportunamente combinato con altri linguaggi di programmazione (C, Java, Perl) HTML

141 141 Client-server n il WWW usa il modello client-server per lo scambio delle informazioni n un modello client-server per un sistema di calcolatori in rete è formato da tre componenti n il client, programma applicativo che gira sullelaboratore dellutente n il server, programma applicativo che gira sullelaboratore del fornitore di informazioni (provider)

142 142 n ogni utente può richiedere delle informazioni attraverso il suo programma client n la richiesta viaggia attraverso la rete fino a raggiungere lelaboratore server che possiede le informazioni desiderate n il server intrepreta la richiesta ed esegue le operazioni opportune (inoltra allelaboratore client un file contenente le informazioni desiderate, oppure interroga un database e restituisce il risultato delloperazione) Client-server

143 143 server client server client Client-server server

144 144 Applicazioni per la rete n la comunicazione tra client e server avviene seguendo un insieme di regole dette protocolli di comunicazione –HTTP introdotto per trasmettere documenti ipertestuali / ipermediali sulla rete –FTP utilizzato per trasmettere testi o file binari –Telnet utilizzato per collegarsi a elaboratori remoti

145 145 n gli indirizzi per trovare i documenti nel Web sono detti Uniform Resource Locator (URL) e identificano in modo univoco i nodi (i documenti) n è lindirizzo della home- page dellUniversità di Torino protocollo:// Uniform Resource Locator n tml è lindirizzo della home-page della Facoltà di Lettere /pathnameindirizzo internet del nodo

146 146 n WWW Virtual library Navigare nel Web n Yahoo n orientarsi nel Web è difficile e non esiste ununica sorgente di informazioni n alcuni siti possono costituire un buon punto di partenza per cominciare la navigazione n Lycos n Virtual Tourist I e II

147 147 Motori di Ricerca n Consentono di trovare informazioni sul Web n Basati su immensi Indici contenenti descrizioni locali delle pagine esistenti n Aggiornamento degli indici automatico e grazie allinvio di nuove pagine dagli autori

148 148 RICERCHE SU INTERNET n REGOLA 1: siate creativi!! n REGOLA 2: restringete la ricerca!! n usare motori di ricerca specializzati (persona, mail, home page, software, idioma, aree geografiche, argomenti...) n usare le regole di restrizione per le chiavi di ricerca offerte dal motore di ricerca

149 149 MOTORI DI RICERCA CLASSICI n (www.altavista.it) n (www.yahoo.it) n (www.lycos.it) n n alcuni anche in lingua italiana e con puntatori a molti argomenti

150 150 ELEMENTI DI PROGRAMMAZIONE

151 151 CENNI DI PROGRAMMAZIONE n Il computer esegue programmi n Un programma eseguibile dal computer e una sequenza di istruzioni macchina comprensibili da quel computer. n Usando sequenze diverse di istruzioni, e dati diversi, possiamo far fare al computer le cose piu disparate

152 152 CENNI DI PROGRAMMAZIONE n Pero scrivere programmi in linguaggio macchina (in assembler) e scomodo, perche il linguaggio e molto distante da quello umano. n Inoltre, un programma in assembler gira solo su un tipo di cpu, e sarebbe comodo poter usare lo stesso programma su cpu e con S.O. diversi senza doverlo riscrivere ogni volta (portabilita)

153 153 LING.DI PROGRAMMAZIONE AD ALTO LIVELLO n I linguaggi di programmazione ad alto livello permettono di scrivere programmi con una notazione adatta agli esseri umani, e in alcuni casi molto intuitiva. n Usando degli opportuni traduttori (compilatori ed interpreti) lo stesso programma puo essere usato su macchine diverse n Fortran, Cobol, Pascal, Ada, C, C++, Java, Lisp, ML, Prolog,...

154 154 IL COMPILATORE n Un programma scritto in un linguaggio ad alto livello e detto programma sorgente. n Per essere eseguito su un computer, va tradotto nel linguaggio macchina del computer. n Il compilatore e un programma che esegue la traduzione, producendo il programma oggetto, ossia una sequenza di istruzioni macchina n Il compilatore segnala anche eventuali errori di sintassi nella scrittura del programma sorgente

155 155 IL COMPILATORE Programma P scritto nel linguaggio L Compilatore per P sul computer M Programma P nel linguag. macchina di M Esecuzione di P su M

156 156 LINTERPRETE n In alternativa alla compilazione, un programma sorgente puo essere interpretato. n Un interprete e un programma che non produce alcun programma oggetto, ma legge il ogni istruzione del programma sorgente e genera le istruzioni macchina corrispondenti, che vengono passate allhardware per lesecuzione.

157 157 COMPILATORI VS INTERPRETI n In un programma compilato, la traduzione avviene una sola volta, e poi il programma oggetto puo essere eseguito quanto si vuole n In un programma interpretato, la traduzione avviene tutte le volte che si esegue il progr. n Molti linguaggi permettono entrambe le scelte n Attualmente, i computer sono cosi potenti che anche la compilazione di lunghi programmi non richiede molto tempo.

158 158 IL CONCETTO DI ALGORITMO n Un algoritmo e una sequenza di passi necessari per risolvere un problema o eseguire una computazione n In alcuni casi, lo stesso problema/computazione puo essere risolto in modi diversi, ai cui corrispondono diversi algoritmi n Un programma non e altro che la descrizione di un algoritmo scritta nel linguaggio di programmazione scelto.

159 159 IL CONCETTO DI VARIABILE n Per eseguire una qualsiasi computazione, abbiamo bisogno di poter immagazzinare i risultati temporanei e finali della computazione stessa. n Ogni linguaggio ad alto livello mette a disposizione le variabili: contenitori in cui immagazzinare i dati della computazione n Concettualmente, le variabili sono come pezzi di carta su cui si possono annotare/modificare i valori di un calcolo che si sta facendo

160 160 IL CONCETTO DI VARIABILE n Ogni variabile ha un nome mnemonico, che si usa nel programma per riferirsi alla var. stessa. n Una variabile contiene un valore che puo essere modificato a piacimento n Durante lesecuzione di un programma, il sistema operativo mantiene una associazione tra il nome di ogni var. e lindirizzo della cella di memoria in cui e memorizzato il suo valore n Quindi una variabile e semplicemente una astrazione della cella di memoria fisica.

161 161 IL CONCETTO DI VARIABILE n Quando si scrive un programma e necessario dichiarare quali variabili vogliamo usare. n Le variabili possono essere di tipo diverso, per indicare che le usiamo per memorizzare dati di tipo diverso: –Variabile LETTERA, tipo: carattere; –Variabile SOMMA, tipo: intero;

162 162 LIMPORTANZA DELLE VARIABILI n Le variabili sono lo strumento fondamentale per assicurare la flessibilita dei programmi. n Lo stesso programma, eseguito con variabili di valore diverso da risultati diversi. Lo stesso programma si adatta cioe alle esigenze del momento, senza dover essere riscritto

163 163 ESEMPIO DUSO DI VARIABILI Program SILLY begin Variables: YEARS,DAYS, type integer; read YEARS from input; DAYS := YEARS * 365; print DAYS; end

164 164 COSTRUTTI DI BASE DI UN LINGUAGGIO DI PROGR. (Visual Basic) n Definizione delle variabili che verranno usate nel programma, e del loro tipo: Dim PIPPO, PLUTO As Integer Dim NOME As String Dim RISULTATO As Double

165 165 COSTRUTTI DI BASE DI UN LINGUAGGIO DI PROGR. (Visual Basic) n Istruzioni elementari: assegnamento di un valore ad una variabile: PIPPO = 5 PLUTO = 7 RISULTATO = PIPPO/PLUTO TESTO = Ciao

166 166 COSTRUTTI DI BASE DI UN LINGUAGGIO DI PROGR. (Visual Basic) Azioni condizionali: If A*A+B*B = C*C Then Print Triangolo rettangolo Else Print Triangolo non rettangolo End If

167 167 COSTRUTTI DI BASE DI UN LINGUAGGIO DI PROGR. (Visual Basic) n Azioni ripetute: While (PIPPO < 100) PIPPO = PIPPO - 1 SOMMA = SOMMA + PLUTO Wend

168 168 COSTRUTTI DI BASE DI UN LINGUAGGIO DI PROGR. (Visual Basic) n Ingresso/Uscita X = InputBox(Dammi X) leggi X da input; Print X+3 stampa il risultato di X+3 su output

169 169 Programma Visual Basic (area di un rettangolo) Sub main() Dim base, altezza, area as Integer base = InputBox(Inserisci la base:) altezza = InputBox(Inserisci laltezza) area = base*altezza Print area; End Sub

170 170 DIAGRAMMI DI FLUSSO n Notazione grafica usata per descrivere in modo intuitivo le azioni di cui e fatto un algoritmo. n Viene usata per descrivere i passi salienti di un algoritmo, senza doversi preoccupare dei dettagli sintattici del programma corrispondente n Una volta che lalgoritmo e stato descritto con un diagramma di flusso, deve però essere trasformato nel programma corrispondente. n Ogni azione e rappresentata da un blocco

171 171 BLOCCHI DI FLUSSO: INIZIO E FINE ALGORITMO START STOP

172 172 BLOCCHI DI FLUSSO: UNA O PIU AZIONI ELEMENTARI PIPPO = PIPPO + 1 PLUTO = 0

173 173 BLOCCHI DI FLUSSO: BLOCCO CONDIZIONALE Diagramma 1 Diagramma 2 condizione F T

174 174 BLOCCHI DI FLUSSO: BLOCCO DI RIPETIZIONE Diagramma 1 condizione T F

175 175 BLOCCHI DI FLUSSO: INPUT/OUTPUT Input/output

176 176 THE SILLY PROGRAM start Read YEARS DAYS = YEARS * 365 print DAYS stop Sub main() Dim YEARS,DAYS as Integer YEARS = InputBox DAYS = YEARS*365 PRINT DAYS End sub

177 177 ESEMPIO DI TRADUZIONE Dim A, B, X as Integer ……. If A = B Then X = 1 Else X = 2 Endif …….

178 178 A: locazione 1000B: 1002X: ……. 4730LOAD 1000,R1 4734LOAD 1002,R2 4738LOAD 1004,R3 4342JNE R1,R2, SET R3, JUMP SET R3,2 4358……..

179 179 ESEMPIO 1 Dire se un triangolo è equilatero, isoscele o scaleno Sub Main() Dim A, B, C As Integer A = InputBox("Inserisci il lato A") B = InputBox("Inserisci il lato B") C = InputBox("Inserisci il lato C") If A = B And B = C Then Print "Triangolo Equilatero" ElseIf A = B Or B = C Then Print "Triangolo Scaleno" End If End Sub

180 180 ESEMPIO 2 Trasformare la propria media espressa in trentesimi in centodecimi Sub Main() Dim A As Integer A = InputBox("Dammi la tua media") Print "La tua media espressa in centodecimi è"; A / 3*11 End Sub

181 181 ESEMPIO 3 Calcolare la media dei propri voti Sub Main() Dim Voto, NumeroVoti, Somma as Integer Print Inserisci i tuoi voti While Voto <> -1 Voto = InputBox (Inserisci un voto (-1 per finire)) NumeroVoti = NumeroVoti + 1 Somma = Somma + Voto Wend Print La tua media è; Somma/NumeroVoti

182 182 ESEMPIO 4 Contare per quanti giorni la temperatura è stata superiore ai 30 gradi Sub Main() Dim Conta, Temperatura As Integer Conta = 0: Temperatura = 0 Print "Inserisci una serie di temperature quotidiane (terminata da -400)" While Temperatura <> -400 Temperatura = InputBox("Dammi un valore di temperatura") If Temperatura > 30 Then Conta = Conta + 1 End If Wend Print "Il numero totale di giorni afosi è "; Conta End Sub

183 183 ESEMPIO 5 Calcolare se un certo anno sarà bisestile Sub Main() Dim Anno As Integer Anno = InputBox("Inserisci l'anno") If Anno Mod 4 = 0 Then If Anno Mod 100 = 0 And Anno Mod 400 <> 0 Then Print "Anno Non Bisestile" Else Print "Anno bisestile" End If Else Print "Anno Non bisestile" End If End Sub Esercizio: riscrivere il Programma facendo uso di un unico IF


Scaricare ppt "1 CORSO DI INTRODUZIONE ALLINFORMATICA Ing. Giovambattista Ianni Indirizzo: Dipartimento di Matematica, Università della Calabria."

Presentazioni simili


Annunci Google