venerdì 19 novembre 2010

Programmazione..quale incubo! (fortran 1)

Primo passo: comunicare col computer.
Cosa avere accanto per iniziare a progammare:
- dispense del professore, eventuale manuale del programma o internet a portata di mano per cercare quelle spiegazioni che il professore mai vi darà;
- carta e penna;
- coscienza del fatto che lui è un computer, tu sei la mente e tu comandi su di lui...anche se all'inizio non sembrerà così;
- tanta, tanta, tanta pazienza ;).

Benissimo!
Il computer è una macchina, ed essendo tale se voi non gli specificate cosa deve fare lui semplicemente non lo fa o lo fa a modo suo.
Quindi è chiaro che dovremo dire al computer "Ehi, sto iniziando a scrivere il programma, d'ora in poi fai quello che ti dico". Ed ecco la prima istruzione fondamentale:

" Program nome programma "

"Nome programma" serve per fargli capire quale programma dei tanti state iniziando a scrivere.

Come comunicate l'inizio, dovete comunicare la fine del vostro programma perché altrimenti lui non ha idea di quando finirà l'operazione che voi volete faccia.
Perciò, consiglio: mettete subito

" Program nome programma "
" End program"

Dopodichè in mezzo aggiungiamo il resto.
Decidiamo di far fare al programma la somma 7+5.
Come glielo diciamo?
Se aveste un problema su carta in cui vi si chieda "Quanto fa 7+5", cosa scrivereste per risolverlo?
x=7+5 e quindi x=12
Usereste quindi una variabile.
Per il computer è uguale:

Program nome programma
x=7+5
End program

Bene! Se fate girare il programma cosa succede?
Il computer da errore. Perché?
Perché lui non ha mai visto 'x' prima e non si fida, vuole che gliela presentiamo e noi lo accontentiamo:

Program nome programma
integer::x
x=7+5
End program

Gli abbiamo detto che useremo una variabile intera (integer) che si chiama 'x'.
Facciamolo girare di nuovo. Ora non ci da errori ma finisce senza averci comunicato niente, perché il computer fa l'operazione ma non ha intenzione di dirci il risultato a meno che non glielo chiedete. Detto fatto:

Program nome programma
integer::x
x=7+5
write (*,*), x
End program

Cosa gli abbiamo chiesto? Scrivimi sullo schermo (il primo asterisco) in un formato standard cioè predefinito (secondo asterisco) x.
Ora facendo girare il programma, il computer ci parlerà e ci dirà il risultato.
Spesso, se gli facciamo fare tante operazioni, noi dimentichiamo quale dei risultati va a scrivere perciò potremmo aggiungere

write (*,*) 'il risultato della somma 7+5 è',x

L'output del nostro programma sarà:

il risultato della somma 7+5 è 12


Ultima considerazione per ora: ricordate che il computer ha al suo interno un enorme quantità di dati e delle quantità definite. Questo significa che a volte lui può confondersi e andarle ad usare anche dove non le vogliamo.
Per questo, subito dopo avergli detto "Ehi, sto iniziando", dobbiamo dirgli "Dimentica tutto quello che sai, ora decido io" e cioè

Program nome programma
implicit none
integer::x
x=7+5
write (*,*) 'il risultato della somma 7+5 è', x
End program

E se volessimo decidere di cambiare gli addendi di volta in volta?
Lo vedremo al prossimo passo
.

Nessun commento:

Posta un commento