A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Construção de Algoritmos 1 Programação em Java Prof. Maurício Braga."— Transcrição da apresentação:

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

2 2/53 Algoritmos Estruturas para construção de algoritmos Tipos de Dados; Variáveis; Constantes; Operadores aritméticos, relacionais e lógicos; Atribuição; Comandos de condição ou seleção; Comandos de repetição.

3 3/53 Tipos de dados Dado pode ser definido como informação em estado primitivo cujo processamento pode gerar informação útil. Devido a natureza do que vai ser armazenado em memória, existem tipos de dados diferentes. Tipo de dado representa o conjunto de valores possíveis para um dado.

4 4/53 Tipos de dados Iremos utilizar apenas cinco tipos de dados durante a criação de algoritmos: Inteiro – Para representar informações que não possuem parte fracionária. Ex: 1, 2, 40000, etc.; Real – Para representar informações que podem possuir parte fracionária. Ex: ; Lógico – Para representar um estado ou situação que pode ser apenas verdadeira (true) ou falsa (false); Caractere – Utilizado para armazenar um único caractere na memória. Ex: A; Cadeia de caracteres – Utilizado para armazenar um seqüência de caracteres na memória. Ex: Computador.

5 5/53 Exercícios Identifique o tipo de dado para a representação das informações abaixo: Quantidade de brinquedos de uma criança; Altura de uma pessoa; Aviso em uma placa; Sexo de uma pessoa; Salário de um funcionário; CEP de uma carta; Estado de um computador quanto ao seu funcionamento; Número de cheques emitidos por um cliente em um mês.

6 Tipos de dados em Java Java possui oito tipos primitivos de dados: Lógico: boolean Texto (1 caractere): char Inteiros: byte, short, int e long Reais: double e float Todos os tipos numéricos possuem sinal. String: representa uma cadeia de caracteres.

7 7/53 Operadores Operadores aritméticos Utilizados para obtenção de dados numéricos; Consistem de: Adição (+); Subtração (-); Multiplicação (*); Divisão real entre dois números (/); Divisão inteira entre dois números inteiros (div); Resto da divisão inteira entre dois números inteiros (mod).

8 8/53 Operadores em Java Operadores aritméticos Consistem de: Adição (+); Subtração (-); Multiplicação (*); Divisão real entre dois números (/); Divisão inteira entre dois números inteiros (/); Resto da divisão inteira entre dois números inteiros (%).

9 9/53 Operadores aritméticos Precedência de operadores aritméticos 1. ( ) Parênteses; 2. Potenciação, radiciação; 3. Multiplicação, divisões e resto da divisão; 4. Adição ou subtração. Ex: 2 * (2 – 4) + 3* 4 = ?

10 10/53 Montagem de expressões Exemplos * (3 + 4) * 9 7 * – pot(4*2,2) – pot(8,2) +5 8 –

11 11/53 Exercícios pot(8,2) + (1.5 * 10) / 5 rad( -2*(-8) ) div 4 ( 30 mod 4 * pot(3,3) ) * -1

12 12/53 Operadores Operadores relacionais Utilizados na comparação de literais ou números; Retornam valores lógicos; Consistem de: Igual a (==); Diferente de (<> ou !=); Maior que (>); Menor que (<); Maior ou igual a (>=); Menor ou igual a (<=).

13 13/53 Operadores Operadores lógicos Utilizados para combinar resultados de expressões lógicas; Consistem de: E (AND); OU (OR); NÃO (NOT).

14 14/53 Tabela verdade das operações lógicas E OU xyx E y VerdadeiroFalso Verdadeiro FalsoVerdadeiroFalso xyx OU y VerdadeiroFalsoVerdadeiro FalsoVerdadeiro Falso

15 15/53 Tabela verdade das operações lógicas NÃO xNÃO x VerdadeiroFalso Verdadeiro

16 16/53 Operadores lógicos Precedência de operadores lógicos 1. Não; 2. E, OU.

17 17/53 Operadores lógicos Exemplos: (3 == 5) E (4 > 2) = (2 > 4) OU (2 < 4) = 15 mod 4 < 19 mod 6 = Falso Verdadeiro Falso FV FV F

