cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Documenti analoghi
Nel seguito, istruzione1 e istruzione2 possono essere un blocco di codice { }, cioè più istruzioni

Gestire le situazioni di errore

if else Fondamenti di Informatica (Modulo B) !""#$ % ( #if else ) " *+ #switch if (Condizione) Istruzione

Laboratorio di informatica Ingegneria meccanica

Esercizi. FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo. Funzioni

Strutture come parametri di funzioni

Programmazione Procedurale in Linguaggio C++

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

Ambienti di Programmazione per il Software di Base

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi

Laboratorio di programmazione

Classe Squadra. #include <iostream> using namespace std;

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018

C++ funzioni Alberto Ferrari. Alberto Ferrari Programmazione di applicazioni SW

Fondamenti di Informatica

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Nota: Si consideri il valore di pi greco.

Fondamenti di Informatica

Programmazione Procedurale in Linguaggio C++

Dal problema al programma

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Funzioni: variabili e tipi locali e globali, passaggio parametri per valore, prototipo

Strutturare il codice: sottoprogrammi

uguale livello gerarchico non vi sono funzioni più importanti di altre main main

Lab 04 Programmazione Strutturata"

Ho raggiunto la fine del file Provo a leggere un intero, ma il dato che prelevo dal file non è un intero

Corso di Fondamenti di Informatica Prof. Aldo Franco Dragoni Prova scritta del 21/06/2010. Avvertenze. Specifiche

Introduzione alla Ricorsione

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Programmazione Procedurale in Linguaggio C++

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statci. Dichiarazione e chiamata di metodi statci

Le funzioni. Funzioni. Funzioni. Funzioni

L organizzazione dei programmi

Corso di Informatica A.A

Funzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x)

Istruzioni Condizionali

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esempio: quanto mi piace questo corso! qufuafantofo mifi pifiafacefe qufuefestofo coforsofo!

