Informatica (CIV) Esercitazione su FORTRAN. Andrea Romanoni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Informatica (CIV) Esercitazione su FORTRAN. Andrea Romanoni"

Transcript

1 Informatica (CIV) Esercitazione su FORTRAN Andrea Romanoni Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 3 dicembre 2013

2 Esercizio istogrammi Testo Si vuole scrivere un programma che legge da input i dati sulle precipitazioni di pioggia (in mm) durante i giorni di un anno, e stampa a video le precipitazioni totali (questa volta in cm) mese per mese. Più precisamente, il programma legge da tastiera (in ordine sparso) i dati sulle precipitazioni piovose (in mm) dei giorni dell anno, secondo lo schema giorno mese mm, e calcola il totale delle precipitazioni per ogni mese dell anno. In seguito, stampa a video un istogramma in cui, per ogni mese dell anno, viene stampato un * per ogni cm di pioggia caduto in quel mese (per semplicità i mm vengono arrotondati al cm più vicino, per cui se, per esempio, nel mese di gennaio sono caduti in totale 46mm di pioggia, a video vengono stampati 5 * ). La stampa dell istogramma può essere fatta in orizzontale (con i dati del mese di gennaio più a sinistra, e quelli del mese di dicembre più a destra), oppure in verticale (con i dati del mese di gennaio più in alto e quelli del mese di dicembre più in basso).

3 Esercizio istogrammi Soluzione PROGRAM piogge IMPLICIT NONE INTEGER, PARAMETER :: NumeroMesiAnno = 12 #include <stdio.h> #include <stdlib.h> #define NUM_MESI_ANNO 12 typedef enum{true, false boolean; CHARACTER(LEN=NumeroMesiAnno), & PARAMETER::InizialiNomiMesiAnno = & "GFMAMGLASOND" INTEGER, DIMENSION(NumeroMesiAnno) :: & PioggeMensiliMm, PioggeMensiliCm INTEGER :: Giorno, Mese, PioggiaMm LOGICAL :: InputTerminato INTEGER Indice, CmCorrente int main(int argc, char const *argv[]){ char iniziali_nomi_mesi[] = "GFMAMGLASOND"; int piogge_mensili_mm[num_mesi_anno]; int piogge_mensili_cm[num_mesi_anno]; int giorno, mese, mm_pioggia; boolean input_terminato; int i, cm_corrente; INTEGER :: NumAsterischi CHARACTER (LEN=MaxCmMese) :: Asterischi DO Indice = 1, NumeroMesiAnno PioggeMensiliMm(Indice) = 0 for (i = 0; i < NUM_MESI_ANNO; ++i){ piogge_mensili_mm[i] = 0;

