Construção de Algoritmos 2

Slides:



Advertisements
Apresentações semelhantes
JAVA Orientação a Objetos
Advertisements

Programação orientada a objetos
Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Pseudo-código: sintaxe
Soluções Iterativas com Laços
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL INTRODUÇÃO À ALGORITMOS Professora: Fabíola Gonçalves.
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Sockets Marco Antonio – marcoreis.net Arquiteto de Software Dezembro/2007.
Métodos, Parâmetros, Argumentos e Contratos
Introdução à Programação usando Processing Programação Gráfica 2D Estrutura de Seleção Exercícios de Revisão Estrutura de Seleção 14/10/09 Bruno C. de.
Tratamento de Exceções
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INTRODUÇÃO AOS APLICATIVOS JAVA Prof. Thiago Pereira Rique
INTRODUÇÃO AOS APLICATIVOS JAVA
TEORIA DA COMPUTAÇÃO Parte III  Máquina de Turing
Algoritmos.
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
Introdução a Programação Renata Freire
Estruturas de repetição
Recursividade Inhaúma Neves Ferraz
Construção de Algoritmos 1
Prof a. Maria Aparecida C. Livi - Introd. Prog. 1 v1 1 Análise e Solução de Problemas Compreensão rigorosa do problema. Validação da solução. Programação.
Introdução à Lógica de Programação (cont.)
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Membros estáticos.
Treinamento no GRADEp HelloWorld Args. Slide 2 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 HelloWorld e Args Autoria Autora.
Lógica de Programação Módulo II
Capítulo 9 Herança 1.
Classes e objetos Arrays e Sobrecarga
Estrutura de decisão e repetição em JAVA
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação JAVA
Estrutura de Dados em Java
Algoritmos e Programação
Programação I Caderno de Exercícios Nome.
CRIANDO OBJETOS EM JAVA
JAVA: Conceitos Iniciais
Estrutura de dados, pseudocódigo
Streams –input e output
Linguagem técnica de programação I Java
Entendendo as definições de classe
Introdução a aplicativos Java
Vetores Imagine que você tem que receber o nome e a nota de 50 alunos de uma escola, e depois listar o nome de cada um e a média final de cada aluno e.
Fundamentos de Programação
Linguagem e Ambiente Scratch
Orientação a Objetos e Java Graduação em Ciência da Computação
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
1.2 Variaveis - conceito Podemos imaginá-la como uma caixa com tampa que pode conter algum dado. Se precisarmos conhecer esse dado, abrimos a tampa da.
Listas Simplesmente Encadeadas
Wagner Santos C. de Jesus
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
BCC /01 Aula Teórica 09 Funções Material Didático Proposto. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento.
Programação Orientada a Objetos - Java
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Programação de PIC em C Exposição das funções básicas para
Estrutura de Controle em JAVA
JAVA Sintaxe.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Algoritmos.
Algoritmos Prof.: Carlos Alberto
Programação de computadores
Laboratório de Programação II Método main Dados e Métodos de Classes.
Lógica de programação Introdução à lógica de programação
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Transcrição da apresentação:

Construção de Algoritmos 2 Programação em Java Prof. Maurício Braga

Roteiro para construção de algoritmos Roteiro básico para construção de um algoritmo ENTENDA O PROBLEMA Etapa mais importante. Erros nesta fase podem levar a construção de soluções erradas ou soluções corretas para o problema errado. Identifique no problema as saídas do algoritmo Atente o que deve ser calculado, impresso e processado. Identifique no problema as entradas do algoritmo Atente para o que deve ser lido, obtido do usuário. Identifique qual o processamento necessário Atente para os cálculos necessários, sempre a partir dos valores de entrada, para chegar aos de saída. Separe as etapas de entrada de dados, processamento e saída de dados dentro do algoritmo Coloque os comandos segundo a estrutura seqüencial básica do algoritmo

Verificação manual de algoritmos Após a construção de um algoritmo pode-se verificar se o mesmo realmente é uma solução para o problema Forma “braçal” denominada “teste de mesa” ou “método chinês”. Consiste na simulação manual da execução do algoritmo, comando após comando, atentando para as entradas e saídas de dados e verificando o comportamento das variáveis. Equivale a colocar-se no papel do computador, anotando o que a máquina faria a cada comando.

Verificação manual de algoritmos Exemplo1 Calcular a média de dois números reais Solução Entradas: dois números reais Saída: a média dos números Cálculo necessário: somar os números e dividir o resultado por dois. Variáveis num1, num2, soma, media : real; Início ler num1; ler num2; soma = num1 + num2; media = soma / 2; escrever media; Fim

Verificação manual de algoritmos Verificando se o algoritmo está correto Inicialmente anotamos as variáveis do algoritmo, e, ao lado, o valor nela armazenado. Supondo que, na primeira leitura, o usuário forneça o valor 8. Supondo que, na segunda leitura, o usuário forneça o valor 7. Em seguida o computador calcula a soma. Por último o computador calcula a média na atribuição seguinte. O valor 7.5 será impresso, indicando a média dos números 8 e 7 corretamente. num1 ? num2 ? soma ? media ? num1 8 num2 ? soma ? media ? num1 8 num2 7 soma ? media ? num1 8 num2 7 soma 15 media ? num1 8 num2 7 soma 15 media 7.5

Verificação manual de algoritmos Exemplo 2 Indique os valores impressos pelo algoritmo a seguir Variáveis A, B, C, D : inteiro; Início A = 10; B = 20; D = A + A; C = A + B; A = B + C; D = D + 1; escrever A; escrever B; escrever C; escrever D; Fim

