Gli ARRAY in FORTRAN 90
|
|
- Lorenzo Battaglia
- 6 anni fa
- Visualizzazioni
Transcript
1 ELEMENTI DI PROGRAMMAZIONE Gli ARRAY in FORTRAN 90 Andrea Prevete, UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE, a.a. 2012/13
2 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 indici. Ogni indice caratterizza una DIMENSIONE dell array ed il numero di indici definisce il RANGO dell array. Un array monodimensionale, che chiameremo VETTORE, è assimilabile concettualmente ad un elenco ordinato di valori di un certo tipo per esempio: (1, -5, 7, 0, 8) Come ogni altra variabile o costante con nome, un array può avere un NOME che lo individua globalmente come aggregato. Poi ci si potrà riferire ad un suo elemento utilizzando i succitati INDICI. Supponiamo, per esempio, di aver assegnato al vettore di cui sopra il nome Cinquina, allora Cinquina(2) sarà il suo secondo elemento cioè l intero -5. In realtà FORTRAN 90 consente un estrema flessibilità nell organizzazione del DOMINIO o RANGE di un indice. VETTORE: ( 1, -5, 7, 0, 8) RANGE: [-2, -1, 0, 1, 2] Definito così il RANGE, per riferirci all elemento -5 del vettore dovremo scrivere Cinquina(-1). Dall esempio è sufficientemente evidente che un RANGE è dato definendone gli estremi, nel nostro caso -2 e 2, così che l ESTENSIONE o AMPIEZZA del vettore risulta come LIMSUP-LIMINF+1. Due array sono detti CONFORMI se hanno lo stesso rango e stessa ampiezza per ogni dimensione.
3 Gli array bidimensionali, che chiameremo MATRICI, sono concettualmente assimilabili a tabelle ordinate secondo indici di riga e colonna. Supponendo - ad esempio - data una matrice di nome Tabella, con elementi INTERI disposti su quattro righe e tre colonne, avremo lo schema concettuale che segue: L elemento Tabella(3, 2) individuerà quindi l intero 1024 posto all intersezione fra la terza riga e la seconda colonna.
4 In effetti, lo schema precedente illustra anche un ulteriore importante peculiarità degli Array multidimensionali così come implementati da FORTRAN 90: la cosiddetta organizzazione per colonne. Le frecce in figura evidenziano appunto un criterio di linearizzazione della struttura bidimensionale, un ordine interno, su cui al momento non ci soffermeremo ripromettendoci di riconsiderarlo al momento opportuno. Resta valido quanto detto sulla flessibilità del range per gli indici. Supponiamo di aver definito per l indice di riga: INIZIO=10, FINE=13 E per l indice di colonna: INIZIO=-1, FINE=1 Allora l elemento di matrice evidenziato in figura dovrebbe essere riferito come Tabella(12, 0).
5 La sintassi generale di una istruzione di dichiarazione Fortran 90 per un array è la seguente: TIPO, DIMENSION(range1 [,range2 [..range7]] ) [, ATTRIBUTO1,...] :: lista_di_array in cui TIPO è il il tipo di appartenenza di tutti i componenti della lista_di_array, la parola chiave DIMENSION è un attributo che serve a specificare la dimensione dell array che si sta dichiarando, mentre range1,.. range7 forniscono i range in cui spaziano gli indici dell array in ogni dimensione. Esempi: INTEGER, DIMENSION(10) :: Numeri CHARACTER, DIMENSION(-2:5, 3) :: CharTab REAL, DIMENSION(-9:0, 2:5) :: RealTab! Numeri è un vettore di interi ad 1 dimensione di estensione 10! CharTab è una matrice di caratteri con estensione 8 nella 1ª dimensione (righe)! ed estensione 3 nella 2ª dimensione (colonne)! RealTab è una matrice di reali con 10 righe e 8 colonne
6 Un array deve essere, prima di ogni utilizzazione, esplicitamente inizializzato. L inizializzazione può essere effettuata a tempo di esecuzione, utilizzando una variabile indice, come negli esempi che seguono:! Esempio 1 INTEGER, DIMENSION(10) :: Numeri INTEGER i DO i=1,10 Numeri(i)=2**i END DO! Esempio 2 INTEGER, DIMENSION(-10:10) :: Numeri INTEGER i DO i=-10,10 READ(*,*) Numeri(i) END DO
7 L inizializzazione può essere anche realizzata a tempo di compilazione, utilizzando i cosiddetti COSTRUTTORI:! Qui l array è inizializzato contestualmente alla sua! dichiarazione INTEGER, DIMENSION(5) :: Numeri=(/ 1, 5, -7, 3, 4 /) Comunque, il costruttore può anche essere utilizzato per inizializzare l array a tempo di esecuzione: INTEGER, DIMENSION(-2:2) :: Numeri Numeri =(/ 1, 5, -7, 3, 4 /)
8 INDICI Qualsiasi espressione che fornisce come risultato un intero è un indice valido per un array. Consideriamo, come esempio, il segmento di codice: REAL, DIMENSION(5) :: lista=(/ 3, 4, -5, 6, 3/) INTEGER :: i=1, j=5 WRITE(*,*) lista(i)!corretto, fornisce come output lista(1), quindi 3 WRITE(*,*) lista(i+j/2)!corretto, fornisce come output lista(3), quindi -5 WRITE(*,*) lista(i+0.5*j)!il compilatore denuncia un errore di tipo, infatti il valore dell espressione-indice è di!tipo reale WRITE(*,*) lista(i+j)!errore di out-range in compilazione
9 DO IMPLICITO Quando si lavora con gli array risulta particolarmente utile utilizzare un costrutto logico che consente di realizzare iterazioni per così dire implicite. Per esempio il segmente di codice che segue.. DO i=1,10 lista(i)=1000*i END DO può essere sostituito dalla singola linea di codice.. lista = (/ (1000*i, i=1, 10) /) dove il costrutto (1000*i, i=1, 10) realizza il suddetto DO IMPLICITO.
10 SEZIONI DI ARRAY Nel codice che segue, un altra importantissima feature degli array Fortran la possibilità di definire ed usare in maniera estremamente flessibile porzioni di array, dette sezioni. INTEGER, DIMENSION(1:10):: lista INTEGER, DIMENSION(1:5) :: listap INTEGER, DIMENSION(-5:-1) :: listad lista = (/ (1000*i, i=1, 10) /) listap = lista(1:10:2) listad = lista(2:10:2)
11 Un array dinamico è dichiarato utilizzando l attributo ALLOCATABLE. Poichè le dimensioni di un array dinamico non sono, per definizione, note all atto della dichiarazione, il limite di ciascuno dei suoi indici va sostituito con il simbolo dei due punti: TIPO, ALLOCATABLE, DIMENSION(: [, :,...]) :: nome_array Esempi: integer, ALLOCATABLE, DIMENSION(:) :: elenco_interi character(10), ALLOCATABLE, DIMENSION(:,:) :: tabella_parole
12 Le estensioni di un array dichiarato ma non ancora allocato possono essere specificate utilizzando l istruzione ALLOCATE che ha appunto la funzione di riservare spazio in memoria per i suoi elementi. La sintassi della suddetta istruzione è quella che segue: ALLOCATE(lista_di_array_dimensionati) Esempio: INTEGER, ALLOCATABLE, DIMENSION(:) :: elenco_interi CHARACTER(10), ALLOCATABLE, DIMENSION(:,:) :: tabella_parole ALLOCATE(elenco_interi(100), tabella_parole(0:9, 10))
13 L istruzione ALLOCATE rende disponibile al progettista un opzione per monitorare il successo dell operazione di allocazione. Il formato di questa versione estesa dell istruzione prevede l indicazione di una variabile intera che conterrà in esito all esecuzione dell operazione di allocazione un codice numerico di errore oppure il valore 0 se tutto è andato bene. ALLOCATE(lista_di_array_dimensionati, STAT=variabile_di_controllo) Esempio: INTEGER :: errore INTEGER, ALLOCATABLE, DIMENSION(:) :: elenco_interi ALLOCATE(elenco_interi(100), STAT=errore) IF (errore/=0) THEN PRINT*, "Allocazione dell array fallita, codice errore:, errore STOP END IF
14 Lo spazio di memoria occupato da un array correntemente allocato può essere liberato mediante l istruzione DEALLOCATE che ha la seguente sintassi: DEALLOCATE(lista_di_array [, STAT=variabile_di_controllo]) dove il significato e l uso della clausola STAT=variabile_di_stato sono identici a quelli visti per l istruzione di allocazione. E importante ricordare che una volta che un array sia stato deallocato i dati in esso immagazzinati sono definitivamente non più disponibili. L uso combinato delle istruzioni ALLOCATE e DEALLOCATE consente di lavorare con un array allocabile di dimensioni continuamente variabili. Attenzione: ALLOCATE(vettore(10)) ALLOCATE(vettore(20))! ERRORE Non è possibile riallocare lo stesso array prima di averlo deallocato!
15 program reverse_array_dinamico_errori implicit none integer, allocatable, dimension(:) :: elenco integer :: i, n, errore print*, "quanti elementi vuoi inserire?" read(*,*) n allocate(elenco(n), STAT=errore) IF (stato/=0) THEN PRINT*, "Allocazione degli array fallita, codice & errore:, errore STOP END IF read(*,*) elenco elenco((/(i, i=n,1,-1)/))=elenco! esegue il reverse write(*,*) elenco deallocate(elenco) end program
16 !! viene creato un vettore per immagazzinare le coordinate! di n punti di uno spazio a 3 dimensioni! TYPE :: coord3 REAL :: x REAL :: y REAL :: z END TYPE coord3 TYPE(coord3), ALLOCATABLE, DIMENSION(:) :: elenco_punti INTEGER :: n WRITE(*,*) Numero di punti da leggere: READ(*,*) n ALLOCATE(elenco_punti(n))
17 .. TYPE :: coord3 REAL :: x REAL :: y REAL :: z END TYPE coord3 TYPE :: spezzata TYPE(coord3), ALLOCATABLE, DIMENSION(:) :: elenco_punti END TYPE spezzata INTEGER :: n, i TYPE(spezzata) :: mia_spezzata WRITE(*,*) "Numero di punti della spezzata: " READ(*,*) n ALLOCATE(mia_spezzata%elenco_punti(n)) DO i=1, n mia_spezzata%elenco_punti(i)=coord3(real(i),real(i),real(i)) END DO! mostra i punti DO i=1, n write(*,*) mia_spezzata%elenco_punti(i) END DO END PROGRAM
18 PROGRAM confronta IMPLICIT NONE INTEGER, PARAMETER :: n=10 INTEGER, DIMENSION(n) :: a, b INTEGER :: i WRITE(*,*) Immetti il primo elenco di, n, interi: READ(*,*) (a(i), i=1, n) WRITE(*,*) Immetti il secondo elenco di, n, interi: READ(*,*) (b(i), i=1, n) IF (a==b) THEN WRITE(*,*) i due elenchi sono uguali! ELSE WRITE(*,*) i due elenchi non sono uguali! END IF END PROGRAM confronta
19 Modifichiamo il programma come segue: PROGRAM confronta INTEGER, PARAMETER :: n=10 INTEGER, DIMENSION(n) :: a, b INTEGER :: i WRITE(*,*) Immetti il primo elenco di, n, interi: READ(*,*) (a(i), i=1, n) WRITE(*,*) Immetti il secondo elenco di, n, interi: READ(*,*) (b(i), i=1, n) WRITE(*,*) Esito del confronto: WRITE(*,*) (a==b) END PROGRAM confronta La compilazione non darà errori ed in esecuzione potremmo avere il seguente risultato: Immetti il primo elenco di 10 interi:" Immetti il secondo elenco di 10 interi: Esito del confronto: F T T T F F F F T T
20 a b == == == == == == == == == == a==b F T T T F F F F T T Il confronto fra due array (conformi!) è quindi possibile e genera un array logico avente per contenuti i risultati del confronto, elemento per elemento!
21 IF (a==b) THEN IF (ALL(a==b)) THEN ALL è una cosiddetta funzione intrinseca di array, appartiene cioè ad una classe di funzioni specificamente pensate per evere come argomento/i degli array. In particolare ALL restituirà lo scalare logico.true. se il suo argomento (un array logico) contiene come elementi tutti.true., lo scalare.false. altrimenti.
22 a b ALL((a==b))! Restituisce.FALSE. ALL((a(1:4)==b(1:4)))! Restituisce.TRUE. ANY((a==b))! Restituisce.TRUE. ANY((a(5:8)==b(5:8)))! Restituisce.FALSE. Riuscite ad individuare cosa fa la funzione ANY?
23 Le funzioni intrinseche di array sono usualmente ricondotte, a seconda dell uso e degli scopi, a 7 categorie: 1. Funzioni di riduzione 2. Funzioni di interrogazione 3. Funzioni di costruzione 4. Funzioni di trasformazione 5. Funzioni topologiche 6. Funzioni di manipolazione 7. Funzioni algebriche
24 Funzioni di interrogazione (esempi) ALLOCATED (ARRAY) Indica se l ARRAY è o non è allocato. Il risultato è.true. se ARRAY è correntemente allocato,.false. altrimenti. Esempio: REAL, ALLOCATABLE, DIMENSION (:,:,:) :: myarr... PRINT*, ALLOCATED(myarr)! stampa il valore.false. ALLOCATE(myarr(10,0:9)) PRINT*, ALLOCATED(myarr)! stampa il valore.true.
25 Funzioni di costruzione (esempi) MERGE(TSOURCE,FSOURCE,MASK) Seleziona tra due valori, o tra gli elementi corrispondenti di due array, in accordo con la condizione specificata da una maschera. TSOURCE può essere uno scalare o un array di tipo qualsiasi. FSOURCE è uno scalare o un array avente stesso tipo di TSOURCE. MASK è un array logico. Il risultato (che ha lo stesso tipo di TSOURCE) viene determinato prendendo, elemento elemento, il valore corrispondente di TSOURCE (se MASK è.true.) o di FSOURCE (se MASK è.false.). Ad esempio, se la variabile intera r ha valore -3, allora il risultato di MERGE(1.0,0.0,r<0) ha valore 1.0, mentre per r pari a 7 ha the valore 0.0.
26 Funzioni di costruzione (esempi) Un esempio appena più complesso è il seguente. Se TSOURCE è l array: FSOURCE è l array: e MASK è l array:.false..true..true..true..true..false. allora l istruzione: MERGE(TSOURCE,FSOURCE,MASK) produce il risultato:
27 Funzioni di trasformazione (esempi) RESHAPE(SOURCE,SHAPE[,PAD][,ORDER]) Costruisce un array di forma differente a partire da un array in input. L argomento SOURCE è un vettore di tipo qualsiasi. Esso fornisce gli elementi per l array risultante. La sua estensione deve essere maggiore o uguale a PRODUCT(SHAPE) se PAD è omesso oppure se ha estensione nulla. L argomento SHAPE è un vettore numerico di sette elementi al massimo. Esso definisce la forma dell array risultante. Non può avere estensione nulla ed i suoi elementi non possono essere negativi. L argomento opzionale PAD è un array avente stesso tipo di SOURCE. Il suo compito è quello di fornire valori di riserva nel caso in cui l array risultante avesse ampiezza maggiore di SOURCE. Infine, L argomento opzionale ORDER è un array della stessa forma di SHAPE i cui elementi rappresentano una permutazione della n_pla (/1,2,...,n /), essendo n l estensione di SHAPE. Il suo scopo è quello di modificare l ordine di riempimento di default dell array risultante.
28 Funzioni di trasformazione (esempi) Un semplice esempio di utilizzo della funzione RESHAPE è fornito dalla seguente istruzione: RESHAPE((/3,4,5,6,7,8/),(/2,3/)) la quale fornisce come risultato la matrice: mentre l istruzione: RESHAPE((/3,4,5,6,7,8/),(/2,4/),(/1,1/)) fornisce il seguente risultato:
29 Esaminiamo un applicazione dell opzione ORDER:... INTEGER, DIMENSION(2,5) :: myarr REAL, DIMENSION(5,3,8) :: a REAL, DIMENSION(8,3,5) :: b... myarr = & RESHAPE((/1,2,3,4,5,6/),(/2,5/),(/0,0/),(/2,1/))! In esito all istruzione precedente si avrà:! [ ]! [ ] END PROGRAM
30 Funzioni topologiche (esempi) MAXLOC(ARRAY [,DIM][,MASK]) MINLOC (ARRAY [,MASK]) Restituiscono la posizione dell elemento di valore massimo/minimo di un array, di una sezione di array o lungo una specificata dimensione dell array.
31 Funzioni topologiche (esempi) L argomento ARRAY è un array di tipo intero o reale. Se DIM è presente, il risultato è un array di rango n-1 dove n è il rango dell array. I valori risultanti individuano le locazioni contenenti i max/min lungo la dimensione definita da DIM. Se assente, il risultato è un array di rango 1 ed ampiezza pari al rango dell array sorgente. I suoi elementi sono gli indici dell elemento max/min dell array sorgente. L argomento opzionale MASK è un array logico conforme ad ARRAY. Se MASK è presente, nelle operazioni di cui prima non saranno considerati gli elementi per cui risulta nell array logico il valore FALSE.
32 Funzioni topologiche (esempi) Esempi: Il valore di MAXLOC((/3,7,4,7/)) è 2, essendo questo l indice della posizione della prima occorrenza del valore massimo (7) nell array monodimensionale specificato come argomento. Sia mat l array: MAXLOC(mat,MASK=mat<5) fornisce il valore (/1,1/) poiché questi sono gli indici che puntano all elemento di valore massimo (4) fra tutti quelli minori di 5.
33 Esempi: Funzioni di manipolazione (esempi) TRANSPOSE(matrice) Traspone un array di rango due. L argomento matrice può essere un array bidimensionale di tipo qualsiasi. Il risultato della funzione è un array avente stesso tipo di matrice e forma (/n,m/) essendo (/m,n/) la forma dell argomento. L elemento (i,j)_mo dell array risultante coincide con il valore di matrice(j,i). A titolo di esempio, definita la seguente matrice mat: TRANSPOSE(mat) avrà valore:
34 Esempi: Funzioni algebriche (esempi) DOT_PRODUCT(VECTOR_A,VECTOR_B) Esegue il prodotto scalare di due vettori numerici (interi, reali o complessi) aventi stessa dimensione. Il risultato è uno scalare il cui tipo dipende dai vettori operandi VECTOR_A e VECTOR_B. In particolare: Se l argomento VECTOR_A è di tipo INTEGER o REAL allora il risultato avrà valore pari a SUM(VECTOR_A*VECTOR_B). Se l argomento VECTOR_A è di tipo COMPLEX, allora il risultato avrà valore pari a SUM(CONJG(VECTOR_A)*VECTOR_B). Se gli array operandi hanno dimensione nulla, il risultato vale zero se essi sono di tipo numerico oppure.false. se gli operandi sono di tipo logico.
35 Funzioni algebriche (esempi) Ad esempio, l istruzione: DOT_PRODUCT((/1,2,3/),(/3,4,5/)) restituisce il valore 26 (infatti: (1 3)+(2 4)+(3 5)=26) Invece, l istruzione: DOT_PRODUCT((/(1.0,2.0),(2.0,3.0)/),(/(1.0,1.0),(1.0,4.0)/)) fornisce l array (/17.0,4.0/). (infatti: (1-2j)(1+j)+(2-3j)(1+4j)=(1+2-j)+(2+12+5j)=17+4j)
Gli 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
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
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
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
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
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,
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliProblema. Vettori e matrici. Vettori. Vettori
e matrici Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Problema Si vuole un programma che chieda 10 numeri dalla tastiera e li visualizzi dall ultimo al primo Soluzione attuale (con le
DettagliARRAY. Fortran 90[/95] ARRAY: dichiarazione. Esempio (arraybase.f90) ARRAY: inizializzazione. ARRAY: inizializzazione
Fortran 9[/95] M. Bianco ARRAY Un array è una sequenza di variabili di uno stesso tipo identificate da un nome Queste variabili vengono memorizzare in posizioni contigue di memoria Si può accedere a una
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
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
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
DettagliLaboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una
DettagliPuntatori. Fondamenti di Programmazione
Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale
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...
DettagliFortran in pillole : prima parte
Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato
DettagliL Allocazione Dinamica della Memoria
L Allocazione Dinamica della Memoria Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario Questo documento
DettagliIntroduction to Fortran 90
Sinonimi Introduction to Fortran 90 Nicola Spallanzani, CINECA Maurizio Cremonesi, CINECA Ottobre 2014 SINONIMI: SINTASSI DI BASE I sinonimi, o POINTER, non sono altro che nomi cui è associato un tipo
DettagliNon ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di
ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliJavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132
JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni
Dettaglin deve essere maggiore di 0, altrimenti il metodo restituisce null.
Esercizio 1 di classe Intersezione che presi in input due Array di int A e B, restituisce in output un array contenente gli elementi presenti sia in A che in B. Esercizio 2 di classe identità che prende
DettagliArray e puntatori in C
Array e puntatori in C Diapositive adattate dalle omonime create dalla Dottoressa di Ricerca Giovanna Melideo per il corso di Laboratorio di Algoritmi e Strutture Dati 10/05/2005 LP2-04/05 - Appunti di
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
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?
Dettagli28/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
DettagliArray Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione
Array Tipi di dato semplici e strutturati i tipi di dato visti finora erano tutti semplici: int, char, float,... i dati manipolati sono spesso complessi (o strutturati) con componenti elementari o strutturate
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
DettagliArray multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
DettagliAllocazione Dinamica della Memoria
Allocazione Dinamica della Memoria Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Allocazione Dinamica della Memoria 1 / 10 Scelta delle variabili Quando
DettagliOttenere una modifica del parametro attuale
Ottenere una modifica del parametro attuale Le variabili passate come parametri a una funzione, se alterate durante l esecuzione, non cambiano valore all uscita dalla funzione (parametri passati per valore)
DettagliA = Quindi > b=a(:) b =
Una breve digressione. Se si vuole uscire da Matlab, occorre digitare ( come già riferito)il comando >> quit Se si vogliono utilizzare le variabili create per una successiva sessione di lavoro, prima di
DettagliLaboratorio di informatica Ingegneria meccanica
Interi in complemento a 2 () Laboratorio di informatica Ingegneria meccanica Lezione 5 29 ottobre 2007 Con N bit sono rappresentabili tutti gli interi nell'intervallo [-2^(N-), 2^(N-)-] Esempio: 6 bit,
DettagliOperazioni di Input/Output
Operazioni di Input/Output Il FORTRAN90 è dotato di un'ampia varietà di istruzioni di I/O. Tra queste: -READ -WRITE -REWIND - BACKSPACE -OPEN -CLOSE Altrettanto vario è il numero di istruzioni per formattare
DettagliTRANslation. E il linguaggio di programmazione più vecchio tra tutti i linguaggi evoluti
FORTRAN Il nome sta per IBM Mathematical Formula Translation System o più brevemente: FORmula TRANslation E il linguaggio di programmazione più vecchio tra tutti i linguaggi evoluti Cenni Storici Primo
DettagliLinguaggio 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
DettagliGestione dinamica della memoria
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Gestione dinamica della memoria Pietro Di Lena - pietro.dilena@unibo.it A pessimistic programmer sees the array as half empty.
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
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
Dettagli4 GLI ARRAY E LE STRINGHE
13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si
DettagliVETTORI E SCALARI DEFINIZIONI. Si definisce scalare una grandezza definita interamente da un solo numero, affiancato dalla sua unità di misura.
VETTORI E SCALARI DEFINIZIONI Si definisce scalare una grandezza definita interamente da un solo numero, affiancato dalla sua unità di misura. Un vettore è invece una grandezza caratterizzata da 3 entità:
DettagliTipi 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,
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione VIII Tatiana Zolo tatiana.zolo@libero.it 1 PROGRAMMAZIONE A OGGETTI Quando si programma a oggetti si scompone il problema in sottogruppi di parti collegate che tengono
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
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
DettagliConcetti base programmazione. Antonio Gallo
Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,
DettagliIl linguaggio C. Puntatori e Array
Il linguaggio C Puntatori e Array Puntatori I puntatori sono variabili i cui valori sono indirizzi di locazioni in cui sono memorizzate altre variabili architettura a 32 bit: 232-1 indirizzi, ma non si
DettagliIntroduzione al linguaggio Fortran 90
Introduzione al linguaggio Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica
DettagliVariabile, costante ed espressione
Variabile, costante ed espressione All interno di un programma un informazione può essere organizzata in vari modi: Variabile Costante Espressione Le variabili a loro volta possono essere: scalari vettori
DettagliEsercizio 2: Algebra dei Puntatori e Puntatori a Puntatori
Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori Salvatore Mandrà 7 Ottobre 2008 1 Esercizio L esercizio prevede l implementazione di funzioni per il prodotto di una matrice per un vettore, attraverso
DettagliShell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set
PATH Shell: variabili di sistema HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il
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
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio 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
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
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
DettagliI puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore
I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p
DettagliParte I - Concetti Base ESEMPIO
Informatica Nome e Cognome: Esempio Esame Programma Completo, I Turno 17/12/2015 C. I. Durate: 45 Minuti N. Matricola Questa prova contiene 32 domande. Il punteggio totale è 32. Ogni risposta corretta
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento
DettagliMetodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab
Metodi di Analisi dei Dati Sperimentali AA /2010 Pier Luca Maffettone Elementi di Matlab Sommario Introduzione Variabili Manipolazione di elementi Creazione di vettori/matrici Operazioni elementari Funzioni
DettagliGeometria analitica di base. Equazioni di primo grado nel piano cartesiano Funzioni quadratiche Funzioni a tratti Funzioni di proporzionalità inversa
Equazioni di primo grado nel piano cartesiano Funzioni quadratiche Funzioni a tratti Funzioni di proporzionalità inversa Equazioni di primo grado nel piano cartesiano Risoluzione grafica di un equazione
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
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi
DettagliI vettori in C. Vettori. Definizione di vettori in C. int dato[10] ; int. Numero di elementi. Tipo di dato base. Nome del vettore.
I vettori in C Sintassi della definizione Definizione di costanti Operazioni di accesso Vettori Definizione di vettori in C I vettori in C Definizione di vettori in C Definizione di vettori in C Stesse
DettagliAlgebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliMatlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1
Matlab 5 Funzioni Slide basate sul corso di C. Blundo A.A. 2010/2011 -- GPersiano Laboratorio di Informatica per Fisici 1 Funzioni Le funzioni sono utili quando occorre ripetere una serie di comandi più
DettagliProblema: calcolare il massimo tra K numeri
Problema: calcolare il massimo tra K numeri Scrivere un algoritmo che fornisca in input ad un programma un numero K e K interi positivi. L algoritmo deve restituire il valore massimo tra quelli introdotti
DettagliUniversità di Roma Tor Vergata L12-1
Università di Roma Tor Vergata L12-1 soluzione di un problema fl 1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio
Dettagli1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.
Esercizi di Matlab L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi. Esempio Consideriamo la matrice A formata da n = righe e m = colonne M = 5 6 7 8. 9 0
DettagliIl C nel C++: Funzioni
Il C nel C++: Funzioni Funzioni (1) il concetto -> spezzare il programma in parti (procedure) una funzione è un parte di programma dotata di un nome che può essere richiamata in altri punti del programma
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):
DettagliMATLAB parte II. Array
MATLAB parte II MATLAB parte II C. Guerrini 1 Array Tutte le variabili sono array (matrici) Un array è una struttura dati, cioè memorizza più dati all interno di una struttura identificata da un singolo
DettagliSTRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono
DettagliUD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
Dettagli14 - Metodi e Costruttori
14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliUNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi
DettagliProgrammazione ad oggetti
Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.
DettagliProgrammazione orientata agli oggetti: le classi
Programmazione orientata agli oggetti: le classi Oggetti e tipi di dati La programmazione che abbiamo visto finora agisce su variabili che appartengono a tipi di dati predefiniti: interi, floating point,
DettagliFunzioni. function [<risultati>] = nome_funzione ([ par.formali ])
MATLAB Le funzioni Funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, calcola un valore come risultato, esattamente come avviene anche per una
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
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à
DettagliProgetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014
Progetto Matlab N 2 Calcolo Numerico 6 CFU Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014 Procedimento 1. Scrivere una function che implementi il prodotto matrice-vettore AX con A matrice
DettagliInput/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
Dettagli1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio
soluzione di un problema 1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio rappresentazioni disponibili in C++:
DettagliArray e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
DettagliArray. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliVBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
DettagliLEZIONE 1 C =
LEZIONE 1 11 Matrici a coefficienti in R Definizione 111 Siano m, n Z positivi Una matrice m n a coefficienti in R è un insieme di mn numeri reali disposti su m righe ed n colonne circondata da parentesi
DettagliScopo del laboratorio
p. 1/1 Scopo del laboratorio Imparare ad usare programmi che implementino metodi di ottimizzazione: simplesso, branch and bound ecc. utilizzarli per risolvere un problema proposto Modellatori Solver p.
DettagliNote per il corso di Geometria e algebra lineare 2009-10 Corso di laurea in Ing. Elettronica e delle Telecomunicazioni
Note per il corso di Geometria e algebra lineare 009-0 Corso di laurea in Ing. Elettronica e delle Telecomunicazioni Spazi di n-uple e matrici. I prodotti cartesiani RR R e RRR R 3, costituiti dalle coppie
DettagliDefinizione Allocazione e deallocazione di variabili Allocazione e deallocazione di vettori
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
DettagliCorso di Informatica
Corso di Informatica Modulo T1 B1 Il concetto di classe 1 Prerequisiti Programmazione elementare Conoscenza dell uso delle funzioni Utilizzo della UML 2 1 Introduzione Gli oggetti reali sono una infinità
DettagliPROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA
PROGRAMMAZIONE DISCIPLINARE PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA 1. Competenze: le specifiche competenze di base disciplinari previste dalla
DettagliLezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22
Lezione 21 e 22 - Allocazione dinamica delle matrici - Generazione di numeri pseudocasuali - Funzioni per misurare il tempo - Parametri del main - Classificazione delle variabili Valentina Ciriani (2005-2008)
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
Dettagli= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con
Definizione di matrice Una matrice (di numeri reali) è una tabella di m x n numeri disposti su m righe e n colonne. I numeri che compaiono nella tabella si dicono elementi della matrice. La loro individuazione
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
Dettagli