Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
1 
 
PROGRAMA BÁSICO 
Compiladores: onlinegdb.com, mycompiler.io/pt e VS Code 
using System; 
 
namespace MyApp // Tipicamente com o mesmo nome da solução 
{ 
 internal class Program //modificador internal: acessa qualquer código no mesmo assembly, mas não de outro 
assembly. 
 { 
 static void Main(string[ ] args) 
 { 
 Console.WriteLine("Hello World!"); 
 } 
 } 
} 
 
 
TIPO DE DADOS 
 
 
 
 
 
 
 
 
 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
2 
 
Abrir um novo programa. 
 
 
 
 
 
 
 
 
 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
3 
 
1. Noção de função e procedimento 
A definição de função em programação é idêntica à da matemática y = f(x), que 
expressa uma relação entre os valores de entrada e os de saída em que para cada 
conjunto de entrada só existe uma saída, ou seja, cada função só devolve um valor. 
Um procedimento é um método que não devolve qualquer valor e é chamado 
sozinho, sem estar envolvido em qualquer operação. 
Em C# as funções e os procedimentos são implementados com recurso aos 
métodos. 
 
 
2. Método em C# 
Um método em C# é constituído por uma assinatura e um bloco de instruções. 
 
[static] <modificador_de_acesso> <tipo_de_dados_de_retorno> <nome_do_metodo>([<lista_de_parametros>] { 
 <declarações>; 
 <bloco_de_instruções>; 
 ... 
 return <expressão>; 
} 
 
 
 
Definição 
1. Indicar se o método é ou não static. Nesta fase da aprendizagem em que 
criaremos métodos dentro da classe “Program” que contém a função principal 
“static void Main(string[ ] args)”, todos os métodos serão declarados como 
“static”. 
 
2. Indicar o tipo de acesso através da definição do modificador de acesso. Nesta 
fase da aprendizagem não é necessária qualquer indicação. 
 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
4 
 
3. Indicar o tipo de dados de retorno, se é inteiro, real, texto, booleano, etc. Para 
devolver o valor de retorno utiliza-se a instrução “return”. 
 
4. Indicar o nome do método. 
 
5. Indicar a lista e parâmetros (opcional). Na maior parte das situações um método 
precisa de executar as suas instruções utilizando dados diferentes como ponto 
de partida. Para poder passar ao método as condições iniciais em que ele deve 
ser executado define-se uma lista de parâmetros, que representam valores que 
ele está à espera de receber. A cada parâmetro corresponde um argumento 
que representa o valor que é passado ao parâmetro do método. 
 
Um parâmetro representa um valor que o método espera receber quando 
chamado. O nome de cada parâmetro serve como variável local do método chamado. 
 
Um argumento representa o valor que se passa ao método quando se chama o 
método. Ao contrário dos parâmetros os argumentos não tem nomes, são expressões 
que podem ou não conter variáveis, constates ou valores. O tipo de dados do 
argumento deve estar de acordo com o tipo de dados do parâmetro no método 
chamado. 
 
Um método pode ser chamado a partir de qualquer outra parte do código da 
mesma classe. Quando o método concluir a execução das instruções ele devolve o 
controle ao método que o invocou. 
 
 
 
 
 
 
 
 
 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
5 
 
EXERCÍCIO 1: 
 
using System; 
 
namespace Projeto_1_Cap_9 // Tipicamento com o mesmo nome da solução 
{ 
 internal class Program //modificador internal: acessa qualquer código no mesmo 
assembly, mas não de outro assembly. 
 { 
 static float Soma(int a, int b) 
 { 
 int soma; 
 soma = a + b; 
 return soma; 
 } 
 
 
 static void Main(string[] args) 
 { 
 //Primeira chamada do método com os valores 2 e 3 como argumentos 
 Console.WriteLine(Soma(2,3)); 
 // Resultado: 5 
 
 //Segunda chamada do método com os valores 4 e 5 como argumentos 
 Console.WriteLine(Soma(4,5)); 
 // Resultado: 9 
 
 //Terceira chamada do método com os valores 6 e 7 como argumentos 
 //contidos nas variáveis c,d 
 int c = 6, d = 7; 
 Console.WriteLine(Soma(c, d)); 
 // Resultado: 13 
 } 
 } 
} 
 
 
Projeto_1_Cap_9 
 
 
 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
6 
 
 
 
 
Sequência de ações na chamada e execução de método. 
 
1. O método “Soma” é invocado no método “Main” escrevendo-se o seu nome e 
os argumentos, Soma(2,3); 
 
2. Os argumentos 2,3 são passados para os a função que tem definido os 
parâmetros (int a, int b). 
 
3. O método executa as instruções para as variáveis “a” e “b”, que neste caso é a 
soma dos dois valores. 
 
4. O método devolve o valor da soma. 
 
5. No método Main é utilizado o valor devolvido pelo método “Soma(2,3)”. 
 
As duas chamadas seguintes do método “Soma” no método “Main” exemplificam 
a chamada do mesmo método com os valores contidos nas variáveis “a, b” e “c, d“ 
para que compreenda que o nome das variáveis na instrução chamadora não tem de 
ser iguais pois trata-se de coisas diferentes, uma coisa são os valores contidos nos 
argumentos que passamos ao método e outra coisa são os parâmetro do método 
definido como (int a, int b). 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
7 
 
EXERCÍCIO 2: Calcular o volume de um recipiente: 
Método que implementa a função de cálculo do volume de um cilindro. 
Escreva e teste uma função (método) que devolva o volume calculado do cilindro. A 
função (método) deverá receber como argumento um número float. 
 
using System.Reflection.Metadata; 
 
namespace Projeto_2_Cap_9 
{ 
 internal class Program 
 { 
 static float Quadrado(float raio, float altura) 
 { 
 const float pi = 3.1416f; 
 return pi * raio * raio * altura; 
 } 
 
 static void Main(string[] args) 
 { 
 Console.Write("Digite o valor do raio em metros: "); 
 float raio = float.Parse(Console.ReadLine()); 
 
 Console.Write("Digite o valor da altura em metros: "); 
 float altura = float.Parse(Console.ReadLine()); 
 
 Console.WriteLine("O reservatório tem {0:f2} m3", Quadrado(raio, 
altura)); 
 } 
 } 
} 
 
 
Projeto_2_Cap_9 
 
 
 
 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
8 
 
EXERCÍCIO 3: Escreva um programa que valide o intervalo das horas (0-23) e dos 
minutos (0-59) introduzidos pelo utilizador, utilizando métodos. 
Se os valores estiverem corretos os métodos devolvem o valor “verdadeiro”, caso 
contrário devolvem o valor “falso”. 
 
 
using System.ComponentModel.Design; 
 
namespace Projeto_3_Cap_9 
{ 
 internal class Program 
 { 
 static bool ValidaHoras(int horas){ 
 if (horas >= 0 && horas <= 23) 
 return true; 
 else 
 return false; 
 } 
 
 static bool ValidaMinutos(int minutos) 
 { 
 if (minutos >= 0 && minutos <= 59) 
 return true; 
 else 
 return false; 
 } 
 
 static void Main(string[] args) 
 { 
 Console.WriteLine("Que horas são?"); 
 Console.Write("Horas: "); 
 int h = int.Parse(Console.ReadLine()); 
 Console.Write("Minutos: "); 
 int m = int.Parse(Console.ReadLine()); 
 
 if (ValidaHoras(h) && ValidaMinutos(m)) 
 { 
 Console.WriteLine("São {0}:{1}.", h, m); 
 } 
 else 
 { 
 Console.WriteLine("Hora incorreta!"); 
 } 
 } 
 } 
} 
 
 
 
 
 
 
 
 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
9 
 
EXERCÍCIO 3: continuação 
 
 
 
 
Projeto_3_Cap_9 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
10 
 
EXERCÍCIO 4: Escreva e teste um procedimento (método) que apresente no ecrã a 
parte inteira e fracionária de um número real introduzido pelo utilizador. O 
procedimento (método) deverá receber como argumento número real. 
 
Void – tipo de dados de retorno de um método que não devolve qualquer valor. 
 
namespace Projeto_4_Cap_9 
{ 
 internal class Program 
 { 
 static void IntFrac(float x) 
 { 
 Console.WriteLine("Parte inteira {0} \n", (int)x); 
 Console.WriteLine("Parte fracionaria {0:F3} \n", x - (int)x); 
 } 
 
 
 static void Main(string[] args) 
 { 
 float num; 
 Console.Write("Escreva um numero real: "); 
 num = float.Parse(Console.ReadLine()); 
 IntFrac(num); 
 } 
 } 
} 
 
 
 
 
 
 
Projeto_4_Cap_9 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
11 
 
EXERCÍCIO Extra: Revisão da utilização do...while (instrução de repetição). 
 
Um bom exemplo da utilização de métodos é a criação de menus para diferentes 
funcionalidades de um programa. A implementação dos menus é feita com recurso a 
ciclos “do...while” e a “switchs” que chamam os diferentes métodos com base na 
escolha do utilizador. 
 
namespace Projeto_4_Cap_8 
{ 
 internal class Program 
 { 
 static void Main(string[] args) 
 { 
 
 int numero, contar = 0; 
 do 
 { 
 Console.WriteLine("Insira um numero: "); 
 numero = int.Parse(Console.ReadLine()); 
 
 if (numero != 0) 
 { 
 contar++; 
 } 
 } while (numero != 0); 
 Console.WriteLine("Foram inseridos {0} numeros. ", contar); 
 } 
 } 
} 
 
 
 
 
 
Projeto_4_Cap_8 
 
 
Capítulo 9 - C# (C Sharp) - Métodos 
_______________________________________________________________________________________________________________________________________________________ 
12 
 
EXERCÍCIO 5: 
 
using System; 
 
namespace Projeto_5_Cap_9 
{ 
 internal class Program 
 { 
 static void Ola() { 
 Console.WriteLine("Ola"); 
 } 
 
 static void BomDia() { 
 Console.WriteLine("Bom dia!"); 
 } 
 
 static void ComoEsta() { 
 Console.WriteLine("Como esta? "); 
 } 
 
 static void Main(string[] args) { 
 int op = 0; 
 do { 
 Console.WriteLine("Saudacoes"); 
 Console.WriteLine("1 - Ola"); 
 Console.WriteLine("2 - Bom dia"); 
 Console.WriteLine("3 - Como esta"); 
 Console.WriteLine("0 - Sair"); 
 Console.WriteLine("Escolha a opcao: "); 
 op = int.Parse(Console.ReadLine()); 
 Console.Clear(); 
 switch (op) { 
 case 1: 
 Ola(); 
 break; 
 
 case 2: 
 BomDia(); 
 break; 
 
 case 3: 
 ComoEsta(); 
 break; 
 } 
 
 if (op != 0) { 
 Console.WriteLine("Enter para voltar ao menu..."); 
 Console.ReadLine(); 
 Console.Clear(); 
 } 
 
 } while (op != 0); 
} } }

Mais conteúdos dessa disciplina