material did tico proposto
play

Material Didtico Proposto 1 Programao Estruturada Comandos - PowerPoint PPT Presentation

Universidade Federal de Ouro Preto - UFOP Departamento de Computao - DECOM Comisso para Coordenao das Atividades Pedaggicas da Disciplina BCC701 CAP-BCC701 www.decom.ufop.br/bcc701 2014-1 Material Didtico Proposto 1


  1. Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas da Disciplina BCC701 – CAP-BCC701 www.decom.ufop.br/bcc701 2014-1 Material Didático Proposto 1

  2.  Programação Estruturada  Comandos Condicionais (Decisão)  Operadores Relacionais 2

  3. Programação Estruturada 3

  4. Conceito ito: Progr grama mação ão estrutur turad ada a é um uma forma de Progr grama mação ão de computad adore ores s que preconiz iza a que todos os pro rogr gramas as possív íveis eis podem ser reduzi zidos dos a a apenas as três estrutur uras: as: sequên uência cia • decis isão ão • it iteração ão • 4

  5. Sequên ênci cia Até a última a aula, os programa amas s co constituí stituíram ram-se e por uma a seq equência ência de e instr truç uções, ões, ou co comando ndos, , execu cutados tados sequen encial cialmente, mente, co confo forme rme o fluxograma xograma ao ao lad ado. 5

  6. Deci cisão são ( (co comandos andos co condici icionais) onais) A seg egunda da es estrutura utura é u é utiliza izada da quan ando do é n é nec eces essário ário realiz izar r um desvi vio o de fluxo, o, realizado ado co com base em uma deci cisão Se “condição” for verdadeiro Então Faça a tarefa A; Senão // caso falso Faça a tarefa B; O desvio de fluxo é caracterizado pela “escolha” (condição) entre execut ecutar ar a tarefa a A ou execut cutar ar a tarefa fa B 6

  7. Deci cisão são (co comandos andos co condici icionais) onais) Fluxo uxogr grama ama Esta é a tarefa A , ela será “condição” executada apenas quando “condição” for verdadeira. Esta é a tarefa B , ela será Observe que sempre será executada apenas quando executada apenas uma das “condição” for falsa. tarefas, ou seja, a tarefa A ou a tarefa B . 7

  8. Iteração ração Re Repete e um co conjunto unto de instruções, ruções, co comandos, ndos, um ce certo número ro de vezes s ou co confo form rme e uma co condição. ição. Será estudado ado no 2º 2º m módul ulo. o. 8

  9. 9

  10.  Equação  Raízes (reais se ∆>0)  Calcular as raízes para a = 534.2765, b = 9987.3431 e c = 225.7690 10

  11.  Ler os valores dos coeficientes a, b e c  Calcular o valor de delta  Obter as raízes da equação  Imprimir as raízes da equação 11

  12. // Cálculo das raízes de equação de 2o grau disp (“Raízes de equação de 2o grau") // Entrada de dados a = input("Digite o valor de a:") b = input("Digite o valor de b:") c = input("Digite o valor de c:") Diálogo com o usuário 12

  13. // Resolvendo a equação delta = b^2 - 4*a*c r1 = (-b + sqrt(delta))/ (2*a) r2 = (-b - sqrt(delta))/ (2*a) // Imprimindo resultados printf (“Raiz 1 = %g”,r1) printf (“Raiz 2 = %g”, r2) 13

  14. Raízes de equação de 2o grau Digite o valor de a:534.2765 Digite o valor de b:9987.3431 Digite o valor de c:225.7690 Raiz 1 = -0.0226329 Os valores Raiz 2 = -18.6706 digitados pelo usuário estão em vermelho 14

  15.  Quando propomos uma solução para um problema temos que pensar em testes que verifiquem a correção do que fazemos  Nesse caso, o teste é simples: se r é um valor calculado para uma raiz, o valor da expressão a*r^2 + b*r + c deve ser zero 15

  16. -->a*r1^2 + b*r1 + c ans = 1.017D-11 -->a*r2^2 + b*r2 + c ans = Notação científica: 2.888D-11 2.888 x 10 -11 (muito próximo a zero) 16

  17.  Escrever delta = b^2 – 4ac , omitindo os operadores de multiplicação ◦ Um erro de sintaxe , que é apontado pelo Scilab  Escrever r1 = (-b+sqrt(delta))/2*a , o que na verdade calcula      b    r . a   1  2  ◦ Um erro de semântica , que só pode ser descoberto por meio de testes, que o programador deve fazer 17

  18.  Equação  Bhaskara (∆>0, a≠0)  Qu Quai aisque squer valores de coeficiente! 18

  19.  a = 0 ◦ Equação de primeiro grau ◦ Divisão por zero no nosso programa!  Δ < 0 ◦ Raízes complexas ◦ Só imprime a parte real no nosso programa! 19

  20. OB OBS.: verifica icando ndo o valor r do co coefici cien ente te a , , pode pode-se se evitar r este erro ! 20

  21. Condiçã ição o (expressão relacional) se a igual a 0 então mensagem de erro; resolver equação de primeiro grau; senão // caso contrário apresentamos as raízes reais; 21

  22. <condição> é uma expressão relacional : <expr pr 1> 1> <o <opera rado dor r Re Rela laci cional al> > <expr 2> 2> Onde: <expr n> é uma expressão, que pode ser um valor numérico, ou uma expressão matemática que resulta em um valor numérico. A avaliação de uma expressão relacional pode resultar em: verdadeiro ( %t ou %T ) ou falso ( %f ou %F ). 22

  23. Opera rado dor Descri criçã ção > Maior que. >= Maior ou igual a. < Menor que. <= Menor ou igual a. == Igual a. <> ou ~= Diferente de. 23

  24. -->p = %t Literal True p = T Expressão lógica, Note que operadores -->q = 5+3 < 2 usando o operador aritméticos têm q = F relacional < precedência sobre -->a = 0 operadores a = relacionais 0 -->a == 0 ans = igual T -->a <> 0 ans = diferente F 24

  25. Priori oridade dade de e Ex Exec ecuçã ção • Qu Quando do temos os uma co combina inaçã ção o entre expressões sões matemá emáti tica cas s e ex expressões ssões lógicas, cas, primeirame iramente nte o Sci cilab ca calcula cula as expressõe ssões s matemát emáticas; icas; a s seguir, r, o Sci cilab ca calcula cula as expressõe ssões s lógicas. cas. • os oper erado adore res s mat atemáticos emáticos tem em mai aior priorida idade de de e execução, cução, co com relaçã ção o aos operadore dores s relaci cionai onais. s. 25

  26. A condição deve ser uma expressão lógica if <condição> then <bloco do então> end OB OBSERV RVAÇ AÇÕE ÕES: : um bloco é um conjunto de quaisquer comandos Scilab sintaticamente corretos (inclusive outro if ). if, then, else e end: são palavras reservadas do Scilab e não podem ser usadas para nomear variáveis. 26

  27. if <condição> then <bloco do então> else <bloco do senão> end <condição> é um uma expressão ssão relaci ciona onal. l. Assim m , r resulta ta em em um val alor r ver erdadeiro adeiro (%t) ou fal also (%f) . <bloco do então> será execu cuta tado do somente nte quando do a co condição ição resulta tar r em verdadei adeiro ro (%t) . <bloco do senão> será execu cuta tado do somente nte quando do a co condiçã ção o resultar tar em falso (%f) . 27

  28. if a == 0 then printf (“Coeficiente a não pode ser 0”); end // programa como antes 28

  29. Agora, verifi fica ca-se e o valor r de a, antes de co continua tinuar r co com a ex execu cução. ção. 29

  30. 30

  31. Nova va execu cuçã ção, o, co com entrada da de valores es diferen ente tes: s: 31

  32. O O erro oco correu eu novamente amente, pois:  O O usuári rio o teve somente nte duas oportunida tunidades des de inserir ir um valor r não nulo para o co coeficiente ciente a ;  Qu Quando do aprende dermos rmos a 3ª 3ª es estrutura tura de program amaçã ção o estruturada, uturada, repetiçã ção, permitir tiremos emos ao usuári rio o inserir rir o v valor r de a , q quanta tas s vezes es forem m nece cessári árias, as, at até é que e um val alor r não ão nulo sej eja a fornec ecido do. 32

  33. if a == 0 then printf (“Coeficiente a não pode ser 0”); else // programa como antes end 33

  34. Aprimorando morando a l lógica ca da programa amação: ção: 34

  35. Exempl mplo o 1 1 de execu cuçã ção o do program ama: 35

  36. Exempl mplo o 2 2 de execu cuçã ção o do program ama: 36

  37. Se delta for positivo Então apresentamos as raízes reais; Senão // caso contrário apresentamos as raízes complexas; 37

  38. O O Sci cilab possibil ibilita ita manipul pular ar números ros co comple lexo xos s de forma ma simples. les. real(x1)  retorna na a p parte real. imag(x1)  retorna na a p parte imaginá nária. ia. Exemplo plos s de números ros co comple plexo xos: s: z1 = 3 + 4 * %i; z2 = 1 - %i; z3 = z1 + z2; z4 = z1 * z2; 38

  39. • quando delta for maior ou igual a zero, a expressão relacional resultará em %t e, portanto, somente o bloco do então (then) será executado; • quando delta for menor que zero, a expressão relacional resultará em %f e, portanto, somente o bloco do senão (else) será executado. 39

  40. 40

  41. Exempl mplo o 1 1 de execu cuçã ção o do program ama: 41

  42. Exempl mplo o 2 2 de execu cuçã ção o do program ama: 42

Recommend


More recommend