• Nenhum resultado encontrado

FísicaComputacional1

N/A
N/A
Protected

Academic year: 2021

Share "FísicaComputacional1"

Copied!
48
0
0

Texto

(1)

I N T R O D U Ç Ã O À P R O G R A M A Ç Ã O C I E N T Í F I C A

P R O F . L U Í S F E R N A N D O D E O L I V E I R A

Física Computacional

2011-2

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO INSTITUTO DE FÍSICA ARMANDO DIAS TAVARES

(2)

Introdução

 Todos estamos habituados a organizar nossas tarefas

diárias segundo uma lista de coisas “para fazer” (no inglês, ToDo).

 Esta lista diária pode ser ordenada na forma de

prioridades ou em uma ordem que faça sentido para cada um de nós.

 O que se deseja é que, no final do dia, tudo tenha

sido cumprido.

(3)

Introdução

 Na rotina de um trabalho ou estudo, também nos

deparamos com tarefas que devem ser cumpridas, as vezes numa mesma ordem, as vezes numa ordem

diferente.

 Algumas rotinas permitem essa flexibilidade, outras

não.

 Têm tarefas que podem ser realizadas

simultanea-mente, outras não.

(4)

Introdução

 Conforme nos tornamos mais maduros, percebemos

que, pela experiência, algumas tarefas devem ser executadas numa determinada ordem para que o cumprimento delas seja bem sucedido.

 A experiência é um instrumento muito valioso neste

processo. Na ausência de experiência, devemos agir com sabedoria. O conhecimento científico se faz

valer nestes momentos.

(5)

Introdução

 Da ciência matemática, podemos lançar mão da

lógica matemática baseada na lógica aristotélica.

 A lógica em si vem do pensamento filosófico que,

dentro da perspectiva científica moderna, é amplamente estudado e utilizado não só pela

Matemática, mas também pela, Física, Química, Biologia, História, Direito, Atuária, Letras e

Literatura, Belas Artes, Engenharias, ... – em fim, por todas as áreas de conhecimento humano.

(6)

Introdução – Lógica

A lógica é o estudo formal sistemático dos princípios

da inferência válida e do pensamento correto.

Já que o pensamento é a manifestação do

conhecimento, e que o conhecimento busca a

verdade, é preciso estabelecer algumas regras para que essa meta possa ser atingida.

(7)

Introdução – Lógica

Assim, a lógica é o ramo da filosofia que cuida das

regras do bem pensar, ou do pensar correto, sendo,

portanto, um instrumento do pensar.

A aprendizagem da lógica não constitui um fim em

si.

A lógica só tem sentido enquanto meio de garantir

que nosso pensamento proceda corretamente a fim de chegar a conhecimentos verdadeiros.

(8)

Introdução – Lógica

Podemos, então, dizer que a lógica trata dos

argumentos, isto é, das conclusões a que chegamos através da apresentação de evidências que a

sustentam.

01/08/11 - http://pt.wikipedia.org/wiki/Lógica

(9)

Introdução – Método Científico

O método científico é um conjunto de regras básicas

de como se deve proceder a fim de produzir

conhecimento dito científico, quer seja este um novo

conhecimento quer seja este fruto de uma

integração, correção (evolução) ou expansão da área de abrangência de conhecimentos

pré-existentes.

(10)

Introdução – Método Científico

Na maioria das disciplinas científicas, o método

científico consiste em juntar evidências empíricas

verificáveis baseadas na observação sistemática e

controlada, geralmente resultantes de experiências

ou pesquisa de campo, e analisá-las com o uso da lógica.

Para muitos autores o método científico nada mais

é do que a lógica aplicada à ciência. 10

(11)

Introdução – Método Científico

A metodologia científica tem sua origem no

pensamento de Descartes que propôs chegar à verdade através da dúvida sistemática e da

decomposição do problema em pequenas partes, características que definiram a base da pesquisa científica.

Compreendendo-se os sistemas mais simples,

gradualmente se incorpora mais e mais variáveis, em busca da descrição do todo mais complexo.

(12)

Introdução – Método Científico

01/08/11

-http://pt.wikipedia.org/wiki/Método_científico 12

(13)

Introdução – Algoritmo

Um algoritmo é uma sequência finita de instruções

bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço

finita.

O conceito de algoritmo é frequentemente ilustrado

pelo exemplo de uma receita, embora muitos

algoritmos sejam muito mais complexos que isso. 13

(14)

Introdução – Algoritmo

Um algoritmo pode repetir passos (fazer iterações)

ou necessitar de decisões (tais como comparações) até que a tarefa seja completada.

