Elementi sintattici. Sottoprogrammi in Fortran. Paolo Bison

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elementi sintattici. Sottoprogrammi in Fortran. Paolo Bison"

Transcript

1 Sottoprogrammi in Fortran Paolo Bon Fondamenti di Informatica A.A. 2006/07 Università di Padova Elementi sintattici modulo unità di programma contenente definizioni di user-defined types, variabili e sottoprogrammi compilazione separata vibilità degli elementi dichiarati in un modulo elementi accessibili da altri moduli PRIVATE elementi condivi solamente tra gli elementi del modulo sottoprogrammi subroutines (procedure) functions (funzioni) Sottoprogrammi in Fortran, Paolo Bon, FI06, p.1 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.2 Definizione di modulo R1104x module private-module R1104 private-module MODULE module-name [ use-stmt ]... [ PRIVATE ] [ module-entity-def ]... [ module-subprogram-part ] END MODULE module-name R1104z module-entity-def [ derived-type-def ] or [ other-type-declaration-stmt ] or [ module-procedure-interface-block ] or [ external-procedure-interface-block ] R212 module-subprogram-part CONTAINS module-subprogram [ module-subprogram ]... R213 module-subprogram function-subprogram or subroutine-subprogram Sottoprogrammi in Fortran, Paolo Bon, FI06, p.3 Istruzione USE defince da quali moduli si importa gli elementi di tipo R1107 use-stmt USE module-name [, rename-lt ] R1108 rename local-name => use-name Constraint:A module-name shall appear in at most one USE statement in a scoping unit. Constraint:A module shall not be made accessible by more than one use statement in a scoping unit. Constraint:The module shall appear in a previously processed program unit. Vibilità degli identificatori per tutti gli elementi si deve dichiarare se sono PRIVATE o attributo nella dichiarazione R511 access-spec or PRIVATE integer, private :: y,k,z real, public :: t,m definizione mediante un access-stmt R522 access-stmt access-spec [ :: access-id-lt ] public :: xx,yy private :: lc, high senza lta defince accesso di default (Fortran 90/95) Campo di validità per gli elementi PRIVATE il modulo Sottoprogrammi in Fortran, Paolo Bon, FI06, p.4 per gli elementi il modulo + altri moduli/programmi che dichiarino di utilizzare tale modulo. Quest ultimi possono ridefinire gli identificatori dichiarati nei moduli che usano solo se li rinominano. con la rename-lt Sottoprogrammi in Fortran, Paolo Bon, FI06, p.5 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.6 moduli.f90 moduli.f90 module moda integer,public :: k=10 real, public :: x=5.0 integer,private :: l=-100 end module moda module modb integer,public :: k=20 real,public :: y=20.9 integer,private :: l=99 end module modb moduli.f90 module modc use moda private integer,public :: l=55 real,private :: y=-8.9 end module modc program moduli use moda,pippo=>x use modb use modc integer :: m,n integer :: x=-333 errore se non ci fosse pippo=>x print *,x,y,l print *,k errore: k dichiarato sia in moda che in modb end program moduli Sottoprogrammi in Fortran, Paolo Bon, FI06, p.7 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.8

