Me todos Computacionais em Fı sica

Documentos relacionados
Me todos Computacionais em Fı sica Lac os: for X while I/O Entrada e Saı da Escrevendo em Arquivos Lendo de Arquivos

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica

Estruturas de Decisão e loops

Me todos Computacionais em Fı sica gnuplot

Mestrado em Engenharia Física Tecnológica

Outline. 33. Manipulação de arquivos DIM

Programação para Computação 13ª Aula

O que é a modularização

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos

Arquivos. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC

Métodos Computacionais em Física

1/24 FICHEIROS DE TEXTO

INF1005: Programação 1. Arquivos. 02/05/10 (c) Paula Rodrigues 1

Disciplina de Algoritmos e Programação

Me todos Computacionais em Fı sica

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

MAC-115 Introdução à Computação para Ciências Exatas e Tecnologia IO Terceiro Exercício-Programa Entregar até 09/11/2007

Capítulo 06: Arquivos

Me todos Computacionais em Fı sica

Aula 26: Arquivos de texto

Introdução à Programação

Referências. Arquivos. Tópicos Principais. Programação de Computadores II. Motivação. Motivação. Abertura de arquivo. Slides da profa.

ponteiros INF Programação I Prof. Roberto Azevedo

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Métodos Computacionais em Física I (FIW234) Turmas IFA e IFB Noções Básicas de Linguagem C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

3.1 - Funções para manipular dados de entrada e saída padrão

Objetivo. Compreender a definição e dominar a implementação de ponteiros em C. Dominar a manipulação de arquivos

Algoritmos e Programação

Me todos Computacionais em Fı sica

Computação 2. Aula 9. Diego Addan Arquivos

Linguagem C. Armazenamento de Dados em Arquivos - Continuação

INF 1005 Programação I - Prof. Hélio Lopes 24/04/2012

Laboratório de 13 de maio de 2019

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Linguagens de Programação I

INF 1620 P1-16/09/06 Questão 1 Nome:

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva

Linguagem C. André Tavares da Silva.

Programação de Computadores I Arquivos na Linguagem C PROFESSORA CINTIA CAETANO

Aula 16: Manipulação de Arquivos em C

Introdução à Programação

Capítulo 6: Arquivos

Introdução à Linguagem C

Lista de exercícios estrutura de repetição FOR e While. 3. Criar um algoritmo que imprima a soma dos nu meros pares de 230 a 520..

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

Programação Básica. Estrutura de um algoritmo

Linguagem C Ficheiros Compilação Separada

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Introdução à Programação em C Input / Output

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

9. Arquivos em C. Prof. Renato Tinós. Departamento de Computação e Matemática (FFCLRP/USP) Introdução à Computação II

Me todos Computacionais em Fı sica

MC-102 Aula 21 Registros

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Me todos Computacionais em Fı sica

CCO 016 / COM 110 Fundamentos de Programação

Variáveis indexadas (arrays)

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008

Computação 2. Aula 8. Profª. Fabiany Arquivos

Faculdade de Computação

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010

Arquivos. Programação de Computadores I. Natália Batista.

ECT1203 Linguagem de Programação

INF 1620 P4 30/06/07 Questão 1 Nome:

3. Linguagem de Programação C

Algoritmos RESUMO - LINGUAGEM C

Me todos Computacionais em Fı sica

Funções de Entrada e Saída Formatada Constantes de barra invertida

Métodos Computacionais em Física

Sumário. Ficheiros. Ficheiros

Introdução a Programação. Manipulando Arquivos em Modo Texto

Linguagem C. Prof.ª Márcia Jani Cícero

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

CCO 016 / COM 110 Fundamentos de Programação

Arrays, Criação de Funções, Estruturas e Manipulação de Arquivos.

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Alocação Dinâmica de Memória - Exercício

ESTRUTURAS COMPOSTAS. Variáveis Compostas Unidimensionais VETOR. Baseado nos slides de Rosely Sanches e Simone Senger de Souza

Programação II. Arquivos - Conceito. Arquivos

Introdução à Computação

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

Me todos Computacionais em Fı sica

Aula 3 Constantes e funções de E/S

Linguagem C ESTRUTURA DE CONTROLE

Fundamentos de Programação 1

Princípios de Desenvolvimento de Algoritmos MAC122

Introdução a Linguagem C (Parte I) UFPA Sistemas de Informação. Roberto Araujo 2013

INF 1620 P2-14/10/05 Questão 1 Nome:

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Curso de C. Comunicação e Arquivos. 24/05/2010 Arnaldo V Moura, Daniel F. Ferber 1