Um algoritmo corretamente executado não irá

resolver um problema se ele estiver implementado incorretamente ou se não for apropriado ao

problema, isto é, se a lógica estiver errada ou for inapropriada.

(15)

Introdução – Algoritmo

Um algoritmo não representa, necessariamente, um

programa de computador, e sim os passos necessários para realizar uma tarefa.

A implementação de um algoritmo pode ser feita

por um computador, por outro tipo de autômato ou mesmo por um ser humano.

01/08/11 - http://pt.wikipedia.org/wiki/Algoritmo

(16)

Introdução

 Uma das características mais fortes do pensamento

científico é a aplicação de procedimentos sistemáticos para a investigação dos fatos observacionais.

 A aplicação dos procedimentos sistemáticos

corresponde ao método científico adotado na investigação.

(17)

Introdução

 A construção textual do método científico

corresponde a um algoritmo, pois o método

científico se baseia na lógica para sua elaboração, assim como o algoritmo.

 Em laboratório, a elaboração d0 procedimento

experimental deve seguir os passos determinados pelo método científico. Logo, o procedimento

experimental é o algoritmo da prática científica.

(18)

Introdução

 O algoritmo é a elaboração lógica dos passos que

devem ser percorridos para que um resultado correto e significativo seja produzido.

 O algoritmo é a base da programação científica, onde

o resultado poderá ser um programa computacional que, ao ser executado em um computador digital, produzirá a solução desejada.

(19)

Introdução

 Por isso, tão ou mais importante quanto aprender

uma linguagem de programação, é aprender a pensar logicamente, aprender a ordenar corretamente o

pensamento para se conceber um algoritmo que, através de uma linguagem de programação

apropriada, resultará nas respostas esperadas.

 O computador é um instrumento sem inteligência.

Ele faz o que o programador mandar: se o programador mandar fazer errado...

(20)

Introdução

 A aplicação da lógica deveria se um elemento natural

ao ser humano, principalmente a um estudante de Física.

 Ao realizar uma prática de laboratório (várias, creio

eu), ao resolver uma lista de exercícios (mais de uma certamente), o aluno deve aplicar uma sequência de passos (método experimental, método de estudo) até que o resultado seja atingido.

(21)

Introdução

 Se a lógica está errada, o resultado é conhecido:

ZERO!!!

 Se o procedimento experimental está errado, o

resultado é conhecido: TEM QUE FAZER DE NOVO.

 Então, a primeira missão da disciplina Física

Computacional é lidar com o desenvolvimento da lógica de programação.

(22)

Introdução

 A lógica de programação depende da lógica do ser

humano (aluno).

 Aprender a pensar corretamente (logicamente) é sua

prioridade.

(23)

Introdução – Problemas

 Problemas:

 No tempo t0 , a velocidade de um corpo é v0. Qual sua

velocidade em t1 dado que o corpo está submetido a uma aceleração a?

 Um corpo desliza sobre uma plataforma com velocidade

constante v0. Ao atingir a borda da plataforma, o corpo cai em queda livre e percorre uma altura h até atingir o chão. Qual a distância horizontal entre a plataforma e o ponto de contato do corpo com o chão?

(24)

Introdução – Problemas

 Problemas:

 Um aluno fez as seguintes medidas em laboratório:

Qual o erro percentual em relação ao tempo médio?

 Erro percentual em relação à média: 24 Tempo (s) 1,3 1,2 1,2 1,4 X . p . d  

(25)

Introdução – Algoritmo

 O desenvolvimento de um algoritmo segue um

método lógico onde o problema é analisado e a solução inicial é descrita de forma natural.

 Exemplo:

 Considere um corpo se movimentando com velocidade

constante.

 Problema: como calcular o deslocamento do corpo a partir de

uma posição inicial em dado instante de tempo?

(26)

Introdução – Algoritmo

 Naturalmente, o primeiro passo é observar o modelo

matemático que está associado ao problema.

 Neste caso, é a equação de posição de um corpo em

movimento uniforme:

x(t) = x(t0) + v×(t-t0)

(27)

Introdução – Algoritmo

 O passo seguinte é a identificação dos elementos

componentes desta equação:

 x é posição  v é velocidade

 t0 é o instante de tempo inicial

 t é o instante de tempo onde os demais elementos estão sendo

inferidos

 x(t0) é a posição no instante t0  x(t) é a posição no instante t

(28)

Introdução – Algoritmo

 Pela experiência no uso de modelos matemáticos,

sabemos que a terminologia x(t) significa: uma função chamada x cujo argumento é t ou que x é função de t.

 Novamente pelo uso de modelos matemáticos,