2 Definizione di sottoprogramma R1216 function-subprogram function-stmt specification-part [ execution-part ] end-function-stmt R1221 subroutine-subprogram subroutine-stmt [ specification-part ] [ execution-part ] end-subroutine-stmt R1221v specification-part [ use-stmt ]... [ dummy-declaration-stmt]... [ result-type-declaration-stmt ] [ other-type-declaration-stmt ]... R1217 function-stmt [ RECURSIVE ] FUNCTION function-name ([ dummy-arg-name-lt ]) RESULT (result-name) R1220 end-function-stmt END FUNCTION function-name R1222 subroutine-stmt [ RECURSIVE ] SUBROUTINE subroutine-name ( [ dummy-arg-lt ] ) R1224 end-subroutine-stmt END SUBROUTINE subroutine-name Sottoprogrammi in Fortran, Paolo Bon, FI06, p.9 Attributi dei parametri formali intent ( intent-spec ) indica l uso inteso per il parametro formale con i seguenti valori di intent-spec: in il parametro è utilizzato per fornire dati al chiamato out il parametro è utilizzato per ritornare dati al chiamante ed è indefinto alla chiamata inout il parametro è utilizzato per passare dati in entrambi i sensi optional può non esserci il corrpondente parametro attuale nella chiamata al sottoprogramma; in tal caso il valore è indefinito funzione intrinseca present(par-name) per vedere se il parametro è presente Parametri formali dummy-arg-name-lt lta dei parametri formali (identificatori separati da virgola) subroutine (x,y,z,c) dummy-declaration-stmt dichiarazioni di tipo per i parametri formali (dummy) presenti nella dummy-arg-name-lt real :: x,y,z character :: c Attivazione sottoprogrammi R1210 function-reference function-name ( [ actual-arg-spec-lt ] ) R1211 call-stmt CALL subroutine-name ( [ actual-arg-spec-lt ] ) R1212 actual-arg-spec [ keyword = ] actual-arg R1213 keyword dummy-arg-name R1214 actual-arg expr or variable or subprogram-name Constraint: The keyword = may be omitted from an actual-arg-spec only if the keyword = has been omitted from each preceding actual-arg-spec in the argument lt. Constraint: A procedure-name actual-arg shall not be the name of an intrinsic function. Sottoprogrammi in Fortran, Paolo Bon, FI06, p.10 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.11 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.12 param.f90 param.f90 param.f90 esempio di passaggio di parametri module moda public :: suba subroutine suba(i,k,l,m) integer,intent(in) :: i,k integer,intent(in),optional :: l,m program moduli use moda call suba(5,3) call suba(k=8,i=-4) call suba(1,2,3) call suba(1,2,3,4) call suba(1,2,m=3) end program moduli print *," " print *,"i",i,"k",k if (present(l)) then print *,"l",l if (present(m)) then print *,"m",m end subroutine suba end module moda Sottoprogrammi in Fortran, Paolo Bon, FI06, p.13 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.14 Valore di ritorno per le funzioni dichiarazione del result-name nella result-type-declaration-stmt function somma_funct(x,y) result(z) integer :: z sconsigliabile avere side-effects nelle funzioni (vietati in F) modulo_somma.f90 modulo_somma.f90 somma tra due interi realizzata sia con una subroutine sia con una function module somma public :: somma_subrt,somma_funct subroutine somma_subrt(x,y,z) integer, intent(out) :: z z=x+y end subroutine somma_subrt function somma_funct(x,y) result(z) integer :: z z=x+y end function somma_funct end module somma Sottoprogrammi in Fortran, Paolo Bon, FI06, p.15 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.16

3 modulo_somma.f90 side_effects.f90 program modulo_somma use somma integer ::k,l,t read *,k,l call somma_subrt(k,l,t) print *,t print *,somma_funct(k,l) end program modulo_somma module strange public :: fun,sub integer, public :: k function fun() result(r) real :: r k=3*k r=5 end function fun end module strange program side_effects use strange k=3 print *,k+fun()+k k=3 print *,k+k+fun() end program side_effects Sottoprogrammi in Fortran, Paolo Bon, FI06, p.17 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.18 Terminazione dei sottoprogrammi fine logica end subroutine / end function truzione return R1226 return-stmt RETURN termina l esecuzione del sottoprogramma return.f90 module test public :: test_n function test_n(n) result(f) ritorna.false. se n<=0 o somma di tutti i numeri tra 1 e n e dpari,.true. altrimenti logical :: f; integer :: somma,i f=n>0; if (.not. f) then; return; somma=0; do i=1,n; somma=somma+i; f=modulo(somma,2)==0 end function test_n end module test program main use test print *,test_n(6); print *,test_n(4) print *,test_n(7); print *,test_n(-15) print *,test_n(0) end program main Sottoprogrammi in Fortran, Paolo Bon, FI06, p.19 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.20 Variabili locali Horribile Vu modalità di gestione non definita nelle specifiche del linguaggio attributo save forza attivazione/dattivazione dell associazione corrpondente save implicito dichiarazione variabile locale con inizializzazione local_var.f90 local_var.f90 module somma public :: media,devstd function media(n) result(m) real :: m; integer :: somma,i somma=0; do i=1,n; somma=somma+i; m=somma/n end function media function devstd(n) result(sigma) real :: sigma integer :: i; real :: somma=0,m m=media(n); do i=1,n; somma=somma+(i-m)**2; sigma=sqrt(somma/n) end function devstd end module somma Sottoprogrammi in Fortran, Paolo Bon, FI06, p.21 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.22 local_var.f90 Stringhe/array come parametri program local_var use somma print *,media(100) print *,devstd(100) end program local_var stringhe specificazione (len = *) nella dichiarazione del parametro formale array ulteriori parametri il cui valore da la dimensione subroutine calc(data_array,n,m)},m real,dimension(n,m),intent(inout) :: data_array} uso di : per ogni dimensione subroutine calc(data_array) real,dimension(:,:),intent(inout) :: data_array} funzioni intrinseche: lbound(arr,dim) ubound(arr,dim) size(arr,dim) Sottoprogrammi in Fortran, Paolo Bon, FI06, p.23 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.24

