Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e...

Post on 07-Apr-2016

228 views 11 download

Transcript of Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e...

Algoritmo e Estrutura de Dados I

Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções

Márcia Marramarsha@dcc.ufmg.br

2

Constantes

• Determinado valor fixo que não se modifica ao longo do tempo, durante execução do programa.– Numérica– Lógica– Literal

3

Constante Numérica

• É feita no sistema decimal, podendo ser um número com ou sem parte fracionária.25 3,14 139 25,4

• É permitida a existência de constantes com parte exponencial7,8 x 103 2,5 x 105

• Pode ser positiva ou negativa de acordo com o sinal-315 +15 15 0,342

4

Constante Lógica

• É um valor lógico, que pode ser falso ou verdadeiro;

• São usados em proposições lógicas;• Existem apenas duas constantes deste

tipo, sendo representados pelas palavras:– falso– verdadeiro

5

Constante Literal

• Qualquer seqüência de caracteres (letras, dígitos ou símbolos especiais) que tenha significado para o problema;

• Deve ser colocada entre aspas para que não seja confundida com outro símbolo.“José da Silva” “Mensagem”“12345” “X1Y2W3”“*A!B?-” “23/09/1955”

6

Variáveis

• Corresponde a uma posição de memória cujo conteúdo pode variar ao longo do tempo durante a execução de um programa.

• Só pode armazenar um valor a cada instante.

• Toda variável é identificada por um nome ou identificador.

7

Identificador

• É formado por um ou mais caracteres:– O primeiro caractere deve ser obrigatoriamente

uma letra;– Os demais caracteres podem ser letras ou

dígitos, não sendo permitido o uso de símbolos especiais.

A NOTA 5B A32BA:B X5 F1G3H5 B*DMATRICULA ENDERECO

8

Declaração de Variáveis

• Variáveis só podem armazenar valores de um mesmo tipo

• Declaração de variáveis:– Indica o tipo de uma ou mais variáveis;– Associa o identificador (nome escolhido) à

posição de memória que ele irá simbolizar.• Uma vez declarada a variável, qualquer

referência ao identificador implica em uma referência ao conteúdo do local da memória.

9

Declaração de Variáveisdeclare lista-de-identificadores nome-do-tipo

– declare• palavra-chave do algoritmo;

– lista-de-identificadores: • Nomes escolhidos para as variáveis, que devem ser

separados por virgulas; – nome-do-tipo:

• Indica o tipo associado as variáveis e pode ser numérico, lógico ou literal.

declare NOTA, CODIGO, X5 numéricodeclare TESTE, SIM lógicodeclare NOME, END1, END2 literal

10

Nomes de Identificadores

VALOR NOMEDAEMPRESAX2 AH!3x4 B248XYZ KM/H“NOTA” SALA1020SALÁRIO-LIQUIDO TURMA_DNOTA*DO*ALUNO M{A}MARIA CASA/APTO

11

Comentários• Texto ou frase que aparece delimitado por

chaves no algoritmo {comentário}• Ajuda na clareza do algoritmo, ou seja, facilidade

de entendimento do algoritmo.

declare MAT, {número de matrícula do aluno} NOTA, {total de pontos do aluno} COD {código do curso} numérico

declare NOME, {nome completo do aluno} END, {endereço do aluno} C {conceito final} literal

12

Expressões Aritméticas

• Expressão cujos– Operadores são aritméticos;– Operandos são constantes e/ou variáveis do

tipo numérico. • Conjunto de operações adotados:

– Adição - Divisão– Subtração - Potenciação– Multiplicação - Radiciação

13

Exemplos de Exp AritméticasX + Y X – Y 2 X NOTATOTAL / N √P SOMA2

A X B + C TOT / M + KY

Prioridade Operação1a. Potenciação, radiciação2a. Multiplicação, Divisão3a. Adição, Subtração

A – B x (C + D / (E – 1) – F ) + G

14

FunçõesNome Resultado

LOG(EA) Logaritmo na base 10 de EALN (EA) Logaritmo neperiano de EAEXP (EA) Número e (base dos logaritmos neperianos)

elevado a EAABS (EA) Valor absoluto de EATRUNCA (EA) A parte inteira de um número fracionárioARREDONDA (EA) Transforma, por arredondamento, um número

fracionário em inteiroSINAL (EA) Fornece o valor -1, +1 ou zero conforme o valor

de EA (negativo, positivo ou zero).QUOCIENTE (EAx, EAy)

Quociente inteiro da divisão de EAx por EAy

RESTO (EAx, EAy) Resto da divisão de EAx por EAy

15

Valores de Exp Aritméticas