Me todos Computacionais em Fı sica

Transcrição:

Me todos omputacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Primeiro Semestre de 2011

Me todos omputacionais em Fı sica 1 da 2 A Linguagem

Programa que escolhe o maior - I #include <stdio.h> 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); }

Programa que escolhe o maior - II #include <stdio.h> 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); }

Programa que escolhe o maior - III #include <stdio.h> 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); }

Se rie de Taylor do cosseno cos(x) = PN ( 1)n x 2n (2n)! 1 2 1 4 2 x + 4! x n=0 cos(x) = 1 1 6 6! x + + n = 2, 4, 6,... ( 1)(n/2) n x n! +...

Algoritmo Para um valor de x fixo inicializa x inicializa sinal = 1 inicializa fat = 1 inicializa soma do cosseno = 1 Loop (i) em nu mero de termos comec ando em 2 ate o nu mero de termos, em passos de 2 calculo do n-e simo termo: troca o sinal: sinal = -sinal calcula o fatorial: fat = fat * i * (i-1) soma do cosseno = soma do cosseno + sinal * x i /fat fim do loop imprime soma do cosseno e a func a o cosseno

Algoritmo inicializa x enquanto x < xmax inicializa sinal = 1 inicializa fat = 1 inicializa soma do cosseno = 1 Loop (i) em nu mero de termos comec ando em 2 ate o nu mero de termos, em passos de 2 calculo do n-e simo termo: troca o sinal: sinal = -sinal calcula o fatorial: fat = fat * i * (i-1) soma do cosseno = soma do cosseno + sinal * x i /fat fim do loop imprime soma do cosseno e a func a o cosseno atualiza x fim do while

Se rie de Taylor do cosseno Serie de Taylor - cos(x) 2 cos(x) Taylor, 1 term Taylor, 2 terms Taylor, 3 terms 1 cos(x) 0-1 -2 0 45 90 135 x(graus) 180 225 270

Ü O ro tulo e um identificador seguido de dois pontos. Pode ser colocado em qualquer parte do programa.

Ü O ro tulo e um identificador seguido de dois pontos. Pode ser colocado em qualquer parte do programa. Ü Ao encontrar o goto a execuc a o do programa passa para o primeiro comando apo s o ro tulo....... label:...

Ü O ro tulo e um identificador seguido de dois pontos. Pode ser colocado em qualquer parte do programa. Ü Ao encontrar o goto a execuc a o do programa passa para o primeiro comando apo s o ro tulo. Ü E um recurso muito flexı vel mas torna o programa muito confuso. Use-o com moderac a o!... goto label;... label:...

- um exemplo Veja o programa loops.c main(){ int i, j; int imax = 3, jmax = 2; int n = 0, nmax = 4; for( i=0; i<imax; i = i+1) { for( j=0; j<jmax; j = j+1) { n = n + 1; printf( %d\t%d\t%d \n, i,j,n); if( n >= nmax ) goto fim; } } fim: printf( %d\t%d\t%d \n, i,j,n); }

- um exemplo Veja o programa loops.c main(){ int i, j; int imax = 3, jmax = 2; int n = 0, nmax = 4; for( i=0; i<imax; i = i+1) { for( j=0; j<jmax; j = j+1) { n = n + 1; printf( %d\t%d\t%d \n, i,j,n); if( n >= nmax ) break; } } fim: printf( %d\t%d\t%d \n, i,j,n); }

- um exemplo Veja o programa loops.c main(){ int i, j; int imax = 3, jmax = 2; int n = 0, nmax = 4; for( i=0; i<imax; i = i+1) { for( j=0; j<jmax; j = j+1) { n = n + 1; printf( %d\t%d\t%d \n, i,j,n); if( n >= nmax ) continue; } } fim: printf( %d\t%d\t%d \n, i,j,n); }

Existem algumas maneiras de abreviar comandos. Elas na o sa o necessa rias e podem tornar o programa de difı cil compreensa o

Existem algumas maneiras de abreviar comandos. Elas na o sa o necessa rias e podem tornar o programa de difı cil compreensa o 8 i = i + 1 Ü i++ (soma apo s o uso) ou ++i (antes do uso)

Existem algumas maneiras de abreviar comandos. Elas na o sa o necessa rias e podem tornar o programa de difı cil compreensa o 8 i = i + 1 Ü i++ (soma apo s o uso) ou ++i (antes do uso) 8 i = i - 1 Ü i- - (subtrai apo s o uso) ou - -i (antes do uso)

