Download - Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

Transcript
Page 1: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 2: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 3: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 4: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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.

Page 5: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 6: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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�

Page 7: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 8: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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�

Page 9: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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.

Page 10: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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>;

Page 11: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 12: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 13: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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�

Page 14: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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!

Page 15: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 16: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 17: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 18: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 19: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 20: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 21: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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?

Page 22: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 23: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 24: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 25: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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

Page 26: Algoritmos e T -Identificadores · 3 Nomes de Identificadores Algumas regras para os nomes de Identificadores: Œ1) Devem começar por um caractere alfabØtico. Œ2) Podem ser seguidos

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