sabemos que a função x deve ter elementos

(parâmetros) constantes e que o argumento t pode assumir diferentes valores.

(29)

Introdução – Algoritmo

 Dado o modelo x(t) = x(t0)+v×(t-t0), percebemos

que, sendo t0 uma constante, x(t0) também é uma constante: x0 = x(t0).

 A velocidade v também é constante (movimento

uniforme): v0 = v.

 Desta forma, a equação da posição pode ser rescrita

como: x(t) = x0 + v0×(t-t0).

(30)

Introdução – Algoritmo

 O único elemento deste modelo matemático que

pode variar é o tempo t. Por isso é chamada de

variável.

 Então, os parâmetros constantes são: t0, x0 e v0.

 A variável é t.

 Terminamos a análise? Não.

(31)

Introdução – Algoritmo

 Falta responder qual a natureza de cada um destes

elementos, isto é, se estes elementos são numéricos,

literais ou lógicos (falso e verdadeiro).

 Se forem numéricos, poderão ser números inteiros,

números reais ou números complexos.

 É importante que estas questões também sejam

respondidas.

(32)

Introdução – Algoritmo

 No caso da equação da posição do corpo, sabemos

que todos os elementos envolvidos devem ser

numéricos.

 Matematicamente, estes elementos podem assumir

quaisquer valores numéricos (inteiros, reais e complexos).

 O bom senso nos diz que um corpo não assume

posições representadas por complexos.

(33)

Introdução – Algoritmo

 E como o conjunto dos números reais engloba o

conjunto dos números naturais (inteiros), então é suficiente definir x0, v0, t0 e t como elementos

numéricos reais.

 Terminamos? Não.

 Para encerrarmos a análise, é necessário saber quem

é entrada e quem é saída.

(34)

Introdução – Algoritmo

 No problema proposto, para que a solução seja

encontrada, é necessário que o tempo inicial t0, a posição inicial x0 e a velocidade v0 sejam dados.

 Logo, t0, x0 e v0 são dados do problema.

 O tempo t é entrada. Sendo uma variável, pode

assumir qualquer valor que o problema indicar (usuário).

(35)

Introdução – Algoritmo

 A saída é o valor x(t), isto é, a posição x do corpo no

instante t (a resposta do problema).

 Por simplicidade, substituiremos x(t) por apenas x.

 Então, temos:

 Dados: t0, x0 e v0 numéricos reais  Entrada: t numérico real

 Saída: x numérico real

(36)

Introdução – Algoritmo

 Resumindo:

 Dados: t0, x0 e v0 numéricos reais  Entrada: t numérico real

 Saída: x numérico real

 Método (como resolver):

 Dados os valores de t0, x0 e v0, construir a equação da posição do

corpo: x = x0 + v0(t-t0).

 Para um valor específico de t, substituir o valor de t na equação e

resolvê-la, isto é, gerar o resultado x.

(37)

Introdução – Algoritmo

 Terminamos? Sim.

 Podemos construir o algoritmo? Sim.

(38)

Introdução – Algoritmo

 Dados: t0, x0 e v0 numéricos reais  Entrada: t numérico real

 Saída: x numérico real

 Método: Dados os valores de t0, x0 e v0, construir a equação da

posição do corpo: x = x0 + v0(t-t0). Depois, ler o valor de t, resolver a equação e gerar o resultado x.

 Algoritmo  ler t  x  x0 + v0(t-t0)  escrever x  Fim algoritmo 38

(39)

Introdução – Algoritmo

 A escrita de um algoritmo segue algumas regras

básicas:

 Você deve sempre indicar quais são os dados do problema.  Você deve sempre indicar quais são as entradas do problema.  Você deve sempre indicar quais são as saídas do problema.  Você deve sempre indicar o método para resolver o problema.  Nunca se usa o símbolo matemático „=‟ para atribuir o

conteúdo de uma variável ou equação a outra variável.

 Usa-se o símbolo „‟ para a operação de atribuição de valores.  Cada linha do algoritmo só pode conter uma ação (verbo).

 A ação (verbo) deve ser sublinhada. 39

(40)

Introdução – Algoritmo

 O início do algoritmo deve ser identificado pela palavra

„Algoritmo‟.

 O algoritmo deve ser finalizado pela expressão „Fim algoritmo‟.  Para facilitar a visualização do algoritmo, pode-se utilizar

linhas verticais ligando o início e o fim do conjunto de instruções.

 O algoritmo deve ser o mais simples possível.  O algoritmo deve ser o mais claro possível.  O algoritmo deve ser o mais legível possível.  O algoritmo deve ser logicamente organizado.

 O algoritmo deve ser lido e executado instrução por instrução. 40