18 18/53 Exercícios 2 < 5 e 15/3 = 5 pot(3,2)/3 < 2 e 5=5 Falso ou 20 div (18/3) <> (21/3) div 2

19 Operadores Lógicos em Java Operadores Booleanos: ! - Não& - E | - Ou^ - Ou Exclusivo Operadores Booleanos com Curto-Circuito || - Ou && - E

20 20/53 Montagem de expressões Para realização de determinados cálculos, pode ser necessário fazer combinações de operadores, bom como a adição de parênteses. Mas que operador será calculado primeiro? O que tiver maior prioridade.

21 21/53 Montagem de expressões Tabela de prioridades de operadores: 1ºParênteses mais internos 2ºFunções 3ºOperadores aritméticos 1º Multiplicativos (*, /, #, %); 2º Aditivos (+, -) 4ºOperadores relacionais 5ºOperadores lógicos 1º NÃO 2º E 3º OU

22 22/53 Exercícios Indique a ordem e o resultado das expressões: 7 * 4 / – 6 7 > 2 E 3 – 5 < 8 NÃO ( <> 5 / )

23 23/53 Constantes e Variáveis Constante Possui valor fixo durante execução do programa; Pode ser numérica, lógica ou literal. Variável Um dos conceitos mais importantes na construção de algoritmos. Representa um espaço de memória reservado para armazenar determinado tipo de dado; Deve receber um nome para referenciação e modificação; Deve possuir um tipo associado; Quando um algoritmo termina sua execução, todas as variáveis são apagadas da memória; Só podem armazenar um dado por vez.

24 24/53 Constantes e Variáveis Nomes de Variáveis O nome de uma variável deve ser único dentro de um mesmo algoritmo. Deve começar por uma letra, podendo-se incluir após esta letra outras letras, dígitos ou o sinal de underline ( _ ). Este tipo de nome é conhecido como identificador. O identificador não pode possuir acentos, nem ser igual ao nome de um comando.

25 25/53 Identificadores em Java Devem começar com uma letra, um cifrão ($) ou um underscore (_) Exemplos: 1. Foobar 2. BIGInterface 3. $incomeAfterExpenses 4. 3_node5 5. !theCase Ok! Errado!

26 26/53 Constantes e Variáveis Ex: Variável Constante media= P1 + P2 + P3 + P4 4

27 27/53 Constantes e Variáveis Tipos de variáveis Numéricas: Armazenamento de números; Inteiras: Armazenamento de números inteiros; Reais: Armazenamento de números reais. Caracteres: Cadeia de letras ou números; Ex: a, José, Rua 23. Booleanas: Armazenam valores lógicos (verdadeiro ou falso).

28 28/53 Constantes e Variáveis Declaração de variáveis Toda variável utilizada em um algoritmo deve ser declarada. A sintaxe utilizada em pseudocódigo é: :,,...;

29 29/53 Sintaxe dos algoritmos Os algoritmos em português estruturado devem possuir a seguinte estrutura: Variáveis // Declaração de variáveis : ; // Corpo do algoritmo Início ; Fim. // Módulos Módulo ; [[... ]] Declaração de variáveis Comentário Módulos dos algoritmos Parte principal do algoritmo Indentação Separador de comandos

30 30/53 Atribuição O que é atribuição? Atribui ou associa um valor a uma variável ou constante Ex: nome = José; media = (nota1 + nota2) / 2;

31 31/53 Funções Atuam como um pequeno programa que, tendo valores de entrada, geram (retornam) um resultado. (,,...)

32 32/53 Funções Matemáticas disponíveis no pacote Java.Math FunçãoUtilidadeTipo do resultado log(double x)Retorna o valor do logaritmo neperiano de xReal exp(double x)Retorna o valor de e x Real pow(double x, double y) Retorna o valor de x elevado a y.Real round(float x)Arredonda x para o inteiro mais próximoInteiro sqrt(double x)Retorna a raiz quadrada de xReal sin(double x)Retorna o seno de xReal cos(double x)Retorna o co-seno de xReal atan(double x)Retorna o arco, em radianos, cuja tangente é xReal abs(int x)Retorna o módulo de x (|x|)Inteiro

33 33/53 Comando de entrada de dados Normalmente precisamos de dados de entrada para serem processados pelos algoritmos. Desta forma, precisamos de um comando para solicitar e obter dados fornecidos pelo usuário. Quando um computador encontra um comando de entrada de dados, ele suspende a execução do programa até que os dados sejam fornecidos. leia,,...;

34 34/53 Comando de saída de dados Da mesma forma que precisamos receber dados externos, precisamos fornecer dados e instruções para os usuários. Desta forma, precisamos de um comando para retornar dados e/ou mensagens em um dispositivo de saída. Ex: escreva O saldo atual é, saldo; escreva soma; Escreva,...;

35 35/53 Exemplo de construção de algoritmo Exemplo 1 Exibir a soma de dois números inteiros fornecidos pelo usuário. Solução Objetivo é construir um algoritmo que ensine o computador a executar uma solução para o problema proposto. O que o algoritmo deve fazer? Calcular a soma de dois números e exibi-la ao usuário. O valor da soma deverá ser armazenado em memória antes de ser exibido É necessário então a criação de uma variável soma É necessário que ao término do algoritmo a variável soma seja exibida para o usuário Saída de dados escreva soma;

36 36/53 Exemplo de construção de algoritmo Solução (cont.) O enunciado afirma que os valores a serem somados devem ser informados pelo usuário O algoritmo possui dados de entrada, e estes dados de entrada deverão ser armazenados em memória. É necessária a criação de duas variáveis num1 e num2 para armazenar os dados fornecidos pelo usuário. É necessário a obtenção destes dados do usuário através do comando de entrada de dados. O processamento do algoritmo deve possuir apenas a operação de soma. Utilizaremos o operador de adição (+) para ensinar ao computador que operação, e com quais valores, deve ser realizada. O resultado da soma deverá ser armazenado em memória pela variável soma, logo precisaremos utilizar o comando de atribuição. leia num1; leia num2; soma <- num1 + num2;

37 37/53 Exemplo de construção de algoritmo Exemplo 1 Exibir a soma de dois números inteiros fornecidos pelo usuário. Solução Variáveis inteiro: num1, num2, soma; Início leia(num1); leia(num2); soma = num1 + num2; escreva(soma); Fim

38 38/53 Exemplo de construção de algoritmo Exemplo 2 Exibir o quadrado de um número inteiro fornecido pelo usuário. Solução Possui apenas uma saída de dados Necessita de apenas uma entrada de dados Podemos utilizar a função pow(x,2)

39 39/53 Exemplo de construção de algoritmo Sem usar a função Variáveis inteiro: valor, quadrado; Início leia(valor); quadrado = valor * valor; escreva(quadrado); Fim Usando a função Variáveis inteiro: valor, quadrado; Início leia(valor); quadrado = pow( valor,2 ); escreva(quadrado); Fim

40 40/53 Exercícios Faça um algoritmo para exibir a multiplicação de dois inteiros informados pelo usuário. Faça um algoritmo para ler um número inteiro e exibir seu dobro. Faça um algoritmo para ler 3 números reais e exibir a soma do 1º número com o 2º, multiplicada pela soma do 2º pelo 3º. O que será impresso pelo algoritmo a seguir? Variáveis inteiro: val1, val2, val3; Início val1 = 10; val2 = 20; val3 = val2 – val1; val3 = val1 – val2; escrever val3; Fim

41 41/53 Eclipse Conhecer o Eclipse; Escrever o programa Alô mundo! em Java.

42 42/53 Algoritmo Alô mundo! Solução Variáveis // Não tem variáveis Início escreva(Alo mundo!); Fim

43 43/53 Programa Alô mundo! em Java public static void main(String[] args) { System.out.println("Alô mundo!); }

44 44/53 Exemplo Implementar em Java o programa que calcula a média de aluno que possui 2 notas.

45 45/53 Algoritmo do programa média: Início // declaração de variáveis real: nota1, nota2, media; // entrada de dados leia(nota1); leia(nota2); // processamento (cálculo da média) media = (nota1 + nota2) / 2; // saída de dados escreva(media); Fim

46 46/53 Programa média em Java public static void main(String[] args) { // Variáveis: nota1, nota2 e média do aluno double nota1 = 0, nota2 = 0, media = 0; System.out.println("Entre a primeira e a segunda nota do aluno:"); // entrada de dados nota1 = Leia(nota1); nota2 = Leia(nota2); // cálculo da média media = (nota1 + nota2)/2; System.out.println("A média é : "+media); }

47 47/53 Programa média em Java public static double Leia(double param) { // variáveis // objeto que contém o dado digitado pelo usuário DataInputStream dado_lido; // variável auxiliar cujo objetivo é facilitar // a conversão dos dados String stemporario; double resultado = 0; try { dado_lido = new DataInputStream(System.in); stemporario = dado_lido.readLine(); resultado =Double.parseDouble(stemporario);

48 48/53 Programa média em Java }catch (Exception e) { } return resultado; }

49 49/53 Exercício Implementar em Java um programa que, a partir do valor em Celsius digitado pelo usuário, calcula o valor da temperatura em Fahrenheit. Fórmula conversão F -> C:

50 50/53 Funções matemáticas com Java - 1 public static void main(String[] args) { double a=0, b=0; System.out.println("Entre o valor de a:"); a=Leia(a); System.out.println("Entre o valor de b:"); b=Leia(b); System.out.println(a+" elevado ao "+b+" é igual a " + Math.pow(a,b)); System.out.println("a raiz quadrada de "+a+" é igual a " + Math.sqrt(a)); System.out.println("o maior entre "+a+" e "+b+" é " + Math.max(a,b)); System.out.println("o menor entre "+a+" e "+b+" é " + Math.min(a,b)); System.out.println("o log de "+a+" é " + Math.log10(a)); System.out.println("o valor de PI é "+Math.PI); }

51 51/53 Funções matemáticas com Java - 2 public static void main(String[] args) { double A=5.2,B=5.6,C=-5.8; System.out.println("Arredondando 5.2 com Math.ceil = " + Math.ceil(A)); System.out.println("Arredondando 5.6 com Math.ceil = " + Math.ceil(B)); System.out.println("Arredondando -5.8 com Math.ceil = " + Math.ceil(C)); System.out.println("Arredondando 5.2 com Math.floor = " + Math.floor(A)); System.out.println("Arredondando 5.6 com Math.floor = " + Math.floor(B)); System.out.println("Arredondando -5.8 com Math.floor = " + Math.floor(C)); }

52 52/53 Exercício Digite o programa exibido no próximo slide e o execute. Você é capaz de explicar o resultado que aparece?

53 53/53 Exemplo tipos de dados em Java public static void main(String[] args) { short s1 = 17, s2 = 5; double d1 = 0.7; System.out.println("divisão de shorts : "); System.out.println("("+ s1 + "/" + s2 + ") = "+ (s1/s2) ); System.out.println("\ndivisão de shorts com conversão para double após a divisão : "); System.out.println("(double) ("+ s1 + "/" + s2 + ") = " + (double) (s1/s2)); System.out.println("\ndivisão de shorts com conversão para double antes da divisão : "); System.out.println("( (double) "+ s1 + "/ (double) " + s2 + ") = " + ((double) s1/(double) s2)); System.out.println("\nsoma de shorts com um double sem conversão : ");

54 54/53 Exemplo tipos de dados em Java System.out.println("("+ s1 + "/" + s2 + " + " + d1 + " + " +s2 + ") = " + (s1/s2 + d1 + s2) ); System.out.println("\n conversão para short após a soma de shorts com um double : "); System.out.println("(short) ("+ s1 + "/" + s2 + " " +s2 + ") = " + (short) (s1/s s2)); System.out.println("\ncast para double em cada elemento antes da soma : "); System.out.println(" ( (double) "+ s1 + "/(double) " + s2 + " + " + d1 + " + " + s2 + ") = " + ((double) s1/(double) s s2)); }

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


Carregar ppt "Construção de Algoritmos 1 Programação em Java Prof. Maurício Braga."

Apresentações semelhantes


Anúncios Google