SlideShare uma empresa Scribd logo
1 de 49
M A R C E L O R O D R I G U E S
F U N C E M E – J U N H O 2 0 1 6
INTRODUÇÃO A LÓGICA
DE PROGRAMAÇÃO
LÓGICA DE PROGRAMAÇÃO?
• PROGRAMA → PROBLEMA
• PROBLEMA
• ANÁLISE
• ALGORITMO
• PROGRAMA
Lógica de Programação é a técnica de desenvolver sequências
lógicas para atingir um determinado objetivo. Essas sequências
lógicas são adaptadas para linguagem de computador pelo
programador a fim de produzir software. Uma sequência lógica
é denominada algoritmo.
ALGORITMO - PASSO A PASSO
① DEFINIR O PROBLEMA
② ANÁLISE:
① Entrada
② Saída
③ Objetivos
③ ALGORITMO:
① Sequência de Instruções
④ INSTRUÇÕES:
① Sequência de comandos
② Seleção condicional
③ Iteração
⑤ LINGUAGEM DE PROGRAMAÇÃO:
① PYTHON, C++, JAVA, etc.
POR QUÊ PYTHON?
• Python é uma linguagem livre;
• Python é multiplataforma;
• Python tem uma biblioteca padrão imensa;
• Pequena curva de aprendizado;
• Simplicidade;
EXEMPLO ALGORITMO
NOME DO ALGORITMO: SOMA
INICIO
LER VALOR1
LER VALOR2
SOMA ← VALOR1 + VALOR2
ESCREVER SOMA
FIM
Arquivo: soma.py
val1 = float(raw_input(‘digite um numero: ’))
val2 = float(raw_input(‘digite um numero: ’))
soma = val1 + val2
print soma
VARIÁVEIS
• São nomes dados a áreas de memória
• Nomes podem ser compostos de algarismos, letras ou _;
• O primeiro caractere não pode ser um algarismo;
• Palavras reservadas (if, while, etc) são proibidas;
• Servem para:
• Guardar valores intermediários;
• Construir estruturas de dados;
• Uma variável é modificada usando o comando de atribuição:
• var = expressão
TIPOS DADOS
• TIPOS PRIMITIVOS
• INTEIROS (1, 5, 10, 100, …, 4 )
• REAIS (1.0, 5.1, 10.4, …, 4.6)
• STRINGS (‘a’, ‘abc’, ‘carro’, ‘casa’)
• BOOLEAN (‘TRUE’ ou ‘FALSE’)
• TIPOS COMPOSTOS:
• LISTAS (PYTHON) []
• DICIONÁRIOS (PYTHON) {}
• TUPLAS (PYTHON) ()
LÓGICA PROPOSICIONAL
Sistema lógico que busca formalizar a noção de proposição, e
de como um conjunto de proposições pode ser criado pela
combinação de proposições de forma a gerar um resultado
consistente que possa ser aplicado para determinar se este
conjunto é verdadeiro ou falso. É essencial aprender os
conceitos básicos da Lógica Proposicional, pois é baseado
nesta lógica que as instruções das linguagens de programação
são construídas.
Proposição é uma afirmação qualquer que fazemos, que pode
assumir o valor de Verdadeiro (V) ou Falso (F). Por exemplo:
"Hoje está chovendo."
"O Sol é amarelo."
"Você está doente."
PRINCIPAIS OPERADORES LÓGICOS
• NEGAÇÃO (NOT)
• CONJUNÇÃO (AND)
• DISJUNÇÃO (OR)
TABELA VERDADE
Tabela verdade é um tipo de tabela matemática usada em
lógica para determinar se uma fórmula é válida.
P=“ESTAMOS EM 2014”
NEGAÇÃO (NOT)
P NOT(P)
V F
F V
TABELA VERDADE
P=“HOJE É SEGUNDA”
Q=“ESTÁ CHOVENDO”
CONJUNÇÃO (AND)
P Q P AND Q
V V V
V F F
F V F
F F F
TABELA VERDADE
P=“HOJE É SEGUNDA”
Q=“ESTÁ CHOVENDO”
DISJUNÇÃO (OR)
P Q P AND Q
V V V
V F V
F V V
F F F
PRECEDÊNCIA DOS OPERADORES
LÓGICOS
QUANDO HOUVER
AMBIGUIDADE: ASSOCIATIVA A
DIREITA.
PRECEDÊNCIA
NOT 1
AND 2
OR 2
OPERADORES ARITMÉTICOS
OPERADORES ARITMÉTICOS
+ SOMA A + B
- SUBTRAÇÃO A – B
* MULTIPLICAÇÃO A * B
/ DIVISÃO A / B
% MÓDULO A % B
** EXPONECIAÇÃO A ** B
ORDEM DOS OPERADORES
ARITMÉTICOS
• P: Parênteses têm a mais alta precedência e podem ser
usados para forçar uma expressão a ser avaliada na ordem
que você quiser. Já que expressões entre parênteses são
avaliadas primeiro, 2 * (3-1) é 4, e (1+1)**(5-2) é 8. Você
também pode usar parênteses para tornar uma expressão
mais fácil de ler, como em (minuto * 100) / 60, ainda que isso
não altere o resultado.
• E: Exponenciação ou potenciação tem a próxima precedência
mais alta, assim 2**1+1 é 3 e não 4, e 3*1**3 é 3 e não 27.
• MDAS: Multiplicação e Divisão têm a mesma precedência,
que é mais alta do que a da Adição e da Subtração, que
também têm a mesma precedência. Assim 2*3-1 dá 5 em vez
de 4, e 2/3-1 é -1, não 1 (lembre-se de que na divisão inteira,
2/3=0).
OPERADORES RELACIONAIS
OPERADORES
ARITMÉTICOS
== IGUAL
!=
DIFERENT
E
<=
MENOR
OU IGUAL
>=
MAIOR OU
IGUAL
< MENOR
> MAIOR
EXERCÍCIO
EXERCÍCIO 1
ESTRUTURAS DE CONTROLES
• Para poder escrever programas úteis, quase sempre
precisamos da habilidade de checar condições e mudar o
comportamento do programa de acordo com elas. As
instruções condicionais nos dão essa habilidade. A forma
mais simples é a instrução SE (IF):
if x > 0:
print "x é positivo”
• A expressão booleana depois da instrução if é chamada de
condição. Se ela é verdadeira (true), então a instrução
identada é executada. Se não, nada acontece.
ESTRUTURAS DE CONTROLES
• Um segundo formato da instrução if é a execução
alternativa, na qual existem duas possibilidades e a condição
determina qual delas será executada.
if x % 2 == 0:
print x, “par”
else:
print x, “impar”
• Se o resto da divisão de x por 2 for 0, então sabemos que x é
par, e o programa exibe a mensagem para esta condição. Se
a condição é falsa, o segundo grupo de instruções é
executado. Desde que a condição deva ser verdadeira (True)
ou falsa (False), precisamente uma das alternativas vai ser
executada.
ESTRUTURAS DE CONTROLES
• Às vezes existem mais de duas possibilidades e
precisamos de mais que dois ramos. Uma condicional
encadeada é uma maneira de expressar uma operação
dessas:
if x < y:
print x, "é menor que", y
elif x > y:
print x, "é maior que", y
else:
print x, "e", y, "são iguais”
ESTRUTURAS DE CONTROLES
• elif é uma abreviação de “else if” (“senão se”). De novo,
precisamente um ramo será executado. Não existe limite para
o número de instruções elif, mas se existir uma instrução
else ela tem que vir por último:
if escolha == ’A’:
funcaoA()
elif escolha == ’B’:
funcaoB()
elif escolha == ’C’:
funcaoC()
else:
print "Escolha inválida.”
ESTRUTURAS DE CONTROLES
• Um condicional também pode ser aninhado dentro de outra.
Poderíamos ter escrito o exemplo tricotômico (dividido em três)
como segue:
if x == y:
print x, "e", y, "são iguais”
else:
if x < y:
print x, "é menor que", y
else:
print x, "é maior que", y
• O condicional mais externo tem dois ramos. O primeiro ramo
contém uma única instrução de saída. O segundo ramo contém
outra instrução if, que por sua vez tem dois ramos. Os dois ramos
são ambos instruções de saída, embora pudessem conter
instruções condicionais também.
ESTRUTURAS DE REPETIÇÃO (WHILE)
• O loop while tem como função repetir determinado bloco de
comando, até que uma determinada condição seja verdadeira. Para
que o bloco seja executado no momento correto, devemos manter
uma rígida endentação, ou seja, tudo que pertencer ao bloco do
while, deve estar quatro espaços a frente, isto ajuda a deixar o
código legível e organizado.
• O while é um comando muito útil, mas pode ser perigoso, pois se
não tratarmos corretamente o critério de parada, o laço pode não ter
fim, e o programa não faz o que deveria.
x = 100
while x > 0:
print x, “x > 0”
x = x – 1
ESTRUTURAS DE REPETIÇÃO (WHILE)
• Aqui temos um laço que seria executado eternamente (while
True:). Porém, dentro dele, fazemos uma verificação, e quando a
variável i estiver guardando um valor maior que 100, será
executado o comando break.
• O comando break literalmente quebra o laço, então, naquele
instante, o programa sai do laço.
i = 0
while True:
print “Não vou parar nunca!”
i = i + 1
if i > 100:
break
• Assim, juntamente ao comando while, vimos agora o comando
break que pode ser muito útil para quebrar laços fora da
comparação padrão.
ESTRUTURAS DE REPETIÇÃO (WHILE)
• No exemplo abaixo, inicialmente i recebe o valor 0, e é comparado com 100.
Como 0 é menor que 100, o laço começa. Logo em seguida, temos uma
comparação: if 1 % 2 == 0:, aqui verificamos se i é par. Caso i seja múltiplo de
dois, há um comando continue. continue faz com que esta iteração do laço
termine e o programa passe para a próxima iteração.
• Desta forma, o programa ignora tudo o que está após o if. No caso de i não ser
par, o programa não executa o continue, e imprime o valor de i na tela.
• Se um continue estivesse fora do if, sempre o programa executaria este
continue, e nunca seria executado o que há após ele. Assim, o continue
controla a execução do laço sem quebrá-lo.
i=0
while i < 100:
if i % 2 == 0:
i = i + 1
continue
print i
i = i + 1
ESTRUTURAS DE REPETIÇÃO (FOR)
• O comando for, em Python, difere do que normalmente
se vê em outras linguagens de programação, onde esse
comando tem a finalidade de realizar uma iteração
baseada numa progressão aritmética, percorrendo os
números definido pelo usuário, enquanto em Python a
iteração é feita percorrendo os itens de uma sequência,
seja ela uma lista ou até mesmo uma string. Vamos
analisar o código abaixo:
for i in range(10):
print i
ESTRUTURAS DE REPETIÇÃO (FOR)
• A estrutura anterior utiliza uma variável criada, no caso i, para
percorrer cada elemento da lista criada com o comando
range(10), com isso, cada repetição feita pelo loop for fará
com que a variável i aponte para um diferente valor dentro da
lista formada pela função range e logo em seguida imprima
esse valor.
• Nota: Quando fazemos range(10), teremos uma lista de
inteiros de 0 a 9.
• A função for também pode ser aplicada com o uso de listas,
observemos o caso abaixo:
lista = ['vida', 42, 'o universo', 6, 'e', 7, 'tudo’]
for item in lista:
print “O item atual é:”, item
EXERCÍCIOS
EXERCÍCIO 2
E
EXERCÍCIO 3
FUNÇÃO
• Imagina que temos a seguinte situação num programa
qualquer:
Instrução1
Bloco1
Instrução2
Bloco1
FUNÇÃO
• Uma função normalmente contém instruções para
realizar uma operação específica e devolver o resultado.
• Os parâmetros de entrada são os valores que são
passados para serem processados pela função.
• A função usa os valores de entrada para determinar os
resultados das suas instruções.
• Uma função pode ter vários valores de entrada, assim
como pode não ter nenhum.
• Quando a função contém mais de um parâmetro, eles
são separados por vírgulas.
FUNÇÃO
• O valor de retorno de uma função é o valor que a função
irá devolver.
• Assim como parâmetros, a função pode não ter nenhum
valor de retorno ou ter vários.
• Quando há mais de um valor de retorno, a função
devolve uma lista de valores de retorno.
• Ter vários valores de retorno é algo meio exclusivo de
Python.
FUNÇÃO
def myfunc():
print ‘hello world’
def pow(base, expoente):
potencia = base**expoente
return potencia
FUNÇÃO
• Diferentemente de outras linguagens como o caso do
Pascal, as funções em Python podem ser declaradas
em qualquer parte do programa, mas só podem ser
usadas depois de declaradas.
• Isto quer dizer que qualquer referência a uma função
antes da linha de declaração da mesma resultará num
erro.
FUNÇÃO
def soma(valor1, valor2):
result = valor1 + valor2
return result
valor = soma(3, 5)
print soma
MÓDULOS
• Módulos são programas feitos para serem
reaproveitados em outros programas.
• Eles tipicamente contêm funções, variáveis, classes e
objetos que provêm alguma funcionalidade comum.
• Por exemplo, o módulo math contém funções
matemáticas como sin, exp, etc, além da constante pi.
MÓDULOS
• Qualquer programa que você escreva e salve num
arquivo pode ser importado como um módulo;
• Por exemplo, se você salva um programa com o nome
prog.py, ele pode ser importado usando o comando:
import prog
• Entretanto, a “importação” só ocorre uma vez;
• Python assume que variáveis e funções não são
mudados e que o código do módulo serve meramente
para inicializar esses elementos
MÓDULOS
• Após a importação de um módulo, este é compilado,
gerando um arquivo .pyc correspondente;
• No exemplo, um arquivo prog.pyc será criado;
• Python só recompila um programa se o arquivo .py for
mais recente que o arquivo .pyc;
MÓDULOS
$ cat prog.py
def myfunc():
print ‘hello world’
>>> import prog
>>> prog.myfunc()
$ ls prog*
LEITURA E ESCRITA DE ARQUIVOS
• Python proporciona funções (veremos mais à frente o
que é isso) que permitem solicitar ao sistema operativo
acesso ao disco a fim de ler ou gravar algum conjunto
de dados.
• De forma genérica as operações que podemos realizar
sobre os arquivos no disco são: Abertura, Leitura,
Escritura e Fechamento.
ABRINDO ARQUIVOS
• O formato básico para abertura de arquivos é:
arq = open('nome_arq', 'modo’)
• O primeiro argumento da função open é uma string que
contem o nome do arquivo ('nome_arq') com o qual vamos
trabalhar.
• O segundo argumento é outra string que é o modo com que
desejamos tratar o arquivo:
• "r" modo de leitura: abre o arquivo só para ser lido.
• "w" modo de escrita: cria um novo arquivo. Se já existe, apaga seu
conteúdo.
• "a" modo de continuação: abre (se existe) ou cria (caso não exista)
o arquivo a fim de poder escrever no final dele.
ABRINDO ARQUIVOS
Para ler uma linha do arquivo utilizamos o método
readline.
# -*- coding: utf-8 -*- #
arq = open(‘file.txt’, ‘r’)
linha = arq.readline()
print linha
linha = arq.readline(5)
print linha
arq.close()
ESCREVENDO ARQUIVOS
O Python permite escrever usando a função write():
# -*- coding: utf-8 -*- #
arq = open(‘texto.txt’, ‘w’)
arq.write(‘ola n‘)
arq.write(‘mundo!n’)
arq.close()
NUMPY - ABRINDO ARQUIVOS
# -*- coding: utf-8 -*- #
import numpy as np
d = np.genfromtxt('data_table3.txt', skip_header=1)
print d
print type(d)
print d.shape
print np.mean(d, axis=0)
print np.mean(d, axis=1)
NUMPY – SALVANDO ARQUIVOS
# -*- coding: utf-8 -*- #
import numpy as np.
x = np.arange(0.0, 5.0, 1.0)
np.savetxt('test1.txt', x)
np.savetxt('test2.txt', x, fmt='%1.2f')
ABRINDO ARQUIVOS NETCDF
# -*- coding: utf-8 -*- #
from netCDF4 import Dataset
data = Dataset(‘file.nc’, ‘r’)
pcp = data.variables[‘pcp’][:]
lat = data.variables[‘latitude’][:]
lon = data.variables[‘longitude’][:]
data.close()
print pcp.shape
print lat
print lon
GRÁFICOS EM PYTHON
• matplotlib (http://matplotlib.org/) é uma biblioteca do
Python para criação de gráficos em 2D, bastante
utilizada para visualização de dados e que apresenta
uma série de possibilidades gráficas, como gráficos de
barra, linha, pizza, histogramas, entre muitos outros.
• O matplotlib já está incluso na distribuição Anaconda (e
em praticamente todas as distribuições de Python
focadas em Análise de Dados e programação
científica).
GRÁFICOS EM PYTHON
# -*- coding: utf-8 -*- #
import numpy as np
import matplotlib.pyplot as plt
plt.plot([0,10,20,30])
plt.show()
GRÁFICOS EM PYTHON
# -*- coding: utf-8 -*- #
import numpy as np
import matplotlib.pyplot as plt
y = [20,50,30]
x = range(len(y))
width_n = 0.4
bar_color = 'yellow'
plt.bar(x, y, width=width_n,
color=bar_color)
plt.show()
GRÁFICOS EM PYTHON
Mais exemplos:
http://matplotlib.org/examples/index.html

Mais conteúdo relacionado

Mais procurados

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalFelipe J. R. Vieira
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programaçãoElaine Cecília Gatto
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
1º introdução a lógica de programação
1º   introdução a lógica de programação1º   introdução a lógica de programação
1º introdução a lógica de programaçãoLucas Mendes
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeFelipe J. R. Vieira
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...André Constantino da Silva
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Java: Estruturas de Repetição
Java: Estruturas de RepetiçãoJava: Estruturas de Repetição
Java: Estruturas de RepetiçãoArthur Emanuel
 
Logica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaLogica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaRegis Magalhães
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasKleber Jacinto
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine Cecília Gatto
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 

Mais procurados (20)

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Apostila c
Apostila cApostila c
Apostila c
 
1º introdução a lógica de programação
1º   introdução a lógica de programação1º   introdução a lógica de programação
1º introdução a lógica de programação
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Java: Estruturas de Repetição
Java: Estruturas de RepetiçãoJava: Estruturas de Repetição
Java: Estruturas de Repetição
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Visualg
VisualgVisualg
Visualg
 
Logica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaLogica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A Logica
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramas
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 

Destaque

Conceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosConceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosVando Junqueira
 
Matematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudMatematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudJefferson Cuaspud
 
Aula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosAula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosMairaM
 
04 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.204 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.2César Augusto Pessôa
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4César Augusto Pessôa
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPSedu
 
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...Professor Samuel Ribeiro
 
Gerenciamento de projetos de engenharia
Gerenciamento de projetos de engenhariaGerenciamento de projetos de engenharia
Gerenciamento de projetos de engenhariaWladmir Araujo
 
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)Luis Henrique Nunes Quezado
 
Presentación evaluacion y cierre de curso virtual
Presentación  evaluacion y cierre de curso virtualPresentación  evaluacion y cierre de curso virtual
Presentación evaluacion y cierre de curso virtualJose iGNACIO Jimenez
 
Gerencia deprojeos modulo_1_final_ (2)
Gerencia deprojeos modulo_1_final_ (2)Gerencia deprojeos modulo_1_final_ (2)
Gerencia deprojeos modulo_1_final_ (2)maryvascon
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoJosé Araújo
 

Destaque (20)

PyFuncemeClimateTools
PyFuncemeClimateToolsPyFuncemeClimateTools
PyFuncemeClimateTools
 
Conceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmosConceitos fundamentais-de-algoritmos
Conceitos fundamentais-de-algoritmos
 
Matematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson CuaspudMatematicas operadores logicos jefferson Cuaspud
Matematicas operadores logicos jefferson Cuaspud
 
Algoritmos conceitos
Algoritmos conceitosAlgoritmos conceitos
Algoritmos conceitos
 
Aula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de ProjetosAula1 - Gerenciamento de Projetos
Aula1 - Gerenciamento de Projetos
 
Aula 15 minutos
Aula 15 minutosAula 15 minutos
Aula 15 minutos
 
Operadores booleanos
Operadores booleanosOperadores booleanos
Operadores booleanos
 
04 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.204 - Operadores lógicos e expressões lógicas - v1.2
04 - Operadores lógicos e expressões lógicas - v1.2
 
LÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVELLÓGICA PROGRAMÁVEL
LÓGICA PROGRAMÁVEL
 
01 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.401 - Introdução a lógica de programação - v1.4
01 - Introdução a lógica de programação - v1.4
 
Estruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHPEstruturas de controle if/else switch PHP
Estruturas de controle if/else switch PHP
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Operadores
OperadoresOperadores
Operadores
 
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 02: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 02: Conceitos básicos de...
 
Algoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetiçãoAlgoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetição
 
Gerenciamento de projetos de engenharia
Gerenciamento de projetos de engenhariaGerenciamento de projetos de engenharia
Gerenciamento de projetos de engenharia
 
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
Minicurso Gerenciamento de Projetos (Prática e Aplicabilidade)
 
Presentación evaluacion y cierre de curso virtual
Presentación  evaluacion y cierre de curso virtualPresentación  evaluacion y cierre de curso virtual
Presentación evaluacion y cierre de curso virtual
 
Gerencia deprojeos modulo_1_final_ (2)
Gerencia deprojeos modulo_1_final_ (2)Gerencia deprojeos modulo_1_final_ (2)
Gerencia deprojeos modulo_1_final_ (2)
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 

Semelhante a Introducao a Lógica de Programação

Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 
Aula 03 estrutura de seleção
Aula 03   estrutura de seleçãoAula 03   estrutura de seleção
Aula 03 estrutura de seleçãoTácito Graça
 
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++Verônica Veiga
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii CarlaCarla Silva
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçaossuserc6132d
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisãoEvelyneBorges
 
ESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.pptESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.pptFabianoVilhete3
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_javaMirlem Pereira
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoJessica Ribeiro
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência JavaMario Jorge Pereira
 

Semelhante a Introducao a Lógica de Programação (20)

Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Aula 03 estrutura de seleção
Aula 03   estrutura de seleçãoAula 03   estrutura de seleção
Aula 03 estrutura de seleção
 
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
Cap3 icc final
Cap3 icc finalCap3 icc final
Cap3 icc final
 
portugol
portugolportugol
portugol
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii Carla
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçao
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
02 while
02 while02 while
02 while
 
Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
ESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.pptESTRUTURAS_DE_REPETICAO.ppt
ESTRUTURAS_DE_REPETICAO.ppt
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de Programação
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 

Introducao a Lógica de Programação

  • 1. M A R C E L O R O D R I G U E S F U N C E M E – J U N H O 2 0 1 6 INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO
  • 2. LÓGICA DE PROGRAMAÇÃO? • PROGRAMA → PROBLEMA • PROBLEMA • ANÁLISE • ALGORITMO • PROGRAMA Lógica de Programação é a técnica de desenvolver sequências lógicas para atingir um determinado objetivo. Essas sequências lógicas são adaptadas para linguagem de computador pelo programador a fim de produzir software. Uma sequência lógica é denominada algoritmo.
  • 3. ALGORITMO - PASSO A PASSO ① DEFINIR O PROBLEMA ② ANÁLISE: ① Entrada ② Saída ③ Objetivos ③ ALGORITMO: ① Sequência de Instruções ④ INSTRUÇÕES: ① Sequência de comandos ② Seleção condicional ③ Iteração ⑤ LINGUAGEM DE PROGRAMAÇÃO: ① PYTHON, C++, JAVA, etc.
  • 4. POR QUÊ PYTHON? • Python é uma linguagem livre; • Python é multiplataforma; • Python tem uma biblioteca padrão imensa; • Pequena curva de aprendizado; • Simplicidade;
  • 5. EXEMPLO ALGORITMO NOME DO ALGORITMO: SOMA INICIO LER VALOR1 LER VALOR2 SOMA ← VALOR1 + VALOR2 ESCREVER SOMA FIM Arquivo: soma.py val1 = float(raw_input(‘digite um numero: ’)) val2 = float(raw_input(‘digite um numero: ’)) soma = val1 + val2 print soma
  • 6. VARIÁVEIS • São nomes dados a áreas de memória • Nomes podem ser compostos de algarismos, letras ou _; • O primeiro caractere não pode ser um algarismo; • Palavras reservadas (if, while, etc) são proibidas; • Servem para: • Guardar valores intermediários; • Construir estruturas de dados; • Uma variável é modificada usando o comando de atribuição: • var = expressão
  • 7. TIPOS DADOS • TIPOS PRIMITIVOS • INTEIROS (1, 5, 10, 100, …, 4 ) • REAIS (1.0, 5.1, 10.4, …, 4.6) • STRINGS (‘a’, ‘abc’, ‘carro’, ‘casa’) • BOOLEAN (‘TRUE’ ou ‘FALSE’) • TIPOS COMPOSTOS: • LISTAS (PYTHON) [] • DICIONÁRIOS (PYTHON) {} • TUPLAS (PYTHON) ()
  • 8. LÓGICA PROPOSICIONAL Sistema lógico que busca formalizar a noção de proposição, e de como um conjunto de proposições pode ser criado pela combinação de proposições de forma a gerar um resultado consistente que possa ser aplicado para determinar se este conjunto é verdadeiro ou falso. É essencial aprender os conceitos básicos da Lógica Proposicional, pois é baseado nesta lógica que as instruções das linguagens de programação são construídas. Proposição é uma afirmação qualquer que fazemos, que pode assumir o valor de Verdadeiro (V) ou Falso (F). Por exemplo: "Hoje está chovendo." "O Sol é amarelo." "Você está doente."
  • 9. PRINCIPAIS OPERADORES LÓGICOS • NEGAÇÃO (NOT) • CONJUNÇÃO (AND) • DISJUNÇÃO (OR)
  • 10. TABELA VERDADE Tabela verdade é um tipo de tabela matemática usada em lógica para determinar se uma fórmula é válida. P=“ESTAMOS EM 2014” NEGAÇÃO (NOT) P NOT(P) V F F V
  • 11. TABELA VERDADE P=“HOJE É SEGUNDA” Q=“ESTÁ CHOVENDO” CONJUNÇÃO (AND) P Q P AND Q V V V V F F F V F F F F
  • 12. TABELA VERDADE P=“HOJE É SEGUNDA” Q=“ESTÁ CHOVENDO” DISJUNÇÃO (OR) P Q P AND Q V V V V F V F V V F F F
  • 13. PRECEDÊNCIA DOS OPERADORES LÓGICOS QUANDO HOUVER AMBIGUIDADE: ASSOCIATIVA A DIREITA. PRECEDÊNCIA NOT 1 AND 2 OR 2
  • 14. OPERADORES ARITMÉTICOS OPERADORES ARITMÉTICOS + SOMA A + B - SUBTRAÇÃO A – B * MULTIPLICAÇÃO A * B / DIVISÃO A / B % MÓDULO A % B ** EXPONECIAÇÃO A ** B
  • 15. ORDEM DOS OPERADORES ARITMÉTICOS • P: Parênteses têm a mais alta precedência e podem ser usados para forçar uma expressão a ser avaliada na ordem que você quiser. Já que expressões entre parênteses são avaliadas primeiro, 2 * (3-1) é 4, e (1+1)**(5-2) é 8. Você também pode usar parênteses para tornar uma expressão mais fácil de ler, como em (minuto * 100) / 60, ainda que isso não altere o resultado. • E: Exponenciação ou potenciação tem a próxima precedência mais alta, assim 2**1+1 é 3 e não 4, e 3*1**3 é 3 e não 27. • MDAS: Multiplicação e Divisão têm a mesma precedência, que é mais alta do que a da Adição e da Subtração, que também têm a mesma precedência. Assim 2*3-1 dá 5 em vez de 4, e 2/3-1 é -1, não 1 (lembre-se de que na divisão inteira, 2/3=0).
  • 18. ESTRUTURAS DE CONTROLES • Para poder escrever programas úteis, quase sempre precisamos da habilidade de checar condições e mudar o comportamento do programa de acordo com elas. As instruções condicionais nos dão essa habilidade. A forma mais simples é a instrução SE (IF): if x > 0: print "x é positivo” • A expressão booleana depois da instrução if é chamada de condição. Se ela é verdadeira (true), então a instrução identada é executada. Se não, nada acontece.
  • 19. ESTRUTURAS DE CONTROLES • Um segundo formato da instrução if é a execução alternativa, na qual existem duas possibilidades e a condição determina qual delas será executada. if x % 2 == 0: print x, “par” else: print x, “impar” • Se o resto da divisão de x por 2 for 0, então sabemos que x é par, e o programa exibe a mensagem para esta condição. Se a condição é falsa, o segundo grupo de instruções é executado. Desde que a condição deva ser verdadeira (True) ou falsa (False), precisamente uma das alternativas vai ser executada.
  • 20. ESTRUTURAS DE CONTROLES • Às vezes existem mais de duas possibilidades e precisamos de mais que dois ramos. Uma condicional encadeada é uma maneira de expressar uma operação dessas: if x < y: print x, "é menor que", y elif x > y: print x, "é maior que", y else: print x, "e", y, "são iguais”
  • 21. ESTRUTURAS DE CONTROLES • elif é uma abreviação de “else if” (“senão se”). De novo, precisamente um ramo será executado. Não existe limite para o número de instruções elif, mas se existir uma instrução else ela tem que vir por último: if escolha == ’A’: funcaoA() elif escolha == ’B’: funcaoB() elif escolha == ’C’: funcaoC() else: print "Escolha inválida.”
  • 22. ESTRUTURAS DE CONTROLES • Um condicional também pode ser aninhado dentro de outra. Poderíamos ter escrito o exemplo tricotômico (dividido em três) como segue: if x == y: print x, "e", y, "são iguais” else: if x < y: print x, "é menor que", y else: print x, "é maior que", y • O condicional mais externo tem dois ramos. O primeiro ramo contém uma única instrução de saída. O segundo ramo contém outra instrução if, que por sua vez tem dois ramos. Os dois ramos são ambos instruções de saída, embora pudessem conter instruções condicionais também.
  • 23. ESTRUTURAS DE REPETIÇÃO (WHILE) • O loop while tem como função repetir determinado bloco de comando, até que uma determinada condição seja verdadeira. Para que o bloco seja executado no momento correto, devemos manter uma rígida endentação, ou seja, tudo que pertencer ao bloco do while, deve estar quatro espaços a frente, isto ajuda a deixar o código legível e organizado. • O while é um comando muito útil, mas pode ser perigoso, pois se não tratarmos corretamente o critério de parada, o laço pode não ter fim, e o programa não faz o que deveria. x = 100 while x > 0: print x, “x > 0” x = x – 1
  • 24. ESTRUTURAS DE REPETIÇÃO (WHILE) • Aqui temos um laço que seria executado eternamente (while True:). Porém, dentro dele, fazemos uma verificação, e quando a variável i estiver guardando um valor maior que 100, será executado o comando break. • O comando break literalmente quebra o laço, então, naquele instante, o programa sai do laço. i = 0 while True: print “Não vou parar nunca!” i = i + 1 if i > 100: break • Assim, juntamente ao comando while, vimos agora o comando break que pode ser muito útil para quebrar laços fora da comparação padrão.
  • 25. ESTRUTURAS DE REPETIÇÃO (WHILE) • No exemplo abaixo, inicialmente i recebe o valor 0, e é comparado com 100. Como 0 é menor que 100, o laço começa. Logo em seguida, temos uma comparação: if 1 % 2 == 0:, aqui verificamos se i é par. Caso i seja múltiplo de dois, há um comando continue. continue faz com que esta iteração do laço termine e o programa passe para a próxima iteração. • Desta forma, o programa ignora tudo o que está após o if. No caso de i não ser par, o programa não executa o continue, e imprime o valor de i na tela. • Se um continue estivesse fora do if, sempre o programa executaria este continue, e nunca seria executado o que há após ele. Assim, o continue controla a execução do laço sem quebrá-lo. i=0 while i < 100: if i % 2 == 0: i = i + 1 continue print i i = i + 1
  • 26. ESTRUTURAS DE REPETIÇÃO (FOR) • O comando for, em Python, difere do que normalmente se vê em outras linguagens de programação, onde esse comando tem a finalidade de realizar uma iteração baseada numa progressão aritmética, percorrendo os números definido pelo usuário, enquanto em Python a iteração é feita percorrendo os itens de uma sequência, seja ela uma lista ou até mesmo uma string. Vamos analisar o código abaixo: for i in range(10): print i
  • 27. ESTRUTURAS DE REPETIÇÃO (FOR) • A estrutura anterior utiliza uma variável criada, no caso i, para percorrer cada elemento da lista criada com o comando range(10), com isso, cada repetição feita pelo loop for fará com que a variável i aponte para um diferente valor dentro da lista formada pela função range e logo em seguida imprima esse valor. • Nota: Quando fazemos range(10), teremos uma lista de inteiros de 0 a 9. • A função for também pode ser aplicada com o uso de listas, observemos o caso abaixo: lista = ['vida', 42, 'o universo', 6, 'e', 7, 'tudo’] for item in lista: print “O item atual é:”, item
  • 29. FUNÇÃO • Imagina que temos a seguinte situação num programa qualquer: Instrução1 Bloco1 Instrução2 Bloco1
  • 30. FUNÇÃO • Uma função normalmente contém instruções para realizar uma operação específica e devolver o resultado. • Os parâmetros de entrada são os valores que são passados para serem processados pela função. • A função usa os valores de entrada para determinar os resultados das suas instruções. • Uma função pode ter vários valores de entrada, assim como pode não ter nenhum. • Quando a função contém mais de um parâmetro, eles são separados por vírgulas.
  • 31. FUNÇÃO • O valor de retorno de uma função é o valor que a função irá devolver. • Assim como parâmetros, a função pode não ter nenhum valor de retorno ou ter vários. • Quando há mais de um valor de retorno, a função devolve uma lista de valores de retorno. • Ter vários valores de retorno é algo meio exclusivo de Python.
  • 32. FUNÇÃO def myfunc(): print ‘hello world’ def pow(base, expoente): potencia = base**expoente return potencia
  • 33. FUNÇÃO • Diferentemente de outras linguagens como o caso do Pascal, as funções em Python podem ser declaradas em qualquer parte do programa, mas só podem ser usadas depois de declaradas. • Isto quer dizer que qualquer referência a uma função antes da linha de declaração da mesma resultará num erro.
  • 34. FUNÇÃO def soma(valor1, valor2): result = valor1 + valor2 return result valor = soma(3, 5) print soma
  • 35. MÓDULOS • Módulos são programas feitos para serem reaproveitados em outros programas. • Eles tipicamente contêm funções, variáveis, classes e objetos que provêm alguma funcionalidade comum. • Por exemplo, o módulo math contém funções matemáticas como sin, exp, etc, além da constante pi.
  • 36. MÓDULOS • Qualquer programa que você escreva e salve num arquivo pode ser importado como um módulo; • Por exemplo, se você salva um programa com o nome prog.py, ele pode ser importado usando o comando: import prog • Entretanto, a “importação” só ocorre uma vez; • Python assume que variáveis e funções não são mudados e que o código do módulo serve meramente para inicializar esses elementos
  • 37. MÓDULOS • Após a importação de um módulo, este é compilado, gerando um arquivo .pyc correspondente; • No exemplo, um arquivo prog.pyc será criado; • Python só recompila um programa se o arquivo .py for mais recente que o arquivo .pyc;
  • 38. MÓDULOS $ cat prog.py def myfunc(): print ‘hello world’ >>> import prog >>> prog.myfunc() $ ls prog*
  • 39. LEITURA E ESCRITA DE ARQUIVOS • Python proporciona funções (veremos mais à frente o que é isso) que permitem solicitar ao sistema operativo acesso ao disco a fim de ler ou gravar algum conjunto de dados. • De forma genérica as operações que podemos realizar sobre os arquivos no disco são: Abertura, Leitura, Escritura e Fechamento.
  • 40. ABRINDO ARQUIVOS • O formato básico para abertura de arquivos é: arq = open('nome_arq', 'modo’) • O primeiro argumento da função open é uma string que contem o nome do arquivo ('nome_arq') com o qual vamos trabalhar. • O segundo argumento é outra string que é o modo com que desejamos tratar o arquivo: • "r" modo de leitura: abre o arquivo só para ser lido. • "w" modo de escrita: cria um novo arquivo. Se já existe, apaga seu conteúdo. • "a" modo de continuação: abre (se existe) ou cria (caso não exista) o arquivo a fim de poder escrever no final dele.
  • 41. ABRINDO ARQUIVOS Para ler uma linha do arquivo utilizamos o método readline. # -*- coding: utf-8 -*- # arq = open(‘file.txt’, ‘r’) linha = arq.readline() print linha linha = arq.readline(5) print linha arq.close()
  • 42. ESCREVENDO ARQUIVOS O Python permite escrever usando a função write(): # -*- coding: utf-8 -*- # arq = open(‘texto.txt’, ‘w’) arq.write(‘ola n‘) arq.write(‘mundo!n’) arq.close()
  • 43. NUMPY - ABRINDO ARQUIVOS # -*- coding: utf-8 -*- # import numpy as np d = np.genfromtxt('data_table3.txt', skip_header=1) print d print type(d) print d.shape print np.mean(d, axis=0) print np.mean(d, axis=1)
  • 44. NUMPY – SALVANDO ARQUIVOS # -*- coding: utf-8 -*- # import numpy as np. x = np.arange(0.0, 5.0, 1.0) np.savetxt('test1.txt', x) np.savetxt('test2.txt', x, fmt='%1.2f')
  • 45. ABRINDO ARQUIVOS NETCDF # -*- coding: utf-8 -*- # from netCDF4 import Dataset data = Dataset(‘file.nc’, ‘r’) pcp = data.variables[‘pcp’][:] lat = data.variables[‘latitude’][:] lon = data.variables[‘longitude’][:] data.close() print pcp.shape print lat print lon
  • 46. GRÁFICOS EM PYTHON • matplotlib (http://matplotlib.org/) é uma biblioteca do Python para criação de gráficos em 2D, bastante utilizada para visualização de dados e que apresenta uma série de possibilidades gráficas, como gráficos de barra, linha, pizza, histogramas, entre muitos outros. • O matplotlib já está incluso na distribuição Anaconda (e em praticamente todas as distribuições de Python focadas em Análise de Dados e programação científica).
  • 47. GRÁFICOS EM PYTHON # -*- coding: utf-8 -*- # import numpy as np import matplotlib.pyplot as plt plt.plot([0,10,20,30]) plt.show()
  • 48. GRÁFICOS EM PYTHON # -*- coding: utf-8 -*- # import numpy as np import matplotlib.pyplot as plt y = [20,50,30] x = range(len(y)) width_n = 0.4 bar_color = 'yellow' plt.bar(x, y, width=width_n, color=bar_color) plt.show()
  • 49. GRÁFICOS EM PYTHON Mais exemplos: http://matplotlib.org/examples/index.html