Você está na página 1de 40

Algoritmos e Linguagem

de Programação
Professor: Mauro Jansen

Parte 2 – Fundamentos
(Tipos de dados, variáveis, expressões e operadores)

09/2012
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 2
Introdução a 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 ser classificadas em
dois tipos:
 As instruções, que comandam o funcionamento da
máquina e determinam a maneira como devem ser
tratados os dados
 Os dados propriamente ditos, que correspondem à
porção das informações a serem processadas pelo
computador
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 3
Introdução a tipos de dados
 Internamente, essas informações (dados e
instruções), ficam registradas na memória
na forma binária
 Porém, para facilitar, as linguagens de
programação oferecem a noção de TIPOS
DE DADOS, que nos permite manipular as
informações de forma mais parecida com o
modo como fazemos no mundo real

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 4
Conceito de tipos de dados
 Podemos definir tipos de dados como um
conjunto de objetos que têm em comum o
mesmo comportamento diante de um
conjunto definido de operações
 Exemplos:
 Pessoas
 Z (conjunto dos números inteiros)
 R (conjunto dos números reais)
 Letras
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 5
Tipos de dados básicos
 As linguagens de programação não podem
manipular todos os tipos do mundo real e têm os
seus próprios tipos de dados
 Os tipos de dados básicos são:
 Numéricos (somente números)
 Inteiro
 Real
 Literais (letras números ou símbolos)
 Caractere
 String
 Lógicos ou Booleanos
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 6
Tipos de dados básicos
Tipos de Dados

Numérico Literal Lógico

inteiro real caractere String

 OBS: Além dos tipos básicos, as linguagens


podem oferecer variações dos mesmos ou
outros tipos como Data, Hora, etc.
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 7
Dados numéricos
 São dados numéricos que podem ser usados
em operações aritméticas. Subtipos:
 Inteiros: que não possuem parte fracionária e
podem ser positivos ou negativos.
 10 (número inteiro positivo)
 -9 (número inteiro negativo)
 0 (número inteiro)
 Reais: que podem possuir parte fracionária e
podem ser positivos ou negativos.
 15.05 (número real positivo com duas casas
decimais)
 -15. (número real negativo sem casas decimais)
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 8
Dados literais
 Podem ser seqüências de letras, dígitos ou símbolos
especiais. Subtipos:
 Caractere: um único caractere:
 ‘a’
 ‘7’
 ‘@’
 Cadeia de Caracteres (string): conjunto de
caracteres formando uma palavra, frase ou parágrafo:
 “Algoritmos”
 “Algoritmos e Linguagem de Programação”
 “*** Projeto Cara Limpa (anti-drogas) ***”
 Normalmente ficam entre aspas simples (caractere) ou
duplas (string)
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 9
Dados lógicos
 Também chamados booleanos, devido à
Álgebra de Boole
 Só possuem dois valores possíveis:
 Verdadeiro ou Falso
 Normalmente são resultados de testes de
expressões lógicas e servirão de condição
para execução de uma ou mais instruções

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 10
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 11
Conceito de variável
 “Uma variável é um local na memória principal,
isto é, um endereço que armazena um conteúdo”
(LOPES E GARCIA, 2002)

 “Podemos imaginar uma variável como o nome


de um local onde se pode colocar qualquer valor
do conjunto de valores possíveis do tipo básico
associado”.
(GUIMARÃES E LAGES, 1994)

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 12
Características de uma variável
 Basicamente, uma variável
possui três atributos:
 um nome (ou identificador) tipo
 um tipo de dado associado à de
dado
mesma
 e o dado (valor) por ela
guardado.
Nome da variável
 Todas as variáveis utilizadas na
valor
elaboração de um programa
devem ser declaradas.

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 13
Declaração de variáveis
 Declarar uma variável corresponde à criação de um
local na memória rotulado com o nome da variável
(identificador) e marcado com o tipo de valores que
ela pode conter:
Memória RAM
tipo
de
Nome da variável
dado
valor

Nome da variável
tipo
valor
de
Nome da variável dado
valor

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 14
Declaração de variáveis: sintaxe
 Sintaxe: existem duas formas básicas para
declaração de variáveis em pseudocódigos:
 Com o tipo após o(s) nome(s) das variável(is):
Var <nome da variável 1>[,<nome da variável 2>,...]: <tipo1>;
<nome da variável 3>[,<nome da variável 4>,...]: <tipo2>;

 Com o tipo antes do nome da(s) variável(is):