4 param_array.f90 param_array.f90 param_array.f90 esempio di passaggio di parametri module array public :: suba subroutine suba(arr_in,arr_out) integer,dimension(:,:),intent(in) :: arr_in integer,dimension(:,:),intent(out) :: arr_out integer :: k,l if ((size(arr_in,1)/=size(arr_out,1)).or. (size(arr_in,2)/=size(arr_out,2))) then print *,"array differenti" do k=lbound(arr_out,1),ubound(arr_out,1) do l=lbound(arr_out,2),ubound(arr_out,2) arr_out=0 return arr_out=3*arr_in end subroutine suba end module array Sottoprogrammi in Fortran, Paolo Bon, FI06, p.25 program param_array use array integer,dimension(2,3) :: arra, arrb integer,dimension(3,3) :: arrc arra=reshape((/1,-1,3,-2,5,4/),(/2,3/)) call suba(arra,arrb) print *,arra print *,arrb call suba(arra,arrc) print *,arrc end program param_array Sottoprogrammi in Fortran, Paolo Bon, FI06, p.26 Array automatici Passaggio di subroutine e/o function array locali le cui dimensioni sono specificate con espressioni in cui possono apparire i parametri definizione del nome, dei parametri formali e dell eventuale valore di ritorno in un blocco INTERFACE integer,dimension(n+1,m) :: dati locali creazione/dtruzione dell associazione non è possibile la loro inizializzazione nella dichiarazione R1202 R1205 or dummy-procedure-interface-block INTERFACE interface-body [ interface-body ]... END INTERFACE interface-body function-stmt [ specification-part ] end-function-stmt subroutine-stmt [ specification-part ] end-subroutine-stmt Sottoprogrammi in Fortran, Paolo Bon, FI06, p.27 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.28 rappresentazione grafica di una funzione module graph public :: draw_func subroutine draw_func(func) interface function func(x) result(y) end function func end interface real, parameter :: d = 0.4 1/4, 4 campioni nell intervallo [x,x+1] integer, parameter :: s = caratteri di ampiezza per l intervallo [y,y+1] integer, parameter :: h = s+2 massimo valore positivo asse x integer, parameter :: lim =80 numero di campionamenti integer :: i, k logical, dimension(-h:h,0:lim-1) :: grid character (len=lim) :: linea Sottoprogrammi in Fortran, Paolo Bon, FI06, p.29 inizializzazione do i=-h,h grid(i,k)=.false. calcolo campioni grid(nint(s*func(d*k)),k)=.true. Sottoprogrammi in Fortran, Paolo Bon, FI06, p.30 vualizzazione do i=h,-h,-1 linea = "" if (grid(i,k)) then linea(k+1:k+1) ="*" else if (i==0) then linea(k+1:k+1) = "-" else linea(k+1:k+1) = " " print *,linea end subroutine draw_func end module graph module functions public :: f_sin,f_sinc function f_sin(x) result(y) y=sin(x) end function f_sin function f_sinc(x) result(y) if (x==0.0) then y=1.0 else y=sin(x)/x end function f_sinc end module functions Sottoprogrammi in Fortran, Paolo Bon, FI06, p.31 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.32

5 program modulo_graph use graph use functions call draw_func(f_sin) print * call draw_func(f_sinc) end program modulo_graph Gestione errori assegnazione di particolari valori ad elementi vibili all esterno del sottoprogramma: variabile non locale parametro di tipo out o inout Sottoprogrammi in Fortran, Paolo Bon, FI06, p.33 Sottoprogrammi in Fortran, Paolo Bon, FI06, p.34 gest_errori.f90 gest_errori.f90 module div integer,public :: err /= 0 segnala un errore public :: div1,div2 subroutine div1(x,y,z) integer, intent(out) :: z err=0 if (y==0) then; err=1 else; z=x/y end subroutine div1 subroutine div2(x,y,z,err) integer, intent(out) :: z,err err=0 if (y==0) then; err=1 else; z=x/y end subroutine div2 end module div Sottoprogrammi in Fortran, Paolo Bon, FI06, p.35 program main use div integer ::k,l,t,errore read *,k,l call div1(k,l,t) if (err/=0) then; print *,"errore" else; print *,t call div2(k,l,t,errore) if (errore/=0) then; print *,"errore" else; print *,t end program main Sottoprogrammi in Fortran, Paolo Bon, FI06, p.36

PRIVATE elementi condivisi solamente tra gli elementi del modulo sottoprogrammi subroutines (procedure) functions (funzioni)

PRIVATE elementi condivisi solamente tra gli elementi del modulo sottoprogrammi subroutines (procedure) functions (funzioni) Sottoprogrammi in Fortran Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Sottoprogrammi in Fortran, Paolo Bison, FI06, 2007-02-06 p.1 Elementi sintattici modulo unità di programma

Dettagli

Introduzione alle Procedure

Introduzione alle Procedure Introduzione alle Procedure Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Organizzazione del programma Schema di un unità di programma Fortran 90 PROGRAM, FUNCTION, SUBROUTINE, MODULE nome

Dettagli

Fortran per Ingegneri

Fortran per Ingegneri Fortran per Ingegneri Lezione 6 A.A. 2013/2014 Ing. Davide Vanzo davide.vanzo@unitn.it Ing. Simone Zen simone.zen@unitn.it ufficio: Laboratorio didattico di modellistica ambientale (2 piano) Tel interno:

