Tutorial básico Julia Python
ubuntu2004
FÍSICA EXPERIMENTAL - 2021-2 - PARTE II
Carga Horária: 4h
Prof João Marcello Pereira ([email protected])
Nesta parte vamos começar controle de fluxo, gráficos funções, raíses e resolução de sistemas lineares e não lineares. Antes, vamos configurar o display para unicode art
:
CONTROLE DE FLUXO
Em várias situações, o código decide qual ou quais instruções deve executar para continuar a fluxo do programa. Neste caso, temos as estruturas de decisão e repetição. A estrutura de programação do SageMath é baseada em Python, com algumas diferenças quanto à sintaxe de alguns comandos.
ESTRUTURA DE DECISÃO
Condicional "SE" (IF)
O condicional if/else é uma estrutura utilizada para executar um bloco de código se uma determinada condição for satisfeita (verdadeira) e executar outro conjunto de instruções caso ela seja falsa.
Exemplo 1: Escrever um código compara dois valores para as variáveis e e se for menor que y deve imprimir "x menor que y".
Exemplo 2: Escrever um código compara dois valores para as variáveis e e se for menor que y deve imprimir "x menor que y", senão se for igual a imprima 'x igual a y'
Exemplo 3: Escrever um código compara dois valores para as variáveis e e se for menor que y deve imprimir "x menor que y", senão se for igual a imprima 'x igual a y', senão imprima 'x maior que y'.
Exemplo 3: Codifique a função definida como:
ESTRURA DE REPETIÇÃO
Repetição "PARA" (FOR)
Um laço executa repetidamente um bloco de código um número fixo de vezes. A linguagem Python define a instrução else como uma estrutura dependente da instrução cujo funcionamento novamente é análogo ao estudado na instrução .Estrutura:
Exemplo 1: Aplicar 10 valores de na expressão .
Método bruto de encontrar raízes de uma função sem otimização
A partir de uma função o método bruto permite encontrar todas as raízes em um intervalo. Para isto, basta substituir por valores bem pequenos na função e testar a tolerância (valor de próximo de zero), que se for menor que um determinado valor, temos então uma raiz.
Exemplo 2: de acordo com a função , determinar todas as raízes da função no intervalo
Repetição "ENQUANTO" (WHILE)
Um laço executa um bloco de código enquanto uma condição ainda está satisfeita. A linguagem Python define a instrução else como uma estrutura dependente da instrução cujo funcionamento novamente é análogo ao estudado na instrução .Estrutura:
Exemplo 1: a partir de uma matriz de dados, pesquise se o número 132 pertence à matriz de dados abaixo
Exemplo 1: Encontrar os números primos entre 0 e 30.
Continue e Break
A instrução continue
interrompe o processamento atual e pula para a próxima iteração. Break
interrompe totalmente o loop.
Exemplo 2: Encontrar o primeiro número primo entre 0 e 30 maior que 10. Ao encontrar o número primo o laço deve ser interrompido.
Exemplo 3 Encontrar os números primos entre 0 e 30 maiores que 10. Quando encontrar um número primo o laço deve continuar para encontrar outros números primos.
FUNÇÃO
Função, de acordo com a definição matemática, é uma correspondência unívoca entre dois conjuntos em que a cada elemento do primeiro conjunto corresponde a um e somente um elemento do segundo. Dessa forma, temos que uma função é uma relação entre das variáveis, sendo uma dependente e outra independente. Ex: . No campo da computação, Tucker & Noonan(2009) informam que "em linguagens diferentes, as funções são conhecidas variavelmente como procedimentos, sub-rotinas, subprogramas ou métodos, e possuem diversas características em comum, assim como algumas diferenças importantes nas mais variadas linguagens". De modo geral, uma função é segmento do código que contém um conjunto de instruções que pode ou não receber argumentos e retornar um ou vários valores processados.
Para definir uma nova função no CoCalc de duas maneiras:
forma reduzida - utilizada de forma semelhante a definição matemática de função.
Forma tradicional - use o comando def e dois pontos após a lista de nomes das variáveis. Em Python, blocos de código não são indicados por colchetes ou blocos de início e fim, como em outras linguagens. Em vez disso, blocos de código são indicados por identação, que devem estar alinhadas exatamente.
Cuidado com a identação!
Exemplo 1: Codificar uma função chamada 'areaC' que calcule o cálculo de um círculo a partir do valor do raio.
Exemplo 2: Codificar a função simplificada chamada 'fareaC' que calcula a área do círculo.
GRÁFICOS 2D E 3D
Gráficos pontos discretos e espalhamento
Gráfico de funções
Gráfico implícito
Gráfico 3D
RAÍZES
De acordo com o dicionario matemático disponível em "http://www.somatematica.com.br/dicionarioMatematico" temos que:
Equação: Expressão algébrica indicada por uma igualdade, onde há valores desconhecidos expressos por letras (incógnitas). Logo, todo conjunto de expressões no qual há uma igualdade cuja(s) incógita(s) satisfaçam a um conjunto limitado de soluções, então temos uma equação. Ex: .
Exemplo 1: Calcular as raízes da função
Método numérico para determinar raízes
Em algumas situações, a função solve()
ao tentar resolver uma equação, pode retornar somente dois colchetes []
ou a frase NotImplementedError
. Nestes caso, isto significa que o método empregado pela função não conseguiu encontrar uma solução, porém ela poderá existir e se existir será encontrada numericamente. Sintaxe:
Exemplo 1: De acordo com a fução resolver
veja que a função solve()
não conseguiu encontrar simbolicamente uma solução. A solução é encontrar individualmente as raízes utilizando um método numérico para cada conjunto de intervalos que contém uma raíz.
Aplicação na física
Um carro de laboratório controlado por um arduino, possui implementado as funções posição de velocidade em função do tempo para controlar o movimento do carro em linha reta. Considerando , , , e que o carro ao ser solto vai até um certa posição em linha reta e depois retorna, calcule:
a) Defina as variáveis e as funções v(t) e
b) Qual o intervalo de tempo para ir e voltar ao ponto de partida
c) os gráficos da função posição e função velocidade
c) o tempo em que o carro muda de sentido
d) calcular o instante quando a velocidade e a posição são e respectivamente.
Mínimo e máximo local
Sintaxe:
sendo:
função/expressão:
a, b:
SISTEMAS DE EQUAÇÕES LINEARES
Sintaxe:
Exemplo 1: Resolver o sistema de equações lineares
Sistemas Equações Não Lineares
Exemplo 2: Resolver o sistema de equações não lineares
Veja que temos duas soluções para os sistema, sendo os valores aproximados:
REFÊNCIAS BIBLIOGRÁFICAS
TUCKER, Allen B. ; NOONAN, Robert E. Linguagens de Programação : Princípios e Paradigmas. 2. ed. São Paulo, SP: McGraw-Hill, 2009. 600 p.