Algoritmos e T
écnicas
- Identificadores
Linguagem Algor
í
tmica
Conceitos b
á
sicos:
– Identificadores e Palavras Reservadas
– Tipos de Dados
– Variável e Constante
– Expressões
– Operadores
– Sintaxe e Semântica
– Instruções Primitivas
– Estrutura de seqüência
– Estruturas de Decisão
– Estruturas de Repetição
Serão estudados
Serão estudados
neste aula
neste aula
Serão estudados
Serão estudados
nas pr
nas pr
ó
ó
ximas aulas
ximas aulas
Identificadores e Palavras
Reservadas
Identificadores:
–
S
ão nomes únicos definidos pelos
programadores para identificar/distinguir os
elementos de um algoritmo.
Palavras Reservadas
–
S
ão instruções primitivas que têm
significados pr
é
-determinados e fazem parte
da estrutura de qualquer linguagem de
programa
ção.
Identificadores e Palavras
Reservadas
tan ou fimrepita cronometro timer numpcarac fimprocedimento cotan senao numerico fimpara cos sen nao fimfuncao copia se minusc fimescolha compr repita mensagem fimenquanto caso randi maiusc fimalgoritmo caracter rand logn falso ate raizq logico faca asc radpgrau log exp arquivo quad literal escreva arctan procedimento leia escolha arcsen pos interrompa entao arccos pi int enquanto algoritmo pausa inicio eco abs passo grauprad e aleatorio PALAVRAS RESERVADASNomes de Identificadores
Algumas
regras
para
os
nomes
de
Identificadores:
– 1) Devem começar por um caractere alfabético.
– 2) Podem ser seguidos por mais caracteres alfabéticos e/ou numéricos.
– 3) Não épermitido o uso de espaço em branco ou de caracteres especiais, como: @, #, &, *, +, ?,$ (exceto o _ ).
– 4) Não poderáser uma palavra reservada a uma instrução do algoritmo.
– 5) Devem ser significativos.
– 6) Não podem ser repetidos dentro de um mesmo algoritmo/sub -algoritmo.
Atividade 2
Identifique
os
erros
e
reescreva
os
identificadores abaixo:
– vm
– 13salário
– salário$
– salário_mínimo
– salário+reajuste – novoSalário – fumante? – preço médio – %desconto – km/h
Atividade 2 - Respostas
Identifique
os
erros
e
reescreva
os
identificadores abaixo:
– vmsem significado valor_médio
– 13salário não começa com caractere alfabéticosalário13
– salário$ usa caractere especial salário
– salário_mínimo correto
– salário+reajuste usa caractere especial salário_reajustado
– novoSaláriocorreto
– fumante? usa caractere especial fumante
– preço médio tem espaço em branco preço_médio
– %desconto não começa com caractere alfabético percentual_desconto
– km/h - usa caractere especial km_por_hora
Tipos de Dados
Uma das principais funcionalidades de
um computador
é a manipulação de
informa
ções
Por isso,
é necessário que haja formas
de se trabalhar com diferentes tipos de
dados em um programa.
Tipos de Dados
Podemos definir um tipo de dados
como um
conjunto de objetos que
conjunto de objetos que
tem em comum o mesmo
tem em comum o mesmo
comportamento
comportamento
diante
de
um
conjunto definido de opera
ções
Ex.: Seres humanos: comem, dormem,
andam, etc
avi
ões: voar, decolar, pousar, etc.
Tipos de Dados
Infelizmente
as
linguagens de
linguagens de
programação são limitadas
programação são limitadas
e n
ão
podem manipular todos os tipos de
dados existentes no mundo real.
Por isso, a constru
ção de algoritmos
para
computador
deve
lidar
exclusivamente com os tipos
exclusivamente com os tipos
definidos
definidos
nas
linguagens
de
programa
ção
Tipos de Dados
Os dados s
ão classificados em:
1. Numéricos
: 1500; -230; 23.4; etc.
O qual divide-se em:
Inteiros ou n
úmero de ponto fixo
1500; -230
Real ou n
úmero de ponto flutuante
23.4; -32.6; 10.0
Tipos de Dados
2. Literais
: chamados, tamb
ém,
“alfanuméricos”, “cadeia de
caracteres
” ou “
strings
”.
S
ão sempre representados, nos
algoritmos, entre aspas.
Tipos de Dados
3. Lógicos
: chamados, tamb
ém,
booleanos
S
ão oriundos da lógica matemática ou
l
ógica de
Boole*
Representado por apenas dois valores
com significados opostos:
1 e 0 ou Verdadeiro (V) e Falso (F).
1 e 0 ou Verdadeiro (V) e Falso (F).
* George Boole - Matemático considerado um dos formuladores da
lógica matemática.
Tipos de Dados
As fases de Entrada, Processamento e
Sa
í
da podem manipular v
á
rios tipos
primitivos de dados, a saber:
Obs:
Lembre
Lembre
-
-
se
se
um caractere
SEMPRE
SEMPRE
deve
estar entre
“
“
”
”
EX: “A”, “Fone 3333-33333”, “1”,
Tipo Primitivo Descrição
Inteiro Representa o conjunto de números inteiros Real Representa o conjunto de números reais Caracter Representa um ou mais caracteres do teclado.
Atividade 3
Classifique os dados de acordo com o
seu tipo, sendo (I = Inteiro, R = Real,
C = Caractere e L = L
ó
gico):
d( ) F h( ) -1 l ( ) “.F.” p( ) 7/2 t ( ) -32 z( ) “0” c( ) 0,325 g( ) “+3257” k( ) “-0,0” o( ) “.V.” s( ) V x( ) -1,9E123 b( ) + 36 f( ) “F” j( ) - 0,001 n( ) + 0,05 r( ) + 3257 v( ) “abc” a( ) 0 e( ) 1 i ( ) 0,0 m( ) “o” q( ) 32 u( ) “A”Atividade 3 - respostas
Classifique os dados de acordo com o
seu tipo, sendo (I = Inteiro, R = Real,
C = Caractere e L = L
ó
gico):
d( L) F h( I) -1 l ( C) “.F.” p( R) 7/2 t ( I) -32 z( C) “0” c( R) 0,325 g( C) “+3257” k( C) “-0,0” o( C) “.V.” s( L) V x( R) -1,9E123 b( I) + 36 f( C ) “F” j( R) - 0,001 n( R) + 0,05 r(I) + 3257 v( C) “abc” a( I) 0 e( I) 1 i ( R ) 0,0 m(C) “o” q( I) 32 u( C) “A”Constante e Vari
á
vel
Vimos que, tipos s
ão conjuntos que
cont
êm
elementos
com
um
comportamento comum.
Entretanto, na maioria das vezes,
precisamos
utilizar
os
elementos
individualmente.
Ser Humano:
Jo
Jo
ão
ão
Carro:
Placa KKK 3333
Placa KKK 3333
Constante e Vari
á
vel
Em um computador, manipulamos
informa
ções que,
durante a execu
ção
de um programa, ficam armazenadas
temporariamente em mem
ória.
Essas informa
ções, num nível maior de
abstra
ção,
são
os
elementos
elementos
pertencentes aos tipos.
pertencentes aos tipos.
Vari
áveis e constantes são repositórios
de elementos pertencentes aos tipos.
Constante e Vari
á
vel
Constante
Constante
é
um identificador que
representa valores constantes, ou seja,
que n
ão variam no decorrer do algoritmo.
–
Seu uso poupa tempo quando tem que alterar
o seu valor no algoritmo.
Ao trocar o valor de uma constante, todas as instruções que a usam irão manipular,
automaticamente, o novo valor.
Constante e Vari
á
vel
A declara
ção de uma constante é
feita da
seguinte forma:
Constante <identificador1> = <valor1>; <identificador2> = <valor2>;
...
Vari
á
vel e Constante
Vari
á
vel
é
um
endere
ç
o f
í
sico
da mem
ó
ria
principal, que
é
representado por um
identificador
que, ao longo do seu tempo de
exist
ência, pode armazenar vá
rios
conte
ú
dos
de um
ú
nico
tipo
pr
é
-determinado.
EndereçoFísico Identificador Conteúdo Tipo
1000:2000 Nome “João” Caracter
2001:3000 RG 12345 Inteiro 3001:4000 Salário 999,99 Real 4001:5000 Fumante F Lógico
Constante e Vari
á
vel
A declara
ção de uma variá
vel
é
feita da
seguinte forma:
Var <lista_de_variáveis1> : <tipo1>; <lista_de_variáveis2> : <tipo2>; ou <tipo> : <lista_de_variáveis> DECLARE Inteiro a Real x,y
Real nota1, nota2, media1, notaRecuperacao, media2 Booleano sexo
Vari
á
vel e Constante
Simplificando...
–
Considere que a mem
ó
ria principal do seu
computador
é
um arm
á
rio, onde cada gaveta
é
a uma vari
á
vel.
Vari
á
vel e Constante
Declara
ção de Constantes
–
<nome da constante> = <valor>;
– • • •
–
<nome da constante> = <valor>;
Declara
ção de Variá
veis
–
<
tipo de dado
:><
var1, ..., varN
>;
– • • •
Vari
á
vel e Constante
Exemplos corretos:
– VAR
– Real: notaMédia, Salário;
– Inteiro: contador;
– Lógico: achou;
– Caractere: nome, sexo;
– CONST
– PI = 3.1416 ;
– MAX = 10 ;
– OK = V;
– País = “Brasil”;
Vari
á
vel e Constante
Exemplos incorretos:
– VAR
– Real: achou?, 13°Salário;
– Inteiro: #contador;
– Lógico: sobre nome;
– Caractere: primeira nota, masculino/feminino;
– CONST
– _PI = 3.1416 ;
– Km/h = 80 ;
– OK! = V;
Atividade 4
1) Escreva a declara
ção das variá
veis abaixo:
a) dólar b) sexo c) cpf d) nota e) idade f) fumante g) raça h) quantidade i) média j) escolaridade k) universitário
Express
ões
Uma express
ão é
uma f
ó
rmula para
processamento de um valor.
As principais express
ões são as seguintes:
– Aritméticas: Retornam um valor numérico (inteiro ou real). EX: 10+(3+1)/2
– Lógicas: Retornam um valor lógico V ou F. EX: (3=2+1) e (3>2)
Obs: Ter aten
ção com as prioridades dos
operadores !
– 3+2*2 = 7
Express
ões
Express
ões consistem de
operandos e
operadores.
– Operandos são os elementos de uma expressão que sofrem uma ação.
• Ex: variáveis, constantes ou outras expressões.
– Operadores são os elementos de uma expressão que realizam a ação.
EX: aritméticos, lógicos e relacionais.
– Na expressão 3 + 2 = 5, temos “3, 2 e 5”como operandos e “+ e =”como operadores.
Operadores
Os operadores podem ser classificados em:
– Binários: atuam sobre dois operandos. Ex: operadores aritméticos básicos (+ - * /)
– Unários: atuam sobre um único operando. Ex.: o sinal de (-) na frente de um número para inverter seu sinal.
Tipos de operadores da nossa linguagem:
– Atribuição
– Aritméticos
– Relacionais
Operadores
Atribui
ção
: serve para atribuir um valor a
uma vari
á
vel.
Operador de atribui
ção “ ”
–
EX:
Nome “Um nome”;
Idade 18;
Casado F;
Salário 500,50;
–
A express
ão do lado direito do operador é
avaliada e seu resultado
é
armazenado na
vari
á
vel
à
esquerda. Obs: A express
ão deve
retornar o mesmo tipo da vari
á
vel !
Operadores
Aritm
é
ticos:
s
ão as operações aritmé
ticas
b
á
sicas
Operador Tipo Operação Prioridade - Unário Inversão do Sinal 1 + Unário Manutenção do Sinal 1 RAD(x) Binário Radiciação 2 POT(x,y) Binário Potenciação 2 DIV Binário Quociente da Divisão Inteira 3 MOD Binário Resto da Divisão Inteira 3 / Binário Divisão 3 * Binário Multiplicação 3 Orde m p rio rid ad e Maior
Operadores
Exemplos:
Operador Operação Exemplo Resultado
+ Adição 4+3 7
- Subtração 4-3 1
* Multiplicação 4*3 12
/ Divisão 4/3 1,33
MOD Resto da Divisão Inteira 4 MOD 3 1 DIV Quociente da Divisão Inteira 4 DIV 3 1 POT(x,y) Potenciação POT (4,3) 64
RAD(x) Radiciação RAD(4) 2 + Manutenção do Sinal +- 4 - 4
- Inversão do Sinal -- 4 +4
Operadores
Relacionais: são operadores binários (de mesma prioridade) que somente retornam os valores lógicos V ou F.
Estes somente são usados para efetuar comparações, as quais só podem ser feitas entre dados do mesmo tipo.
O resultado de uma comparação ésempre um valor lógico.
Operador Comparação > maior que < menor que >= maior ou igual <= menor ou igual = igual <> diferente
Operadores
Operador Comparação Exemplo Resultado > maior que 4>3 V < menor que 4<3 F >= maior ou igual 4>=3 V <= menor ou igual 4<=3 F = igual 4=3 F <> diferente 4<>3 V
Exemplos:
Operadores
L
ó
gicos
ou
Booleanos
: s
ão usados para
combinar express
ões relacionais e ló
gicas.
Tamb
é
m retornam como resultado valores
l
ó
gicos V ou F.
Operador Tipo Operação Prioridade
NÃO Unário Negação 1
E Binário Conjunção 2 OU Binário Disjunção 3 Or de m pr io rid ad e Maior Menor
Operadores
Operador Operação Exemplo Resultado
OU Disjunção V ou F V
E Conjunção V e F F
NÃO Negação Não V F
Exemplos:
Operadores
Ordem de prioridades
Observa
ções:
– Operadores de igual prioridade, execução da esquerda para direita.
– Para alterar a ordem de prioridade, utilizar parênteses. Operador Prioridade Aritméticos 1 Relacional 2 Lógico 3 Or de m pr io rid ad e Maior Menor
AMBIENTES/LINGUAGENS DE
PROGRAMAÇÃO
Printf Scanf Boolean Double Int Char } { C Write Read Boolean Real Integer Char End Begin Var PASCAL println Escreva scanner Leia boolean Lógico double; float Real int; long Inteiro char Caracter } Fim { Início declare Java LAAtividade 5
1) indique qual o resultado ser
á
obtido das
seguintes express
ões:
a)
1 / 2
b)
1 DIV 2
c)
1 MOD 2
d)
( 200 DIV 10 ) MOD 4
e) POT
(
5,2) + 3
f)
RAD(25)+19-23
g) 3,0* 5,0 +1
h) 1/4+2
i)
28,0/7+4
Atividade 5
2) Indique o resultado das seguintes expressões: a) 2 > 3
b) ( 6 < 8 ) OU ( 3 > 7 )
c) ((( 10 DIV 2 ) MOD 6 ) > 5 ) E ( 3 < ( 2 MOD 2 ) ) d) NÃO ( 2 < 3 )
3) Escreva o comando de atribuição e resolva a expressão das seguintes fórmulas matemáticas.
a) onde A= 2, B= 6, C=3, D=4, E=8, F=4 b) onde x=2 FE D CB A X X X X X X X Y 2 2 2 3 2 2 1
Atividade 5
4)Para cada linha informar o valor da expressão e das variáveis. X 5; Y 1; Z 3; X 5 + Y * Z; Z X; Y Z ; Y = X ; Z X+Y/2**2; X Z; Z Y; X=Y; Z>X; Y<Z;
5) Se X possui o valor 15 e foram executadas as seguintes instruções:
X X + 3; X X –6; X X / 2; X 3 * X; X X-X+X*X/X
Exemplos de Algoritmos
Somar dois n
úmeros a e b
Somar dois n
úmeros a e b
Algoritmo Soma Declare a, b, resultado: inteiro Início Ler(a) Ler(b) resultado ← a+b
escrever (“A soma foi:” + resultado)
Fim
Calcular a m
édia do semestre.
Exemplos de Algoritmos
Calcular a m
édia do semestre.
Algoritmo Media
Declare
nota1, nota2, media: real
Início
Ler(nota1) Ler(nota2)
media ← (nota1 * 2 + nota2 * 3) / 5 Escrever (“A media final foi:” + media) Fim
1. Um trabalhador recebeu seu sal
ário e
o depositou em sua conta corrente
banc
ária. Esse trabalhador emitiu dois
cheques e agora deseja saber seu
saldo
atual.
Sabe-se
que
cada
opera
ção bancária de retirada paga
CPMF de 0,38% e o saldo inicial da
conta est
á zerado.
Exerc
ício
1. Resposta
Algoritmo Saldo
Declare
real sal, chq1, chq2, cpmf1, cpmf2, saldo
Início Ler(sal) Ler(chq1) Ler(chq2) cpmf1←chq1 x 0.38 / 100 cpmf2←chq2 x 0.38 / 100 saldo ← sal – (chq1 + chq2 + cpmf1 + cpmf2) Escrever(“O saldo total:”,+saldo)
Fim
2. Desenvolver algoritmo que resolva os
seguintes problemas:
a. Francisco comprou um saco de ração com peso em quilos. Ele possui dois cães para os quais fornece a quantidade de ração em gramas. Fazer um programa que receba o peso do saco de raçãoe a quantidade fornecida para cada cão e calcular para quantos dias o saco de ração é sufuciente.
Exerc
ício
2. Desenvolver algoritmo que resolva os
seguintes problemas:
b. Construa um algoritmo que calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, em que são fornecidos a altura e o raio do cilindro. Sabendo que:
– A lata de tinta custa 50,00;
– Cada lata contém5 litros;
– Cada litro de tinta pinta 3 metros quadrados
Resposta 2a:
Utilizando o planejamento reverso:
– Custoé dado por qtd de latas * 50,00
– Qtde de latas = qtde total de litros/5
– Qtde total de litros = area do cilindro/3
– Area do ciindor = area da base + area lateral
– Area da base = PI*pot(R,2)
– Area lateral = altura * comprimento: 2* PI*R*H
– Sendo que R(raio) e H(altura) são dados de entrada e PI é uma constante
Exerc
ício
Resposta 2b:
Algoritmo Qtd-latas-tinta
Declare
H, R, C, Qtde, Area, Litro: Real
Início Leia(H,R) Area <- (Pi*pot(R,2))+(2*Pi*R*H) Litro<- Area/3 Qtde <- Litro/5 C <- Qtde*50,00
Escreva (“O custo é RS”, C, “e a qtde é ”, Qtde)