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

Slides:



Advertisements
Apresentações semelhantes
TÉCNICO EM INFORMÁTICA Linguagem e Técnica de Programação III PROF. MARCELO N. SANTOS
Advertisements

INE5408 Estruturas de Dados Ponteiros, passagem de parâmetros e modelos de memória.
PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ Professor: Dilvan Moreira.
Relatórios.  O Relatório é um componente ActiveX chamado ActiveReport, que permite a visualização e impressão de valores instantâneos de variáveis do.
1 Aula 06 – Funções Prof. Filipe Mutz Colocar mais exemplos de funções simples no começo.
1 Programação em C Aula 7. 2 Um lojista atribui o preço de venda dos itens de sua loja com um número racional (uma fração de inteiros). Este comerciante.
Pseudocódigo É a técnica na construção de algoritmos mais próxima de uma linguagem de programação. Estrutura básica: Algoritmo [Variáveis:, : ] Início.
Linguagens de Programação Conceitos e Técnicas Valores e Tipos de Dados Prof. Isabel Cafezeiro
Lógica de programação Introdução à lógica de programação Diagrama de bloco Programação Sequencial 1.
Classes Objetos Atributos Métodos Coletor de Lixo (Garbage Collector ) Confraria do Java Nivelamento. Caroline, Marcelo e Luiz 12/05/2007.
Algoritmos e Programação utilizando Visualg
Estruturas de Repetição
Aula 3 - Estruturas de Repetição
Algoritmo e Lógica Programação Vetores e Matrizes
Construção de Algoritmos AULA 05
//. retangulo. c - exibe um retangulo vermelho no vídeo
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I
INE5408 Estruturas de Dados
Fundamentos de Programação 1
Algoritmos e Estruturas de Dados I
Introdução à Computação para Engenharia MAC2166
Introdução ao VisuALG Prof. Andrew Rodrigues
Módulo I Capítulo 2: IDE e Variáveis
Prof. Wellington Franco Sub-Rotinas:Funções e Procedimentos
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Algoritmos e Estruturas de Dados I
Prof. Wellington Franco
FUNDAMENTO DE PROGRAMAÇÃO
Algoritmos e Estruturas de Dados I
Fundamentos de Programação 1
Prof. Wellington Franco
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
FUNDAMENTO DE PROGRAMAÇÃO
Algoritmos e Estruturas de Dados I
FUNDAMENTO DE PROGRAMAÇÃO
Introdução à Programação BCC 201 Aula
Criação e manipulação de objetos
Programação de Computadores I – Arquivos
FUNDAMENTO DE PROGRAMAÇÃO PROF. WELLINGTON FRANCO
Algoritmos e Estruturas de Dados I
Prof. Wellington Franco
Algoritmos e Técnicas CEFET/RN.
Algoritmos e Estruturas de Dados I
Estruturas de Repetição
Técnicas de Programação
Não tem introdução vcs vai começar aprendendo: isso sempre é o que vem em primeiro no código: using System;  usa o sistema inicia ele using System.Collections.Generic;
Algoritmos Prof.: Carlos Alberto _1:
Aula 22 Modularização 22/10/08.
Fundamentos de Programação 1
LÓGICA DE PROGRAMAÇÃO LÓGICA: parte da filosofia que trata das formas do pensamento em geral (dedução, indução, hipótese, inferência).
Rosemary Silveira Filgueiras Melo
3.2 Sobrecarga de Métodos (Overloading)
Rosemary Silveira Filgueiras Melo
Programação de Computadores I – Arquivos
Programação Orientada a Objetos
DHD – Desenvolvimento em Hardware
Rosemary Silveira Filgueiras Melo
Computação Eletrônica Vetores e Matrizes
Algoritmos e Estruturas de Dados I – Ponteiros
Estruturas de Dados em C
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
Estruturas definidas pelo programador
Tipos Primitivos de Dados
RESULUÇÃO DOS EXERCÍCIOS,
Fundamentos de Programação 1
CALCULADORA CARACTERE E VARIÁVEIS COMPOSTAS OU VETORES EM JAVA
Constantes, Variáveis e Memória
Estruturas Condicionais
Transcrição da apresentação:

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

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) }...

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

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; }

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; }

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;

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; }

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

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.

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:

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(); } }

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

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:

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 :

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

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);

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.

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);

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

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

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;

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;