Problem solving avanzato
|
|
- Bernardo Pastore
- 8 anni fa
- Visualizzazioni
Transcript
1 Problem solving avanzato Formulazione del problema Struttura dati e algoritmo Il programma 2 26 Politecnico di Torino 1
2 Dati in input (1/4) Sono dati due file di testo, contenenti le informazioni sulle operazioni di una ditta di import/export, che ha relazioni commerciali con società appartenenti a vari stati Un primo file (detto nel seguito F) contiene l elenco degli stati e delle società con cui esistono relazioni commerciali Un secondo file (detto nel seguito F1) contiene le informazioni su un certo numero di transazioni commerciali (con una delle società elencate in F) 4 26 Politecnico di Torino 2
3 Dati in input (2/4) Il file F contiene l elenco degli stati e delle società Nella prima riga due interi <nst> <nsoc> (separati da spazio): numero totale di stati e di società Nelle <nst> righe successive sono elencati gli stati, uno per riga, secondo il formato: <codice_stato> <nome_stato> <codice_stato> è un codice intero compreso tra e 99 (ogni stato ha un codice unico, non si garantisce che gli stati siano elencati per ordine crescente di codice) <nome_stato> è il nome dello stato, privo di spazi 5 Dati in input (3/4) Nelle <nsoc> righe finali del file sono elencate le società. Per ognuna, su una riga, viene riportato: <codice_stato> <nome_società> <codice_stato> è il codice dello stato cui appartiene la società <nome_società> è il nome della società 6 26 Politecnico di Torino 3
4 Dati in input (4/4) F1 contiene le informazioni su un insieme di transazioni commerciali, ognuna delle quali viene rappresentata, su una riga del file, secondo il formato: <nome_società> <importo> <data> <nome_società> è il nome della società <importo> (intero con segno) rappresenta l importo della transazione (negativo per importazione, positivo per esportazione) <data> è la data della transazione (formato gg/mm/aaaa) 7 Elaborazioni richieste (1/2) Leggere F e F1, i cui nomi sono ricevuti come argomenti sulla linea di comando Calcolare, e stampare su video Il numero totale delle transazioni (NT) e i bilanci complessivi delle transazioni di importazione e esportazione SI: somma degli importi relativi a importazioni SE: somma degli importi relativi a esportazioni 8 26 Politecnico di Torino 4
5 Elaborazioni richieste (2/2) Per ogni stato, il bilancio complessivo commerciale di import-export (sommatoria degli importi relativi a tutte le società appartenenti allo stato) Lo stato per cui è massimo il bilancio di importazione e quello per cui è massimo il bilancio di esportazione 9 Esempio F Germania 3 Francia Stati_Uniti 2 Giappone 1 Corea 1 Kia 4 BMW 4 Mercedes 3 Peugeot 3 Citroen 2 Honda 2 Mitsubishi Chrisler General_Motors Chevrolet F1 Mitsubishi 11 21/1/24 Chrisler -3 1/2/24 General_Motors -2 1/2/24 Citroen -7 24/11/24 Chrisler /12/24... General Motors /12/24 Chevrolet -6 16/12/ Politecnico di Torino 5
6 Struttura dati (1/2) Due tabelle, che contengono i dati letti dai file Tabella degli stati: contiene l elenco degli stati, identificati da codice e nome. Siccome i codici sono compresi tra e 99, è opportuno utilizzare il codice come indice in un vettore, per consentire la conversione da codice a nome con accesso diretto Tabella delle società: contiene l elenco delle società, per ognuna delle quali viene riportato il nome e il codice dello stato di appartenenza. La tabella permette di ricavare il codice dello stato a partire dal nome di una società Politecnico di Torino 6
7 Struttura dati (2/2) Variabili (scalari) per le statistiche richieste Sommatoria delle importazioni Sommatoria delle esportazioni Un vettore per il bilancio di import-export dei singoli stati. Tale bilancio può essere aggiunto (come ulteriore campo) alla tabella degli stati NON è necessaria una struttura dati per l elenco delle transazioni, che possono essere lette e manipolate una alla volta 13 Rappresentazione della struttura dati Tabella degli stati Tabella delle società Stati Uniti Corea Giappone... Francia Germania Kia BMW Mercedes Chevrolet Politecnico di Torino 7
8 Rappresentazione della struttura dati Tabella degli stati Tabella delle società Bilancio dello stato, inizialmente nullo Stati Uniti Corea Giappone... Francia Germania Kia BMW Mercedes Chevrolet 15 Algoritmo Raccolta delle statistiche import-export: calcolo di sommatorie, dopo aver filtrato i dati Transazioni negative (import) e positive (export) Transazioni per singoli stati Problema di ricerca del massimo, ripetuto per lo stato con massimo import e quello con massimo export Politecnico di Torino 8
9 Scomposizione in sottoproblemi Un primo livello di scomposizione è connesso alla natura del problema Calcolo statistiche import export Ricerca dei massimi Un ulteriore sottoproblema è costituito dalla conversione nome società codice stato che può essere ricondotta a un problema di ricerca nella tabella delle società Politecnico di Torino 9
10 Programma import-export (1/7) #include <stdio.h> #define MAXC 1 /* tipi struct per stati e societa' */ typedef struct { char *nome; int bilancio; t_stato; typedef struct { char *nome; int codice_stato; t_societa; /* prototipo di funzione */ int cercacodicestato( t_societa tab_soc[], int n, char *nome); 19 Programma import-export (2/7) int main (int argc, char *argv[]) { FILE *fp; int nst, nsoc, codice, importo, i, nt, si, se, maxi, maxe; char nome[maxc]; t_stato tab_st[1]; t_societa tab_soc[1]; /* lettura intestazione file F */ fp = fopen(argv[1],"r"); fscanf(fp, %d%d,&nst,&nsoc); /* Inizializzazione nomi */ for (i=; i<1; i++) tab_st[i].nome = NULL; 2 26 Politecnico di Torino 1
11 Programma import-export (2/7) int main (int argc, char *argv[]) { FILE *fp; int nst, nsoc, codice, importo, i, nt, si, I se, nomi maxi, di stati maxe; sono inizializzati a char nome[maxc]; NULL. I codici con nome NULL dopo t_stato tab_st[1]; la lettura sono non assegnati t_societa tab_soc[1]; /* lettura intestazione file F */ fp = fopen(argv[1],"r"); fscanf(fp, %d%d,&nst,&nsoc); /* Inizializzazione nomi */ for (i=; i<1; i++) tab_st[i].nome = NULL; 21 Programma import-export (3/7) /* lettura tabella stati */ for (i=; i<nst; i++) { fscanf(fp,"%d%s", &codice, nome); tab_st[codice].nome = strdup(nome); tab_st[codice].bilancio = ; /* lettura tabella societa' */ for (i=; i<nsoc; i++) { fscanf(fp,"%d%s", &codice, nome); tab_soc[i].nome = strdup(nome); tab_soc[i].codice_stato = codice; fclose(fp); Politecnico di Torino 11
12 Programma import-export (3/7) /* lettura tabella stati */ for (i=; i<nst; i++) { fscanf(fp,"%d%s", &codice, nome); tab_st[codice].nome = strdup(nome); tab_st[codice].bilancio = ; /* lettura tabella societa' */ for (i=; i<nsoc; i++) { fscanf(fp,"%d%s", Le &codice, informazioni nome); sugli stati sono tab_soc[i].nome = strdup(nome); immagazzinate nella casella avente tab_soc[i].codice_stato = codice; come indice il codice. Il bilancio è fclose(fp); inizializzato a 23 Programma import-export (3/7) Le informazioni /* letturasulle tabella societàstati sono */ immagazzinate for (i=; progressivamente i<nst; i++) { (con indici fscanf(fp,"%d%s", crescenti) &codice, nome); tab_st[codice].nome = strdup(nome); tab_st[codice].bilancio = ; /* lettura tabella societa' */ for (i=; i<nsoc; i++) { fscanf(fp,"%d%s", &codice, nome); tab_soc[i].nome = strdup(nome); tab_soc[i].codice_stato = codice; fclose(fp); Politecnico di Torino 12
13 Programma import-export (4/7) fp = fopen(argv[2],"r"); nt = si = se = ; while (fscanf(fp,"%s%d%*s", nome, &importo)!= EOF) { nt++; if (importo > ) se += importo; else si += importo; codice=cercacodicestato(tab_soc,nsoc,nome); tab_st[codice].bilancio += importo; fclose(fp); 25 Programma import-export (4/7) Filtro sui dati: fp = fopen(argv[2],"r"); nt = si = se = ; se importo > while (fscanf(fp,"%s%d%*s", export nome, altrimenti &importo)!= EOF) { nt++; import if (importo > ) se += importo; else si += importo; codice=cercacodicestato(tab_soc,nsoc,nome); tab_st[codice].bilancio += importo; fclose(fp); Politecnico di Torino 13
14 Programma import-export (4/7) fp = fopen(argv[2],"r"); nt = si = se = ; while (fscanf(fp,"%s%d%*s", nt++; if (importo > ) se += importo; else si += importo; codice=cercacodicestato(tab_soc,nsoc,nome); tab_st[codice].bilancio += importo; fclose(fp); nome, &importo)!= EOF) { Conversione nome-codice, fatta come sottoproblema di ricerca 27 Programma import-export (5/7) /* calcola stati con max. imp.-exp. */ maxi = maxe = -1; for (i=; i<nst; i++) if (tab_st[i].nome!= NULL) { if (tab_st[i].bilancio > ) { if (maxe< tab_st[i].bilancio > tab_st[maxe].bilancio) maxe = i; else if (tab_st[i].bilancio < ) { if (maxi< tab_st[i].bilancio < tab_st[maxi].bilancio) maxi = i; Politecnico di Torino 14
15 Programma import-export (5/7) /* calcola stati con max. imp.-exp. */ maxi = maxe = -1; for (i=; i<nst; i++) if (tab_st[i].nome!= NULL) { if (tab_st[i].bilancio > ) { if (maxe< tab_st[i].bilancio > tab_st[maxe].bilancio) maxe = i; else if (tab_st[i].bilancio < ) { if (maxi< Calcola tab_st[i].bilancio (indice dello) stato con < tab_st[maxi].bilancio) massimo export maxi = i; 29 Programma import-export (5/7) /* calcola stati con max. imp.-exp. */ maxi = maxe = -1; for (i=; i<nst; i++) if (tab_st[i].nome!= NULL) { if (tab_st[i].bilancio > ) { if (maxe< tab_st[i].bilancio > tab_st[maxe].bilancio) maxe = i; else if (tab_st[i].bilancio < ) { if (maxi< tab_st[i].bilancio < tab_st[maxi].bilancio) maxi = i; 3 26 Politecnico di Torino 15
16 Programma import-export (6/7) /* stampa statistiche globali */ printf("num. transazioni: %d\n", nt); printf("totali imp.-exp.: %d %d\n\n", si, se); /* stampa statistiche per stato */ for (i=; i<nst; i++) if (tab_st[i].nome!= NULL) printf("stato: %-3s BILANCIO: %8d\n", tab_st[i].nome,tab_st[i].bilancio); /* stampa max. import-export */ if (maxe>=) printf( Max. exp -> %s: %d\n", tab_st[maxe].nome,tab_st[maxe].bilancio); if (maxi>=) printf( Max. imp -> %s: %d\n", tab_st[maxi].nome,tab_st[maxi].bilancio); 31 Programma import-export (7/7) int cercacodicestato ( t_societa tab_soc[], int n, char *nome ) { int i; for (i=; i<n; i++) { if (strcmp(tab_soc[i].nome,nome)==) return (tab_soc[i].codice_stato); return -1; Politecnico di Torino 16
Dal problema al programma: introduzione al problemsolving
Dal problema al programma: introduzione al problemsolving in linguaggio C Capitolo 5: Problem-solving su problemi complessi G. Cabodi, P. Camurati, P. Pasini, D. Patti, D. Vendraminetto Maggioli Editore
DettagliProblem solving elementare su dati vettoriali
Problem solving elementare su dati vettoriali Introduzione Verifiche su sequenze di dati Selezione o ricerca di dati 2 2006 Politecnico di Torino 1 Introduzione (1/2) I problemi di verifica consistono
DettagliPolitecnico 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
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliEsame 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];
DettagliFondamenti 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
DettagliLab 11 Gestione file di testo"
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 11 Gestione file di testo" Lab15 1 Esercizio 1 n Realizzare un programma che, aperto un file di testo di nome
DettagliStrutture. 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
DettagliGestione 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
DettagliLe funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
DettagliAppello 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
DettagliI puntatori e l allocazione dinamica di memoria
I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in
DettagliCaratteri 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.
Dettaglivoid funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
DettagliUna funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente.
Ricorsione Funzioni ricorsive Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente. Un esempio di funzione ricorsiva
DettagliEsercizi 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
DettagliFondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'
Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit5.zip contenente i file necessari (solution di VS2008 e progetto compresi). Avvertenze per la consegna: apporre all inizio di
DettagliAppunti 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)
DettagliRICERCA 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
DettagliFondamenti di Informatica T-1, 2010/2011 Modulo 2. Prova d Esame 4A di Martedì 21 Giugno 2011 tempo a disposizione 2h
Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit4A.zip contenente i file necessari (progetto Visual Studio ed eventuali altri file di esempio). Avvertenze per la consegna:
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliAppunti 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)
DettagliLa selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
DettagliMatematica - 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...
DettagliEsercizio 1. Esercizio 2
Esercizio 1 Realizzare un programma che, aperto un file di testo di nome Prova.txt in modalità scrittura, provveda a leggere da input delle parole separate da spazi (stringhe di al più 63 caratteri) e
DettagliESERCIZIO 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
DettagliOTTAVA 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
DettagliEsercizio 1. Esercizio 1
Esercizio 1 Un registratore di cassa registra su di un file binario alcuni dati relativi agli scontrini emessi. In particolare, tramite una struttura dati di nome scontrino, il registratore di cassa tiene
DettagliRecord 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:. ::= ;
DettagliIntroduzione 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
DettagliAlcune regole di base per scrivere un programma in linguaggio C
Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza
DettagliLe stringhe. Le stringhe
Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliLinguaggio 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
DettagliESERCIZI 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
DettagliIntroduzione 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
DettagliIntroduzione 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
DettagliRAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI
RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI Diagramma di flusso L algoritmo può essere rappresentato in vari modi, grafici o testuali. Uno dei metodi grafici più usati e conosciuti è il cosiddetto diagramma
DettagliM:\Manuali\VARIE\GENERAZIONE REPORT PARAMETRICI.doc GENERAZIONE REPORT PARAMETRICI
M:\Manuali\VARIE\GENERAZIONE REPORT PARAMETRICI.doc GENERAZIONE REPORT PARAMETRICI Di seguito, riportiamo le istruzioni per la gestione delle query parametriche utile ad eventuali ricerche di casi particolari,
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliFondamenti 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
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliCompito di Fondamenti di Informatica
Compito di Fondamenti di Informatica In un magazzino viene utilizzato un archivio informatico, nel quale vengono memorizzate le informazioni relative ai prodotti contenuti nel magazzino e che ne permette
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliDefinizione di nuovi tipi in C
Definizione di nuovi tipi in C typedef Ancora sui tipi di dato Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe
DettagliFile di testo e file binari Directory
File di testo e file binari Directory Dove salvare i file perché vengano ritrovati dal programma? CASO 1 Programma eseguito da ambiente di lavoro (MS Visual C++). La directory in cui viene creato/letto
DettagliFunzioni. 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
DettagliProgrammazione 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
DettagliUniversità di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
DettagliLa struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
Dettagli2. 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
DettagliMATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
DettagliVettori Algoritmi elementari di ordinamento
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Vettori Algoritmi elementari di ordinamento Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale
DettagliUniversità degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI
ORDINAMENTO DEI DATI Quando si ordina un elenco (ovvero una serie di righe contenenti dati correlati), le righe sono ridisposte in base al contenuto di una colonna specificata. Distinguiamo due tipi di
DettagliIndirizzo di una funzione. Puntatori a funzioni. Definizione di variabili. Definizione di variabili
Indirizzo di una funzione 2 Puntatori a funzioni Ver. 2.4 Si può chiamare una funzione utilizzando l indirizzo di memoria dal quale inizia il codice eseguibile della funzione stessa L indirizzo di memoria
DettagliVisibilità dei Membri di una Classe
Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce
DettagliAppunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio
Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto
DettagliEsercizio: gestione di un conto corrente
Esercizio: gestione di un conto corrente Si realizzi un conto corrente bancario mediante: - una ASTRAZIONE DI DATO - un TIPO DI DATO ASTRATTO Il conto corrente è caratterizzato dalle seguenti informazioni:
DettagliEsercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)
Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliInformatica 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,
DettagliPROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008
PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Descrivere
DettagliPolitecnico di Torino
Politecnico di Torino INFORMATICA II Esame del 29 Novembre 2008 Un file di testo di lunghezza ignota contiene le misure delle potenze di segnale radio di vari Access Point [AP] (l apparecchiatura che viene
DettagliCos è 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
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliINFORMATICA. Esercizi
INFORMATICA Esercizi Esempio: polinomi Realizzare un programma strutturato in linguaggio C che richieda da tastiera il grado di due polinomi P1 e P2. Successivamente il programma dovrà richiedere i coefficienti
DettagliAlgoritmi 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
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliCHIUSURE di MAGAZZINO di FINE ANNO
CHIUSURE di MAGAZZINO di FINE ANNO Operazioni da svolgere per il riporto delle giacenze di fine esercizio Il documento che segue ha lo scopo di illustrare le operazioni che devono essere eseguite per:
DettagliLab. di Sistemi Operativi - Esercitazione n 9- -Thread-
Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- 1 Sommario Esercizi su: Comunicazione tra processi: la funzione pipe() Condivisione dati e codice tra due o più processi: concetto di Thread 2 -
DettagliConcetti 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
DettagliLab. 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 -
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 2 - Funzioni Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2.
DettagliSono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza
Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di
DettagliFondamenti di Informatica L-A
Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1
Dettaglihttp://www.programmiamo.altervista.org/c/oop/o...
PROGRAMMIAMO Programma per la gestione di un conto corrente C++ - Costruttore e distruttore C++ Home Contatti Supponiamo ora di voler scrivere un programma a menu per la gestione di un conto corrente bancario.
DettagliDna File Converter Software per importazione esportazione dati Unisap-Essepaghe. Manuale utente
Dna File Converter Software per importazione esportazione dati Unisap-Essepaghe Manuale utente Premessa Il presente documento ha lo scopo di illustrare le funzionalità presenti nel software di importazione
DettagliStruttura dati FILE. Concetto di FILE
Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file
DettagliPROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara
LICEO SCIENTIFICO STATALE "FILIPPO LUSSANA" V i a A n g e l o Ma j, 1 2 4 1 2 1 B E R G A M O 035 237502 Fax: 035 236331 Sito e contatti: www.liceolussana.com Codice fiscale: 80026450165 PROGRAMMA SVOLTO
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 14 giugno 2013
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 14 giugno 2013 Testo Il database di una banca è costituito da due vettori paralleli. Il primo
DettagliSoftware H1 Hrms. Procedure di import - export dati Specifiche delle Tabelle di frontiera
Software H1 Hrms Procedure di import - export dati Specifiche delle Tabelle di frontiera Specifiche generali per le attività di import / export dati dal sistema H1 Ing. Michele Boscaro EBC Consulting Gestione
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/03/07 Nota Questi lucidi sono tratti
DettagliDI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1
DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica
DettagliSemantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.
Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione VI Tatiana Zolo tatiana.zolo@libero.it 1 LE STRUCT Tipo definito dall utente i cui elementi possono essere eterogenei (di tipo diverso). Introduce un nuovo tipo di
DettagliINTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
DettagliDefinire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};
ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 18 dicembre 2007 Esercizio 1: rappresentazione di una tabella di occorrenze L obiettivo è quello di rappresentare in modo efficiente
DettagliEsercizio 1 (17 punti)
Esercizio 1 (17 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 1 o luglio 2014 Un file di testo è utilizzato
DettagliEsercitazione 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,
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 25 Marzo 2005 Esercizio 1 (2 punti) Convertire in formato binario, ed esadecimale il numero 372. Mostrare il procedimento usato per ottenere il risultato.
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Implementazioni di Liste Doppiamente Puntate e Circolari Corso di Laurea Codice insegnamento Email docente Anno accademico Informatica 13917
DettagliLABORATORIO 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
DettagliLaboratorio 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
DettagliInformatica 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,
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliModuli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente
Moduli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente Vediamo come utilizzare Word per costruire un modulo compilabile, ovvero una scheda che contenga delle parti fisse di
Dettagli