funciones 2da parte - martinnievas.com · 2/25 #include int func(int a, int b) int res; if...

49
1/25 Funciones 2 da parte Nievas Martin 13 de agosto de 2019

Upload: others

Post on 21-Jul-2020

32 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

1/25

Funciones2da parte

Nievas Martin

13 de agosto de 2019

Page 2: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

2/25

# include <stdio.h>

int func(int a, int b){

int res;

if (a > b)res = a;

elseres = b;

return res;}

int main(void){

int num1 = 10;int num2 = 30;

/** Llamado a la funcion */printf(" %d\n",func(num1 ,num2));

return 0;}

30

Page 3: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

2/25

# include <stdio.h>

int func(int a, int b){

int res;

if (a > b)res = a;

elseres = b;

return res;}

int main(void){

int num1 = 10;int num2 = 30;

/** Llamado a la funcion */printf(" %d\n",func(num1 ,num2));

return 0;}

30

Page 4: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

2/25

# include <stdio.h>

int func(int a, int b){

int res;

if (a > b)res = a;

elseres = b;

return res;}

int main(void){

int num1 = 10;int num2 = 30;

/** Llamado a la funcion */printf(" %d\n",func(num1 ,num2));

return 0;}

30

Page 5: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

3/25

# include <stdio.h>

int max(int a, int b){

int res;

if (a > b)res = a;

elseres = b;

return res;}

int main(void){

int num1 = 10;int num2 = 30;

/** Llamado a la funcion */printf(" %d\n", max(num1 ,num2));

return 0;}

30

Page 6: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

3/25

# include <stdio.h>

int max(int a, int b){

int res;

if (a > b)res = a;

elseres = b;

return res;}

int main(void){

int num1 = 10;int num2 = 30;

/** Llamado a la funcion */printf(" %d\n", max(num1 ,num2));

return 0;}

30

Page 7: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

3/25

# include <stdio.h>

int max(int a, int b){

int res;

if (a > b)res = a;

elseres = b;

return res;}

int main(void){

int num1 = 10;int num2 = 30;

/** Llamado a la funcion */printf(" %d\n", max(num1 ,num2));

return 0;}

30

Page 8: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

4/25

Prototipos

# include <stdio.h>

int max(int x, int y);

int main(void){

return 0;}

.

Page 9: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

4/25

Prototipos# include <stdio.h>

int max(int x, int y);

int main(void){

return 0;}

.

Page 10: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

5/25

Prototipos# include <stdio.h>

int max(int x, int y);

int main(void){

return 0;}

int max(int x, int y){

int max_val;

if (x > y){

max_val = x;}else{

max_val = y;}

return max_val;}

Page 11: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

6/25

Prototipos# include <stdio.h>

int max(int x, int y);

int main(void){

int num1;int num2;int mayor;

printf("Ingrese dos numeros: ");scanf(" %d %d", &num1 , &num2);mayor = max(num1 , num2);printf("El mayor es: %d\n", mayor);

return 0;}

int max(int x, int y){

int max_val;

if (x > y){

max_val = x;}else{

max_val = y;}

return max_val;}

Page 12: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

7/25

Prototipos# include <stdio.h>

int max(int , int);

int main(void){

int num1;int num2;int mayor;

printf("Ingrese dos numeros: ");scanf(" %d %d", &num1 , &num2);mayor = max(num1 , num2);printf("El mayor es: %d\n", mayor);

return 0;}

int max(int x, int y){

int max_val;

if (x > y){

max_val = x;}else{

max_val = y;}

return max_val;}

Page 13: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

8/25

Prototipos# include <stdio.h>

int max(int , int);

