algoritmo e estrutura de dados i aula 3 – estrutura seqüencial, entrada e saída, atribuições e...
TRANSCRIPT
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]
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