Conceitos básicos da linguagem Java #2

Propaganda
ESTRUTURA DE DADOS
Aula 2 – Conceitos Básicos da Linguagem Java
Professor MSc. Ariel da Silva Dias
Complexo Educacional FMU
AULA DE HOJE
Operadores de Atribuição
 Operadores Aritméticos
 Operadores Relacionais
 Operadores Lógicos
 Comandos Condicionais

OPERADORES DE ATRIBUIÇÃO

O operador de atribuição em Java é o “=“
variável = expressão
 variável = valor

OPERADORES ARITMÉTICO
+ adição
 - subtração
 * multiplicação
 / divisão
 % operador módulo

OPERADORES ARITMÉTICO
OPERADORES RELACIONAIS

Realizam COMPARAÇÃO entre duas expressões
e retorna VERDADEIRO ou FALSO;
<expressao1> <op_relacional> <expressao2>
tempoNoFormo == 40
OPERADORES RELACIONAIS
Igualdade: ==;
 Diferente de: !=;
 Maior ou igual a: >=
 Menor ou igual a: <=
 Maior que: >
 Menor que: <

OPERADORES RELACIONAIS


Por que == e não = ?
A linguagem Java utiliza o = como operador de
atribuição!
Exemplo:
 Se a variável a tiver o valor 6, então:

a==5, dará falso!
 a=5, atribui o valor 5 à variável a

OPERADORES RELACIONAIS
VERDADEIRO = 1
 FALSO = 0


Para não esquecer:
NÃO = FALSO
 SIM = VERDADEIRO

OPERADORES LÓGICOS

São aquelas que realizam uma operação lógica e
retorna VERDADEIRO ou FALSO
<expressao1> <op_logico> <expressao2>
tempoDeForno == 40 E situacaoDoBolo == assado
OPERADORES LÓGICOS
&& E (and)
 || OU (or)
 ! NEGAÇÃO (not)

OPERADORES LÓGICOS
COMANDOS CONDICIONAIS
Se o forno está a 180ºC então
Coloque o bolo no forno
Senão espere até 180º
COMANDOS CONDICIONAIS
Comando if
if(expressao_logica)
comando;
Exemplo:
if(a == 2)
System.out.println(“o valor é positivo”);
COMANDOS CONDICIONAIS
Comando if-else
if(expressao_logica)
comando;
else
comando;
Exemplo:
if(a >= 0)
System.out.println(“o valor é positivo”);
else
System.out.println(“o valor é negativo”;
COMANDOS CONDICIONAIS
ifs aninhados
if(expressao_logica)
if(expressao_logica2)
comando;
else
comando;
else
comando
Exemplo:
if(a >= 0)
System.out.println(“o valor é positivo”);
else
System.out.println(“o valor é negativo”;
EXEMPO DE CÓDIGO
ATIVIDADE CONTINUADA

1) Construa um programa em Java para realizar
a soma das seguintes variáveis:


A = 20; B = 54; C = 3;
2) Construa um programa em java que calcule a
média aritmética entre as variáveis:

A = 23; B = 68; D = 42;
ATIVIDADE CONTINUADA


3) Construa um programa em java que verifique
se um número é PAR ou ÍMPAR.
4) Escreva um programa que, dado o
comprimento de 3 segmentos de reta, determine
se eles formam um triângulo e, caso formem, diga
se o triângulo é equilátero, isósceles ou escaleno.
ATIVIDADE CONTINUADA
5) Com a alta do feijão, um supermercado
resolveu fazer a seguinte promoção: “a cada R$
30,00 em compra dos produtos da promoção,
o cliente ganha 20% de desconto no feijão.”
 Considerações

Determinado cliente comprou: 1 feijão, 1 arroz, 1
detergente;
 Os valores dos produtos estão na tabela a seguir:

Produto
Valor
Feijão
R$ 18,28
Arroz
R$ 8,75
Sabão em pó
R$ 12,55
Detergente
R$ 5,65
Molho de Tomate
R$ 6,57
ATIVIDADE CONTINUADA

