Tópicos Preliminares

40
INTRODUÇÃO À COMPUTAÇÃO TÓPICOS PRELIMINARES EWERTON AMORIM DE OLIVEIRA

description

Christopher Freire Souza. Tópicos Preliminares. Programa. Tópicos Preliminares Tipos Primitivos Comando de Atribuição Variáveis Estáticas (Constantes) Variáveis Dinâmicas Expressões Aritméticas Expressões Relacionais Expressões Literais Comandos de Entrada, Saída e Ajuda - PowerPoint PPT Presentation

Transcript of Tópicos Preliminares

INTRODUÇÃO À

COMPUTAÇÃOTÓPICOS PRELIMINARES

EWERTON AMORIM DE OLIVEIRA

CALCULADORA PYTHON

o O Python interativo está preparado para receber comandos como se fosse uma calculadora. É preciso apenas digitar operações e clicar a tecla “Enter” para que ele retorne a resposta.

Se você está executando várias contas e sempre existir uma constante, como por exemplo: 507/103. Se você precisa executar esta razão várias vezes e precisa de precisão, pode dar muito trabalho fazer isto várias vezes.

VARIÁVEIS

Até agora, você pode apenas executar comandos. Como está, você não poderá usá-los futuramente. Se for executar o mesmo comando futuramente, você terá que executar o comando novamente.

VARIÁVEIS

Para facilitar, o Python possui uma memória interna na qual você pode guardar operações, valores, textos, entre outras coisas.Você pode guardar um valor em uma variável para ser usado em uma outra operação. Veja o exemplo:

VARIÁVEL VALOR FINALa 5b 4c 10d 2e 12

NOME DE VARIÁVEIS

O que pode conter no nome de uma variável?

o Letras e números, além do sublinha (_), não podendo

ser iniciadas por números, nem conter espaços em

branco. Maiúsculas e minúsculas são diferentes.

o Letras com acentos, podendo ser iniciados por sublinha

(_).

NOME DE VARIÁVEIS

o Na hora de nomear as variáveis, procure escolher

nomes que estejam relacionados com o objetivo da

variável.

o Por exemplo, para uma variável que tem como objetivo

guardar o resultado da soma de dois números, qual

seria o nome adequado para esta variável?

o Existem várias opções, dentre elas “soma”, “resultado”,

ou até mesmo “r” ou ”s”, o que não seria bom,

dependendo da quantidade de variáveis

TIPOS DE VARIÁVEIS

Em Python as variáveis são divididas em:

o Números Inteiroso Números Reaiso Sequências de caracteres (string)o Variáveis Lógicas

TIPOS DE VARIÁVEIS

Exemplos de variáveis em Python:

ATRIBUIÇÃO DE VALOR A VARIÁVEL

o Observe a seguinte sequências de comando e tente descobrir qual será o valor de cada variável ao término da execução:

o Execute todas as linhas e depois digite o valor de cada variável no Python interativo e veja qual foi o valor final de cada uma e tente entender o que aconteceu.

ATRIBUIÇÃO DE VALOR A VARIÁVEL

“casa”a

variável valor

1b

5c

1

3

1

o O que acontece é que há uma ordem cronológica em que as coisas acontecem, observe o passo a passo:

1. Primeiramente você está atribuindo a string “casa” à .....variável a

2. Agora é atribuído o número inteiro 1 à variável b 3. Agora é atribuído o número inteiro 5 à variável c

4. O valor que a variável b carrega é copiado para a variável a e agora ambas carregam o número 1

5. O valor que a variável a carrega agora é copiado para a variável c e ambas carregam o mesmo valor agora6. O valor 3 é atribuído à variável b

a

b

c

string

tipo

inteiro

inteiro

inteiro

inteiro

inteiro

ATRIBUIÇÃO DE VALOR A VARIÁVEL

o Duas esferas de mesma massa colidem elasticamente. Sabe-se que: Quando dois corpos de mesma massa colidem elasticamente, suas velocidades são trocadas, ou seja, a velocidade inicial de uma se torna a velocidade final da outra. Seja v1 = 0 e v2 = 15, respectivamente a velocidade inicial e a velocidade final de uma esfera. Crie uma sequência de comandos em que, ao final, v1 carregue o valor da velocidade final da outra esfera após a colisão e v2 a velocidade inicial da outra esfera, também após a colisão.

Uma aplicação na Física

ATRIBUIÇÃO DE VALOR A VARIÁVEL

O que o problema pede, na prática é que os comandos executados façam v1 e v2 trocarem de valor. Mas como fazer isso? Muitos primeiramente pensam na seguinte solução:

