Buscar

2° Avaliação - Programação em Geofísica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação em Geofísica
Brasília, 18 de Julho de 2013.
SUMÁRIO
RESUMO................................................................................ 3
INTRODUÇÃO....................................................................... 3
REFERENCIAL TEÓRICO..................................................... 4
OBJETIVO................................................................................ 6
METODOLOGIA..................................................................... 6
RESULTADOS........................................................................ 7
CONCLUSÃO........................................................................... 8
BIBLIOGRAFIA....................................................................... 8
RESUMO
Este relatório mostra o desenvolvimento de um programa desenvolvido em linguagem C/C++, através do sistema operacional Windows, e do software DEV C++ e Code Blocks que tem como finalidade obter a distancia angular e o azimute entre um terremoto e a sua estação a partir de dados registrados por várias estações sismográficas.
INTRODUÇÃO
Programação é o processo de escrita, teste e manutenção de um programa de computador. O programa é escrito em uma linguagem de programação ou diretamente em linguagem de máquina. As diferentes linguagens de programação funcionam de diferentes modos, e, por esse motivo, os programadores podem criar programas muito diferentes para diferentes linguagens, embora a maioria das linguagens possa ser usada para criar qualquer programa. Existem várias linguagens de programação como: C, Java, MATLAB, C++, PHP, Visual, Pascal, Delphi, entre outras.
O computador nada mais é do que uma máquina capaz de obedecer a um conjunto de comandos em uma sequência pré-definida, organizada de forma lógica. Ele é uma máquina que, para realizar algo, precisa de alguém que lhe indique o que fazer de uma forma que ele entenda. Para que um computador tenha alguma utilidade, ele deve executar um programa que tenha uma finalidade específica. Estes programas destinam-se a usuários finais, aquelas pessoas que vão utilizar o computador com um determinado objetivo específico, usando para tal um programa que ela aprendeu a usar, não tendo nenhuma preocupação relativa ao funcionamento interno do sistema computador/programa. Um programa de computador é, na realidade, um conjunto de instruções que podem ser executadas pelo computador, de tal forma que a execução de subconjuntos destas instruções permite a realização de ações mais genéricas.
Para se desenvolver um programa que resolva um determinado problema é necessário que encontremos uma sequência de instruções que cujas execuções resultem na solução da questão. A Lógica de Programação pode ser entendida como o conjunto de raciocínios utilizados para o desenvolvimento de algoritmos, e, portanto, de programas. Um algoritmo é uma sequência de passos para realizar uma tarefa ou resolver um problema e atingir um objetivo, como por exemplo, uma receita de bolo. Dessa forma, um algoritmo é uma descrição passo a passo de como o computador irá executar uma operação específica que vai sendo mudado e melhorado em função do seu objetivo.
O aprendizado da lógica é essencial para formação de um bom programador, servindo como base para o aprendizado de todas as linguagens de programação. Lógica é a arte de pensar, a ciência das formas do pensamento, além de estudar a correção do raciocínio, visto que ele é a forma mais complexa do pensamento. O objetivo principal da lógica de programação é a construção de algoritmos.
A mais antiga programadora de computadores que se conhece é Ada Augusta Byron King. Ela escreveu um programa para ser utilizado na máquina analítica de Charles Babbage. Essa máquina é considerada o ponto de partida dos computadores eletrônicos. O algoritmo que Ada escreveu entre 1842 e 1843 calculava a sequência de Bernoulli, conhecida também como a Lei dos Grandes Números. Embora Babbage nunca tenha completado a construção de nenhuma das suas máquinas, o trabalho que ele e Ada desenvolveram sobre elas, garantiu a Ada o título de primeira programadora de computadores do mundo. A linguagem de programação Ada recebeu o seu nome.
Um dos primeiros programadores que se tem notícia de ter completado todos os passos para a computação sem auxílio, incluindo a compilação e o teste, é Wallace J. Eckert. Ele usou a linguagem da matemática para solucionar problemas astronômicos. Porém, o título de pai da ciência dos computadores e da programação é dado à Alan Turing. Ele foi responsável por ajudar na elaboração e programação de um computador destinado a quebrar o código alemão ENIGMA durante a Segunda Guerra Mundial.
REFERENCIAL TEÓRICO
Um computador é constituído de quatro unidades básicas: unidade de entrada, unidade de saída, unidade de processamento central e memória. Como indica sua denominação, uma unidade de entrada é um dispositivo que permite que o usuário interaja com o computad or, fornecendo-lhe dados e informações que serão processadas, sendo o teclado o seu exemplo mais trivial. Uma unidade de saída serve para que sejam fornecidos ao usuário do computador os resultados do processamento realizado. O monitor de vídeo e uma impressora são exemplos de unidades de saída. A unidade central de processamento é responsável por todo o processamento requerido, sendo muito conhecida como CPU. Já a memória armazena dados temporários e informações que serão utilizados no processamento, pois quando o computador é desligado tudo que está nela armazenado é “apagado”.
Evidentemente, há a necessidade de que as unidades que compõem um computador se comuniquem umas com as outras. Por exemplo, um dado fornecido pelo teclado deve ser armazenado na memória; para a CPU realizar uma operação aritmética, ela vai “buscar” valores que estão armazenados na memória, e assim por diante. Para que haja comunicação entre as unidades do computador é necessário que se estabeleça uma linguagem.
A linguagem utilizada para comunicação interna num computador, chamada linguagem de máquina, possui apenas dois símbolos. Cada um destes símbolos é denominado bit (binary digit) e eles são representados por 0 e 1. Portanto, as palavras da linguagem de máquina são sequências de bits, ou seja, sequências de dígitos zero e um. Para que haja a possibilidade da comunicação do homem com o computador, é necessário que as palavras da linguagem escrita sejam traduzidas para a linguagem de máquina e vice-versa. Logo, é necessário que se estabeleça qual a sequência de bit's que corresponde a cada caractere usado na linguagem escrita. Uma codificação muito utilizada é o código ASCII (American Standard Code for Information Interchange). Nesta codificação, cada caractere é representado por uma sequência de oito bits.
Dissemos que um programa escrito em linguagem de programação é traduzido para a linguagem de máquina por um compilador. Para que o compilador consiga traduzir uma instrução escrita com caracteres de algum idioma para instruções escritas como sequências de zeros e uns, é necessário que cada instrução seja escrita de acordo com regras preestabelecidas. Estas regras são chamadas sintaxe e quando não são obedecidas dizemos que existe erro de sintaxe. Se o programa fonte contém algum erro de sintaxe, o compilador não o traduz para a linguagem de máquina (isto é, o compilador não compila o programa) e indica qual o tipo de erro cometido e a instrução onde este erro aconteceu.
Uma das linguagens de programação mais populares é a C, que foi criada em 1972 por Dennis Ritchie, para desenvolver o sistema operacional Unix. Muitas de suas características derivaram da linguagem B (que se derivou da BCPL). A linguagem de programação C++ foi originalmente derivada do C para suportar programação orientada a objetos. À medida que as linguagensC e C++ foram evoluindo independentemente, a divisão entre as duas veio a aumentar.
Um programa C é basicamente um conjunto de funções. O ponto de início e término de execução de um programa C está associado com uma função com um nome especial: a função main(principal).
Variáveis e constantes são os elementos básicos que um programa manipula. Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado. Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. A memória do computador é um espaço no qual se pode colocar qualquer coisa, mas para isso deve-se fazer uma “reserva”. A reserva é que garantirá que os bytes necessários para armazenar programas e dados estarão disponíveis quando forem necessários. Têm-se quatro tipos de variáveis: numérica, caracteres, alfanuméricas ou lógicas. Os tipos de variáveis básicas predefinidas na linguagem C são:
• int: Variável tipo inteira. Deve ser utilizada para armazenar valor inteiro, com ou sem sinal;
• char: Variável tipo caracteres. Servirá para armazenar um único caractere.
• float: Variáveis tipo de ponto flutuante. Pode armazenar até seis dígitos decimais significativos.
• double: Como float, define variáveis reais, mas pode armazenar mais dígitos, dando uma precisão maior nos cálculos com casas decimais.
Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores:
• Operadores Aritméticos
• Operadores Relacionais
• Operadores Lógicos
O identificador é uma sequência de letras, dígitos e caractere para sublinhamento escolhida pelo programador e será utilizado no programa para se fazer referência à variável (o primeiro caractere do identificador não pode ser um dígito). Como um programa deve ser legível por outros programadores (e pelo próprio programador), é uma boa prática se escolher um identificador de uma variável que tenha alguma relação com a sua finalidade. Se uma variável deve armazenar uma soma, um identificador muito bom para ela será Soma. Os compiladores da linguagem C fazem distinção entre letras maiusculas e minúsculas e, portanto, Numero e numero são dois identificadores diferentes.
A linguagem C fixa alguns identificadores para a sintaxe de suas instruções. Estes identificadores não podem ser utilizados nos programas, sendo conhecidos por palavras reservadas. Algumas das palavras reservadas em C são:
Tabela 1 : Exemplos das palavras reservadas pela linguagem C
Existem muitos comandos de controle de fluxo, sendo eles de tomada de decisão como o IF, CONTINUE e SWHITCH ou de repetição, como FOR, WHILE, DO WHILE.
OBJETIVO
Fazer um programa que tenha como entrada um arquivo com a identificação do evento, as coordenadas geográficas (em graus) do evento, identificação da estação, e as coordenadas geográficas da estação (em graus), e que calcule a distância angular entre a estação e o terremoto (em graus), e o azimute entre evento e estação (em graus). O programa solicitará o nome do arquivo de entrada, ler os dados deste arquivo, e imprimir na tela a identificação do evento, identificação da estação, a distância angular (em graus) e o azimute (em graus), para cada linha do arquivo de entrada.
METODOLOGIA
A criação de um programa de computador consiste de cinco passos principais:
1. Reconhecer a necessidade de um programa para resolver um problema
2. Planificar o programa e selecionar as ferramentas necessárias para resolver o problema
3. Escrever o programa na linguagem de programação escolhida
4. Compilar
5. Testar o programa para ter a certeza de que funciona.
A partir de um arquivo de dados com a identificação do evento, as coordenadas geográficas (em graus) do evento, identificação da estação, e as coordenadas geográficas da estação (em graus) foi desenvolvido um programa em linguagem C++ usando equações pré-estabelecidas que calcula a distancia angular entre estação e terremoto e o azimute entre evento e estação.
Arquivo de entrada utilizado:
	20110202
	31.863
	-40.976
	4000
	-15.642
	-48.05
	20110101
	-12.00
	-78.00
	1000
	52.00
	-10.25
	20111211
	33.30
	54.30
	1000
	52.00
	-10.25
	20110809
	24.00
	30.50
	1000
	52.00
	-10.25
	20111023
	-40.00
	-60.00
	1000
	52.00
	-10.25
	20110101
	-12.00
	-78.00
	2000
	59.00
	-15.50
	20111211
	33.30
	54.30
	2000
	59.00
	-15.50
	20110809
	24.00
	30.50
	2000
	59.00
	-15.50
	20111023
	-40.00
	-60.00
	2000
	59.00
	-15.50
	20110101
	-12.00
	-78.00
	3000
	31.00
	-45.50
	20111211
	33.30
	54.30
	3000
	31.00
	-45.50
	20110809
	24.00
	30.50
	3000
	31.00
	-45.50
	20111023
	-40.00
	-60.00
	3000
	31.00
	-45.50
