Você está na página 1de 14

Algoritmos e Programação

Tipos de dados, constantes e


instrução de saída
Esta unidade tem como objetivo apresentar os conceitos relacionados
a constantes e tipos de dados, operadores matemáticos relacionais e lógicos
e mostrar como uma instrução de saída pode ser produzida para apresentar
a solução de um problema.

Componentes de um algoritmo
Após fazer uma análise investigativa de um problema, o próximo
passo é desenvolver o algoritmo para atingir a solução do problema.
Um algoritmo é composto por:

 Constantes e tipos de dados;

 Variáveis;

 Instruções de entrada / saída;

 Operador de atribuição;

 Operadores matemáticos, relacionais e lógicos;

 Estruturas de decisão;

 Estruturas de repetição.

Qualquer algoritmo terá um ou mais desses componentes para compor


uma solução. Vamos estudar cada um desses componentes passo a passo.

Tipos de dados e constantes


Para representar qualquer dado em um algoritmo utilizamos as
constantes e os tipos de dados. Os dados são os valores que serão utilizados
para a resolução do problema, podendo ser fornecidos pelo usuário do
programa, originados de processamentos (cálculos), entradas de outros
programas, entre outros.

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 2


Constantes são valores que não sofrem alterações ao longo do
desenvolvimento do algoritmo ou da execução de um programa. Por
exemplo, na expressão a seguir, o valor 3,1415 é atribuído à constante PI e
permanecerá fixo até o final da execução (PUGA & RISSETTI, 2009).
Os tipos de dados são utilizados para representar qualquer
dado/informação de um algoritmo. Tanto tipos de dados quanto constantes
podem ser classificados em:

 Literal;

 Inteiro (numérico);

 Real;

 Lógico.

A tabela 1 a seguir apresenta os tipos de dados primitivos que podem


ser encontrados na maioria das linguagens de programação.

Tabela 1 – Definição de tipos de dados primitivos

Como vamos utilizar a linguagem Java como ferramenta para a


construção de nossos algoritmos, a representação dos tipos de dados em
Java é apresentada pela tabela 2.
Tabela 2 – Tipos de dados da linguagem Java

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 3


Em Java, string é uma classe definida, não um tipo primitivo, mas é
utilizada para armazenar cadeias de caracteres como o tipo de dado
primitivo literal. Por esse motivo, a escrita é diferente começando como o
primeiro caractere em maiúsculo.

Para fazer a representação de nomes de empresas, nomes de


pessoas e textos, por exemplo, utilizaremos o tipo de dados string.
Para representar apenas um caractere, como por exemplo, o sexo de
uma pessoa, indicando ‘m’ para masculino e ‘f’ para feminino, vamos utilizar o
tipo de dado char.
A diferença básica entre os tipos char e string está na representação e
na quantidade de caracteres que permitem armazenar. Um char é
representado por apóstrofos (‘ ’) e por armazenar apenas um (1) caractere
por vez. Já uma string é representada por aspas (“ ”) e pode armazenar um
caractere ou um conjunto de caracteres.
Para fazer a representação de valores inteiros como a idade de uma
pessoa, o número de uma residência, ou qualquer valor que pertença ao
conjunto dos números inteiros, vamos utilizar o tipo de dado int.
Para fazer a representação de valores reais como a altura de uma
pessoa, o peso de um produto e o preço de um carro, vamos utilizar o tipo de
dados double. Na representação de valores reais em um algoritmo utilizamos
a notação de ponto para separar as casas decimais. Por exemplo, o valor do
PI dentro de um algoritmo será dado por 3.1415 e não por 3,1415.
Por último utilizamos o tipo de dados boolean para representar
qualquer valor verdadeiro ou falso dentro de um algoritmo. Em Java um valor
verdadeiro é dado pela constante true e um valor falso é representado pela
constante false.
Os tipos de dados serão utilizados para representar os dados de

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 4


entrada, saída e os resultados dos processamentos realizados
por um algoritmo.

Operadores
Os operadores são utilizados para representar expressões de cálculos,
comparação, condição e atribuição em um algoritmo. Basicamente há três
tipos de operadores:

 Operadores aritméticos;

 Operadores relacionais;

 Operadores lógicos.

Os operadores aritméticos servem para representar qualquer tipo de


cálculo matemático em um algoritmo. São muito parecidos com os
operadores da matemática em si, mas existem algumas diferenças (PUGA &
RISSETTI, 2009).

