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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend