Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5. Introdução à Programação de Computadores

5. Introdução à Programação de Computadores

More Decks by Code4Pol - Reprogramando a Política

Other Decks in Technology

Transcript

  1. + R

  2. + R

  3. [] alegomes@~: python Python 2.7.6 (default, Nov 18 2013, 15:12:51)

    [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1+1 2 >>> 2*2 4 >>> 6/3 2 >>> 9%2 1 >>> 2**3 8
  4. [] alegomes@~: R (…) 1> 1+1 [1] 2 > 2*2

    [1] 4 > 6/3 [1] 2 > 9%2 Erro: unexpected input in “9%3" > 9 %% 2 [1] 1 > 2**3 [1] 8
  5. [] alegomes@~: python (…) >>> 2 > 4 False >>>

    5 < 8 True >>> 5 < 5 False >>> 5 <= 8 True >>> 5 <= 5 True >>> 5 == 5 True >>> 5 != 5 False >>> 5 != 6 True
  6. [] alegomes@~: R (…) > 2 > 4 [1] FALSE

    > 5 < 8 [1] TRUE > 5 < 5 [1] FALSE > 5 <= 8 [1] TRUE > 5 <= 5 [1] TRUE > 5 == 5 [1] TRUE > 5 != 5 [1] FALSE > 5 != 6 [1] TRUE >
  7. [] alegomes@~: python (…) >>> True & True True >>>

    True & False False >>> False & True False >>> False & False False >>> True | True True >>> True | False True >>> False | True True >>> False | False False
  8. [] alegomes@~: R (…) > TRUE & TRUE [1] TRUE

    > TRUE & FALSE [1] FALSE > FALSE & TRUE [1] FALSE > FALSE & FALSE [1] FALSE > TRUE | TRUE [1] TRUE > TRUE | FALSE [1] TRUE > FALSE | TRUE [1] TRUE > FALSE | FALSE [1] FALSE
  9. [] alegomes@~: python (…) >>> not True False >>> not

    False True >>> True & True True >>> not (True & True) False >>> (not True) & True False >>> True & (not True) False
  10. [] alegomes@~: R (…) > ! TRUE [1] FALSE >

    ! FALSE [1] TRUE > TRUE & TRUE [1] TRUE > ! (TRUE & TRUE) [1] FALSE > (! TRUE) & TRUE [1] FALSE > TRUE & (!TRUE) [1] FALSE
  11. [] alegomes@~: python (…) >>> 1 == 1 True >>>

    1 == 2 False False True >>> (1 == 2) & (3 == 3) >>> (1 == 1) & (3 == 3) >>> (1 == 2) | (3 == 3) True >>> (1 == 2) | (3 == 4) False
  12. [] alegomes@~: R (…) > 1 == 1 [1] TRUE

    > 1 == 2 [1] FALSE > (1 == 1) & (3 == 3) [1] TRUE > (1 == 2) & (3 == 3) [1] FALSE > (1 == 2) | (3 == 3) [1] TRUE > (1 == 2) | (3 == 4) [1] FALSE
  13. [] alegomes@~: python (…) >>> (1 == 2) & (3

    == 3) False >>> (1 == 1) & (3 == 3) True False False >>> 1 == 2 & 3 == 3 >>> 1 == 1 & 3 == 3
  14. [] alegomes@~: R (…) > (1 == 2) & (3

    == 3) [1] FALSE > (1 == 1) & (3 == 3) [1] TRUE [1] FALSE [1] TRUE > 1 == 2 & 3 == 3 > 1 == 1 & 3 == 3
  15. [] alegomes@~: R (…) > (1 == 2) & (3

    == 3) [1] FALSE > (1 == 1) & (3 == 3) [1] TRUE [1] FALSE [1] TRUE > 1 == 2 & 3 == 3 > 1 == 1 & 3 == 3 [] alegomes@~: python (…) >>> (1 == 2) & (3 == 3) False >>> (1 == 1) & (3 == 3) True False False >>> 1 == 2 & 3 == 3 >>> 1 == 1 & 3 == 3
  16. + R

  17. + R

  18. >>> 1+1 2 >>> 2*2 4 >>> 6/3 2 >>>

    9%2 1 >>> 2**3 8 >>> 2 > 4 False >>> 5 < 8 True >>> 5 < 5 False >>> 5 <= 8 True >>> 5 <= 5 True >>> 5 == 5 True >>> 5 != 5 False >>> True & True True >>> True | False True >>> False & (not True) False
  19. [] alegomes@~: R (…) 1> 1+1 [1] 2 > 2*2

    [1] 4 > 6/3 [1] 2 > 9 %% 2 [1] 1 > 2**3 [1] 8 (…)
  20. 2) Comprei o material para a reforma da minha casa,

    pelo qual pagarei um total de R$ 38.664,00. O seu valor à vista era de R$ 27.000,00 e a taxa de juros é de 2,4% a.m. Por quantos anos eu pagarei por este material? j = C * i * n JUROS CAPITAL TAXA DE JUROS PRAZO Fonte: http://www.matematicadidatica.com.br/
  21. 2.4% x 1/12 1 (ano) (ano) x = 2.4 *

    1 / (1/12) x = 28.8 % a.a.
  22. j = C * i * n n = j/(C*i)

    n = j/(C*28.8/100) n = j/(27000.00*28.8/100) n = (38664.00-27000.00)/(27000.00*28.8/100) n = 1.5 anos
  23. >>> a = 1 >>> b = 2 >>> a

    + b 3 >>> c = a + b >>> c 3 >>> Python
  24. > a = 1 > b = 2 > a

    + b [1] 3 > c = a + b > c [1] 3 > R
  25. j = C * i * n n = j/(C*i)

    n = (M-C)/(C*i)
  26. >>> e = 2.4 >>> i = e / (

    1.0 / 12.0) >>> i 28.8 >>> i = i/100 0.288 >>> C = 27000.00 >>> M = 38664.00 >>> j = M - C >>> j 11664.0 >>> n = j / (C*i) >>> n 1.5 >>> Python
  27. > taxa_juros_ao_mes = 2.4 > taxa_juros_ao_ano = taxa_juros_ao_mes / (1.0

    / 12.0) > taxa_juros_ao_ano [1] 28.8 > taxa_juros_ao_ano = taxa_juros_ao_ano / 100 > taxa_juros_ao_ano [1] 0.288 > capital = 27000.00 > montante = 38664.00 > juros_pagos = montante - capital > juros_pagos [1] 11664 > prazo = juros_pagos / (capital * taxa_juros_ao_ano) > prazo [1] 1.5 > R
  28. [] alegomes@~: python Python 2.7.6 (default, Nov 18 2013, 15:12:51)

    [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1+1 2 >>> 2*2 4 >>> 6/3 2 >>> 9%2 1 >>> 2**3 8 >>> 4/3 1 >>> 4.0/3.0 1.3333333333333333
  29. [] alegomes@~: R (…) 1> 1+1 [1] 2 > 2*2

    [1] 4 > 6/3 [1] 2 > 9%%2 [1] 1 > 2**3 [1] 8 > 4/3 [1] 1.333333 > 4.0/3.0 [1] 1.333333 >
  30. >>> True True >>> False False >>> true Traceback (most

    recent call last): File "<stdin>", line 1, in <module> NameError: name 'true' is not defined >>> TRUE Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'TRUE' is not defined >>> verdadeiro Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'verdadeiro' is not defined >>> BOOLEAN
  31. > TRUE [1] TRUE > FALSE [1] FALSE > True

    Erro: objeto 'True' não encontrado > true Erro: objeto 'true' não encontrado > verdadeiro Erro: objeto 'verdadeiro' não encontrado > BOOLEAN
  32. > 1 [1] 1 > 1.0 [1] 1 > 1.1

    [1] 1.1 > as.integer(1.1) [1] 1 > NUMÉRICOS (numeric) (integer)
  33. >>> 1.0/4.0 0.25 >>> 1/4.0 0.25 >>> 1.0/4 0.25 >

    1.0/4.0 [1] 0.25 > 1/4.0 [1] 0.25 > 1.0/4 [1] 0.25
  34. > 'tarrow' [1] "tarrow" > "jasper" [1] "jasper" > '''tilly'''

    Erro: unexpected string constant in "'''tilly'" TEXTOS (character)
  35. OPERADORES ARITMÉTICOS OPERADORES DE COMPARAÇÃO OPERADORES LÓGICOS PRECEDÊNCIA DE OPERADORES

    VARIÁVEIS TIPOS DE DADOS + , - , * , / , ** , % > , < , >= , <= , == , != & , | , NOT , ! A = 10 , B = A * 2 INT, FLOAT, NUMERIC, STR, CHARACTER & , | , NOT , !
  36. Fluxograma é um tipo de diagrama, e pode ser entendido

    como uma representação esquemática de um processo (…) https://pt.wikipedia.org/wiki/Fluxograma “
  37. a = 2 b = 1 a > b Imprime:

    “A é maior" Imprime: “A não é maior" sim não
  38. [] alegomes@~: python >>> a = 2 >>> b =

    1 >>> if a > b: print "A eh maior que B" ... A eh maior que B >>> >>> if b > a: print "B eh maior que A" ... >>>
  39. >>> if a > b: ... print "A eh maior

    que B" ... A eh maior que B
  40. >>> if a > b: ... print "A eh maior

    que B" ... print "E por hoje eh isso" ... A eh maior que B E por hoje eh isso
  41. >>> if a > b: ... print “A eh maior

    que B" ... else: ... print "A nao eh maior que B" ... A eh maior que B
  42. >>> a = 1 >>> b = 2 >>> if

    a > b: ... print "A eh maior que B" ... else: ... print "B eh maior que A" ... B eh maior que A
  43. >>> a = 1 >>> b = 2 >>> if

    a > b: ... print "A eh maior que B" ... print "Que bom que deu certo" ... else: ... print "B eh maior que A” ... print “Nao foi desta vez" ... B eh maior que A Nao foi desta vez
  44. >>> a = 1 >>> b = 1 >>> if

    a > b: ... print "A eh maior que B" ... else: ... print "B eh maior que A" ... B eh maior que A
  45. >>> a = 1 >>> b = 1 >>> if

    a > b: ... print "A eh maior que B" ... else: ... if b > a: ... print "B eh maior que A” ... else: ... print "B eh igual a A" B eh igual A
  46. [] alegomes@~: R > a = 2 > b =

    1 > if (a > b) cat("A eh maior que B\n") A eh maior que B
  47. [] alegomes@~: R > a = 2 > b =

    1 > if (a > b) cat("A eh maior que B\n") else cat("B eh maior que A\n") A eh maior que B
  48. [] alegomes@~: R > a = 2 > b =

    1 > if (a > b) + { + cat("A eh maior que B\n”) + } + else + { + cat("B eh maior que A\n”) + } A eh maior que B
  49. [] alegomes@~: R > a = 1 > b =

    2 > if (a > b) { + cat("A eh maior que B\n") + } else { + cat("A nao eh maior que B\n") + } A nao eh maior que B
  50. [] alegomes@~: R -f exemplo_do_if.r (…) > a = 2

    > b = 1 > if (a > b) { + cat("A eh maior que B\n") + } else { + cat("B eh maior que A\n") + } A eh maior que B
  51. 1. DADOS DOIS INTEIROS A E B, VERIFICAR QUAL DOS

    NÚMEROS É O MAIOR. 2.DADOS DOIS INTEIROS A E B, VERIFICAR QUAL DOS NÚMEROS É PAR E QUAL É ÍMPAR. Dica: Utilizar operadores aritméticos, lógicos e comparativos. EXERCÍCIO No Python e no R
  52. $ python >>> range(10) [0, 1, 2, 3, 4, 5,

    6, 7, 8, 9] >>> range(1,10) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>>
  53. $ python >>> for i in range(1,10): ... print "Adoro

    programar" ... Adoro programar Adoro programar Adoro programar Adoro programar Adoro programar Adoro programar Adoro programar Adoro programar Adoro programar
  54. >>> "Alexandre" + "Gomes" 'AlexandreGomes' >>> "Alexandre" + " "

    + "Gomes" 'Alexandre Gomes' >>> "Alexandre Gomes eh " + 10 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects >>> "Alexandre Gomes eh " + str(10) 'Alexandre Gomes eh 10'
  55. >>> for i in range(1,10): ... print "Contando " +

    str(i) ... Contando 1 Contando 2 Contando 3 Contando 4 Contando 5 Contando 6 Contando 7 Contando 8 Contando 9
  56. $ R > seq(10) [1] 1 2 3 4 5

    6 7 8 9 10 > seq(1,10) [1] 1 2 3 4 5 6 7 8 9 10
  57. > for (i in seq(1,10)) { + print(i) + }

    [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6 [1] 7 [1] 8 [1] 9 [1] 10
  58. > valores = seq(1,10) > for (i in valores) {

    + print(i) + } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6 [1] 7 [1] 8 [1] 9 [1] 10
  59. > 1:10 [1] 1 2 3 4 5 6 7

    8 9 10 > 5:10 [1] 5 6 7 8 9 10
  60. > for (i in 1:10) { + print(i) + }

    [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 [1] 6 [1] 7 [1] 8 [1] 9 [1] 10
  61. ENQUANTO NÃO TIVER BEBIDO 3 LITROS DE ÁGUA, BEBA MAIS

    ÁGUA. MATE A SEDE! litros < 3 ? litros =+ 1 Sede saciada.
  62. $ python exemplo_de_while.py Ja bebi 0 litros de agua. Ja

    bebi 1 litros de agua. Ja bebi 2 litros de agua. Sede saciada
  63. $ R -q -f exemplo_de_while.r > litros = 0 >

    while (litros < 3) { + cat("Ja bebi", litros, " de agua\n") + litros = litros + 1 + } Ja bebi 0 litros de agua Ja bebi 1 litros de agua Ja bebi 2 litros de agua > print("Sede saciada.\n") [1] "Sede saciada.\n” >
  64. $ Rscript exemplo_de_while.r Ja bebi 0 litros de agua Ja

    bebi 1 litros de agua Ja bebi 2 litros de agua [1] "Sede saciada.\n” >
  65. $ R R version 3.2.2 (2015-08-14) -- "Fire Safety" Copyright

    (C) 2015 The R Foundation for Statistical Computing Platform: x86_64-apple-darwin13.4.0 (64-bit) R é um software livre e vem sem GARANTIA ALGUMA. Você pode redistribuí-lo sob certas circunstâncias. Digite 'license()' ou 'licence()' para detalhes de distribuição. R é um projeto colaborativo com muitos contribuidores. Digite 'contributors()' para obter mais informações e 'citation()' para saber como citar o R ou pacotes do R em publicações. Digite 'demo()' para demonstrações, 'help()' para o sistema on-line de ajuda, ou 'help.start()' para abrir o sistema de ajuda em HTML no seu navegador. Digite 'q()' para sair do R. [Área de trabalho anterior carregada] > source("exemplo_de_while.r") Ja bebi 0 litros de agua Ja bebi 1 litros de agua Ja bebi 2 litros de agua [1] "Sede saciada.\n"
  66. 1. IMPRIMIR 10 VEZES: “PROMETO DEVOLVER A CHAVE DO RESOCIE”

    2. IMPRIMIR OS NÚMEROS PARES DE 1 A 20. 3. CALCULAR A MÉDIA ARITMÉTICA DOS NÚMEROS PARES DE 1 A 100. EXERCÍCIO No Python e no R