Linguaggio F. a le produzioni relative al linguaggio F presenti in questi appunti sono tratte da. Basic Fortran, Paolo Bison, FI08, p.
|
|
- Filiberto Bono
- 7 anni fa
- Visualizzazioni
Transcript
1 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 descritta da BNF a a le produzioni relative al linguaggio F presenti in questi appunti sono tratte da BNF Syntax of the F T M Programming Language,Copyright (C) 1996 by Imagine1, Inc. Basic Ftran, Paolo Bon, FI08, p.1 Basic Ftran, Paolo Bon, FI08, p.2 Evoluzione stica 1954 primo sviluppo presso IBM 1958 Ftran II con procedure, funzioni e common 1962 IBM introduce Ftran IV 1978 Ftran 77, standard ANSI ANSI X , che introduce costrutti per la programmazione strutturata 1991 Ftran 90, standard ISO 1539:1991, che introduce ulterii migliamenti (ricsione, strutture dinamiche) 1993 Proposta di standardizzazione HPF (High Perfmance Ftran) per il calcolo parallelo 1995 Ftran 95, standard ISO/IEC :1997 Fmato sgente fmato libero del Ftran 90 insieme dei caratteri alfanumerici (a... z, A... Z, ) ( ). =, $ % : < >? _ " una truzione per linea (max 132 caratteri) commento fino a fine linea Ftran90 & concatenazione di linee ; separazione di truzioni Basic Ftran, Paolo Bon, FI08, p.3 Basic Ftran, Paolo Bon, FI08, p.4
2 Simboli singoli/concatenazioni di caratteri non alfanumerici * ** / == Programma unità di programmazione parole chiave (keywds) simboli costituiti da lettere (if,,...) rervate in F identificati R201 R202 program program-unit [ program-unit ]... program-unit main-program module R304 name letter [ alphanumeric-character ]... R302 alphanumeric-character letter digit undersce R303 undersce _ Constraint:The maximum length of a name 31 characters. Constraint:The last character of a name shall not be _. Constraint:Names may be in mixed upper and lower case, however all references to the names shall use the same case convention. Basic Ftran, Paolo Bon, FI08, p.5 R1101 R1102 R1103 main-program program-stmt [ use-stmt ]... [ intrinsic-stmt ]... [ other-type-declaration-stmt ]... [ execution-part ] end-program-stmt program-stmt PROGRAM program-name end-program-stmt END PROGRAM program-name Basic Ftran, Paolo Bon, FI08, p.6 programma minimo program mini end program mini Sezione esecutiva - 1 truzioni R208 R215 execution-part [ executable-construct ]... executable-construct action-stmt case-construct -construct if-construct where-construct Basic Ftran, Paolo Bon, FI08, p.7 Basic Ftran, Paolo Bon, FI08, p.8
3 Sezione esecutiva - 2 Stop terminazione esplicita del programma R216 action-stmt allocate-stmt assignment-stmt backspace-stmt call-stmt R840 stop-stmt STOP close-stmt cycle-stmt deallocate-stmt endfile-stmt exit-stmt program mini stop end program mini inquire-stmt nullify-stmt open-stmt pointer-assignment-stmt print-stmt read-stmt return-stmt rewind-stmt stop-stmt write-stmt Basic Ftran, Paolo Bon, FI08, p.9 Basic Ftran, Paolo Bon, FI08, p.10 Print vualizzazione del vale di espressioni R911 print-stmt PRINT fmat [, output-item-lt ] R913 fmat char-expr * R915 output-item expr R420 char-literal-constant " [ rep-char ]... " Espressioni - 1 R723 expr [ expr defined-binary-op ] level-5-expr. R713 R714. level-4-expr [ level-3-expr rel-op ] level-3-expr rel-op == /= < <= > >= Basic Ftran, Paolo Bon, FI08, p.11 Basic Ftran, Paolo Bon, FI08, p.12
4 Espressioni - 2 (cont.) R706 R707 R709 R710. R703 R701 add-operand [ add-operand mult-op ] mult-operand level-2-expr [ [ level-2-expr ] add-op ] add-operand mult-op * / add-op + - level-1-expr [ defined-unary-op ] primary primary constant variable. ( expr ) costanti intere Stampa numeri printnum.f90 stampa dei numeri a terminale program printnum print *,3,8,0 end program printnum Basic Ftran, Paolo Bon, FI08, p.13 Basic Ftran, Paolo Bon, FI08, p.14 Stampa espressioni printexp.f90 stampa il vale di una espressione program printexp print *,5 + 3 / 2 end program printexp Variabile individuata attraverso un identificate associata univocamente ad un tipo linguaggio tipizzato esplicita dichiarazione del tipo associato alla variabile Ftran 90 - implicit none Basic Ftran, Paolo Bon, FI08, p.15 Basic Ftran, Paolo Bon, FI08, p.16
5 Tipo elemento del linguaggio che defince: un insieme di vali un insieme di operati applicabili a tali vali notazione per le costanti usato per caratterizzare variabili e espressioni compatibilità/conversioni tra tipi Dichiarazione di tipo R501 type-declaration-stmt type-spec [, attr-spec ]... :: entity-decl-lt R502 type-spec INTEGER [ kind-select ] REAL [ kind-select ] CHARACTER char-select COMPLEX [ kind-select ] LOGICAL [ kind-select ] TYPE ( type-name ) R504 entity-decl object-name [ initialization ] R505 initialization = initialization-expr Basic Ftran, Paolo Bon, FI08, p.17 Basic Ftran, Paolo Bon, FI08, p.18 Integer sottoinsieme finito degli interi I Istruzione di assegnazione operati + - * / ** R735 assignment-stmt variable = expr costanti sequenza di cifre (es ) rappresentazione finita min= max= compatibilità di tipo tipo espressione deve crpondere al tipo associato alla variabile es. integer :: a,b=45,d d+b*89 Basic Ftran, Paolo Bon, FI08, p.19 Basic Ftran, Paolo Bon, FI08, p.20
6 assign assign.f90 esempi di truzioni di assegnazione program assign integer :: a,b,c=30 a=c; b=a*56-c*7; c=a>b e cretta? print *,a,b,c end program assign Lettura lettura R909 read-stmt READ ( io-control-spec-lt ) [ input-item-lt ] READ fmat [, input-item-lt ] input-item-lt lta di variabili separate da, test sui vali letti piu piu.f90 calcola la somma di due numeri program piu integer :: m,n,s read *,m,n s = m+n print *,s end program piu Basic Ftran, Paolo Bon, FI08, p.21 Strutture di controllo struttura sequenziale block struttura di selezione if struttura iterativa Basic Ftran, Paolo Bon, FI08, p.22 Basic Ftran, Paolo Bon, FI08, p.23 Basic Ftran, Paolo Bon, FI08, p.24
7 block if sequenza di truzioni R801 esempio a=b+c print *,a block [ executable-construct ]... selezione/condizionale R802 R803 R804 R805 R806 if-construct if-then-stmt block [ else-if-stmt block ]... [ else-stmt block ] end-if-stmt if-then-stmt IF ( logical-expr ) THEN else-if-stmt ELSEIF ( logical-expr ) THEN else-stmt ELSE end-if-stmt ENDIF crponde al if then else Basic Ftran, Paolo Bon, FI08, p.25 Basic Ftran, Paolo Bon, FI08, p.26 esempi if if (i>5) then print *,i if (k==l) then x = k*3 else x = l*3 if a > 6 then? a=a*a if (i>5) then; print *,i; if (a==0) then k = k+1 else if (b==0) then k = 0 else k = 1 piuabs piuabs.f90 somma al primo numero il vale assoluto del secon program piuabs integer :: m,n,s read *,m,n if (n>0) then s = m+n else s = m-n print *,s end program piuabs Basic Ftran, Paolo Bon, FI08, p.27 Basic Ftran, Paolo Bon, FI08, p.28
8 ciclo iterativo R817 -construct -stmt block end- R818 -stmt [ -name : ] DO [ loop-control ] R821 loop-control int-variable = int-expr, int-expr [, int-expr ] R824 end- ENDDO [ -name ] int-variable non può essere modificata nel block semantica senza loop-control ciclo infinito con loop-control var = exp1, exp2, [exp3] block if c è la expr3 then inc expr3 else inc 1 cnt MAX((exp2 - exp1 + inc)/inc,0) a var exp1 while cnt 0 block cnt cnt -1 var var+ inc a cnt è 0 se exp1 > exp2 e exp3 >0 oppure exp1 < exp2 e exp3 <0 Esempi DO print *,3 i=1,10 print *,i k=20,10,-2 print *,k Basic Ftran, Paolo Bon, FI08, p.29 Basic Ftran, Paolo Bon, FI08, p.31 moltiplicazione multi.f90 calcolo di m x n come addizioni ripetute program multi integer :: m,n,r read *,m,n if (m<0) then; stop; endif if (n<0) then; stop; endif r=0 i=1,n r=r+m print *,r end program multi Basic Ftran, Paolo Bon, FI08, p.30 Basic Ftran, Paolo Bon, FI08, p.32
9 Fattiale n = { n(n 1)(n 2) 2 1 n > 0 1 n = 0 Ciclo che moltiplica tutti i numeri tra n e 1 1 n (n 1) (n 2) 2 Programma fattiale fatt.f90 calcola fattiale di n program fatt integer :: i,n,r read *,n if (n<0) then; stop; endif r = 1 i = 2,n r= r*i print *,r end program fatt Basic Ftran, Paolo Bon, FI08, p.33 Basic Ftran, Paolo Bon, FI08, p.34 Terminazione DO CYCLE R834 EXIT R835 - passa all iterazione successiva - sintassi: cycle-stmt CYCLE [ -name ] - termina il ciclo DO - sintassi: exit-stmt EXIT [ -name ] DO come while while P S if (P ) then exit S P è la negazione di P se P=cnt > 0 P =cnt <= 0 Basic Ftran, Paolo Bon, FI08, p.35 Basic Ftran, Paolo Bon, FI08, p.36
10 somma_n somma_n.f90 somma i primi n numeri positivi program somma_n integer :: i,n,s read *,n if (n<1) then; stop; s = 0 ; i=1 if (i>n) then; exit; s = s + i i = i + 1 print *,s end program somma_n Basic Ftran, Paolo Bon, FI08, p.37 somma_npari variante somma_npari somma_npari.f90 somma i primi n numeri pari program somma_npari integer :: i,n,s read *,n if (n<1) then; stop; s = 0; i=1 if (i>2*n) then; exit; if ((i-(i/2)*2)==0) then s = s + i i = i+1 print *,s end program somma_npari Massimo Comun Dive - 1 Basic Ftran, Paolo Bon, FI08, p.38 somma_npari_var.f90 somma i primi n numeri pari variante con tr. cycle program somma_npari integer :: i,n,s read *,n if (n<1) then; stop; s = 0 i = 1,2*n if ((i-(i/2)*2)=0) then; cycle; s = s + i print *,s end program somma_npari Dati due numeri m,n > 0 trovare MCD meto 1 Sia m n, con ciclo da 2 a n si verifica quali sono i numeri che divino esattamente sia m che n. Il MCD è il massimo di tali numeri. Nota: un numero è divibile per un altro se il resto della divione è zero. Basic Ftran, Paolo Bon, FI08, p.39 Basic Ftran, Paolo Bon, FI08, p.40
11 programma MCD 1 calcola massimo comun dive algitmo 1 - max dei divi comuni tra 0 e n program mcd1 integer :: i,m,n,mcd,tmp read *,n,m if (m<1) then; stop; endif if (n<1) then; stop; endif if (m < n) then tmp = m; m = n; n = tmp mcd = 1; i = 1 if (i>n) then; exit ; if ((m-(m/i)*i)==0) then if ((n-(n/i)*i)==0) then if (i > mcd) then mcd = i ; ; i= i+1 print *,mcd end program mcd1 Basic Ftran, Paolo Bon, FI08, p.41 programma MCD 2 mcd2.f90 calcola massimo comun dive algitmo 2 - meto di Euclide program mcd2 integer :: r,m,n,tmp read *,n,m if (m<1) then; stop; endif if (n<1) then; stop; endif if (m < n) then tmp = m; m = n; n = tmp r = m-(m/n)*n if (r == 0) then exit m = n; n = r; r = m-(m/n)*n print *,n end program mcd2 Massimo Comun Dive - 2 meto 2 - Meto di Euclide Dato m n, qualunque numero che divide sia m che n divide anche il resto della divione m/n m = qn + r m - qn = r 0 q m k - qq n k = r k(q m - qq n ) = r Si calcola il resto r di m/n. Se tale resto è zero n è il MCD, altrimenti n e r diventano m e n e si riapplica il passo precedente. Massimo Comun Dive - 3 Basic Ftran, Paolo Bon, FI08, p.42 meto 3 - Meto di Euclide (senza divione) Se m=n il MCD è m, altrimenti se m >n m diventa m-n altrimenti è n che diventa n - m, e si ricontrolla l eventuale uguaglianza di m con n Basic Ftran, Paolo Bon, FI08, p.43 Basic Ftran, Paolo Bon, FI08, p.44
12 programma MCD 3 numero primo mcd3.f90 calcola massimo comun dive algitmo 3 - meto di Euclide (senza divione) program mcd3 integer :: m,n read *,n,m if (m<1) then; stop; endif if (n<1) then; stop; endif if (m == n) then; exit; if (m > n) then m = m - n else n = n - m print *,m end program mcd3 primo.f90 dato n stampa T se e primo, F altrimenti program primo integer :: n,r,div read *,n if (n<1) then; stop; endif div=n / 2 r = n-(n/div)*div if (r == 0) then ; exit; div=div-1 r = n-(n/div)*div print *,div==1 end program primo Basic Ftran, Paolo Bon, FI08, p.45 Basic Ftran, Paolo Bon, FI08, p.46
Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09
Elementi di base del linguaggio Ftran Paolo Bison Fondamenti di Infmatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Basic Ftran, Paolo Bison, FI08, 2008-09-30 p.1 Linguaggio F sottoinsieme
DettagliArray 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
DettagliPaolo 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+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice
Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica
DettagliCostrutti condizionali e iterativi
Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni
DettagliIstruzioni per il controllo di ciclo - ciclo a condizione generica
Istruzioni per il controllo di ciclo - ciclo a condizione generica Permette di ripetere l esecuzione di un blocco di istruzioni finchè non viene verificata una condizione logica. Sintassi istruzione_1...
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
Dettagli= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
DettagliIstruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
DettagliOperazioni 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
DettagliVariabili strutturate
Esempio Ordinamento crescente di numeri: 25 7 I passo: 25 7 25 7 7 25 7 25 Variabili strutturate in due scambi 25 è stato portato al suo posto Gli array II passo: 7 25 7 25 7 25 in uno scambio 7 è stato
DettagliInformatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 1) Dato un diagramma di flusso quali sono le condizioni necessarie perché si possa costruire un programma corrispondente?
DettagliStrutture di controllo in C++
Strutture di controllo in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Il controllo: selezione Spesso la sequenza delle istruzioni non e prevedibile a priori ma dipende strettamente dalle configurazioni
DettagliI file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Introduzione alla programmazione in C++ 1 Un introduzione Che cosa è il C++? La programmazione procedurale La programmazione orientata agli oggetti La programmazione
DettagliCorso di Fondamenti di Informatica Classi di istruzioni 2
Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da
DettagliErrori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente
DettagliAlmerico Murli - Le variabili strutturate (array) VARIABILI STRUTTURATE (ARRAY)
VARIABILI STRUTTURATE (ARRAY) 1 successione (di numeri reali): i ℵ a R i vettore (di numeri reali): i I a i R con I ℵ sottoinsieme finito ogni componente del vettore e univocamente determinata dall indice
DettagliIstruzioni iterative. Istruzioni iterative
Istruzioni iterative Esempio: Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d",
DettagliVBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliProf. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:
LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto
DettagliDOCUMENTAZIONE A SUPPORTO DELLA PREPARAZIONE PER LA PROVA SCRITTA
SECONDA UNIVERSITA DEGLI STUDI DI NAPOLI CORSI DI LAUREA IN INGEGNERIA AEROSPAZIALE E MECCANICA ELEMENTI DI PROGRAMMAZIONE a.a. 2009/10 Prof Andrea Prevete andrea@prevete.it DOCUMENTAZIONE A SUPPORTO DELLA
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliManipolazioni elementari di flussi di testo strutturati
Manipolazioni elementari di flussi di testo strutturati L output di molti comandi è costituito da flussi di testo strutturati: ogni riga rappresenta una parte del risultato ed è divisa in campi (fields)
DettagliLe Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
DettagliLa sintassi del C APPENDICE H
APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliAnalizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.
Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,
Dettagli2. Algoritmi e Programmi
12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo
DettagliCalcolo della moltiplicazione. Dagli Algoritmi ai Programmi. Esecuzione passo passo dell algoritmo
Dagli Algoritmi ai Programmi ondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Calcolo della moltiplicazione Calcolo della moltiplicazione
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliIterazione determinata e indeterminata
Iterazione determinata e indeterminata Le istruzioni iterative permettono di ripetere determinate azioni più volte: un numero di volte fissato = iterazione determinata Esempio: fai un giro del parco di
DettagliLezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo
DettagliIntroduzione a Visual Basic Lezione 2 Cicli e anomalie
a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliProgrammare in C. Esempio: Algoritmo del Risveglio
MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C (strutture di controllo) Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliAPPUNTI DEL CORSO DI LABORATORIO DI CALCOLO AVANZATO
APPUNTI DEL CORSO DI LABORATORIO DI CALCOLO AVANZATO Concetti fondamentali di FORTRAN 90 MARCO LIMONGI Istituto Nazionale di Astrofisica Osservatorio Astronomico di Roma 1. CONCETTI FONDAMENTALI DI FORTRAN
DettagliCapitolo 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
DettagliAlfabeto ed elementi lessicali del linguaggio C
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2015-2016 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n
DettagliPASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.
PASCAL standard Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. Nb: primi linguaggi furono: Fortran, Algol, Ada, Cobol (cfr testo)
Dettagli5. Codifica degli Algoritmi in C
40 5. Codifica degli Algoritmi in C La traduzione di algoritmi in linguaggi di programmazione rende posbile l esecuzione di programmi da parte del calcolatore. In questo corso codificheremo gli algoritmi
DettagliCorso di Fondamenti di Informatica. La ricorsione
Corso di Fondamenti di Informatica La ricorsione La ricorsione Si dice che un oggetto (una struttura dati, una funzione matematica, un concetto ) è ricorsivo se è possibile darne una definizione in termini
Dettagliprint((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript
Funzioni Funzioni predefinite della libreria matematica Funzioni disponibili: Math.sqrt(x) radice quadrata Math.log(x) logaritmo naturale in base e di x Math.abs(x) valore assoluto di x Math.ceil(x) arrotonda
DettagliFortran per Ingegneri
Fortran per Ingegneri Lezione 4 A.A. 2014/2015 Marco Redolfi marco.redolfi@unitn.it Simone Zen simone.zen@unitn.it Formati e Formattazione Finora abbiamo letto valori da tastiera e scritto sullo schermo
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliDalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliLINGUAGGI DI PROGRAMMAZIONE!
LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
DettagliIntroduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 10
Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 10 Anno accademico 2006-07 Titolare corso: Prof. Costanza Torricelli Docente: Dott.ssa Marianna Brunetti La
DettagliStored 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
DettagliGli ARRAY in FORTRAN 90
ELEMENTI DI PROGRAMMAZIONE Gli ARRAY in FORTRAN 90 Un ARRAY è un AGGREGATO di più DATI dello stesso TIPO (interi, reali, etc), ognuno univocamente individuato dal valore di uno oppure due.. e fino a sette
DettagliExcel & VBA. Excel e Visual Basic for Application
Excel & VBA Excel e Visual Basic for Application Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria
DettagliAlgoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.
Algoritmi Un tema centrale dell informatica è lo studio degli algoritmi. Ora nostro obiettivo sarà quello di esplorare a sufficienza questa materia fondamentale per poter capire e apprezzare appieno l
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
Dettagli1 Il Paradigma Imperativo
1 Il Paradigma Imperativo 1.1 Imp : un semplice linguaggio imperativo Abbiamo visto in Fun un meccanismo eager per la valutazione dei parametri di una funzione ed un meccanismo lazy. Una situazione analoga
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)
DettagliProgrammazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
DettagliL intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero.
ANALISI SINTATTICA Data un linguaggio scrivere una grammatica che lo generi ESERCIZIO 1 Definire una grammatica per il linguaggio L = {ww w appartiene a (a, b)*} ESERCIZIO 2 Dato l alfabeto T=[0,1,2,3,4,5,6,7,8,9,/}
DettagliAlgoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative
Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli Formule iterative L algoritmo che, comunemente, viene presentato a scuola per l estrazione della radice quadrata è alquanto laborioso e di scarsa
Dettaglilinguaggio di programmazione e programma
I/O bus CPU memoria elementi di Sistemi Informatici il segnale digitale: conversione analogico-numerica esempi di supporti di memorizzazione dell informazione computer: definizione e struttura (modello
DettagliL'algoritmo di Euclide
L'algoritmo di Euclide The Euclidean algorithm for finding the greatest common divisor of two integers La divisione di un numero intero a per un altro intero b può essere prolungata finché il resto è più
DettagliLinguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche
3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni
DettagliUn esempio di if annidati
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di
DettagliSTRUTTURE (O COSTRUTTI) DI CONTROLLO
Le strutture di controllo Le strutture di controllo STRUTTURE (O COSTRUTTI) DI CONTROLLO determinano l ordine con cui devono essere eseguite le istruzioni sono indipendenti dalla natura delle istruzioni
DettagliAlgebra Booleana ed Espressioni Booleane
Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale
DettagliPROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
DettagliCorso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche.
Corso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche. APPUNTI SUL LINGUAGGIO C I computer elaborano i dati sotto il controllo
DettagliCorso di Fondamenti di Informatica prova del 04/07/2008
UNIVERSITÀ DEGLI STUDI DI PERUGIA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA MECCANICA. Corso di Fondamenti di Informatica prova del 04/07/2008 Esercizio 1 (17 punti) Il file di nome inp.dat contiene
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
DettagliLe Funzioni e la Ricorsione
Aula V Dip. di Matematica G. Castelnuovo Univ. di Roma La Sapienza Le Funzioni e la Ricorsione Igor Melatti Slides disponibili (assieme ad altro materiale) in: http://www.dsi.uniroma1.it/ melatti/programmazione1.2007.2008.html
DettagliSTRUTTURE DI CONTROLLO
STRUTTURE DI CONTROLLO - Strutture di controllo - 1 Algoritmo per il cambio della ruota Inizio chiama il meccanico V ruota di scorta bucata F solleva l auto svita un bullone tutti svitati V togli la ruota
DettagliLA LOGICA DI HOARE. Corso di Logica per la Programmazione A.A. 2010/11 Andrea Corradini, Paolo Mancarella
LA LOGICA DI HOARE Corso di Logica per la Programmazione A.A. 2010/11 Andrea Corradini, Paolo Mancarella INTRODUZIONE Dall inizio del corso ad ora abbiamo introdotto, un po alla volta, un linguaggio logico
DettagliProva di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
DettagliStored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma
Stored Procedures Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliLinguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi
DettagliProgrammazione. 1 Introduzione. Tutto per la gloria di Dio.
Programmazione Tutto per la gloria di Dio. 1 Introduzione Un programma è un piano di azione che deve essere eseguito da un esecutore, di solito uno strumento automatico, la maggior parte delle volte un
DettagliIstruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliLe basi del linguaggio Java
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del
DettagliUniversità degli studi Roma Tre. linguaggio Java. A cura di A. Orlandini. Linguaggi: Sintassi e Semantica - Il. Il linguaggio Java
Università degli studi Roma Tre Linguaggi: Sintassi e Semantica Il A cura di A. Orlandini 1 Obiettivi Distinguere la sintassi dalla semantica di un linguaggio Conoscere le convenzioni del meta-linguaggio
DettagliELEMENTI 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
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
Dettagli2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
DettagliLezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly
Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliCorso di Fondamenti di Informatica prova del 11/12/2006
UNIVERSITÀ DEGLI STUDI DI PERUGIA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA MECCANICA. Corso di Fondamenti di Informatica prova del 11/12/2006 Esercizio 1 (17 punti) Il file di nome inp.dat contiene
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliLaboratorio di Matematica e Informatica 1
Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi
DettagliI Tipi di Dato Astratto
I Tipi di Dato Astratto Sommario Cosa sono le Strutture Dati Astratte? Le strutture dati Le operazioni Come scegliere fra varie implementazioni? Quale è la questione? Come organizzare (strutturare) i dati
DettagliLa Macchina RAM Shepherdson e Sturgis (1963)
La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni
DettagliIntroduzione al linguaggio Fortran 90
Introduzione al linguaggio Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica
DettagliEsercizi Svolti di Programmazione
Esercizi Svolti di Programmazione Walter Cazzola DICo - Dipartimento di Informatica e Comunicazione Università degli Studi di Milano cazzola@dico.unimi.it Introduzione Di seguito sono riportati alcuni
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
Dettagli