Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09
|
|
- Edoardo Gentili
- 7 anni fa
- Visualizzazioni
Transcript
1 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, p.1 Linguaggio F sottoinsieme del Ftran 90 solo costrutti moderni senza duplicazioni sintassi 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 Bison, FI08, p.2
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 Basic Ftran, Paolo Bison, FI08, p.3 Fmato sgente fmato libero del Ftran 90 insieme dei caratteri alfanumerici (a... z, A... Z, ) ( ). =, $ % : < >? _ " una istruzione per linea (max 132 caratteri) commento fino a fine linea Ftran90 & concatenazione di linee ; separazione di istruzioni Basic Ftran, Paolo Bison, FI08, p.4
3 Simboli singoli/concatenazioni di caratteri non alfanumerici * ** / == parole chiave (keywds) simboli costituiti da lettere (if, do,...) riservate in F identificati R304 name is letter [ alphanumeric-character ]... R302 alphanumeric-character is letter digit undersce R303 undersce is _ Constraint:The maximum length of a name is 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 Bison, FI08, p.5 Programma unità di programmazione sintassi R201 is R202 is R1101 is R1102 is R1103 is program program-unit [ program-unit ]... program-unit main-program module 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 Bison, FI08, p.6
4 programma minimo program mini end program mini Basic Ftran, Paolo Bison, FI08, p.7 Sezione esecutiva - 1 istruzioni sintassi R208 R215 execution-part is [ executable-construct ]... executable-construct is action-stmt case-construct do-construct if-construct where-construct Basic Ftran, Paolo Bison, FI08, p.8
5 Sezione esecutiva - 2 sintassi R216 is action-stmt allocate-stmt assignment-stmt backspace-stmt call-stmt close-stmt cycle-stmt deallocate-stmt endfile-stmt exit-stmt inquire-stmt nullify-stmt open-stmt pointer-assignment-stmt print-stmt read-stmt return-stmt rewind-stmt stop-stmt write-stmt Basic Ftran, Paolo Bison, FI08, p.9 Stop terminazione esplicita del programma sintassi R840 stop-stmt is STOP program mini stop end program mini Basic Ftran, Paolo Bison, FI08, p.10
6 Print visualizzazione del vale di espressioni sintassi R911 print-stmt is PRINT fmat [, output-item-list ] R913 fmat is char-expr * R915 output-item is expr R420 char-literal-constant is " [ rep-char ]... " Basic Ftran, Paolo Bison, FI08, p.11 Espressioni - 1 sintassi R723 expr is [ expr defined-binary-op ] level-5-expr. R713 R714 level-4-expr is [ level-3-expr rel-op ] level-3-expr rel-op is == /= < <= > >=. Basic Ftran, Paolo Bison, FI08, p.12
7 Espressioni - 2 sintassi (cont.) R706 R707 R709 R710. R703 R701 add-operand is [ add-operand mult-op ] mult-operand level-2-expr is [ [ level-2-expr ] add-op ] add-operand mult-op is * / add-op is + - level-1-expr is [ defined-unary-op ] primary primary is constant variable. ( expr ) costanti intere Basic Ftran, Paolo Bison, FI08, p.13 Stampa numeri printnum.f90 stampa dei numeri a terminale program printnum print *,3,8,0 end program printnum Basic Ftran, Paolo Bison, FI08, p.14
8 Stampa espressioni printexp.f90 stampa il vale di una espressione program printexp print *,5 + 3 / 2 end program printexp Basic Ftran, Paolo Bison, FI08, p.15 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 Bison, FI08, p.16
9 Tipo elemento del linguaggio che definisce: 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 Basic Ftran, Paolo Bison, FI08, p.17 Dichiarazione di tipo sintassi R501 type-declaration-stmt is type-spec [, attr-spec ]... :: entity-decl-list R502 type-spec is INTEGER [ kind-select ] REAL [ kind-select ] CHARACTER char-select COMPLEX [ kind-select ] LOGICAL [ kind-select ] TYPE ( type-name ) R504 entity-decl is object-name [ initialization ] R505 initialization is = initialization-expr Basic Ftran, Paolo Bison, FI08, p.18
10 Integer sottoinsieme finito degli interi I operati + - * / ** costanti sequenza di cifre (es ) rappresentazione finita min= max= es. integer :: a,b=45,d d+b*89 Basic Ftran, Paolo Bison, FI08, p.19 Istruzione di assegnazione sintassi R735 assignment-stmt is variable = expr compatibilità di tipo tipo espressione deve crispondere al tipo associato alla variabile Basic Ftran, Paolo Bison, FI08, p.20
11 assign assign.f90 esempi di istruzioni 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 Basic Ftran, Paolo Bison, FI08, p.21 Lettura sintassi lettura R909 read-stmt is READ ( io-control-spec-list ) [ input-item-list ] READ fmat [, input-item-list ] input-item-list lista di variabili separate da, test sui vali letti Basic Ftran, Paolo Bison, FI08, p.22
12 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 Bison, FI08, p.23 Strutture di controllo struttura sequenziale block struttura di selezione if struttura iterativa do Basic Ftran, Paolo Bison, FI08, p.24
13 block sequenza di istruzioni sintassi R801 block is [ executable-construct ]... esempio a=b+c print *,a Basic Ftran, Paolo Bison, FI08, p.25 if selezione/condizionale sintassi R802 R803 R804 R805 R806 is is is is is 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 crisponde al if then else Basic Ftran, Paolo Bison, FI08, p.26
14 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 Basic Ftran, Paolo Bison, FI08, p.27 piuabs piuabs.f90 somma al primo numero il vale assoluto del secondo 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 Bison, FI08, p.28
15 do ciclo iterativo sintassi R817 do-construct is do-stmt block end-do R818 do-stmt is [ do-name : ] DO [ loop-control ] R821 loop-control is int-variable = int-expr, int-expr [, int-expr ] R824 end-do is ENDDO [ do-name ] int-variable non può essere modificata nel block Basic Ftran, Paolo Bison, FI08, p.29 semantica do senza loop-control ciclo infinito con loop-control do 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 Basic Ftran, Paolo Bison, FI08, p.30
16 Esempi DO do print *,3 do i=1,10 print *,i do k=20,10,-2 print *,k Basic Ftran, Paolo Bison, FI08, p.31 moltiplicazione multi.f90 calcolo di m x n come addizioni ripetute program multi integer :: m,n,ris read *,m,n if (m<0) then; stop; endif if (n<0) then; stop; endif ris=0 do i=1,n ris=ris+m print *,ris end program multi Basic Ftran, Paolo Bison, FI08, p.32
17 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 Basic Ftran, Paolo Bison, FI08, p.33 Programma fattiale fatt.f90 calcola fattiale di n program fatt integer :: i,n,r read *,n if (n<0) then; stop; endif r = 1 do i = 2,n r= r*i print *,r end program fatt Basic Ftran, Paolo Bison, FI08, p.34
18 Terminazione DO CYCLE R834 EXIT R835 - passa all iterazione successiva - sintassi: cycle-stmt is CYCLE [ do-name ] - termina il ciclo DO - sintassi: exit-stmt is EXIT [ do-name ] Basic Ftran, Paolo Bison, FI08, p.35 DO come while while P do S do if (P ) then exit S P è la negazione di P se P=cnt > 0 P =cnt <= 0 Basic Ftran, Paolo Bison, FI08, p.36
19 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 do if (i>n) then; exit; s = s + i i = i + 1 print *,s end program somma_n Basic Ftran, Paolo Bison, FI08, p.37 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 do 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 Basic Ftran, Paolo Bison, FI08, p.38
20 somma_npari variante somma_npari_var.f90 somma i primi n numeri pari variante con istr. cycle program somma_npari integer :: i,n,s read *,n if (n<1) then; stop; s = 0 do i = 1,2*n if ((i-(i/2)*2)=0) then; cycle; s = s + i print *,s end program somma_npari Basic Ftran, Paolo Bison, FI08, p.39 Massimo Comun Divise - 1 Dati due numeri m,n > 0 trovare MCD metodo 1 Sia m n, con ciclo da 2 a n si verifica quali sono i numeri che dividono esattamente sia m che n. Il MCD è il massimo di tali numeri. Nota: un numero è divisibile per un altro se il resto della divisione è zero. Basic Ftran, Paolo Bison, FI08, p.40
21 programma MCD 1 calcola massimo comun divise algitmo 1 - max dei divisi 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 do 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 Bison, FI08, p.41 Massimo Comun Divise - 2 metodo 2 - Metodo di Euclide Dato m n, qualunque numero che divide sia m che n divide anche il resto della divisione 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. Basic Ftran, Paolo Bison, FI08, p.42
22 programma MCD 2 mcd2.f90 calcola massimo comun divise algitmo 2 - metodo 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 do if (r == 0) then exit m = n; n = r; r = m-(m/n)*n print *,n end program mcd2 Basic Ftran, Paolo Bison, FI08, p.43 Massimo Comun Divise - 3 metodo 3 - Metodo di Euclide (senza divisione) 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 Bison, FI08, p.44
23 programma MCD 3 mcd3.f90 calcola massimo comun divise algitmo 3 - metodo di Euclide (senza divisione) program mcd3 integer :: m,n read *,n,m if (m<1) then; stop; endif if (n<1) then; stop; endif do if (m == n) then; exit; if (m > n) then m = m - n else n = n - m print *,m end program mcd3 Basic Ftran, Paolo Bison, FI08, p.45 numero primo 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 do if (r == 0) then ; exit; div=div-1 r = n-(n/div)*div print *,div==1 end program primo Basic Ftran, Paolo Bison, FI08, p.46
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
Dettaglir 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+ / 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
DettagliSviluppare 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,
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
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
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
DettagliBreve 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...
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...
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
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
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Reti di Calcolatori Architettura del calcolatore Elementi di Programmazione Esempi di algoritmi e programmi Conversione
DettagliTipi 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)
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
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
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
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case
DettagliEsercitazioni 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
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliA lezione sono stati presentati i seguenti passi per risolvere un problema:
Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi
DettagliIntroduzione alla programmazione Esercizi risolti
Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
DettagliModularizzazione 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
DettagliLe strutture di controllo in C++
Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
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
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
DettagliGrammatiche Parse trees Lezione del 17/10/2012
Fondamenti di Programmazione A.A. 2012-2013 Grammatiche Parse trees Lezione del 17/10/2012 AUTILI MARCO http://www.di.univaq.it/marco.autili/ Riassunto lezione precedente Sintassi vs Semantica Stringhe,
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
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,/}
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
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
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
DettagliVBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
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
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
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
DettagliLe etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j
L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):
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
DettagliParte Seconda. Prova di selezione culturale
Parte Seconda Prova di selezione culturale TEORIA DEGLI INSIEMI MATEMATICA ARITMETICA Insieme = gruppo di elementi di cui si può stabilire inequivocabilmente almeno una caratteristica in comune. Esempi:
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 (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
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
DettagliAritmetica in Floating Point
Aritmetica in Floating Point Esempio di non associatività Alcune proprietà delle operazioni in aritmetica esatta possono non valere in aritmetica finita in virgola mobile (floating point). Ad esempio:
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
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
DettagliFormalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano
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
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",
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
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
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?
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
DettagliIndice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2
Le espressioni in C++ (CAP 4) Indice Le espressioni in C++ : precedenze e associatività degli operatori Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 gli operatori
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
DettagliUniversità di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando
Università di Roma Tor Vergata L6-1 iterazione: struttura di controllo per ripetere più volte uno stesso comando comandi iterativi C++: while, do-while, for while: sintassi while (espressione) comando;
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
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
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
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
DettagliIstruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni
Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da
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
DettagliUn esempio di compilatore realizzato con flex e bison
POLITECNICO DI MILANO Dipartimento di Elettronica e Informazione Corso di Linguaggi Formali e Compilatori - Esercitazioni Un esempio di compilatore realizzato con flex e bison Progetto di Vincenzo Martena
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
DettagliLinguaggi. Claudio Sacerdoti Coen 29,?/10/ : La struttura dei numeri naturali. Universitá di Bologna
Linguaggi 5: La struttura dei numeri naturali Universitá di Bologna 29,?/10/2014 Outline La struttura dei numeri naturali 1 La struttura dei numeri naturali I numeri naturali La
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
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)
DettagliDall algoritmo al programma
Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione
DettagliProgetto e analisi di algoritmi
Progetto e analisi di algoritmi Roberto Cordone DTI - Università degli Studi di Milano Polo Didattico e di Ricerca di Crema Tel. 0373 / 898089 E-mail: cordone@dti.unimi.it Ricevimento: su appuntamento
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
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
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
Dettagliunità didattica 3 Le strutture condizionali e le strutture iterative
unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell
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
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
DettagliPROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI
PROBLEMI E ALGORITMI prof.ssa VESPIA CATERINA LICEO CLASSICO AGLI ANGELI C O N T E N U T I Problemi. Concetto di algoritmo. Caratteristiche di un algoritmo. Descrizione di algoritmi - Diagrammi di flusso.
DettagliMATEMATICA DI BASE 1
MATEMATICA DI BASE 1 Francesco Oliveri Dipartimento di Matematica, Università di Messina 30 Agosto 2010 MATEMATICA DI BASE MODULO 1 Insiemi Logica Numeri Insiemi Intuitivamente, con il termine insieme
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
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
DettagliVARIABILI E COSTANTI
VARIABILI E COSTANTI - Variabili e costanti - 1 PROBLEMA: Calcolo dell area di un triangolo di base b e altezza h. area = b ------------ h 2 ESEMPIO: b = 2,4 h = 1,5 area = 2,4 -------------------- 1,5
DettagliPr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè
Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n 1 Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n P1. trovare il maggiore fra i primi 2 numeri; P2. trovare il maggiore fra il terzo
DettagliISTRUZIONI ISTRUZIONI
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di
DettagliAmpliamento di N: le frazioni
L insieme dei numeri Razionali ITIS Feltrinelli anno scolastico 2007-2008 R. Folgieri 2007-2008 1 Ampliamento di N: le frazioni Nell insieme N non possiamo fare operazioni quali 13:5 perché il risultato
DettagliAppunti per una lezione. I numeri periodici, introduzione alla teoria dei numeri
Appunti per una lezione I numeri periodici, introduzione alla teoria dei numeri di Raffaele MAURO Istituto Tecnico Commerciale A.Bianchini Terracina Piet Mondrian, Broadway Boogie Woogie, 1943 Presentazione
DettagliI.4 Rappresentazione dell informazione
I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione
DettagliI.I.S. Federico II di Svevia - Melfi
I.I.S. Federico II di Svevia - Melfi Liceo Scientifico - Opzione Scienze Applicate Progettazione didattica a.s. 2016/2017 INFORMATICA Docente: Michele FICARAZZI Classe 2AA PREMESSA SULLA CLASSE: La classe
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
DettagliCapitolo 3 L elaborazione e la strutturazione dell informazione
Capitolo 3 L elaborazione e la strutturazione dell informazione Problemi e algoritmi Definire il problema Eliminare le ambiguità nella formulazione del problema Individuare il risultato che si vuole ottenere,
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
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
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)
DettagliRichiami di aritmetica (1)
Richiami di aritmetica (1) Operazioni fondamentali e loro proprietà Elevamento a potenza e proprietà potenze Espressioni aritmetiche Scomposizione: M.C.D. e m.c.m Materia: Matematica Autore: Mario De Leo
DettagliLez ione 3. I blocchi di istruzione
Lez ione 3 Istruz ioni di controllo Istruz ioni Iterative I blocchi di istruzione µ Si e già detto come le is truz i oni elementari siano cos trutti identificati dal fatto di essere scritti su di una uni
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
DettagliOttimizzazione dei Sistemi Complessi
1 Giovedì 2 Marzo 2017 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Pseudo-code del metodo Fermi-Metropolis Input: x 0, 0, min, maxit k 0, x x 0, 0 while k maxit and min do k k + 1, x x
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
DettagliPREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE
Liceo Scientifico Gullace PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE Aritmetica 014-15 1 Lezione 1 DIVISIBILITÀ, PRIMI E FATTORIZZAZIONE Definizioni DIVISIBILITÀ': dati due interi a e b, diciamo
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
Dettagli