Introdução ao conhecimento de algoritmos e prática de programação - Giovani Cogo

1,555
-1

Published on

Uma rápida adequação ao conceito de algoritmos e programação com atividades práticas em laboratório de informática. Principais técnicas de programação serão aplicadas em problemas simples e de caráter introdutório que envolvam laços repetitivos, condicionais e recursivos bem como a manipulação de dados e tipo de estruturas de dados.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,555
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
44
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introdução ao conhecimento de algoritmos e prática de programação - Giovani Cogo

  1. 1. Introdução ao conhecimento de algoritmos e prática de programação Giovani Bolzan Cogo {giovanibcogo@gmail.com} Acadêmico de Engenharia de computação Universidade Federal do Pampa – campus Bagé
  2. 2. Sumário ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 2
  3. 3. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 3
  4. 4. Introdução ao conceito de algoritmos O que seria um algoritmo?28/05/2011 Giovani Bolzan Cogo 4
  5. 5. Introdução ao conceito de algoritmos Definição: um algoritmo é um conjunto de instruções sequênciais que tem como objetivo solucionar um certo problema.28/05/2011 Giovani Bolzan Cogo 5
  6. 6. Introdução ao conceito de algoritmos Definição: um algoritmo é um conjunto de instruções sequênciais que tem como objetivo solucionar um certo problema. Em outras palavras, um algoritmo é basicamente uma sequência de passos/comandos que constituem uma rotina lógica que efetua alguma operação desejada.28/05/2011 Giovani Bolzan Cogo 6
  7. 7. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 7
  8. 8. Algoritmos como vemos no cotidiano Usamos algoritmos mesmo sem percebê-los. Eles fazem parte do nosso dia-a-dia e quem intera com ele somos nós.28/05/2011 Giovani Bolzan Cogo 8
  9. 9. Algoritmos como vemos no cotidiano Usamos algoritmos mesmo sem percebê-los. Eles fazem parte do nosso dia-a-dia e quem intera com ele somos nós. Por exemplo, qual seria o algoritmo para a troca de uma lâmpada?28/05/2011 Giovani Bolzan Cogo 9
  10. 10. Algoritmos como vemos no cotidiano A implementação mais intuitiva e básica seria: 1- tirar lâmpada usada28/05/2011 Giovani Bolzan Cogo 10
  11. 11. Algoritmos como vemos no cotidiano A implementação mais intuitiva e básica seria: 1- tirar lâmpada usada 2- colocar lâmpada nova28/05/2011 Giovani Bolzan Cogo 11
  12. 12. Algoritmos como vemos no cotidiano Figura 1: Algoritmo de como trocar uma lâmpada em forma de fluxograma28/05/2011 Giovani Bolzan Cogo 12
  13. 13. Algoritmos como vemos no cotidiano Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona28/05/2011 Giovani Bolzan Cogo 13
  14. 14. Algoritmos como vemos no cotidiano Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona 2- Subir em alguma superfície rígida e suportável28/05/2011 Giovani Bolzan Cogo 14
  15. 15. Algoritmos como vemos no cotidiano Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona 2- Subir em alguma superfície rígida e suportável 3- Remover lâmpada estragada28/05/2011 Giovani Bolzan Cogo 15
  16. 16. Algoritmos como vemos no cotidiano Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona 2- Subir em alguma superfície rígida e suportável 3- Remover lâmpada estragada 4- Inserir lâmpada nova28/05/2011 Giovani Bolzan Cogo 16
  17. 17. Algoritmos como vemos no cotidiano Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona 2- Subir em alguma superfície rígida e suportável 3- Remover lâmpada estragada 4- Inserir lâmpada nova 5- Testar lâmpada nova28/05/2011 Giovani Bolzan Cogo 17
  18. 18. Algoritmos como vemos no cotidiano Enfim para quase tudo há um algoritmo que solucione os problemas que queremos.28/05/2011 Giovani Bolzan Cogo 18
  19. 19. Algoritmos como vemos no cotidiano Poderíamos chavear uma gaveta com a chave dentro?28/05/2011 Giovani Bolzan Cogo 19
  20. 20. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 20
  21. 21. Linguagens de programação Agora introduzidos ao conceito de linguagens de programação.28/05/2011 Giovani Bolzan Cogo 21
  22. 22. Linguagens de programação Primeiramente, devemos entender o significado do termo linguagem.28/05/2011 Giovani Bolzan Cogo 22
  23. 23. Linguagens de programação Primeiramente, devemos entender o significado do termo linguagem. Uma linguagem abrange um conjunto de palavras que, de uma forma arranjada (definida por regras), contêm um significado coerente.28/05/2011 Giovani Bolzan Cogo 23
  24. 24. Linguagens de programação Temos como exemplo mais utilizado a linguagem natural que é utilizada para a comunicação entre 2 ou mais pessoas.28/05/2011 Giovani Bolzan Cogo 24
  25. 25. Linguagens de programação Temos como exemplo mais utilizado a linguagem natural que é utilizada para a comunicação entre 2 ou mais pessoas. Mais exemplos: Linguagem binária Linguagem assembly Linguagem de programação28/05/2011 Giovani Bolzan Cogo 25
  26. 26. Linguagens de programação As linguagens de programação possuem uma classificação quanto à similaridade entre a linguagem de máquina e a linguagem natural. Quanto mais se assemelha à linguagem natural, a linguagem de programação é dita de alto nível. No caso de ela se assemelhar mais à linguagem de máquina, é dita de baixo nível. Ou seja, quanto mais abstrato é o entendimento de uma linguagem, mais alto nível é.28/05/2011 Giovani Bolzan Cogo 26
  27. 27. Linguagens de programação Iremos utilizar a linguagem Python, por motivos de simples entendimento e curto tempo de resposta quanto à produção, e que será mais detalhada adiante.28/05/2011 Giovani Bolzan Cogo 27
  28. 28. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 28
  29. 29. Bases de programação A programação obviamente segue o mesmo fluxo do conceito de algoritmo: entrada → processamento → saída.28/05/2011 Giovani Bolzan Cogo 29
  30. 30. Bases de programação Operadores lógicos: • and (conjunção) • •28/05/2011 Giovani Bolzan Cogo 30
  31. 31. Bases de programação Operadores lógicos: • and (conjunção) • or (disjunção) •28/05/2011 Giovani Bolzan Cogo 31
  32. 32. Bases de programação Operadores lógicos: • and (conjunção) • or (disjunção) • not (negação)28/05/2011 Giovani Bolzan Cogo 32
  33. 33. Bases de programação Operadores aritméticos: • + (adição) • • • • •28/05/2011 Giovani Bolzan Cogo 33
  34. 34. Bases de programação Operadores aritméticos: • + (adição) • - (subtração) • • • •28/05/2011 Giovani Bolzan Cogo 34
  35. 35. Bases de programação Operadores aritméticos: • + (adição) • - (subtração) • * (multiplicação) • • •28/05/2011 Giovani Bolzan Cogo 35
  36. 36. Bases de programação Operadores aritméticos: • + (adição) • - (subtração) • * (multiplicação) • / (divisão) • •28/05/2011 Giovani Bolzan Cogo 36
  37. 37. Bases de programação Operadores aritméticos: • + (adição) • - (subtração) • * (multiplicação) • / (divisão) • % (resto divisão) •28/05/2011 Giovani Bolzan Cogo 37
  38. 38. Bases de programação Operadores aritméticos: • + (adição) • - (subtração) • * (multiplicação) • / (divisão) • % (resto divisão) • ^ ou ** (exponenciação)28/05/2011 Giovani Bolzan Cogo 38
  39. 39. Bases de programação Operadores relacionais: • < (menor) • • • • •28/05/2011 Giovani Bolzan Cogo 39
  40. 40. Bases de programação Operadores relacionais: • < (menor) • <= (menor ou igual) • • • •28/05/2011 Giovani Bolzan Cogo 40
  41. 41. Bases de programação Operadores relacionais: • < (menor) • <= (menor ou igual) • > (maior) • • •28/05/2011 Giovani Bolzan Cogo 41
  42. 42. Bases de programação Operadores relacionais: • < (menor) • <= (menor ou igual) • > (maior) • >= (maior ou igual) • •28/05/2011 Giovani Bolzan Cogo 42
  43. 43. Bases de programação Operadores relacionais: • < (menor) • <= (menor ou igual) • > (maior) • >= (maior ou igual) • == (igual) •28/05/2011 Giovani Bolzan Cogo 43
  44. 44. Bases de programação Operadores relacionais: • < (menor) • <= (menor ou igual) • > (maior) • >= (maior ou igual) • == (igual) • != (diferente)28/05/2011 Giovani Bolzan Cogo 44
  45. 45. Bases de programação Operador de atribuição: • = ou ← ou := (atribuição)28/05/2011 Giovani Bolzan Cogo 45
  46. 46. Bases de programação Blocos Blocos de intrução são definidos para separação de instruções, ou seja, para definir quais instruções devem ser executadas naquele instante. Eles podem ser utilizados como { } (C) ou como identação (Python).28/05/2011 Giovani Bolzan Cogo 46
  47. 47. Bases de programação Blocos Blocos de intrução são definidos para separação de instruções, ou seja, para definir quais instruções devem ser executadas naquele instante. Eles podem ser utilizados como { } (C) ou como identação (Python). Também há os blocos de comemtários que são delimitados por caracteres definidos por cada linguagem e que são utilizados para serem ignorados no momento da execução do código.28/05/2011 Giovani Bolzan Cogo 47
  48. 48. Bases de programação Tipos de dados Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados.28/05/2011 Giovani Bolzan Cogo 48
  49. 49. Bases de programação Tipos de dados Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados. Eles podem ser: • integer: valor inteiro, ou seja, negativo, positivo ou nulo ϵ Ζ. (1) • • • • •28/05/2011 Giovani Bolzan Cogo 49
  50. 50. Bases de programação Tipos de dados Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados. Eles podem ser: • integer: valor inteiro, ou seja, negativo, positivo ou nulo ϵ Ζ. (1) • real/float: valor real, ou seja, qualquer x ϵ R. (0.4,π) • • • •28/05/2011 Giovani Bolzan Cogo 50
  51. 51. Bases de programação Tipos de dados Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados. Eles podem ser: • integer: valor inteiro, ou seja, negativo, positivo ou nulo ϵ Ζ. (1) • real/float: valor real, ou seja, qualquer x ϵ R. (0.4,π) • character: caracter unitário, valor que ocupa 1 espaço. (a, ) • • •28/05/2011 Giovani Bolzan Cogo 51
  52. 52. Bases de programação Tipos de dados Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados. Eles podem ser: • integer: valor inteiro, ou seja, negativo, positivo ou nulo ϵ Ζ. (1) • real/float: valor real, ou seja, qualquer x ϵ R. (0.4,π) • character: caracter unitário, valor que ocupa 1 espaço. (a, ) • boolean: tipo binário: verdadeiro ou falso. • •28/05/2011 Giovani Bolzan Cogo 52
  53. 53. Bases de programação Tipos de dados Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados. Eles podem ser: • integer: valor inteiro, ou seja, negativo, positivo ou nulo ϵ Ζ. (1) • real/float: valor real, ou seja, qualquer x ϵ R. (0.4,π) • character: caracter unitário, valor que ocupa 1 espaço. (a, ) • boolean: tipo binário: verdadeiro ou falso. • array: sequência de valores ordenados. ([0,5,8,2]) •28/05/2011 Giovani Bolzan Cogo 53
  54. 54. Bases de programação Tipos de dados Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados. Eles podem ser: • integer: valor inteiro, ou seja, negativo, positivo ou nulo ϵ Ζ. (1) • real/float: valor real, ou seja, qualquer x ϵ R. (0.4,π) • character: caracter unitário, valor que ocupa 1 espaço. (a, ) • boolean: tipo binário: verdadeiro ou falso. • array: sequência de valores ordenados. ([0,5,8,2]) • string: sequência de caracteres. (abcd,b8t*%0)28/05/2011 Giovani Bolzan Cogo 54
  55. 55. Bases de programação Constantes São dados definidos inicialmente e não passíveis de alteração ao decorrer do código.28/05/2011 Giovani Bolzan Cogo 55
  56. 56. Bases de programação Variáveis Ao decorrer do código, precisamos processar dados e estes precisam ser gravados em algum local.28/05/2011 Giovani Bolzan Cogo 56
  57. 57. Bases de programação Variáveis Ao decorrer do código, precisamos processar dados e estes precisam ser gravados em algum local. Aí que as variáveis entram. São recursos que armazenam tipos de dados manipulados pelo código.28/05/2011 Giovani Bolzan Cogo 57
  58. 58. Bases de programação Variável local É o tipo de variável que está presente dentro de alguma função no código e ela só é válida para processos dentro daquela função.28/05/2011 Giovani Bolzan Cogo 58
  59. 59. Bases de programação Variável global É o tipo de variável que está predomina no código inteiro. É válida em qualquer parte do código e pode ser manipulada a qualquer momento.28/05/2011 Giovani Bolzan Cogo 59
  60. 60. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 60
  61. 61. Laços condicionais Quando chega-se a um momento em que se deve tomar uma decisão, podemos usar um laço condicional para executar ou não um bloco de instruções.28/05/2011 Giovani Bolzan Cogo 61
  62. 62. Laços condicionais Quando chega-se a um momento em que se deve tomar uma decisão, podemos usar um laço condicional para executar ou não um bloco de instruções. Por exemplo, voltando ao caso da lâmpada, caso ela esteja funcionando, não há necessidade de trocá-la. [figura1]28/05/2011 Giovani Bolzan Cogo 62
  63. 63. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 63
  64. 64. Laços repetitivos Quando algo pode ser repetitivamente executado, podemos utilizar um laço repetitivo para não ter que fazê-lo de modo corrente e investir muitas linhas de código numa tarefa simples.28/05/2011 Giovani Bolzan Cogo 64
  65. 65. Laços repetitivos Quando algo pode ser repetitivamente executado, podemos utilizar um laço repetitivo para não ter que fazê-lo de modo corrente e investir muitas linhas de código numa tarefa simples. Por exemplo, se eu colocasse uma lâmpada nova e queimada, deveria trocá-la novamente até que fosse instalada uma lâmpada que funcione.28/05/2011 Giovani Bolzan Cogo 65
  66. 66. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos - recursividade ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 66
  67. 67. Recursividade Quando encontramos situações em que uma função é chamada por ela mesma, dizemos que esta é uma função recursiva. funct = [x,y,funct] Por exemplo, cálculo do número de Fibonacci:28/05/2011 Giovani Bolzan Cogo 67
  68. 68. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 68
  69. 69. Interação usuário-máquina Um programa deve seguir uma funcionalidade. Se esta funcionalidade requerer que o programa tenha uma interação com o usuário, isso deve ser feito de modo muito claro.28/05/2011 Giovani Bolzan Cogo 69
  70. 70. Interação usuário-máquina Dizemos que isso seriam ações de entrada e saída de dados.28/05/2011 Giovani Bolzan Cogo 70
  71. 71. Interação usuário-máquina Dizemos que isso seriam ações de entrada e saída de dados. Cada vez que inserimos um valor no programa, queremos que ele faça os devidos procedimentos e nos retorne os resultados.28/05/2011 Giovani Bolzan Cogo 71
  72. 72. Interação usuário-máquina Dizemos que isso seriam ações de entrada e saída de dados. Cada vez que inserimos um valor no programa, queremos que ele faça os devidos procedimentos e nos retorne os resultados. Por exemplo, uma calculadora. Inserimos os valores e a função desejada e ela informa o valor final.28/05/2011 Giovani Bolzan Cogo 72
  73. 73. Interação usuário-máquina Dentre as interações clássicas* entre usuário e máquina destacam-se os dispositivos periféricos que classificam-se entre de entrada e de saída.28/05/2011 Giovani Bolzan Cogo 73
  74. 74. Interação usuário-máquina Dentre as interações clássicas* entre usuário e máquina destacam-se os dispositivos periféricos que classificam-se entre de entrada e de saída. Por exemplo, a tela e as saídas de som são dispositivos de saída, enquanto que o teclado e o mouse são disposotivos de entrada.28/05/2011 Giovani Bolzan Cogo 74
  75. 75. Interação usuário-máquina Dentre as interações clássicas* entre usuário e máquina destacam-se os dispositivos periféricos que classificam-se entre de entrada e de saída. Por exemplo, a tela e as saídas de som são dispositivos de saída, enquanto que o teclado e o mouse são disposotivos de entrada. * tecnologia touch screen28/05/2011 Giovani Bolzan Cogo 75
  76. 76. Interação usuário-máquina Já no código, podemos basicamente esclarecer isso como formas de leituras e escritas, em que leitura seria uma função para o programa “ouvir” o usuário e capturar as informações por ele inseridas e escrita seria o modo de como o programa leva informações ao usuário.28/05/2011 Giovani Bolzan Cogo 76
  77. 77. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 77
  78. 78. Exemplo “olá mundo!” Em Python: Em C: print “ola mundo!” # include <stdio.h> int main (void){ printf (“ola mundo!”); return 0;}28/05/2011 Giovani Bolzan Cogo 78
  79. 79. Exemplo “olá mundo!” Vídeo-tutorial do código “Olá mundo!” em linguagem C.28/05/2011 Giovani Bolzan Cogo 79
  80. 80. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 80
  81. 81. Bases da linguagem Python Variáveis em Pyhton não necessitam serem declaradas predefinidademente como em muitas outras linguagens. A qualquer momento no decorrer da implementação do código, pode-se criar uma variável e também não é necessário rotular um tipo para ela, pois são flexíveis quanto ao tipo.28/05/2011 Giovani Bolzan Cogo 81
  82. 82. Bases da linguagem Python A inserção de bibliotecas acontece antes de qualquer linha de código e de forma: import biblioteca28/05/2011 Giovani Bolzan Cogo 82
  83. 83. Bases da linguagem Python Os blocos de instruções são definidos por identação.28/05/2011 Giovani Bolzan Cogo 83
  84. 84. Bases da linguagem Python As funções são delimitadas pela palavra reservada def e deve aparentar como: def (x,y): … return valor28/05/2011 Giovani Bolzan Cogo 84
  85. 85. Bases da linguagem Python A partir das funções raw_input() and print() pode-se ler do teclado e escrever na tela, respectivamente, os valores informados por parâmetro.28/05/2011 Giovani Bolzan Cogo 85
  86. 86. Bases da linguagem Python Como no exemplo “Ola Se quiséssemos adquirir um mundo!”, a função print foi valor enviado pelo usuário, apresentada: usaríamos o raw_input: print(“ola mundo!”) a=raw_input("digite valor X: ")28/05/2011 Giovani Bolzan Cogo 86
  87. 87. Bases da linguagem Python A função print() aceita seus A função raw_input() imprime argumentos repassando-os seu argumento em tela e para a tela. Assim, se espera por entrada de dados. pusermos algo entre aspas, Ex.: aux = raw_input(digite esta será uma string a ser valor: ) impressa. Se pusermos uma expressão matemática, seu # Agora a variável aux conterá valor resultado será impresso. que o usuário digitar em forma de string. Obs.: se quisermos Ex.: print(7+5) transformar este valor em real, poderemos fazer float(aux). $ 1228/05/2011 Giovani Bolzan Cogo 87
  88. 88. Bases da linguagem Python Laços condicionais: if ( condicao ): if ( condicao1 ): … ... else: elif ( condicao2 ): … … else: ...28/05/2011 Giovani Bolzan Cogo 88
  89. 89. Bases da linguagem Python Laços repetitivos: while ( condicao ): ...28/05/2011 Giovani Bolzan Cogo 89
  90. 90. Bases da linguagem Python Definição de funções: def funcao ( parametros ): ...28/05/2011 Giovani Bolzan Cogo 90
  91. 91. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo.28/05/2011 Giovani Bolzan Cogo 91
  92. 92. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst = [a, 3, 3.14159, abc] : cria lista com estes valores28/05/2011 Giovani Bolzan Cogo 92
  93. 93. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst = [a, 3, 3.14159, abc] : cria lista com estes valores lst[i]: retorna o elemento na posição i28/05/2011 Giovani Bolzan Cogo 93
  94. 94. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst = [a, 3, 3.14159, abc] : cria lista com estes valores lst[i]: retorna o elemento na posição i lst[i:j]: retorna os elementos da posição i até a posição j28/05/2011 Giovani Bolzan Cogo 94
  95. 95. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst = [a, 3, 3.14159, abc] : cria lista com estes valores lst[i]: retorna o elemento na posição i lst[i:j]: retorna os elementos da posição i até a posição j lst.append(aux): insere parametro aux no fim da lista28/05/2011 Giovani Bolzan Cogo 95
  96. 96. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst = [a, 3, 3.14159, abc] : cria lista com estes valores lst[i]: retorna o elemento na posição i lst[i:j]: retorna os elementos da posição i até a posição j lst.append(aux): insere parametro aux no fim da lista lst.insert(1,alfa): insere a string alfa na posição 1 da lista28/05/2011 Giovani Bolzan Cogo 96
  97. 97. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst = [a, 3, 3.14159, abc] : cria lista com estes valores lst[i]: retorna o elemento na posição i lst[i:j]: retorna os elementos da posição i até a posição j lst.append(aux): insere parametro aux no fim da lista lst.insert(1,alfa): insere a string alfa na posição 1 da lista lst.remove(alfa): remove o elemento alfa28/05/2011 Giovani Bolzan Cogo 97
  98. 98. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst = [a, 3, 3.14159, abc] : cria lista com estes valores lst[i]: retorna o elemento na posição i lst[i:j]: retorna os elementos da posição i até a posição j lst.append(aux): insere parametro aux no fim da lista lst.insert(1,alfa): insere a string alfa na posição 1 da lista lst.remove(alfa): remove o elemento alfa lst.index(3.14159): retorna a posição na lista do valor 3.1415928/05/2011 Giovani Bolzan Cogo 98
  99. 99. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst = [a, 3, 3.14159, abc] : cria lista com estes valores lst[i]: retorna o elemento na posição i lst[i:j]: retorna os elementos da posição i até a posição j lst.append(aux): insere parametro aux no fim da lista lst.insert(1,alfa): insere a string alfa na posição 1 da lista lst.remove(alfa): remove o elemento alfa lst.index(3.14159): retorna a posição na lista do valor 3.14159 lst.sort(): ordena a lista28/05/2011 Giovani Bolzan Cogo 99
  100. 100. Bases da linguagem Python Lista: lst = [ intens ] É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst = [a, 3, 3.14159, abc] : cria lista com estes valores lst[i]: retorna o elemento na posição i lst[i:j]: retorna os elementos da posição i até a posição j lst.append(aux): insere parametro aux no fim da lista lst.insert(1,alfa): insere a string alfa na posição 1 da lista lst.remove(alfa): remove o elemento alfa lst.index(3.14159): retorna a posição na lista do valor 3.14159 lst.sort(): ordena a lista lst.reverse(): inverte a ordem da lista28/05/2011 Giovani Bolzan Cogo 100
  101. 101. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 101
  102. 102. Exercícios práticos Agora, mãos à obra!28/05/2011 Giovani Bolzan Cogo 102
  103. 103. Exercícios práticos Escrever as expressões algébricas computacionais para as expressões abaixo: a) f =ax− 4 3 3 x f = x b) 3 1 c) f= 3 x2 d) f =e x 2 a e x e) f =xy28/05/2011 Giovani Bolzan Cogo 103
  104. 104. Exercícios práticos Escrever as expressões algébricas computacionais para as expressões abaixo: a) f =ax− 4 3 3 x f = a*x – (4/3)*x*x*x ou f = a*x - (4/3)*x**3 f = x b) 3 f = sqrt(x)/3 1 c) f= 3 x2 f = 1 / (3 x*x) ou f = 1/(3x**2) d) f =e x 2 a e x f = exp(x) + 2*a*exp(x) ou f = (1+2*a)*2.71**x e) f =xy f = x**y28/05/2011 Giovani Bolzan Cogo 104
  105. 105. Exercícios práticos Implementar um código que imprima “ 2 + 3 = 5 ” na tela.28/05/2011 Giovani Bolzan Cogo 105
  106. 106. Exercícios práticos Implementar um código que imprima “ 2 + 3 = 5 ” na tela. Resposta: print(“ 2 + 3 = ”,2+3) a=2 b=3 c=a+b print(a,“+”,b,“=”,c)28/05/2011 Giovani Bolzan Cogo 106
  107. 107. Exercícios práticos Implementar um código que calcule e retorne a média entre 3 notas.28/05/2011 Giovani Bolzan Cogo 107
  108. 108. Exercícios práticos Implementar um código que calcule e retorne a média entre 3 notas. Resposta: n1=4.8 n2=6.5 n3=7.0 print((n1+n2+n3)/3)28/05/2011 Giovani Bolzan Cogo 108
  109. 109. Exercícios práticos Implementar um código que solicite ao usuário um número inteiro e retorne se ele é par ou ímpar.28/05/2011 Giovani Bolzan Cogo 109
  110. 110. Exercícios práticos Implementar um código que solicite ao usuário um número inteiro e retorne se ele é par ou ímpar. Resposta: n = raw_input(“digite numero inteiro: ”) if (n%2 == 0): print (“par”) else: print (“impar”)28/05/2011 Giovani Bolzan Cogo 110
  111. 111. Exercícios práticos Implementar um código que solicite ao usuário um número inteiro e retorne sua tabuada (1 → 10).28/05/2011 Giovani Bolzan Cogo 111
  112. 112. Exercícios práticos Implementar um código que solicite ao usuário um número inteiro e retorne sua tabuada (1 → 10). Resposta: n = raw_input(“digite numero inteiro: ”) i = 0 while (i<=10): print (n,“*”,i,“=”,n*i)28/05/2011 Giovani Bolzan Cogo 112
  113. 113. Exercícios práticos Implementar um código que retorne o fatorial de um número solicitado ao usuário.28/05/2011 Giovani Bolzan Cogo 113
  114. 114. Exercícios práticos Implementar um código que retorne o fatorial de um número solicitado ao usuário. Resposta: def fatorial(n): if n <= 1: return 1 else: return n*fatorial(n-1) n=raw_input(digite numero inteiro: ) print(fatorial(int(n)))28/05/2011 Giovani Bolzan Cogo 114
  115. 115. ● Introdução ao conceito de algoritmos ● Algoritmos como vemos no cotidiano ● Linguagens de programação ● Bases de programação ● Laços condicionais ● Laços repetitivos ● Interação usuário-máquina ● Exemplo “Olá mundo!” ● Bases da linguagem Python ● Exercícios práticos ● Bibliografia28/05/2011 Giovani Bolzan Cogo 115
  116. 116. Bibliografia ● Cechinel, C.; Ferrari, F. Introdução a algoritmos e programação v2.2 Unipampa; 2008. ● Tonet, B.; Koliver, C. Introdução aos algoritmos NAPRO/UCS. ● Apostila de algoritmos CFET Campos; 2007. ● Silva, J. L. Introdução à linguagem de programação Python. Com aplicações ao cálculo científico ; 2008. ● Ferrari, F. Computação científica com Python; 2010.28/05/2011 Giovani Bolzan Cogo 116

×