algoritmos e t -identificadores · 3 nomes de identificadores algumas regras para os nomes de...

26
1 Algoritmos e TØcnicas - Identificadores Linguagem Algortmica Conceitos bÆsicos: Identificadores e Palavras Reservadas Tipos de Dados VariÆvel e Constante Expressıes Operadores Sintaxe e Semntica 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 prximas aulas ximas aulas

Upload: truongtuyen

Post on 01-Dec-2018

223 views

Category:

Documents


0 download

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