<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://fiscomp.if.ufrgs.br/index.php?action=history&amp;feed=atom&amp;title=Velocidade_m%C3%A9dia_em_fun%C3%A7%C3%A3o_do_tempo</id>
	<title>Velocidade média em função do tempo - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="http://fiscomp.if.ufrgs.br/index.php?action=history&amp;feed=atom&amp;title=Velocidade_m%C3%A9dia_em_fun%C3%A7%C3%A3o_do_tempo"/>
	<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Velocidade_m%C3%A9dia_em_fun%C3%A7%C3%A3o_do_tempo&amp;action=history"/>
	<updated>2026-04-30T05:18:26Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Velocidade_m%C3%A9dia_em_fun%C3%A7%C3%A3o_do_tempo&amp;diff=2025&amp;oldid=prev</id>
		<title>Rodrigozferreira em 18h23min de 24 de janeiro de 2018</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Velocidade_m%C3%A9dia_em_fun%C3%A7%C3%A3o_do_tempo&amp;diff=2025&amp;oldid=prev"/>
		<updated>2018-01-24T18:23:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Edição das 18h23min de 24 de janeiro de 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l123&quot;&gt;Linha 123:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 123:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			/*	caso for o primeiro carro,	*/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			/*	caso for o primeiro carro,	*/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			/*	salvar sua posicao para    	*/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			/*	salvar sua posicao para    	*/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			/*	calcularmos a distancia &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ate	&lt;/del&gt;*/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			/*	calcularmos a distancia &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;do 	&lt;/ins&gt;*/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			/*	&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;o &lt;/del&gt;ultimo carro&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.          	&lt;/del&gt;*/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			/*	ultimo carro &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ao primeiro   	&lt;/ins&gt;*/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			if(prim_carro == -1){&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;			if(prim_carro == -1){&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rodrigozferreira</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Velocidade_m%C3%A9dia_em_fun%C3%A7%C3%A3o_do_tempo&amp;diff=1984&amp;oldid=prev</id>
		<title>Rodrigozferreira em 17h24min de 24 de janeiro de 2018</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Velocidade_m%C3%A9dia_em_fun%C3%A7%C3%A3o_do_tempo&amp;diff=1984&amp;oldid=prev"/>
		<updated>2018-01-24T17:24:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Edição das 17h24min de 24 de janeiro de 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l108&quot;&gt;Linha 108:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 108:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   	  	/*  Para descobrir a posicao do primeiro carro */&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   	  	/*  Para descobrir a posicao do primeiro carro */&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    	&lt;/del&gt;/*  tem carro na posição &#039;i&#039;? &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;         		   &lt;/del&gt;*/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    	        &lt;/ins&gt;/*  tem carro na posição &#039;i&#039;? &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;         	       &lt;/ins&gt;*/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		if (rua[i] == -1){	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		if (rua[i] == -1){	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rodrigozferreira</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Velocidade_m%C3%A9dia_em_fun%C3%A7%C3%A3o_do_tempo&amp;diff=1983&amp;oldid=prev</id>
		<title>Rodrigozferreira: Criou página com &#039;&lt;source lang = c&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt;   /* declaracao de funcoes */ void passo(void); void inicializacao(void); void atualizar_posicao(void);...&#039;</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Velocidade_m%C3%A9dia_em_fun%C3%A7%C3%A3o_do_tempo&amp;diff=1983&amp;oldid=prev"/>
		<updated>2018-01-24T17:22:59Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;&amp;lt;source lang = c&amp;gt; #include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; #include&amp;lt;math.h&amp;gt;   &lt;span class=&quot;autocomment&quot;&gt;declaracao de funcoes: &lt;/span&gt; void passo(void); void inicializacao(void); void atualizar_posicao(void);...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang = c&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include&amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include&amp;lt;math.h&amp;gt; &lt;br /&gt;
&lt;br /&gt;
/* declaracao de funcoes */&lt;br /&gt;
void passo(void);&lt;br /&gt;
void inicializacao(void);&lt;br /&gt;
void atualizar_posicao(void);&lt;br /&gt;
int mudar_velocidade(int(v));&lt;br /&gt;
int calculo_distancia(void);&lt;br /&gt;
&lt;br /&gt;
/*  declaracao var global   */&lt;br /&gt;
#define tempo_max 100&lt;br /&gt;
#define num_carros 30&lt;br /&gt;
#define comprimento_rua 100&lt;br /&gt;
#define veloc_max 6&lt;br /&gt;
&lt;br /&gt;
/*  velocidade: numero de posições   */&lt;br /&gt;
/*  que o carro andará num passo     */&lt;br /&gt;
int rua[comprimento_rua], vel[num_carros];&lt;br /&gt;
int prim_carro, dist;&lt;br /&gt;
int i, j, t; &lt;br /&gt;
&lt;br /&gt;
//z_max = numero de amostragens&lt;br /&gt;
int z, z_max = 10000;&lt;br /&gt;
&lt;br /&gt;
//probab_vel = probabilidade de reducao da velocidade&lt;br /&gt;
double probab_vel = 0.3; &lt;br /&gt;
&lt;br /&gt;
//print: precisamos primeiro coletar todos os resultados, fazermos a media, para so entao printarmos&lt;br /&gt;
double print[tempo_max], v_media;&lt;br /&gt;
&lt;br /&gt;
void main(void)&lt;br /&gt;
{&lt;br /&gt;
	//srand48(time(NULL));&lt;br /&gt;
	&lt;br /&gt;
	FILE *vm;&lt;br /&gt;
	char arq[30];&lt;br /&gt;
&lt;br /&gt;
	//para comparacao das probabilidade de reduzir velocidade e densidades&lt;br /&gt;
	sprintf(arq, &amp;quot;1_lane_v_med_t_prob_0%.0lf_dens_0%.0lf.dat&amp;quot;, probab_vel*10, 10*((double)num_carros)/comprimento_rua);&lt;br /&gt;
	&lt;br /&gt;
	vm = fopen(arq, &amp;quot;w+&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	for(t = 0; t &amp;lt; tempo_max; t++)&lt;br /&gt;
	{&lt;br /&gt;
		print[t] = 0;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	for(z = 0; z &amp;lt; z_max; z++)&lt;br /&gt;
	{&lt;br /&gt;
		&lt;br /&gt;
		inicializacao();&lt;br /&gt;
	&lt;br /&gt;
		for(t = 0; t &amp;lt; tempo_max; t++)&lt;br /&gt;
		{			&lt;br /&gt;
			passo();&lt;br /&gt;
&lt;br /&gt;
			v_media = 0;&lt;br /&gt;
			//calculo da velocidade media&lt;br /&gt;
			for(j = 0; j &amp;lt; num_carros; j++)&lt;br /&gt;
			{&lt;br /&gt;
				v_media += vel[j];&lt;br /&gt;
			}&lt;br /&gt;
			v_media /= num_carros;&lt;br /&gt;
			print[t] += v_media;&lt;br /&gt;
					&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for(t = 0; t &amp;lt; tempo_max; t++)&lt;br /&gt;
	{&lt;br /&gt;
		fprintf(vm, &amp;quot;%d %lf\n&amp;quot;, t, print[t]/z_max);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	fclose(vm);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void inicializacao(void){&lt;br /&gt;
&lt;br /&gt;
   	// zerando vetores&lt;br /&gt;
   	//-1 significa que a posicao esta vazia&lt;br /&gt;
&lt;br /&gt;
	for(i = 0; i &amp;lt; comprimento_rua; i++){&lt;br /&gt;
&lt;br /&gt;
			rua[i] = -1;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	//iniciando os carros - rua[i] representa o indice do carro, atraves do qual acessaremos sua velocidade em vel[rua[i]]&lt;br /&gt;
	for(i = 0; i &amp;lt; num_carros; i++)&lt;br /&gt;
	{&lt;br /&gt;
		vel[i] = 0;&lt;br /&gt;
		rua[i*comprimento_rua/num_carros] = i;&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
		&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void passo(void)&lt;br /&gt;
{&lt;br /&gt;
	i = 0;//posicoes na rua&lt;br /&gt;
	prim_carro = -1; //para que caso ainda nao haja um primeiro carro, prim_carro assuma um valor que nao se confunda com nenhum indice de carro (que vao de 0 a num_carros)&lt;br /&gt;
		&lt;br /&gt;
	while(i &amp;lt; comprimento_rua){&lt;br /&gt;
&lt;br /&gt;
  	  	/*  Para descobrir a posicao do primeiro carro */&lt;br /&gt;
    	/*  tem carro na posição &amp;#039;i&amp;#039;?          		   */&lt;br /&gt;
		&lt;br /&gt;
		if (rua[i] == -1){	&lt;br /&gt;
	&lt;br /&gt;
			/*	não, não tem carro em &amp;#039;i&amp;#039;	*/&lt;br /&gt;
			/*	vai pra prox posicao &amp;#039;i&amp;#039;   	*/&lt;br /&gt;
&lt;br /&gt;
			i++;&lt;br /&gt;
				&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
		else{&lt;br /&gt;
	&lt;br /&gt;
			/*	caso for o primeiro carro,	*/&lt;br /&gt;
			/*	salvar sua posicao para    	*/&lt;br /&gt;
			/*	calcularmos a distancia ate	*/&lt;br /&gt;
			/*	o ultimo carro.          	*/&lt;br /&gt;
&lt;br /&gt;
			if(prim_carro == -1){&lt;br /&gt;
&lt;br /&gt;
				prim_carro = i;&lt;br /&gt;
			}&lt;br /&gt;
				&lt;br /&gt;
			//calculando distancia ate o proximo carro&lt;br /&gt;
&lt;br /&gt;
			dist = calculo_distancia();&lt;br /&gt;
&lt;br /&gt;
			//mudando velocidades&lt;br /&gt;
&lt;br /&gt;
			vel[rua[i]] = mudar_velocidade(vel[rua[i]]);&lt;br /&gt;
								&lt;br /&gt;
			//atualizando posicoes&lt;br /&gt;
&lt;br /&gt;
			atualizar_posicao();&lt;br /&gt;
&lt;br /&gt;
			//pulando para o proximo carro&lt;br /&gt;
			i+=dist;	&lt;br /&gt;
		}	&lt;br /&gt;
	}&lt;br /&gt;
		&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void atualizar_posicao(void){&lt;br /&gt;
&lt;br /&gt;
	/*	atualiza apenas se a velocidade	*/&lt;br /&gt;
	/*	for diferente de zero        	*/&lt;br /&gt;
&lt;br /&gt;
	if( vel[rua[i]] != 0 ){&lt;br /&gt;
&lt;br /&gt;
		//para o ultimo carro, condicoes de contorno periodicas&lt;br /&gt;
		if( i + vel[rua[i]] &amp;gt;= comprimento_rua ){&lt;br /&gt;
&lt;br /&gt;
			rua[(i+ vel[rua[i]]) % comprimento_rua] = rua[i];&lt;br /&gt;
		}&lt;br /&gt;
		else{&lt;br /&gt;
&lt;br /&gt;
			rua[i + vel[rua[i]]] = rua[i];&lt;br /&gt;
		}&lt;br /&gt;
			&lt;br /&gt;
		rua[i] = -1;&lt;br /&gt;
	}&lt;br /&gt;
				&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int calculo_distancia(void){&lt;br /&gt;
&lt;br /&gt;
		/*	RETORNA A DISTANCIA ENTRE O	*/&lt;br /&gt;
		/*	CARRO &amp;#039;i&amp;#039; E O QUE ESTA NA   */&lt;br /&gt;
		/*	SUA FRENTE NA FAIXA &amp;#039;x&amp;#039;    	*/ &lt;br /&gt;
&lt;br /&gt;
		/*	caso não for o ultimo carro	*/&lt;br /&gt;
		/*	procura posição do prox. e	*/&lt;br /&gt;
		/*	calcula a distancia até ele	*/&lt;br /&gt;
&lt;br /&gt;
		/* temos que isolar o caso i = comprimento_rua - 1,*/&lt;br /&gt;
		/*	já que j = i + 1 = comprimento_rua, e usamos   */&lt;br /&gt;
		/*	rua[j], sendo que j &amp;lt; comprimento_rua;	   */&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		if( i + 1 &amp;lt; comprimento_rua ){&lt;br /&gt;
&lt;br /&gt;
			j = i + 1;&lt;br /&gt;
&lt;br /&gt;
			while ( (rua[j] == -1) &amp;amp;&amp;amp; (j &amp;lt; comprimento_rua) ){&lt;br /&gt;
&lt;br /&gt;
				j++;	&lt;br /&gt;
			}&lt;br /&gt;
		&lt;br /&gt;
			if ( j != comprimento_rua ){&lt;br /&gt;
&lt;br /&gt;
				dist = j - i;&lt;br /&gt;
			}&lt;br /&gt;
			&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		/*	para o ultimo carro a distan-	*/&lt;br /&gt;
		/*	cia é calculada em relacao ao	*/&lt;br /&gt;
		/*	primeiro, pois são C.C. perio-	*/&lt;br /&gt;
		/*	dicas.                       	*/&lt;br /&gt;
&lt;br /&gt;
		//ultimo carro, e existe um primeiro carro&lt;br /&gt;
		if( ((i == comprimento_rua - 1) || (j == comprimento_rua)) &amp;amp;&amp;amp; (prim_carro != -1)){&lt;br /&gt;
&lt;br /&gt;
			dist = comprimento_rua - (i - prim_carro);&lt;br /&gt;
		}	&lt;br /&gt;
&lt;br /&gt;
		//caso so haja um carro ou a pista esteja vazia&lt;br /&gt;
		else if(((i == comprimento_rua - 1) || (j == comprimento_rua)) &amp;amp;&amp;amp; (prim_carro == -1))&lt;br /&gt;
		{&lt;br /&gt;
			dist = comprimento_rua;&lt;br /&gt;
		}&lt;br /&gt;
		return dist;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int mudar_velocidade(int(v)){&lt;br /&gt;
&lt;br /&gt;
	int x;&lt;br /&gt;
	/*   	RETORNA NOVA VELOCIDADE  	*/	&lt;br /&gt;
&lt;br /&gt;
	/*	            Regra 1         	*/&lt;br /&gt;
	/*	caso dê pra acelerar, acelere	*/&lt;br /&gt;
	if( ( v &amp;lt; veloc_max ) &amp;amp;&amp;amp; ( dist &amp;gt; v + 1 ) ){&lt;br /&gt;
&lt;br /&gt;
		x = v + 1;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/*	           Regra 2           	*/&lt;br /&gt;
	/*	caso pouco espaço, desacelere	*/&lt;br /&gt;
	else if( dist &amp;lt; v + 1 ){&lt;br /&gt;
&lt;br /&gt;
		x = dist - 1;&lt;br /&gt;
	}&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		x = v;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/*	           Regra 3              */&lt;br /&gt;
	/*	redução de velocidade randomica	*/&lt;br /&gt;
	if( ( x &amp;gt; 0 ) &amp;amp;&amp;amp; ( drand48() &amp;lt; probab_vel )){&lt;br /&gt;
&lt;br /&gt;
		x--;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return x;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rodrigozferreira</name></author>
	</entry>
</feed>