Benvenuti al corso di logica e di automi su Software Planet!
Non
ho idea se voi siate venuti a leggere questo articolo per semplice
curiosità o perché vi interessa particolarmente, ma una cosa è certa:
questo corso vi sarà realmente utile sia che vuoi dobbiate scrivere
un banalissimo programmino o abbiate a che fare, magari nel vostro
corso di studi, con questi argomenti.
Ma partiamo dal principio.
Innanzitutto cerchiamo di definire la logica e spiegare a cosa mai
ci potrà servire. Si potrebbe dire che fa parte di un ramo della
matematica, lalgebra, ed è nata e si è sviluppata nellambito
della teoria degli insiemi. Sicuramente tutti voi avete sentito
parlare di variabili o espressioni Booleane, questo nome discende
proprio da tal signor Boole che per primo inventò lalgebra
booleana, per lappunto. Da questo momento in poi la logica,
soprattutto con lavvento dei computer, ha assunto un ruolo
sempre più importante in ambito matematico per dilagare successivamente
in altri campi applicativi. Noi ovviamente parleremo di quello che
più ci interessa, i computer e la programmazione.
Per una curiosa coincidenza la logica si basa tutta su variabili,
per ora le chiamiamo così, che sono o vere o false, non ci sono
vie di mezzo, e si indicano anche con 0 (zero) e 1 (uno!) e guarda
caso i computer sanno lavorare esclusivamente su Zeri e Uni!! Questo
dovrebbe farvi già intuire limportanza che ha assunto la logica
in ambito informatico, ma non si ferma solo qui! Essendo una disciplina
matematica è esatta e quindi priva di errori o incertezze (gli unici
che possono commetterle siamo noi umani) e questo ci da una mano
enorme, ma come?
A questo punto viene fuori il discorso principale: ma come ci può
tornare utile la logica? Semplice, essa serve per specificare, progettare,
definire, verificare ogni programma o algoritmo che noi creiamo
oppure ogni circuito logico che si voglia realizzare (ma questo
lo lascieremo a coloro che stanno di casa alla Intel & co.).
In pratica, se vogliamo sviluppare un semplicissimo algoritmo possiamo
aprire il nostro editor di C++, Java o di altri linguaggi, e metterci
a scrivere una serie di istruzioni pregando di non aver tralasciato
niente. Questo ovviamente, per chi abbia un minimo di pratica nel
programmare, non succederà mai, nel senso che non ci funzionerà
sicuramente al primo tentativo, ma dovremo sempre andare a mettere
mano nel codice per fare le opportune correzioni.
Se al contrario prima specifichiamo il nostro algoritmo con delle
formulette logiche e le verifichiamo, scrivere il nostro programmino
sarà molto più immediato e semplice. Non solo, ma se un giorno vorremo
modificare il nostro algoritmo o programma non dovremo andare a
rileggere il codice per capire che cosa volevamo fare e come, ma
abbiamo la documentazione che avevamo preparato con le nostre formule
logiche che ci aiuteranno subito a capire come avevamo progettato
il nostro algoritmo.
Se tutto ciò non vi è ancora del tutto chiaro sicuramente nelle
lezioni successive dopo che avrete masticato un po di logica
vi sembrerà tutto molto più chiaro.
La parte del corso riguardante automi e reti di petri la affronteremo pù avanti dopo la logica, e quindi per ora non mi sto a dilungare troppo nello spiegare questo argomento. Per chi non ne avesse idea, gli automi, e successivamente le reti di Petri, hanno un utilità simile alla logica, ma si utilizzano in un ambito leggermente differente. Vengono infatti utilizzati quando dobbiamo specificare una serie di azioni da compiere e le loro correlazioni con altri eventi che devono accadere. Un esempio banale potrebbe essere: se oggi piove e devo uscire di casa prendo lombrello, esco di casa e vado alla macchina ma la utilizzo solo se mio figlio ieri sera lha riportata a casa integra! Oppure se lutente vuole verificare se una frase è un palindromo devo fare certe operazioni, ecc..
In ultima battuta vi informo che durante il corso vi darò degli
esercizi da svolgere per conto vostro, sempre che ne abbiate voglia!,
e successivamente vi darò un mio svolgimento in modo tale da poterlo
verificare col vostro.
A proposito sapete cosè un palindromo? No? Lo scoprirete nella
prossima lezione insieme ad un inizio di infarinatura di logica,
a presto!
Torna all'indice Generale del corso di Corso di Logica ed Automi di Software Planet