Vous êtes sur la page 1sur 2

LINGUAGEM C PARA ENGENHARIA

Prof. Bardo E. J. Bodmann

ENG 03049

Introduo ca
A tarefa a ser realizado at o nal da disciplina visa a simulaao simples de e c avalanches seguindo o modelo introduzido por Bak,Tang e Wiesenfeld, tambm e conhecido como modelo de pilhas de areia. Este modelo um exemplo de um e sistema dinmico apresentando a propriedade de criticalidade auto-organizada. a A ideia deste modelo motivado pelo experimento que segue. Gros de areia e a sero jogado de forma aleatoria acima de uma mesa. Ao longo do tempo em a certas posioes h mais acumulo de areia que na vizinhaa ao redor at a conc a c e guraao se torna instvel e o morro comea desmoronar. Este processo termina c a c quando uma nova conrguraao estvel (distribuiao de areia acima da mesa) c a c est sendo alcancado. a

Modelo
Para implementar num programa o anlogo deste experimento numa forma sima plicada, a mesa pode ser considerado uma estrutura discreta, ou seja em forma matricial, onde apenas existem sitios com coordenadas (x, y) cujos valores so ina teiros. Exemplo: A mesa tm cantos com a dimenso 100, ento os valores para e a a x e y podem assumir valores conforme x, y [0, 100]. O contedo do elemento da u matriz representa o acumulo de graus neste s tio. A matriz ser inicializado com a valores de zero. Repetitivamente, ser escolhido de forma randmica um sitio a o que sera incrementado por um. Caso que o valor ultrapassa um limiar cr tico, este s desmorona e distribui uma unidade para todos os seus vizinhos que tio por sua vez podem desmoronar, ou seja provocar uma avalanche. As regras de iteraao para o modelo so: c a A conguraao seja uma superf plana z(x, y) = 0 para todos os x e y. c cie Utilize um gerador de nmeros (pseudo-)aleatorios para determinar as cooru denadas do sitio a ser incrementado. A funao rand (abreviatura de random), c denida na biblioteca stdlib, gera nmeros aleatrios. Cada invocaao da u o c funao produz um nmero aleatrio no intervalo fechado 0, ..., RAND MAX. c u o A constante RAND MAX est denida no arquivo-interface stdlib.h. Para gerar a nmeros aleatrios r entre 0, . . . , N tanto para x quanto para y utiliza-se a u o seguinte instruao. c rand() r=N RAN D M AX Uma vez determinado o s tio, aplica-se o incremento do mesmo, z(x, y) z(x, y) + 1 para z(x, y) < zc .

ou a regra da avalanche caso que z(x, y) > zc . z(x, y) z(x, y) 4 z(x 1, y) z(x 1, y) + 1 z(x, y 1) z(x, y 1) + 1

Recursos
Os seguintes recursos programatrios devem ser incluidos no programa: o Entradas e saidas formatadas de arquivos. Estruturas de controle de uxo. Ponteiros. Funoes e ponteiros para funoes. c c Alocaao dinmica de memoria. c a Estruturas.

Elaborao do trabalho ca
O programa a ser elaborado deve ser programado utilizando o padro ANSI C. a Junto ao cdigo fonte do programa deve ser entrego um documento que descreve o o prprio problema (uma extenso do primeiro paragrafo deste documento), o o a mtodo de implementaao e o mtodo de soluao. e c e c O documento deve incluir as instruoes para manuseiar o programa, como c entradas que devem ser fornecidos pelo usuario e as saidas fornecidas pelo programa. Como item nal o documento deve apresentar a lista de referencias consultadas tais como revistas, livros, paginas no internet etc.

Vous aimerez peut-être aussi