algoritmos e programação - 2013.2 - aula 9
DESCRIPTION
Algoritmos e Programação - 2013.2 - Aula 9TRANSCRIPT
![Page 1: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/1.jpg)
Algoritmos e Programação
Prof.º Thyago Maia2013.2
![Page 2: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/3.jpg)
Passos para a Construção de Software
![Page 4: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/5.jpg)
Linguagens de Programação
![Page 6: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/7.jpg)
A Linguagem Java
![Page 8: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/9.jpg)
A Linguagem Java
9
![Page 10: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/11.jpg)
Sistema de Desenvolvimento Java
![Page 12: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/13.jpg)
Ambientes de Desenvolvimento (IDEs)
![Page 14: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/15.jpg)
Eclipse IDE
![Page 16: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/17.jpg)
Criando um Projeto no Eclipse IDE
![Page 18: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/19.jpg)
Criando uma Classe Java
![Page 20: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/22.jpg)
Editando um Arquivo .java
![Page 23: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/25.jpg)
Testando sua aplicação Java no Eclipse IDE
![Page 26: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/28.jpg)
Observações de Sintaxe
![Page 29: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/30.jpg)
Variáveis
![Page 31: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/32.jpg)
Tipos Primitivos
![Page 33: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/37.jpg)
A Classe String
![Page 38: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/39.jpg)
Operadores
![Page 40: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/41.jpg)
Operadores
• Operadores lógicos: E (&&), OU (||), NÃO (!);
41
![Page 42: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/42.jpg)
Entrada em Java (Console)
![Page 43: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/53.jpg)
Exercícios
![Page 54: Algoritmos e Programação - 2013.2 - Aula 9](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062319/5586edcbd8b42a2f468b4602/html5/thumbnails/57.jpg)
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