Ingresen a este link para contestar!
http://mjgt.blogspot.mx/2012/02/loading.html
P.O.O, Estructura de Datos, Tópicos Selectos de Programación, Fundamentos de Programación, Teoría de la Computación, Matemáticas para Computadoras, Fundamentos de Desarrollo de Sistemas, Programación Web, Graficación.
jueves, 29 de marzo de 2012
Práctica de Hilos.
Instrucciones:
- Mejore el siguiente código.
- Haga pruebas con él.
- Saque conclusiones del uso de hilos.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace simulacionCaja
{
class caja2
{
Queue<int> clientes;// = new Queue<int>();
int op = 0; //número de operación a realizar
int NumCaja;
//public caja() { }
public void caja_proc(Object n) {
this.NumCaja = (int)n;
int[] c = { 1, 2, 3, 4, 5, 6, 7 }; //vector de clientes
clientes = new Queue<int>(c);
Random rOp = new Random();
for (int i = 0; i < c.Length; i++)
{
this.op = rOp.Next(1, 4);
this.SeleccionarOpcion();
}
}
public void Pago() {
Console.WriteLine("Caja #" + this.NumCaja + " atendiendo a cliente " + clientes.Peek()+" Pagando");
Thread.Sleep(12000);
clientes.Dequeue();
}
public void Retiro()
{
Console.WriteLine("Caja #" + this.NumCaja + " atendiendo a cliente " + clientes.Peek() +" Retirando");
Thread.Sleep(8000);
clientes.Dequeue();
}
public void Cosulta()
{
Console.WriteLine("Caja #" + this.NumCaja + " atendiendo a cliente " + clientes.Peek() + " Consultando saldo");
Thread.Sleep(4000);
clientes.Dequeue();
}
public void Transaccion()
{
Console.WriteLine("Caja #" + this.NumCaja + " atendiendo a cliente " + clientes.Peek() + " Haciendo transacción");
Thread.Sleep(20000);
clientes.Dequeue();
}
public void SeleccionarOpcion() {
//genera una opción del 1 al 4;
switch (this.op) {
case 1:
this.Pago();
break;
case 2:
this.Retiro();
break;
case 3:
this.Cosulta();
break;
case 4:
this.Transaccion();
break;
}
}
}
}
//---------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace simulacionCaja
{
class Program
{
static void Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.Black;
Console.ForegroundColor = ConsoleColor.Green;
Console.Clear();
//caja2 c1 = new caja2();
//c1.caja_proc(1);
caja2 c1 = new caja2();
caja2 c2 = new caja2();
caja2 c3 = new caja2();
caja2 c4 = new caja2();
Thread h1 = new Thread(c1.caja_proc);
Thread h2 = new Thread(c2.caja_proc);
Thread h3 = new Thread(c3.caja_proc);
Thread h4 = new Thread(c4.caja_proc);
h1.Start(1);
h2.Start(2);
h3.Start(3);
h4.Start(4);
h1.Join();
h2.Join();
h3.Join();
h4.Join();
//Console.WriteLine("Borrando todo");
//Thread.Sleep(1000);
//Console.Clear();
Console.ReadKey();
}
}
}
miércoles, 28 de marzo de 2012
jueves, 22 de marzo de 2012
Dibujo de un cubo 3D. Práctica.
Completa el cubo y consulta los comandos que creas que no has visto en clase.
// Practica 4.cpp: archivo de proyecto principal.
#include "stdafx.h"
#include <glut.h>
void Inicializacion(void);
void Dibuja(void);
int main()
{
glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
glutInitWindowSize(600,600);
glutInitWindowPosition(100,100);
glutCreateWindow("CUBO EN OPENGL");
Inicializacion();
glutDisplayFunc(Dibuja);
glutMainLoop();
return 0;
}
void Inicializacion(void)
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(70,1,0.1,100);
glMatrixMode(GL_MODELVIEW);
glTranslated(0,0,-10);
glRotated(50,1,1,0);
glClearColor(0,0,0,0);
glShadeModel(GL_FLAT);
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
glFrontFace(GL_CW);
}
void Dibuja(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_QUADS);
//Cara 1
glColor3f(0,0,1);
glVertex3d(-2,-2,2);
glVertex3d(-2,2,2);
glVertex3d(2,2,2);
glVertex3d(2,-2,2);
//Cara 2
glColor3f(1,0,1);
glVertex3d(2,2,-2);
glVertex3d(-2,2,-2);
glVertex3d(-2,-2,-2);
glVertex3d(2,-2,-2);
glEnd();
glutSwapBuffers();
}
jueves, 15 de marzo de 2012
miércoles, 7 de marzo de 2012
Agregar código a la práctica GDI+.
Agreguen una investigación sobre el uso de regiones en GDI+.
private void pictureBox4_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
//Tartas.....????
/*Un gráfico de tarta es una forma parecida a una tarta; esto es,
* un arco junto aon las dos líneas que unen sus vértices en el centro
* de la elipse a la que pertenece el arco.
*
* Para dibujar este tipo de gráficos el objeto Graphics proporciona
* el método DrawPie que tiene como parámetros los miembros del método
* DrawArc.**/
pictureBox4.BackColor = Color.Black;
Rectangle rect = new Rectangle(10, 10, 200, 100);
Pen lapiz = new Pen(Color.Green, 3);
g.DrawPie(lapiz, rect, 30, 150);
//Polígonos
/* Un polígono es una forma cerrada definida por tres o más puntos.
* Por ejemplo un triángulo y un rectángulo son polígonos.
*
* Paradibujar un polígono, son necesarios un objeto Graphics que
* proporciona el método DrawPolygon, un objeto Pen y una matriz de
* objetos Point (o PointF).
*
* Esta matriz almacenará los puntos que se van a conectar mediante
* líneas rectas.
*
* El método DrawPolygon cierra el polígono de forma automática.
* */
PointF[] pentagono = {
new Point(20,150),
new Point(130,120),
new Point(230,155),
new Point(190,200),
new Point(45,195)
};
g.DrawPolygon(lapiz, pentagono);
//Curvas flexibles
/* Dos tipos de curvas: cardinales y Bézier.
*
* Cardinal: es una secuencia de curvas individuales combinadas
* para formar una curva mayor; se especifica mediante una matriz
* de puntos y un parámetro de tensión que por omisión vale 0.5,
* y se dibuja invocando a DrawCurve.
*
* Bézier se especifica con cuatro puntos: dos puntos correspondientes
* a los extremos(p1 y p2) y dos puntos de control (c1 y c2). La curva
* comienza en p1 y acaba en p2. La curva no pasa por los puntos de
* control (c1 y c2), pero estos se comportan como imanes, y tiran de la
* curva en ciertas direcciones e influyen en el modo en que la curva
* se dobla. Se dibuja invocando a DrawBeizer.
* */
Pen lapizRojo = new Pen(Color.Red);
Point[] puntos = {
new Point(25,25),
new Point(50,15),
new Point(100,5),
new Point(120,25),
new Point(150,50),
new Point(220,200),
new Point(120,120),
};
//Dibujar líneas entre los puntos.
g.DrawLines(lapizRojo, puntos);
//Dibujar la curva
g.DrawCurve(Pens.Green, puntos);
//Puntos que definen la curva flexible de Bézier
Point p1 = new Point(30, 120);
Point p2 = new Point(150, 200);
Point c1 = new Point(75, 10);
Point c2 = new Point(50, 210);
//Dibujar la curva
g.DrawBezier(Pens.GreenYellow, p1, p2, c1, c2);
}
private void pictureBox5_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
//Trazados
/* Un trazado es un objeto de la clase GraphicsPath. Se trata de una
* figura formada por una secuencia de líneas, rectángulos, elipses
* arcos, polígonos, curvas flexibles, etc., cuyos puntos inicial
* y final pueden o no ser coincidentes.
*
* Métodos: AddLine, AddRectangle, AddEllipse, AddArc, AddPolygon,
* AddCurve y AddBeizer.
* Ejemplo: **/
GraphicsPath trazado = new GraphicsPath();
Rectangle rect = new Rectangle(10, 10, 200, 100);
trazado.AddArc(rect, 45, 135);
trazado.AddLine(80, 100, 160, 200);
trazado.CloseFigure();
g.DrawPath(Pens.Blue, trazado);
} //fin de PictureBox
jueves, 1 de marzo de 2012
Suscribirse a:
Entradas (Atom)