Linguaggio C. funzioni e procedure. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Documenti analoghi
Esercizio. Alcuni esercizi su algoritmi e programmazione. Schema a blocchi. Calcolo massimo, minimo e media

Laboratorio di Informatica I

RICHIAMI SULLA RAPPRESENTAZIONE IN COMPLEMENTO A 2

Analisi ammortizzata. Illustriamo il metodo con due esempi. operazioni su di una pila Sia P una pila di interi con le solite operazioni:

Dipartimento di Statistica Università di Bologna. Matematica Finanziaria aa Esercitazione: 4 aprile 2013

Linguaggio C. tipi di dati definiti dall utente. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )

Ottimizzazione nella gestione dei progetti Capitolo 6 Project Scheduling con vincoli sulle risorse CARLO MANNINO

PROCEDURA INFORMATIZZATA PER LA COMPENSAZIONE DELLE RETI DI LIVELLAZIONE. (Metodo delle Osservazioni Indirette) - 1 -

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

Ministero della Salute D.G. della programmazione sanitaria --- GLI ACC - L ANALISI DELLA VARIABILITÀ METODOLOGIA

Algebra Sia A un anello commutativo. Si ricorda che in un anello commutativo vale il teorema binomiale, cioè. (a + b) n = a i b n i i.

Controllo e scheduling delle operazioni. Paolo Detti Dipartimento di Ingegneria dell Informazione Università di Siena

La regressione. La Regressione. La Regressione. min. min. Var X. X Variabile indipendente (data) Y Variabile dipendente

Introduzione al Machine Learning

Code a priorità (Heap) Definizione Heapify (mantenimento coda a priorità) Costruire un Heap Insert, Maximum e Extract-Max

Metodi e Modelli per l Ottimizzazione Combinatoria Progetto: Metodo di soluzione basato su generazione di colonne

Trigger di Schmitt. e +V t

Corso di laurea in Ingegneria Meccatronica. DINAMICI CA - 04 ModiStabilita

Compito di Fondamenti di Informatica

5: Strato fisico: limitazione di banda, formula di Nyquist; caratterizzazione del canale in frequenza

Prova di verifica n.0 Elettronica I (26/2/2015)

McGraw-Hill. Tutti i diritti riservati. Caso 11

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL

Variabili statistiche - Sommario

Esercizi. I File ed il C

Dipartimento di Statistica Università di Bologna. Matematica Finanziaria aa Esercitazione: 16 marzo 2012

3. Esercitazioni di Teoria delle code

Premessa essa sulle soluzioni

Leggere i dati da file

Macchine. 5 Esercitazione 5

Il modello markoviano per la rappresentazione del Sistema Bonus Malus. Prof. Cerchiara Rocco Roberto. Materiale e Riferimenti

MATEMATICA FINANZIARIA 1 ECONOMIA AZIENDALE. Cognome... Nome Matricola..

LEZIONE 2. Riassumere le informazioni: LE MEDIE MEDIA ARITMETICA MEDIANA, MODA, QUANTILI. La media aritmetica = = N

PARENTELA e CONSANGUINEITÀ di Dario Ravarro

{ 1, 2,..., n} Elementi di teoria dei giochi. Giovanni Di Bartolomeo Università degli Studi di Teramo

Statistica e calcolo delle Probabilità. Allievi INF

LE FREQUENZE CUMULATE

V n. =, e se esiste, il lim An

I MODELLI MULTISTATO PER LE ASSICURAZIONI DI PERSONE

Manuale di istruzioni Manual de Instruções Millimar C1208 /C 1216

Fondamenti di Visione Artificiale (Seconda Parte) Corso di Robotica Prof.ssa Giuseppina Gini Anno Acc /2007

Test delle ipotesi Parte 2

STATISTICA DESCRITTIVA - SCHEDA N. 5 REGRESSIONE LINEARE

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Modelli per la Logistica: Single Flow One Level Model Multi Flow Two Level Model

Gli Operatori. Università degli Studi di Brescia

I fabbisogni standard nel settore sanitario Commento allo schema di decreto legislativo

Linguaggio C - Funzioni

9.6 Struttura quaternaria

Ettore Limoli. Lezioni di Matematica Prof. Ettore Limoli. Sommario. Calcoli di regressione

