PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1 Funções em C Enunciado: a) Implementar a função maior que devolve o maior de dois números inteiros passados como parâmetro; b) Construir um programa em C que determine o maior de três números inteiros, usando a função anterior. 2 Funções em C Resolução: a) Implementar a função maior que devolve o maior de dois números inteiros passados como parâmetro; b) Construir um programa em C que determine o maior de três números inteiros, usando a função anterior. 3 Funções em C Parâmetros: – Dois números inteiros N1 e N2 4 Funções em C Parâmetros: – Dois números inteiros N1 e N2 Retorno: – O maior entre N1 e N2 5 Funções em C Parâmetros: – Dois números inteiros N1 e N2 Retorno: – O maior entre N1 e N2 Algoritmo: Se 'N1 > N2' é verdadeira Então Devolver (N1) Senão Devolver (N2) 6 Funções em C Função: int maior (int N1, int N2) { } 7 Funções em C Função: int maior (int N1, int N2) { if (N1 > N2) return (N1); } 8 Funções em C Função: int maior (int N1, int N2) { if (N1 > N2) return (N1); else return (N2); } 9 Funções em C Resolução: a) Implementar a função maior que devolve o maior de dois números inteiros passados como parâmetro; b) Construir um programa em C que determine o maior de três números inteiros, usando a função anterior. 10 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor inteiro para X 11 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor inteiro para X Mostrar a mensagem “Inserir o segundo número.” Introduzir um valor inteiro para Y 12 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor inteiro para X Mostrar a mensagem “Inserir o segundo número.” Introduzir um valor inteiro para Y Mostrar a mensagem “Inserir o terceiro número.” Introduzir um valor inteiro para Z 13 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor inteiro para X Mostrar a mensagem “Inserir o segundo número.” Introduzir um valor inteiro para Y Mostrar a mensagem “Inserir o terceiro número.” Introduzir um valor inteiro para Z Atribuir a w o valor inteiro maior(X, Y) 14 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor inteiro para X Mostrar a mensagem “Inserir o segundo número.” Introduzir um valor inteiro para Y Mostrar a mensagem “Inserir o terceiro número.” Introduzir um valor inteiro para Z Atribuir a W o valor inteiro maior(X, Y) Atribuir a W o valor inteiro maior(W, Z) 15 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor inteiro para X Mostrar a mensagem “Inserir o segundo número.” Introduzir um valor inteiro para Y Mostrar a mensagem “Inserir o terceiro número.” Introduzir um valor inteiro para Z Atribuir a W o valor inteiro maior(X, Y) Atribuir a W o valor inteiro maior(W, Z) Mostrar a mensagem “O maior número é : “ Mostrar o valor de W 16 Funções em C #include <stdio.h> 17 Funções em C #include <stdio.h> int maior (int N1, int N2); 18 Funções em C #include <stdio.h> int maior (int N1, int N2); main ( ) { int X, Y, Z, W; } 19 Funções em C #include <stdio.h> int maior (int N1, int N2); main ( ) { int X, Y, Z, W; printf (“Insira o primeiro número: “); scanf (“%d”, &X); } 20 Funções em C #include <stdio.h> int maior (int N1, int N2); main ( ) { int X, Y, Z, W; printf (“Insira o primeiro número: “); scanf (“%d”, &X); printf (“Insira o segundo número: “); scanf (“%d”, &Y); } 21 Funções em C #include <stdio.h> int maior (int N1, int N2); main ( ) { int X, Y, Z, W; printf (“Insira o primeiro número: “); scanf (“%d”, &X); printf (“Insira o segundo número: “); scanf (“%d”, &Y); printf (“Insira o terceiro número: “); scanf (“%d”, &Z); } 22 Funções em C #include <stdio.h> int maior (int N1, int N2); main ( ) { int X, Y, Z, W; printf (“Insira o primeiro número: “); scanf (“%d”, &X); printf (“Insira o segundo número: “); scanf (“%d”, &Y); printf (“Insira o terceiro número: “); scanf (“%d”, &Z); Z = maior (X, Y); } 23 Funções em C #include <stdio.h> int maior (int N1, int N2); main ( ) { int X, Y, Z, W; printf (“Insira o primeiro número: “); scanf (“%d”, &X); printf (“Insira o segundo número: “); scanf (“%d”, &Y); printf (“Insira o terceiro número: “); scanf (“%d”, &Z); Z = maior (X, Y); Z = maior (W, Z); } 24 Funções em C #include <stdio.h> int maior (int N1, int N2); main ( ) { int X, Y, Z, W; printf (“Insira o primeiro número: “); scanf (“%d”, &X); printf (“Insira o segundo número: “); scanf (“%d”, &Y); printf (“Insira o terceiro número: “); scanf (“%d”, &Z); Z = maior (X, Y); Z = maior (W, Z); printf (“O maior entre %d, %d e %d é : %d\n”, X, Y, Z, W); } 25 Funções em C Enunciado: a) Implementar a função maiorN que devolve o maior de N números reais (N ≥ 2) introduzidos pelo utilizador; b) Construir um programa em C que que determine o maior de N (N ≥ 2) números reais, usando a função anterior. 26 Funções em C Parâmetros: – Um número inteiro N (N ≥ 2) 27 Funções em C Parâmetros: – Um número inteiro N (N ≥ 2) Retorno: – O maior entre N números reais 28 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor real para X 29 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor real para X Atribuir a M o valor real X 30 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor real para X Atribuir a M o valor real X Para k com valores desde 2 até N Fazer 31 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor real para X Atribuir a M o valor real X Para k com valores desde 2 até N Fazer Mostrar a mensagem “Inserir outro número.” Introduzir um valor real para X 32 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor real para X Atribuir a M o valor real X Para k com valores desde 2 até N Fazer Mostrar a mensagem “Inserir outro número.” Introduzir um valor real para X Se 'X > M' é verdadeira Então Atribuir a M o valor real X 33 Funções em C Algoritmo: Mostrar a mensagem “Inserir o primeiro número.” Introduzir um valor real para X Atribuir a M o valor real X Para k com valores desde 2 até N Fazer Mostrar a mensagem “Inserir outro número.” Introduzir um valor real para X Se 'X > M' é verdadeira Então Atribuir a M o valor real X Devolver (M) 34 Funções em C float maiorN (int N) { } 35 Funções em C float maiorN (int N) { int k; float M, X; } 36 Funções em C float maiorN (int N) { int k; float M, X; printf (“Inserir o primeiro número:”); scanf (“%f”, &X); } 37 Funções em C float maiorN (int N) { int k; float M, X; printf (“Inserir o primeiro número:”); scanf (“%f”, &X); M = X; } 38 Funções em C float maiorN (int N) { int k; float M, X; printf (“Inserir o primeiro número:”); scanf (“%f”, &X); M = X; for (k = 2; k <= N; k = k + 1) { } } 39 Funções em C float maiorN (int N) { int k; float M, X; printf (“Inserir o primeiro número:”); scanf (“%f”, &X); M = X; for (k = 2; k <= N; k = k + 1) { printf (“Inserir outro número:”); scanf (“%f”, &X); } } 40 Funções em C float maiorN (int N) { int k; float M, X; printf (“Inserir o primeiro número:”); scanf (“%f”, &X); M = X; for (k = 2; k <= N; k = k + 1) { printf (“Inserir outro número:”); scanf (“%f”, &X); if (X > M) M = X; } } 41 Funções em C float maiorN (int N) { int k; float M, X; printf (“Inserir o primeiro número:”); scanf (“%f”, &X); M = X; for (k = 2; k <= N; k = k + 1) { printf (“Inserir outro número:”); scanf (“%f”, &X); if (X > M) M = X; } return (M); } 42 Funções em C Algoritmo: Fazer Mostrar a mensagem “Quantos números vai inserir?” Introduzir um valor inteiro para N 43 Funções em C Algoritmo: Fazer Mostrar a mensagem “Quantos números vai inserir?” Introduzir um valor inteiro para N Enquanto 'N < 2' é verdadeira 44 Funções em C Algoritmo: Fazer Mostrar a mensagem “Quantos números vai inserir?” Introduzir um valor inteiro para N Enquanto 'N < 2' é verdadeira Atribuir a X o valor real maiorN(N) 45 Funções em C Algoritmo: Fazer Mostrar a mensagem “Quantos números vai inserir?” Introduzir um valor inteiro para N Enquanto 'N < 2' é verdadeira Atribuir a X o valor real maiorN(N) Mostrar a mensagem “O maior número inserido foi :” Mostrar o valor de X 46 Funções em C #include <stdio.h> 47 Funções em C #include <stdio.h> float maiorN (int N); 48 Funções em C #include <stdio.h> float maiorN (int N); main ( ) { } 49 Funções em C #include <stdio.h> float maiorN (int N); main ( ) { int N; float X; } 50 Funções em C #include <stdio.h> float maiorN (int N); main ( ) { int N; float X; do { printf (“Quantos números vai inserir?“); scanf (“%d”, &N); } } 51 Funções em C #include <stdio.h> float maiorN (int N); main ( ) { int N; float X; do { printf (“Quantos números vai inserir?“); scanf (“%d”, &N); } while (N < 2); } 52 Funções em C #include <stdio.h> float maiorN (int N); main ( ) { int N; float X; do { printf (“Quantos números vai inserir?“); scanf (“%d”, &N); } while (N < 2); X = maiorN(N); } 53 Funções em C #include <stdio.h> float maiorN (int N); main ( ) { int N; float X; do { printf (“Quantos números vai inserir?“); scanf (“%d”, &N); } while (N < 2); X = maiorN(N); printf (“O maior número inserido foi : %f\n”, X); } 54