algoritmo e estrutura de dados i aula 3 – estrutura seqüencial, entrada e saída, atribuições e...

30
Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra [email protected]

Upload: joao-batista-palmeira-de-escobar

Post on 07-Apr-2016

228 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

Algoritmo e Estrutura de Dados I

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

Márcia [email protected]

Page 2: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@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

Page 3: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 4: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 5: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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”

Page 6: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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.

Page 7: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 8: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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.

Page 9: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 10: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

10

Nomes de Identificadores

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

Page 11: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 12: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 13: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 14: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 15: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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)

Page 16: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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.

Page 17: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 18: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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.

Page 19: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 20: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 21: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 22: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 23: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 24: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 25: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 26: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 27: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 28: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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

Page 29: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

29

Estrutura Seqüencial de um Algoritmo

Algoritmo d1

d2

: : dn

c1

c2

: : cn

fim algoritmo

c1

c2

cn

.

.

.

Page 30: Algoritmo e Estrutura de Dados I Aula 3 – Estrutura Seqüencial, Entrada e Saída, Atribuições e Uso de Funções Márcia Marra marsha@dcc.ufmg.br

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