• Sendo P, Q, R e S variáveis do tipo numérico cujos conteúdos são 2, 3, 12 e 4,5 quais valores de cada uma das EAs:– 100 x QUOCIENTE (Q,P) + R– P x RESTO (R,5) – Q / 2– RESTO (S, P+1) – Q x R– 1 + QUOCIENTE(R + S, Q2) x SINAL(2 x P x

Q – R)– P + ARREDONDA(2,9 + TRUNCA (0,3 + S) x

2)

16

Expressões Lógicas

• Expressões cujos:– Operadores são lógicos– Operandos são relações, constantes e/ou

variáveis do tipo lógico.• Relações:

– Comparação realizada entre dois valores do mesmo tipo básico.

– Os valores comparados são representados por constantes, variáveis ou expressões aritméticas.

17

Operadores RelacionaisIgual a = Menor que <Diferente de ≠ Maior ou igual que ≥Maior que > Menor ou igual que ≤

Variáveis RelaçõesX Y Z COR NOME X2+Y ≥ Z COR = “AZUL” NOME ≠ “JOSÉ”

1411

2312

5121

“AZUL”“VERDE”

“BRANCO”“AZUL”

“PAULO”“JOSÉ”

“PEDRO”“JOSÉ”

FVFV

VFFV

VFVF

18

Operadores Lógicos

• Três conectivos são utilizados na formação de novas proposições a partir de outras já conhecidas – e para conjunção– ou para disjunção– não para negação

• Neste contexto, a proposição é considerada como uma variável lógica, uma relação ou uma expressão lógica composta.

19

Conjunção: a b• Sejam as seguintes proposições:p: OK, onde OK é uma variável lógica cujo conteúdo é

verdadeiro.q: A = 0, onde o valor de A é 3.r: TESTE, onde TESTE é uma variável lógica cujo

conteúdo é falso.s: B ≠ 1, onde o conteúdo de B é 2.

Avalie:p s q sp r q r

20

Disjunção: a b / Negação: a • Avalie:p s q sp r q r p r s q

Prioridade das operaçõesaritméticorelacionalnãoeou

21

Expressões literais

• Expressões cujos:– Operadores são operadores literais– Operandos são constantes e/ou variáveis do

tipo literal• Operador concatenação:

– Fornece com resultado um único literal formado pelo conteúdo de A seguido pelo conteúdo de B.

A B

22

Exemplo de concatenação

• Supondo que as variáveis contenham os valores:– A “BENS”– B “!”– C “PARA”

• Quais valores assumiriam as expressões?– A B C– A C B– C A B

23

Comando de AtribuiçãoIdentificador expressão

– Permite que se forneça um valor a uma certa variável;

– O valor tem que ser compatível com o tipo da variável;

K 1COR “Verde”TESTE falsoMEDIA SOMA / NSIM X = 0 e Y ≠ 2A B

24

Comando de AtribuiçãoSendo:

SOMA, NUM, X variáveis numéricasNOME, COR, DIA variáveis literaisTESTE, COD, TUDO variáveis lógicas

NOME 5SOMA NUM + 2 x XTESTE COD ou X2 ≠ SOMATUDO SOMACOR “PRETO” – XX X + 1NUM “ABC”DIA “Segunda”SOMA + 2 X2 - √NUMX NOME ≥ COD

25

Comandos de Entrada e Saída

• Comandos que permitem ao programa interagir com o mundo real

• leia lista-de-identificadores– leia:

• Palavra chave– lista-de-identificadores:

• Nome das variáveis nas quais são armazenados os valores provenientes do meio de entrada

• Exemplo de entrada:leia NOTA, SUM

26

Comandos de Entrada e Saída

• escreva lista-de-identificadores e/ou constantes– escreva:

• Palavra-chave– lista-de-identificadores:

• Nomes das variáveis cujos conteúdos serão mostrados aos usuários através de um meio de saída. O valor de uma constante também pode ser escrito

• Exemplo de saída:escreva A, X, 35

27

Exemplo de Entrada

declare A, B, C literaldeclare X, Y, Z numéricoleia A, X, B, Y, C, Z

Paulo 100

Maria 75

José 80

Paulo Maria José

100 75 80

A B C

X Y Z

28

Exemplo de Saída escreva A, X, B, Y, C, A

escreva A, Xescreva B, Yescreva C, A

escreva Aescreva Xescreva Bescreva Yescreva Cescreva A

José 80 Maria 75 Paulo 100

José 80

Maria 75

Paulo 100

José

80

Maria

75

Paulo

100

29

Estrutura Seqüencial de um Algoritmo

Algoritmo d1

d2

: : dn

c1

c2

: : cn

fim algoritmo

c1

c2

cn

.

.

.

30

Exemplo

Algoritmodeclare A,B,C numéricoleia A,BC (A + B) x Bescreva A,B,C

fim algoritmo

leia A,B

C (A + B) x B

escreva A,B,C