A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos e Programação Prof. Marcos Saúde

Apresentações semelhantes


Apresentação em tema: "Algoritmos e Programação Prof. Marcos Saúde"— Transcrição da apresentação:

1 Algoritmos e Programação Prof. Marcos Saúde marcosr@pitagoras.com.br

2 Funções e Procedimentos Passagem de Parâmetros por Valor... public void Main() { Console.Write("Digite um valor : "); int valor1 = Int32.Parse(Console.ReadLine()); Console.Write("Digite outro valor : "); int valor2 = Int32.Parse(Console.ReadLine()); Console.Write("\n\nA soma dos dois é "); Console.WriteLine(valor1 + " + " + valor2 + " = " + Calculo(valor1, valor2)); // QUAL O VALOR DAS VARIÁVEIS VALOR1 E VALOR2 NESTE PONTO ? return; } public int Calculo(int vlr1, int vlr2) { vlr1 += 10; vlr2 += 20; return (vlr1 + vlr2) }...

3 Funções e Procedimentos Passagem de valor por referência No C# há duas formas de implementar passagem de valor por referência. Usando- se as seguintes palavras-chave na declaração do método: out ref

4 Funções e Procedimentos //Uso da palavra-chave out using System; using System.Collections.Generic; using System.Text; namespace ex_metodo_out { class Program { static void Main(string[] args) { int valor1 = 10, valor2; teste(valor1, out valor2); // qual o valor da variável valor2 após executar o procedimento ? Console.WriteLine("\n\nvalor1 ao quadrado é = " + valor2); } static public void teste(int vlr1, out int vlr2) { vlr2 = vlr1 * vlr1; }

5 Funções e Procedimentos //Uso da palavra-chave ref using System; using System.Collections.Generic; using System.Text; namespace ex_metodos_ref { class Program { static void Main(string[] args) { (new Program()).Inicial(); } public void Inicial() { int valor1 = 30; Console.WriteLine("\n\nvalor 1 antes de chamar o método = " + valor1); teste(ref valor1); // qual o valor da variável valor1 após a execução do procedimento ? Console.WriteLine("\n\nvalor 1 depois de chamar o método = " + valor1); } public void teste(ref int vlr1) { Console.WriteLine("\n\nvlr1 = " + vlr1); vlr1 += 30; }

6 Funções e Procedimentos Diferenças do uso de out e ref no C# A diferença entre os dois tipos de parâmetros são bem sutis. Na passagem utilizando out, não precisamos inicializar a variável que vamos passar, diferentemente quando implementamos o ref, onde somos obrigados a instancializá-la antes de passar o parâmetro;

7 Registros Um registro é um tipo de valor normalmente usado para encapsular pequenos grupos de variáveis relacionadas, como as coordenadas de um retângulo ou as características de um item em um inventário; O exemplo a seguir mostra uma declaração de registro no C#: public struct Livro // usa-se a palavra-chave struct para declaração de registros/estruturas { decimal preco; string titulo; string autor; }

8 Registros Em linguagem Algorítmica um registro pode ser declarado da seguinte forma: Registro Inicio ; Fim;

9 Registros Algoritmo Concessionaria; Registro Automovel Início Caracteres Descricao, Chassi; Inteiro Ano; Fim; Automovel RegAutomovel; Inicio RegAutomovel.Descricao = “FIAT PÁLIO”; RegAutomovel.Modelo = “93WY746VF98820”; RegAutomovel.Ano = 2010; Fim.

10 Registros No C#, uma estrutura nada mais é que um tipo de dado definido pelo usuário, ou, nas palavras da própria Microsoft: user-defined type; Para utilizar a estrutura do tipo Struct é necessário declarar uma variável indicando o tipo da estrutura utilizada, como no exemplo a seguir:

11 Registros Exemplo: public struct pessoa { public string nome; public Int32 idade; public string empresa; } public class Estrutura { static void Main(string[] args) { pessoa x; x.nome = “Agnaldo”; x.idade = 40; x.empresa = “50MINUTOS”; System.Console.WriteLine(”A pessoa chamada “+x.nome+” tem“ +x.idade+” anos de idade e é sócio da empresa “+x.empresa); System.Console.ReadKey(); } }

12 Exercícios 1) Declarar o registro cuja representação gráfica é dada a seguir, e atribuir os valores apresentados ao lado, nos campos correspondentes:

13 Exercícios 2) Declarar o registro cuja representação gráfica é dada a seguir, definindo os campos com os tipos básicos necessários. As notas devem ser armazenadas em um vetor. Atribuir os valores apresentados abaixo aos campos correspondentes:

14 Exercícios 3) Declarar um vetor de registros cuja representação gráfica é dada a seguir. Faça a atribuição dos valores apresentados abaixo, nos campos correspondentes :

15 Exercícios 4) Para cada um dos exemplos a seguir, crie o seu registro equivalente :

16 Vetor de registros Os vetores (arrays) em C# nos fornecem grande utilidade, porém possuem uma desvantagem: em um determinado array só pode ser armazenado um tipo de dado (int[] meuArray = new int[8], neste array só podem ser armazenados valores inteiros); Mas em determinados casos seria de grande valia ter uma estrutura para armazenar diferentes tipos de dados; Aí que entra o struct (ou registro);

17 Vetor de registros Como podemos associar os recursos aprendidos para a construção e manipulação de vetores de registros ? De modo que possamos armazenar na memória (uso de variável) uma sequência de dados estruturais, ou seja, uma seqüência de informações do tipo Struct ? Com os conhecimentos adquiridos até o momento, faça o exercício a seguir e tente descobrir como implementar isso.

18 Exercício 5) Crie um programa que leia dados de clientes e grave num vetor de registros. Após a leitura de dados de 3 clientes, o programa exibe suas informações. (A ficha de cada cliente consiste de Nome, Telefone e CPF);

19 Exercício 6) Declarar o registro cuja representação gráfica é dada a seguir, definindo os campos com os tipos básicos necessários:

20 Exercício 7) Utilizando o registro criado no exercício anterior, atribuir os valores apresentados abaixo aos campos correspondentes:

21 Exercício 8) Utilizando a estrutura do exercício anterior, elaborar um algoritmo para ler os dados de 50 funcionários. Após a leitura desses dados, mostrar uma listagem de todos os funcionários(as) que tenham SALÁRIO maior que R$ 500,00, ESTADO CIVIL “CASADO(A)” e quem residam em SP;

22 Exercício 9) Para cada uma das situações a seguir, declare o que se pede: a) para um concurso de beleza precisa-se armazenar os dados das 30 candidatas, que são: número da inscrição, nome, altura, peso, naturalidade e estado; b) um apicultor necessita armazenar os dados de 100 colmeias, que são: código, região, estado, qualificação (forte, médio, fraco), número de abelhas; c) um comerciante deseja armazenar os dados de 50 produtos, que são: código, descrição, quantidade em estoque, quantidade mínima, preço; d) para uma locadora de vídeo deve-se armazenar os dados de 500 filmes, que são: código, título, gênero, categoria e valor da locação;


Carregar ppt "Algoritmos e Programação Prof. Marcos Saúde"

Apresentações semelhantes


Anúncios Google