Algoritmos e Programação - 2013.2 - Aula 9

57
Algoritmos e Programação Prof.º Thyago Maia 2013.2

description

Algoritmos e Programação - 2013.2 - Aula 9

Transcript of Algoritmos e Programação - 2013.2 - Aula 9

Page 1: Algoritmos e Programação - 2013.2 - Aula 9

Algoritmos e Programação

Prof.º Thyago Maia2013.2

Page 2: Algoritmos e Programação - 2013.2 - Aula 9

Objetivos

Aula 9

• Introduzir a linguagem de programação Java;

• Apresentar a estrutura básica de uma classe Java;

• Apresentar os métodos de leitura e escrita de dados em Java;

2

Page 3: Algoritmos e Programação - 2013.2 - Aula 9

Passos para a Construção de Software

Page 4: Algoritmos e Programação - 2013.2 - Aula 9

Passos para a Construção de Software

• 1º passo: Conhecimento do problema;• 2º passo: Construção do algoritmo;• 3º passo: Codificação do algoritmo em uma

linguagem de programação;

4

Problema !!!Solução Codificação

Page 5: Algoritmos e Programação - 2013.2 - Aula 9

Linguagens de Programação

Page 6: Algoritmos e Programação - 2013.2 - Aula 9

Linguagens de Programação

• Para armazenar um algoritmo na memória de um computador, e para que o mesmo seja executável, é necessário que o mesmo seja programado (codificado);

• Precisamos transcrever nossos algoritmos para uma linguagem de programação;

• Exemplos: Pascal, C, Java, Cobol, etc. • Na disciplina, utilizaremos a linguagem de

programação Java;6

Page 7: Algoritmos e Programação - 2013.2 - Aula 9

A Linguagem Java

Page 8: Algoritmos e Programação - 2013.2 - Aula 9

A Linguagem Java

• Em 1991, A Sun Microsystems financiou uma pesquisa corporativa interna com codinome Green;

• O projeto resultou no desenvolvimento de uma linguagem baseada em C e C++, chamada inicialmente de Oak (carvalho);

• Quando uma equipe da Sun visitou uma cafeteria local, o nome Java foi sugerido e pegou;

8

Page 9: Algoritmos e Programação - 2013.2 - Aula 9

A Linguagem Java

9

Page 10: Algoritmos e Programação - 2013.2 - Aula 9

A Linguagem Java

• Utiliza o paradigma de programação orientada a objetos (POO);

• Programas em Java consistem em partes chamadas classes;

• Classes definem os objetos presentes no sistema de software;

• Cada classe determina: – O comportamento dos objetos (instruções e métodos);– Os estados possíveis dos objetos (atributos);– O relacionamento entre objetos;

10

Page 11: Algoritmos e Programação - 2013.2 - Aula 9

Sistema de Desenvolvimento Java

Page 12: Algoritmos e Programação - 2013.2 - Aula 9

Sistema de Desenvolvimento Java

• Sistemas de desenvolvimento Java consistem em várias partes:– Um ambiente de desenvolvimento (IDE);– O Java Development Kit (JDK);• Fornece o compilador e outras ferramentas;• Fornece uma biblioteca de classes pré-construidas;

– O Java Runtime Environment (JRE);• Inclui uma Máquina Virtual Java (JVM), bibliotecas de

código e componentes necessários para executar programas Java;• Está incluído no JDK;

12

Page 13: Algoritmos e Programação - 2013.2 - Aula 9

Ambientes de Desenvolvimento (IDEs)

Page 14: Algoritmos e Programação - 2013.2 - Aula 9

Ambientes de Desenvolvimento (IDEs)

• Ambientes integrados de desenvolvimento (IDEs):– São programas de computador que reúnem

características e ferramentas de apoio ao desenvolvimento de software;

– Objetivam agilizar o processo de desenvolvimento de software;

– Ex.:• Eclipse IDE;• NetBeans IDE;

14

