Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
/*Para que o programa seja compilado, nós temos que "incluir" as bibliotecas de onde o programa vai "aprender" os comandos faremos isso usando o "#include <nomedabiblioteca.h>"*/ #include <stdio.h> //Essa linha é responsável por permitir que o nosso programa leia dados do teclado e exiba informações na na janela do programa #include <stdlib.h> //Essa linha biblioteca inclui funções usuais (comandos padrões) #include <math.h> //A biblioteca math.h contém funções específicas da matemática, como funções trigonométricas e etc. /* Na linguagem C, as constantes a serem utilizadas devem ser definidas ainda no cabeçalho do código. Para isso usamos o comando "#define nomedaconstante valor" Ex: se fôssemos utilizar a aceleração da gravidade no nosso código, poderíamos escrever "#define G 9.8" */ #define N 20 /*Abaixo temos a "função principal", que é de fato onde nós escreveremos nosso código, a linha "return 0;" indica que se nossa função for executada sem erros o programa vai retornar o código 0, que é o padrão para a execução satisfatória. */ int main () { //o primeiro passo é declarar tadas as variáveis que serão utilizadas no código: double c[2]; //"double" é uma designação de "tipo primitivo", basicamente variáveis do tipo Double aceitam números com várias casa decimais ex: 1.0000000004 double x[2]; //O ponto e vírgula (;) indica o final da linha, ele serve pra indicar pro compilador que ele já pode passar para a próxima linha double x1[2]; /*A notação "v[#]" indica que se trata de um *VETOR/Conjunto* que guarda # posições, onde por ex: v[2] -> vetor "v" que possui 3 elementos (a posição 0 conta, isto é v = [#0, #1, #2]) */ double integral, erro, deltaa; //também podemos declarar variáveis do mesmo tipo em uma mesma linha, separando por vírgula double a[N]; //aqui nesta linha, o vetor/conjunto possui o número de posições definida no cabeçalho do algorímo int i,n=2; //"int" é uma designação de "tipo primitivo", basicamente variáveis do tipo Int aceitam somente números INTEIROS /* Para declarar o valor das variáveis, utilizasse o símbolo de igualdade (=) e pode ser declarado após a declaração das variáveis , por exemplo: (x = 4;) significa que a variavel x guarda o valor 4 */ x[0]=1/sqrt(3.0); //Essa linha indica que a "posição 0" do vetor/conjunto "x", guarda o valor "1/(raiz de 3)" x[1]=-x[0]; //Essa linha indica que a "posição 1" guarda o valor negativo correspondente ao guardado na "posição 0" do vetor "x" c[0]=1.0; c[1]=1.0; integral=0.0; a[0]=0.0; deltaa=0.1; /* A função a seguir, indica um ciclo de repetição dentro do nosso código, é chamada de função "for", trata=se de um função com 3 argumentos onde o argumento 1 declara algo, o argumento 2 é a condição de execução do laço de repetição e o argumento 3 indica o que ocorre ao final de cada ciclo por exemplo: for (i=0;i<=2,i++) // Ao entrar na função for, a variável "i" será configurada para guardar o valor 0 ; o loop vai repetir até que "i" seja menor ou igual a 2 // o "i++" significa que a final de cada ciclo de repetição a variável "i" vai ter seu valor acrescido de 1 unidade (vai subir 1 número) */ for (i=1;i<=10;i++) { a[i]=a[0]+i*deltaa; /*a cada linha do ciclo de repetição, o programa vai guardar na "posição i" do "vetor a" o valor da "posição 0" acrescido de i vezes o valor de "deltaa, por exemplo: para i=5 teremos que a[5] = 0 + 5*0.1 */ /* A função "Printf" é reponsável por exibir/imprimir na tela, alguma informão, essa informão deve estar expressa entre aspas, seguindos pelas variáveis separadas por vírgulas, quando forem utilizadas no printf */ printf("\n a[%d]=%f",i,a[i]); //"\n" é um código de formatação de texto, ele equivale a "saltar parágrafo" /* quando se deseja imprimir o valor guardado nas variávies, deve-se utilizar os formatadores indicados de acordo com o tipo de variável %d -> Referir variáveis do tipo INT (inteiros) %f -> Referir variáveis do tipo FLOAT ou DOUBLE (Números racionais) %e -> Referir variáveis do tipo FLOAT ou DOUBLE (Números racionais) em notação científica %c -> Referir variáveis do tipo CHAR (letras) é possível também limitar o número de casas decimais a serem exibidos ex: "%.4f", onde somente serão exibidos 4 casas de precisão */ } //pelas condições do ciclo for, o ciclo é rompido quando i chega ao valor maior que 10 e o código segue para a próxima linha for (i=0;i<=9;i++) { x1[0]=((a[i+1]-a[i])*x[0]+(a[i+1]+a[i]))/2.0; x1[1]=((a[i+1]-a[i])*x[1]+(a[i+1]+a[i]))/2.0; integral=integral+(c[0]*exp(-x1[0])+c[1]*exp(-x1[1]))*deltaa/2.0; } erro=fabs(integral-(1-exp(-1))); printf("\n erro =%9.2e",erro); return 0; }
Compartilhar