Your SlideShare is downloading. ×
0
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Aula 02 - Programação Estruturada em JAVA
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Aula 02 - Programação Estruturada em JAVA

2,398

Published on

Published in: Education
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
2,398
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
49
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. + Programação Estruturada em JAVA Profa. Ivna Valença ivnavalenca@gmail.com
  • 2. + 2 Comandos básicos n  Ler número do teclado. n  Escrever no vídeo. n  (+) soma quem está na esquerda com quem está na direita. n  <- joga quem está na direita para a área de memória.Profa Ivna Valença - ivnavalenca@gmail.com
  • 3. + 3 Variável n  Programas usam áreas de memória para guardar dados. n  Cada área de memória que um programa vai usar está associada a um dado que o programa tem que tratar, e é chamada de “variável”, e tem que ter um identificador (letra, nome) determinado pelo programador. n  Área de memória = sequência de bitsProfa Ivna Valença - ivnavalenca@gmail.com
  • 4. + 4 Variável n  Os dados são representados por sequências distintas de bits onde cada sequência de “N” bits representa uma informação do mundo real, seguindo combinações. n  Exemplos: computador “simples” n  Números inteiros: N = 3 n  23 possibilidadesProfa Ivna Valença - ivnavalenca@gmail.com
  • 5. + 5 Variável Conversão 1 Conversão 2 000 = 0 000 = 0 001 = 1 001 = 1 010 = 2 010 = 2 011 = 3 011 = 3 100 = – 4 100 = 4 101 = – 3 101 = 5 110 = – 2 110 = 6 111 = – 1 111 = 7Profa Ivna Valença - ivnavalenca@gmail.com
  • 6. + 6 Variável n  São definidas por identificadores cujos nomes têm regras de formação específicas. n  Uma variável ocupa espaço em memória. n  A quantidade de memória que ela ocupa é função da natureza, que representa o tipo do dado armazenado e os valores possíveis a serem armazenados. n  De uma maneira geral, quando se usa o sistema de armazenamento mais simples, em “N” bits, é possível armazenar 2n valores distintos.Profa Ivna Valença - ivnavalenca@gmail.com
  • 7. + 7 Tipo de variável n  O tipo da variável está associado ao tipo de dado que ela representa e ao tamanho que ela ocupa (em bits). n  As linguagens de programação disponibilizam diversos tipos que podem ser associados às variáveis de um programa. n  As linguagens de programação possuem três formas básicas para representar dados em memória (em variável). n  Inteiro: 8, 16, 32, 64 n  Real: 32, 64 n  Caractere: 16 n  Conjunto de caracteres: 16xN*Profa Ivna Valença - ivnavalenca@gmail.com
  • 8. + 8 Representação de números inteiros n  Normalmente, as linguagens permitem que se trabalhe com inteiros em 8,16, 32 e 64 bits. n  Dentre as combinações possíveis de valores, tem-se: n  metade das combinações para números negativos. n  uma combinação para zero. n  metade das combinações menos um para números maiores que zero.Profa Ivna Valença - ivnavalenca@gmail.com
  • 9. + 9 Representação de números inteiros n  Exemplo: 8 bits n  28 = 256 n  28/2 = 28-1 = 27 = 128 números negativos (-128 a -1) n  1 número zero (0) n  28/2 – 1 = 127 números positivos (1 a 127) n  Conclusão: com 8 bits, representamos números inteiros de -128 a 127, (-28-1) a (28-1 – 1).Profa Ivna Valença - ivnavalenca@gmail.com
  • 10. + 10 Representação de números inteiros n  De uma maneira geral tem-se, para N bits: n  2n-1 números negativos n  1 zero n  2n-1 – 1 números positivos n  Com N bits, representamos números inteiros de: n  (– 2n-1) a (2n-1 – 1) n  Nesta forma de representação, números positivos e o zero são representados por sequências de bits começando com 0 (zero), e números negativos são representados por sequências de bits começando com 1.Profa Ivna Valença - ivnavalenca@gmail.com
  • 11. + 11 Representação de números reais n  As linguagens usam normalmente 32 ou 64 bits. Os números reais são representados da seguinte forma: n  M x 10c n  Um pedaço do bit é reservado para representar M e outro pedaço é reservado para representar C. n  As representações de M e C seguem o padrão de representação dos inteiros.Profa Ivna Valença - ivnavalenca@gmail.com
  • 12. + 12 Representação de números reais n  Exemplo: 32 bits n  M – 24 bits n  C – 8 bits n  M – vai de -223 a 223 – 1 n  C – vai de -27 a 27 – 1 = 128 a 127 n  Maior número possível: (223-1) x 10127Profa Ivna Valença - ivnavalenca@gmail.com
  • 13. + 13 Representação de números reais n  Exemplo de como representar um número real com parte decimal: n  2,1 = 21 x 10-1 n  M = 21 => 00000000000000000000000000010101 n  C = -1 => 11111111Profa Ivna Valença - ivnavalenca@gmail.com
  • 14. + 14 Representação de caracteres n  Convenções que relacionam caracteres de alfabetos (ocidentais, orientais e arábicos) a sequência distinta de bits. n  Cada conjunto de caracteres, x sequência de bits forma um código de representação de caracteres.Profa Ivna Valença - ivnavalenca@gmail.com
  • 15. + 15 Representação de caracteres n  Exemplo de um “código hipotético”: n  Código com 3 bits = 23 = 8 caracteres n  a – 000 = 0 A – 100 = 4 n  b – 001 = 1 B – 101 = 5 n  c – 010 = 2 C – 110 = 6 n  d – 011 = 3 D – 111 = 7Profa Ivna Valença - ivnavalenca@gmail.com
  • 16. + 16 Representação de caracteres n  Códigos usados atualmente: n  ASCI – 8 bits n  UNICODE – 16 bits n  UNICODE estendido– 32 bits n  EBCDIC – mainframe n  P1 – ASC n  P2 – UNICODEProfa Ivna Valença - ivnavalenca@gmail.com
  • 17. + 17 Conjunto de caracteres n  Uma sequência de variáveis do tipo caractere. n  A quantidade de bits ocupados por um conjunto de caracteres é igual à quantidade de caracteres que compõem o conjunto vezes a quantidade de bits que representam um caractere. n  Exemplo: conjunto caracteres: “ANDRE” é 16 x 5 = 80 bits.Profa Ivna Valença - ivnavalenca@gmail.com
  • 18. + 18 Variável n  Para se usar uma variável em um programa, devemos definir o seu tipo e declarar no programa que ela será do tipo definido e terá um identificador. n  Dessa forma, o computador é capaz de alocar o espaço necessário na memória. n  Exemplo:Profa Ivna Valença - ivnavalenca@gmail.com
  • 19. + 19 Processamento n  Na hora em que um programa é “traduzido” para linguagem de máquina pelo compilador, o mesmo precisa saber distinguir: n  Variável; n  Tipo de variável; n  Instruções; n  Operadores (aritméticos e lógicos); n  Outros elementos de linguagem de comparação.Profa Ivna Valença - ivnavalenca@gmail.com
  • 20. + 20 Linguagem de Programação (LP) n  Para que não haja possibilidade de “dupla interpretação” de uma linha de código pelo compilador, toda linguagem de programação possui: n  Palavra reservada: é qualquer palavra que tenha um sentido de instrução para a linguagem, e que não pode ser usada como um identificador (nome da variável). As palavras reservadas de uma linguagem são pré-definidas. n  Simbologia para alguns operadores: operadores aritméticos (operações básicas), lógicas e de comparação têm símbolos próprios e únicos. n  Regras para formação dos nomes de variáveis: existem restrições quanto aos nomes de variáveis.Profa Ivna Valença - ivnavalenca@gmail.com
  • 21. + 21 Recursos básicos de LP (JAVA) n  Tipos básicos (primitivos) n  Tipos numéricos com sinalProfa Ivna Valença - ivnavalenca@gmail.com
  • 22. + 22 Recursos básicos de LP (JAVA) n  Tipos básicos (primitivos) n  Tipo numérico sem sinal (na verdade representa um código Unicode de um caractere)Profa Ivna Valença - ivnavalenca@gmail.com
  • 23. + 23 Recursos básicos de LP (JAVA) n  Tipos básicos (primitivos) n  Tipo Lógico n  Valores possíveis, as palavras reservadas: true ou false.Profa Ivna Valença - ivnavalenca@gmail.com
  • 24. + 24 Recursos básicos de LP (JAVA) n  Tipo String (não é primitivo) n  Sequência de caracteres. n  Tamanho: 16xN bits, onde N é a quantidade de caracteres da sequência. O tamanho pode variar com o conteúdo de uma variável do tipo String. n  Valores possíveis: Qualquer combinação de caracteres unicode. Com Strings, é possível representar textos.Profa Ivna Valença - ivnavalenca@gmail.com
  • 25. + 25 Operadores Aritméticos n  ( + ) à soma n  ( - ) à subtração n  ( * ) à produto n  ( / ) à divisão n  (%) à resto da divisãoProfa Ivna Valença - ivnavalenca@gmail.com
  • 26. + 26 Operadores Aritméticos n  Soma: 2+3 à (2+3 = 5) n  Subtração: 4 – 5 à (4-5 = - 1) n  Produto: 6 * 8 à (6 * 8 = 24) n  Divisão: 8/4 à (8/4 = 2) n  Resto da divisão: 8%3 = 2 Observação: a divisão não é “trivial“. Depende dos tipos dos operandos.Profa Ivna Valença - ivnavalenca@gmail.com
  • 27. + 27 Variável n  Declaração = Tipo, identificadores. n  Inicialização = Atribuição de um valor inicial à variável. Este valor pode ser: I.  Uma outra variável do mesmo tipo ou de um tipo compatível. II.  Uma expressão do mesmo tipo compatível. III.  Uma constante do mesmo tipo ou de um tipo compatível. n  Na verdade, é possível realizar atribuições às variáveis sob as condições citadas em qualquer momento no programa, e não apenas na inicialização.Profa Ivna Valença - ivnavalenca@gmail.com
  • 28. + 28 Variável n  Atribuição: é a operação de “jogar” em uma variável qualquer um dos três elementos I, II ou III. O operador de atribuição em Java é o sinal de igual (=). n  Atenção: = = em Java significa o sinal de comparação de igualdade. Para saber se duas expressões são iguais, usamos = =. n  Expressão: é qualquer comando ou sequencia de operações (envolvendo comandos, variáveis, constantes e operadores) que produz um resultado de um determinado tipo.Profa Ivna Valença - ivnavalenca@gmail.com
  • 29. + 29 Variável n  Constante: É qualquer valor literal usado em um programa. Toda constante possui como variável, um tipo e demanda área de memória para seu armazenamento. n  Em Java, cada tipo prevê uma forma particular para representação de suas constantes. n  Constantes: n  2 (Constante inteira) n  2.0 (Constante real) n  ‘c’ (Constante do tipo caractere) n  “Ivna” (Constantes do tipo sequencial de caracteres)Profa Ivna Valença - ivnavalenca@gmail.com
  • 30. + 30 Variável n  Atenção: Embora muitas constantes sejam iguais numericamente, elas não são iguais nas suas representações internas. n  Exemplo: 2 e 2.0 n  Mesmo que uma constante “caiba” numericamente em uma variável, ela não pode ser do tipo compatível com o tipo da variável.Profa Ivna Valença - ivnavalenca@gmail.com
  • 31. + 31 Representação das Constantes nos tipos básicos do JavaProfa Ivna Valença - ivnavalenca@gmail.com
  • 32. + 32 Representação das Constantes nos tipos básicos do Java n  Compatibilidade de Tipos (Quem "cabe" em quem) n  Exemplos: n  int a = 2; Pode n  float h = 2.3; Não podeProfa Ivna Valença - ivnavalenca@gmail.com
  • 33. + 33 Representação das Constantes nos tipos básicos do Java n  Exemplos: n  short s = 3 n  int a = s n  double d = 2.5 f n  float x = d n  Em todos os casos que "não pode", o compilador marca a linha com um erro. n  O compilador checa ainda se o valor atribuído a uma variável está dentro da faixa de valores possíveis para o tipo da variável.Profa Ivna Valença - ivnavalenca@gmail.com
  • 34. + 34 Expressões n  Exemplos: n  ( a + 2 ) * 3 - 4.0 n  int soma = a + b; n  Como toda expressão produz resultados, esta tem seu tipo. n  Resultado → Tipo n  Como determinar o tipo do resultado de uma expressão? n  Exemplo: Se somarmos um int a um float, o resultado será de que tipo?Profa Ivna Valença - ivnavalenca@gmail.com
  • 35. + 35 Promoção Aritmética n  O tipo de uma expressão é o mesmo do operando envolvido na expressão que possui tipo mais “largo”, ou de maior capacidade. n  Exercício: Determine os tipos das expressões: n  int a=3; n  float x=2.5F; n  a * x + 2.4 – 6 → double n  I F D I n  (menos capacidade) byte → short → int → long → float → double (mais capacidade)Profa Ivna Valença - ivnavalenca@gmail.com
  • 36. + 36 Promoção Aritmética n  Exemplo 1: n  long z=4; n  byte b=5; n  8L/z + b*4 – 6→ n  Exemplo 2: n  short s=6; n  long d=8L; n  5.4F + s/d - 38%s →Profa Ivna Valença - ivnavalenca@gmail.com
  • 37. + 37 Promoção Aritmética n  Por que “promoção aritmética”? n  As linguagens, antes de processarem uma expressão, convertem operandos de tipo menores para valores de tipo maiores.Profa Ivna Valença - ivnavalenca@gmail.com
  • 38. + 38 Divisão inteira e divisão real int x=3; float z=4; x/z=3/4.0F = 0,75F float I F 3.0/2=1.5 double D IProfa Ivna Valença - ivnavalenca@gmail.com
  • 39. + 39 Divisão inteira e divisão real n  Quando pelo menos um dos operandos é um tipo real (float ou double). A divisão se processa normalmente. n  Quando os dois operandos são de tipo inteiros, a divisão é inteira. Trunca-se a parte decimal. n  Tipos inteiros: byte, short, int, longProfa Ivna Valença - ivnavalenca@gmail.com
  • 40. + 40 Divisão inteira e divisão real n  Exemplo: int x=3; long z=4; x/z=3/4L = 0,75L=0L, desconsidera 75. I L 3/2=1.5=1, desconsidera 5. I IProfa Ivna Valença - ivnavalenca@gmail.com
  • 41. + 41 Divisão inteira e divisão real n  Exemplos: Quais os valores e tipos das divisões dadas abaixo: int a=3; short z=6; a/z = ? a/z → 3/6=0,5 = 0, desconsidera 5. ISProfa Ivna Valença - ivnavalenca@gmail.com
  • 42. + 42 Divisão inteira e divisão real n  Exemplos: Quais os valores e tipos das divisões dadas abaixo: int a=3; a/2 = ? a/2 → 3/2=1,5=1, desconsidera 5. IIProfa Ivna Valença - ivnavalenca@gmail.com
  • 43. + 43 Divisão inteira e divisão real n  Exemplos: Quais os valores e tipos das divisões dadas abaixo: int a=3; short z=6; z/4 = ? z/4.0F → 6/4.0F=1.5F S FProfa Ivna Valença - ivnavalenca@gmail.com
  • 44. + 44 Divisão inteira e divisão real n  Exemplos: Quais os valores e tipos das divisões dadas abaixo: int a=3; (a+3.0)/10 = ? (a+3.0)/10 → (3+3.0)/10→ (3.0+3.0)/10→ 6.0/10=0.6 I D D IProfa Ivna Valença - ivnavalenca@gmail.com
  • 45. + 45 Divisão inteira e divisão real n  Exemplos: Quais os valores e tipos das divisões dadas abaixo: int a=3; short z=6; (a-1L)/z= ? (a-1L)/z→ (3L-1L)/z→ 2L/z→ 2L/6=0,333L=0L I L L I desconsidera 333Profa Ivna Valença - ivnavalenca@gmail.com
  • 46. + 46 Expressões Aritméticas Matemáticas e Computacionais n  Vamos usar os operadores aritméticos básicos e as regras de promoção aritméticas e de divisão para montar e resolver expressões aritméticas. n  Montar expressões aritméticas: n  Expressões aritméticas computacionais têm formas diferentes das expressões aritméticas matemáticas.Profa Ivna Valença - ivnavalenca@gmail.com
  • 47. + 47 Expressões Aritméticas Matemáticas e Computacionais n  Dadas as formulas matemáticas, escrever as mesmas em aritméticas computacionais. Considere as variáveis do tipo real (double).Profa Ivna Valença - ivnavalenca@gmail.com
  • 48. + 48 Expressões Aritméticas Matemáticas e Computacionais n  Comandos de exponenciação em JAVA: Math.pow(b,e), onde “b”=base e “e”=exponente. n  Usando comandos de exponenciação. (2*a+ b*c)/(Math.pow(x,2))+ a/(b−1)Profa Ivna Valença - ivnavalenca@gmail.com
  • 49. + 49 Resolvendo mais expressões n  Resto da divisão n  Raiz de nProfa Ivna Valença - ivnavalenca@gmail.com
  • 50. + 50 Resolver expressões aritméticas n  Observar os tipos de operandos para realizar promoção aritmética, fazer as promoções, fazer as promoções para cada sub-expressão. n  Lembrar da regra de divisão de inteiros (byte, short, int, long)Profa Ivna Valença - ivnavalenca@gmail.com
  • 51. + 51 Resolver expressões aritméticas int a = 3; float x = 4; (x*a)/(x+1)-a%2+a/6Profa Ivna Valença - ivnavalenca@gmail.com
  • 52. + 52 Resolver expressões aritméticas long z = 8; int a = 4; Double d = 2; (d/a+a/z)*(z/16.0F+3%(a+1))Profa Ivna Valença - ivnavalenca@gmail.com
  • 53. + 53 Resolver expressões aritméticas short s = 3; float x = 4.5F; long y = 4; ((s/2-6/y)/(Math.pow((y+s),2)-1))+x*y-y%sProfa Ivna Valença - ivnavalenca@gmail.com
  • 54. + 54 Resolver expressões aritméticas n  Quando se calcula uma expressão aritmética, deve-se determinar o tipo e o valor da mesma. n  Os comandos Math.pow e Math.sqrt retornam valores do tipo double, independente dos tipos dos seus operandos.Profa Ivna Valença - ivnavalenca@gmail.com
  • 55. + 55 Operadores de comparação n  São operadores que, quando aplicados a dois operandos, resultam em um valor lógico: true ou false. Têm seus correspondentes na matemática. == → igual a → = != → diferente de → ≠ > → maior→ > < → menor → < >= → maior ou igual → ≥ <= → menor ou igual→ ≤Profa Ivna Valença - ivnavalenca@gmail.com
  • 56. + 56 Operadores de comparação n  Exemplo: int a = 3; long b = 3L; double c = 4.5; a == 3 → a == b → c != 4.5F → a > 10 →Profa Ivna Valença - ivnavalenca@gmail.com
  • 57. + 57 Operadores de comparação n  Exemplo: int a = 3; long b = 3L; double c = 4.5; c < = 4.5 → b>2→ b > = -12 → 2 == 2.0 →Profa Ivna Valença - ivnavalenca@gmail.com
  • 58. + 58 Operadores de comparação n  Observações: Para números e variáveis numéricas, os operadores de comparação realizam apenas comparações de valores, não levando em consideração os tipos dos operandos. n  Não usar == para comparar cadeias de caracteres (string). Para comparar duas strings, usar o comando equals, que volta true ou false.Profa Ivna Valença - ivnavalenca@gmail.com
  • 59. + 59 Operadores de comparação n  Exemplo : String a = “EDDIE”; String b = “EULER”; String c = “EULER”; a.equals(b) → a.equals(c) → b.equals(c) → a.equals(“EDDIE”) → “ED”.equals(“xyz”) →Profa Ivna Valença - ivnavalenca@gmail.com
  • 60. + 60 Operadores lógicos n  Realizam operações de conjunção, disjunção, negação e disjunção exclusiva em expressões lógicas, em variáveis lógicas e em constantes lógicas. n  && (e) n  || (ou)Profa Ivna Valença - ivnavalenca@gmail.com
  • 61. + 61 Expressões lógicas n  São formadas por operadores de comparação, operadores lógicos, variáveis e constantes, e resultam em um valor lógico (true ou false).Profa Ivna Valença - ivnavalenca@gmail.com
  • 62. + 62 Expressões lógicas n  Exemplo 1: int a=3; int b=4; (a>b) || ((a ==3) && ! (b!=0)) (3>4) || ((3==3) && ! (4!=0)) F || (V && !V) F || (V && F) F || F FProfa Ivna Valença - ivnavalenca@gmail.com
  • 63. + 63 Expressões lógicas n  Exemplo 2: int x=4; int z=8; (z>=8) && !((x!=4) || false) (8>=8) && !((4!=4) || F) V && ! (F || F) V && !F V && V VProfa Ivna Valença - ivnavalenca@gmail.com

×