8 novembre, 2007
Un algoritmo, è una sequenza di istruzioni semplici, che eseguite in ordine passo-passo portano alla soluzione di un problema. Il nome deriva dal nome del matematico persiano Muhammad ibn Mūsa ‘l-Khwārizmī, che è stato il primo nella storia a fare riferimento esplicito a questo concetto.
Le istruzioni di un algoritmo devono essere elementari, quindi semplici da comprendere ed eseguire.
Proviamo a fare un esempio molto banale:
Algoritmo Telefona:
- Alza la cornetta .
- Componi il numero.
- Conversa.
- Riattacca
Come potete notare le istruzioni sono molto elementari, in quanto esse non devono essere vaghe od ambigue.
All’interno di un algoritmo è possibile anche fare delle scelte, in modo da seguire istruzioni diverse nel caso accada qualcosa di particolare. Proviamo ad aggiungere qualche dettaglio all’esempio di prima.
Algoritmo Telefonata:
- Alza la cornetta.
- Componi il numero.
- Se il numero è occupato allora riaggancia.
- Altrimenti Se il numero è libero
- Conversa
- Riaggancia
Un altro requisito per un buon algoritmo è che le istruzioni coprano tutte le situazioni possibili. Chi segue le istruzioni presenti nell’algoritmo non deve trovarsi nella situazione di non sapere cosa fare. Cosa succede nel nostro esempio se il telefono è libero e la persona non è in casa? Supponendo che la chiamata non si chiuda automaticamente dopo un certo tempo, come accade nella realtà, l’algoritmo si bloccherebbe, perchè non è ponderata l’ipotesi che la persona non risponda al telefono. Si potrebbe quindi impreziosire un pò il nostro esempio, aggiungendo delle istruzioni da eseguire in caso la persona chiamata non risponda al telefono:
Algoritmo Telefonata:
- Alza la cornetta.
- Componi il numero
- Se il numero è occupato allora riaggancia.
- Se la persona non risponde E sono passati più di due minuti allora riaggancia.
- Altrimenti se la persona risponde conversa.
- riaggancia.
Questo per oggi è quanto, spero di essere stato chiaro, se non lo sono stato, postate pure le vostre perplessità fra i commenti.
Alla prossima!
5 commenti |
Programmazione | Messo il tag: Algoritmo, Informatica, Matematica, Programmazione |
Permalink
Pubblicato da E-Vampire
23 ottobre, 2007
Cominciamo una serie di mini-lezioni che hanno lo scopo di introdurre gli interessati nel fantastico mondo della programmazione.
Cominciamo con il dire che una delle cose che mi danno più fastidio, è l’errata associazione di idee che molte persone fanno quando gli si dice “informatica”. Nel pensiero di molti, informatica è sinonimo di applicazioni d’ufficio, internet, qualcuno più “erudito” collega la parola a software di grafica. Se appartenete a questa categoria di persone, beh eliminate qualsiasi idea del genere dalla vostra testa.
Il termine informatica (Informazione automatica, per chi non lo sapesse), è un termine tutto italiano. All’estero questa materia è nota con il nome di “Computer Science”, e il corso di laurea in Informatica al quale sono iscritto appartiene alla facoltà di Scienze Matematiche, Fisiche e Naturali. Dato che i computer non hanno nulla a che fare con la natura, e che la fisica trova giusto qualche riscontro nello studio dell’hardware di un computer, per esclusione questa materia appartiene alle scienze matematiche.
Molti si chiederanno:” ma cosa può avere a che fare l’office con la matematica”. L’office forse niente (foglio elettronico a parte) ma la programmazione è matematica al 100%. La programmazione è una scienza che richiede impegno, ingegno, fantasia e spiccate capacità logiche. Quindi se decidete di entrare in questo mondo, cercate di non prenderla eccessivamente come un gioco, e cominciate a fare pace con funzioni trigonometriche, limiti, derivate ed integrali.
Fatta questa presentazione, il prossimo post tratterà di algoritmi.
Alla prossima!
Lascia un commento » |
Programmazione |
Permalink
Pubblicato da E-Vampire
6 novembre, 2006
Benvenuti su un blog utile! Come dice il titolo, infatti, in questo blog non vi annoierò con quello che mi è successo oggi, non vi racconterò se ho litigato o meno con qualcuno, se preferisco il cibo giapponese o quello cinese (ehm, japan rules
): qui sopra scriverò tutte le mie conoscenze, sotto forma di tutorial per la maggior parte. Si toccheranno grafica, musica, programmazione, utilizzo di linux, e se imparerò qualcosa di nuovo… si parlerà anche di quello
Cominciano i lavori, datemi un pò di tempo e appena finito il primo tutorial sarà subito up!
Lascia un commento » |
Generale |
Permalink
Pubblicato da E-Vampire