O que está incorreto. Note que ao final v1 e v2 carregam o mesmo valor. Lembre-se que na linha 3 o valor que v1 carregava é perdido.

ATRIBUIÇÃO DE VALOR A VARIÁVEL

Por isso, é necessário uma variável auxiliar para que possamos guardar o valor que v1 tinha:

o A variável aux recebe o valor de v1

0v1

variável valor

15v2

15

0

aux 0

o A variável v1 recebe o valor de v2o A variável v2 recebe o valor de aux

inteiro

tipo

inteiro

inteiro

inteiro

inteiro

ATRIBUIÇÃO DE VALOR A VARIÁVEL

0v1

variável valor

15v2

15

0

Em Python, este processo pode ser simplificado com a atribuição de valor a variáveis na mesma linha, da seguinte forma:

o As atribuições das variáveis ocorrem de forma paralela

inteiro

tipo

inteiro

inteiro

inteiro

OPERADORES ARITMÉTICOS

Como vimos anteriormente, poderíamos utilizar o Python como uma calculadora. Agora que podemos guardar valores em variáveis, podemos executar os mesmos comandos, só que agora utilizando variáveis:

E se for necessário calcular a média dos valores a, b e c, Como faríamos? Teste para a segunda solução e verifique se o resultado é correto:

PRIORIDADESPor que a solução anterior não retorna o resultado esperado?Em Python e outras linguagens de programação existe uma hierarquia de prioridades com relação às operações. Por exemplo, a operação de divisão tem prioridade em relação a operação de soma. Então primeiramente é executado a operação c / 3 e o seu resultado é somado com a + b.

NÍVEL DE PRIORIDADE OPERAÇÃO

1º DIVISÃO E MULTIPLICAÇÃO

2º ADIÇÃO E SUBTRAÇÃO

PRIORIDADES

Para fazer a média que queríamos, temos que utilizar parênteses, como na matemática básica:

Assim, definimos a prioridade de que a soma a + b + c deve ser executada primeiro e este resultado dividido por 3.

OUTROS OPERADORES ARITMÉTICOS

Podemos utilizar também os seguintes operadores:

OPERAÇÃO EM PYTHONPotenciação **

Resto da Divisão %Quociente da Divisão //

OPERADORES RELACIONAIS

Funcionam de forma parecida com os operadores aritméticos, mas retornam valores de um tipo diferente. Veja os exemplos:

O que acontece com os operadores relacionais é que, por exemplo, quando digitamos “5 > 3”, você está pedindo para o Python fazer uma análise se 5 é maior que 3, como isso é verdade, a resposta gerada é o valor lógico True.

OPERADORES RELACIONAIS

Os operadores relacionais geram resultados booleanos (True ou False). Existem outros operadores relacionais:

OPERADOR EM PYTHONMenor que <

Menor ou igual a <=Maior que >

Maior ou igual a >=Igual a ==

Diferente de !=

OPERADORES RELACIONAIS

Da mesma forma que os operadores aritméticos, o valor gerado por uma operação relacional pode ser guardado em uma variável:

OPERADORES LÓGICOS

Os operadores lógicos também geram resultados booleanos. Eles são usados somente em expressões lógicas, e são descritos na tabela a seguir:

OPERADOR PYTHONConjunção (e) and

Disjunção (ou) or

Negação (não) not

SCRIPTS

Precisaremos organizar nossos comandos!

Os scripts são arquivos com uma série de comandos seguindo o formato padrão (sintaxe) da linguagem desejada para ser executado pelo computador.

Quando for criar um módulo, comente o que você está fazendo a fim de, num próximo acesso ao programa, facilitar sua compreensão.

SCRIPTSPara começar, salve um arquivo com o nome somaab.py. Nele escreveremos:

Se você executar isso no Python interativo, não aparecerá nada na tela, mas não significa que não aconteceu nada. Se você chamar uma dessas variáveis (digitando “a” ou “b” e apertando “Enter”) no Python interativo verá que estas variáveis estão salvas na memória.Quando você executa um arquivo ele é executado como se você digitasse linha por linha.

SCRIPTS

Criemos agora outros dois arquivos. Um terá o objetivo de executar o resultado de uma multiplicação (multab.py) e outro o resultado do resto da divisão (restoab) com os dois números que tínhamos anteriormente:

multab.py:

restoab.py:

SCRIPTS

O que acontece se tentarmos executar qualquer um dos dois scripts anteriores?

Este erro acontece porque quando executamos um arquivo no Python interativo ele “esquece” as variáveis que estavam na memória. Mas como fazer com que estes dois scripts funcionem corretamente como se digitássemos uma linha após a outra como vínhamos fazendo?