Dettagli

Fortran. Funzioni e Subroutine.

Fortran. Funzioni e Subroutine. Fortran Funzioni e Subroutine http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Dal Fortran II del 1958, Fortran consente di

Dettagli

r fattore di ripetizione w ampiezza di campo m numero minimo cifre da visualizzare d numero cifre decimali Print e Read I/O in Fortran sintassi

r fattore di ripetizione w ampiezza di campo m numero minimo cifre da visualizzare d numero cifre decimali Print e Read I/O in Fortran sintassi I/O in Ftran Print e Read Paolo Bison Fondamenti di Infmatica A.A. 2006/07 Università di Padova R911 print-stmt is PRINT fmat [, output-item-list ] R909 read-stmt is READ ( io-control-spec-list ) [ input-item-list

Dettagli

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova I/O in Ftran Paolo Bison Fondamenti di Infmatica A.A. 2006/07 Università di Padova I/O in Ftran, Paolo Bison, FI06, 2007-02-16 p.1 Print e Read sintassi R911 print-stmt is PRINT fmat [, output-item-list

Dettagli

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova Elementi di base del linguaggio Ftran Paolo Bon Fondamenti di Infmatica A.A. 2006/07 Università di Padova Basic Ftran, Paolo Bon, FI06, 2007-01-20 p.1 Linguaggio F sottoinsieme del Ftran 90 solo costrutti

Dettagli

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Introduzione ai sottoprogrammi Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Introduzione al corso, Paolo Bison, FI08, 2008-12-09 p.1 Struttura programma

Dettagli

ERRORI DI PROGRAMMAZIONE INDICE

ERRORI DI PROGRAMMAZIONE INDICE ERRORI DI PROGRAMMAZIONE INDICE 1 ERRORI FREQUENTI 2 1. 4 Parentesi graffe mancanti per i blocchi delle istruzioni di controllo 3 1.1 Punto e virgola mancante 2 1.2 Utilizzo di una variabile non dichiarata

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova Introduzione ai sottoprogrammi Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Introduzione al corso, Paolo Bison, FI06, 2007-02-06 p.1 Struttura programma formato da vari elementi

Dettagli

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo

Dettagli

Linguaggio F. a le produzioni relative al linguaggio F presenti in questi appunti sono tratte da. Basic Fortran, Paolo Bison, FI08, p.

Linguaggio F. a le produzioni relative al linguaggio F presenti in questi appunti sono tratte da. Basic Fortran, Paolo Bison, FI08, p. Elementi di base del linguaggio Ftran Paolo Bon Fondamenti di Infmatica Ingegneria Meccanica Università di Pava A.A. 2008/09 Linguaggio F sottoinsieme del Ftran 90 solo costrutti moderni senza duplicazioni

Dettagli

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Tipi strutturati Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Tipi strutturati, Paolo Bison, FI08, 2008-09-29 p.1 tipi strutturati composizione di altri

Dettagli

Modularizzazione del software

Modularizzazione del software Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica

Dettagli

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Introduction to modern Fortran

Introduction to modern Fortran Sintassi di base Introduction to modern Fortran Maurizio Cremonesi, CINECA Maggio 2016 Documentazione e manualistica Può essere facilmente reperita on-line Language reference Descrizione e sintassi del

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...

Dettagli

Tipi strutturati. tipi strutturati. Paolo Bison

Tipi strutturati. tipi strutturati. Paolo Bison Tipi strutturati tipi strutturati Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Pava composizione di altri tipi caratterizzati numero delle componenti tipo delle componenti (tipo base)

Dettagli

Sviluppare un programma in FORTRAN

Sviluppare un programma in FORTRAN Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,

Dettagli

Introduzione Generalitá sull uso degli array Array allocabili Funzioni intrinseche. Array. Fondamenti di Informatica T (A-K) AA

Introduzione Generalitá sull uso degli array Array allocabili Funzioni intrinseche. Array. Fondamenti di Informatica T (A-K) AA allocabili AA 2013-2014 allocabili Introduzione Un array rappresenta un gruppo di variabili (o costanti) dello stesso tipo, a cui si fa riferimento con un singolo nome. Si definisce anche vettore un array

Dettagli

Problema: stampa degli interi compresi tra n e m

Problema: stampa degli interi compresi tra n e m Costrutti imperativi Problema: stampa degli interi compresi tra n e m http://caml.inria.fr/pub/docs/manual-ocaml/libref/pervasives.html Output functions on standard output val print_string: string -> unit

Dettagli

Esercitazioni di Informatica 3

Esercitazioni di Informatica 3 Esercitazioni di Informatica 3 Part I: Programming Languages Syntax and semantics Laurea in Ingegneria Informatica Politecnico di Milano Polo di Milano Leonardo Esercizio 1: EBNF Utilizzando il linguaggio

Dettagli

Informatica (CIV) Esercitazione su FORTRAN. Andrea Romanoni

Informatica (CIV) Esercitazione su FORTRAN. Andrea Romanoni Informatica (CIV) Esercitazione su FORTRAN Andrea Romanoni andrea.romanoni@polimi.it Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 3 dicembre 2013 Esercizio istogrammi

Dettagli

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Ulteriori elementi di base del linguaggio Fortran Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Basic Fortran (cont.), Paolo Bison, FI08, 2008-09-29 p.1 Real

Dettagli

ELEMENTI DI PROGRAMMAZIONE 2015/16 UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE Prof Andrea Prevete PUNTATORI, TARGET, STRUTTURE DATI DINAMICHE

ELEMENTI DI PROGRAMMAZIONE 2015/16 UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE Prof Andrea Prevete PUNTATORI, TARGET, STRUTTURE DATI DINAMICHE ELEMENTI DI PROGRAMMAZIONE 2015/16 UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE Prof Andrea Prevete PUNTATORI, TARGET, STRUTTURE DATI DINAMICHE puntatori e target Le forme generali delle istruzioni per la

Dettagli

Capitolo 6 - Array. Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.

Capitolo 6 - Array. Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Capitolo 6 - Array Array Array Gruppo di locazioni di memoria consecutive Stesso nome e tipo Per riferirsi a un elemento, specificare Nome dell array Posizione Formato: arrayname[ position number ] Primo

Dettagli

Strutture di controllo e cicli

Strutture di controllo e cicli AA 2012-2013 IF logico L IF logico rappresenta il tipo piú semplice di istruzione condizionale IF logico L IF logico rappresenta il tipo piú semplice di istruzione condizionale Sintassi IF ( e s p r e

Dettagli

PRIMA PROVA SCRITTA: ELENCO DOMANDE

PRIMA PROVA SCRITTA: ELENCO DOMANDE PRIMA PROVA SCRITTA: ELENCO DOMANDE 1) Descrivere la propria esperienza acquisita sullo sviluppo e l uso di modelli numerici applicati alla geofisica Describe your experience acquired in the development

Dettagli

Approfondimenti sulle procedure

Approfondimenti sulle procedure Approfondimenti sulle procedure Introduction to modern Fortran Maurizio Cremonesi, CINECA Maggio 2017 Procedure interne Una procedura è detta interna, se è contenuta in un blocco (o sezione) del programma,

Dettagli

Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza

Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza Laboratorio di Programmazione Laurea in Informatica A.A. 2000/2001 Docente: A. Lanza Il tipo subrange La sezione di dichiarazione delle variabili Problemi ed esercizi su subrange ed enumerati Editazione

Dettagli

Sottoprogrammi in Fortran

Sottoprogrammi in Fortran Sottoprogrammi in Fortran Il Fortran distingue tra funzioni e procedure, usando 2 keyword diverse per i 2 tipi di sottoprogrammi Il concetto di sottoprogramma non c'era nelle primissime versioni del linguaggio,

Dettagli

Real. Ulteriori elementi di base del linguaggio Fortran. Paolo Bison

Real. Ulteriori elementi di base del linguaggio Fortran. Paolo Bison Ulteriori elementi di base del linguaggio Fortran Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Pava Real sottoinsieme finito dei reali R operatori: + - * / ** costanti sequenza di cifre

Dettagli

Vettori e Matrici (array)

Vettori e Matrici (array) Vettori e Matrici (array) Introduction to Fortran 90 Elda Rossi, CINECA Marzo 2015 Array - Introduzione Gli array sono serie di variabili dello stesso tipo, ciascuna accessibile mediante indici numerici.

Dettagli

e L equazione associata a questa disequazione non è risolvibile in maniera analitica, con metodi numerici 2 si trova n 1754, 21

e L equazione associata a questa disequazione non è risolvibile in maniera analitica, con metodi numerici 2 si trova n 1754, 21 Il file distribuzioni.f90 è strutturato in tre parti. Il primo modulo è necessario per richiedere la precisione desiderata per i real di lavoro module precisione integer,parameter::kr=selected_real_kind(18)

Dettagli

Analizzatore lessicale

Analizzatore lessicale Analizzatore lessicale Legge la stringa in input e la trasforma in un flusso di token da sottoporre all analizzatore sintattico. Le frasi di un linguaggio sono stringhe di token (simboli atomici). Richieste

Dettagli

Vettori e Matrici (array)

Vettori e Matrici (array) Vettori e Matrici (array) Introduction to modern Fortran Paolo Ramieri, CINECA Maggio 2016 Array - Introduzione Gli array sono serie di variabili dello stesso tipo, ciascuna accessibile mediante indici

Dettagli

Vettori e Matrici (array)

Vettori e Matrici (array) Vettori e Matrici (array) Introduction to Fortran 90 Massimiliano Guarrasi, CINECA m.guarrasi@cineca.it Ottobre 2014 Array - Introduzione Gli array sono serie di variabili dello stesso tipo, ciascuna accessibile

Dettagli

Introduction to modern Fortran

Introduction to modern Fortran Sinonimi Introduction to modern Fortran Paride Dagna, CINECA Maggio 2016 SINONIMI: SINTASSI DI BASE I sinonimi, o POINTER, non sono altro che nomi cui è associato un tipo ed eventualmente un rango. Ad

Dettagli

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) : PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:

Dettagli

Evoluzione del C 07/04/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 16 IL LINGUAGGIO C

Evoluzione del C 07/04/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 16 IL LINGUAGGIO C LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 16 IL LINGUAGGIO C Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Breve guida al linguaggio FORTRAN 77

Breve guida al linguaggio FORTRAN 77 Breve guida al linguaggio FORTRAN 77 Variabili (valori di default) Iniziali con lettere da I a N Iniziali con lettere da A a H oppure da O a Z variabili intere, 4 byte in precisione singola variabili reali,

Dettagli

Operazioni di input e output in Fortran 90

Operazioni di input e output in Fortran 90 Operazioni di input e output in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: file e formattazione DIS - Dipartimento di informatica

Dettagli

Istruzioni condizionali di diramazione in Fortran 90

Istruzioni condizionali di diramazione in Fortran 90 Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento

Dettagli

PROCEDURE E FUNZIONI

PROCEDURE E FUNZIONI VB.NET PROCEDURE E FUNZIONI La sintassi Non sempre le procedure e le funzioni fornite dal Vb.Net bastano a soddisfare le nostre necessità di programmazione, quindi si possono scrivere nuove procedure e

Dettagli

Appelli degli anni precedenti Domande di teoria

Appelli degli anni precedenti Domande di teoria Appelli degli anni precedenti di teoria 10 settembre 2003 1) Indicare i compiti principali di un sistema operativo 2) Spiegare come e' strutturata e come funziona la memoria di un computer 3)Rappresentare