int main(void){

int num1;int num2;int mayor;

printf("Ingrese dos numeros: ");scanf(" %d %d", &num1 , &num2);printf("El mayor es: %d\n", max(num1 , num2);

return 0;}

int max(int x, int y){

int max_val;

if (x > y){

max_val = x;}else{

max_val = y;}

return max_val;}

Page 14: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

9/25

Prototipos# include <stdio.h>

int max(int , int);

int main(void){

int num1;int num2;int mayor;

printf("Ingrese dos numeros: ");scanf(" %d %d", &num1 , &num2);printf("El mayor es: %d\n", max(num1 , num2);

return 0;}

int max(int x, int y){

int max_val;

if (x > y)max_val = x;

elsemax_val = y;

return max_val;}

Page 15: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

10/25

Variables dentro de funciones

Page 16: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

11/25

Variables

# include <stdio.h>

int incrementar(void){

int a = 0;

return ++a;}

int main(void){

printf("valor: %d\n", incrementar ());

return 0;}

v a l o r : 1

Page 17: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

11/25

Variables

# include <stdio.h>

int incrementar(void){

int a = 0;

return ++a;}

int main(void){

printf("valor: %d\n", incrementar ());

return 0;}

v a l o r : 1

Page 18: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

11/25

Variables

# include <stdio.h>

int incrementar(void){

int a = 0;

return ++a;}

int main(void){

printf("valor: %d\n", incrementar ());

return 0;}

v a l o r : 1

Page 19: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

12/25

Variables

# include <stdio.h>

int incrementar(void){

int a = 0;

return ++a;}

int main(void){

printf("valor: %d\n", incrementar ());printf("valor: %d\n", incrementar ());printf("valor: %d\n", incrementar ());

return 0;}

v a l o r : 1v a l o r : 1v a l o r : 1

Page 20: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

12/25

Variables

# include <stdio.h>

int incrementar(void){

int a = 0;

return ++a;}

int main(void){

printf("valor: %d\n", incrementar ());printf("valor: %d\n", incrementar ());printf("valor: %d\n", incrementar ());

return 0;}

v a l o r : 1v a l o r : 1v a l o r : 1

Page 21: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

13/25

Variables

# include <stdio.h>

int incrementar(void){

static int a = 0;

return ++a;}

int main(void){

printf("valor: %d\n", incrementar ());printf("valor: %d\n", incrementar ());printf("valor: %d\n", incrementar ());

return 0;}

v a l o r : 1v a l o r : 2v a l o r : 3

Page 22: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

13/25

Variables

# include <stdio.h>

int incrementar(void){

static int a = 0;

return ++a;}

int main(void){

printf("valor: %d\n", incrementar ());printf("valor: %d\n", incrementar ());printf("valor: %d\n", incrementar ());

return 0;}

v a l o r : 1v a l o r : 2v a l o r : 3

Page 23: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

14/25

Variables# include <stdio.h>

int incrementar(void){

static int a = 0;

return ++a;}

int main(void){

for(int i = 0; i < 10; i++)printf("valor: %d\n", incrementar ());

return 0;}

v a l o r : 1v a l o r : 2v a l o r : 3v a l o r : 4v a l o r : 5v a l o r : 6v a l o r : 7v a l o r : 8v a l o r : 9v a l o r : 10

Page 24: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

14/25

Variables# include <stdio.h>

int incrementar(void){

static int a = 0;

return ++a;}

int main(void){

for(int i = 0; i < 10; i++)printf("valor: %d\n", incrementar ());

return 0;}

v a l o r : 1v a l o r : 2v a l o r : 3v a l o r : 4v a l o r : 5v a l o r : 6v a l o r : 7v a l o r : 8v a l o r : 9v a l o r : 10

Page 25: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

15/25

Factorial

n! = 1 ∗ · · · ∗ (n − 2) ∗ (n − 1) ∗ n

n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 1

Page 26: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

15/25

Factorial

n! = 1 ∗ · · · ∗ (n − 2) ∗ (n − 1) ∗ n

n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 1

Page 27: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

15/25

Factorial

n! = 1 ∗ · · · ∗ (n − 2) ∗ (n − 1) ∗ n

n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 1

Page 28: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

16/25

Factorial

# include <stdio.h>

int main(void){

int factorial = 1;int cont;int num = 3;

for (cont = num; cont >= 1; --cont)factorial *= cont;

printf("factorial %d!: %d\n", num , factorial);

return 0;}

f a c t o r i a l 3 ! : 6

Page 29: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

16/25

Factorial

# include <stdio.h>

int main(void){

int factorial = 1;int cont;int num = 3;

for (cont = num; cont >= 1; --cont)factorial *= cont;

printf("factorial %d!: %d\n", num , factorial);

return 0;}

f a c t o r i a l 3 ! : 6

Page 30: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

17/25

Factorial

n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 1

n! = n ∗ (n − 1)!

Ejemplo:5! = 5 ∗ 4 ∗ 3 ∗ 2 ∗ 1

5! = 5 ∗ (4 ∗ 3 ∗ 2 ∗ 1)

5! = 5 ∗ (4!)

Page 31: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

17/25

Factorial

n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 1

n! = n ∗ (n − 1)!

Ejemplo:5! = 5 ∗ 4 ∗ 3 ∗ 2 ∗ 1

5! = 5 ∗ (4 ∗ 3 ∗ 2 ∗ 1)

5! = 5 ∗ (4!)

Page 32: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

17/25

Factorial

n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 1

n! = n ∗ (n − 1)!

Ejemplo:

5! = 5 ∗ 4 ∗ 3 ∗ 2 ∗ 1

5! = 5 ∗ (4 ∗ 3 ∗ 2 ∗ 1)

5! = 5 ∗ (4!)

Page 33: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

17/25

Factorial

n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 1

n! = n ∗ (n − 1)!

Ejemplo:5! = 5 ∗ 4 ∗ 3 ∗ 2 ∗ 1

5! = 5 ∗ (4 ∗ 3 ∗ 2 ∗ 1)

5! = 5 ∗ (4!)

Page 34: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

17/25

Factorial

n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 1

n! = n ∗ (n − 1)!

Ejemplo:5! = 5 ∗ 4 ∗ 3 ∗ 2 ∗ 1

5! = 5 ∗ (4 ∗ 3 ∗ 2 ∗ 1)

5! = 5 ∗ (4!)

Page 35: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

17/25

Factorial

n! = n ∗ (n − 1) ∗ (n − 2) ∗ · · · ∗ 1

n! = n ∗ (n − 1)!

Ejemplo:5! = 5 ∗ 4 ∗ 3 ∗ 2 ∗ 1

5! = 5 ∗ (4 ∗ 3 ∗ 2 ∗ 1)

5! = 5 ∗ (4!)

Page 36: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

18/25

Factorial - Recursivo

# include <stdio.h>

int factorial(int);

int main(void){

int num;

for (num = 0; num < 10; num ++)printf(" %d! = %d\n", num , factorial(num));

return 0;}

int factorial(int number){

if (number <= 1){

return 1;}else{

return (number * factorial(number - 1));}

}

Page 37: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

19/25

Factorial - Recursivo

0 ! = 11 ! = 12 ! = 23 ! = 64 ! = 245 ! = 1206 ! = 7207 ! = 50408 ! = 403209 ! = 362880

Page 38: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

20/25

Factorial - Recursivo

# include <stdio.h>

int factorial(int);

int main(void){

int num;

for (num = 0; num < 20; num ++)printf(" %d! = %d\n", num , factorial(num));

return 0;}

int factorial(int number){

if (number <= 1){

return 1;}else{

return (number * factorial(number - 1));}

}

Page 39: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

21/25

Factorial - Recursivo

0 ! = 11 ! = 12 ! = 23 ! = 64 ! = 245 ! = 1206 ! = 7207 ! = 50408 ! = 403209 ! = 36288010! = 362880011! = 3991680012! = 47900160013! = 193205350414! = 127894528015! = 200431001616! = 200418918417! = −28852224018! = −89843302419! = 109641728

Page 40: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

22/25

Factorial - Recursivo

# include <stdio.h>

unsigned long long int factorial(unsigned int);

int main(void){

unsigned int num;

for (num = 0; num < 20; num ++)printf(" %u! = %llu\n", num , factorial(num));

return 0;}

unsigned long long int factorial(unsigned int number){

if (number <= 1){

return 1;}else{

return (number * factorial(number - 1));}

}

Page 41: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

23/25

Factorial - Recursivo

0 ! = 11 ! = 12 ! = 23 ! = 64 ! = 245 ! = 1206 ! = 7207 ! = 50408 ! = 403209 ! = 36288010! = 362880011! = 3991680012! = 47900160013! = 622702080014! = 8717829120015! = 130767436800016! = 2092278988800017! = 35568742809600018! = 640237370572800019! = 121645100408832000

Page 42: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

24/25

Fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21,

fibonacci(0) = 0

fibonacci(1) = 1

fibonacci(n) = fibonacci(n − 1) + fibonacci(n − 2)

Implementacion: A cargo del alumno

Page 43: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

24/25

Fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21,

fibonacci(0) = 0

fibonacci(1) = 1

fibonacci(n) = fibonacci(n − 1) + fibonacci(n − 2)

Implementacion: A cargo del alumno

Page 44: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

24/25

Fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21,

fibonacci(0) = 0

fibonacci(1) = 1

fibonacci(n) = fibonacci(n − 1) + fibonacci(n − 2)

Implementacion: A cargo del alumno

Page 45: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

24/25

Fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21,

fibonacci(0) = 0

fibonacci(1) = 1

fibonacci(n) = fibonacci(n − 1) + fibonacci(n − 2)

Implementacion: A cargo del alumno

Page 46: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

24/25

Fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21,

fibonacci(0) = 0

fibonacci(1) = 1

fibonacci(n) = fibonacci(n − 1) + fibonacci(n − 2)

Implementacion: A cargo del alumno

Page 47: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

24/25

Fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21,

fibonacci(0) = 0

fibonacci(1) = 1

fibonacci(n) = fibonacci(n − 1) + fibonacci(n − 2)

Implementacion:

A cargo del alumno

Page 48: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

24/25

Fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21,

fibonacci(0) = 0

fibonacci(1) = 1

fibonacci(n) = fibonacci(n − 1) + fibonacci(n − 2)

Implementacion: A cargo del alumno

Page 49: Funciones 2da parte - martinnievas.com · 2/25 #include  int func(int a, int b) int res; if (a>b) res=a; else res=b; return res; int main(void) int num1= 10; int

25/25

[email protected]

ConsultasMartesEdificio Salcedo 10:00 - 13:00