Baixe o app para aproveitar ainda mais
Prévia do material em texto
Conceitos básicos de programação Programação em Java Prof. Maurício Braga 2/60 Algoritmos Estruturas para construção de software 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/60 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/60 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: 3.1415; 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/60 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. 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. 6/60 7/60 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/60 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/60 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/60 Montagem de expressões Exemplos 3 + 4 * 9 3 + 36 39 (3 + 4) * 9 7 * 9 63 8 – pot(4*2,2) + 5 8 – pot(8,2) +5 8 – 64 + 5 -56 + 5 -51 11/60 Exercício ( 30 % 4 * pot(3,3) ) * -1 12/60 Operadores Operadores relacionais Utilizados na comparação de literais ou números; Retornam valores lógicos; Consistem de: Igual a (==); Diferente de (!=); Maior que (>); Menor que (<); Maior ou igual a (>=); Menor ou igual a (<=). 13/60 Operadores Operadores lógicos Utilizados para combinar resultados de expressões lógicas; Consistem de: E (AND); OU (OR); NÃO (NOT). 14/60 Tabela verdade das operações lógicas E OU x y x E y Verdadeiro Falso Falso Verdadeiro Verdadeiro Verdadeiro Falso Verdadeiro Falso Falso Falso Falso x y x OU y Verdadeiro Falso Verdadeiro Verdadeiro Verdadeiro Verdadeiro Falso Verdadeiro Verdadeiro Falso Falso Falso 15/60 Tabela verdade das operações lógicas NÃO x NÃO x Verdadeiro Falso Falso Verdadeiro 16/60 Operadores lógicos Precedência de operadores lógicos 1. Não; 2. E, OU. 17/60 Operadores lógicos Exemplos: (3 == 5) E (4 > 2) = (2 > 4) OU (2 < 4) = 15 % 4 < 19 % 6 = Falso Verdadeiro Falso F V F V F Operadores Lógicos em Java Operadores Booleanos: ! - Não & - E | - Ou ^ - Ou Exclusivo Operadores Booleanos com Curto-Circuito || - Ou && - E 18/60 19/60 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. 20/60 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 21/60 Exercícios pot(3,2)/3 < 2 e 5==5 NÃO ( 3 + 5 != 5 / 2 - 1 ) Falso ou 20 / (18/3) != (21/3) / 2 22/60 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. 23/60 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. 24/60 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! Ok! Ok! Errado! Errado! 25/60 Constantes e Variáveis Ex: Variável Constante media = P1 + P2 + P3 + P4 4 26/60 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 é: <tipo>:<variavel1>, <variavel2>, ...; 27/60 Sintaxe dos algoritmos Os algoritmos em português estruturado devem possuir a seguinte estrutura: Variáveis // Declaração de variáveis <tipo1> : <variável1>; <tipo2> : <variável2>; <tipo3> : <variável2>; // Corpo do algoritmo Início <comando1>; <comando2>; <comando3>; Fim. // Módulos Módulo <nomemódulo>; [[ ... ]] Declaração de variáveis Comentário Módulos dos algoritmos Parte principal do algoritmo Indentação Separador de comandos 28/60 Atribuição O que é atribuição? “Atribui ou associa um valor a uma variável ou constante” Ex: nome = “José”; media = (nota1 + nota2) / 2; 29/60 Funções Atuamcomo um pequeno programa que, tendo valores de entrada, geram (retornam) um resultado. <nomefunção> (<parâmetro1>, <parâmetro2>, ...) 30/60 Funções Matemáticas disponíveis no pacote Java.Math Função Utilidade Tipo do resultado log(double x) Retorna o valor do logaritmo neperiano de x Real exp(double x) Retorna o valor de ex 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óximo Inteiro sqrt(double x) Retorna a raiz quadrada de x Real sin(double x) Retorna o seno de x Real cos(double x) Retorna o co-seno de x Real atan(double x) Retorna o arco, em radianos, cuja tangente é x Real abs(int x) Retorna o módulo de x (|x|) Inteiro 31/60 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 (variável1); 32/60 Comando de entrada de dados em Java Para fazer a leitura de dados do teclado em programas Java, utilizaremos o objeto Scanner: O objeto Scanner pode ser usado com variáveis numéricas, lógicas e do tipo texto. Scanner s = new Scanner(System.in); int numero = s.nextInt(); 33/60 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 <var ou expressão ou mensagem>,...; 34/60 Comando de saída de dados em Java Para escrevermos na tela, usaremos a função println, disponível no Java. Para concatenar uma variável com um texto, usamos o sinal +. Ex: System.out.println(“O saldo atual é” + saldo); System.out.println(soma); System.out.println(var ou expressão ou mensagem +...); 35/60 Exemplo Java Escrever o programa ‘Alô mundo!’ em Java. 36/60 Algoritmo ‘Alô mundo!’ Solução Variáveis // Não tem variáveis Início escreva(“Alo mundo!”); Fim 37/60 Programa “Alô mundo!” em Java public static void main(String[] args) { System.out.println("Alô mundo!”); } 38/60 Exemplo Implementar em Java um programa que solicite duas notas de um aluno e calcule a sua média. 39/60 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 40/60 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("Digite a primeira e a segunda nota do aluno:"); // entrada de dados Scanner s = new Scanner(System.in); nota1 = s.nextDouble(); nota2 = s.nextDouble(); // cálculo da média media = (nota1 + nota2)/2; System.out.println("A média é : “ + media); } 41/60 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: 9/5*)32( FC 42/60 Programa temperatura em Java public static void main(String[] args) { // Variáveis: temperaturaCelsius e temperaturaFahrenheit double temperaturaCelsius = 0, temperaturaFahrenheit = 0; System.out.println(“Digite a temperatura em Celsius:"); // entrada de dados Scanner s = new Scanner (System.in); temperaturaCelsius = s.nextDouble(); // cálculo da temperatura em Fahrenheit temperaturaFahrenheit = (9*temperaturaCelsius/5)+32; System.out.println("A temperatura é : "+ temperaturaFahrenheit); } 43/60 Strings Implementam o tipo cadeia de caracteres em Java; Em Java, Strings são objetos que disponibilizam um conjunto de funções que podem ser usadas pelo usuário. Pode-se concatenar uma String com uma outra variável ou expressão com o sinal +. 44/60 Strings Exemplos: String s1 = “Exemplo de uma string”; int x = 10; String s2 = “Idade de ricardo = ” + x; int y = 5; String s3 = “Respostas: x = ” + x + “ e y = ” + y; System.out.println(s3); 45/60 Igualdade de Strings Strings não devem ser comparadas com ==, e sim com o método equals; Comparação diferencia letras maiúsculas e minúsculas; Caso a comparação não deva levar em conta maiúsculas e minúsculas, deve-se usar o método equalsIgnoreCase; 46/60 Igualdade de Strings Ex: String S1 = “Banana”; String S2 = “banana”; System.out.println("método equals = " + s1.equals(s2)); System.out.println("método equalsIgnoreCase = " + s1.equalsIgnoreCase(s2)); 47/60 Manipulação de Strings Algumas funções úteis para manipulação de Strings: int length() Retorna o comprimento da string; int indexOf(String s) Retorna a posição da primeira ocorrência da substring s na String; char charAt(int índice) Retorna o caractere na posição apontada por índice (o primeiro caractere está na posição 0). 48/60 Manipulação de Strings Ex: String s1 = "Testando o uso de funções na String"; int indice = s1.indexOf("uso"); System.out.println(" Posicao da substring 'uso' em s1 : " + indice); char letra = s1.charAt(5); System.out.println(" A 6. letra em S1 é : " + letra); 49/60 Exercício Ler o nome e a qualidade de uma pessoa, e exibir a mensagem “<Nome> é uma pessoa que tem <qualidade>”. 50/60 Exercício Solução Exemplo simples de composição de frases em algoritmos. Para as entradas Maria e coragem, a saída seria “Maria é uma pessoa de coragem”. Este algoritmo não necessita de cálculos, apenas leitura dos dados e exibição de composição entre variáveis e mensagens. 51/60 Solução O algoritmo fica assim... Variáveis nome, qualidade : cadeia; Início ler nome; ler qualidade; escrever nome + “ é uma pessoa que tem “ + qualidade; Fim 52/60 Programa mensagem em Java public static void main(String[] args) { // declaração de variáveis String nome= " " , qualidade= " ", resposta = " "; System.out.println(“Digite o nome:"); Scanner s = new Scanner (System.in); nome = s.next(); System.out.println(“Digite a qualidade:"); qualidade = s.next(); resposta = nome+ " é uma pessoa que tem "+qualidade; System.out.println( resposta ); } 53/60 Exercício Faça um programa para ler o salário de um funcionário e imprimi-lo com um aumento de 15%. 54/60 Programa salário em Java public static void main(String[] args) { // declaração de variáveis double salario_antigo=0, salario_novo=0; System.out.println(“Digite o valor do salário do funcionário:"); Scanner s= new Scanner (System.in); salario_antigo= s.nextDouble(); salario_novo = salario_antigo*1.15; System.out.println("O valor do salário com aumento de 15% é R$ " + salario_novo + " reais.”); } 55/60 Funções matemáticas em Java Disponíveis na classe Math; Para chamar uma função matemática, basta inserirmos em algum ponto do programa Math + o nome da mesma, junto com a lista de parâmetros (se houver) que a mesma recebe. Math.<nome_função>(parametro1, parametro2); Para saber quais funções estão disponíveis, deve-se consultar a documentação. 56/60 Funções matemáticas com Java public static void main(String[] args) { double a=0, b=0; System.out.println("Entre o valor de a:"); Scanner s = new Scanner (System.in); a= s.nextDouble(); System.out.println("Entre o valor de b:"); b= s.nextDouble(); 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); } Conceitos básicos de programação Programação em Java Prof. Maurício Braga
Compartilhar