4 Esercizio istogrammi Soluzione InputTerminato =.FALSE. DO WHILE (.NOT. InputTerminato) WRITE (*,*) "Inserisci Giorno Mese mm" READ (*,*) Giorno, Mese, PioggiaMm IF (Giorno <= 0) THEN InputTerminato =.TRUE. ELSE PioggeMensiliMm(Mese) = & PioggeMensiliMm(Mese) + PioggiaMm!=====calcolo dei dati mensili arrotondati ===== CmCorrente = 0 DO Indice = 1, NumeroMesiAnno PioggeMensiliCm(Indice) = PioggeMensiliMm(Indice)/10 IF ((PioggeMensiliMm(Indice) - & PioggeMensiliCm(Indice)*10) >= 5) THEN PioggeMensiliCm(Indice)=PioggeMensiliCm(Indice)+1 IF PioggeMensiliCm(Indice) > CmCorrente THEN CmCorrente = PioggeMensiliCm(Indice) input_terminato = false; do{ printf("inserisci Giorno, Mese, mm\n"); scanf("%d %d %d", &giorno, &mese, &mm_pioggia)); if (giorno <= 0){ input_terminato = true; else{ mese = mese - 1; piogge_mensili_mm[mese] = piogge_mensili_mm[mese] + mm_pioggia; while(input_terminato == false); cm_corrente = 0; for (i = 0; i < NUM_MESI_ANNO; ++i){ piogge_mensili_cm[i] = piogge_mensili_mm[i]/10; if ((piogge_mensili_mm[i] - piogge_mensili_cm[i] * 10) >= 5){ piogge_mensili_cm[i] = piogge_mensili_cm[i] + 1; if (piogge_mensili_cm[i] > cm_corrente){ cm_corrente = piogge_mensili_cm[i];

5 Esercizio istogrammi Soluzione!=====stampa dell istogramma (orizzontale)===== WRITE (*,*) ""!va a capo DO WHILE (CmCorrente > 0) Asterischi = "" DO Indice = 1, NumeroMesiAnno IF (PioggeMensiliCm(Indice) <= CmCorrente) & THEN Asterischi(Indice:Indice) = * ELSE Asterischi(Indice:Indice) = WRITE (*,*) Asterischi CmCorrente = CmCorrente - 1 WRITE (*,*) InizialiNomiMesiAnno END PROGRAM piogge /*stampa l istogramma (orizzontale)*/ while(cm_corrente > 0){ for (i = 0; i < NUM_MESI_ANNO; ++i){ if (piogge_mensili_cm[i] > cm_corrente){ printf(" * "); else{ printf(" "); cm_corrente = cm_corrente - 1; printf("\n"); /*stampa le lettere corrispondenti al mese*/ for (i = 0; i < NUM_MESI_ANNO; ++i){ printf(" %c ", iniziali_nomi_mesi[i]); return 0;

6 Sequenza periodica Testo Scrivere un programma che legge in ingresso una sequenza di al massimo 50 numeri interi strettamente positivi (>0), terminati dallo 0, e determina se la sequenza è periodica. In altre parole, il programma determina se c è un valore P tale per cui i numeri si ripetono ogni P elementi della sequenza. Il programma deve anche stampare a video il periodo P. più piccolo. Esempi: La sequenza è periodica di periodo 4. La sequenza non è periodica. La sequenza è periodica di periodo 2. La sequenza è periodica di periodo 1.

7 Sequenza periodica Soluzione PROGRAM TrovaPeriodo IMPLICIT NONE INTEGER, DIMENSION(50) :: seq INTEGER :: n, p, i, n_el = 0 LOGICAL :: periodico WRITE (*,*) "Inserisci numero ", n_el + 1 READ (*,*) n DO WHILE (n_el < 50.AND. n /= 0) n_el = n_el + 1 seq(n_el) = n WRITE (*,*) "Inserisci numero", n_el + 1 READ (*,*) n IF (n_el == 0) THEN WRITE (*,*) "Nessun elemento inserito" ELSE IF (n_el <= 1) THEN WRITE (*,*) "Un solo elemento inserito,", & " il periodo e 1" ELSE p = 0 periodico =.FALSE. DO WHILE (.NOT. periodico.and. p < n_el/2) p = p+1 IF ((n_el / p) * p == n_el) THEN periodico =.TRUE. i = 1 DO WHILE (periodico.and. i <= n_el-p) IF (seq(i) /= seq(i+p)) THEN periodico =.FALSE. i = i+1 IF (periodico) THEN WRITE (*,*) "La sequenza e periodica ", & "di periodo ", p ELSE WRITE (*,*) "La sequenza non e periodica" END PROGRAM TrovaPeriodo

8 Esercizio punti 3D e piani Testo A Scrivere un sottoprogramma che prende in ingresso una sequenza di punti dello spazio cartesiano tridimensionale a coordinate (x,y,z) intere, ed elimina dalla sequenza tutti quei punti che non si trovano su uno stesso piano orizzontale (cioè parallelo al piano (x.y)) con altri punti della sequenza. Per esempio, data la seguente sequenza di punti: <3,-2,8>, <-340,62,31>, <8,22,8>, <8,13,-12>, <54,-10,31>, <4,72,3> la sequenza viene modificata nel modo seguente: <3,-2,8>, <-340,62,31>, <8,22,8>, <54,-10,31>

9 Esercizio punti 3D e piani Soluzione A SUBROUTINE EliminaPuntiIsolati(Sequenza, Num) IMPLICIT NONE TYPE (Punto), INTENT(INOUT), DIMENSION(Num) :: Sequenza INTEGER, INTENT(INOUT) :: Num INTEGER :: Cont1, Cont2 LOGICAL :: DaTenere TYPE :: Punto INTEGER :: X INTEGER :: Y INTEGER :: Z END TYPE Punto DO Cont1 1, Num DaTenere =.FALSE. DO Cont2 = 1, Num IF ( (Cont2 /= Cont1 ).AND. & (Sequenza(Cont2)%Z == Sequenza(Cont1)%Z ) ) THEN DaTenere =.TRUE. IF (DaTenere.EQV..TRUE.) THEN Cont1 = Cont1+1 ELSE DO Cont2 = Cont1, Num-1 Sequenza(Cont2) = Sequenza(Cont2+1) Num = Num-1 END SUBROUTINE EliminaPuntiIsolati

10 Esercizio punti 3D e piani Testo B Scrivere un sottoprogramma che prende in ingresso una sequenza di punti dello spazio cartesiano tridimensionale a coordinate intere, e partiziona la sequenza in sottoinsiemi in cui ogni sottoinsieme contiene tutti e soli i punti su uno stesso piano orizzontale (cioè parallelo al piano (x,y)). Il sottoprogramma, sfruttando anche il sottoprogramma definito nella parte a), restituisce una nuova sequenza di punti contenente i punti della sequenza originale raggruppati nei sottoinsiemi descritti sopra, esclusi però i sottoinsiemi fatti di un solo punto. I sottoinsiemi nella sequenza restituita possono essere in ordine qualunque. Per esempio, data la seguente sequenza di punti: <5,-2,7>, <-10,-92,3>, <84,2,7>, <8,10,2>, <52,-20,3>, <4,72,3> una possibile sequenza restituita è la seguente: <5,-2,7>, <84,2,7>, <-10,-92,3>, <52,-20,3>, <4,72,3>

11 Esercizio punti 3D e piani Soluzione B SUBROUTINE RaggruppaPunti(SequenzaIn, NumIn, SequenzaOut, NumOut) IMPLICIT NONE TYPE (Punto), INTENT(INOUT), DIMENSION(NumIn) :: SequenzaIn TYPE (Punto), INTENT(OUT), DIMENSION(NumIn) :: SequenzaOut INTEGER, INTENT(IN) :: NumIn INTEGER, INTENT(OUT) :: NumOut INTEGER :: i LOGICAL :: Ordinato TYPE (Punto) :: temp SequenzaOut = SequenzaIn NumOut = NumIn CALL EliminaPuntiIsolati(SequenzaOut, NumOut) Ordinato =.FALSE. DO WHILE (Ordinato.EQV..FALSE.) Ordinato =.TRUE. DO i=1,numout-1 IF(SequenzaOut(i)%Z > SequenzaOut(i+1)%Z) THEN Ordinato =.FALSE. temp = SequenzaOut(i) SequenzaOut(i) = SequenzaOut(i+1) SequenzaOut(i+1) = temp END SUBROUTINE RaggruppaPunti

12 Confronto tra immagini Testo Un immagine è costituita da una matrice di 1024x1024 pixel. Ogni pixel è caratterizzato dal livello di intensità luminosa: tale livello è rappresentato da un intero. Una figura originale è costituita da una matrice di 25x25 pixel. Si vuole scrivere un sottoprogramma che, data un immagine e data una figura originale, verifichi se la figura appare nell immagine. Il sottoprogramma cerca occorrenze della figura nell immagine, tenendo presente le seguenti sorgenti di variabilità: la figura potrebbe apparire non ruotata oppure ruotata di un angolo pari +90 gradi (cioè 90 gradi in senso antiorario), rispetto all originale; a causa di eventuali variazioni (uniformi) di illuminazione, la figura potrebbe apparire nell immagine con il livello di intensità di tutti i suoi pixel aumentati o diminuiti di un valore costante rispetto all originale. Il sottoprogramma deve produrre in uscita la posizione e l orientamento della figura nell immagine, nel caso in cui la figura sia presente; in caso contrario deve produrre due coordinate negative (e un qualunque valore dell angolo di rotazione). NB: Anche nel caso in cui la figura appaia più volte nell immagine, il sottoprogramma deve produrre in uscita una sola occorrenza della figura.

13 Confronto tra immagini Soluzione Cominciamo a definire una funzione che confronta due immagini e restituisce vero se sono uguali, o falso se sono differenti. LOGICAL FUNCTION ConfrontaMatrice(DimArray, Array1, Array2) IMPLICIT NONE INTEGER, INTENT(IN) :: DimArray INTEGER, DIMENSION (DimArray, DimArray), INTENT(IN) :: Array1, Array2 INTEGER :: X, Y LOGICAL, DIMENSION (DimArray, DimArray) :: ArrayConfronti ArrayConfronti = (Array1 == Array2) ConfrontaMatrice =.TRUE. DO X=1, DimArray DO Y=1, DimArray ConfrontaMatrice = ConfrontaMatrice.AND. ArrayConfronti(X,Y) % END FUNCTION ConfrontaMatrice

14 Confronto tra immagini Soluzione SUBROUTINE CercaFigura(Immagine, Figura, PosX, PosY, Angolo) IMPLICIT NONE INTEGER, PARAMETER :: DimImmagine = 1024 INTEGER, PARAMETER :: DimFigura = 25 INTEGER, DIMENSION (DimImmagine, DimImmagine), INTENT(IN) :: Immagine INTEGER, DIMENSION (DimFigura, DimFigura), INTENT(IN) :: Figura INTEGER, INTENT(OUT) :: PosX, PosY INTEGER, INTENT(OUT) :: Angolo INTEGER, DIMENSION (DimFigura, DimFigura) :: FiguraRuotata INTEGER :: SpostY INTEGER :: Offset LOGICAL :: ConfrontaMatrice DO SpostY = 1, DimFigura FiguraRuotata(SpostY,:) = Figura(DimFigura:1:-1,SpostY)

15 Confronto tra immagini Soluzione DO PosX = 1, DimImmagine-DimFigura+1 DO PosY = 1, DimImmagine-DimFigura+1 Offset = Immagine(PosX, PosY) - Figura(1,1) IF(ConfrontaMatrice(DimFigura, & Immagine(PosX:PosX+DimFigura-1,PosY:PosY+DimFigura-1), & Figura(:,:) )) THEN Angolo = 0 RETURN Offset = Immagine(PosX, PosY) - FiguraRuotata(1,1) IF (ConfrontaMatrice(DimFigura, & Immagine(PosX:PosX+DimFigura-1,PosY:PosY+DimFigura-1), & FiguraRuotata(:,:) + Offset)) THEN Angolo = 90 RETURN PosX = -1 PosY = -1 END SUBROUTINE CercaFigura

16 Prefisso o Suffisso? Testo Scrivere un programma che legge una sequenza di al massimo 100 caratteri alfabetici, terminati da un carattere non alfabetico, e determina se la sequenza ha un prefisso e un suffisso identici, cioè se la sequenza ha la stessa serie di caratteri al suo inizio e alla sua fine. Il programma NON distingue i caratteri maiuscoli da quelli minuscoli. Il programma stampa a video la sottosequenza ripetuta più lunga tra quelle esistenti. Esempi: La sequenza abcmpabc6 è iniziata e terminata dalla stringa abc. Nella sequenza zazdazb& non c è una sottosequenza che inizia e termina la stringa. La sequenza abcdabcdabc è iniziata e terminata dalla stringa abcdabc.

17 Nel computer i caratteri vengono rappresentati con dei numeri detti codici ASCII. Questa è la tabella di conversione:

18 Prefisso o Suffisso? Soluzione PROGRAM PrefissoSuffisso IMPLICIT NONE CHARACTER (len = 100) :: sequenza INTEGER, PARAMETER :: offset = IACHAR( A ) - IACHAR( a ) INTEGER :: lng, i LOGICAL :: trovato WRITE (*,*) "Inserire la sequenza:" READ (*,*) sequenza i = 1 DO WHILE (i <= LEN_TRIM(sequenza).AND. & ( (sequenza(i) >= a.and. & sequenza(i) <= z ).OR. & (sequenza(i) >= A.AND. & sequenza(i) <= Z ) ) ) IF(sequenza(i) >= A.AND. & sequenza(i) <= Z ) THEN sequenza(i) =& ACHAR(IACHAR(sequenza(i)) - offset) i = i+1! salvo la lunghezza effettiva! della stringa in lng lng = i - 1 trovato =.FALSE. i = lng - 1 DO WHILE (.NOT. trovato.and. i > 0) IF (ALL(sequenza(1:i) == sequenza(lng-i+1:lng))) THEN trovato =.TRUE. ELSE i = i - 1 IF (trovato.eqv..true.) THEN WRITE (*,*) "La sequenza e iniziata", & "e terminata dalla stringa ", & sequenza(1:i) ELSE WRITE (*,*) "Non c e sottosequenza ", & "che inizia e termina la stringa." END PROGRAM PrefissoSuffisso

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è 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?

Dettagli

Operazioni di input e output in Fortran 90

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

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Esercitazione 10. 21 Dicembre 2010 (2 ore)

Esercitazione 10. 21 Dicembre 2010 (2 ore) Esercitazione 10 21 Dicembre 2010 (2 ore) Riassunto Nell'esecitazione di oggi abbiamo lavorato ancora sulle funzioni. Abbiamo inoltre introdotto alcune delle seguenti funzioni per tracciare i grafici.

Dettagli

Il software e la programmazione

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

Dettagli

Istruzioni per il controllo di ciclo - ciclo a condizione generica

Istruzioni 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...

Dettagli

APPUNTI DEL CORSO DI LABORATORIO DI CALCOLO AVANZATO

APPUNTI 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

Dettagli

Alfabeto ed elementi lessicali del linguaggio C

Alfabeto 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

Dettagli

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice

Dettagli

Esercizi di programmazione in C

Esercizi di programmazione in C Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal

Dettagli

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

I 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

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Gestione di files Motivazioni

Gestione di files Motivazioni Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)

Dettagli

RICERCA DI UN ELEMENTO

RICERCA DI UN ELEMENTO RICERCA DI UN ELEMENTO Si legga da tastiera un array di N elementi (N stabilito dall utente) Si richieda un elemento x il programma deve cercare l elemento x nell array Se l elemento è presente, deve visualizzare

Dettagli

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione.

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione. Scrivere un programma per la gestione di una videoteca. Il programma deve essere in grado di tenere traccia dello stato corrente (presente/in prestito a x/smarrito da x/danneggiato da x a livello nn) e

Dettagli

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il

Dettagli

Caratteri e stringhe Esercizi risolti

Caratteri e stringhe Esercizi risolti Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.

Dettagli

STRUTTURE (O COSTRUTTI) DI CONTROLLO

STRUTTURE (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

Dettagli

Esempio 1: stampa locale di file remoto

Esempio 1: stampa locale di file remoto Alcuni esempi di uso di Socket Esempio 1: stampa locale di file remoto Visualizzazione locale del contenuto di un file remoto. Il client deve richiedere la creazione della connessione e successivamente

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)

Dettagli

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste 4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1

Dettagli

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015 COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: [3 punto] Rappresentare i numeri 36 e 91 (in base 10) in notazione binaria

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

/* esercizio 5. Memorizzare l elenco dei prodotti giacenti in un magazzino in modo da poter effettuare le seguenti operazioni :

/* esercizio 5. Memorizzare l elenco dei prodotti giacenti in un magazzino in modo da poter effettuare le seguenti operazioni : /* esercizio 5. Memorizzare l elenco dei prodotti giacenti in un magazzino in modo da poter effettuare le seguenti operazioni : Stampare le caratteristiche di un determinato prodotto (codice, descrizione,

Dettagli

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Esercizio. Pseudocodice

Esercizio. Pseudocodice Esercizio Trovare quoziente e resto di una divisione intera per differenze successive (supponendo cioè di non disporre dell operatore di divisione) Dati di Input: D, D1 (supponiamo D1>0) Dati di Output:

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Linguaggio C - Stringhe

Linguaggio C - Stringhe Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - Stringhe La presente dispensa e da utilizzarsi ai

Dettagli

TUTORATO di LINGUAGGI I

TUTORATO di LINGUAGGI I TUTORATO di LINGUAGGI I Enrico Vianello TUTORATO di LINGUAGGI I contatti utili LE LEZIONI SI TERRANNO: VENERDI 12.30-14.30 PER INFORMAZIONI e DOMANDE: enrico.vianello@student.unife.it IL MATERIALE UTILIZZATO

Dettagli

SOLUZIONE ESERCIZIO 1

SOLUZIONE ESERCIZIO 1 SOLUZIONE ESERCIZIO 1 Progettare un algoritmo che dati tre numeri (voti) a, b, c che possono assumere i valori interi da 18 a 30, calcoli la loro media. #include void main() { int a, b, c; float

Dettagli

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo /*Caricare un vettore di n numeri float, ordinarlo e e stamparlo

Dettagli

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore. 1 Esercizio 1 1. Immaginate di avere una calcolatore che invece che poter rappresentare i classici due valori per ogni bit (0/1) possa rappresentare 7 valori per ogni bit. (a) Quanti bit gli occorreranno

Dettagli

http://esamix.labx Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )

http://esamix.labx Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( ) Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie

Dettagli

Politecnico di Torino

Politecnico di Torino Politecnico di Torino INFORMATICA II Esame del 19 Luglio 2008 1. Realizzare un programma in linguaggio C per evidenziare le variazioni percentuali di un insieme di azioni quotate in borsa. In un file di

Dettagli

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

Esempio: Array di struct

Esempio: Array di struct Esempio: Array di struct Scrivere un programma C che definisca la struttura esame, composta dal nome dell esame (stringa) e dal voto (intero). Si leggano poi da terminale n esami, con n definito dall utente

Dettagli

Corso di Fondamenti di Informatica prova del 04/07/2008

Corso 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

Dettagli

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione

Dettagli

Linguaggio C - Funzioni

Linguaggio C - Funzioni Linguaggio C - Funzioni Funzioni: Il linguaggio C è di tipo procedurale; ogni programma viene suddiviso in sottoprogrammi, ognuno dei quali svolge un determinato compito. I sottoprogrammi si usano anche

Dettagli

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...

Dettagli

Problem solving avanzato

Problem solving avanzato Problem solving avanzato Formulazione del problema Struttura dati e algoritmo Il programma 2 26 Politecnico di Torino 1 Dati in input (1/4) Sono dati due file di testo, contenenti le informazioni sulle

Dettagli

/*dichiarazioni*/ // le frasi sono contenute in stringhe, cioè array di char char f1[max]; int i, giusto,len;

/*dichiarazioni*/ // le frasi sono contenute in stringhe, cioè array di char char f1[max]; int i, giusto,len; /* Date in ingresso una frase, dire se una è palindroma */ #include #define MAX 100 int main() /*dichiarazioni*/ // le frasi sono contenute in stringhe, cioè array di char char f1[max]; int i,

Dettagli

Concetti chiave. Struct. Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture

Concetti chiave. Struct. Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture Concetti chiave Struct Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture Struct Per aggregare elementi di tipo diverso si utilizza una struttura. struct

Dettagli

Applicazioni grafiche

Applicazioni grafiche Applicazioni grafiche I grafici all interno di un form sono realizzati attraverso gli oggetti del namespace System.Drawing. Graphics. Il namespace è incluso automaticamente nel progetto, quindi non è necessaria

Dettagli

Definizione di nuovi tipi

Definizione di nuovi tipi Definizione di nuovi tipi Un tipo è un insieme di valori. Per definire un nuovo tipo occorre specificare: 1 un nome per il tipo 2 come costruire i valori del tipo, cioè quali sono i costruttori del tipo.

Dettagli

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files

Dettagli

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

PROGRAMMI LINGUAGGIO C

PROGRAMMI LINGUAGGIO C PROGRAMMI IN LINGUAGGIO C Corso di Programmazione Modulo B Prof. GIULIANO LACCETTI Studentessa Bellino Virginia Matr. 408466 Corso di Diploma in Informatica http://www.dicecca.net Indice 1. Package per

Dettagli

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi TIPI DI DATO Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti,

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante Tiipii dii Datii iin Viisuall Basiic Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante l'esecuzione di un'applicazione. Alle variabili è associato un nome, utilizzato

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3. 1 strace : visualizzazione delle system call invocate da un processo

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3. 1 strace : visualizzazione delle system call invocate da un processo UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica a.a. 2005-2006 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 1 strace : visualizzazione delle system call

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

3. Terza esercitazione autoguidata: progetto gestione voli

3. Terza esercitazione autoguidata: progetto gestione voli 9 3. Terza esercitazione autoguidata: progetto gestione voli Qui ci occupiamo di scrivere un programma abbastanza lungo, dedicato alla gestione di una tabella di dati. Una tabella e una struttura dati

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix-

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- 1 Sommario Esercizi sulla gestione dei processi Creazione di un nuovo processo: fork Sincronizzazione tra processi: wait 2 -

Dettagli

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Dettagli

Funzioni. Il modello console. Interfaccia in modalità console

Funzioni. Il modello console. Interfaccia in modalità console Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

Introduzione a GCC: GNU Compiler Collection

Introduzione a GCC: GNU Compiler Collection Introduzione a GCC: GNU Compiler Collection Caratteristiche di GCC Compilatore multipiattaforma modulare Disponibile per tutti i principali sistemi operativi Può produrre programmi per la maggior parte

Dettagli

IL LINGUAGGIO C++ Configurazione di Dev-C++

IL LINGUAGGIO C++ Configurazione di Dev-C++ IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:

Dettagli

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di esempio CERCA 90 NEL SACCHETTO = estrai num Casi num 90 Effetti CERCA 90 NEL

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

Breve riepilogo della puntata precedente:

Breve riepilogo della puntata precedente: Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta

Dettagli

Record in C: il costruttore struct.

Record in C: il costruttore struct. Record in C: il costruttore struct. Le variabili di tipo record e i nuovi tipi record si dichiarano in C tramite il costruttore di tipo struct:. ::= ;

Dettagli

MPI è una libreria che comprende:

MPI è una libreria che comprende: 1 Le funzioni di MPI MPI è una libreria che comprende: Funzioni per definire l ambiente Funzioni per comunicazioni uno a uno Funzioni percomunicazioni collettive Funzioni peroperazioni collettive 2 1 3

Dettagli

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Il linking tra i moduli di un programma e le librerie da esso utilizzate può essere Statico

Dettagli

CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe

CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe CARATTERI E STRINGHE Caratteri e stringhe Funzioni della libreria standard I/O Funzioni della libreria di gestione delle stringhe Caratteri e stringhe Caratteri Sono i blocchi costitutivi di ogni programma:

Dettagli

Esame del 3 febbraio 2010

Esame del 3 febbraio 2010 Fondamenti di Informatica CdL in Ingegneria Gestionale a.a. 2009/2010 Docente: Andrea Prati Esame del 3 febbraio 2010 Esercizio 1 Vettori Sia data un vettore (array monodimensionale) di interi: int VETT[N];

Dettagli

Corso di Fondamenti di Informatica

Corso 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

Dettagli

Gestione dei File. dischi nastri cd

Gestione dei File. dischi nastri cd Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel

Dettagli

ZZZ01 Esercizi Vari. Esercizi per preparazione alla prova pratica di laboratorio

ZZZ01 Esercizi Vari. Esercizi per preparazione alla prova pratica di laboratorio ZZZ01 Esercizi Vari Esercizi per preparazione alla prova pratica di laboratorio Esercizio ZZZ01_01 - Elefanti Schizzinosi Nella savana africana c'e' una pozza d'acqua fresca alimentata da un acquedotto.

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Gestione delle stringhe in C

Gestione delle stringhe in C Gestione delle stringhe in C 1 Generalità Una stringa è un vettore di caratteri il cui ultimo elemento è un carattere terminatore (o di fine stringa), codificato dal carattere di codice 0 e rappresentato

Dettagli

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza vers.0 in lavorazione Docente SAFFI FABIO Contenuti Implementazione delle operazioni di base mediante main in un unico file sorgente... 2 Struttura

Dettagli

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica-Informatica-Telecomunicazioni a.a. 2001-2002 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 1 Trasferimento

Dettagli

Corso di Laurea in Matematica

Corso di Laurea in Matematica Corso di Laurea in Matematica Laboratorio di Informatica (a.a. 2002-03) Esercizi 1 Docente: Monica Nesi 1. Scrivere un programma in C che, dati in ingresso due numeri naturali, calcola il loro prodotto

Dettagli

Verifica che una grammatica sia Context Free nel GrammaReader

Verifica che una grammatica sia Context Free nel GrammaReader Verifica che una grammatica sia Context Free nel GrammaReader Sommario Dispensa di Linguaggi di Programmazione Corrado Mencar Pasquale Lops In questa dispensa si descrivono alcune soluzioni per verificare

Dettagli

Gli ARRAY in FORTRAN 90

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

Dettagli

Processi in Linux. Stru/ura file eseguibili

Processi in Linux. Stru/ura file eseguibili SISTEMI OPERATIVI Processi in Linux Stru/ura file eseguibili» ELF - Executable and Linking Format formato di default degli eseguibili in Linux definizione nel file include » StruGura un header contenente

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Operazioni su Liste Doppie e Circolari 2 1 Indice Liste puntate semplici: Gli elementi sono

Dettagli

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard dalla console 2 Esercizio 1 2 Eco

Dettagli

Appello di Informatica B

Appello di Informatica B Politecnico di Milano Facoltà di Ingegneria Industriale 19 febbraio 2004 Appello di Informatica B Prof. Angelo Morzenti - Prof. Vincenzo Martena Cognome e nome: Matricola: Tipo di prova: recupero I prova

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

Input/output in C e in C++

Input/output in C e in C++ FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò Corso di Visione Artificiale Matlab per Visione Samuel Rota Bulò Cos'è Matlab? MATLAB MATLAB - - MATrix MATrix LABoratory LABoratory Ambiente Ambiente di di sviluppo sviluppo ed ed esecuzione esecuzione

Dettagli

Corso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com

Corso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com Corso di Informatica Medica Esercitazione 1I 2013-2014! Alessandro A. Nacci nacci@elet.polimi.it - alessandronacci.com 1 2 Esercizio 1 Scrivere un programma che legga due array di interi da tastiera dica

Dettagli