Este documento introduz conceitos fundamentais de algoritmos e programação, incluindo: (1) a definição de algoritmos e exemplos de como eles são usados no cotidiano, (2) linguagens de programação e a linguagem Python que será usada, (3) as bases da programação como entrada, processamento e saída de dados, e (4) tipos de dados, operadores e blocos de código. O documento também lista tópicos como laços, interação com usuário e exercícios práticos que serão abordados.
Introdução ao conhecimento de algoritmos e prática de programação - Giovani Cogo
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. 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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 2
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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 3
4. Introdução ao conceito de algoritmos
O que seria um algoritmo?
28/05/2011 Giovani Bolzan Cogo 4
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. 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. ● 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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 7
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. 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. Algoritmos como vemos no cotidiano
A implementação mais intuitiva e básica seria:
1- tirar lâmpada usada
28/05/2011 Giovani Bolzan Cogo 10
11. Algoritmos como vemos no cotidiano
A implementação mais intuitiva e básica seria:
1- tirar lâmpada usada
2- colocar lâmpada nova
28/05/2011 Giovani Bolzan Cogo 11
12. Algoritmos como vemos no cotidiano
Figura 1: Algoritmo de como
trocar uma lâmpada em forma
de fluxograma
28/05/2011 Giovani Bolzan Cogo 12
13. Algoritmos como vemos no cotidiano
Já uma visão mais aguçada do problema envolveria:
1- Checar se a lâmpada funciona
28/05/2011 Giovani Bolzan Cogo 13
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ável
28/05/2011 Giovani Bolzan Cogo 14
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 estragada
28/05/2011 Giovani Bolzan Cogo 15
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 nova
28/05/2011 Giovani Bolzan Cogo 16
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 nova
28/05/2011 Giovani Bolzan Cogo 17
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. Algoritmos como vemos no cotidiano
Poderíamos chavear uma gaveta com a chave dentro?
28/05/2011 Giovani Bolzan Cogo 19
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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 20
21. Linguagens de programação
Agora introduzidos ao conceito de linguagens de
programação.
28/05/2011 Giovani Bolzan Cogo 21
22. Linguagens de programação
Primeiramente, devemos entender o significado do termo
linguagem.
28/05/2011 Giovani Bolzan Cogo 22
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. 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. 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ção
28/05/2011 Giovani Bolzan Cogo 25
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. 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. ● 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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 28
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. Bases de programação
Operadores lógicos:
• and (conjunção)
•
•
28/05/2011 Giovani Bolzan Cogo 30
31. Bases de programação
Operadores lógicos:
• and (conjunção)
• or (disjunção)
•
28/05/2011 Giovani Bolzan Cogo 31
32. Bases de programação
Operadores lógicos:
• and (conjunção)
• or (disjunção)
• not (negação)
28/05/2011 Giovani Bolzan Cogo 32
45. Bases de programação
Operador de atribuição:
• = ou ← ou := (atribuição)
28/05/2011 Giovani Bolzan Cogo 45
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. ● 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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 60
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. 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. ● 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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 63
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. 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. ● 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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 66
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. ● 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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 68
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. 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. 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. 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. 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. 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. 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 screen
28/05/2011 Giovani Bolzan Cogo 75
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. ● 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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 77
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. Exemplo “olá mundo!”
Vídeo-tutorial do código “Olá mundo!” em linguagem C.
28/05/2011 Giovani Bolzan Cogo 79
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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 80
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. Bases da linguagem Python
A inserção de bibliotecas acontece antes de qualquer linha
de código e de forma:
import biblioteca
28/05/2011 Giovani Bolzan Cogo 82
83. Bases da linguagem Python
Os blocos de instruções são definidos por identação.
28/05/2011 Giovani Bolzan Cogo 83
84. Bases da linguagem Python
As funções são delimitadas pela palavra reservada def e
deve aparentar como:
def (x,y):
…
return valor
28/05/2011 Giovani Bolzan Cogo 84
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. 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. 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).
$ 12
28/05/2011 Giovani Bolzan Cogo 87
89. Bases da linguagem Python
Laços repetitivos:
while ( condicao ):
...
28/05/2011 Giovani Bolzan Cogo 89
90. Bases da linguagem Python
Definição de funções:
def funcao ( parametros ):
...
28/05/2011 Giovani Bolzan Cogo 90
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. 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
28/05/2011 Giovani Bolzan Cogo 92
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 i
28/05/2011 Giovani Bolzan Cogo 93
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 j
28/05/2011 Giovani Bolzan Cogo 94
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 lista
28/05/2011 Giovani Bolzan Cogo 95
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 lista
28/05/2011 Giovani Bolzan Cogo 96
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 'alfa'
28/05/2011 Giovani Bolzan Cogo 97
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.14159
28/05/2011 Giovani Bolzan Cogo 98
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 lista
28/05/2011 Giovani Bolzan Cogo 99
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 lista
28/05/2011 Giovani Bolzan Cogo 100
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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 101
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 =xy
28/05/2011 Giovani Bolzan Cogo 103
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**y
28/05/2011 Giovani Bolzan Cogo 104
105. Exercícios práticos
Implementar um código que imprima “ 2 + 3 = 5 ” na tela.
28/05/2011 Giovani Bolzan Cogo 105
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. 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. 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. 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. 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. 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. 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. 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. ● 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
● Bibliografia
28/05/2011 Giovani Bolzan Cogo 115
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