Existem algumas maneiras de abreviar comandos. Elas na o sa o necessa rias e podem tornar o programa de difı cil compreensa o 8 i = i + 1 Ü i++ (soma apo s o uso) ou ++i (antes do uso) 8 i = i - 1 Ü i- - (subtrai apo s o uso) ou - -i (antes do uso) 8 soma = soma + n Ü soma + = n

Existem algumas maneiras de abreviar comandos. Elas na o sa o necessa rias e podem tornar o programa de difı cil compreensa o 8 i = i + 1 Ü i++ (soma apo s o uso) ou ++i (antes do uso) 8 i = i - 1 Ü i- - (subtrai apo s o uso) ou - -i (antes do uso) 8 soma = soma + n Ü soma + = n Vale para os operadores aritme ticos: +, -, *, / e %. A forma geral e : t = t operador expressa o a = a * 2; a = a - b; Ü Ü Ü t operador = expressa o a * = 2; a - = b;

A Func a o - printf Ü Sintaxe printf( expressa o de controle, argumentos):

A Func a o - printf Ü Sintaxe printf( expressa o de controle, argumentos): Ü Expressa o de controle: texto ou co digos de formatac a o: o digos de formatac a o \n \t \b \ \\ \f \v nova linha tabulac a o retrocesso aspas barra muda de linha muda de linha %c %d %o %x %f %e %g caracter simples inteiro (decimal) inteiro (octal) inteiro (hexadecimal) real (ponto flutuante) real (notac a o cientı fica) real

A Func a o - printf Ü Sintaxe printf( expressa o de controle, argumentos): Ü Os argumentos sa o constantes ou varia veis separadas por vı rgula: 6 Escreva programas usando os comandos abaixo: printf( x vale %d \n, x); printf( O valor e %f \n, 10.82); printf( O comando \\n \n e o comando \\f \f sao distintos\n );

A Func a o - printf Ü Sintaxe printf( expressa o de controle, argumentos): Ü e possı vel controlar o nu mero de casas decimais impressas: %md sa o usadas m casas para escrever o nu mero. %m.nf sa o usadas m casas para escrever o nu mero, das quais n a direita do ponto. printf( x = %4d e y = %5.2f\n, x, y); x = 1234 e y = 12.45

Escrevendo em Arquivos Ü Ja vimos como redirecionar a stdout./programa > arquivo.saida

Escrevendo em Arquivos Ü e possı vel definir o arquivo dentro do programa

Escrevendo em Arquivos Ü e possı vel definir o arquivo dentro do programa 8 Declarar um ponteiro para o arquivo: FILE *arquivo = NULL;

Escrevendo em Arquivos Ü 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 func a o fopen(nome, opc a o) arquivo = fopen( resultados.dat, w );

Escrevendo em Arquivos Ü 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 func a o fopen(nome, opc a o) arquivo = fopen( resultados.dat, w ); 8 Escrever usando o comando fprintf(arquivo, expressa o de controle,argumentos);

Escrevendo em Arquivos Ü 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 func a o fopen(nome, opc a o) arquivo = fopen( resultados.dat, w ); 8 Escrever usando o comando fprintf(arquivo, expressa o de controle,argumentos); fprintf(arquivo, O resultado e %6.2f \n, ValorFinal);

Escrevendo em Arquivos Ü 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 func a o fopen(nome, opc a o) arquivo = fopen( resultados.dat, w ); 8 Escrever usando o comando fprintf(arquivo, expressa o de controle,argumentos); fprintf(arquivo, O resultado e %6.2f \n, ValorFinal); 8 Fechar o arquivo com o comando fclose fclose(arquivo);

As Func o es - scanf e fscanf Ü Sintaxe scanf( expressa o de controle, enderec os dos argumentos): scanf("%f ", &x);

As Func o es - scanf e fscanf Ü Sintaxe scanf( expressa o de controle, enderec os dos argumentos): scanf("%f ", &x); Ü O redirecionamento de stdin pode ser feito com./programa < leitura.dat Ü e possı vel abrir o arquivo com fopen

As Func o es - scanf e fscanf Ü Sintaxe scanf( expressa o de controle, enderec os dos argumentos): scanf("%f ", &x); Ü Apo s abrir um arquivo para leitura, arquivo = fopen( leitura.dat, r );

As Func o es - scanf e fscanf Ü Sintaxe scanf( expressa o de controle, enderec os dos argumentos): scanf("%f ", &x); Ü Apo s abrir um arquivo para leitura, arquivo = fopen( leitura.dat, r ); Ü e testar se ele existe. if(arquivo!= NULL ){... }