<tipo1> <nome da variável 1>[,<nome da variável 2>,...];
<tipo2> <nome da variável 3>[,<nome da variável 4>,...]:

 Exemplos:
Var nome, endereco: string;
salario, aumento: real;

String nome, endereco;


Real salario, aumento;
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 15
Declaração de variáveis: regras
 Como identificar os tipos de dados

Inteiro – int ou integer


Real – real, float ou double
Literal – char (caractere) ou string (cadeia de caracteres)
Lógico – boolean ou lógico

 Exemplos
int valor; Variáveis do mesmo tipo podem
ser declaradas juntas, bastando
real salario, taxa; separar os identificadores por
char opcao; vírgula.

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 16
Declaração de variáveis: regras
 Regras para a Formação de Identificadores
(nomes de variáveis):
 O primeiro caractere do nome deve ser uma
letra.
 Se houver mais de um caractere, só se deve usar
letra ou algarismo.
 Há diferença em usar letras maiúsculas e
minúsculas.
 Não usar palavras que sejam reservadas Às
Linguagens de Programação.
 Devemos dar nomes representativos para as
variáveis.

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 17
Declaração de variáveis: exemplos
 Declarações Válidas
 int quantidade
Variáveis diferentes, pois
 real precodevenda uma usa letra maiúscula
 int Quantidade
 string nome
 Declarações Inválidas
Não devemos usar cedilha
 real preço de venda nem espaço.
 int 2numero Não devemos iniciar o
identificador com algarismo
 string nomeloj@
Não devemos utilizar
caracteres especiais
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 18
Exercícios de fixação
 O que é um tipo de dado?
 Quais são os tipos de dados básicos? Cite
exemplos de dados de cada tipo.
 Diga qual o tipo de cada dado abaixo:
 “Linguagem de programação”
 123.75
 “A”
 -72
 3>2
 “12345”
 VERDADEIRO
 “01/01/2010”

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 19
Exercícios de fixação
 O que é uma variável?
 Quais os atributos de uma variável?
 O que é declarar uma variável?
 Quais as regras para criação do nome de
uma variável?
 Dê um exemplo de declaração de variável
em cada tipo de dados básico.

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 20
Exercícios de fixação
 Dados os nomes de variáveis abaixo, indique quais são
válidos e quais são inválidos:
 VALOR
 X2
 3X4
 XYZ
 “NOTA”
 SALÁRIO-LÍQUIDO
 NOTA*DO*ALUNO
 MARIA
 NOMEDAESCOLA
 AH!
 A1B2C3
 KM/H

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 21
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 22
Expressão
 Combinação de operandos (valores ou
variáveis), operadores, e chamadas de
funções que são interpretadas (avaliadas) de
acordo com as regras de precedência e de
associatividade particulares a uma determinada
linguagem de programação, que calcula e, em
seguida, produz (retorna) um valor
 Exemplos:
 2+2 (expressão aritmética)
 “Algoritmos “+” e Programação” (expressão literal)
 5 > 3 (expressão lógica)
 Salario * reajuste / 100 (expressão aritmética usando
variáveis)
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 23
Operadores

Operadores são elementos que atuam sobre


operandos e produzem um resultado.

 Operandos são valores ou variáveis de um dos


tipos de dados
 Exemplo
 5+3
 Operandos: 5 e 3
 Operador: +
 Resultado: 8
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 24
Tipos de operadores
 Operadores Unários: atuam sobre um único
operando.
 Exemplo: -2

 Operadores Binários: atuam sobre dois


operandos.
 Exemplo: 3 + 6

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 25
Expressões aritméticas
 Produzem como resultado um tipo de dado
numérico.
 Utilizam operadores aritméticos e variáveis
numéricas.
 Operadores aritméticos:

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 26
Expressões lógicas
 Produzem como resultado um valor lógico
(.Verdadeiro. ou .Falso.).
 Fundamentam-se na Lógica Matemática.

 Conceito de Proposição

Uma proposição ou sentença é qualquer oração que


pode ser avaliada como verdadeira ou falsa.

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 27
Expressões lógicas: exemplos e princípios
 Exemplos de Proposições
 São Luís é a capital do Maranhão.
 A Lua é feita de queijo.
 2 é um número par.
 5 – 3 = 0.
 Regras Fundamentais da Lógica Matemática
 Princípio da não contradição: uma proposição não