Dettagli

FORTRAN: LE STRUTTURE DI CONTROLLO

FORTRAN: LE STRUTTURE DI CONTROLLO UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE ELEMENTI DI PROGRAMMAZIONE FORTRAN: LE STRUTTURE DI CONTROLLO Prof. Andrea Prevete - a.a. 2015/16 IF-THEN La più semplice struttura di controllo è lo statement

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Dati: Conclusioni >> Sommario Sommario Ricapitolazione Alcune

Dettagli

Real. Basic Fortran (cont.), Paolo Bison, FI06, p.1. Basic Fortran (cont.), Paolo Bison, FI06, p.3

Real. Basic Fortran (cont.), Paolo Bison, FI06, p.1. Basic Fortran (cont.), Paolo Bison, FI06, p.3 Ulteriori elementi di base del linguaggio Fortran Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Pava Real sottoinsieme finito dei reali R operatori: + - / costanti sequenza di cifre

Dettagli

Il software e la programmazione

Il software e la programmazione Il software e la programmazione Concetti base sul software Elementi di programmazione Cenni sul linguaggio Pascal Che cosa è il software Determina ciò che un computer può fare Include istruzioni memorizzate

Dettagli

Programmazione C. Funzioni e procedure: Activation record. passaggio per indirizzo

Programmazione C. Funzioni e procedure: Activation record. passaggio per indirizzo Programmazione C Funzioni e procedure: passaggio per indirizzo Activation record 2. PASSAGGIO PER INDIRIZZO Dire alla funzione l indirizzo di memoria cui accedere Se occorre passare un array ad una funzione,