Apprendimento Automatico e IR: introduzione al Machine Learning

Problem solving elementare su dati vettoriali

Studio grafico-analitico di una funzioni reale in una variabile reale

Valore attuale di una rendita. Valore attuale in Excel: funzione VA

Scrittura formattata - printf

* * * Nota inerente il calcolo della concentrazione rappresentativa della sorgente. Aprile 2006 RL/SUO-TEC 166/2006 1

$%&'$%()($ * +,* -. )) )/

Lezione n.13. Regime sinusoidale

La contabilità analitica nelle aziende agrarie

Fondamenti di Informatica T-1, 2010/2011 Modulo 2. Prova d Esame 4A di Martedì 21 Giugno 2011 tempo a disposizione 2h

Il campionamento casuale semplice

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata

STATISTICA DESCRITTIVA CON EXCEL

Prova Scritta del 19/07/10

Risoluzione quesiti I esonero 2011

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza.

Programmazione e Controllo della Produzione. Analisi dei flussi

Lezione 9: Strutture e allocazione dinamica della memoria

Introduzione al linguaggio C Gli array

ESERCIZI SULLE VARIABILI CASUALI DISCRETE

Capitolo 7. La «sintesi neoclassica» e il modello IS-LM. 2. La curva IS

Struttura degli indirizzi dei socket

Fondamenti di Informatica T. Linguaggio C: i puntatori

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

Capitolo 3 Covarianza, correlazione, bestfit lineari e non lineari

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Appunti sulle curve di Bézier

SOLUZIONE 1. typedef struct { int miglia;int yarde;int piedi;int pollici;} misurauk ;

L AUTORITÀ PER L ENERGIA ELETTRICA E IL GAS

Esempio: Array di struct

La retroazione negli amplificatori

Linguaggio C: puntatori

Fondamenti di Informatica T. Linguaggio C: i puntatori

Prova di recupero di Informatica B Corsi di Laurea in Ingegneria Meccanica prof. Francesco Amigoni 20 febbraio 2004

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Il pendolo di torsione

Il metodo della frazione critica per la stima delle CSR per gli Idrocarburi

Università degli Studi di Cassino, Anno accademico Corso di Statistica 2, Prof. M. Furno

VA TIR - TA - TAEG Introduzione

Corrente elettrica e circuiti

Analisi dei flussi 182

Induzione elettromagnetica

Gestione dei File in C

Corso di Statistica (canale P-Z) A.A. 2009/10 Prof.ssa P. Vicard

Tutti gli strumenti vanno tarati

La sintassi del C APPENDICE H

B - ESERCIZI: IP e TCP:

Problemi variazionali invarianti 1

Transcript:

Lnguaggo C funzon e procedure Unverstà degl Stud d Bresca Docente: Massmlano Gacomn

Un esempo Acqusre dall utente un numero ntero n, rpetendo l acquszone se è prmo. Successvamente, stampare 5 numer prm superor a n. Vedamo come rsolveremmo l problema con le strutture note Element d Informatca e Programmazone Unverstà d Bresca 2

