lac¸os: for x while entrada e sa´ıda abreviac¸oes˜ metodos...
Post on 08-Dec-2018
219 Views
Preview:
TRANSCRIPT
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Metodos Computacionais em Fısica
Jose Helder Lopes
Instituto de FısicaUniversidade Federal do Rio de Janeiro
Segundo Semestre de 2016
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Programa que escolhe o maior - Sem laco
#include <stdio.h>int main(){float a, b, c;float max;printf("Entre com 3 numeros\n");scanf ("%f %f %f", &a, &b, &c);
max = -9999999;if (a > max) max = a;if (b > max) max = b;if (c > max) max = c;
printf("O maior numero e’: %f\n", max);return 0;
}
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Programa que escolhe o maior - com for
#include <stdio.h>int main(){
float a;float max;int i;
max = -9999999;for (i = 1; i<= 3; i = i +1){
printf("Entre com o numero %d\n ",i);scanf ("%f", &a);if (a > max) max = a;
}printf("O maior numero e’: %f\n", max);return 0;
}
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Programa que escolhe o maior - com while
#include <stdio.h>int main(){
float a;float max;int i;
max = -9999999;i = 1;while (i<= 3){
printf("Entre com o numero %d\n ",i);scanf ("%f", &a);if (a > max) max = a;i = i+1;
}printf("O maior numero e’: %f\n", max);return 0;
}
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Abreviacoes
Existem algumas maneiras de abreviar comandos. Elasnao sao necessarias e podem tornar o programa de difıcilcompreensao
8 i = i + 1 Ü i++, ++i8 i = i - 1 Ü i- -, - -i8 soma = soma + n Ü soma + = n
Vale para os operadores aritmeticos: +, -, *, / e %.A forma geral e:
t = t operador expressao Ü t operador = expressaoa = a * 2; Ü a * = 2;a = a - b; Ü a - = b;
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Abreviacoes
Existem algumas maneiras de abreviar comandos. Elasnao sao necessarias e podem tornar o programa de difıcilcompreensao
8 i = i + 1 Ü i++, ++i
8 i = i - 1 Ü i- -, - -i8 soma = soma + n Ü soma + = n
Vale para os operadores aritmeticos: +, -, *, / e %.A forma geral e:
t = t operador expressao Ü t operador = expressaoa = a * 2; Ü a * = 2;a = a - b; Ü a - = b;
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Abreviacoes
Existem algumas maneiras de abreviar comandos. Elasnao sao necessarias e podem tornar o programa de difıcilcompreensao
8 i = i + 1 Ü i++, ++i8 i = i - 1 Ü i- -, - -i
8 soma = soma + n Ü soma + = nVale para os operadores aritmeticos: +, -, *, / e %.A forma geral e:
t = t operador expressao Ü t operador = expressaoa = a * 2; Ü a * = 2;a = a - b; Ü a - = b;
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Abreviacoes
Existem algumas maneiras de abreviar comandos. Elasnao sao necessarias e podem tornar o programa de difıcilcompreensao
8 i = i + 1 Ü i++, ++i8 i = i - 1 Ü i- -, - -i8 soma = soma + n Ü soma + = n
Vale para os operadores aritmeticos: +, -, *, / e %.A forma geral e:
t = t operador expressao Ü t operador = expressaoa = a * 2; Ü a * = 2;a = a - b; Ü a - = b;
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Abreviacoes
Existem algumas maneiras de abreviar comandos. Elasnao sao necessarias e podem tornar o programa de difıcilcompreensao
8 i = i + 1 Ü i++, ++i8 i = i - 1 Ü i- -, - -i8 soma = soma + n Ü soma + = n
Vale para os operadores aritmeticos: +, -, *, / e %.A forma geral e:
t = t operador expressao Ü t operador = expressaoa = a * 2; Ü a * = 2;a = a - b; Ü a - = b;
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Formatacao
Ü Sintaxeprintf(”expressao de controle”,argumentos):
Ü existe um default para o numero de algarismos e casasdecimais.
Ü e possıvel controlar o numero de casas decimaisimpressas:
%md ⇒ sao usadas m casas para escrever onumero.
%m.nf ⇒ sao usadas m casas para escrever onumero, das quais n a direita do ponto.
printf(”x = %4d e y = %5.2f\n”, x, y);x = 1234 e y = 12.45
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Escrevendo em Arquivos -fprintf
Ü Ja vimos como redirecionar a stdout
./programa > arquivo.saida
Ü e possıvel definir o arquivo dentro do programa8 Declarar um ponteiro para o arquivo:
FILE *arquivo = NULL;
8 Abrir o arquivo com a funcaofopen(nome, opcao)arquivo = fopen(”resultados.dat”,”w”);
8 Escrever usando o comandofprintf(arquivo,”expressao de controle”,argumentos);
fprintf(arquivo,”O resultado e %6.2f \n”, ValorFinal);
8 Fechar o arquivo com o comando fclosefclose(arquivo);
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Escrevendo em Arquivos -fprintf
Ü e possıvel definir o arquivo dentro do programa
8 Declarar um ponteiro para o arquivo:FILE *arquivo = NULL;
8 Abrir o arquivo com a funcaofopen(nome, opcao)arquivo = fopen(”resultados.dat”,”w”);
8 Escrever usando o comandofprintf(arquivo,”expressao de controle”,argumentos);
fprintf(arquivo,”O resultado e %6.2f \n”, ValorFinal);
8 Fechar o arquivo com o comando fclosefclose(arquivo);
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Escrevendo em Arquivos -fprintf
Ü e possıvel definir o arquivo dentro do programa8 Declarar um ponteiro para o arquivo:
FILE *arquivo = NULL;
8 Abrir o arquivo com a funcaofopen(nome, opcao)arquivo = fopen(”resultados.dat”,”w”);
8 Escrever usando o comandofprintf(arquivo,”expressao de controle”,argumentos);
fprintf(arquivo,”O resultado e %6.2f \n”, ValorFinal);
8 Fechar o arquivo com o comando fclosefclose(arquivo);
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Escrevendo em Arquivos -fprintf
Ü e possıvel definir o arquivo dentro do programa8 Declarar um ponteiro para o arquivo:
FILE *arquivo = NULL;
8 Abrir o arquivo com a funcaofopen(nome, opcao)arquivo = fopen(”resultados.dat”,”w”);
8 Escrever usando o comandofprintf(arquivo,”expressao de controle”,argumentos);
fprintf(arquivo,”O resultado e %6.2f \n”, ValorFinal);
8 Fechar o arquivo com o comando fclosefclose(arquivo);
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Escrevendo em Arquivos -fprintf
Ü e possıvel definir o arquivo dentro do programa8 Declarar um ponteiro para o arquivo:
FILE *arquivo = NULL;
8 Abrir o arquivo com a funcaofopen(nome, opcao)arquivo = fopen(”resultados.dat”,”w”);
8 Escrever usando o comandofprintf(arquivo,”expressao de controle”,argumentos);
fprintf(arquivo,”O resultado e %6.2f \n”, ValorFinal);
8 Fechar o arquivo com o comando fclosefclose(arquivo);
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Escrevendo em Arquivos -fprintf
Ü e possıvel definir o arquivo dentro do programa8 Declarar um ponteiro para o arquivo:
FILE *arquivo = NULL;
8 Abrir o arquivo com a funcaofopen(nome, opcao)arquivo = fopen(”resultados.dat”,”w”);
8 Escrever usando o comandofprintf(arquivo,”expressao de controle”,argumentos);
fprintf(arquivo,”O resultado e %6.2f \n”, ValorFinal);
8 Fechar o arquivo com o comando fclosefclose(arquivo);
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Escrevendo em Arquivos -fprintf
Ü e possıvel definir o arquivo dentro do programa8 Declarar um ponteiro para o arquivo:
FILE *arquivo = NULL;
8 Abrir o arquivo com a funcaofopen(nome, opcao)arquivo = fopen(”resultados.dat”,”w”);
8 Escrever usando o comandofprintf(arquivo,”expressao de controle”,argumentos);
fprintf(arquivo,”O resultado e %6.2f \n”, ValorFinal);
8 Fechar o arquivo com o comando fclosefclose(arquivo);
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Lendo de Arquivos -fscanf
Ü Sintaxescanf(”expressao de controle”, enderecos dos
argumentos):scanf("%f ", &x);
Ü Apos abrir um arquivo para leitura,arquivo = fopen(”leitura.dat”,”r”);
Ü e testar se ele existe.if(arquivo != NULL ){ . . . }
Ü Ele pode ser lido com a funcaofscanf(arquivo,”expressao de controle”,enderecosdos argumentos);fscanf(arquivo,”%d%f”, &num, &valor);
Veja o arquivo/home/helder/MetComp/2016-2/Aula4/maior com arquivo.c
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Lendo de Arquivos -fscanf
Ü Sintaxescanf(”expressao de controle”, enderecos dos
argumentos):scanf("%f ", &x);
Ü O redirecionamento de stdin pode ser feito com./programa < leitura.dat
Ü e possıvel abrir o arquivo com fopen
Ü Apos abrir um arquivo para leitura,arquivo = fopen(”leitura.dat”,”r”);
Ü e testar se ele existe.if(arquivo != NULL ){ . . . }
Ü Ele pode ser lido com a funcaofscanf(arquivo,”expressao de controle”,enderecosdos argumentos);fscanf(arquivo,”%d%f”, &num, &valor);
Veja o arquivo/home/helder/MetComp/2016-2/Aula4/maior com arquivo.c
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Lendo de Arquivos -fscanf
Ü Sintaxescanf(”expressao de controle”, enderecos dos
argumentos):scanf("%f ", &x);
Ü Apos abrir um arquivo para leitura,arquivo = fopen(”leitura.dat”,”r”);
Ü e testar se ele existe.if(arquivo != NULL ){ . . . }
Ü Ele pode ser lido com a funcaofscanf(arquivo,”expressao de controle”,enderecosdos argumentos);fscanf(arquivo,”%d%f”, &num, &valor);
Veja o arquivo/home/helder/MetComp/2016-2/Aula4/maior com arquivo.c
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Lendo de Arquivos -fscanf
Ü Sintaxescanf(”expressao de controle”, enderecos dos
argumentos):scanf("%f ", &x);
Ü Apos abrir um arquivo para leitura,arquivo = fopen(”leitura.dat”,”r”);
Ü e testar se ele existe.if(arquivo != NULL ){ . . . }
Ü Ele pode ser lido com a funcaofscanf(arquivo,”expressao de controle”,enderecosdos argumentos);fscanf(arquivo,”%d%f”, &num, &valor);
Veja o arquivo/home/helder/MetComp/2016-2/Aula4/maior com arquivo.c
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Lendo de Arquivos -fscanf
Ü Sintaxescanf(”expressao de controle”, enderecos dos
argumentos):scanf("%f ", &x);
Ü Apos abrir um arquivo para leitura,arquivo = fopen(”leitura.dat”,”r”);
Ü e testar se ele existe.if(arquivo != NULL ){ . . . }
Ü Ele pode ser lido com a funcaofscanf(arquivo,”expressao de controle”,enderecosdos argumentos);
fscanf(arquivo,”%d%f”, &num, &valor);
Veja o arquivo/home/helder/MetComp/2016-2/Aula4/maior com arquivo.c
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Entrada e Saıda: Lendo de Arquivos -fscanf
Ü Sintaxescanf(”expressao de controle”, enderecos dos
argumentos):scanf("%f ", &x);
Ü Apos abrir um arquivo para leitura,arquivo = fopen(”leitura.dat”,”r”);
Ü e testar se ele existe.if(arquivo != NULL ){ . . . }
Ü Ele pode ser lido com a funcaofscanf(arquivo,”expressao de controle”,enderecosdos argumentos);fscanf(arquivo,”%d%f”, &num, &valor);
Veja o arquivo/home/helder/MetComp/2016-2/Aula4/maior com arquivo.c
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Exemplo:
#include <stdio.h>int main(){
float a;int i = 1; float max = -9999999;FILE *arqentrada = NULL;FILE *arqsaida = NULL;arqentrada = fopen("entrada.dat","r");if (arqentrada == NULL){
printf("O arquivo nao existe\n");return 1;
}while (i<= 3){
fscanf (arqentrada,"%f", &a);if (a > max) max = a;i = i+1;
}arqsaida = fopen("resultado.dat","w");fprintf(arqsaida,"O maior numero e’:%7.2f\n",max);fclose(arqentrada);fclose(arqsaida);return 0;
}
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Algumas Observacoes
Ü fopenarquivo = fopen(”leitura.dat”,”r”);if(arquivo != NULL ){ . . . }
O valor NULL e atribuıdo a funcao fopen quando oarquivo leitura.dat nao pode ser aberto
Ü fscanfwhile (fscanf(arquivo,”%f”,&valores) != EOF) { . . . }O valor EOF e atribuıdo a funcao fscanf quando oarquivo arquivo chegar ao final
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Algumas Observacoes
Ü fopenarquivo = fopen(”leitura.dat”,”r”);if(arquivo != NULL ){ . . . }O valor NULL e atribuıdo a funcao fopen quando oarquivo leitura.dat nao pode ser aberto
Ü fscanfwhile (fscanf(arquivo,”%f”,&valores) != EOF) { . . . }O valor EOF e atribuıdo a funcao fscanf quando oarquivo arquivo chegar ao final
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Algumas Observacoes
Ü fopenarquivo = fopen(”leitura.dat”,”r”);if(arquivo != NULL ){ . . . }O valor NULL e atribuıdo a funcao fopen quando oarquivo leitura.dat nao pode ser aberto
Ü fscanfwhile (fscanf(arquivo,”%f”,&valores) != EOF) { . . . }
O valor EOF e atribuıdo a funcao fscanf quando oarquivo arquivo chegar ao final
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Algumas Observacoes
Ü fopenarquivo = fopen(”leitura.dat”,”r”);if(arquivo != NULL ){ . . . }O valor NULL e atribuıdo a funcao fopen quando oarquivo leitura.dat nao pode ser aberto
Ü fscanfwhile (fscanf(arquivo,”%f”,&valores) != EOF) { . . . }O valor EOF e atribuıdo a funcao fscanf quando oarquivo arquivo chegar ao final
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Conta numero de linhas de um arquivo -ultimo valor negativo
#include <stdio.h>int main(){
FILE *fp = NULL;int i, N=0;float valores;
fp = fopen("amostra2.dat","r");if (fp == NULL) return 1;fscanf (fp,"%f",&valores);while (valores >=0) {
N++;fscanf (fp,"%f",&valores);
}printf("Numero de linhas = %d\n",N);return 0; }
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Conta numero de linhas de um arquivo -qualquer
#include <stdio.h>int main(){
FILE *fp = NULL;int N=0;float valores;
fp = fopen("amostra2.dat","r");if (fp == NULL){
printf("Arquivo nao existe\n");return 1;
}while (fscanf (fp,"%f",&valores) != EOF) {
N++;}printf("Numero de linhas = %d\n",N);return 0;
}
Veja o arquivo/home/helder/MetComp/2016-2/Aula4/contaNumeroLinhas.c
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Debugando - Achando erros no programa
Bug: Inseto em inglesA analista de sistemas da Marinha dos Estados Unidos nas decadas de 1940 e
1950, Grace Hopper, ao resolver um problema em seu programa, descobriu um
inseto morto no computador ...
Depurar um programa em geral nao e uma tarefa facil !Tipos de erro:
Ü Erros de compilacao: Surgem ao compilar o programafonte. O programa executavel nao e gerado
Ü Erros de execucao: Surgem ao se executar oprograma. Podem parar a execucao, ou seguir emfrente, dando resultados errados
Ü Erros de logica: Ocorrem ao se executar o programamas nao ha nenhum erro de programacao em si, masdo algoritmo ou de sua implementacao
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Debugando - Achando erros no programa
Erros de compilacao:Ü Ler com atencao as mensagens de erro do compilador
Ü Resolver um erro de cada vez. Frequentemente os errosseguintes sao consequencia do primeiro.
Ü Usar opcoes do gcc que aumentam o nıvel de verificacoesda linguagem. Ex.: gcc -Wall -ansi -pedantic
Erros de execucao e logica:Ü Ha programas dedicados a isto, mas em geral de difıcil
aplicacao. Ex.: gdb, Valgrind
Ü Quando o programa “crasha” geralmente ha mensagens deerro indicando o possıvel problema e o ponto de ocorrencia
Ü Metodo mais efetivo: Imprimir tudo a cada passo doprograma !
Ü Fundamental: Verificar os resultados para varias situacoesconhecidas.
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Graficos com Gnuplot
8 Gnuplot e um programa de distribuicao gratuitadisponıvel para varios sistemas operacionais. Emhttp://www.gnuplot.info pode ser obtido tanto oprograma quanto a documentacao para utiliza-lo.
8 Na pagina da disciplina ha um texto introdutorio sobreo gnuplot.
8 Para iniciar o programa o comando e:...$ gnuplote obtemos o prompt:gnuplot>
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Graficos com Gnuplot
8 Gnuplot e um programa de distribuicao gratuitadisponıvel para varios sistemas operacionais. Emhttp://www.gnuplot.info pode ser obtido tanto oprograma quanto a documentacao para utiliza-lo.
8 Na pagina da disciplina ha um texto introdutorio sobreo gnuplot.
8 Para iniciar o programa o comando e:...$ gnuplot
e obtemos o prompt:gnuplot>
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Graficos com Gnuplot
8 Gnuplot e um programa de distribuicao gratuitadisponıvel para varios sistemas operacionais. Emhttp://www.gnuplot.info pode ser obtido tanto oprograma quanto a documentacao para utiliza-lo.
8 Na pagina da disciplina ha um texto introdutorio sobreo gnuplot.
8 Para iniciar o programa o comando e:...$ gnuplote obtemos o prompt:gnuplot>
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Gnuplot - Comandos Basicos
>comando # comentario>plot sin(x) # grafico de sin(x)>set xzeroaxis # desenha eixo x em y = 0>set xtics axis # desenha os tics no eixo>set xrange [-3.14:3.14] # define limites do grafico>set xr [-3.14:3.14] # o mesmo que acima>replot # refaz o grafico>set grid # desenha um reticulado>set ylabel ’seno(x)’ # texto no eixo>set title "sen(x)" # tıtulo do grafico>plot ’arq.dat’ using 1:2 # grafico da col 1 X col 2>plot ’arq.dat’ u 1:2 # de arq.dat>unset key # apaga ref arquivo>plot sin(x), cos(x) # duas curvas no mesmo grafico>plot ’arq.dat’ u 1:2:3 # apresenta os pontos com a in-
w errorbars certeza em y que esta na col 3>load ’test.gpl’ # executa o script teste.gpl
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Gnuplot - Comandos Basicos
>comando # comentario>plot sin(x) # grafico de sin(x)>set xzeroaxis # desenha eixo x em y = 0>set xtics axis # desenha os tics no eixo>set xrange [-3.14:3.14] # define limites do grafico>set xr [-3.14:3.14] # o mesmo que acima>replot # refaz o grafico>set grid # desenha um reticulado>set ylabel ’seno(x)’ # texto no eixo>set title "sen(x)" # tıtulo do grafico>plot ’arq.dat’ using 1:2 # grafico da col 1 X col 2>plot ’arq.dat’ u 1:2 # de arq.dat>unset key # apaga ref arquivo>plot sin(x), cos(x) # duas curvas no mesmo grafico>plot ’arq.dat’ u 1:2:3 # apresenta os pontos com a in-
w errorbars certeza em y que esta na col 3>load ’test.gpl’ # executa o script teste.gpl
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Gnuplot - Comandos Basicos
>comando # comentario>plot sin(x) # grafico de sin(x)>set xzeroaxis # desenha eixo x em y = 0>set xtics axis # desenha os tics no eixo>set xrange [-3.14:3.14] # define limites do grafico>set xr [-3.14:3.14] # o mesmo que acima>replot # refaz o grafico>set grid # desenha um reticulado>set ylabel ’seno(x)’ # texto no eixo>set title "sen(x)" # tıtulo do grafico>plot ’arq.dat’ using 1:2 # grafico da col 1 X col 2>plot ’arq.dat’ u 1:2 # de arq.dat>unset key # apaga ref arquivo>plot sin(x), cos(x) # duas curvas no mesmo grafico>plot ’arq.dat’ u 1:2:3 # apresenta os pontos com a in-
w errorbars certeza em y que esta na col 3>load ’test.gpl’ # executa o script teste.gpl
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Gnuplot - Comandos Basicos
>comando # comentario>plot sin(x) # grafico de sin(x)>set xzeroaxis # desenha eixo x em y = 0>set xtics axis # desenha os tics no eixo>set xrange [-3.14:3.14] # define limites do grafico>set xr [-3.14:3.14] # o mesmo que acima>replot # refaz o grafico>set grid # desenha um reticulado>set ylabel ’seno(x)’ # texto no eixo>set title "sen(x)" # tıtulo do grafico>plot ’arq.dat’ using 1:2 # grafico da col 1 X col 2>plot ’arq.dat’ u 1:2 # de arq.dat>unset key # apaga ref arquivo>plot sin(x), cos(x) # duas curvas no mesmo grafico>plot ’arq.dat’ u 1:2:3 # apresenta os pontos com a in-
w errorbars certeza em y que esta na col 3>load ’test.gpl’ # executa o script teste.gpl
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Gnuplot - Comandos Basicos
>comando # comentario>plot sin(x) # grafico de sin(x)>set xzeroaxis # desenha eixo x em y = 0>set xtics axis # desenha os tics no eixo>set xrange [-3.14:3.14] # define limites do grafico>set xr [-3.14:3.14] # o mesmo que acima>replot # refaz o grafico>set grid # desenha um reticulado>set ylabel ’seno(x)’ # texto no eixo>set title "sen(x)" # tıtulo do grafico>plot ’arq.dat’ using 1:2 # grafico da col 1 X col 2>plot ’arq.dat’ u 1:2 # de arq.dat>unset key # apaga ref arquivo>plot sin(x), cos(x) # duas curvas no mesmo grafico>plot ’arq.dat’ u 1:2:3 # apresenta os pontos com a in-
w errorbars certeza em y que esta na col 3>load ’test.gpl’ # executa o script teste.gpl
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Gnuplot - Saıda em Arquivos
Para produzir uma saıda em um arquivo e necessarioalterar o terminal e definir o nome do arquivo.
...>set term pdf # opcoes: arquivo pdf
...>set out ’saida.pdf’ # nome do arquivo pdf
...>replot # grafico no arquivo
Nao se esqueca de retornar para o terminal X11....>set term x11 # retornando
Met Comp
CLacos: for X while
Abreviacoes
Entrada e Saıda
Escrevendo emArquivos
Lendo de Arquivos
“Debugando”
gnuplotExercıcio
Exercıcio
O arquivo /home/helder/MetComp/2016-2/Aula4/mruv.dat contem as
medidas da posicao em funcao do tempo para um objeto em movimento
uniformemente acelerado. A primeira coluna indica o instante de tempo, em
segundos, a segunda a posicao, em centımetros, e a terceira a incerteza
associada, em centımetros. A curva teorica que descreve este movimento e
x(t) = 2 + 3t + 3t2/2. Use o gnuplot para reproduzir o grafico abaixo, onde os
dados medidos sao apresentados junto com a curva teorica. Salve o resultado
num arquivo pdf.
-20
0
20
40
60
80
100
120
140
160
0 1 2 3 4 5 6 7 8 9
x(c
m)
t(s)
"mruv.dat" using 1:2:32+3*x+3*x*x/2
top related