Linguagem de Programação – Aula 02 Prof. Me. Ronnison Reges Vidal.

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Estruturas de Controle
Programação em Java Prof. Maurício Braga
Versão – Prof.: Mauro César Lopes
Estruturas de Repetição
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique
Introdução a Programação Renata Freire
Programação Básica em Java
Linguagem C Estruturas de Controle de Fluxos
THOBER CORADI DETOFENO, MSC. Aula 07
Tipos de dados, valores literais e variáveis
Paradigmas da Programação
Versão – Prof.: Mauro César Lopes
Versão – Prof.: Mauro César Lopes
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
Algoritmos e Programação
O Portal do Estudante de Computação
Unidade I: “Dê um mergulho rápido”
< declaração de variáveis > ( estrutura de dados )
Linguagem de Programação I Parte III
FTIN Formação Técnica em Informática
Seminário 1: Revisão de C
PROGRAMAÇÃO I UNIDADE 2.
Fábio de Oliveira Borges
Estruturas de Dados Módulo 3 – Controle de Fluxo
OPERADORESOPERADORES SCJP – Otimize-TI. Operadores Java Resultado: Maioria das operações é um booleano ou numérico. Não podem ser sobrecarregados (Existem.
O Portal do Estudante de Computação
Linguagem de Programação JAVA
Algoritmo e Programação
By Ducheno Kelly Centro de Formação São Domingos.
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Introdução à Linguagem C
Linguagem de Programação C#
Tipos de Dados Operadores
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
JAVA Sintaxe.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Aula Prática 2 Monitoria IP/CC (~if669).
Aula Prática 5 Monitoria IP/CC (~if669). Roteiro 1. 1.Recursão 2. 2.Escopo de Variáveis 3. 3.Arrays 4. 4.Strings.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Fundamentos de linguagens de programação
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
CES-10 INTRODUÇÃO À COMPUTAÇÃO
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Introdução a Programação
Algoritmo e Programação
ALGORITMOS Profº Antonio Carlos Marcelino de Paula.
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Profa. Maria Augusta Constante Puget
 O que são arrays:  estruturas de dados homogêneas  coleção de elementos do mesmo tipo referenciada por um nome comum  um array pode ser imaginado.
Comandos de Repetição (While, Do..While e For)
Programação para Web I AULA 4 ESTRUTURAS DE CONTROLE.
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
1 Programação – JAVA Unidade 3 – Loops e Lógica Prof. Aparecido V. de Freitas Curso de Ciência da Computação.
VARIÁVEIS Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
1 Programação – JAVA Unidade - 4 Arrays e Strings Prof. Aparecido V. de Freitas Mestre e Doutorando em Engenharia da Computação pela EPUSP.
Visual C# (parte 2) Prof. Igor Conrado Alves de Lima – Operadores, estruturas de decisão, vetores (arrays), e estruturas de.
1. 2 Prof. Maurício Rodrigues de Morais Programação Orientada a Objetos II.
Java Básico Lab Ruddá Beltrão | Cristian Costa.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
IF E ITERAÇÃO WHILE Dilvan Moreira (baseado no livro Big Java e T. Munzner)
Transcrição da apresentação:

Linguagem de Programação – Aula 02 Prof. Me. Ronnison Reges Vidal

CONTEÚDO Unidade 1 – Estruturas de Decisão e Repetição Conclusão das estruturas de decisão Tipos de Dados Primitivos Estruturas de repetição 2

Estruturas de Decisão Simples If … Else … Composta Switch … case... 3 Estrutura de Decisão

Estruturas de Decisão Simples Elaborar um algoritmo que efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% (0.15) se seu salário seja menor ou igual a 500. Caso contrario, seu reajuste será de 10% (0.1). 4 Estrutura de Decisão

Estruturas de Decisão Composta Faça um algoritmo (utilizando o comando escolha) que, baseado no código digitado pelo usuário, retorne o nome e valor do produto. Sabendo que 001 – Parafuso (R$ 0,15) 002 – Porca (R$ 0,05) 003 – Prego (R$ 0,10) 004 – Martelo (R$ 40,00) 005 – Tomada (R$ 3,00) 5 Estrutura de Decisão

Estruturas de Decisão Composta Faça um algoritmo que receba dois números, um operador matemático (+,-,*,/) e efetue o cálculo matemático baseado no operador digitado. O resultado deverá ser exibido em seguida. Utilize o comando escolha 6 Estrutura de Decisão

Tipos de Dados Primitivos Identificadores é uma seqüência de símbolos UNICODE (64K símbolos) que começa com uma letra, um símbolo subscrito _, ou o caractere $. Os demais símbolos de um identificador podem conter também números. Identificadores são case-sensitive 7 Tipos de Dados Primitivos

Exemplos de Identificadores Exemplo de identificadores válidos em Java: ?? data ?? _data ?? $data ?? data_do_mês ?? data1 ?? uma_variável_pode_SER_bastante_extensa_e_conter_Numero s ?? data_public_class_NoteQueEsseIdentificadorContemPalavrasR eservadas 8 Tipos de Dados Primitivos

Palavras Reservadas Abstract, boolean, break, byte, case, catch, char, class, const, continue, default, double, eles, extends, final, finally, float, for, goto, if, implements, import, int, interface, long, native, new, package, private, protected, public, return, short, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile 9 Tipos de Dados Primitivos

Declarando variáveis em Java + + identificador + ; ou + + identificador + = + valor + ; 10 Tipos de Dados Primitivos

Declarando variáveis em Java public class AloMundo { static public void main(String[] args) { boolean obrigatorio; int semestre = 2; String mensagem = "Alo mundo."; System.out.println(mensagem); } 11 Tipos de Dados Primitivos

A linguagem Java utiliza oito tipos primitivos de dados e um tipo especial Divididos em quatro categorias: lógicos, textuais, numéricos inteiros e numéricos de ponto flutuante Tipos lógicos: boolean Tipos textuais: char e String Tipos numéricos inteiros: byte, short, int e long Tipos numéricos de ponto flutuante: float e double 12 Tipos de Dados Primitivos

Tipos lógicos: boolean Valores lógicos possuem dois estados, normalmente ditos verdadeiro/falso, sim/não e ligado/ desligado Em Java um tipo lógico é definido pela palavra boolean, e pode assumir dois valores: true ou false // Exemplo de variável que suporta valores booleanos boolean anoBissexto = false; boolean anoPar = true; 13 Tipos de Dados Primitivos

Tipos textuais: char e String Caracteres simples são representados pelo tipo char Um char representa um caracter UNICODE, ou seja, um número inteiro sem sinal de 16 bits, no intervalo de 0 até 2 ^ O valor de um literal char deve ser delimitado por aspas simples 14 Tipos de Dados Primitivos

Tipos textuais: char e String // Exemplo de representação de caracteres UNICODE char primeiraLetra = 'a'; char tabulacao = '\t'; // Código UNICODE para o caractere de interrogação char unicode = '\u0A02'; // Lembre-se: Uma variável só poderá // ser manipulada após receber um valor. char inutil; // variável sem utilidade neste momento inutil = // variável útil a partir de agora 15 Tipos de Dados Primitivos

Tipos textuais: char e String Palavras são representadas por uma seqüência de dados do tipo char, agrupadas em um tipo especial de dados: a classe String Apesar de ser uma classe, uma variável do tipo String suporta operações como se fosse um tipo primitivo de dados O valor de uma variável String deve ser delimitado por aspas duplas "valor" 16 Tipos de Dados Primitivos

Tipos textuais: char e String // Exemplo de uso de variáveis do tipo String String disciplina = "Sistemas Orientados a Objetos I" ; // Uma variável pode receber o valor de outra String outraVariavel = disciplina; // A concatenação de Strings pode ser feita através do // operador de soma ( +) disciplina = "Sistemas " + "Orientados a Objetos I" ; // Concatenação de String com outro tipo de dados: disciplina = "Sistemas Orientados a Objetos" + 'I'; disciplina = "Sistemas Orientados a Objetos" + 1; //Para comparar duas variáveis do tipo String //devemos usar o método equals(): //disciplina == "Sistemas orientados..." ? INCORRETO //disciplina.equals("Sistemas orientados...") ?CORRETO 17 Tipos de Dados Primitivos

Tipos numéricos inteiros: byte, short, int e long Existem quatro tipos primitivos de números em Java Além disso, os valores numéricos podem ser representados de forma decimal, octal ou hexadecimal Valores numéricos inteiros em Java: 2decimal 077um número que começa com zero está representado de forma octal 0xBABErepresentação hexadecimal 18 Tipos de Dados Primitivos

Tipos numéricos inteiros: byte, short, int e long Um valor numérico é sempre considerado do tipo int, a menos que seja acompanhado do sufixo L, que representa um valor do tipo long Valores numéricos em Java, representados como long: 2Ldecimal 077Lum número que começa com zero está representado de forma octal 0xBABELrepresentação hexadecimal 19 Tipos de Dados Primitivos

Tipos numéricos inteiros: byte, short, int e long // Valores inteiros rep resentáveis pelos tipos // numéricos em Java: byte a = 127; // -2 ^ ^ 7 -1 short b = 32767; // -2 ^ ^ int c = ; // -2 ^ ^ long d = L; // -2^ ^63 –1 20 Tipos de Dados Primitivos

Tipos numéricos de ponto flutuante: float e double Um valor fracionário pode ser representado em Java através dos tipos float e double A diferença entre esses dois tipos é o tamanho da mantissa: Float32 bits Double64 bits 21 Tipos de Dados Primitivos

Promoção e Casting A linguagem Java não suporta atribuições arbitrárias entre variáveis de tipos diferentes Por exemplo, você não pode inicializar uma variável inteira com um valor de ponto flutuante sem explicitar isso através de um processo que chamamos de casting. 22 Tipos de Dados Primitivos

Promoção e Casting A linguagem Java não suporta atribuições arbitrárias entre variáveis de tipos diferentes Por exemplo, você não pode inicializar uma variável inteira com um valor de ponto flutuante sem explicitar isso através de um processo que chamamos de casting 23 Tipos de Dados Primitivos

Promoção e Casting Quando atribuímos um valor a uma variável, e esse valor é incompatível com o tipo de dado definido para a variável, ocorrerá uma conversão Em alguns casos, essa conversão será automática, em outros o programador deve indicar de que forma o valor será convertido ao tipo de dado da variável. 24 Tipos de Dados Primitivos

Promoção e Casting Quando o processo de conversão for automático, dizemos que ocorreu uma promoção, ou seja, um valor com um tipo de dado foi promovido a outro tipo de dado 25 Tipos de Dados Primitivos

Promoção e Casting // Promoção entre valores de tipos de dados distintos // Apesar 6 ser um inteiro, o valor da variável grande // continua sendo do tipo long long grande = 6; // Uma variável do tipo inteiro não possui // espaço para armazenar um valor longo. // A instrução abaixo é ilegal, e causará um erro de //compilação. int pequeno = 99L; float a = F;// correto float b = ;// é um double - incorreto 26 Tipos de Dados Primitivos

Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 27 Tipos de Dados Primitivos double d = ; int i = d; // não compila

Tipos de Dados Primitivos Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 28 Tipos de Dados Primitivos

Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 29 Tipos de Dados Primitivos

Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 30 Tipos de Dados Primitivos O mesmo ocorre nesse trecho: int i = 3.14;

Tipos de Dados Primitivos Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 31 Tipos de Dados Primitivos

Promoção e Casting Alguns valores são incompatíveis se você tentar fazer uma atribuição direta Enquanto um número real costuma ser representado em uma variável do tipo double, tentar atribuir ele a uma variável int não funciona Porque é um código que diz: “i deve valer d”, mas não se sabe se d realmente é um número inteiro ou não 32 Tipos de Dados Primitivos O mais interessante, é que nem mesmo o seguinte código compila: double d = 5; // ok, o double pode conter um número inteiro int i = d; // não compila

Tipos de Dados Primitivos Promoção e Casting Apesar de 5 ser um bom valor para um int, o compilador não tem como saber que valor estará dentro desse double no momento da execução Esse valor pode ter sido digitado pelo usuário, e ninguém vai garantir que essa conversão ocorra sem perda de valores 33 Tipos de Dados Primitivos Já no caso a seguir, é o contrário: int i = 5; double d2 = i;

Tipos de Dados Primitivos Promoção e Casting O código acima compila sem problemas, já que um double pode guardar um número com ou sem ponto flutuante Todos os inteiros representados por uma variável do tipo int podem ser guardados em uma variável double, então não existem problemas no código acima 34 Tipos de Dados Primitivos

Promoção e Casting Às vezes, precisamos que um número quebrado seja arredondado e armazenado num número inteiro Para fazer isso sem que haja o erro de compilação, é preciso ordenar que o número quebrado seja moldado (casted) como um número inteiro Esse processo recebe o nome de casting 35 Tipos de Dados Primitivos

Promoção e Casting Às vezes, precisamos que um número quebrado seja arredondado e armazenado num número inteiro Para fazer isso sem que haja o erro de compilação, é preciso ordenar que o número quebrado seja moldado (casted) como um número inteiro Esse processo recebe o nome de casting 36 Tipos de Dados Primitivos double d3 = 3.14; int i = (int) d3;

Tipos de Dados Primitivos Promoção e Casting O casting foi feito para moldar a variável d3 como um int O valor de i agora é 3 O mesmo ocorre entre valores int e long 37 Tipos de Dados Primitivos long x = 10000; int i = x; // não compila, pois pode estar perdendo informação

Tipos de Dados Primitivos Promoção e Casting E, se quisermos realmente fazer isso, fazemos o casting 38 Tipos de Dados Primitivos long x = 10000; int i = (int) x;

Tipos de Dados Primitivos Promoção e Casting Casos não tão comuns Alguns castings aparecem também: Float x = 0.0; O código acima não compila pois todos os literais com ponto flutuante são considerados double pelo Java. E float não pode receber um double sem perda de informação, para fazer isso funcionar podemos escrever o seguinte: float x = 0.0f; 39 Tipos de Dados Primitivos

Promoção e Casting Casos não tão comuns A letra f, que pode ser maiuscula ou minúscula, indica que aquele literal deve ser tratado como float Outro caso, que é mais comum: double d = 5; float f = 3; float x = f + (float) d; Você precisa do casting porque o Java faz as contas e vai armazenando sempre no maior tipo que apareceu durante as operações, no caso o double 40 Tipos de Dados Primitivos

Promoção e Casting Casos não tão comuns E, uma observação: no mínimo, o Java armazena o resultado em um int, na hora de fazer as contas Até casting com variáveis do tipo char podem ocorrer O único tipo primitivo que não pode ser atribuído a nenhum outro tipo é o boolean 41 Tipos de Dados Primitivos

Promoção e Casting 42 Tipos de Dados Primitivos Para:Byt e Shor t Cha r IntLon g Floa t Doubl e De: Byte---Impl.(cha r) Impl. Short(byt e) ---(cha r) Impl. Char(byt e) (short ) ---Impl. Int(byt e) (short ) (cha r) ---Impl. Long(byt e) (short ) (cha r) (int)---Impl. Float(byt e) (short ) (cha r) (int)(lon g) ---Impl. Double(byt e) (short ) (cha r) (int)(lon g) (floa t) ---

Tipos de Dados Primitivos Promoção e Casting 43 Tipos de Dados Primitivos TipoTamanho Boolean1 bit Byte1 byte Short2 bytes Char2 bytes Int4 bytes Float4 bytes Long8 bytes Double8 bytes

Estruturas de Repetição – As estruturas de repetição também são chamadas de laços ou loops e permitem que o programador especifique que um programa deve repetir uma ação em quanto uma condição for verdadeira. Para for (int i = 0; i < 10; i ++) {.. } Enquanto while( x < 10 ) {.. } Repita Do { … } while(i < 10) 44 Estrutura de Repetição

Estruturas de repetição While Realiza loop Permite especificar um código que deve repetir uma ação enquanto alguma condição permanece verdadeira Exemplo: encontre a primeira potência de 3 maior do que Estrutura de Repetição

Estruturas de repetição While Exemplo: encontre a primeira potência de 3 maior do que 100 while ( product <= 100 ) { product = 3 * product; } 46

Estrutura de Repetição Estruturas de repetição While Desenvolva um algoritmo que calcule o fatorial de um número, usando o laço while 47

Estrutura de Repetição /** * repetição de comandos usando FOR */ // Calculando o fatorial de um número: int numero = 10; int fatorial = 1; int i = numero; while (i > 0) { fatorial = fatorial * i; i--; } System.out.println("fatorial de " + valor + " = " + fatorial); 48

Estrutura de Repetição Estruturas de repetição Do.. While A diferença entre o DO-WHILE e WHILE é que o DO-WHILE analisa a expressão no final da repetição ao invés do início, ou seja, pelo menos uma vez o bloco de comandos será executado 49

Estrutura de Repetição Estruturas de repetição Do.. While class Repete2 { public static void main(String[] args){ int conta = 1; do { System.out.println("Contando: " + conta = conta+1; } while (conta < 11); } 50

Estrutura de Repetição Estruturas de repetição For O comando for é um meio compacto de fazer uma repetição sobre um intervalo de valores Na programação é comum usar o termo “loop” em repetições devido ao modo no qual o for, neste caso, repetidamente executa enquanto uma condição é verdadeira. 51

Estrutura de Repetição Estruturas de repetição For A expressão de inicialização começa o loop. É executada uma única vez assim que o loop começa Quando a expressão de término é analisada e é falsa, o loop finaliza A expressão de incremento é chamada a cada iteração dentro do loop 52

Estrutura de Repetição Estruturas de repetição For class Repete3 { public static void main(String[] args){ for(int i=1; i<11; i++){ System.out.println("Contando: " + i); } 53

Estrutura de Repetição Estruturas de repetição For O for tem uma função estendida para vetores e classes Collections Este tipo de for é chamado de enhanced for e pode ser usado para fazer iterações dentro dessas estruturas de dados, percorrendo-as 54

Estrutura de Repetição Estruturas de repetição For class EnhancedFor { public static void main(String[] args){ //declarando um vetor inteiro contendo uma lista de números int[] numeros = {1,2,3,4,5,6,7,8,9,10}; //o for abaixo percorre o vetor e mostra na tela cada um dos números for (int item : numeros) { System.out.println("Contando: " + item); } 55

Estrutura de Repetição Estruturas de repetição Faça um algoritmo que lê a idade de 15 pessoas e mostre a quantidade de pessoas que possui a idade entre 0 e 12 anos; Faça um algoritmo que a idade de 10 pessoas. Em seguida, o algoritmo deverá apresentar: A idade do mais velho; A idade do mais novo; A quantidade de adolescentes (de 12 a 17 anos); 56

Estrutura de Repetição Estruturas de repetição Faça um algoritmo que lê o nome, o peso e o sexo de um grupo de 20 pessoas e calcula: A quantidade total de homens; A quantidade total de mulheres; A média de peso do grupo; 57