Programmazione Procedurale in Linguaggio C - PowerPoint PPT Presentation

About This Presentation
Title:

Programmazione Procedurale in Linguaggio C

Description:

Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 5 Il FORTRAN versione 2.0 Questo lavoro concesso in uso secondo i termini di una licenza ... – PowerPoint PPT presentation

Number of Views:170
Avg rating:3.0/5.0
Slides: 22
Provided by: G627
Category:

less

Transcript and Presenter's Notes

Title: Programmazione Procedurale in Linguaggio C


1
Programmazione Procedurale in Linguaggio C
  • Strutture di Controllo
  • Parte 5
  • Il FORTRAN

versione 2.0
Questo lavoro è concesso in uso secondo i termini
di una licenza Creative Commons (vedi ultima
pagina)
2
Sommario
Strutture di Controllo Conclusioni gtgt Sommario
  • Un altro esempio Il linguaggio FORTRAN
  • Dichiarazione Implicita
  • Istruzioni Condizionali
  • Istruzioni Iterative

3
Un Altro Esempio FORTRAN
Strutture di Controllo Conclusioni gtgt FORTRAN
  • Strutture di controllo in FORTRAN 77
  • istruzioni condizionali (IF-THEN-ELSE, IF-THEN)
  • ciclo DO (ciclo di tipo for)
  • Il FORTRAN 77 non prevede il while
  • introdotto in FORTRAN 90
  • ma i compilatori più recenti lo prevedono
    comunque come estensione al linguaggio

4
Un Esempio Media con For
Strutture di Controllo Conclusioni gtgt FORTRAN
  • program mediaf
  • implicit none
  • real voto, sommaVoti, media
  • integer numeroEsami, i
  • write (,) 'Quanti esami hai sostenuto
    ?'
  • read (,) numeroEsami
  • sommaVoti 0.0
  • do i1, numeroEsami
  • write (,) 'Immetti il voto di un
    esame'
  • read (,) voto
  • sommaVoti sommaVotivoto
  • end do
  • if (numeroEsami.gt.0) then
  • media sommaVoti/numeroEsami
  • write (,) 'La media vale ',
    media
  • else
  • write (,) 'Non hai fornito alcun
    voto'
  • end if
  • stop

5
Strutture di Controllo Conclusioni gtgt FORTRAN
  • program mediaw
  • implicit none
  • real voto, sommaVoti, media
  • integer numeroEsami
  • logical continua
  • continua .true.
  • numeroEsami 0
  • sommaVoti 0.0
  • do while (continua.eqv..true.)
  • write (,) 'Immetti il voto di un
    esame (0 per fermarti)'
  • read (,) voto
  • if (voto.eq.0) then
  • continua .false.
  • else
  • numeroEsami numeroEsami1
  • sommaVoti sommaVotivoto
  • end if
  • end do
  • if (numeroEsami.gt.0) then

Un Esempio Media con While
gtgt
6
Dichiarazione Implicita
Strutture di Controllo Conclusioni gtgt FORTRAN
  • Una particolarità del prog. FORTRAN
  • istruzione implicit none
  • impedisce la dichiarazione implicita del FORTRAN
  • Dichiarazione implicita
  • le variabili possono essere usate senza essere
    dichiarate
  • nomi che cominciano con i,j,k,l,m,n integer
  • gli altri nomi real

7
Dichiarazione Implicita
Strutture di Controllo Conclusioni gtgt FORTRAN
  • E un meccanismo da non usare
  • introdotto per ragioni di economia di scrittura
  • porta a numerosi errori per dimenticanze
  • es variabile continua
  • Nei compilatori moderni
  • è stata introdotta per disabilitare questo
    meccanismo
  • è buona norma usare sempre implicit none come
    prima istruzione del programma

8
Istruzioni Condizionali
Strutture di Controllo Conclusioni gtgt FORTRAN
  • Istruzioni condizionali in FORTRAN 77
  • istruzione IF-THEN-ELSE-END IF
  • istruzione IF-THEN-END IF
  • Sintassi
  • if (ltcondizionegt) then if (ltcondizionegt) then
  • ltistruzionigt ltistruzionigt
  • else end if
  • ltistruzionigt
  • end if

9
Istruzioni Condizionali
Strutture di Controllo Conclusioni gtgt FORTRAN
  • Semantica
  • identica a quella dellistruzione if in C
  • Differenze
  • è obbligatoria la parola chiave THEN
  • in FORTRAN non esiste il concetto di blocco di
    istruzioni (equivalente delle ) i blocchi
    sono delimitati da THEN-ELSE-END IF
  • è considerevolmente diversa la sintassi delle
    condizioni

10
Istruzioni Condizionali
Strutture di Controllo Conclusioni gtgt FORTRAN
  • Condizioni
  • operatori di confronto in FORTRAN.eq. .ne. .gt.
    .lt. .ge. .le.
  • .eqv. .neqv.
  • operatori booleani in FORTRAN.and. .or. .not.
    .true. .false.
  • Esempi
  • ((anno.gt.1).and.(matricola.gt.15000))
  • (continua.eqv..true.)

11
Istruzioni Iterative
Strutture di Controllo Conclusioni gtgt FORTRAN
  • Istruzioni iterative in FORTRAN 77
  • il linguaggio prevede solo una forma di ciclo
  • istruzione DO-CONTINUE
  • ciclo di tipo for (cicli a conteggio)
  • è basato sulluso di etichette
  • I compilatori moderni consentono di
  • non utilizzare le etichette
  • utilizzare anche listruzione while

