Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.

Slides:



Advertisements
Presentazioni simili
Le funzioni dell’ “Operatore”.
Advertisements

Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
II° Circolo Orta Nova (FG)
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Stringhe di caratteri In linguaggio C.
Introduzione al linguaggio C Dr. Francesco Fabozzi Corso di Informatica.
Frontespizio Economia Monetaria Anno Accademico
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
Training On Line – CONA. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Annuali > Nuova Richiesta Si accede alla pagina di Richiesta.
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
EPA 01/02 III/1 I consumi di prodotti agro-alimentari: differenziazioni nello spazio e nel tempo Cosa spiega le differenze nei consumi tra individui diversi…
L’elasticità della domanda rispetto al “proprio prezzo”
EIE 06/07 II / 1 Strumenti delle politiche agricole in economia aperta equilibrio di mercato in economia aperta politiche di un paese importatore politiche.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e Puntatori Marco D. Santambrogio – Ver. aggiornata al 18 Marzo 2013.
Process synchronization
Programmazione 1 9CFU – TANTE ore
Laboratorio di Linguaggi P R I M O C O M P I T I N O Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
Canale A. Prof.Ciapetti AA2003/04
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Scritte scritte scritte scritte scritte scritte scritte Scritte scritte Titolo.
DHTML: Modello degli Eventi 1. 2 Sommario Introduzione Evento onclick Evento onload Gestione errori con onerror Gestione mouse con levento onmousemove.
Progetto di applicazioni grafiche. Disegno di forme complesse Prassi : un classe per ciascuna forma Progetta la forma individuando le componenti base.
Cos’è un problema?.
Strutture di controllo in C -- Flow Chart --
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia.
Esercizi C su array e matrici
Lezione 6 Encoder ottici
Le funzioni.
STILI DI APPRENDIMENTO ED EVOLUZIONE INTERFACCE
19 Lezione 21/5/04 Composizione dell'immagine 1 COMPOSIZIONE DELLIMMAGINE.
Contatore: esempio di circuito sequenziale
Settimana: 3-7 marzo Orariolunedimartedi Mercoledi 5 Giovedi 6 Venerdi lezione intro alla fis mod DR lezione intro alla fis mod DR.
L’ULTIMA GUIDA DELLA RAGAZZA PERFETTA
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
Melfi, 1 aprile 2011 – MediaShow 1 Social Network: possibilità di uso consapevole nella didattica Uso, consapevolezza, opportunità, proposte Caterina Policaro.
Esercitazione 1: Rispetto al test di ansia (Media=25; σ=5), calcolare:
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ISOIVA (LOCALE) TO ISOIVA (WEB) RIPARTIZIONE INFORMATICA UFFICIO APPLICATIVI AMMINISTRATIVI 13/04/2011 UNIVERSITÀ DEGLI STUDI DI FERRARA 1.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Esordienti RESPONSABILE TECNICO Portieri Calcio Gallico 2001
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
1 Questionario di soddisfazione ATA - a. sc. 2008/09 Il questionario è stato somministrato nel mese di aprile Sono stati restituiti 29 questionari.
LE SAI LE TABELLINE? Mettiti alla prova!.
1 Questionario di soddisfazione del servizio scolastico Anno scolastico 2011/2012 Istogramma- risposte famiglie.
1101 = x 10 x 10 x x 10 x = CORRISPONDENZE
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
14 marzo 2002 Avvisi:.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Bando di Residenza Cap Scheda ENTE 3ROL - Richieste On Line.
monitoraggio apprendimenti disciplinari scuola primaria "L.Tempesta"
1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14.
-17 Aspettative economiche – Europa Settembre 2013 Indicatore > +20 Indicatore 0 a +20 Indicatore 0 a -20 Indicatore < -20 Unione Europea Totale: +6 Indicatore.
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
Mercato del lavoro e condizione giovanile: la crisi si acuisce
TRASFORMATA DI FOURIER
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Transcript della presentazione:

Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore massimo nellarray e calcolare la media di tutti i suoi elementi. Nel dettaglio, si richiede di scrivere le seguenti funzioni C: –main prevede un ciclo globale in grado di far eseguire il programma più volte, finchè lutente non decide di terminare; main chiama la funzione visualizzaMenu per stampare il menu dei comandi ed esegue le azioni relative alla scelta dellutente ritornata da tale funzione (comprende il controllo sugli errori di input) –visualizzaMenu stampa il menu dei comandi, ricevendo un array di stringhe (lista delle opzioni) come parametro dal main, e ritorna lintero corrispondente alla scelta fatta dallutente; notare che larray di stringhe del menu va definito nel main e poi passato come parametro a visualizzaMenu –caricaVettore è chiamata dal main e carica larray con 100 interi casuali da 10 a 100 e stampa in modo leggibile gli elementi generati –cercaMassimo, chiamata dal main, trova e stampa il dato nellarray col valore più alto, oltre alla frequenza con cui tale valore compare nellarray; questa funzione non ritorna nulla al main, stampa autonomamente il massimo e la sua frequenza –calcolaMedia, chiamata dal main, ritorna la media dei dati dellarray (2 decimali) Anche il buon uso di rientri nel codice e commenti sarà oggetto di valutazione. Tema desame – 1° compitino 2005

