La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Giampaolo Brancatello

Presentazioni simili


Presentazione sul tema: "Giampaolo Brancatello"— Transcript della presentazione:

1 Giampaolo Brancatello
Metodi (1° parte) Giampaolo Brancatello

2 Sommario Metodi Tipi di metodo Senza valore di ritorno
Con valore di ritorno Passaggio di parametri Nessun Parametro Passaggio per valore Passaggio per riferimento ref out

3 Usiamo sempre dei metodi ….
Password Input1 Input2 Interruttore “Apriti” Calcolatore Output

4 Metodi Predefiniti in C#
Console.WriteLine(” Hello world!”); double n = Math.Sqrt(9); parametri Hello world! 9 Console.WriteLine Math.Sqrt 3

5 Metodi Predefiniti in C#
int N = int.Parse(”5”); double risp =Math.Max(9, 2); String “5” 9 2 int.Parse Math.Max Int 5 9

6 una funzione/procedura situata all’interno di una Classee
Cosa sono i metodi ? Un Metodo è una funzione/procedura situata all’interno di una Classee System.Console.WriteLine(“Hello World!”);

7 Tipi di metodo J = Math.Max(5, 20);
1. Metodi senza valore di ritorno Procedura Console.WriteLine(“Hello World!”); Nome metodo Parametro Nome Classe 2. Metodi con valore di ritorno Funzione J = Math.Max(5, 20); J=20 Nome Classe parametro Nome Metodo

8 Senza valore di ritorno (void)
Tipi di Metodo n1 n2 Hello world! Math.Max Console. WriteLine Max di n1 & n2 Senza valore di ritorno (void) Con valore di ritorno