pode ser verdadeira e falsa ao mesmo tempo.
 Princípio do terceiro excluído: uma proposição
sempre assume um valor (verdadeiro ou falso)

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 28
Expressões lógicas: tipos
 Tipos de Proposições
 Proposições Simples ou Atômicas
 Não é possível decompô-las
 Cinco é menor que dez.
 Proposições Compostas ou Moleculares
 Formadas por duas ou mais proposições simples
ligadas por meio de conectivos lógicos.

São cinco os conectivos lógicos:

E – OU – NÃO – SE ... ENTÃO – SE, E SOMENTE SE

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 29
Proposições compostas
 Exemplos de Proposições Compostas

1. Pelé é brasileiro E Maradona é Argentino.


2. Vou à praia OU ao cinema.
3. SE eu estudar, ENTÃO serei aprovado em
Programação.
4. Serei aprovado em Programação SE, E SOMENTE
SE,
SE eu estudar.

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 30
Operador lógico de negação (NÃO)
 Cada conectivo lógico está associado a uma
operação lógica.
 Negação: usa o operador NÃO para modificar
uma proposição, invertendo seu valor lógico.
 A representação desta operação na tabela verdade
é a seguinte:

p NÃO p
V F
F V

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 31
Operador lógico de conjunção (E)
 Conjunção: Com o uso do conectivo E é
possível ligar duas proposições, formando uma
nova proposição chamada conjunção, cujo valor
lógico é a verdade quando ambas as proposições
que a compõe forem verdadeiras.
a b aEb
V V V
V F F
F V F
F F F
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 32
Operador lógico de disjunção (OU)
 Disjunção: Com o uso do conectivo OU é
possível ligar duas proposições, formando uma
nova proposição chamada disjunção, cujo valor
lógico é a falsidade quando ambas as
proposições que a compõe forem falsas.
a b a OU b
V V V
V F V
F V V
F F F
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 33
Resumo dos operadores lógicos
 Tabela Demonstrativa dos Operadores
Lógicos

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 34
Operadores relacionais
 Usados quando se deseja efetuar
comparações.
 Produzem como resultado um dos valores
lógicos.

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 35
Funções
 Funções são sub-programas existentes nas
linguagens de programação que recebem
dados, efetuam operações com os mesmos
e retornam um resultado
 Podem ser usadas em expressões
 Tipos de funções:
 Matemáticas (retornam valor numérico)
 Literais (retornam valor literal)
 Lógicas (retornam valor lógico)
Algoritmos e Ling.de Programação
Prof. Mauro Fundamentos 36
Funções
 Toda função tem um nome (identificador)
seguido de “(“, dos parâmetros separados por
vírgula e “)”
 Exemplos:
Função Resultado fornecido
RAIZ(<número>) Raiz quadrada
EXP(<base>,<expoente>) Potenciação
ABS(<número>) Valor absoluto do número
RESTO(<a>,<b>) Resto da divisão a / b
TRUNCA(<n>) ou INT(<n>) Parte inteira do número real n
LOG(<n>) Logarítmo na base 10 de n

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 37
Prioridade dos operadores
 Toda expressão respeita a ordem de execução de
seus operadores, sempre da esquerda para a
direita.

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 38
Exercícios de fixação
 Sabendo que X=2, Y=5, diga o tipo e resultado
das seguintes expressões:
 3 ** X + 10 / 2 – 3
 X=Y
 7+Y > X * 2
 Y>X
 Crie a expressão aritmética para calcular:
 Média de quatro notas (n1, n2, n3 e n4)
 Valor do delta, X’ e X’’, em uma equação do 2º grau,
em função das variáveis a, b e c
 Retornar somente a parte fracionária de um número
real N

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 39
Exercícios de fixação
 Dadas as variáveis A=3, B=16, NOME=“MARIA”,
PROFISSAO=“ADVOGADO” e TESTE=FALSO,
avalie as expressões:
 A+1 >= RAIZ(B) OU NOME=“ANA”
 A+1 >= RAIZ(B) E PROFISSAO=“MEDICO”
 NOME<>”ANA” OU PROFISSAO=“MEDICO” E
A+1>RAIZ(B)
 INT(A/B) + 2

Algoritmos e Ling.de Programação


Prof. Mauro Fundamentos 40

Você também pode gostar