Visualizzazione del programma (1/2)

Visualizzazione del programma (2/2)

01 #include /* Caricamento librerie – Per I/O e random */ 02 #include 03 #include 04 #define SIZE 100 /* Definizione di costante – Dimensione dellarray */ int visualizzaMenu ( char [ ] [50] ); /* Prototipi delle funzioni */ 07 void caricaVettore ( int [ ], int ); 08 void cercaMassimo ( int [ ], int ); 09 float calcolaMedia ( int [ ], int ); int main (){ /* Definizione della funzione principale */ char menuOperazioni [4] [50] = {/* Dichiarazioni di variabili */ 14 { "1) Carica larray }, 15 { "2) Ricerca il massimo }, 16 { "3) Calcola la media }, 17 { "0) Esci dal programma } 18 }; 19 int vettoreCasuale [SIZE], scelta = -1; 20 float media; 21 Sviluppo del main (1/2)

22 while ( scelta != 0 ){ /* Ciclo per eseguire più volte il programma */ 23 scelta = visualizzaMenu(menuOperazioni); /* Carica il menu */ 24 switch (scelta){ /* Decisione di cosa fare in base allinput utente */ 25 case 1: 26 caricaVettore(vettoreCasuale, SIZE); 27 break; 28 case 2: 29 cercaMassimo(vettoreCasuale, SIZE); 30 break; 31 case 3: 32 media = calcolaMedia(vettoreCasuale, SIZE); 33 printf( "\nLa media dei valori e' %5.2f\n\n, media ); 34 break; 35 case 0: /* Se linput è 0 non fa nulla e al prossimo giro esce */ 36 break; 37 default: /* Rifiuta ogni input diverso dai precedenti */ 38 printf( Scelta non corretta. Inserire un nuovo valore\n ); 39 break; /* Ma non esce, passa al giro successivo del ciclo*/ 40 } 41 } 42 } 43 Sviluppo del main (2/2)

44 /* Funzione che visualizza il menu e ritorna la scelta delloperazione da fare */ 45 int visualizzaMenu ( char menu [ ] [50] ){ 46 int i, selezione = 0; 47 printf( "\n\n\n\nMENU DEI COMANDI\n*********************\n ); 48 for ( i=0; i<4; i++ ) printf( "%s\n, menu[i] ); /* Stampa riga per riga */ 49 printf( "\nDigitare la scelta corrispondente alloperazione: ); 50 scanf( %d, &selezione ); 51 return selezione; 52 } /* Funzione che carica il vettore con numeri casuali */ 55 void caricaVettore ( int vettore [ ], int dimensione ){ 56 int valoreCasuale, i; 57 srand( time( NULL ) ); /* Randomizza la sequenza generata da rand() */ 58 for ( i=0; i<dimensione; i++ ){ /* Ciclo che riempie il vettore */ 59 valoreCasuale = 10 + ( rand() % 91); /* con numeri casuali */ 60 vettore[i] = valoreCasuale; 61 } 62 printf( \n ); 63 for ( i=0; i<dimensione; i++ ){ 64 printf( "%3d, vettore[i] ); 65 if ( i % 20 == 19 ) printf( \n ); 66 } 67 } /* Stampa il vettore originale */ Sviluppo delle funzioni (1/2)

68 69 /* Funzione che cerca e stampa sia il massimo che la sua frequenza */ 70 void cercaMassimo ( int vettore [ ], int dimensione ){ 71 int i, max = 0, fmax = 0; 72 for ( i=0; i<dimensione; i++ ){ 73 if ( vettore[i] > max ){ /* Se il dato è maggiore del massimo corrente */ 74 max = vettore[i]; /* esso diventa il nuovo massimo corrente */ 75 fmax = 1; /* e si resetta il contatore delle occorrenze */ 76 } 77 else if ( vettore[i] == max ) fmax++; /*Se il dato è uguale al */ 78 } /* massimo corrente, ne incrementa il contatore */ 79 printf( "\nIl massimo e' %d, presente %d volte\n\n, max, fmax ); 80 } /* Funzione che calcola la media dei valori del vettore passato */ 83 float calcolaMedia ( int vettore [ ], int dimensione ){ 84 int i, totale = 0; 85 for ( i=0; i<dimensione; i++) totale += vettore[i]; 86 return (float) totale / dimensione; 87 } Sviluppo delle funzioni (2/2)