(41)

Introdução – Algoritmo

 Nunca se deve saltar uma instrução, a menos que um comando

de salto esta sendo executado.

 O algoritmo é executado verticalmente, de cima para baixo.  Qualquer um que execute o algoritmo deve chegar ao mesmo

resultado (saída) dadas as mesmas condições iniciais (dados) e entradas.

 Toda solução deve ser documentada, isto é, deve-se manter um

registro temporal e espacial do que foi realizado

(42)

Introdução – Algoritmo

 A documentação deve conter:

 data  local  autor  título

 propósito (motivo pelo qual o algoritmo foi desenvolvido)  objetivos (o que se deseja obter com o algoritmo)

 método (como se resolve)

 requisitos e restrições (condições especiais para que o algoritmo

funcione)

 dados, entradas e saídas  algoritmo

(43)

Introdução

 Antes que alguém reclame da quantidade de coisas

dentro de uma documentação, é importante lembrar que vocês não fazem só isso na vida.

 Daqui a mais algumas semanas, todos estarão em

semana de prova e as cabeças estarão em parafuso.

 Logo, é melhor registrar o que está sendo feito agora,

de forma bem completa, do que tentar lembrar depois no meio da confusão.

(44)

Introdução

 O papel do laboratório de Física Computacional é

criar uma oportunidade para o aluno transformar o conhecimento lógico em um código de programação.

 O algoritmo independe da arquitetura dos

computadores, do tempo e da tecnologia.

 Um código de programação (código fonte) é a

transformação do algoritmo numa linguagem que o computador entende.

(45)

Introdução

 No curso de Física Computacional, a codificação será

feita na linguagem FORTRAN.

 O FORTRAN é uma linguagem de programação

científica, é moderna (já está na versão 2008),

incorpora modelos de programação estruturado e orientado a objeto, mas peca pela ausência de

instruções para exibição gráfica (telas, menus, interfaces).

(46)

Introdução

 Por outro lado, nenhuma outra linguagem de

programação científica é tão madura quanto o FORTRAN e seu desempenho na execução de cálculos é imbatível.

 Como o objetivo do curso de Física Computacional é

introduzir a lógica de programação e apresentar o potencial da programação na Física, esta parte

gráfica, não será coberta pela disciplina.

(47)

Introdução

 Não adianta pensar em interfaces gráficas

sofisticadas e outros aspectos desta natureza se vocês não souberem o mais básico de tudo isso: A LÓGICA POR TRÁS DA CODIFICAÇÃO.

 Então, vamos trabalhar juntos para que o curso seja

o mais agradável possível, sendo que vocês devem fazer a parte principal: SE DEDICAR.

(48)

Introdução

 O curso utilizará, além do material tradicionalmente

disponível na página

http://m4-dfat.fis.uerj.br,

o livro texto Lógica de Programação, a construção

de algoritmos e estruturas de dados dos autores

André Luiz Villar Forbellone e Henri Frederico

Eberspächer, editora Pearson (Pretince-Hall), 3ª

ed., 2005.

Referências

Documentos relacionados

Em nossa categorização, consideramos os Saberes Docentes Pedagógicos Computacionais Expe- rienciais como aqueles elaborados pelos professores no seu dia-a-dia pela realização de

O artigo científico é um texto com o objetivo de informar resultados de pesquisas e, como tal, deve seguir as orientações normativas dos trabalhos acadêmicos, observando-se em

Importância econômica: Al: alimentícia; Fi: fibra; Fo: forrageira; In: invasora (fator negativo); La: Látex; Ma: madeireira; Me: medicinal; Ol: óleo; Pa: paisagístico; PC:

Nesse contexto, a condição juvenil não se define pela moratória para o período de estudos ou de momentos de lazer e sociabilidade, mas agrega esses aspectos ao trabalho e às

Para Cicrano (2009) é comum para um aluno em nível de graduação ter inúmeras dúvidas sobre o desenvolvimento de uma pesquisa científica, dificultando seu trabalho,

Com o objetivo de aumentar a sensibilidade da vigilância do COVID-19 e identificando um aumento das internações por problemas respiratórios agudos graves no Brasil, a

Com a aprovação do artigo científico pelo/a professor/tutor orientador, o/a estudante deverá enviar a versão final, em formato digital à Coordenação de curso, para a defesa

Declaro também que este artigo não foi publicado, em parte, na íntegra ou conteúdo similar em outros meios de comunicação, tendo sido enviado com exclusividade para a conclusão