Page 15: Algoritmos e Programação - 2013.2 - Aula 9

Eclipse IDE

Page 16: Algoritmos e Programação - 2013.2 - Aula 9

Eclipse IDE

• IDE utilizado no curso;• Software open source de desenvolvimento de

software (em Java e outras linguagens);• Projeto iniciado pela IBM e doado para a

comunidade software livre;• JDK precisa estar pré-instalado;

• Download em: http://www.eclipse.org

16

Page 17: Algoritmos e Programação - 2013.2 - Aula 9

Criando um Projeto no Eclipse IDE

Page 18: Algoritmos e Programação - 2013.2 - Aula 9

Criando um Projeto no Eclipse IDE

• Já com o software instalado e iniciado, clique na opção de menu File > New > Java Project;

• Em Project Name, defina um nome para seu projeto;

• Clique em Finish;

18

Page 19: Algoritmos e Programação - 2013.2 - Aula 9

Criando uma Classe Java

Page 20: Algoritmos e Programação - 2013.2 - Aula 9

Criando uma Classe Java

• No painel Package Explorer (lado esquerdo da janela principal da IDE), clique com o botão direito do mouse sobre a pasta Nome do projeto > src > (default package);

• No menu apresentado em seguida, clique na opção New > Class;

20

Page 21: Algoritmos e Programação - 2013.2 - Aula 9

Criando uma Classe Java

• Na janela em seguida, em Name, defina o nome da sua classe (sem espaços e caracteres especiais);

• Selecione a opção public static void main(String args[]) em Which method stubs would you like to create?;

• Clique em Finish;21

Page 22: Algoritmos e Programação - 2013.2 - Aula 9

Editando um Arquivo .java

Page 23: Algoritmos e Programação - 2013.2 - Aula 9

Editando um Arquivo .java

• No editor de código do Eclipse (parte central da janela principal do IDE) será apresentado o corpo básico para uma classe Java:

23

public class nome_classe {

/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub

}

}

Page 24: Algoritmos e Programação - 2013.2 - Aula 9

Editando um Arquivo .java

• Exemplo 1: Método de saída padrão (equivalente a função escreva em algoritmos)

24

public class nome_classe {

public static void main(String[] args) {

System.out.println(“Olá mundo”);

}

}

Page 25: Algoritmos e Programação - 2013.2 - Aula 9

Testando sua aplicação Java no Eclipse IDE

Page 26: Algoritmos e Programação - 2013.2 - Aula 9

Testando sua aplicação Java no Eclipse IDE

• Salve sua classe Java (Ctrl+S);

• Pressione as teclas Ctrl + F11 ou...

• No Package Explorer, clique com o botão direito do mouse sobre o arquivo .java que você acabou de criar;

• Clique em Run As > Java Application;26

Page 27: Algoritmos e Programação - 2013.2 - Aula 9

Testando sua aplicação Java no Eclipse IDE

• Sua aplicação será executada na parte inferior da janela principal do Eclipse (Aba Console);

• Neste mesmo painel, podemos verificar possíveis erros de compilação e execução das nossas classes (Aba Problems);

27

Page 28: Algoritmos e Programação - 2013.2 - Aula 9

Observações de Sintaxe

Page 29: Algoritmos e Programação - 2013.2 - Aula 9

Observações de Sintaxe

• Java É CASE SENSITIVE!• Cada instrução em Java deverá ser finalizada

com ;• O corpo de código de classes, estruturas e

métodos devem ser iniciados com { e encerrados com }

• As regras para a identificação de classes, métodos, objetos e variáveis são as mesmas vistas anteriormente em algoritmos;

29

Page 30: Algoritmos e Programação - 2013.2 - Aula 9

Variáveis

Page 31: Algoritmos e Programação - 2013.2 - Aula 9

Variáveis

• Em Java, podemos declarar variáveis em qualquer região do corpo de código do método principal (main);

