1. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
CORSO DI INFORMATICA
Bruno Ronsivalle
UD3.
Ci嘆 che non 竪 hardware
竪 software
2. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa si intende per software"?
3. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Qual 竪 la definizione di algoritmo?
4. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa si intende per
linguaggio macchina?
5. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa sono i
linguaggi di programmazione?
6. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa si intende per
codice sorgente?
8. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Quali sono le funzioni di un
Sistema Operativo?
9. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa si intende per
applicazioni e App?
10. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa sono i malware e
gli antivirus?
11. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Alla fine della UD dovrai essere in grado di:
descrivere le caratteristiche del software
definire il concetto di algoritmo
illustrare le peculiarit del linguaggio macchina
descrivere i linguaggi di programmazione
definire il concetto di "codice sorgente
illustrare le caratteristiche del BIOS
descrivere le funzioni di un Sistema Operativo
illustrare le caratteristiche di applicazioni e App
definire i concetti di malware e antivirus
Obiettivi didattici
12. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
KEYWORDS
software istruzione algoritmo linguaggio
macchina codice sorgente BIOS - sistema
operativo applicazione App - virus - antivirus
13. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Gennaio 1975. Rivista Popular Electronics
14. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Che cos竪 il software?
Software =
componente
non materiale
di un sistema informatico
che garantisce
il funzionamento
della macchina
15. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Che cos竪 il software?
Software =
componente
non materiale
di un sistema informatico
che garantisce
il funzionamento
della macchina
16. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Che cos竪 il software?
Software =
componente
non materiale
di un sistema informatico
che garantisce
il funzionamento
della macchina
17. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Programmi =
insieme di istruzioni che
consentono allhardware di
svolgere i compiti
Condizioni di partenza +
Vincoli +
Obiettivi prefissati +
Programmi =
Soluzione del problema
18. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Programmi =
insieme di istruzioni che
consentono allhardware di
svolgere i compiti
Condizioni di partenza +
Vincoli +
Obiettivi prefissati +
Programmi =
Soluzione del problema
19. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Programmi = Partitura musicale
Pensiero della CPU
20. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Partitura musicale composta da algoritmi
Algoritmi = sequenze logiche di istruzioni che
includono regole ben precise e procedure di calcolo
Obiettivo = risoluzione di un problema
21. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Noi usiamo algoritmi
tutti i giorni!
Semplice lista spesa
Appunti durante lezione
Strategia contro avversario
Schemi partita di calcio
Istruzioni montaggio mobile
Ricetta sushi o pappardelle
Regole per vini e pietanze
Organizzare serata
22. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
START
23. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
Variabile A
START
24. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
Variabile A
A = numero casuale
START
25. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
Variabile B
Variabile A
A = numero casuale
START
26. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
B = A + 1
Variabile B
Variabile A
A = numero casuale
START
27. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
START
28. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
START
Ripeti 10 volte
{
29. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
SE C = 0
START
Ripeti 10 volte
{
30. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
END
SE C = 0
START
Ripeti 10 volte
{
31. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
SE C > 0
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
END
SE C = 0
START
Ripeti 10 volte
{
32. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Esempio di algoritmo
SE C > 0
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
END
SE C = 0
START
Ripeti 10 volte
{
33. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Larchitetto di Matrix [UD3_Video1]
34. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Requisiti essenziali delle
operazioni descritte
mediante algoritmi:
1.
assenza di ambiguit
NO operazioni vaghe e
passibili di interpretazioni
contrastanti
35. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Requisiti essenziali delle
operazioni descritte
mediante algoritmi:
2.
effettiva computabilit
la CPU deve essere in
grado strutturalmente di
portare a compimento le
operazioni
36. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Requisiti essenziali delle
operazioni descritte
mediante algoritmi:
3.
soluzione di un problema in
numero finito di operazioni
! sequenza infinita =
problema logicamente
irrisolvibile = errore
37. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
diverse tipologie di
algoritmi:
sequenze operazionali
dichiarazioni di variabili
operazioni condizionali
operazioni iterative
38. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Tipologie di algoritmi: sequenze operazionali
SE C > 0
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
END
SE C = 0
START
Ripeti 10 volte
{
39. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Tipologie di algoritmi: dichiarazioni di variabili
SE C > 0
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
END
SE C = 0
START
Ripeti 10 volte
{
40. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Tipologie di algoritmi: operazioni condizionali
SE C > 0
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
END
SE C = 0
START
Ripeti 10 volte
{
41. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Tipologie di algoritmi: operazioni iterative
SE C > 0
B = A + 1
SE C < 0
Variabile B
Variabile A
A = numero casuale
END
SE C = 0
START
Ripeti 10 volte
{
42. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
primitive della macchina =
operazioni di base dellelaboratore
Algoritmi corrispondenza
operazioni di calcolo vs. primitive
formulare algoritmi:
operazione dopo operazione
passaggio dopo passaggio
senza lasciare nulla al caso
43. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Pettegolezzi binari:
in quale lingua conversano i computer fra loro
quando non li ascoltiamo o non siamo presenti?
44. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Idioma nativo macchine
linguaggio binario = 1 e 0
linguaggio di basso livello
non umano!!!
linguaggio macchina
La lingua pi湛 diffusa nellintero
globo terrestre!
45. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
束Quanto pu嘆 dirsi, si pu嘆 dir chiaro;
e su ci嘆 di cui non si pu嘆 parlare, si deve tacere損
(Ludwig Wittgenstein)
55. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Le donne, i cavallier, l'arme, gli amori, le cortesie, l'audaci
imprese io canto, che furo al tempo che passaro i Mori d'Africa
il mare, e in Francia nocquer tanto, seguendo l'ire e i giovenil
furori d'Agramante lor re, che si di竪 vanto di vendicar la morte
di Troiano sopra re Carlo imperator romano.
4c 65 20 64 6f 6e 6e 65 2c 20 69 20 63 61 76 61 6c 6c 69 65 72 2c 20
6c 27 61 72 6d 65 2c 20 67 6c 69 20 61 6d 6f 72 69 2c 0d 0a 6c 65 20
63 6f 72 74 65 73 69 65 2c 20 6c 27 61 75 64 61 63 69 20 69 6d 70 72
65 73 65 20 69 6f 20 63 61 6e 74 6f 2c 0d 0a 63 68 65 20 66 75 72 6f
20 61 6c 20 74 65 6d 70 6f 20 63 68 65 20 70 61 73 73 61 72 6f 20 69
20 4d 6f 72 69 0d 0a 64 27 41 66 72 69 63 61 20 69 6c 20 6d 61 72 65
2c 20 65 20 69 6e 20 46 72 61 6e 63 69 61 20 6e 6f 63 71 75 65 72 20
74 61 6e 74 6f 2c 0d 0a 73 65 67 75 65 6e 64 6f 20 6c 27 69 72 65 20
65 20 69 20 67 69 6f 76 65 6e 69 6c 20 66 75 72 6f 72 69 0d 0a 64 27
41 67 72 61 6d 61 6e 74 65 20 6c 6f 72 20 72 65 2c 20 63 68 65 20 73
69 20 64 69 e8 20 76 61 6e 74 6f 0d 0a 64 69 20 76 65 6e 64 69 63 61
72 20 6c 61 20 6d 6f 72 74 65 20 64 69 20 54 72 6f 69 61 6e 6f 0d 0a
73 6f 70 72 61 20 72 65 20 43 61 72 6c 6f 20 69 6d 70 65 72 61 74 6f
72 20 72 6f 6d 61 6e 6f 2e
56. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
la distanza abissale tra
lingue degli uomini e idioma delle macchine
57. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Linguaggio
disumano
Incomprensibile
Non sintetico
Le macchine sono
logorroiche e
non danno nulla
per scontato!
58. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Il dialogo impossibile con tassista macchina
59. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Soluzione alternativa?
Linguaggi semi-umani di programmazione =
linguaggi intermedi = linguaggi di alto livello
tra linguaggio umano e linguaggio delle macchine
60. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
ALGOL, Assembly, BASIC, C, C++, COBOL, Delphi,
Fortran, Java, JavaScript, Lisp, MATLAB, PASCAL,
Perl, Prolog, Ruby, Visual Basic, Visual C++
62. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
linguaggi semi-umani
programmare il
comportamento di un
elaboratore elettronico
digitale:
descrivere
algoritmi
senza fare alcun uso del
codice binario
63. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
attivit di programmazione
Output = istruzioni in codice sorgente
(testo)
Output = compilati
(codificati nel linguaggio macchina)
assemblati o "interpretati
tradotti in codice binario, digeriti dalla
macchina ed eseguiti regolarmente
64. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Problema
da risolvere
Individuo gli step
e le operazioni
per risolverlo
Descrivo tutto
mediante
algoritmi
Scelgo un
linguaggio di
programmazione
Descrivo gli
algoritmi in quel
linguaggio
Creo il codice
sorgente
Lo compilo, assemblo, interpreto
utilizzo un programma per
tradurre il codice sorgente in
linguaggio macchina
Avvio il
programma nella
macchina
65. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Le famiglie del software
BIOS
Sistema Operativo (SO)
applicazioni e App
malware e antivirus
66. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
BIOS
Basic Input Output System
mediazione linguistica
tra hardware e software
risiede nella ROM
programmi essenziali =
firmware
67. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Sistema Operativo
ruolo strategico =
amministrazione
macchina
il software dei
software
68. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
configura linterfaccia
accesso alle cartelle e ai
diversi file o archivi di
informazioni in memoria
gestisce i nomi e le
estensioni
esecuzione delle diverse
applicazioni
69. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Windows 8 (Microsoft), OS X Mountain
Lion e iOS 6 (Apple), Ubuntu ed Edubuntu
12.10 (Linux), Android 4.1 (Google).
70. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Applicazioni e App
applicazioni = programmi
compilati, assemblati o
interpretati
regole e istruzioni per
guidare il computer nello
svolgimento di compiti
71. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
applicazioni
creare
memorizzare
modificare
manipolare
cancellare altri frammenti di
software, dati e documenti
72. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
App
dedicate a smartphone e tablet
logica innovativa
dellinterfaccia grafica
modello di gestione delle icone
modello di distribuzione online
73. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Nasa sotto attacco [UD3_Video2]
74. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Malware e antivirus
famiglia di software
maligni
generare danni di
diversa natura e
gravit allinterno dei
sistemi informatici
75. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
vermi (worm)
sistemi operativi
auto duplicazione
esponenziale nella
memoria di un
computer =
rallentamenti o
blocco operativo
76. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
programmi spia
(spyware)
violare la
privacy dellutente
77. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
virus = programmi
disco rigido
auto clonazione,
riproduzione e
contaminazione
esponenziale
documenti, flussi
operativi del sistema
danni fisici hardware
memoria secondaria
78. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
i cavalli di Troia
(Trojan horse
o Trojan)
79. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Antivirus
riconoscere malware
inibirne gli
effetti dannosi
cancellarli
dal sistema
81. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Perch辿 Altair 竪 stato cos狸
importante?
In origine Altair 8800 era
puro hardware
e linguaggio macchina
Paul Allen e Bill Gates
Altair BASIC e la Micro-Soft.
82. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
A questo punto dovresti essere in grado di:
descrivere le caratteristiche del software
definire il concetto di algoritmo
illustrare le peculiarit del linguaggio macchina
descrivere i linguaggi di programmazione
definire il concetto di "codice sorgente
illustrare le caratteristiche del BIOS
descrivere le funzioni di un Sistema Operativo
illustrare le caratteristiche di applicazioni e App
definire i concetti di malware e antivirus
Obiettivi didattici
83. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa si intende per software"?
84. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Qual 竪 la definizione di algoritmo?
85. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa si intende per
linguaggio macchina?
86. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa sono i
linguaggi di programmazione?
87. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa si intende per
codice sorgente?
89. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Quali sono le funzioni di un
Sistema Operativo?
90. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa si intende per
applicazioni e App?
91. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
Cosa sono i malware e
gli antivirus?
92. Universit del Salento
Facolt di Scienze della Formazione, Scienze Politiche e Sociali
CORSO DI INFORMATICA
UD3.
Ci嘆 che non 竪 hardware
竪 software
gaetanobruno.ronsivalle@unisalento.it