Foros del Web » Programación para mayores de 30 ;) » C/C++ »

como funciona este programa

Estas en el tema de como funciona este programa en el foro de C/C++ en Foros del Web. Hola, me gustaria saber como funciona este programa. #include "stdio.h" #include "stdlib.h" #include "conio.h" #include "graphics.h" #include "dos.h" void iniciar_grafica(); void graficar_datos(); void graficar_vectores(); int ...
  #1 (permalink)  
Antiguo 21/03/2007, 14:51
 
Fecha de Ingreso: febrero-2007
Mensajes: 6
Antigüedad: 17 años, 2 meses
Puntos: 0
Busqueda como funciona este programa

Hola, me gustaria saber como funciona este programa.

#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "graphics.h"
#include "dos.h"

void iniciar_grafica();
void graficar_datos();
void graficar_vectores();

int procesos[4][5]={1,8,2,4,6,
2,3,8,9,6,
0,1,2,3,4,
0,0,0,0,0},procesos_ejecutados[5];

int cpu=5,uso_cpu,mayor,prioridad,i,midx,midy,pid=4,j;
char num[10],c;

int main(void)
{
clrscr();
iniciar_grafica();
midx=getmaxx()/2;
midy=getmaxy()/2;
while(1){
for(j=0;j<5;j++){
graficar_vectores();
graficar_datos();
cleardevice();
}
printf("Si deseas salir presiona (s/S) de lo contrario pulsa enter: ");
scanf("%c", &c);
if(c=='S'||c=='s')
{
break;
}
else
{
j=0;
}
}
closegraph();
return 0;
}

void iniciar_grafica()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "C:\\TC\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Error de grafica: %s\n", grapherrormsg(errorcode));
printf("presione una tecla para terminar:");
getch();
exit(1);
}
}

void graficar_datos()
{
mayor=procesos[0][0];
prioridad=0;
//Dibuja la estructura basica
circle(midx,midy,80);
rectangle(10,150,100,450);
rectangle(540,150,630,450);
outtextxy(10,50,"ALGORITMO DE PRIORIDAD");
//verifica el valor mas grande
for (i=0;i<4;i++)
{
if(mayor<procesos[0][i+1])
{
mayor=procesos[0][i+1];
prioridad=i+1;
uso_cpu=procesos[1][i+1];
}
}
outtextxy(midx-130,80,"Atendiendo al proceso con id= ");
itoa(procesos[2][prioridad],num,10);
outtextxy(midx+102,80,num);
outtextxy(midx-130,90,"con carga de trabajao de ");
itoa(uso_cpu,num,10);
outtextxy(midx-5,230,num);
sleep(uso_cpu);
procesos[0][prioridad]=rand()%9+1;
procesos[1][prioridad]=rand()%9+1;
procesos[2][prioridad]=++pid;
procesos_ejecutados[prioridad]=uso_cpu;
}

void graficar_vectores()
{
int k;
outtextxy(5,460,"Proceso : Prioridad : Uso del CPU");
for(k=0;k<=4;k++)
{
//Vector Izquierdo
itoa(procesos[2][k],num,10);
outtextxy(15,175+(k*60),num);
itoa(procesos[0][k],num,10);
outtextxy(30,175+(k*60),":");
outtextxy(50,175+(k*60),num);
outtextxy(70,175+(k*60),":");
itoa(procesos[1][k],num,10);
outtextxy(85,175+(k*60),num);
//Vector Derecho
itoa(procesos_ejecutados[k],num,10);
outtextxy(580,175+(k*60),num);
}
}


Hay alguna forma de cambiar los numeros por una estructura de datos
que funcione igual pero que muestre nombre del proceso, monto de memoria tiempo de calculo archivos abiertos, "inventados porsupuesto"


struct Informacion{
char nombre[50];
char montodememoria[100];
char tiempodecalculo[100];
char archivosabiertos[100];
};

struct Nodo{
struct Informacion info;
struct Nodo *sig;
};
  #2 (permalink)  
Antiguo 21/03/2007, 15:29
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: como funciona este programa

Pues si no me equivoco, el cpu ejecuta las instrucciones binarias que produce el compilador al pasarle ese codigo.

Algo asi...creo yo.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:28.