As Func o es - scanf e fscanf Ü Sintaxe scanf( expressa o de controle, enderec os dos argumentos): scanf("%f ", &x); Ü Apo s abrir um arquivo para leitura, arquivo = fopen( leitura.dat, r ); Ü e testar se ele existe. if(arquivo!= NULL ){... } Ü Ele pode ser lido com a func a o fscanf(arquivo, expressa o de controle,enderec os dos argumentos);

As Func o es - scanf e fscanf Ü Sintaxe scanf( expressa o de controle, enderec os dos argumentos): scanf("%f ", &x); Ü Apo s abrir um arquivo para leitura, arquivo = fopen( leitura.dat, r ); Ü e testar se ele existe. if(arquivo!= NULL ){... } Ü Ele pode ser lido com a func a o fscanf(arquivo, expressa o de controle,enderec os dos argumentos); fscanf(arquivo, %d%f, &num, &valor);

Exemplo Veja o arquivo sandraamato/metomp/2011 1/Aula4/maior com arquivo.c

Algumas Observac o es sobre Func o es Ü Uso do valor de retorno de uma func a o int main( ){... return 0; } Ü Veja o arquivo maior com arquivo e return.c em sandraamato/metomp/2011 1/Aula4

Algumas Observac o es sobre Func o es Ü fopen arquivo = fopen( leitura.dat, r ); if(arquivo!= NULL ){... }

Algumas Observac o es sobre Func o es Ü fopen arquivo = fopen( leitura.dat, r ); if(arquivo!= NULL ){... } O valor NULL e atribuı do a func a o fopen quando o arquivo leitura.dat na o pode ser aberto

Algumas Observac o es sobre Func o es Ü fopen arquivo = fopen( leitura.dat, r ); if(arquivo!= NULL ){... } O valor NULL e atribuı do a func a o fopen quando o arquivo leitura.dat na o pode ser aberto Ü fscanf while (fscanf(arquivo, %f,&valores)!= EOF) {... }

Algumas Observac o es sobre Func o es Ü fopen arquivo = fopen( leitura.dat, r ); if(arquivo!= NULL ){... } O valor NULL e atribuı do a func a o fopen quando o arquivo leitura.dat na o pode ser aberto Ü fscanf while (fscanf(arquivo, %f,&valores)!= EOF) {... } O valor EOF e atribuı do a func a o fscanf quando o arquivo arquivo na o puder ser lido

onta nu mero de linhas de um arquivo u ltimo 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; }

onta nu mero de linhas de um arquivo qualquer #include <stdio.h> int main() { FILE *fp = NULL; int N=0; float valores; int i; fp = fopen("amostra2.dat","r"); if (fp == NULL) return 1; while (fscanf (fp,"%f",&valores)!= EOF) { N++; } printf("numero de linhas = %d\n",n); return 0; }

8 Escreva um algoritmo para calcular a me dia, µ, e o desvio padra o, σ, de uma turma, onde σ2 = N N 1 1 1 X 2 N 1 X (xi µ)2 = xi µ2 N 1 N 1 N 1 8 Escreva um algoritmo para contar quantos alunos de uma turma tiveram notas em um determinado intervalo.

Escreva um programa que implemente os algoritmos dos exercı cios anteriores. Rode o programa usando como entrada o arquivo sandraamato/metomp/2011 1/Aula4/notas.dat e determine: Ü Quantos alunos passaram direto: nota 7. Ü Quantos alunos esta o reprovados: nota < 3. Ü Quantos alunos tem nota maior que a me dia da turma. Ü Quantos alunos tem nota em um intervalo de um desvio padra o em torno da me dia da turma.

Ü Escreva um algoritmo que calcule o tempo gasto por um corpo de massa m para descer um plano inclinado que faz um a ngulo θ com a horizontal quando largado de uma altura h. Os coeficientes de atrito esta tico e cine tico sa o, respectivamente, µe e µc.

Ü Implemente o algoritmo do exercı cio anterior escrevendo um programa em. Os valores de m, µe, µc, h e θ devem ser fornecidos pelo teclado, nessa ordem. Ü Altere o programa do exercı cio anterior para que os valores de m, µe, µc e h sejam lidos de um nessa ordem. θ deve variar de 0o a 90o em passos de 10o. A saı da do programa deve ser uma tabela do tipo: Angulo(graus)...... tempo(s)......