Introdução ao conhecimento de     algoritmos e prática de          programação    Giovani Bolzan Cogo {giovanibcogo@gmail....
Sumário ●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   ...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Introdução ao conceito de algoritmos               O que seria um algoritmo?28/05/2011           Giovani Bolzan Cogo   4
Introdução ao conceito de algoritmos    Definição: um algoritmo é um conjunto de instruções sequênciais que tem como objet...
Introdução ao conceito de algoritmos    Definição: um algoritmo é um conjunto de instruções sequênciais que tem como objet...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Algoritmos como vemos no cotidiano    Usamos algoritmos mesmo sem percebê-los. Eles fazem parte do nosso dia-a-dia e quem ...
Algoritmos como vemos no cotidiano    Usamos algoritmos mesmo sem percebê-los. Eles fazem parte do nosso dia-a-dia e quem ...
Algoritmos como vemos no cotidiano       A implementação mais intuitiva e básica seria: 1- tirar lâmpada usada28/05/2011  ...
Algoritmos como vemos no cotidiano       A implementação mais intuitiva e básica seria: 1- tirar lâmpada usada 2- colocar ...
Algoritmos como vemos no cotidiano                                  Figura 1: Algoritmo de como                           ...
Algoritmos como vemos no cotidiano       Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona...
Algoritmos como vemos no cotidiano       Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona...
Algoritmos como vemos no cotidiano       Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona...
Algoritmos como vemos no cotidiano       Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona...
Algoritmos como vemos no cotidiano       Já uma visão mais aguçada do problema envolveria: 1- Checar se a lâmpada funciona...
Algoritmos como vemos no cotidiano    Enfim para quase tudo há um algoritmo que solucione os problemas que queremos.28/05/...
Algoritmos como vemos no cotidiano        Poderíamos chavear uma gaveta com a chave dentro?28/05/2011                 Giov...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Linguagens de programação    Agora introduzidos    ao      conceito     de   linguagens   de programação.28/05/2011       ...
Linguagens de programação     Primeiramente, devemos entender o significado do termo linguagem.28/05/2011              Gio...
Linguagens de programação     Primeiramente, devemos entender o significado do termo linguagem.     Uma linguagem abrange ...
Linguagens de programação    Temos como exemplo mais utilizado a linguagem natural que é utilizada para a comunicação entr...
Linguagens de programação    Temos como exemplo mais utilizado a linguagem natural que é utilizada para a comunicação entr...
Linguagens de programação     As linguagens de programação possuem uma classificação quanto à similaridade entre a linguag...
Linguagens de programação    Iremos utilizar a linguagem Python, por motivos de simples entendimento e curto tempo de resp...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Bases de programação    A programação obviamente segue o mesmo fluxo do conceito de algoritmo:             entrada → proce...
Bases de programação Operadores lógicos: •   and     (conjunção) • •28/05/2011                 Giovani Bolzan Cogo   30
Bases de programação Operadores lógicos: • and       (conjunção) • or        (disjunção) •28/05/2011                 Giova...
Bases de programação Operadores lógicos: • and       (conjunção) • or        (disjunção) • not       (negação)28/05/2011  ...
Bases de programação Operadores aritméticos: •   +       (adição) • • • • •28/05/2011                 Giovani Bolzan Cogo ...
Bases de programação Operadores aritméticos: • +         (adição) • -         (subtração) • • • •28/05/2011               ...
Bases de programação Operadores aritméticos: • +         (adição) • -         (subtração) • *         (multiplicação) • • ...
Bases de programação Operadores aritméticos: • +         (adição) • -         (subtração) • *         (multiplicação) • / ...
Bases de programação Operadores aritméticos: • +         (adição) • -         (subtração) • *         (multiplicação) • / ...
Bases de programação Operadores aritméticos: • +         (adição) • -         (subtração) • *         (multiplicação) • / ...
Bases de programação Operadores relacionais: •   <       (menor) • • • • •28/05/2011                 Giovani Bolzan Cogo  ...
Bases de programação Operadores relacionais: • <         (menor) • <=        (menor ou igual) • • • •28/05/2011           ...
Bases de programação Operadores relacionais: • <         (menor) • <=        (menor ou igual) • >         (maior) • • •28/...
Bases de programação Operadores relacionais: • <         (menor) • <=        (menor ou igual) • >         (maior) • >=    ...
Bases de programação Operadores relacionais: • <         (menor) • <=        (menor ou igual) • >         (maior) • >=    ...
Bases de programação Operadores relacionais: • <         (menor) • <=        (menor ou igual) • >         (maior) • >=    ...
Bases de programação Operador de atribuição: •     = ou ← ou :=         (atribuição)28/05/2011                 Giovani Bol...
Bases de programação Blocos      Blocos de intrução são definidos para separação de instruções, ou seja, para definir quai...
Bases de programação Blocos      Blocos de intrução são definidos para separação de instruções, ou seja, para definir quai...
Bases de programação Tipos de dados    Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados.28/05/...
Bases de programação Tipos de dados    Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados.    El...
Bases de programação Tipos de dados    Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados.    El...
Bases de programação Tipos de dados    Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados.    El...
Bases de programação Tipos de dados    Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados.    El...
Bases de programação Tipos de dados    Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados.    El...
Bases de programação Tipos de dados    Conforme a necessidade, utiliza-se alguns tipos de dados a serem manipulados.    El...
Bases de programação Constantes     São dados definidos inicialmente e não passíveis de alteração ao decorrer do código.28...
Bases de programação Variáveis    Ao decorrer do código, precisamos processar dados e estes precisam ser gravados em algum...
Bases de programação Variáveis     Ao decorrer do código, precisamos processar dados e estes precisam ser gravados em algu...
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ó é...
Bases de programação Variável global     É o tipo de variável que está predomina no código inteiro. É válida em qualquer p...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Laços condicionais    Quando chega-se a um momento em que se deve tomar uma decisão, podemos usar um laço condicional para...
Laços condicionais    Quando chega-se a um momento em que se deve tomar uma decisão, podemos usar um laço condicional para...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Laços repetitivos    Quando algo pode ser repetitivamente executado, podemos utilizar um laço repetitivo para não ter que ...
Laços repetitivos    Quando algo pode ser repetitivamente executado, podemos utilizar um laço repetitivo para não ter que ...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Recursividade    Quando encontramos situações em que uma função é chamada por ela mesma, dizemos que esta é uma função rec...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Interação usuário-máquina    Um programa deve seguir uma funcionalidade. Se esta funcionalidade requerer que o programa te...
Interação usuário-máquina    Dizemos que isso seriam ações de entrada e saída de dados.28/05/2011            Giovani Bolza...
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...
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...
Interação usuário-máquina    Dentre as interações clássicas* entre usuário e máquina destacam-se os dispositivos periféric...
Interação usuário-máquina    Dentre as interações clássicas* entre usuário e máquina destacam-se os dispositivos periféric...
Interação usuário-máquina    Dentre as interações clássicas* entre usuário e máquina destacam-se os dispositivos periféric...
Interação usuário-máquina    Já no código, podemos basicamente esclarecer isso como formas de leituras e escritas, em que ...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Exemplo “olá mundo!” Em Python:                     Em C: print “ola mundo!”             # include <stdio.h>              ...
Exemplo “olá mundo!”       Vídeo-tutorial do código “Olá mundo!” em linguagem C.28/05/2011                 Giovani Bolzan ...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Bases da linguagem Python    Variáveis em Pyhton não necessitam serem declaradas predefinidademente como em muitas outras ...
Bases da linguagem Python    A inserção de bibliotecas acontece antes de qualquer linha de código e de forma: import bibli...
Bases da linguagem Python       Os blocos de instruções são definidos por identação.28/05/2011                  Giovani Bo...
Bases da linguagem Python    As funções são delimitadas pela palavra reservada def e deve aparentar como: def (x,y):    … ...
Bases da linguagem Python     A partir das funções raw_input() and print() pode-se ler do teclado e escrever na tela, resp...
Bases da linguagem Python Como no exemplo “Ola             Se quiséssemos adquirir um mundo!”, a função print foi      val...
Bases da linguagem Python A função print() aceita seus      A função raw_input() imprime argumentos repassando-os         ...
Bases da linguagem Python Laços condicionais:       if ( condicao ):                     if ( condicao1 ):            …   ...
Bases da linguagem Python Laços repetitivos:       while ( condicao ):          ...28/05/2011                   Giovani Bo...
Bases da linguagem Python Definição de funções:       def funcao ( parametros ):          ...28/05/2011                   ...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo.28/0...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst...
Bases da linguagem Python Lista: lst = [ intens ]     É um array, ou seja, uma sequênia de elementos de qualquer tipo. lst...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Exercícios práticos                  Agora, mãos à obra!28/05/2011            Giovani Bolzan Cogo   102
Exercícios práticos    Escrever as expressões algébricas computacionais para as expressões abaixo: a)      f =ax−         ...
Exercícios práticos    Escrever as expressões algébricas computacionais para as expressões abaixo: a)      f =ax−         ...
Exercícios práticos       Implementar um código que imprima “ 2 + 3 = 5 ” na tela.28/05/2011                  Giovani Bolz...
Exercícios práticos       Implementar um código que imprima “ 2 + 3 = 5 ” na tela. Resposta: print(“ 2 + 3 = ”,2+3)       ...
Exercícios práticos    Implementar um código que calcule e retorne a média entre 3 notas.28/05/2011               Giovani ...
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 p...
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...
Exercícios práticos     Implementar um código que solicite ao usuário um número inteiro e retorne se ele é par ou ímpar. R...
Exercícios práticos     Implementar um código que solicite ao usuário um número inteiro e retorne sua tabuada (1 → 10).28/...
Exercícios práticos     Implementar um código que solicite ao usuário um número inteiro e retorne sua tabuada (1 → 10). Re...
Exercícios práticos   Implementar um código que retorne o fatorial de um número solicitado ao usuário.28/05/2011          ...
Exercícios práticos   Implementar um código que retorne o fatorial de um número solicitado ao usuário. Resposta: def fator...
●   Introdução ao conceito de algoritmos ●   Algoritmos como vemos no cotidiano ●   Linguagens de programação ●   Bases de...
Bibliografia ● Cechinel, C.; Ferrari, F. Introdução a algoritmos e programação v2.2 Unipampa; 2008. ● Tonet, B.; Koliver, ...
Upcoming SlideShare
Loading in...5
×

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

1,482

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,482
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×