12
Istruzione do-continue
Strutture di Controllo Conclusioni gtgt FORTRAN
  • Sintassi
  • do lteticgt ltvariabilegtltv.inizgt,ltv.finalegt
  • ltistruzionigt
  • lteticgt continue
  • Esempio
  • do 555 i1, 10
  • write (,) i
  • 555 continue
  • Semantica
  • è quella di un for

13
Istruzioni Iterative
Strutture di Controllo Conclusioni gtgt FORTRAN
  • In questo corso
  • utilizzeremo le estensioni moderne offerte dal
    compilatore
  • In particolare
  • istruzione do-end do (variante del do-continue
    che non utilizza etichette)
  • istruzione do while-end do

14
Istruzione do-end do
Strutture di Controllo Conclusioni gtgt FORTRAN
  • Sintassi
  • do ltvariabilegt ltv.inizgt, ltv.finalegt
  • ltistruzionigt
  • end do
  • Esempio
  • do i 1, 10
  • write (,) Valore
  • write (,) i
  • end do
  • Semantica
  • identica a quella del do-continue (ciclo a
    conteggio)

ATTENZIONE la variabile viene inizializzata al
valore iniziale e il ciclo prosegue finchè non
ha superato il valore finale (es i da 1 a 10
incluso)
15
Istruzione do while-end do
Strutture di Controllo Conclusioni gtgt FORTRAN
  • Sintassi
  • do while (ltcondizionegt)
  • ltistruzionigt
  • end do
  • Esempio
  • do while (i.ne.0)
  • write (,) Inserisci valore
  • read (,) i
  • end do
  • Semantica
  • identica a quella del while in C

16
Riassumendo
Strutture di Controllo Conclusioni gtgt Sommario
  • Un altro esempio Il linguaggio FORTRAN
  • Dichiarazione Implicita (implicit none)
  • Istruzioni Condizionali in FORTRAN 77
  • Istruzioni Iterative in FORTRAN 77 (ATTENZIONE)

17
Un Esempio Media con For
Strutture di Controllo Conclusioni gtgt Un Esempio
  • include ltiostream.hgt
  • void main()
  • float voto, sommaVoti, media
  • int numeroEsami, i
  • cout ltlt "Quanti esami hai sostenuto ?" ltlt
    endl
  • cin gtgt numeroEsami
  • sommaVoti 0.0
  • for (i0 iltnumeroEsami i)
  • cout ltlt "Immetti il voto di un esame" ltlt
    endl
  • cin gtgt voto
  • sommaVoti voto
  • if (numeroEsami gt 0)
  • media sommaVoti/numeroEsami
  • cout ltlt "La media vale " ltlt media ltlt
    endl
  • else
  • cout ltlt "Non hai fornito nessun voto" ltlt
    endl

18
Un Esempio Media con While
Strutture di Controllo Conclusioni gtgt Un Esempio
  • include ltiostream.hgt
  • void main()
  • float voto, sommaVoti, media
  • int numeroEsami
  • bool continua
  • continua true
  • numeroEsami 0
  • sommaVoti 0.0
  • while (continua true)
  • cout ltlt "Immetti il voto (0 per
    fermarti)" ltlt endl
  • cin gtgt voto
  • if (voto 0)
  • continua false
  • else
  • numeroEsami
  • sommaVoti voto
  • if (numeroEsami gt 0)

19
Un Esempio Media con For
Strutture di Controllo Conclusioni gtgt FORTRAN
  • program mediaf
  • implicit none
  • real voto, sommaVoti, media
  • integer numeroEsami, i
  • write (,) 'Quanti esami hai sostenuto
    ?'
  • read (,) numeroEsami
  • sommaVoti 0.0
  • do i1, numeroEsami
  • write (,) 'Immetti il voto di un
    esame'
  • read (,) voto
  • sommaVoti sommaVotivoto
  • end do
  • if (numeroEsami.gt.0) then
  • media sommaVoti/numeroEsami
  • write (,) 'La media vale ',
    media
  • else
  • write (,) 'Non hai fornito alcun
    voto'
  • end if
  • stop

20
Strutture di Controllo Conclusioni gtgt FORTRAN
  • program mediaw
  • implicit none
  • real voto, sommaVoti, media
  • integer numeroEsami
  • logical continua
  • continua .true.
  • numeroEsami 0
  • sommaVoti 0.0
  • do while (continua.eqv..true.)
  • write (,) 'Immetti il voto di un
    esame (0 per fermarti)'
  • read (,) voto
  • if (voto.eq.0) then
  • continua .false.
  • else
  • numeroEsami numeroEsami1
  • sommaVoti sommaVotivoto
  • end if
  • end do
  • if (numeroEsami.gt.0) then

Un Esempio Media con While
21
Termini della Licenza
Termini della Licenza
  • This work is licensed under the Creative Commons
    Attribution-ShareAlike License. To view a copy of
    this license, visit http//creativecommons.org/lic
    enses/by-sa/1.0/ or send a letter to Creative
    Commons, 559 Nathan Abbott Way, Stanford,
    California 94305, USA.
  • Questo lavoro viene concesso in uso secondo i
    termini della licenza Attribution-ShareAlike di
    Creative Commons. Per ottenere una copia della
    licenza, è possibile visitare http//creativecommo
    ns.org/licenses/by-sa/1.0/ oppure inviare una
    lettera allindirizzo Creative Commons, 559
    Nathan Abbott Way, Stanford, California 94305,
    USA.
Write a Comment
User Comments (0)
About PowerShow.com