Android Aula 01 Introdução ao Java Humberto Moura [email protected].

40
Android Aula 01 Introdução ao Java Humberto Moura [email protected]

Transcript of Android Aula 01 Introdução ao Java Humberto Moura [email protected].

Page 1: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

AndroidAula 01Introdução ao Java

Humberto [email protected]

Page 2: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Agenda

Lógica de Programação

Algoritmos

Operadores Aritméticos

Operadores Relacionais

Expressões Aritméticas

Page 3: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Lógica de Programação

"Técnica de encadear pensamentos para atingir determinado objetivo

Necessária para desenvolver programas e sistemas, pois permite definir a sequência lógica para a solução de um problema.”

Page 4: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Sequência Lógica

- Estes pensamentos podem ser descritos como uma sequência de instruções,

que devem ser seguidas para se cumprir uma determinada tarefa

- Passos executados até se atingir um objetivo ou solução de um problema

? 1. -> 2. -> 3. -> !

Page 5: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Instrução

Cada um dos passos, cada uma das ações a tomar (obedecendo a seqüência lógica) para ir resolvendo o problema, ou para ir executando a tarefaEm informática, é a informação que indica a um computador uma operação elementar a executar.

Ex.: “somar”, “subtrair”, “comparar se é maior”, etcUma só instrução não resolve problemas

Executar um conjunto de instruçõesExecutar em uma seqüência lógica

Page 6: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Exemplo - Omelete

Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar fogão”, “pôr óleo na frigideira”, “pôr frigideira no fogo”, “fritar ovos batidos”, etc…

Quanto às instruções isoladas:Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é suficiente para cumprir a tarefa “fazer omelete”

Quanto à seqüência lógica:Se executarmos “fritar ovos batidos” antes de “bater ovos”, ou pior, antes de “quebrar ovos”, não iremos cumprir a tarefa “fazer omelete”

Page 7: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Algoritmo"Sequência de passos finita e ordenada necessária

para se chegar a um objetivo."

“somar dois números”:Passo 1: Escrever primeiro número no retângulo APasso 2: Escrever segundo número no retângulo BPasso 3: Somar o número do retângulo A com o

número do retângulo B e escrever o resultado no retângulo C

=+

A B C

Page 8: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Algoritmo - Exemplo

Quando uma dona de casa prepara um bolo, segue uma receita, que nada mais é do que um

algoritmo em que cada instrução é um passo a ser seguido para que o prato fique pronto com

sucesso:

1. Bata 4 claras em neve

2. Adicione 2 xícaras de açúcar

3. 3. Adicione 2 colheres de farinha de trigo, 4 gemas, uma colher de fermento e duas colheres de

chocolate

4. 4. Bata por 3 minutos

5. 5. Unte uma assadeira com margarina e farinha de trigo

6. 6. Coloque o bolo para assar por 20minutos

Page 9: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Algoritmo - Exemplo

Um motorista que necessita efetuar a troca de um pneu furado segue uma rotina para realizar essa tarefa:

1. Verifica qual pneu está furado2. Posiciona o macaco para levantar o carro3. Pega o estepe4. Solta os parafusos5. Substitui o pneu furado6. Recoloca os parafusos7. Desce o carro8. Guarda o macaco e o pneu furado

Page 10: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Programa

Algoritmo escrito em uma linguagem de computador (linguagem de programação - C, Pascal, COBOL, Fortran, Basic, Java, etc.)

- Interpretado e executado por um computador- Interpretação rigorosa, exata, do computador. - A escrita do algoritmo na linguagem de programação tem que seguir regras mais rigorosas.

Page 11: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Tipos de Algoritmos

PSEUDOCÓDIGO: Facilita descrever o algoritmo antes de passá-lo para uma linguagem de

programaçãoIntermediária: linguagem natural – linguagem de programaçãoPseudocódigo = “códigofalso”FLUXOGRAMA: É uma forma universal de representação, pois se utiliza de figuras

geométricas para ilustrar passos a serem seguidos para a resolução de problemas

Page 12: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Código FonteÉ o algoritmo escrito através da sintaxe de uma linguagem de

programação. É armazenado em um arquivo de texto puro (TXT).

Linguagens de Programação:

Linguagem Extensão Linguagem Extensão

Java .java Objective-C .h .m

C .c Pyton .py

Pascal .pas Clipper .clp

C# .cs Cobol .cob

PHP .php VB .Net .vb

Page 13: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Compilador

Software utilizado para transformar o código fonte escrito em uma linguagem de programação em código executável pelo computador.

-Compilar: Verbo que significa a ação de utilizar o compilador.

-Depurar Corrigir o código fonte de forma a não deixá-lo com erros.

Page 14: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Pseudocódigo

Descrição do algoritmo, menos rigorosa que na linguagem de programação (código fonte)Fácil de entender e fácil de codificar depoisIndependente da linguagem de programaçãoSimples e objetivo Técnicas:

Page 15: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Resolução

FASES para desenvolver o algoritmo:Determinar o problema, definí-lo bemDividir a solução nas três fases:

Exemplo:Problema: calcular a média de quatro númerosDados de entrada: os números, N1, N2, N3 e N4Processamento: somar os quatro números e dividir a soma por 4

Dados de saída: a média final

Page 16: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Algoritmo - Pseudocódigo

- Receber o primeiro número- Receber o segundo número- Receber o terceiro número- Receber o quarto número- Somar todos os números - Dividir a soma por 4- Mostrar o resultado da divisão

Page 17: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Exercício1) Escreva os passos necessários para uma pessoa efetuar um

saque em um caixa eletrônico.

2) Identifique os dados de entrada, processamento e saída no algoritmo abaixo

· Receba código da peça· Receba valor da peça· Receba Quantidade de peças· Calcule o valor total da peça (Quantidade * Valor da peça)· Mostre o código da peça e seu valor total

3) Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que

ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2

Page 18: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Teste de Mesa

Todo algoritmo deve ser testadoUsar dados e resultados previamente calculados, seguir precisamente as instruções do algoritmo e verificar se o procedimento está correto ou não

Exemplo: Fazer teste de mesa para o algoritmo da média

Page 19: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Operadores AritméticosSão utilizados para calcular expressões aritméticas. Obedecem a mesmas regras da matemática.

Operação Símbolo Exemplo Resposta

Adição + 5 + 3 8

Subtração - 7 - 3 4

Multiplicação

* 7 * -2 -14

Divisão / 5 / 2 2.5

Resto % 7 % 2 1

Page 20: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

ExercíciosCalcule as seguintes operações aritméticas:

1) 2 + 3 * 4 - 22) 7 * 5 + (3 % 2) + 4 * 83) 1.4 + 3.6 / 2.3 - 3.3 + 2.84) ((2 + 4) + (6 - 3) + (7 * (4 + 23)))

Page 21: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Operadores RelacionaisSão utilizados para calcular expressões relacionais. O resultado é sempre verdadeiro ou falso.

Operação Símbolo Exemplo Resposta

Maior que > 5 > 3 verdadeiro

Menor que < 7 < 3 falso

Maior ou Igual >= 7 >= -2 verdadeiro

Diferente != 12 != 4 verdadeiro

Menor ou Igual <= 5 <= 2 false

Igual == 7 == 2 falso

Page 22: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

ExercíciosCalcule as seguintes operações relacionais:

1) 2 > 32) 7 < 53) 1.4 == 3.64) 2 !=95) 23 <= 566) 45 >= 44

Page 23: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Tipos de Dados

Tipo Java Exemplo

Inteiro int12, 78, -67, 0,

654

Real ou ponto flutuante

float 3.45, 56.89, 8.9

Caractere char ‘a’, ‘u’, ‘@’, ‘9’

Lógico boolean true, false

Literal String“teste”, “uma

frase”

Page 24: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

ExercíciosQual o tipo de dados mais adequado para representar as seguintes informações:

1) A idade de uma pessoa2) Sua altura3) Seu peso4) Sexo5) Tipo sanguínio 6) Nome da pessoa7) Se é PCNE.

Page 25: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Variáveis

Local da memória para armazenar os dados de forma dinâmica:

As variáveis devem:1) Possuir um tipo de dado2) Ter um nome3) Ter um conteúdo4) Ser declaradas antes de utilizar

Page 26: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Exemplo Variável Inteirapublic static void main(String[] args) {

int numero;numero = 5;System.out.println(numero);numero = numero + 5;System.out.println(numero);

}

Page 27: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Exemplo Variável Realpublic static void main(String[] args) {{

float numero;numero = 2.75f;System.out.println(numero);numero = numero + 8.76f;System.out.println(numero);

}

Page 28: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Exemplo Variável Caractere

public static void main(String[] args) {

char letra;letra = ‘b’;System.out.println(letra);letra = ‘c’;System.out.println(letra);

}

Page 29: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Exemplo Variável Literal

public static void main(String[] args) {

String nome;nome = “Maria”;System.out.println(nome);

}

Page 30: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Exemplo Variável Lógicapublic static void main(String[] args) {

boolean chovendo;

chovendo = true;System.out.println(chovendo);

chovendo = false; System.out.println(chovendo);

}

Page 31: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Entrada de DadosUtilizamos a classe Scanner para entrada de dados.

import java.util.Scannerpublic class Principal { public static void main(String[] args) {

Scanner teclado = new Scanner(System.in); int num = teclado.nextInt(); // obter um

inteiro. System.out.println(num);

}}

Page 32: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Classe ScannerPode ser utilizada para obter dados do teclado.

método Tipo Exemplo

nextInt() int int x = s.nextInt();

nextFloat() float float x = s.nextFloat();

nextDouble() double double x = s.nextDouble();

nextLine() String String x = s.nextLine();

nextLine().charAt() charchar x = nextLine().charAt(0);

Page 33: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Exercícios

1) Faça um programa para calcular a média de 4 números.2) Faça um programa para converter graus Celcius em Fahrenheit.

Page 34: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Operadores LógicosSão utilizados para calcular expressões relacionais e lógicas em conjunto. O resultado é sempre verdadeiro ou falso.

Operação Símbolo Exemplo Resposta

E && (5 > 3) && (2 < 8) verdadeiro

OU || (7 < 3) || (6 < 9) verdadeiro

Não ! ! (5 < 9) falso

Page 35: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Tabela Verdade

A B && || !A !B

V V V V F F

V F V V F V

F V V V V F

F F V F V V

Page 36: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Estrutura de Seleção

Se (Condição for Verdadeira) Então{

comando();comando();

}

Page 37: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Estrutura de Seleção

int idade = 30;

if(idade >= 18){

System.out.println(“Maior de idade”);

}

Page 38: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Estrutura de Seleção / SenãoSe (Condição for Verdadeira) Então{

comando();comando();

}senão{

outroComando();outroComando();

}

Page 39: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Estrutura de Seleção if / elseint idade = 15;if(idade >= 18){

System.out.println (“Maior de idade!”);}else{

System.out.println(“Menor de idade!”);}

Page 40: Android Aula 01 Introdução ao Java Humberto Moura humberto@humbertomoura.com.br.

Exercícios – Se

1) Faça um programa para calcular a média de 4 números e exibir se o aluno foi reprovado (média menor que 7) ou aprovado.

2) Faça um programa para ler 5 números e exibir o maior e o menor deles.

3) Faça um programa para ler 3 ângulos e saber se um triângulo é isosceles, escaleno ou equilátero.