Algoritmos e Estruturas de Dados I

Documentos relacionados
Arrays. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Paradigmas de Linguagens

Orientação a Objetos e Java

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Ambientação com a Sintaxe de Java: parte 1

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Disciplina: Introdução à Engenharia da Computação

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

Algoritmos II prof. Daniel Oliveira

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

1/50. Conceitos Básicos. Programa Básico

Sintaxe da linguagem Java

Palavras Reservadas da Linguagem Java

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

ALOCAÇÃO DINÂMICA DE MEMÓRIA

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Lição 4 Fundamentos da programação

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante

JSP Prof. Daniela Pires. VARIAVEIS... 2 Tipos de Dados... 2 String Float Integer Boolean... 3

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

Introdução. 17-out-08 Leandro Tonietto 2

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

Programação com Acesso a BD. Programação com OO Acesso em Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Princípios de Desenvolvimento de Algoritmos MAC122

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Linguagem de Programação III

AULA 6 - ARRAYS. Array de 10 elementos

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Linguagem C: Introdução

Sistemas de Numeração

Referências. Linguagem C. Tipos de variáveis em XC8. Tipos de variáveis. Tipos de variáveis em XC 8 Exemplo. Radicais numéricos em C

Arrays (Vetores) Arrays (Vetores) 28/04/ Índices. profs. } Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo tempo... é melhor...

Organização de Computadores I

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

Cap. 2 Expressões na linguagem C

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Linguagem de programação Java

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte

Introdução à Computação MAC0110

Estrutura de Dados Funções e Procedimentos

Aula Teórica 8. Preparado por eng.tatiana Kovalenko

Linguagem Java - Introdução

Tipos primitivos de Java Entrada de Dados Formatação da Saída. Aula 03

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1

Análise de Programação

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Números Binários. Apêndice A V1.0

Introdução à Programação

Bits e operações. Sistemas de Computação

Linguagem de Maquina II. Visão Geral

Os Computadores. A Informação nos Computadores

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários

Linguagem de Programação II Implementação

Tipos Primitivos, estruturas de iteração e decisão.

Cursos: Análise, Ciência da Computação e Sistemas de Informação Laboratório I - Prof. Aníbal Notas de aula 2 SISTEMAS NUMÉRICOS

Transcrição:

Algoritmos e Estruturas de Dados I Tipo de Dados Orivaldo Santana Jr ovsj@cin.ufpe.br Observação: Este material esta baseado no material do Prof. Tiago Massoni e Prof. Fernando Buarque

Tipos de Dados Primitivos (básicos) Inteiros Reais Caracteres Compostos (agregados) Estruturas (objetos) Strings Arrays (Vetores) 2

Inteiro Representação de números inteiros: decimal Representação em bits: binário Binário simples 10 = 2 (0*1 + 1*2) 100110 = 38 (1*0+2*1+4*1+8*0+16*0+32*1) toda string de bits de tamanho n representa um inteiro não-negativo único, entre 0 e 2 n -1 E números negativos? 3

Inteiros negativos Dois métodos podem ser usados Complemento de 1 número negativo é representado mudando cada bit para a definição do bit oposto Ex: 00100110 representa 38, 11011001 é usado para representar -38 Complemento de 2 (C, Java) 1 é somado à representação de complemento de um de um número negativo Ex: 11011010 é usado para representar -38 4

Reais Notação ponto flutuante Mantissa x base elevada a uma potência de inteiro Ex: 387,53 (= 38753 * 10-2) Em computadores digitais de 32 bits tem mantissa 24 bits, 8 para expoente e base fixa 10 Ex: a representação binária de 24 bits de 38753 é 000000001001011101100001, Representação binária de complemento de dois de oito bits de -2 é 11111110 Representação de 387,53 é 00000000100101110110000111111110 5

Caracteres Representação de valores não-numéricos (letras) Número pré-determinado de bits determinam um código (ASCII, Unicode) 8 bits (byte) 16 bits (2 bytes) 6