Por exemplo, para representar a multiplicação, em vez de usar o


operador ponto ( . ) ou vezes ( x ), usaremos o operador asterisco ( * ).

O operador módulo (%) é utilizado para representar o resto de uma


divisão entre valores inteiros. Como nomenclatura de uma operação de
divisão temos:

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 5


Analisando o exemplo, temos que operador de divisão (/) retorna o
valor 5, que é o quociente de uma divisão e o operador módulo (%) retorna
como resultado o valor 3, que é o resto de uma divisão.
É de suma importância saber como um computador avalia uma
expressão aritmética. Por exemplo, qual o resultado da seguinte expressão?

Alguns resultados possíveis: 1, 13, 18 ou 3?


Como resposta correta temos o valor 3.

A resposta vai depender da precedência dos operadores e da forma


de avaliação.
O operador de maior precedência é o parênteses ( ); tudo que estiver
entre parênteses será resolvido primeiro. Os operadores de menor
precedência são os operadores de adição e subtração.

Um computador avalia uma expressão aritmética sempre da esquerda


para a direita. Levando em consideração, claro, a precedência dos
operadores.

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 6


Assim, o exemplo anterior será resolvido da seguinte forma:

 Resolver a multiplicação;

 Tirar de 10 o resultado da multiplicação;

 Somar 1 ao resultado da subtração anterior.

Os operadores relacionais são utilizados para estabelecer uma


relação de comparação entre valores ou expressões. O resultado dessa
comparação é sempre um valor lógico (booleano) verdadeiro ou falso (true /
false) (PUGA & RISSETTI, 2009).
A tabela 3 apresenta os operadores relacionais, utilizados pela
linguagem Java.

Tabela 3 – Representação dos operadores relacionais em Java.

Os operadores lógicos são utilizados para concatenar ou associar


expressões que estabelecem uma relação de comparação entre valores. O
resultado dessas expressões é sempre um valor lógico (booleano) verdadeiro
ou falso (true / false) (PUGA & RISSETTI, 2009).
Para avaliar uma expressão lógica utilizamos a tabela-verdade.
Segundo Forbellone (2002), uma tabela-verdade é o conjunto de todas as
possibilidades combinatórias entre os valores de diversas variáveis lógicas,

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 7


as quais se encontram em apenas duas situações (V ou F), e um conjunto de
operadores lógicos.
Temos como operadores lógicos:

 E - conjunção (representação em Java: && )


o Se TODAS as expressões condicionais forem
verdadeiras, o resultado é VERDADEIRO.

 OU – disjunção (representação em Java: || )


o Se UMA expressão condicional for verdadeira, o
resultado é VERDADEIRO.

 NÃO - negação (representação em Java: ! )


o Se a expressão condicional for falsa, o resultado é
VERDADEIRO. Caso contrário é FALSO.

Como tabela-verdade para os operadores && e || temos:

Operador && – somente resulta em VERDADEIRO quando todas


as sentenças avaliadas são verdadeiras.
Operador || – somente resulta em FALSO quando todas as
sentenças avaliadas são falsas.

Como tabela-verdade para o operador de negação ( ! ) temos:

O operador de negação funciona como um complemento.

Início e fim de um algoritmo

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 8


Como Java é uma linguagem orientada a objeto, todo o código de um
programa deve estar definido dentro de uma classe. Especificamente deve
estar definido dentro de um método especial da classe chamado main().
O método main() é o ponto de partida na execução de um programa
em Java.
Todo algoritmo deve ter um início e fim bem definidos. O início de um
algoritmo em Java será dado pela criação de um classe e pela criação do
método main(). Já o fim do algoritmo será dado pelo fechamento do método
main() e pelo fechamento da classe, como ilustra a imagem a seguir.

As chaves representam a abertura e o fechamento de um bloco. A


primeira e a última chave são: abre bloco da classe e fecha bloco da classe.
O main() sempre deve estar dentro do bloco de uma classe. Tudo que estiver
entre o abre bloco do main() e o fecha bloco do main() são as instruções
(passo a passo) do algoritmo. Cada instrução deve ser precisa e para que o
computador entenda o fim de uma instrução, ela deve terminar com um ponto
e vírgula (;).
Ainda em relação à estrutura de um algoritmo em Java, devemos levar
em consideração as tabulações. Reparem que cada linha se inicia em
colunas diferentes. Essa representação serve para identificar a qual bloco um
conjunto de instruções pertence. Esta organização é chamada indentação.
Na figura a seguir a indentação é representada pelo TAB.

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 9