• Sintaxe:tipo_primitivo identificador;outipo_primitivo identificador = valor_inicial;

31

Page 32: Algoritmos e Programação - 2013.2 - Aula 9

Tipos Primitivos

Page 33: Algoritmos e Programação - 2013.2 - Aula 9

Tipos Primitivos

• São os tipos de dados mais usuais e básicos, habituais em outras linguagens de programação:

• Inteiros (equivalentes ao tipo inteiro do VisuAlg):– byte (1 byte);– short (2 bytes);– int (4 bytes);– long (8 bytes);

33

Page 34: Algoritmos e Programação - 2013.2 - Aula 9

Tipos Primitivos

• Reais (equivalentes ao tipo real do VisuAlg):– float (1 byte);– double (2 bytes);

• Lógico (equivalente ao tipo lógico do VisuALg):– boolean (true ou false);

34

Page 35: Algoritmos e Programação - 2013.2 - Aula 9

Exemplo

35

public class principal {

public static void main(String[] args) {

int num1 = 9;int num2 = 10;

System.out.println(num1);System.out.println(num2);System.out.println("Soma entre num1 e

num2:");System.out.println(num1+num2);System.out.println("Diferença entre num1 e

num2: " + (num1-num2));}

}

Page 36: Algoritmos e Programação - 2013.2 - Aula 9

Exemplo

36

public class principal {

public static void main(String[] args) {

double peso = 55.7;double altura = 1.80;

System.out.println("Seu peso: " + peso);System.out.println("Sua altura: " + altura);

}

}

Page 37: Algoritmos e Programação - 2013.2 - Aula 9

A Classe String

Page 38: Algoritmos e Programação - 2013.2 - Aula 9

A classe String

• Um objeto da classe String é equivalente a uma variável do tipo literal em algoritmos (uma cadeia de caracteres). Exemplo:

38

public class principal {

public static void main(String[] args) {

String nome = “Thyago Maia”String time = “Sport Recife”;

System.out.println("Seu nome: " + nome);System.out.println("Seu time: " + time);

}

}

Page 39: Algoritmos e Programação - 2013.2 - Aula 9

Operadores

Page 40: Algoritmos e Programação - 2013.2 - Aula 9

Operadores

• Aritméticos: soma (+), subtração (-), multiplicação (*), divisão (/) e resto da divisão (%);

• Atribução: = (Equivalente ao <- do VisuAlg);• Concatenação: + (Unir textos)• Incremento (++) e decremento (--);• Operadores relacionais: maior que (>), menor

que (<), igual (==), diferente (!=), maior ou igual (>=), menor ou igual (<=);

40

Page 41: Algoritmos e Programação - 2013.2 - Aula 9

Operadores

• Operadores lógicos: E (&&), OU (||), NÃO (!);

41

Page 42: Algoritmos e Programação - 2013.2 - Aula 9

Entrada em Java (Console)

Page 43: Algoritmos e Programação - 2013.2 - Aula 9

Entrada em Java (Console)

• Para a entrada de valores a partir do teclado, utilizamos métodos da classe Scanner;

• Sintaxe da instância:

• Para a classe Scanner, existem métodos de leitura específicos para cada tipo primitivo de dados;

43

Scanner nome_objeto = new Scanner(System.in);

Page 44: Algoritmos e Programação - 2013.2 - Aula 9

Entrada em Java (Console)

• Para a leitura de dados inteiros:

• Para a leitura de dados fracionários:

44

Scanner entrada = new Scanner(System.in); int numero;

numero = entrada.nextInt();

Scanner entrada = new Scanner(System.in); float numero1; double numero2;

numero1 = entrada.nextFloat(); numero2 = entrada.nextDouble();

Page 45: Algoritmos e Programação - 2013.2 - Aula 9

Entrada em Java (Console)

• Para a leitura de dados literais:

• Para a leitura de dados lógicos:

45

Scanner entrada = new Scanner(System.in); String nome;

nome = entrada.next();

Scanner entrada = new Scanner(System.in); boolean ligou;

ligou = entrada.nextBoolean();

Page 46: Algoritmos e Programação - 2013.2 - Aula 9

Entrada em Java (Console)

• Observação: A classe Scanner faz parte da biblioteca de classes java.util. Deveremos importar a referida biblioteca em nossas classes para que as mesmas possam instanciar a classe Scanner e acessar seus métodos de entrada:

46

import java.util.Scanner;

public class nome_programa {

Scanner entrada = new Scanner(System.in); ...

Page 47: Algoritmos e Programação - 2013.2 - Aula 9

Entrada em Java (Console)

• Exemplo: Faça um programa que receba 3 notas de um aluno e calcule sua média;

47

Page 48: Algoritmos e Programação - 2013.2 - Aula 9

48

import java.util.Scanner;

public class calcula_media {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);

float nota1, nota2, nota3, media;

System.out.println("Digite a primeira nota:");nota1 = entrada.nextFloat();

System.out.println("Digite a segunda nota:");nota2 = entrada.nextFloat();

System.out.println("Digite a terceira nota:");nota3 = entrada.nextFloat();

media = (nota1+nota2+nota3)/3;System.out.println("Média final: " + media);

}}

Page 49: Algoritmos e Programação - 2013.2 - Aula 9

Entrada em Java (Console)

• Exemplo: Faça um programa que receba a distância, o tempo que um veículo levou para percorrê-la e calcula sua velocidade média;

– Velocidade = distância/tempo

49

Page 50: Algoritmos e Programação - 2013.2 - Aula 9

50

import java.util.Scanner;

public class calcula_velocidade {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);float velocidade, distancia, tempo;

System.out.println("Digite a distância:");distancia = entrada.nextFloat();

System.out.println("Digite o tempo:");tempo = entrada.nextFloat();

velocidade = distancia/tempo;

System.out.println(“Velocidade: " + velocidade); }}

Page 51: Algoritmos e Programação - 2013.2 - Aula 9

Entrada em Java (Console)

• Faça um programa que receba dois números inteiros (variáveis A e B), escreva o conteúdo das variáveis na tela, troque o conteúdo das duas variáveis e escreva novamente o conteúdo das mesmas;

51

Page 52: Algoritmos e Programação - 2013.2 - Aula 9

52

import java.util.Scanner;

public class calcula_velocidade {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);int a, b, aux;

System.out.println(“1º número:");a = entrada.nextInt();System.out.println(“2º número:");b = entrada.nextInt();

System.out.println(“valores digitados: ” + a + “,” + b);

aux = a; a = b; b = aux;

System.out.println(“Valores invertidos: ” + a + “,” + b); }}

Page 53: Algoritmos e Programação - 2013.2 - Aula 9

Exercícios

Page 54: Algoritmos e Programação - 2013.2 - Aula 9

Exercícios

• Faça um programa que lê a base maior, a base menor e a altura de um trapézio. A partir destes dados, o programa deverá calcular a área do trapézio.

54

Page 55: Algoritmos e Programação - 2013.2 - Aula 9

Exercícios

• Faça um programa que lê o nome de um funcionário, o número de horas trabalhadas e o valor que recebe por hora. Com estas informações, calcular o salário deste funcionário e exibir seu nome e salário final.

• Faça um programa que receba o preço de um produto, o valor pago pelo cliente e retorne o troco a ser dado.

55

Page 56: Algoritmos e Programação - 2013.2 - Aula 9

Exercícios

• Faça um programa que lê dois números e calcule a soma, subtração, multiplicação e divisão entre os mesmos. Exibir as respostas no final do processamento;

56

Page 57: Algoritmos e Programação - 2013.2 - Aula 9

Exercícios

• Escreva um programa que lê uma temperatura em graus Fahrenheit, calcula e escreve o valor correspondente em graus Celsius.

– Fórmula: C = ((F-32) / 9) * 5

57