Verificação manual de algoritmos Exemplo 2 (cont.) A ? B ? C ? D ? A 10 B ? C ? D ? A 10 B 20 C ? D ? A 10 B 20 C ? D 20 A 10 B 20 C 30 D 20 A 50 B 20 C 30 D 20 A 50 B 20 C 30 D 21

Verificação manual de algoritmos Exemplo 3 Ler o preço de um par de sapatos numa loja e escrevê-lo com um desconto de X% Neste vocês terão que criar o programa

Verificação manual de algoritmos Exemplo 3 (cont.) O algoritmo fica assim... Variáveis preco, desconto, valor_a_descontar, preco_final : real; Início ler preco; ler desconto; valor_a_descontar = ( preco * desconto ) / 100; preco_final = preco – valor_a_descontar; escrever preco_final; Fim

Programa desconto em Java public static void main(String[] args) { double preco=0, desconto=0, valor_a_descontar=0, preco_final=0; System.out.println("Entre o preço do produto:"); preco = Leia(preco); System.out.println("Entre o desconto:"); desconto = Leia(desconto); // cálculo do preço da mercadoria com o desconto valor_a_descontar = (preco*desconto)/100; preco_final = preco – valor_a_descontar; System.out.println(“O preço com desconto é : "+preco_final); }

Verificação manual de algoritmos Exemplo 3 (cont.) Supondo que o usuário informe o preço de R$50,00 e o desconto de 20%, como fica o teste de mesa? preco 50 desconto ? v_desconto ? preco_final ? preco 50 desconto 20 v_desconto ? preco_final ? preco 50 desconto 20 v_desconto 10 preco_final ? preco 50 desconto 20 v_desconto 10 preco_final 40

Verificação manual de algoritmos - Impressões complementares A finalidade principal do comando de saída de dados é exibir resultados processados pelo computador. Imprimir o conteúdo das variáveis; Imprimir mensagens relativas a um processamento. Também podemos utilizá-lo para exibir mensagens informativas para o usuário, facilitando o entendimento do que está sendo executado pelo computador Imprimir mensagens contendo instruções de execução; Imprimir mensagens descritivas sobre as variáveis impressas.

Verificação manual de algoritmos - Impressões complementares Exemplo Algoritmo para calcular a média de 2 números Variáveis num1, num2, soma, media : real; Início escrever “Entre com o primeiro número: ”; ler num1; escrever “Entre com o segundo número: “; ler num2; soma = num1 + num2; media = soma / 2; escrever “A média calculada foi “ + media; Fim Adicionados

Verificação manual de algoritmos Exemplo 4 Ler o nome e a qualidade de uma pessoa, e exibir a mensagem “<Nome> é uma pessoa que tem <qualidade>”. Escreva este programa em Java. Solução Exemplo simples de composição de frases em algoritmos. Para as entradas Maria e coragem, a saída seria “Maria é uma pessoa de coragem”. Este algoritmo não necessita de cálculos, apenas leitura dos dados e exibição de composição entre variáveis e mensagens.

Verificação manual de algoritmos Digite a função Leia que será exibida no próximo slide. Esta função recebe uma String como parâmetro e retorna o texto digitado pelo usuário. Crie o programa principal, que irá usar a função Leia para montar a mensagem: “<Nome> é uma pessoa que tem <qualidade>”.

Programa mensagem em Java public static String Leia(String param) { // declaração de variáveis // objeto que contém o dado digitado pelo usuário DataInputStream dado_lido; // variável auxiliar que irá armazenar o texto digitado // pelo usuário String stemporario=""; try { dado_lido = new DataInputStream(System.in); stemporario = dado_lido.readLine(); }catch (Exception e) { } return stemporario; }

Solução Exemplo 4 (cont.) O algoritmo fica assim... Variáveis nome, qualidade : cadeia; Início ler nome; ler qualidade; escrever nome + “ é uma pessoa que tem “ + qualidade; Fim

Programa mensagem em Java public static void main(String[] args) { // declaração de variáveis String nome=null, qualidade=null; System.out.println("Entre o nome:"); nome = Leia(nome); System.out.println("Entre a qualidade:"); qualidade = Leia(qualidade); System.out.println(nome+ " é uma pessoa que tem "+qualidade); }

Exercícios Faça um programa para ler um valor em reais e exibir o equivalente em dólares. Considere que um dólar vale R$2,50. Faça um programa para ler o salário de um funcionário e imprimi-lo com um aumento de 15%. Mostre o que será impresso pelo algoritmo a seguir. Variáveis v, r : real; Início v = 1000; r = 15 / 100; v = v + r * v; escreva v; Fim

Programa câmbio em Java public static void main(String[] args) { // declaração de variáveis double valor_real=0, valor_dolar=0, cotacao_dolar = 2.50; System.out.println("Entre o valor em reais:"); valor_real=Leia(valor_real); valor_dolar = valor_real/cotacao_dolar; System.out.println("O valor de R$ " + valor_real + " reais em dólar é: US$ " + valor_dolar); }

Programa salário em Java public static void main(String[] args) { // declaração de variáveis double salario_antigo=0, salario_novo=0; System.out.println("Entre o valor do salário do funcionário:"); salario_antigo=Leia(salario_antigo); salario_novo = salario_antigo*1.15; System.out.println("O valor do salário com aumento de 15% é R$ " + salario_novo + " reais.”); }

Construção de Algoritmos 2 Programação em Java Prof. Maurício Braga