Tipi strutturati - struct

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {

CL 3 - Es_01.cpp. #include <iostream> using namespace std;

Esempio di programma che utilizza funzioni

Programmazione Procedurale in Linguaggio C++

Prova Scritta del 20/09/10

L AMBIENTE CODE BLOCKS E L IO

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Le strutture di controllo in C++

Le funzioni: la dichiarazione

Le funzioni: dichiarazione, definizione e chiamata Il passaggio degli argomenti per valore e riferimento La funzione main() Le regole di visibilità

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Passaggio dei parametri. Passaggio dei parametri

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica II 3. Funzioni in C++ (parte 1)

Laboratorio di Informatica I

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {

1 - Visualizzare una scritta sullo schermo.

6SC Informatica 9/12/2015

La funzione main() La funzione main(), presente in tutti i programmi C, è una funzione come tutte le altre

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

Lezione 6: Array e puntatori

Una funzione riceve dati di ingresso in corrispondenza ai parametri

ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video.

Programmazione Procedurale in Linguaggio C++

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica B [079904]

Sottoprogrammi: astrazione procedurale

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

ESERCIZI DI PROGRAMMAZIONE C/C++ (con alcune tracce di soluzioni) aa e , prof. Garzotto

Concetto di stream. c i a o \0. c i a o \0. c i a o \0

Programmazione Procedurale in Linguaggio C++

Corso di Fondamenti di Informatica Tipi strutturati: Stringhe

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE

#include <iostream> using namespace std; // int main ( ) { // --- Dichiarazione delle variabili int N ; float A, Pot;

Unità A1 Funzioni MODULO Java 2

Esercitazioni di. Arnaud Nguembang Fadja : Alessandro Bertagnon :

C array. Problema: scrivere un programma che, ricevuto in input un intero n ed n interi positivi, li stampi in ordine inverso.

Concetto di Funzione e Procedura METODI in Java

Laboratorio di informatica Ingegneria meccanica

Funzioni. Elementi di informatica IGLP

Esempi (pseudo-c):! float f(){ * sin(0.75); } float f1(int x) { 2 + x * sin(0.75); } Esempio

Politecnico di Milano Facoltà di Ingegneria Civile, Ambientale e Territoriale. Informatica (ICA-LC) [083668]

Array. Definizione e utilizzo di vettori

Appunti sul linguaggio di programmazione C++

Per fare riferimento ad un elemento, specificare il nomedel vettore. numerodi posizione(indice)

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java

ERRORI DI PROGRAMMAZIONE INDICE

Esercizi. La funzione swapint() primo tentativo

Sotto programmi - Funzioni in C

Il linguaggio C. Istruzioni, funzioni, dati strutturati

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano

Lab 06 Funzioni semplici

Transcript:

Funzioni int n, ris; cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl; cout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Funzioni Sottoprogrammi che possono essere utilizzati, anche più volte, all interno di un programma Nome della funzione void raddoppia() { int n; cout << "Inserisci un numero:" << endl; cin >> n; int ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Funzioni void raddoppia() { int n; cout << "Inserisci un numero:" << endl; cin >> n; int ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl; raddoppia(); raddoppia(); chiamata della funzione

Funzioni raddoppia(); raddoppia(); NO! La funzione deve essere dichiarata prima del suo utilizzo void raddoppia() { int n; cout << "Inserisci un numero:" << endl; cin >> n; int ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Funzioni void raddoppia(); raddoppia(); raddoppia(); OK Pre-dichiarazione della funzione, specificandone il suo prototipo void raddoppia() { int n; cout << "Inserisci un numero:" << endl; cin >> n; int ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;

Funzioni: visibilità delle variabili void somma() { int s = a + b; int a = 3; int b = 6; somma(); NO! Le variabili a e b non sono visibili all interno della funzione

Funzioni: visibilità delle variabili void somma() { int s = a + b; Memoria «visibile» dalla funzione somma() s? int a = 3; int b = 6; somma(); Memoria «visibile» dal main a 3 b 6

Funzioni: uso dei parametri void somma(int n, int m) { int s = n + m; int a = 3; int b = 6; somma(a, b); Parametri formali della funzione Ogni parametro è specificato da tipo e nome. Sono variabili locali alla funzione, nelle quali viene copiato il valore del parametro attuale Parametri attuali della funzione

Funzioni: uso dei parametri void somma(int n, int m) { int s = n + m; int a = 3; int b = 6; somma(a, b); Copia dei valori dei parametri al momento della chiamata alla funzione n m s a b 3 6 9 3 6

Funzioni: uso del risultato void somma(int n, int m) { int s = n + m; int a = 3; int b = 6; NO! La variabile s non è visibile all esterno della funzione n m s 3 6 9 somma(a, b); a 3 cout << "La somma e " << s << endl; b 6

Funzioni: uso del risultato int somma(int n, int m) { int s = n + m; return s; int a = 3; int b = 6; int ris = somma(a, b); Istruzione return Termina la funzione e fornisce al programma chiamante il valore dell espressione indicata (per esempio, il valore di una variabile) cout << "La somma e " << ris << endl;

Funzioni: uso del risultato int somma(int n, int m) { int s = n + m; return s; int a = 3; int b = 6; int ris = somma(a, b); Tipo restituito Specifica il tipo dell espressione che compare nell istruzione return cout << "La somma e " << ris << endl;

Funzioni: uso del risultato int somma(int n, int m) { int s = n + m; return s; int a = 3; int b = 6; int ris = somma(a, b); Copia del valore del risultato al termine della funzione cout << "La somma e " << ris << endl; n m s a b ris 3 6 9 3 6 9

Utilizzo della funzione con parametri diversi int somma(int n, int m) { int s = n + m; return s; int a=3, b=6; int ris; ris = somma(a, b); La stessa funzione viene chiamata con parametri attuali diversi (esegue le stesse operazioni su input diversi) int c=10, d=-3; ris = somma(c, d); cout << "La somma e " << ris << endl;

Funzioni: istruzione return Esempio di utilizzo di diverse istruzioni return char segno(int n) { if (n>0) return P ; if (n==0) return N ; if (n<0) return Z ; int main() { int a cout <<... cin >> a; char ris = segno(a);...

Funzioni void Una funzione può non restituire alcun valore In questo caso, l istruzione return può essere omessa Nell esempio, la funzione deve solo stampare a video, per cui il main non si aspetta alcun risultato dalla funzione void stampa(int n) { cout << "n = " << n << endl; int main() { int a;... stampa(a);...

Funzioni: esercitazione Esercizio 1: scrivere una funzione che chiede all utente di inserire un intero maggiore o uguale a zero da tastiera e ne restituisce il valore. La funzione continua a chiedere un valore da tastiera finché l utente inserisce numeri negativi. Esercizio 2: scrivere una funzione che prende come parametri due numeri interi e restituisce il valore true se il primo è maggiore del secondo, restituisce false altrimenti. Esercizio 3: scrivere una funzione che prende come parametri due numeri reali, a e b, effettua la divisione a/b e restituisce il risultato. Esercizio 4: scrivere una funzione che prende come parametro un numero reale e lo visualizza a video. Continua

Funzioni: esercitazione Usando le funzioni definite precedentemente, scrivere un main che: Legge due interi maggiori di zero da tastiera Divide il maggiore dei due per il minore Mostra a video il risultato della divisione

Funzioni: esercitazione Esercizio 1 int legginumero() { int n; do{ cout << "Inserisci numero >=0" << endl; cin >> n; while(n<0); return n;

Funzioni: esercitazione Esercizio 2 bool maggiore(int a, int b) { if (a>b) return true; return false;

Funzioni: esercitazione Esercizio 3 float dividi(float a, float b) { if (b==0) { cout << "Errore! Den. uguale a 0" << endl; return a/b;

Funzioni: esercitazione Esercizio 4 void stampa(float n) { cout << "Il valore e' " << n << endl;

Funzioni: esercitazione int primo = legginumero(); int secondo = legginumero(); float div; if ( maggiore(primo,secondo) ) div=dividi(primo,secondo); else div=dividi(secondo,primo); stampa(div);