algoritmos e t -identificadores · 3 nomes de identificadores algumas regras para os nomes de...
TRANSCRIPT
1
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 estudadosSerão estudadosneste aulaneste aula
Serão estudadosSerão estudadosnas prnas próóximas aulasximas aulas
id263221873 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com
2
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
xouparafunçãodeclare
verdadeirooutrocasofimsedebug
tanoufimrepitacronometro
timernumpcaracfimprocedimentocotan
senaonumericofimparacos
sennaofimfuncaocopia
seminuscfimescolhacompr
repitamensagemfimenquantocaso
randimaiuscfimalgoritmocaracter
randlognfalsoate
raizqlogicofacaasc
radpgraulogexparquivo
quadliteralescrevaarctan
procedimentoleiaescolhaarcsen
posinterrompaentaoarccos
piintenquantoalgoritmo
pausainicioecoabs
passograupradealeatorio
PALAVRAS RESERVADAS
3
Nomes 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
4
Atividade 2 - Respostas
Identifique os erros e reescreva os identificadores abaixo:� vm sem significado valor_médio
� 13salário não começa com caractere alfabético salário13
� salário$ usa caractere especial salário
� salário_mínimo correto
� salário+reajuste usa caractere especial salário_reajustado
� novoSalário correto
� 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.
5
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 comportamentocomportamento diante de um conjunto definido de operaçõesEx.: Seres humanos: comem, dormem,
andam, etcaviões: voar, decolar, pousar, etc.
Tipos de Dados
Infelizmente as linguagens de linguagens de programação são limitadasprogramaçã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 definidosdefinidos nas linguagens de programação
6
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.Ex.: �UFRN� �21/03/2006��UFRN� �21/03/2006�
7
Tipos de Dados
3. Lógicos: chamados, também, booleanosSã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: LembreLembre--sese um caractere SEMPRESEMPRE deveestar entre �� ��EX: �A�, �Fone 3333-33333�, �1�,
Tipo Primitivo DescriçãoInteiro Representa o conjunto de números inteirosReal Representa o conjunto de números reais
Caracter Representa um ou mais caracteres do teclado.
Lógico valor lógico (V ou F).Representa um
8
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( ) -1l ( ) �.F.�p( ) 7/2t ( ) -32z( ) �0�
c( ) 0,325g( ) �+3257�k( ) �-0,0�o( ) �.V.�s( ) V x( ) -1,9E123
b( ) + 36f( ) �F�j( ) - 0,001n( ) + 0,05r( ) + 3257v( ) �abc�
a( ) 0e( ) 1i ( ) 0,0m( ) �o�q( ) 32u( ) �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 ) -1l ( C ) �.F.�p( R ) 7/2t ( I ) -32z( C ) �0�
c( R ) 0,325g( C ) �+3257�k( C ) �-0,0�o( C ) �.V.�s( L ) V x( R ) -1,9E123
b( I ) + 36f( C ) �F�j( R ) - 0,001n( R ) + 0,05r( I ) + 3257v( C ) �abc�
a( I ) 0e( I ) 1i ( R ) 0,0m(C ) �o�q( I ) 32u( C ) �A�
9
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ãoJoãoCarro: Placa KKK 3333Placa 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.
10
Constante e Variável
ConstanteConstante é 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>;
...<identificador N> = <valor N>;
11
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údosde um único tipo pré-determinado.
Endereço Fí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>
DECLAREInteiro aReal x,yReal nota1, nota2, media1,
notaRecuperacao, media2Booleano sexoString Nome5, p
12
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>;� � � �� <tipo de dado:><var1, ..., varN>;
Obs: Declarar as constantes antes das variáveis
13
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;� País Padrão = �Brasil�
14
Atividade 4
1) Escreva a declaração das variáveis abaixo:a) dólarb) sexoc) cpfd) notae) idadef) fumanteg) raçah) quantidadei) médiaj) escolaridadek) 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
� (3+2)*2 = 10 Use corretamente os parênteses!
15
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� Lógicos ou Booleanos
16
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
- Binário Subtração 4
+ Binário Adição 4
Ord
em p
riorid
ade
Maior
Menor
17
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
18
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
Ord
empr
iorid
ade
Maior
Menor
19
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
Ord
empr
iorid
ade
Maior
Menor
20
AMBIENTES/LINGUAGENS DE PROGRAMAÇÃO
Printf
Scanf
Boolean
Double
Int
Char
}
{
C
Write
Read
Boolean
Real
Integer
Char
End
Begin
Var
PASCAL
printlnEscreva
scannerLeia
booleanLógico
double; floatReal
int; longInteiro
charCaracter
}Fim
{Início
declare
JavaLA
Atividade 5
1) indique qual o resultado será obtido das seguintes expressões: a) 1 / 2b) 1 DIV 2c) 1 MOD 2d) ( 200 DIV 10 ) MOD 4e) POT(5,2) + 3f) RAD(25)+19-23g) 3,0* 5,0 +1h) 1/4+2i) 28,0/7+4j) 3/6,0-7
21
Atividade 5
2) Indique o resultado das seguintes expressões: a) 2 > 3b) ( 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=4b) onde x=2
FEDCBA
X
X
X
XXXX
Y2
2232 12
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
Qual será o valor armazenado em X?
22
Exemplos de Algoritmos
Somar dois números a e b
Somar dois números a e bAlgoritmo SomaDeclare
a, b, resultado: inteiroInício
Ler(a)Ler(b)resultado ← a+bescrever (�A soma foi:� + resultado)
Fim
Exemplos de Algoritmos
23
Calcular a média do semestre.
Exemplos de Algoritmos
Calcular a média do semestre.Algoritmo MediaDeclare
nota1, nota2, media: realInício
Ler(nota1)Ler(nota2)media ← (nota1 * 2 + nota2 * 3) / 5Escrever (�A media final foi:� + media) Fim
Exemplos de Algoritmos
24
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 SaldoDeclare
real sal, chq1, chq2, cpmf1, cpmf2, saldoInício
Ler(sal)Ler(chq1)Ler(chq2)cpmf1←chq1 x 0.38 / 100cpmf2←chq2 x 0.38 / 100saldo ← sal � (chq1 + chq2 + cpmf1 + cpmf2)Escrever(�O saldo total:�,+saldo)
Fim
Exercício
25
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 quaisfornece a quantidade de ração em gramas. Fazer um programa que receba o peso do sacode ração e a quantidade fornecida para cada cãoe 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 parapintar tanques cilíndricos de combustível, emque são fornecidos a altura e o raio do cilindro. Sabendo que:� A lata de tinta custa 50,00;
� Cada lata contém 5 litros;
� Cada litro de tinta pinta 3 metros quadrados
Exercício
26
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-tintaDeclare
H, R, C, Qtde, Area, Litro: RealInício
Leia(H,R)Area <- (Pi*pot(R,2))+(2*Pi*R*H)Litro<- Area/3Qtde <- Litro/5
C <- Qtde*50,00Escreva (�O custo é RS�, C, �e a qtde é �, Qtde)
Fim
Exercício