Caracteres ASCII 7

Os tipos primitivos de Java Numéricos Integrais Ponto flutuante Inteiros boolean char byte short int long float double 8

Tipos de Dados Primitivos Tipo Descrição Tamanho (inteiros) byte Inteiro de 8 bits 1 byte short Inteiro de 16 bits 2 bytes int Inteiro de 32 bits 4 bytes long Inteiro de 64 bits 8 bytes (Números Reais) float Ponto flutuante precisão simples 4 bytes IEEE 754 double Ponto flutuante precisão dupla 8 bytes IEEE 754 (Outros Tipos) char Caracter 16 bits Unicode boolean true ou false true ou false (1 bit) 9

Valores dos tipos: exemplos Tipo Exemplo byte 100 short 350 int 2873, 034, 0xF long 8864L float 23.746F (inteiros) (Números Reais) double 23.746 char boolean c, \u4567 true, false (Outros Tipos) 10

Variáveis Guarda um valor de um tipo específico Declaração deve possuir um nome e um tipo Será reservado espaço uma posição de memória referenciada pelo identificador a Um identificador é usado no lugar de um endereço numérico para citar determinada posição de memória conveniente para o programador 11

Variáveis Exemplo: Conteúdo interpretado como inteiro (próximos 32 bits) int a; identificador tipo 12

Java é orientada a objetos Uso de abstrações bem mais próximas do mundo do problema Objetos, não funções Em um programa, tudo é objeto Um programa: Um conjunto de objetos de interagindo através de ações; Ações são os métodos. 13

Objeto Conta Bancária Creditar Saldo 875,32 Número 21.342-7 Debitar 14

Estados do Objeto Conta Creditar(20) Creditar Crédito Creditar Crédito Saldo Número Saldo Número 875,32 21.342-7 875,32 21.342-7 Saldo Número Saldo Número 895,32 21.342-7 875,32 21.342-7 Debitar Débito Debitar Débito 15

Classe Conta public class Conta { private int numero; private double saldo;... } 16

String Sequências de caracteres Não existe tipo primitivo string em Java API de Java possue classe chamada String Cria um novo objeto do tipo String e o armazena ref. em saudacoes String saudacoes = Ola ; String saudacoes = new String( Ola ); 17

Comparação de Strings Comparar variáveis String não tem resultado desejado (referências) Usar método equals() da classe String String saudacoes = Ola ; String cumprimento = new String ( Ola ); if (saudacoes.equals(cumprimento)) //Agora sim!! 18

Comparação e tamanho boolean equals(umstring) boolean equalsignorecase(umstring) int length() String a = "Sharon Stone"; String b = "sharon stone"; int comprimento = a.length(); boolean resposta1 = a.equals(b); boolean resposta2 = a.equalsignorecase(b); boolean resposta3 = b.equalsignorecase(a); Qual é o valor de cada resposta? 19

Arrays(Vetores) São objetos especiais de Java Armazenam dados de um determinado tipo (homogêneo) Tipo[] é a classe Cada componente é identificado por um índice O primeiro elemento do array tem índice 0 e o último tem índice tamanho 1 20

Declaração, criação, inicialização int[] a; a = new int[100]; double[] x = {10.0, 15.0, 20.0}; double[] salarios = new double[5]; for (int i = 0; i < salarios.length; i++){ salarios[i] = i * 1000; } Forma mais direta de inicialização Inicialização com laço 21

Acesso a elementos do array Escrita e leitura a elementos do array é feito através de índices variável[expressão_inteira] double [] salarios = {20.0,30.0,50.0}; salarios[0] = salarios[0] * 1000; System.out.println(salarios[2]); 22

Arrays de objetos A referência garante modificação dos objetos do array Conta c = contas[2]; c.creditar(20); contas 0 1 2 3 4 5 Crédito é realizado nesta conta! c 23