MODULARIZAÇÃOA modularização é um processo no qual uma sequência de comandos é separada em vários arquivos com o objetivo de organizar o código. Assim sendo, um arquivo que depende de outro precisa importá-lo para que ele seja executado. Veja o exemplo:

Multab.py:

O comando import importa o arquivo somaab para o multab, mas as suas variáveis fazem referência ao arquivo somaab, por isso precisamos digitar “somaab.a”, o que indica que estamos chamando a variável a no módulo somaab.

MODULARIZAÇÃO

Mas e se quisermos que a variável a seja uma variável no módulo multab, deixando de fazer referência ao módulo somaab, veja o exemplo:

A linha 1 na prática faz com que o Python execute todas as linhas do arquivo somaab.py. O “*” não indica multiplicação, e sim uma indicação de que todas as linhas do módulo somaab devem ser executadas como se tivessem digitadas neste arquivo.

MODULARIZAÇÃO

Note que, neste caso, a variável soma, contida no módulo somaab também é carregada para o arquivo, ocupando espaço na memória. Se quisermos carregar apenas as variáveis a e b, podemos fazer da seguinte forma:

Veja que, ao invés de “*”, agora dizemos que queremos importar apenas as variáveis a e b.

• Crie scripts para:• Atribuir valor a duas variáveis• Calcular a média aritmética• Calcular média ponderada em 30 e 70%• Inverter algarismos de um número menor que 1000, o

qual deve ser inserido em outro script

EXERCÍCIOS

QUAIS AS DIFERENÇAS NESTE ASSUNTO ENTRE PYTHON E MATLAB?

VARIÁVEIS

As regras sobre os nomes das variáveis são diferentes em Matlab no seguinte caso:

o Em Matlab, as variáveis NÃO podem conter acentos e

NÃO podem ser iniciadas por sublinha (_).

ATRIBUIÇÃO DE VALOR À VARIÁVEL

o O Matlab não permite a troca de valor entre duas

variáveis ao mesmo tempo. É necessário utilizar uma

variável auxiliar.

o Strings em Matlab não podem conter aspas duplas.

OPERADORES ARITMÉTICOS

As funções dos operadores aritméticos são as mesmas, o que muda é a sintaxe, as diferenças estão apontadas na tabela a seguir:

OPERAÇÃO MATLAB PYTHONPOTENCIAÇÃO ^ **

RESTO DA DIVISÃO mod(X,Y) %QUOCIENTE DA DIVISÃO (X-mod(X,Y))/Y //

OPERADORES RELACIONAIS

Os operadores relacionais em Python são quase todos iguais aos do Matlab:

Note que o operador “diferente de” é o único que difere do Matlab.

OPERADOR MATLAB PYTHONMenor que < <

Menor ou igual a <= <=Maior que > >

Maior ou igual a >= >=Igual a == ==

Diferente de ~= !=

OPERADORES LÓGICOS

Os operadores lógicos em Matlab são escritos da seguinte forma:

OPERADOR MATLAB PYTHONConjunção (e) & and

Disjunção (ou) | or

Negação (não) ~ not

SCRIPTS

Temos aqui o script que já vimos em Python agora para Matlab:

Veja a versão deste script para Python AQUI

Note que os comentários em Matlab iniciam com “%” e que ao final de cada linha de comando, há um ponto e vírgula “;”. O ponto e vírgula é muito comum em outras linguagens de programação.

MODULARIZAÇÃOA modularização em Matlab, por não isolar as variáveis, é tratada de forma mais simples. Porém, também é necessário cuidado com os nomes na hora de modularizar.Se executados em sequência, os scripts funcionarão :

MODULARIZAÇÃO

Para executar um módulo em Matlab, você precisa digitar na linha de comando do Matlab o nome do módulo desejado, sem a extensão.

Se você executar primeiramente o módulo somaab e depois executar o módulo multab, o segundo vai funcionar corretamente diferentemente do que ocorre em Python.

O que o Python faz é garantir maior segurança pela proteção dos seus dados ao obrigar uma declaração de que você deseja acessar dados de outro programa.

SET PATH

Algumas vezes, pode haver algum problema na hora de encontrar o caminho para o arquivo que deseja ser executado, pois é preciso ensinar o Matlab onde procurar pelo arquivo.

O SET PATH contém o caminho de todas as pastas que o Matlab procurará. Para isso, você tem que adicionar a pasta que deseja executar seus programas no SET PATH.

SET PATH

Para acessar o SET PATH vá em file > Set Path...

Clique em Add Folder... Para adicionar a pasta desejada.