Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos e Programação Construção de Algoritmos – Variáveis, atribuição e comando de entrada 2 Variáveis, atribuição e comando de entrada Esta unidade tem como objetivo apresentar os conceitos de variáveis, atribuição de valores e comandos de entrada de dados. Ao final deste módulo você será capaz de escrever pequenos algoritmos utilizando as três fases de um algoritmo: entrada/processamento/saída. Variáveis As variáveis são utilizadas para representar os dados necessários para a resolução de um problema. As variáveis permitem que dados de entrada ou dados gerados em um processamento sejam armazenados na memória principal (RAM) do computador temporariamente. No decorrer da execução de um algoritmo, o valor de uma variável pode ser alterado. Daí o nome variável. Mas uma variável pode assumir apenas um único valor a cada instante de sua existência. Toda variável deve receber um nome ou identificador, o qual deve ser único e seguir algumas regras. RAM – (Random Access Memory) – Memória temporária para armazenamento dos programas que estão em execução no computador (PUGA & RISSETTI, 2009). REGRAS Não utilizar espaço em branco entre as letras. Para representar espaço usar o símbolo underline (_); Não iniciar o nome da variável com número; Não utilizar palavras reservadas da linguagem. Por exemplo: true, public, int, etc.; Não utilizar caracteres especiais (acentos, símbolos, ? / : @ ç #, etc.). Ser sucinto e utilizar nomes coerentes Construção de Algoritmos – Variáveis, atribuição e comando de entrada 3 Fique atento! Em Java, os nomes para as variáveis são case-sensitive, isto é, nomes com letras maiúsculas são diferenciados de nomes com letras minúsculas (PUGA & RISSETTI, 2009). No exemplo a seguir temos três nomes de variáveis distintos: Isso significa que ao definir o nome de uma variável em um algoritmo, devemos escrevê-lo da mesma forma toda vez que utilizarmos essa variável no algoritmo. Sabendo que uma variável pode ser usada para armazenar dados de entrada, então devemos definir qual o tipo de dado ela vai armazenar. Portanto, toda variável em um algoritmo deve corresponder a um tipo de dado. Assim, uma variável do tipo int só poderá armazenar valores do tipo inteiro. Para declarar uma variável utilizar a seguinte sintaxe: tipo_de_dado identificador; tipo_de_dado identificador1, identificador2, identificadorN; O primeiro exemplo de sintaxe é utilizado para declarar uma única variável. Devemos indicar o tipo de dado, um espaço, o nome do identificador da variável e finalizar a instrução com ponto e vírgula. O segundo exemplo de sintaxe mostra como declarar diversas variáveis de um mesmo tipo de dado. Devemos indicar o tipo de dado, um espaço, os nomes dos identificadores das variáveis separados por uma vírgula e finalizar a instrução com ponto e vírgula. idade Idade IdaDe Em Java, os tipos de dados primitivos são: int, float, double, boolean e char. E para representar uma cadeia de caracteres usamos a classe String. A sintaxe é a parte da gramática que se dedica ao estudo da estruturação das palavras em uma frase, termo usado de forma análoga no que se refere às linguagens de programação, para especificar a construção de instruções e comandos. Construção de Algoritmos – Variáveis, atribuição e comando de entrada 4 Vejamos alguns exemplos de declaração de variáveis: Na primeira linha temos a declaração das variáveis nome e endereço do tipo String. Na segunda linha temos a declaração da variável salário do tipo double. Na terceira linha temos a declaração de duas variáveis do tipo int. Na quarta linha temos a declaração da variável sexo do tipo char para armazenar o sexo de uma pessoa. Como se trata de um char, podemos ter os valores ‘f’ para feminino e ‘m’ para masculino. Mas como definir os nomes para as variáveis? Um bom nome de variável deve deixar claro o dado que irá armazenar. Por exemplo, para armazenar o preço de um produto, podemos utilizar o identificador preco ou precoProduto. Atribuição Vimos que uma variável serve para armazenar dados na memória principal de um computador. Mas como indicar um valor para uma variável? Podemos fornecer um valor para uma variável usando o operador de atribuição (=). Vale lembrar que toda instrução em um algoritmo deve ser finalizada com ponto e vírgula (; ). 1 String nome , endereco; 2 double salario; 3 int i , num; 4 char sexo; O sinal de igual (=) é utilizado para representar uma atribuição e o sinal duplo de igual (==) é usado para representar o operador relacional de igualdade. Construção de Algoritmos – Variáveis, atribuição e comando de entrada 5 Quando um valor é atribuído a uma variável, ela irá guardar esse valor até que seja modificada. O valor fornecido para uma variável deve ser compatível com o tipo de dado usado na declaração da variável. Portanto, em uma variável do tipo int, somente podemos atribuir valores inteiros. A sintaxe do operador de atribuição é: identificador = valor; Basta indicar o identificador de uma variável já declarada, seguida do operador de atribuição e finalizar com o ponto e vírgula. Vejamos alguns exemplos de atribuições válidos e inválidos: Nas linhas 1 e 2 temos duas atribuições corretas, pois para a variável nome é feita a atribuição de um valor do tipo String e para a variável idade é feita a atribuição de um valor do tipo inteiro, a idade de uma pessoa, por exemplo. Na linha 3, para a variável preco esperávamos um valor em ponto flutuante (double) e não uma String. Essa atribuição não é válida, pois a variável é de um tipo de dados e o valor é de outro tipo de dado. Comando de entrada de dados O dispositivo padrão de entrada de dados em um computador é o teclado. Os dados lidos do teclado podem ser armazenados nas variáveis declaradas em um algoritmo. Se temos um algoritmo que tenha uma variável inteira para armazenar a idade de uma pessoa, como podemos ler essa idade do teclado? Para realizar a entrada de dados é necessário definir um buffer para guardar os dados digitados no teclado e depois transferi-los para a memória principal – as variáveis de seu algoritmo. 1 nome = “Mario de Andrade”; //correto 2 idade = 17; //correto 3 preco = “Rua X, 234”; //inválido Construção de Algoritmos – Variáveis, atribuição e comando de entrada 6 Para definir o buffer do teclado, vamos utilizar a seguinte sintaxe: Scanner entrada = new Scanner(System.in); Nessa sintaxe a entrada é o buffer do teclado que será utilizado sempre que desejarmos fazer alguma entrada de dados externos. Após a criação do buffer de teclado, vamos transferir o seu conteúdo para a variável desejada. Para tanto, temos que associar o tipo de entrada ao tipo da variável que receberá o dado. A tabela a seguir define qual método deve ser utilizado para realizar a leitura de cada tipo de dado. Buffer é a memória interna do dispositivo de entrada teclado. Enquanto as teclas são digitadas, elas são armazenadas no buffer e ao pressionar a tecla ENTER esse buffer é esvaziado. Para que a classe Scanner possa ser acessada, temos que indicar a sua localização. Em Java utilizamos a palavra reservada import para incluir o acesso a uma classe fora do projeto atual. Portanto, para utilizara classe Scanner devemos incluir no início dos algoritmos a seguinte instrução: import java.util.Scanner; Construção de Algoritmos – Variáveis, atribuição e comando de entrada 7 Vamos analisar um exemplo de entrada de dados! No algoritmo EntradaDeDados iremos fazer a leitura do registro acadêmico e do nome de um aluno e apresentar no monitor os valores lidos. Na linha 1 indicamos o uso da classe Scanner. Nas linhas 6 e 7 declaramos as variáveis ra e nome. Ra do tipo int e nome do tipo String. Na linha 10, uma solicitação é feita ao usuário. A String “Informe o nome: ” será impressa no monitor do usuário. Como a próxima instrução é uma entrada de dados, o cursor ficará piscando na espera do usuário entrar com o dado solicitado. Na linha 11 é feita a leitura de uma String do teclado. Ao terminar de digitar um nome e pressionar a ENTER, o dado será armazenado na variável nome. Lembre de sempre utilizar o comando correspondente ao tipo de dado que se deseja armazenar. Nas linhas 12 e 13, outra solicitação e entrada são realizadas. Repare que a entrada agora é associada ao tipo de dado int. Portanto, utilizamos o comando nextInt(). Agora que os dados estão armazenados na memória principal do seu algoritmo, é possível manipulá-los da maneira que desejarmos. Na linha 16 estamos resgatando o conteúdo da variável nome para ser impresso no monitor. O mesmo ocorre na linha 17 para o conteúdo da variável ra. Como saída para o algoritmo EntradaDeDados temos: Construção de Algoritmos – Variáveis, atribuição e comando de entrada 8 A partir de agora é possível criar algoritmos mais genéricos. Por exemplo, ao executar o algoritmo EntradaDeDados várias vezes, a cada execução podemos informar dados diferente a serem armazenados. Atividades de fixação 1 – Qual (quais) do(s) possível (possíveis) identificador (es) abaixo é(são) válido(s)? a) endereço b) 21abril c) fone$com d) Nomeusuário e) nome usuario f) nome_usuário g) end*a-6 h) cidade3 i) #cabec Resposta: Somente a letra h, os demais não respeitam as regras de nomeação de variáveis. 2 - Qual o tipo de dado mais apropriado para armazenar os seguintes dados, em seguida faça a declaração e a atribuição de valores: a) idade b) valor da conta telefônica c) nome de empresa d) média final na disciplina Dados digitados pelo teclado Construção de Algoritmos – Variáveis, atribuição e comando de entrada 9 Resposta: a) int idade; idade = 17; b) double contaTelefonica; contaTelefonica = 37.58; c) String nomeEmpresa; nomeEmpresa = “Universidade Anhembi Morumbi”; d) double mediaFinal; mediaFinal = 8.5; 3 – Analise o algoritmo a seguir e defina os valores finais das variáveis inteiras A, B, C, D e X: X = 0; A = 10; B = 20; C = 30; D = 40; A = D + A; A = D + B; C = A; A = D; B = (B + B) + (B*A); B = 40; A = B – 10; A = B + 1; X = A + B + C + D; Resposta: A => 41 B => 40 C => 60 D => 40 X => 181 4 - Faça um algoritmo que leia três notas de um aluno, calcule e mostre a média aritmética do aluno. Construção de Algoritmos – Variáveis, atribuição e comando de entrada 10 Resposta: import java.util.Scanner; public class Exec02 { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); //Declaração de variáveis double nota1, nota2, nota3; double soma, media; //Entrada de dados System.out.println("Informe a nota1:"); nota1 = entrada.nextDouble(); System.out.println("Informe a nota2:"); nota2 = entrada.nextDouble(); System.out.println("Informe a nota3:"); nota3 = entrada.nextDouble(); //Processamento soma = nota1 + nota2 + nota3 + nota4; media = soma / 4; //Saída de dados System.out.println("A média aritmética é: " + media); } } BIBLIOGRAFIA ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi de. Fundamentos de Programação de Computadores. 2. ed. São Paulo: Construção de Algoritmos – Variáveis, atribuição e comando de entrada 11 Pearson Prentice Hall, 2007. FORBELLONE, A. L. V. & EBERSPÄCHER, H. F. Lógica de Programação: a construção de algoritmos e estruturas de dados. 2. ed. São Paulo: Makron Books, 2002. PUGA, Sandra; RISSETTI, Gerson. Lógica de programação e estruturas de dados com aplicações em Java. 2. ed. São Paulo: Pearson Prentice Hall, 2009.
Compartilhar