Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... ·...

17
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE MATEMÁTICA Prof. Me. Érico Fernando O. Martins [email protected] Algoritmos e Programação

Transcript of Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... ·...

Page 1: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA

UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP

FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICASCURSO DE MATEMÁTICA

Prof. Me. Érico Fernando O. [email protected]

Algoritmos e Programação

Page 2: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

3. Linguagens de Programação

Page 3: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Tipos primitivos (integrado ou built-in) composto de dados

• Lista (List)Lista é uma sequência ordenada de itens. É um dos tipos de dados mais utilizados em Python e é muitoflexível. Os itens de uma lista não precisam ser do mesmo tipo.

Declarar uma lista é bastante simples. Os itens separados por vírgulas são colocados entre colchetes [].

>>> a = [1, 2.2, 'python']

Podemos usar o operador de fatiamento [] para extrair um item ou um intervalo de itens de uma lista. Oíndice inicia em 0.

As listas são mutáveis, ou seja, o valor dos elementos de uma lista pode ser alterado.

>>> a = [1,2,3]

>>> a[2]=4

>>> a

[1, 2, 4]

Page 4: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Tipos primitivos (integrado ou built-in) composto de dados

• Lista (List)

Aqui estão todos os métodos disponíveis em um objeto lista (list):

• list.append(x)

• list.extend(L)

• list.insert(i, x)

• list.remove(x)

• list.pop([i])

• list.index(x)

• list.count(x)

• list.sort()

• list.reverse()

Page 5: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Tipos primitivos (integrado ou built-in) composto de dados

• Tupla (Tuple)

Tupla é uma sequência ordenada de itens como as listas. A única diferença é que as tuplas sãoimutáveis, uma vez criadas não podem ser modificadas.

As tuplas são usadas para proteger a escrita de dados e geralmente são mais rápidas do que a lista,pois não podem ser alterados dinamicamente.

É definida entre parênteses () onde os itens são separados por vírgulas.

>>> t = (5, 'programa', 1 + 3j)

Podemos usar o operador de fatiamento [] para extrair itens, mas não podemos alterar seu valor.

Page 6: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Tipos primitivos (integrado ou built-in) composto de dados

• Conjunto (Set)

Conjunto é uma coleção desordenada de itens exclusivos (elimina duplicatas).

É definido por valores separados por vírgula dentro de chaves {}.

>>> a = {1,2,2,3,3,3}

>>> a

{1, 2, 3}

Uma vez que os conjuntos são coleções não ordenadas, a indexação não tem significado. Assim, o operador de corte[] não funciona.

>>> a = {1,2,3}

>>> a [1]

Page 7: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Tipos primitivos (integrado ou built-in) composto de dados

• Dicionário (Dictionary)

Dicionário é uma coleção desordenada de pares chave-valor. É geralmente usado quando temos uma enormequantidade de dados. Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar ovalor.

Em Python, os dicionários são definidos dentro de chaves {}, sendo cada item um par na forma chave: valor. A chave eo valor podem ser de qualquer tipo.

>>> d = {1: 'valor', 'chave': 2}

>>> tipo (d)

<Class 'dict'>

Usamos a chave para recuperar o respectivo valor. Mas não o contrário.

Page 8: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Conversão entre dados>>> float(5)

>>> int(10.6)

>>> int(-10.6)

>>> float('2.5')

>>> str(25)

>>> set([1,2,3])

>>> tuple({5,6,7})

>>> list('hello')

>>> dict([[1,2],[3,4]])

>>> dict([(3,26),(4,44)])

Page 9: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Definindo funçõesEm Python, subprogramas têm o nome de funções .

def nome (arg, arg, ... arg):

comandos...

return xxx

• nome é o nome da função;

• arg são os argumentos da função. Uma função pode ter 0, 1 ou mais argumentos;

• comando são as instruções a serem executadas quando a função é invocada;

• return indica o valor a ser devolvido como o resultado da função. return é uma palavra reservada.Se uma função chega a seu fim sem nenhum valor de retorno ter sido especificado, o valor de retorno é None

Page 10: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Definindo funçõesExemplo:

def f(nome):

tx = "Oi " + nome

return tx

Page 11: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Definindo funçõesVariáveis locais e globais

- Variáveis definidas em funções são locais, isto é, só podem ser usadas nas funções em que foram definidas

- Variáveis definidas fora de funções são conhecidas como variáveis globais.É possível no código de uma função ler o conteúdo de uma variável global.

- Para alterar uma variável global, ela precisa ser declarada no corpo da função usando o comando global.

Page 12: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Variáveis locais e globais

>>> def f():

print a

>>> a = 1

>>> f()

1

>>> a

1

>>> def f():

a = 5

print a

>>> f()

5

>>> a

1

>>> def f():

global a

a = 5

print a

>>> f()

5

>>> a

5

Page 13: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Definindo funções

Argumentos de funções- Se uma função define n argumentos, valores para todos eles devem ser passados na chamada;

- É possível dar valores default a argumentos. Se não forem especificados valores para esses argumentos, os defaults são usados.Se apenas alguns argumentos têm default, esses devem ser os últimos na chamada;

>>> def f (nome, saudacao="Oi", pontuacao ="!!"):

ms = saudacao+","+nome+pontuacao

return ms

>>> print f("Joao")

Oi,Joao!!

>>> print f("Joao","Parabens")

Parabens,Joao!!

>>> print f("Joao","Ah","...")

Ah,Joao...

Page 14: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

Definindo funções

Exemplos:

def biggest_number(args):

print max(args)

return max(args)

------------------

def biggest_number(args):

print max(args)

Exemplos:

def biggest_number(args):

return max(args)

------------------

def biggest_number(*args):print max(args)return max(args)

Considere como argumento de entrada a lista c=[-10, -5, 5, 10]

Page 15: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

3. Exercícios Python

Page 16: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

1. Exercício de implementação:

a) Faça a implementação em python e crie os bytecodes dos algoritmos dos exercíciosde Estrutura de Dados (vetor e matriz).

Page 17: Algoritmos e Programação - Unemat - Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/... · Dicionários são otimizados para recuperar dados. Devemos saber a chave para recuperar

CURSO DE MATEMÁTICAAlgoritmos e Programação

Prof. Me. Érico Fernando O. Martins

2. Crie funções em Python para:

a) Retorna se o número é “par” ou “ímpar” (crie docstring);

b) Calcule a área do triângulo (crie docstring);

c) Ao receber um valor retorna se o número é ou não é primo (crie docstring);