De posse dessas informações, construa um
algoritmo em Java que calcule quanto o cliente
gastou no mercado.
Estrutura de Dados
• Programa = Algoritmo + Dados
• Resolução de Problema: abstração
• Cadastro de Clientes
– Quais dados são importantes?
• A idade do cliente é importante?
• A cor do cabelo do cliente é importante?
– Qual o algoritmo usar?
• Como encontrar um cliente?
• Como inserir um novo cliente?
Estrutura de Dados
• Programa = Algoritmo + Dados
• Resolução de Problema: abstração
• Cadastro de Clientes
– Quais dados são importantes?
• A idade do cliente é importante?
• A cor do cabelo do cliente é importante?
– Qual o algoritmo usar?
• Como encontrar um cliente?
• Como inserir um novo cliente?
Estrutura de Dados
• O que é um “dado digital”?
• O que o diferencia de “lixo igital”?
• Sua organização
– Sabemos como encontrá-los
• E isso permite...
– Busca
– Remoção
– Inserção...
• Organização → Desempenh o
NO DIA-A-DIA
Estrutura de Dados no Dia-a-Dia
• Representar a organização de uma empresa
– 1 presidente, 1 vice-presidente, 1 diretor de
vendas e 1 de criação, este último com 2
subdiretores?
Presidente
VicePresidente
Diretor de
Vendas
Diretor de
Criação
Subdiretor 1
Subdiretor 2
Estrutura de Dados no Dia-a-Dia
• Como representar a bibliografia do curso?
– Estrutura de Dados: algoritmos, análise da
complexidade e implementações em Java e C/C++
– Lógica de Programação: a construção de algoritmos e
estruturas de dados
– Estrutura de Dados – Série Livros Didáticos Informática
da UFRGS, Volume 18
Estrutura de Dados no Dia-a-Dia
• Como o motoboy organiza as pizzas?
Estrutura de Dados no Dia-a-Dia
• Como as pessoas esperam no banco?
Estrutura de Dados no Dia-a-Dia
• Como representar os trajetos possíveis em
uma companhia aérea?
TIPOS DE ESTRUTURA
DE DADOS
Tipos de Estrutura de Dados
• Lineares x Não-lineares
• Lineares
Tipos de Estrutura de Dados
• Lineares x Não-lineares
• 1º. Elemento bem definido
• Último elemento bem definido
• Lineares
• Elementos intermediários: um
antecessor e um sucessor
Tipos de Estrutura de Dados
• Não-lineares
Presidente
VicePresidente
Diretor de
Vendas
Diretor de
Criação
Subdiretor 1
• Árvore: relação hierárquica
• Grafo: relação qualquer
Subdiretor 2
Tipos de Estrutura de Dados
• Não-lineares
É fundamental
Presidente
identificar a melhor
estrutura para cada
Viceproblema!
Presidente
iretor de
Vendas
Diretor de
Criação
Subdiretor 1
• Árvore:
relação hierárquic
Subdiretor
2
• Grafo: relação qualquer
a
FORMAS DE
ARMAZENAMENTO E
MANIPULAÇÃO DE
ESTUTURA DE DADOS
Armazenamento de Estruturas
• Duas maneiras de armazenar
– Sequencial (ou contígua)
• Espaço pré-alocado
• Tamanho pré-definido
– Encadeada (ou ligada)
• Tamanho inicialmente desconhecido
• Alocação à medida da necessidade
• Neste curso
– Estruturas lineares sequenciais e encadeadas
Armazenamento de Estruturas
• Iniciaremos com as sequenciais...
• Qual o tipo de variável de JAVA que serve
para guardar, sequencialmente, muitos dados
iguais?
– Arrays
• Vamos começar com uma lista de números
– Que operações vocês conseguem imaginar?
– O que gostaríamos de poder fazer com uma lista?
Manipulação de Estruturas
• Imagine uma lista de notas
– Inicialmente vazia
•
•
•
•
Inserir notas
Remover notas
Buscar notas...
Como realizar essas tarefas?
• Existiria muita diferença se tivéssemos uma lista
de alunos? Ou uma lista de rendimentos?
Manipulação de Estruturas
• Inserir, Remover e Buscar serão semelhantes
para qualquer lista
• Sempre que precisarmos inserir, o código é o
mesmo
• Que tal criarmos um algoritmo chamado
inserir, por exemplo?
– Sempre que precisarmos inserir um valor, bastará
solicitar que o computador execute o algoritmo
inserir
Download