Dettagli

INFORMATICA 3 Prof.ssa Sara Comai

INFORMATICA 3 Prof.ssa Sara Comai INFORMATICA 3 Prof.ssa Sara Comai ESERCIZI SESSIONE LIVE 1 Sintassi e semantica operazionale Ing. Paola Spoletini 1. Sintassi Utilizzando il linguaggio descritto dalla seguente EBNF: REGOLE SINTATTICHE:

Dettagli

Classi di memorizzazione

Classi di memorizzazione Classi di memorizzazione 1 Classi di memorizzazione Definiscono le regole di visibilità delle variabili e delle funzioni quando il programma è diviso su più file Stabiliscono dove (in quale parte dello

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Constant Propagation. A More Complex Semilattice A Nondistributive Framework

Constant Propagation. A More Complex Semilattice A Nondistributive Framework Constant Propagation A More Complex Semilattice A Nondistributive Framework 1 The Point Instead of doing constant folding by RD s, we can maintain information about what constant, if any, a variable has

Dettagli

Breve storia del FORTRAN

Breve storia del FORTRAN Fondamenti di Informatica Linguaggi di programmazione ad alto livello: C e Fortran90 1 Breve storia del FORTRAN Il FORTRAN (= FORmula TRANslator) nacque nel 1957. Nel 1980 venne rilasciato il FORTRAN77

Dettagli

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello Straordinario del 05 Marzo 2007 ( )

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello Straordinario del 05 Marzo 2007 ( ) COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Appello Straordinario del 05 Marzo 2007 (09.30 12.30) Esercizio 1 (punti 15) Due file di testo (PAROLE1.TXT e PAROLE2.TXT) contengono un

Dettagli

Tela (Teaching Language)

Tela (Teaching Language) Tela (Teaching Language) Paradigma imperativo Dichiarazioni di variabili, costanti, moduli Programma strutturato in moduli innestati Scope statico Passaggio dei parametri per valore Corpo del modulo =

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Introduction to modern Fortran Paride Dagna, CINECA Maggio 2017 Gestione della memoria Il Fortran 90 permette di gestire dinamicamente la memoria, in almeno quattro modi diversi:

Dettagli

FUNZIONI PARAMETRI DEFINIZIONI DI PROCEDURE PROCEDURE

FUNZIONI PARAMETRI DEFINIZIONI DI PROCEDURE PROCEDURE FUNZIONI PARAMETRI function nome [ (parametri) ] return tipo; Definizione: function nome [ (parametri) ] return tipo is dichiarazioni; comandi; gestori; Il corpo contiene uno o più comandi return expr

Dettagli

Linguaggi e Traduttori Esercitazione di laboratorio N.2 - soluzione

Linguaggi e Traduttori Esercitazione di laboratorio N.2 - soluzione Linguaggi e Traduttori Esercitazione di laboratorio N.2 - soluzione Esercizio Si scriva, usando LEX e YACC, un programma in grado riconoscere la sintassi di un sottoinsieme del linguaggio C. Dato un file

Dettagli

Question 1: introduction to computer programming

Question 1: introduction to computer programming Question 1: introduction to computer programming Question 1: introduction to computer programming What is a compiler? (4 points). Cos è un compilatore? (4 punti). c 2006 Marco Bernardo 1/14 Question 1:

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

Il linguaggio C. Istruzioni, funzioni, dati strutturati

Il linguaggio C. Istruzioni, funzioni, dati strutturati Il linguaggio C Istruzioni, funzioni, dati strutturati Istruzioni Servono a dirigere il flusso di esecuzione di un programma controllano l ordine di esecuzione delle espressioni, quindi dei loro side effects

Dettagli

Lezione 3 Esercitazione

Lezione 3 Esercitazione Lezione 3 Esercitazione prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org Esercizio 1 Si consideri il codice seguente: program esercizio1 (input, output); var a,b,c,d: integer;

Dettagli

FUNZIONI. Dichiarazione: Definizione:

FUNZIONI. Dichiarazione: Definizione: FUNZIONI Dichiarazione: function nome [ (parametri) ] return tipo; Definizione: function nome [ (parametri) ] return tipo is dichiarazioni; begin comandi; exception gestori; end [nome]; Il corpo contiene

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

PREPARAZIONE PER SECONDA PROVA IN ITINERE Esercizio 1 SULLA MODELLAZIONE DEI DATI

PREPARAZIONE PER SECONDA PROVA IN ITINERE Esercizio 1 SULLA MODELLAZIONE DEI DATI PREPARAZIONE PER SECONDA PROVA IN ITINERE Esercizio 1 SULLA MODELLAZIONE DEI DATI Si definisca il tipo opportuno di dato per memorizzare una tabella che contenga, per ciascuna delle principali valute (dollaro

Dettagli

Argomenti di tipo procedura

Argomenti di tipo procedura Argomenti di tipo procedura Anche in Fortran è possibile passare procedure in argomento. Le procedure così passate devono essere esterneo contenute in un modulo. Non è possibile passare procedure interne.

Dettagli

Fortran C Breve introduzione. Edmondo Giovannozzi

Fortran C Breve introduzione. Edmondo Giovannozzi Fortran C Breve introduzione Edmondo Giovannozzi Interfaccia Fortran C Il Fortran 2003 ha definito un modulo intrinsico che fornisce costanti e funzioni per interfacciarsi con il C (ISO_C_BINDING). Nel

Dettagli

Corso di laurea in Informatica (Triennale) A.A. 2002/ 03 Corso di Programmazione (C) Docente: S. Ferilli II esonero (16 dicembre 02)

Corso di laurea in Informatica (Triennale) A.A. 2002/ 03 Corso di Programmazione (C) Docente: S. Ferilli II esonero (16 dicembre 02) Corso di laurea in Informatica (Triennale) A.A. 2002/ 03 Corso di Programmazione (C) Docente: S. Ferilli II esonero (16 dicembre 02) Cognome e Nome: Matricola: Esercizio n.1 Specificare intestazione, nidificazione

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

Approfondimenti sulle

Approfondimenti sulle Approfondimenti sulle procedure Introduction to Fortran 90 Nicola Spallanzani, CINECA Maurizio Cremonesi, CINECA Ottobre 2014 Procedure interne Una procedura è detta interna, se è contenuta in un blocco

Dettagli

Introduzione alla logica matematica. Logica matematica. Paolo Bison

Introduzione alla logica matematica. Logica matematica. Paolo Bison Introduzione alla logica matematica Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Logica matematica formalizzazione dei meccanismi di ragionamento la logica

Dettagli

28/02/2014 Copyright V. Moriggia

28/02/2014 Copyright V. Moriggia Informatica per la Finanza 3 Le variabili in VBA Altri I/O 28/02/2014 Copyright 2005-2007 V. Moriggia 1 28/02/2014 3.2 Le variabili in VBA V. Moriggia 1 28/02/2014 3.3 Dichiarazione di variabili in VBA

Dettagli

Tipi derivati. Fortran 90[/95] Esempio. Tipi strutturati. Istanziazione e accesso. Esempio

Tipi derivati. Fortran 90[/95] Esempio. Tipi strutturati. Istanziazione e accesso. Esempio Fortran 90[/95] M. Bianco Tipi derivati Per tipo derivato si intendono dei tipi di dati costruiti sui tipi base del linguaggio Fortran90 ha cinque tipi base (più i diversi kind): integer, real, character,

Dettagli

Concetti Base Encapsulation ed Ereditarietà Programmare con l Ereditarietà. Java: Ereditarietà. Damiano Macedonio

Concetti Base Encapsulation ed Ereditarietà Programmare con l Ereditarietà. Java: Ereditarietà. Damiano Macedonio Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica Introduzione Ereditarietà in Sintesi È uno dei concetti chiave della programmazione orientata agli

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

Costrutti presenti in C ( non disponibili in FORTRAN ) Cicli di iterazione : IL FOR. Esempio: Conversione Fahrenait / Celsius FORTRAN 77 ANSI C

Costrutti presenti in C ( non disponibili in FORTRAN ) Cicli di iterazione : IL FOR. Esempio: Conversione Fahrenait / Celsius FORTRAN 77 ANSI C Esempio: onversione Fahrenait / elsius FORTRAN 77 Vs ANSI F 77 PROGRAM ONVERT REAL ELS INTEGER FAHR STAMPA DELLA TABELLA DO 10 FAHR=0,00,20 ELS=(FAHR-2)*5./9. WRITE(*,*), FAHR,ELS float cels; int fahr;

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Selezioni scolastiche 2018

Selezioni scolastiche 2018 Selezioni scolastiche 2018 Come funziona lo pseudocodice Lo Staff 4 novembre 2018 Da questa edizione delle fasi scolastiche delle Olimpiadi Italiane di Informatica nella sezione Problemi di Programmazione

Dettagli

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined

Dettagli

Specifica parte IIID. La specifica nei casi reali. Esempio: DFD. La specifica nei casi reali

Specifica parte IIID. La specifica nei casi reali. Esempio: DFD. La specifica nei casi reali La specifica nei casi reali Specifica parte IIID Leggere Sez. 5.7 Ghezzi et al. La complessità dei casi reali impone ulteriori requisiti, oltre all espressività, al rigore e alla formalità E necessario

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 4 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 5 Marzo 2013 Scheme - L interprete

Dettagli

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di

Dettagli

Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza

Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza 1.1. Introduzione al linguaggio Pascal Struttura di programma Elementi lessicali: le parole riservate e gli

Dettagli

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p. Pseudo codice Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Pseudo codice, Paolo Bison, A.A. 2003-04, 2003-09-30 p.1/38 Pseudo codice linguaggio testuale mix di linguaggio naturale

Dettagli

Quadrature. Emma Perracchione. Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD)

Quadrature. Emma Perracchione. Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD) Emma Perracchione Corso di Calcolo Numerico per Ingegneria Meccanica - Matr. PARI (Univ. PD) Gli esercizi sono presi dal libro: S. De Marchi, D. Poggiali, Exercices of numerical calculus with solutions

Dettagli

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Laboratorio di Programmazione A.A. 2000\2001 La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Editazione a cura di: de Pinto E.

Dettagli

Fortran 90/95. G.Santoro

Fortran 90/95. G.Santoro Fortran 90/95 G.Santoro Testi Consigliati: T.M.R.Ellis, I.R.Philips and T.M.Lahey FORTRAN 90 PROGRAMMING Addison-Wesley, 1994 L.P.Meissner FORTRAN 90 PWS Publishing Company, 1995 Intel Fortran Programmer

Dettagli

Capitolo 7 I puntatori in C

Capitolo 7 I puntatori in C 1 Capitolo 7 I puntatori in C 7.2 Dichiarazione e inizializzazione di puntatori Variabili puntatore Contengono gli indirizzi di memoria come valore Le normali variabili contengono uno specifico valore

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 16 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Informatica Università degli Studi di Milano 30 Aprile 2013 Progetto ed analisi di algoritmi: problemi

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Fortran. Introduzione.

Fortran. Introduzione. Fortran Introduzione http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Esistono molti linguaggi di programmazione usati in vari

Dettagli