Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação de Computadores Algoritmos - Parte 1 Prof. Dr. Erivelton Geraldo Nepomuceno Depto. Engenharia Elétrica Sala 4.23 EL – Prédio do DEPEL http://www.ufsj.edu.br/nepomuceno nepomuceno@ufsj.edu.br 1/26 PORTUGOL: CONCEITOS, REGRAS E CONVENÇÕES 2/26 Constante ● Valor fixo que não se modifica ● Pode ser ○ Numérica ■ Ex.: 25; 2,5; π; 7,8 x 103; -25; -2,5; -π; -7,8 x 103; ○ Lógica ■ Booleana, binária (apenas dois estados possíveis ) ■ Conceitos de SIM/NÃO; VERDADEIRO/FALSO; ON/OFF ■ Sintaxe PORTUGOL: verdadeiro, falso ○ Literal ■ Qualquer seqüência de caracteres ■ PORTUGOL: Sempre será colocada entre aspas duplas (“”) ■ Ex.: “ENG. ELÉTRICA”; “2”; “KM660”; “A&%J”; “15/03/12” 3/26 Fixando: Ex. 1.1.4 ● Identifique o tipo das constantes: ○ 21 ○ “BOLA” ○ “VERDADEIRO” ○ 0,21 x 102 ○ falso 4/26 Variáveis ● Representação simbólica de valores ● Na matemática: incógnitas ● Nos algoritmos: ○ Valores que se modificam ao longo do tempo ○ Apenas 1 valor a cada vez ○ Correspondem uma posição/espaço na memória ○ Identificada pelo identificador ■ Ex.: cálculo da área de um retângulo: Área = base.altura, podemos usar os identificadores A, b, h 5/26 Formação dos identificadores ● Seqüência de caracteres, exclusivamente de letras ou dígitos ● Não são permitidos símbolos ou espaços ○ Exceção: <_> (underscore) ○ Primeiro caractere sempre uma letra ○ Que seja representativas de seu conteúdo ● Exemplos: PERMITIDOS: A X5 NOTA A32B MATRÍCULA FIG3H5 NÃO PERMITIDOS: 5B K-7 E(13) NOTA[1] A:B BD! 6/26 Fixando: Ex. 1.2.3.1 ■ Quais identificadores são válidos? VALOR SALÁRIO-LÍQUIDO B248 X2 NOTA*DO*ALUNO A1B2C3 2X MARIA KM/H XYZ NOMEDAEMPRESA SALA215 “NOTA” AH! M{A} 7/26 Fixando: Ex. 1.2.3.1 ■ Quais identificadores são válidos? VALOR SALÁRIO-LÍQUIDO B248 X2 NOTA*DO*ALUNO A1B2C3 2X MARIA KM/H XYZ NOMEDAEMPRESA SALA215 “NOTA” AH! M{A} 8/26 Declaração de variáveis ● Variáveis só podem armazenar um tipo ● Sintaxe PORTUGOL: ● Ex.: declare <lista de identificadores> <nome do tipo> declare NOTA, CODIGO, X5 numérico declare TESTE, SIM lógico declare NOME, END1, END2, F1F2 literal 9/26 COMANDOS DESCRIÇÃO DE UMA AÇÃO A SER EXECUTADA A CADA MOMENTO 10/26 Comentário ● Texto livre explicativo ● Auxilia na compreensão do algoritmo ● Implementado em todas as linguagens e ignorado pelo computador ● Sintaxe PORTUGOL: entre chaves { } ● Ex.: declare MAT, {número de matrícula do aluno} NOTA, {total de pontos obtidos no semestre} COD {código da disciplina} 11/26 Expressões aritméticas ● Definição ○ Operadores são aritméticos ○ Operandos são constantes ou variáveis do tipo numérico ● Sintaxe PORTUGOL: a mesma da matemática ● Exemplos: OPERAÇÕES BÁSICAS: ADIÇÃO SUBTRAÇÃO MULTIPLICAÇÃO DIVISÃO POTENCIAÇÃO RADICIAÇÃO X + Y X - Y X + 10 10 × NOTA TOTAL/N A × B + C SOMA2 √P TOT/M + KX 12/26 IMPORTANTE! ● Não omitir operador de multiplicação ○ Ex.: AB + C significa: ○ A x B + C ou variável AB + variável C ? ● Prioridade das operações: mesma da matemática: ○ Potenciação e radiciação ○ Multiplicação e divisão ○ Adição e subtração ● Para alterar a priorização: parênteses ( ) ○ Não usar colchetes ou chaves ○ Símbolo de divisão é a barra: / ○ Não usar ÷ 13/26 Funções matemáticas ● Todas linguagens implementam funções matemáticas, que podem ser usadas no PORTUGOL: ● X e Y podem ser resultado de operações aritméticas básicas ou mesmo de outras funções, desde que respeitados os domínios das funções FUNÇÕES DE VALORES NÚMERICOS X e Y: LOG(X) LN(X) EXP(X) ABS(X) TRUNCA(X) ARREDONDA(X) SINAL(X) RESTO(X,Y) QUOCIENTE(X,Y) SEN(X) COS(X) TAN(X) 14/26 Expressões lógicas ● Definição ○ Operadores lógicos ○ Operandos: relações, constantes ou variáveis lógicas ● Resultado: valor lógico ● Presente em estruturas de controle de fluxo e condicionais 15/26 Relações ● Expressões relacionais ● Comparações entre valores do mesmo tipo ● Exemplo EXPRESSÕES RELACIONAIS: = igual a ≠ diferente de < menor que > maior que ≤ menor ou igual a ≥ maior ou igual a “JOSÉ”“AZUL”121 “PEDRO”“BRANCO”211 falsofalsoverdadeiro“JOSÉ”“VERDE”134 verdadeiroverdadeirofalso“PAULO”“AZUL”521 NOME ≠ “JOSÉ”COR = “AZUL” X2 +Y > ZNOMECORZYX RELAÇÕESVARIÁVEIS falso verdadeirofalso verdadeiroverdadeiro falso 16/26 Operadores lógicos ● Conectivos usados na formação de novas proposições a partir de outras já conhecidas ○ E → para a conjunção ○ OU → para a disjunção ○ NÃO → para a negação ● Sintaxe PORTUGOL: e ou não 17/26 Conjunção ● A conjunção é verdadeira se e somente se ambas as proposições são verdadeiras ● Exemplo: CONSIDERANDO AS 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 OPERE: p e s p e r q e s q e r verdadeiro falso falso falso 18/26 Disjunção ● A disjunção é verdadeira se e somente pelo menos uma das proposições for verdadeira ● Exemplo: CONSIDERANDO AS 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 OPERE: p ou s p ou r q ou s q ou r verdadeiro verdadeiro verdadeiro falso 19/26 Negação ● A negação é verdadeira se a proposição for falsa e vice-versa → inversão do sentido lógico ● Exemplo: CONSIDERANDO AS 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 OPERE: não r não p verdadeiro falso 20/26 Tabelas verdade FFF FVF FFV VVV p e qqp FFF VVF VFV VVV p ou qqp VF FV não pp CONJUNÇÃO DISJUNÇÃO NEGAÇÃO PRIORIDADE DAS OPERAÇÕES: 1. aritmético 2. relacional 3. não 4. e 5. ou 21/26 Exemplos em PORTUGOL CONSIDERANDO: X, Y e Z contendo os valores númericos 2, 5 e 9, respectivamente Variável literal NOME contendo o valor “MARIA” Variável lógica SIM contendo o valor lógico falso OPERE: X + Y > Z e NOME = “MARIA” SIM ou Y ≥ X não SIM e QUOCIENTE(Z, Y) + 1 = X NOME = “JORGE” e SIM ou X2 < Z + 10 verdadeiro verdadeiro falso verdadeiro 22/26 Expressões literais ● Definição ○ Operandos são variáveis do tipo literal ○ Muito diversas ● Variam de linguagem para linguagem ● Concatenção ○ União de conteúdos ○ A | B 23/26 Comandos de atribuição ● Fornece um valor a uma determinada variável ● A natureza do valor tem que ser compatível com o tipo da variável ● Sintaxe PORTUGOL ● Exemplos identificador ← expressão K ← 1 COR ← “VERDE” TESTE ← falso A ← B MÉDIA ← SOMA/N TESTE ← COR = “VERDE” e não A > B Primeiro se avalia a expressão e só depois se faz a atribuição! 24/26 Comandos de entrada e saída ● Comandos para interagir com o usuário ● Entrada: recebe os dados usuário (teclado, mouse) ○ Sintaxe PORTUGOL ● Saída: mostra dados ao usuário (monitor) ● Exemplo: considere variáveis NOME e NOTA, respectivamente literal e numérica leia <lista de identificadores> escreva <lista de identificadores> escreva NOME, “-”, NOTA PAULO-85 25/26 Algoritmo{Seqüência de Fibonacci} declare T1, T2, NT, L numérico T1 ← 1 T2 ← 1 escreva “Querido usuário, informe L: ” leia L se T1 < L então escreva T1 fim sese T2 < L então escreva T2 fim se repita NT ← T1 + T2 se NT >= L então interrompa fim se escreva NT T1 ← T2 T2 ← NT fim repita fim algoritmo 26/26
Compartilhar