Professional Documents
Culture Documents
Programação
Aula 4
Algoritmos
- Operadores Lógicos
• e para a conjunção
• ou para a disjunção
• não para a negação
- Conjunção: p e q
pes VeV=V
per VeF=F
qes FeV=F
qer FeF=F
- Disjunção : p ou q
p ou s V ou V = V
p ou r V ou F = V
q ou s F ou V = V
q ou r F ou F = F
- Negação : não p
Lógica de Programação
Exemplo:
Algoritmo SEQUENCIA
declare A,B,C: numerico;
leia A, B;
C (A+B) * B;
escreva A, B, C;
fim algoritmo
- Estrutura Condicional
Se condição
então sequência de comandos
fim se
Exemplo:
Algoritmo CONDICIONALSIMPLES
declare A,B,C: numerico;
leia A, B, C;
se ((A+B) < C)
então
escreva “Mensagem”;
fim se
fim algoritmo
- Estrutura Condicional Composta
Se condição
então
sequência A de comandos
senão
sequência B de comandos
fim se
Algoritmo CONDICIONALCOMPOSTA
declare A,B,X,Y numerico;
leia A,B;
se (A = B) então
X 1,5;
Y 2,5;
senão
X - 1,5;
Y -2,5;
fim se
escreva X, Y;
fim algoritmo
Algoritmos e Programação
var
Inicio
Fimalgoritimo
Algoritmos e Programação
Palavras reservadas
aleatorio, abs, algoritmo, arccos, arcsen, arctan, arquivo, asc, ate,
caracter, caso, compr, copia, cos, cotan, cronometro, debug,
declare, e, eco, enquanto, entao, escolha, escreva, exp, faca,
falso, fimalgoritmo, fimenquanto, fimescolha, fimfuncao, fimpara,
fimprocedimento, fimrepita, fimse, funcao, grauprad, inicio, inteiro,
interrompa, leia, literal, log, logico, logn, maiusc, mensagem,
minusc, nao, numerico, numpcarac, ou, outrocaso, para, passo,
pausa, pi, pos, procedimento, quad, radpgrau, raizq, rand, randi,
repita, se, sem, senao, timer, tan, verdadeiro, xou;
Algoritmos e Programação
Algoritmos computacionais
Um algoritmo computacional deve ser uma seqüência de
instruções que deve manipular dados
Instruções: comandos que determinam a forma pela qual os
dados devem ser tratados
Dados: informações recolhidas/fornecidas por diversos meios
e que serão processadas pelo computador através das
instruções
Algoritmos e Programação
Tipos de dados
Os dados manipulados por um algoritmos podem ser números, letras,
frases, etc. Não faz sentido somar duas letras. Então, para poder
distinguir dados de naturezas distintas e saber quais operações
podem ser realizadas com eles, os algoritmos lidam com o
conceito de tipos de dados.
Inteiro Real
Algoritmos e Programação
Declaração:
Dados Não-Numéricos
Tipos de dados não numéricos:
Caracter: formado pelas letras (de A a Z, e de a a z), dígitos
(de 0 a 9) e caracteres especiais (~, ., ?, >, <, ...);
A diferença entre caracteres e dados numéricos estão na
forma de armazenamento, e nas operações legais permitidas
sobre os mesmos;
Exemplo: operações aritméticas sobre os dados numéricos.
Algoritmos e Programação
Tipos de dados
Exemplo de dados do tipo literal:
Dados Não-Numéricos
Objetos declarados como do tipo caracter poderão
armazenar um ou mais caracteres;
Dados Não-Numéricos
Declaração:
Tipos de dados
Dados Lógicos (booleanos)
O tipo de dados lógico é usado para representar dois únicos
valores lógicos possíveis: verdadeiro e falso. É comum
encontra-se em outras referencias outros tipos de pares de
valores lógicos como sim/não, 1/0, true/false.
Dados Não-Numéricos
Tipos de dados
TIPO DESCRIÇÃO
Representa valores inteiros
Inteiro
Ex.: 2, 5, -3, 100, -151...
Representa valores reais
Real ou numerico
Ex.: 10.0, 5.6, -3.45....
Representa texto entre aspas duplas
Literal ou caractere
Ex.: “Sport Recife”, “B”, “1234”
Representa os valores lógicos
Logico
VERDADEIRO ou FALSO
Algoritmos e Programação
Tipos de dados
Exemplo:
algoritmo “dados”
fimalgoritmo
Algoritmos e Programação
Identificadores
Devem começar por um caractere alfabético.
Variáveis
Uma variável pode ser imaginada como um “depósito” para
armazenar valores de dados, para o qual existe um nome,
conhecido como identificador, e cujo o conteúdo pode ser alterado
pelo algoritmo.
Variáveis (cont´)
Para se declarar uma variável, segue-se o formato
abaixo:
<lista-de-variáveis> : <tipo-de-dado>
Exemplos:
Var
X: inteiro
Nome, Endereço, Data: caractere
ABC, XPTO, Peso, Dolar: real
Resposta, H286: logico
Algoritmos e Programação
Variáveis (cont´)
– Representa uma posição na memória, onde pode ser armazenado
um dado
– Possui um nome e um valor
– Durante a execução do algoritmo, pode ter seu valor alterado (seu
valor pode variar)
– Mudanças no valor das variáveis:
• Por entrada de dados (“Ler N1”)
• Por atribuição (“N2 14”)
39
Algoritmos e Programação
Operador de atribuição
Inicio
fimalgoritmo
Algoritmos e Programação
Variáveis (cont´)
Regras para identificação das variáveis:
Nomes de variáveis não podem ser iguais a palavras
reservadas;
Nomes de variáveis devem possuir como primeiro caractere
uma letra ou sublinhado (_). Os demais caracteres podem ser
letras, números ou sublinhado;
Nomes devem ter no máximo 127 caracteres;
Nomes não podem ter espaços em branco;
Não há diferença entre letras maiúsculas e minúsculas;
Algoritmos e Programação
Variáveis (cont´)
Cada variável utilizada em um algoritmo deve ter sido declarada
antes de ser utilizada pela primeira vez.
Algoritmo “exemplo”
fimalgoritmo
Algoritmos e Programação
Algoritmo “exemplo”
Inicio
fimalgoritmo
Algoritmos e Programação
Constantes
Uma constante faz exatamente o que o nome sugere: representa
um dado cujo valor não muda durante todo o algoritmo.
Exercícios
Classifique o conteúdo das variáveis abaixo de acordo
com seu tipo:
0 “abc” “João”
5.7 1012 FALSO
-49 342 569
“Lucas” “Verdadeiro” 0.00001
Verdadeiro “444” -78.1
Algoritmos e Programação
Exercícios
Classifique o conteúdo das variáveis abaixo de acordo
com seu tipo: RESPOSTAS
Relembrando ...
Exercícios
1. Classifique os dados especificados abaixo de acordo com seu tipo,
assinalando com I os dados do tipo inteiro, com R os reais, com L os
literais, com B os lógicos(booleanos), e com N aqueles para os quais
não é possível definir a priori um tipo de dado.
Exercícios (cont´)
2. Assinale os identificares válidos:
Exercícios (cont´)
3. Supondo que as variáveis NB, NA, NMat, SX sejam
utilizadas para armazenar a nota do aluno, o nome do
aluno, o número da matrícula e o sexo, declare-as
corretamente, associando o tipo primitivo adequado ao
dado que será armazenado.
Algoritmos e Programação
Exercícios (cont´)
4. Encontre os erros da seguinte declaração de variáveis:
Operadores
– Usados para incrementar, decrementar, comparar e avaliar dados, que
são operações básicas em processamento de dados.
– Tipos:
• Aritméticos (+, -, *, /, ** ou ^)
–Resultados numéricos
• Relacionais (>, <, >=, <=, ==, !=)
–Resultados lógicos (V ou F)
• Lógicos (&& - e, || - ou, ! - não)
–Combinam resultados lógicos
Algoritmos e Programação
Operadores Aritméticos
* multiplicação II
/ divisão II
+ adição III
- subtração III
X 1 + 7 * 2 ** 2 - 1
Exemplos:
Y 3*(1-2)+4*2
MEDIA = (N1+N2+N3+N4) / 4
Algoritmos e Programação
2.a+b 2*a+b
a.x2 a*x^2
a a/2+b
+b
2
a / (a + b) - (2 * (b + c))
2 1
4 3
5
Algoritmos e Programação
Operadores (cont´)
• Operadores relacionais são muito usados quando temos que tomar decisões
nos algoritmos. Com eles fazemos testes, comparações, que resultam em
valores lógicos (verdadeiro ou falso):
Exemplo:
tendo duas variáveis, A = 5 e B = 3:
==
!=
Algoritmos e Programação
Exercício
5) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os
valores abaixo, informe se as expressões são verdadeiras ou
falsas.
Algoritmos e Programação
Exercício (cont´)
a) (A+C) > B ( )
b) B >= (A + 2) ( )
c) C == (B –A) ( )
d) (B + A) <= C ( )
e) (C+A) > B ( )
Algoritmos e Programação
Exercício (cont´)
7) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo
são verdadeiras ou falsas.
Estrutura Seqüencial
Pseudocódigo Linguagem C
Início main( ) {
d1; d1;
d2; d2;
. .
. .
dn; dn;
Fim }
Algoritmos e Programação
Exercício
Exercício (cont´)
Exercício (cont´)
3. Tendo como entrada o total vendido por um funcionário no
mês de abril, faça um algoritmo que mostre a sua comissão e
salário bruto neste mês, sabendo que o seu salário base é
R$1.200,00 e sua comissão é de 10% sobre o total vendido.
Algoritmos e Programação
Exercício (cont´)
4. Entre com a base e a altura de um retângulo e mostre os
resultados:
• Perímetro (Perímetro é igual à soma dos 4 lados)
• Área (Área é igual à lado vezes lado)
Referências
1. Machado, A.F. da V. “Algoritmos e Estruturas de Dados”.
(disponível na web)
2. Antunes, L. “Introdução à Computação - Algoritmos”.
(disponível na web)
3. S/N. “Algoritmo I”. Instituto Federal do Rio Grande do Sul.
(disponível na web)
4. Farias, T.M.T. de. “Algoritmos e Programação”. (disponível na
web)