As colunas do arquivo de entrada são:
Coluna 01 – Identificação do evento (data do terremoto). Coluna 02 – Latitude do evento (graus).
Coluna 03 – Longitude do evento (graus).
Coluna 04 – Identificação da estação sismográfica. Coluna 05 – Latitude da estação (graus).
Coluna 06 – Longitude da estação sismográfica (graus).
A primeira coisa feita foi escrever as bibliotecas utilizadas: stdio.h e math.h. Depois de criarmos a função principal, declaramos as variáveis e em seguida utilizamos o comando printf que digita na tela do programa: "Digite o nome do arquivo e em seguida pressione <ENTER>".
O nome do nosso arquivo é: DADOS1,TXT.
Na linha 21 fizemos um teste para confirmar que o arquivo não esta vazio. Consideramos a variável i = 0 e através do while fizemos um loop para que o programa leia cada linha ate que o arquivo acabe. Após esses passos, estabelecemos os valores da colatitude e escrevemos a equação que transforma graus para radianos para realização dos cálculos, assim como a equação que calcula a distancia angular e o azimute.
Depois, transformamos os resultados de radianos para graus, já que queremos que o programa dê o resultado em graus.
Feito isso, utilizamos novamente o comando printf para imprimir os resultados na tela.
Utilizamos o comando getchar () para que o programa não se feche automaticamente e return 0 para finalizar o processo. O passo a passo aqui descrito está também explicado no programa através de comentários utilizando as barras //.
RESULTADOS
Assim, realizamos um programa que após informarmos o nome do arquivo de entrada, apresenta o numero da linha seguida das informações do evento, da estação, da distância angular e o azimute.
Figura 1 : Imagem para ilustrar o modo com que foi feito o programa
Figura 2: Inicio da execução do programa, pedindo para que o usuário digite o nome do arquivo de entrada.
Figura 3: Execução do programa após informar o arquivo
CONCLUSÃO
Após realização do programa e do relatório, pudemos conhecer muito mais sobre a história e evolução das linguagens de programação e dos programas em si. Vimos que com comandos básicos podemos construir programas úteis para nosso trabalho e dia-a-dia.
BIBLIOGRAFIA http://www.inf.pucrs.br/~pinho/LaproI/IntroC/IntroC.htm http://pt.wikipedia.org/wiki/C%2B%2B#Caracter.C3.ADsticas http://www.fsm.com.br/web/enade/revisao/novos/livroProgramacaoC.pdf http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node129.html http://programacaoc.com/index.php?id=1

Outros materiais