man(){ nt trovato, j; long nt n, ; prntf("insersc un numero non prmo\n"); do{ scanf("%d", &n); trovato=0; for(=2; <=n/2;++) f(n%==0) trovato=1; whle (! trovato); Determna se prmo for(j=0;j<5;j++){ do{ n++; trovato=0; for(=2; <=n/2;++) f(n%==0) trovato=1; whle (trovato); prntf("%d\n", n); system("pause"); Determna se prmo Element d Informatca e Programmazone Unverstà d Bresca 3

Una soluzone pù elegante: defnamo la funzone prmo man(){ nt prmo(long nt num){ long nt ; nt trovato=0; for(=2; <=num/2;++) f(num%==0) trovato=1; return(!trovato); long nt n; nt ; prntf("insersc un numero non prmo\n"); do scanf("%d", &n); whle(prmo(n)); for(=0;<5;++){ do n++; whle(!prmo(n)); prntf("%d\n", n); system("pause"); Element d Informatca e Programmazone Unverstà d Bresca 4

Defnzone d funzon n C Esempo Parametr formal (argoment della funzone) Tpo del valore resttuto float potenza(float, nt n){ nt ; float pot=1; for(=1;<=n;++) pot=pot*; return pot; NB: funzone (float, nt) float resttusce n Element d Informatca e Programmazone Unverstà d Bresca 5

Defnzone d funzon n C Esempo Parametr formal (argoment della funzone) Tpo del valore resttuto float potenza(float, nt n){ nt ; float pot=1; for(=1;<=n;++) pot=pot*; return pot; Resttusce l valore (d tpo float) NB: funzone (float, nt) float resttusce n Element d Informatca e Programmazone Unverstà d Bresca 6

Defnzone d funzon n C Esempo 5.5 2 30.25 float potenza(float, nt n){ nt ; float pot=1; for(=1;<=n;++) pot=pot*; return pot; NB: funzone (float, nt) float resttusce n Element d Informatca e Programmazone Unverstà d Bresca 7

Defnzone d funzon n C (n generale) Tpo del valore resttuto Parametr formal (argoment della funzone) tpo nome_funzone(tpo 1 arg 1,, tpo n arg n ){ Defnzone d varabl local return val; Resttusce l valore (d tpo ) Element d Informatca e Programmazone Unverstà d Bresca 8

Chamata d funzon n C Se nel programma voglamo usare la funzone defnta, dobbamo chamarla passandole parametr attual Esempo precedente b= potenza(5.5, 2); In generale nome_funzone(arg_att 1,, arg_att n ) float potenza(float, nt n){ return pot; Parametr attual: sono valor cu tp devono corrspondere a quell de parametr formal Element d Informatca e Programmazone Unverstà d Bresca 9

Esecuzone delle funzon e passaggo de parametr n C Prma della chamata Programma chamante b b= potenza(5.5, 2); Funzone Potenza n Parametr formal pot Element d Informatca e Programmazone Unverstà d Bresca 10

Esecuzone delle funzon e passaggo de parametr n C Chamata: passaggo de parametr Programma chamante b b= potenza(5.5, 2); Funzone Potenza n 5.5 2 Parametr formal pot Element d Informatca e Programmazone Unverstà d Bresca 11

Esecuzone delle funzon e passaggo de parametr n C Rtorno Programma chamante b b= potenza(5.5, 2); 30.25 Funzone Potenza n 5.5 2 Parametr formal pot 30.25 return pot; Element d Informatca e Programmazone Unverstà d Bresca 12

Esecuzone delle funzon e passaggo de parametr n C Dopo l rtorno Programma chamante b 30.25 b= potenza(5.5, 2); Funzone Potenza n Parametr formal pot return pot; valor non vengono conservat! Element d Informatca e Programmazone Unverstà d Bresca 13

Le procedure In C: funzon che non rtornano un valore (tpo rtorno vod) Esempo typedef struct { char nome[20]; char cognome[20]; nt eta; persona; vod stampadat(persona p){ prntf( Nome: %s\n, p.nome); prntf( Cognome: %s\n, p.cognome); prntf( %d ann\n, p.eta); Element d Informatca e Programmazone Unverstà d Bresca 14

Vsbltà delle varabl (1) Programma Procedura y y Element d Informatca e Programmazone Unverstà d Bresca 15

Vsbltà delle varabl (1) Programma Procedura y y - Le varabl global sono accessbl dalla procedura - Le varabl local (nclus parametr formal) mascherano le varabl global con lo stesso nome - Come noto, le local non lascano tracca dopo l uscta dalla procedura Element d Informatca e Programmazone Unverstà d Bresca 16

Vsbltà delle varabl (2) VARIABILE INDEFINITA Procedura y Programma y Element d Informatca e Programmazone Unverstà d Bresca 17

ESEMPIO 1 man(){ nt a=2, b=5; nt =0, j; nt mul(nt a, nt b){ nt ; =a*b; return ; j = mul(a, b); system("pause"); NB: rmane 0 ESEMPIO 2 man(){ nt a=2, b=5; nt =0, j; nt mul(nt a, nt b){ =a*b; return ; j = mul(a, b); system("pause") NB: dventa 10 ESEMPIO 3 nt mul(nt a, nt b){ =a*b; return ; man(){ nt a=2, b=5; nt =0, j; j = mul(a, b); system("pause"); NB: non compla!