A indentação é uma boa prática de programação e deve ser utilizada
em todos os algoritmos que vocês desenvolverão durante o curso. Ela
melhora a legibilidade de um algoritmo, facilitando o seu entendimento.
É comum termos comentários em um algoritmo. Eles servem para
documento um algoritmo e evidenciam o que um conjunto de instruções irá
realizar. Os comentários podem ser de uma linha, representados por ( // ) ou
de mais de uma linha representado por ( /* ) para iniciar o comentário e por (
*/ ) para finalizar o comentário. Todos os comentários serão ignorados no
processo de compilação de um algoritmo, ou seja, eles não farão parte da
solução.

Comando de saída
Das três fases que compõem um algoritmo
(entrada/processamento/saída), vamos começar a estudar a última, a fase da
saída.
O resultado do processamento de um algoritmo pode ser armazenado
na memória principal (variável) e/ou pode ser exibido diretamente em um
dispositivo de saída. Geralmente, os dados são apresentados na tela do
computador, pois o monitor é o dispositivo de saída padrão.
Para trabalhar com a saída de dados de um algoritmo em Java, vamos
utilizar o comando: System. out.println(“ ”);
No exemplo do algoritmo AloMundo a seguir, nas linhas 3 e 4,
utilizamos o comando de saída para imprimir na tela duas mensagens. Entre
o abre/fecha parênteses do comando println temos uma constante do tipo
String. Essa String é que será impressa no monitor.

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 10


Após a execução do algoritmo teremos a seguinte saída:

É possível também fazer a impressão de várias constantes em um


mesmo comando println. Por exemplo, podemos concatenar a impressão de
uma string e um double. Para concatenar a impressão de tipos de dados
diferentes utilizamos o operador “+”.
No algoritmo altura, a frase “Minha altura é:” é uma string e o valor
1.75 é um double.

Como saída teremos:

O comando de saída também pode ser utilizado para imprimir o


resultado de um processamento.
Ao analisar o algoritmo processamento, temos na linha 3 uma
multiplicação, na linha 4 uma comparação relacional e na linha 5, além de
uma comparação relacional, também temos uma comparação lógica.

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 11


Como saída teremos:

Lembrando que expressões relacionais e lógicas resultam sempre em


valores booleanos (true/false).

Ambiente de desenvolvimento
Para desenvolver utilizando a linguagem Java é necessário instalar o
JDK e um editor de texto.
O JDK (Java Developement Kit) – Kit de desenvolvimento Java é um
conjunto de utilitários que permite criar sistemas de software para plataforma
Java. É composto por compilador e bibliotecas.
Existem várias IDE no mercado para o desenvolvimento Java: Eclipse,
NetBeans, JDeveloper, JCreator entre outras.
A IDE que utilizaremos é a NetBeans.
É preciso fazer o download e a instalação tanto do JDK quanto do
NetBeans. O download pode ser feito do site da Oracle.

IDE (Integrated Development Environment) - um ambiente integrado


para desenvolvimento de software.

Acesse o link abaixo e faça o download do JDK 7 + NetBeans :


Disponível em:
< http://www.oracle.com/technetwork/java/javase/downloads/index.html>.

Atividades de fixação
1 – Identificar o tipo de dado/constante:

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 12


1. false
2. 21
3. “O resultado é: ”
4. 3.1415
5. “true”
6. 6,78
7. ‘h’

Resposta:
1. boolean
2. int
3. string
4. double
5. string
6. Não é um valor válido. Deveria utilizar a notação de ponto.
7. char

2 - Resolva as expressões abaixo:


a) 5 + 9 + 7 + 8 / 4
b) 5 * 5
c) 16 - (2 * 4) / 2
d) (37 / 4) * 15 -72

Resposta
a) 23
b) 25
c) 12
d) 63

BIBLIOGRAFIA
ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene Aparecida Veneruchi
de. Fundamentos de Programação de Computadores. 2ª ed. São Paulo:
Pearson Prentice Hall, 2007.

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 13


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.

Construção de Algoritmos – Tipos de dados constantes e instrução de saída 14

Você também pode gostar