Para poder hacer esta simulación se realizo un programa en c++
El código lo mostramos a continuación:
#include
#include
#include
#include
#include
#include
int main()
{
int contpz,contpd,contpa,n,i,max,contpt,kf,hf;
contpz=0;contpa=0;contpd=0;contpt=0;
float r,h,k;
double k1,h1,K,H,D,d,l;
//h=random(20);
//k=random(20);
cout<<"ingrese la abscisa del inicio:";cin>>h;
cout<<"ingrese la ordenada del inicio:";cin>>k;
gotoxy(h,k);cout<<"."
cout<<"ingrese el numero de pasos(CORRIDAS):";cin>>n;
for(i=1;i<=n;i++)
{
r=random(100);
if((r>=0)&&(r<25))
{
//cout<<"z"
contpz=contpz+1;
}
if((r>=25)&&(r<50))
{
//cout<<"a"
contpa=contpa+1;
}
if((r>=50)&&(r<75))
{
//cout<<"d"
contpd=contpd+1;
}
if((r>=75)&&(r<=100))
{
//cout<<"t"
contpt=contpt+1;
}
}
hf=h+contpa-contpt;
kf=k+contpd-contpz;
cout<<"la cantidad de pasos a la derecha es:"<
cout<<"la cantidad de pasos a la izquierda es :"<
cout<<"la cantidad de pasos adelante es:"<
cout<<"la cantidad de pasos hacia atras:"<
if((contpz>contpa)&&(contpz>contpd)&&(contpz>contpt))
{
max=contpz;
cout<<" DA MAS PASOS A LA IZQUIERDA"
}
if((contpa>contpz)&&(contpa>contpd)&&(contpa>contpt))
{
max=contpa;
cout<<" DA MAS PASOS HACIA ADELANTE"
}
if((contpd>contpz)&&(contpd>contpa)&&(contpd>contpt))
{
max=contpd;
cout<<" DA MAS PASOS HACIA LA DERECHA"
}
if((contpt>contpz)&&(contpt>contpa)&&(contpt>contpd))
{
max=contpt;
cout<<" DA MAS PASOS HACIA ATRAS"
}
k1=kf-k;
h1=hf-h;
K=pow(k1,2);
H=pow(h1,2);
D=H+K;
d=sqrt(D);
l=d/2;
cout<<"la distancia que avanza es:"<
//gotoxy(hf,kf);cout<<"*"
getch();
return 0;
}
El programa adjunto simula la caminata de un borracho, en el programa se coloca la posición inicial del borracho (abscisa inicial y ordenada inicial) para nuestro análisis (h=0)y(k=0), el programa es capaz de calcular la cantidad de pasos en cada una de las 4 posibles direcciones, también nos da en que dirección se encuentra el numero máximo de pasos y la distancia que logra avanzar el borracho.
Mostramos aquí algunas corridas:
------------------------------------------------------------------------------------------------
ingrese la abscisa del inicio:0
ingrese la ordenada del inicio:0
.
ingrese el numero de pasos(CORRIDAS):200
la cantidad de pasos a la derecha es:46
Página siguiente ![]() |
Ingrese el e-mail y contraseña con el que está registrado en Monografias.com
Trabajos relacionados
Ver mas trabajos de Programacion |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.
Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.