9 Metodi : Esempio * ** Program End using System; Classe Metodo_Esempio { static void Main() { displaybox(); Console.WriteLine("Program End"); } static void displaybox() { Console.WriteLine("x"); Console.WriteLine("xx"); Monitor 1 3 2

10 Sommario Metodi: nozioni di base Utilizzo dei Metodi
Modalità di passaggio dei parametri Passaggio per valore Passaggio per riferimento

11 1.Definire il metodo Metodo
Utilizzo dei metodi 1.Definire il metodo Metodo 2.Richiamare il Metodo Nota: spesso si usa il termine “invocare” il metodo per indicare il passo 2

12 Definizione di metodi in C#
static <return-tipo> <nome-metodo>(<lista parametri>) { <const/ dichiarazione di variabile>; <istruzioni>; } #note sul: tipo di ritorno può essere int, double, string, … ed è necessario utilizzare return void = Senza valore di ritorno

13 Esempi di dichiarazione di metodi
static void displaybox () { } static int calage () { } static int calbox(int x,int y) { }

14 Esempio1: Senza valori di ritorno
using System; Classe NReturned { static void Main() { Console.WriteLine(”Hello, Pippo”); } HelloP Hello, Pippo

15 Esempio1: Non-Returned Value
using System; Classe NReturned { static void HelloP() { Console.WriteLine(”Hello, Pippo”); } static void Main() { HelloP(); Hello Pippo

16 Esempio2: Senza valori di ritorno con parametri
using System; Classe NReturned { static void Main() { Console.WriteLine(”Ciao, AAA”); Console.WriteLine(”Ciao, BBB”); Console.WriteLine(”Ciao, CCC”); } string string Nome Ciao Ciao, Nome

17 Esempio2: Senza valori di ritorno con parametri
using System; Classe NReturned { static void Ciao(string Nome) { Console.WriteLine(”Ciao, {0}”, Nome); } static void Main() { Ciao(”AAA”); Ciao(”BBB”); Ciao(”CCC”); Ciao string Nome Ciao, Nome Monitor Ciao, AAA Ciao, BBB Ciao, CCC

18 **** * **** * **** * **** *
Esempio 3 static void Main(){ int i,j,n; Console.WriteLine("Square size = 2"); for(i=0;i<2;i++){ for(j=0;j<2;j++) Console.Write("*"); Console.WriteLine(); } Console.WriteLine("Square size = 4"); for(i=0;i<4;i++){ for(j=0;j<4;j++) int n DrawSquare Video ... **** * **** * **** * **** * ... Square size = 2 ** ** Square size = 4 **** **** ... ...

19 **** * **** * **** * **** *
Esempio 3 static void Main(){ Console.WriteLine("Square size = 2"); drawSquare(2); Console.WriteLine("Square size = 4"); drawSquare(4); } static void drawSquare(int n){ int i,j; for(i=0;i<n;i++){ for(j=0;j<n;j++) Console.Write("*"); Console.WriteLine(); Monitor DrawSquare int n **** * **** * **** * **** * ... Square size = 2 ** ** Square size = 4 **** **** **** ****

20 Self Test 1 Scrivi il metodo PrintNumber(n) Esempio PrintNumber
Riceve come n (intero e positivo) Stampa a video n Esempio int n 7 PrintNumber PrintNumber n

21 Self Test 1 static void PrintNumber(int n) { int i;
Write the MetodiPrintNumber(n) Recieve parametro n Show n n static void PrintNumber(int n) { int i; for(i=1;i<=n;i++) Console.Write(i); }

22 Sommario Metodo tipo di Metodo Senza valore di ritorno
Con valore di ritorno Passaggio parametri Nessun parametro Passaggio per valore Passaggio per riferimento ref out

23 Sintassi in C# #nota tipo di ritorno
static <tipo di ritorno> <Nome metodo>(<lista parametri>) { <dichiarazione variabili locali>; <istruzioni>; } #nota tipo di ritorno può essere: int, double, string, … necessita dell’ istruzione return void = Senza valore di ritorno

24 Metodo con valore di ritorno
static void PrintNumber(int n) { double n, risp; n = int.Parse(Console.ReadLine()); risp = Math.Sqrt(n); Console.Write(“Root {0} is equal {1}",n,risp); } Math.Sqrt n n

25 Esempio 1 (valori di ritorno)
using System; Classe Returned { static void Main() { int j; j = 2*2; Console.WriteLine(”{0}”, j); j = 5*5; } n Quad n2

26 Esempio 1 n n2 using System; Classe Returned {
static int Quad(int n) { return n*n; } static void Main() { int j; j = Quad(2); //j=2*2; Console.WriteLine(”{0}”, j); j = Quad(5); //j=5*5; Quad n n2 Video 4 25

27 Esempio 2: ricerca dei numeri primi
static void Main() { int n,i,count=0; n = int.Parse(Console.ReadLine()); for(i=1;i<=n;i++) if(n%i==0) count++; if(count==2) Console.Write("{0} è primo.",n); } Procedura per vedere se n è primo

28 True if x è primo. False if x non è primo
Esempio 2 static void Main() { int n,i,count=0; n = int.Parse(Console.ReadLine()); for(i=1;i<=n;i++) if(n%i==0) count++; if(count==2) Console.Write("{0} è primo.",n); } x Is_Prime True if x è primo. False if x non è primo

29 True if n è primo. False if n non è primo
Esempio 2 static bool Is_Prime(int x){ int i,count=0; for(i=1;i<=x;i++) if(x%i==0) count++; if(count==2) return true; else return false; } static void Main(){ int n = int.Parse(Console.ReadLine()); if(Is_Prime(n) == true) Console.Write("{0} è primo.",n); Is_Prime x True if n è primo. False if n non è primo

30 Esempio 3: calcolo volume cilindro
static void Main() { double r,h,V; r = double.Parse(Console.ReadLine()); h = double.Parse(Console.ReadLine()); V = Math.Pi*r*r*h; Console.Write("V = {0}",V); } r h v_cilindro V

31 Esempio 3: Returned Value
v_cilindro r V h static double v_cilindro(double r, double h){ return Math.PI*r*r*h; } static void Main() { double r,h,V; r = double.Parse(Console.ReadLine()); h = double.Parse(Console.ReadLine()); V = v_cilindro(r,h); Console.Write("V = {0}",V);

32 Self Test 1 Creare un metodo Power4(n)
Deve restituire il valore n*n*n*n Es. int j = Power4(3); //Return 81 int int n static ____ Power4(___________________) { } int risp; return n*n*n*n; risp = n*n*n*n; return risp;

33 Self Test 2 Definire metodo Max(x, y, z)
Return Max Value Es. int j = Max(5, 20, 12); //Return 20 int int x, int y, int z static ____ MAX(___________________) { } int risp; if(x >= y && x >= z) return x; risp = x; else if(y >= x && y >= z) risp = y; return y; else return z; risp = z; return risp;

34 Struttura C# - Metodi multipli
Namespace Class Main() Metodo1() Metodo2() Metodo3() MetodoN()

35 Esempio 5 : metodi multipli
static double PuntoMedio(double n1, double n2) { return (n1+n2)/2; } static void Stampa(double x, double y) Console.Write("P. medio = {0} ", PuntoMedio(x,y)); static void Main(string[] args) { Console.Write(“Inserire 2 valori: "); double a1 = double.Parse(Console.ReadLine()); double a2 = double.Parse(Console.ReadLine()); Stampa(a1, a2); }

36 Domande ?


Scaricare ppt "Giampaolo Brancatello"

Presentazioni simili


Annunci Google