Tipos de dados, Operadores,
Variáveis e E/S
Bruno Cartaxo
sites.google.com/site/brunocartaxo bruno.cartaxo@olinda.ifpe.edu.br
Tópicos a serem discutidos na disciplina
• Introdução a computadores e algoritmos
• Tipos de dados, operadores, variáveis, E/S
• Verificação manual de algoritmos e modularização
• Estruturas de decisão: comandos SE e CASO
• Estruturas de repetição: comandos ENQUANTO e PARA
• Vetores
• Introdução à Java
• Trabalhando com strings em Java
• Estruturas de decisão em Java
• Estruturas de repetição em Java
Sintaxe e Semântica
• Antes de entrar em maiores detalhes sobre a construção de algoritmos é necessário entender a diferença entre sintaxe e semântica.
• Sintaxe:
• Nome dado ao conjunto de regras a serem seguidas para a escrita dos
algoritmos. O computador só é capaz de entender algoritmos sintaticamente corretos. Sintaxe está associada a forma de escrever um comando.
• Semântica:
• Refere-se ao que é efetuado pelo computador quando ele encontra um
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
Tipos de dados
Iremos utilizar apenas
cinco tipos de dados
durante a criação de algoritmos:
Tipo de dado Descrição
Inteiro Para representar informações que não possuem parte fracionária; Real Para representar informações que podem possuir parte fracionária;
Lógico Para representar um estado ou situação que pode ser apenas verdadeira ou falsa; Caractere Utilizado para armazenar um único caractere na memória;
Identificando tipos de dados
Salário do funcionário de uma empresa; Quantidade de vendedores de uma loja; Preço de um litro de leite;
Estado de iluminação de uma lâmpada em perfeitas condições;
Preenchimento do sexo de uma pessoa em um formulário (assuma ‘M’ ou ‘F’);
CEP de uma carta;
Resposta de uma questão de múltipla escolha; Placa de um automóvel;
Identificando tipos de dados
Salário do funcionário de uma empresa; Real Quantidade de vendedores de uma loja; Inteiro Preço de um litro de leite; Real Estado de iluminação de uma lâmpada em perfeitas condições; Lógico
Preenchimento do sexo de uma pessoa em um formulário (assuma ‘M’ ou ‘F’); Caractere
CEP de uma carta; Cadeia de caracteres Resposta de uma questão de múltipla escolha; Caractere
Placa de um automóvel; Cadeia de caracteres Valor a pagar por uma refeição num restaurante a quilo; Real
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 (/);
Precedência de operadores aritméticos
1. ( ) Parênteses;
2. Multiplicação, divisões e resto da divisão; 3. Adição ou subtração
• Exemplo
Operadores relacionais
• Utilizados na comparação de literais ou números;
• Retornam valores lógicos;
• Consistem de: • Igual a (==);
• Diferente de (<> ou !=); • Maior que (>);
• Menor que (<);
Operadores lógicos
• Utilizados para combinar resultados de expressões lógicas;
• Consistem de: • E (AND); • OU (OR); • NÃO (NOT).
• Exemplo
Tabela verdade das operações lógicas
•
E
•
OU
E a tabela verdade do
NÃO?
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
Funções
• Assim como operadores, funções também realizam cálculos, porém não funcionam como conectivos.
• Atuam como um pequeno programa que, tendo valores de entrada, geram
(retornam) um resultado.
Funções
Função Retorno
QUAD(x) Quadrado de X RAIZ(x) Raiz quadrada de X
TRUNC(x) Valor inteiro de X sem a parte decimal ARRED(x) Valor inteiro mais próximo de X
Montagem de expressões
• Para realização de determinados cálculos, pode ser necessário fazer combinações
de operadores, bem como a adição de parênteses.
• Mas que operador será calculado primeiro?
• O que tiver maior prioridade.
1º Parênteses mais internos 2º Funções
3º Operadores aritméticos
1º Multiplicativos (*, /, #, %); 2º Aditivos (+, -)
4º Operadores relacionais 5º Operadores lógicos
Exemplos de expressão
• 3 + 4 * 9
• 3 + 36
• 39
• (3 + 4) * 9
• 7 * 9
• 63
• 8 – QUAD(4) + 5
• 8 – 16 + 5
• -8 + 5
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;
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.
Exemplos de constantes e variáveis
Cálculo da média de um aluno baseado em suas quatro notas:
Variável
Constante
media =
P1 + P2 + P3 + P4
Tipos de variáveis
•
Numéricas
: Armazenamento de números;
• Inteiras: Armazenamento de números inteiros;
• Reais: Armazenamento de números reais.
•
Caracteres
: Cadeia de letras ou números;
• Ex: ‘a’, ‘José’, ‘Rua 23’.
Declaração de variáveis
• Toda variável utilizada em um algoritmo deve ser declarada.
Atribuição de valores
• O que é atribuição?
• Atribui ou associa um valor a uma variável ou constante
nome <- “José”;
Sintaxe dos algoritmos
Variáveis
// Declaração de variáveis <variável1> : <tipo1>; <variável2> : <tipo2>; <variável3> : <tipo3>; // 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
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.
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.
• Exemplos:
• escrever “O saldo atual é”, saldo;
• escrever soma;
Impressões complementares
• A finalidade principal do comando de saída de dados é exibir resultados
processados pelo computador. • Imprimir o conteúdo das variáveis;
• Imprimir mensagens relativas a um processamento.
• Também podemos utiliza-lo para exibir mensagens informativas para o usuário, facilitando o entendimento do que está sendo executado pelo computador
• Imprimir mensagens contendo instruções de execução;
Exemplo de impressões complementares
Algoritmo para calcular a média de 2 números
Variáveis
num1, num2, soma, media : real;
Início
escrever “Entre com o primeiro número: ”; ler num1;
escrever “Entre com o segundo número: “; ler num2;
soma <- num1 + num2; media <- soma / 2;
escrever “A média calculada foi “, media;
Fim
Exemplo 1
Exemplo 1
–
Estruturando solução
Entrada:
• Ler 2 números digitados pelo usuário
Saída:
Exemplo 1 - Algoritmo
Variáveis
num1 : inteiro;
num2 : inteiro;
soma : inteiro;
Início
ler num1;
ler num2;
soma <- num1 + num2;
escrever soma;
Exemplo 1
–
Execuções do algoritmo
Exemplo 2
Exemplo 2
–
Estruturando solução
Entrada:
• Ler um número fornecido pelo usuário
Saída:
Exemplo 2
–
Algortimo
• Sem usar a função
Variáveis
valor, quadrado : inteiro;
Início
ler valor;
quadrado <- valor * valor; escrever quadrado;
Fim
• Usando a função
Variáveis
valor, quadrado : inteiro;
Início
ler valor;
quadrado <- QUAD( valor ); escrever quadrado;
Exemplo 2
–
Execuções do algoritmo
Exemplo 3
Exemplo 3
–
Estruturando solução
Entrada:
• Preço do litro de gasolina
• Valor que o motorista pagou para abastecer
Saída:
Exemplo 3
–
Algortimo
Variáveis
preco_litro: real;
valor_pago: real;
litros_abastecidos: real;
Início
escrever “Digite o preço do litro de gasolina: ” ler preco_litro;
escrever “Digite o valor pago para abastecer: ”
ler valor_pago;
litros_abastecidos <- valor_pago / preco_litro;
escrever “O motorista conseguiu colocar “, litros_abastecidos, “litros de gasolina.” ;
Exemplo 3
–
Execuções do algoritmo
Digite o preço do litro de gasolina: 3.5 Digite o valor pago para abastecer: 80.5
Exemplo 4
Alguns países medem a temperatura em graus celsius, outros em graus Fahrenheit. Faça um algoritmo para ler uma temperatura em celsius e imprimí-la em
Exemplo 4
–
Estruturando solução
Entradas:
• Temparatura em celsius
Saídas:
• Temperatura em Fahrenheit
Informações importates:
Exemplo 4
–
Algortimo
Variáveis
temperatura_celsius: real; temperatura_fahrenheit: real;
Início
escrever “Digite a temperatura em Celsius: ”
ler temperatura_celsius;
temperatura_fahrenheit <- temperatura_celsius * 1.8 + 32;
escrever “A temperatura em Fahrenheit é: ”, temperatura_fahrenheit ;
Exemplo 4
–
Execuções do algoritmo
Exemplo 5
Faça um algoritmo para ler o salário de um funcionário e aumentá-lo em 15%. Após o aumento, desconte 8% de impostos. Imprima o salário inicial, o salário com
Exemplo 5
–
Estruturando solução
Entradas:
• Salário inicial
Saídas:
• Salário inicial
• Salário com aumento
Exemplo 5 - Algoritmo
Variáveis
salario_inicial: real;
salario_aumentado: real;
salario_final: real; Início
escrever “Digite o salário do funcionário: R$ ”
ler salario_inicial;
salario_aumentado <- salario_inicial + salario_inicial * 0.15;
salario_final<- salario_aumentado - salario_aumentado * 0.08;
escrever “O salário inicial do funcionário é de: R$ ”, salario_inicial;
escrever “O salário aumentado do funcionário é de: R$ ”, salario_aumentado; escrever “O salário final do funcionário é de: R$ ”, salario_final;
Exemplo 5
–
Execuções do algoritmo
Digite o salário do funcionário: R$ 2500
O salário inicial do funcionário é de: R$ 2500
Referências da aula
•
Adaptado da aula
Introdução à Programação
do Prof. Ricardo Araújo
do curso de Ciência da Computação da FBV.
•
Gilvan Vilarim.
Algoritmos: Programação para Iniciantes
. Editora
Tipos de dados, Operadores,
Variáveis e E/S
Bruno Cartaxo
sites.google.com/site/brunocartaxo bruno.cartaxo@olinda.ifpe.edu.br