#include <stdio.h>
#include <unistd.h>
using namespace std;
int main()
{
pid_t pid;
pid=fork();
if(pid==-1){
printf("error");
}
if(pid) { printf("padre %d",pid);
}else{
printf("hijito de mama");
}
}
miércoles, 24 de abril de 2013
viernes, 5 de abril de 2013
PROCEDIMIENTO EXPERIMENTAL:
Parte 1. Codificar y analizar el siguiente programa en el sistema operativo Windows
#include<conio.h>
#include<dos.h>
#include<iostream.h>
#include<fstream.h>
main()
{
clrscr();
char caracter;
fstream imp;
cout<<"\n Programa para imprimir un carácter utilizando puerto paralelo";
cout<<"\n Ingresar el caracter";
cin>>caracter;
imp.open("LPT1",1,1);
if(!imp) {cout<<"\n Impresora desconectada";}
else{
cout<<"\n Enviando el carácter por el puerto";
imp<<caracter;
imp << '\r' // Retorno de carro (ENTER)
<< '\f' ; // Expulsa la última hoja de la impresora
imp.close();
cout<<"\n impresora cerrada";
}
getch();
}
Cual es la línea que abre el Puerto de datos
Parte 2. Verifica usando el debug del código anterior
Usando el debug del DOS podemos verificar la línea de puertos de entrada y de
salida con las interrupciones :
D040:08l8
Escriba y arme en octetos los puertos encontrados
Parte 3. Codificar y analizar el siguiente programa en el sistema operativo windows
#include <stdio.h>
#include <dos.h>
#include<conio.h>
int main()
{
clrscr();
unsigned int _far *puntero_a_direccion;
int i;
puntero_a_direccion=(unsigned int _far *)0x00000408;
for (i=0; i<3; i++)
{
if (*puntero_a_direccion == 0)
printf("No se encontro puerto asignado a LPT%d \n", i+1);
else
printf("La direccion asignada a LPT%d es 0x%Xh\n\n", i+1,
puntero_a_direccion);
puntero_a_direccion++;
}
getch();
return 0;
}
Identifique ud la dirección asignada al puerto de salida
Parte 3. Modificar el código anterior donde busque con los puertos y muestre el tiempo
que los encontró usando la siguiente función.
Void espera (int segundos)
{
clock_t fin;
fin=clock()*segundos*CLK_TCK;
while (clock()<fin) { }
}
domingo, 9 de diciembre de 2012
COMO LLAMAR DATOS A UN COMBO
Tenemos la tabla Alumnos con los datos
siguientes:
Vamos a jalar los datos de los campos IdAlumno
y Nombre en un combobox:
PASO 1:
Realizamos un método llamado getConexion()
utilizado en clase para la conexión, no olvidar cambiar el server, nombre de
base de datos,usuario y contraseña.
public SqlConnection
getConexion
{
try
{
string
Server = "DASISTEMAS2\\SQLEXPRESS";
string
User = "sa";
string
Password = "10109091";
SqlConnection
con = new SqlConnection("SERVER=" + Server + ";Initial Catalog=SisMatricula;USER ID="
+ User + ";PWD=" + Password + ";");
return
con;
}
catch
(Exception e)
{
throw
new Exception(e.Message);
}
}
PASO
2: Realizamos un método donde se llamen
los datos para el combobox, solo necesitamos los datos de los campos IdAlumno y
Nombre, utilizamos en comando sql "select IdAlumno,Nombre from
dbo.Alumno", no
se olviden de cambiar este query :
public
DataSet TraerAlumnos()
{
SqlConnection
con = new SqlConnection();
DataSet
ds = new DataSet();
try
{
con = getConexion();
con.Open();
SqlCommand
cmd = new SqlCommand("select IdAlumno,Nombre from dbo.Alumno",
con);
//cmd.CommandType = CommandType.StoredProcedure;
//CASO PROCEDIMIENTOS ALMACENADOS
cmd.CommandType
= CommandType.Text;
cmd.ExecuteNonQuery();
SqlDataAdapter
ad = new SqlDataAdapter(cmd);
ad.Fill(ds);
con.Close();
return
ds;
}
catch
(Exception e)
{
throw
new Exception("Error tabla " + e.Message);
}
}
PASO 3:
Llamamos los datos del DataSet al Combobox:
private
void frmCombo_Load(object
sender, EventArgs e)
{
comboBox1.DataSource =
TraerAlumnos().Tables[0];
}
Para que llamen los datos es necesario
configurar el combobox con los campos llamados, para eso cambiamos las
propiedades ValueMember (campo IdAlumno) y Display Member(Nombre) del combobox:
EJECUCIÓN:
COMO
TOMAMOS EL VALOR SELECCIONADO DEL COMBOBOX:
Al pulsar el botón Mostrar código elegido:
comboBox1.SelectedValue.ToString() Es el valor IdAlumno elegido (valor que se
guardará en la otra Tabla), lo mostramos en una ventana de mensajes:
private
void button1_Click(object
sender, EventArgs e)
{
MessageBox.Show(comboBox1.SelectedValue.ToString());
}
miércoles, 28 de noviembre de 2012
qwerty en C++
#include<conio.h>
#include <stdlib.h>
#include<stdio.h>
#include<string.h>
#include <graphics.h>
#include<iostream.h>
#include"ventanas.h"
#include"esctexto.h"
int final[20], N;
int vec3[20],numero;
void Flecha1(int x, int y){
int i, j;
int bitmap[5][9]={
15,15,15,15,1,15,15,15,15,
15,15,15,1,15,1,15,15,15,
15,15,1,15,15,15,1,15,15,
15,1,15,15,15,15,15,1,15,
1,15,15,15,15,15,15,15,1
};
for(i=0;i<5;i++)
for(j=0;j<9;j++)
putpixel(y+j,x+i,bitmap[i][j]);
}
void Flecha2(int x, int y){
int i, j;
int bitmap[9][5]={
1,15,15,15,15,
15,1,15,15,15,
15,15,1,15,15,
15,15,15,1,15,
15,15,15,15,1,
15,15,15,1,15,
15,15,1,15,15,
15,1,15,15,15,
1,15,15,15,15
};
for(i=0;i<9;i++)
for(j=0;j<5;j++)
putpixel(y+j,x+i,bitmap[i][j]);
}
void EjeXY(){
int i, j;
char num[3];
setfillstyle(8,15);
bar(0,0,639,479);
VentanaBarraTitulo("Gr fico de SSTF",4,4,632,472,7,1,15);
Contenedor(7,32,630,470);
VentanaTexto(11,36,628,468);
Comentario("Para salir de la ventana digite cualquier tecla...!",150,454,0);
setcolor(1);
Flecha1(47,66);
Flecha2(416,599);
line(70,440,70,50);
line(50,420,600,420);
settextstyle(8,1,2);
outtextxy(15,160,"Procesos");
settextstyle(8,0,2);
outtextxy(250,435,"tiempo");
j=400;
settextstyle(2,0,2);
for(i=1;i<=18;i++){
itoa(i,num,10);
outtextxy(55,j,num);
j-=20;
}
j=70;
settextstyle(2,0,2);
for(i=numero;i<=34+numero;i++){ //------
itoa(i,num,10);
outtextxy(j,425,num);
j+=15;
}
}
void puntos(){
// n=5;
int i,j,indice[10];
for(i=1;i<=N;i++)
{ for(j=1;j<=N;j++)
{ if(final[i]==vec3[j])
{ indice[i]=j;
}
}
}
//printf("hola %d",N);
setcolor(RED);
setlinestyle(0,0xffff,3);
line(70,400,70+(final[1]-numero)*15,400);
for(i=2;i<=N;i++){
line(70+(final[i-1]-numero)*15,420-indice[i]*20,70+(final[i]-numero)*15,420-indice[i]*20);
}
setlinestyle(0,0xffff,1);
}
int menor(float vec[],int n)
{ int c,i; c=1;
float menor;
menor=vec[1];
for(i=2;i<=n;i++)
{
if(vec[i]<menor)
{ c=i;
}
}
return(c);
}
void intro()
{
int mat[20][10];
int i,j=1,n,x, posy, posx;
char n_[6],i_[5],proceso[10];
VentanaBarraTitulo("Algoritmo de HRN",49,49,589,429,7,1,15);
Contenedor(54,79,584,424);
Comentario("Digite el Numero de Procesos",110,90,7);
BarraTexto(400,90,424);
EscribeTextoBarra(n_,400,90,424);
n=atoi(n_);
N=n;
for(i=1;i<=n;i++)
{
mat[i][j]=i;
}
Comentario("Tiempos Iniciales",70,110,7);
j=2;
posy=140;
for(i=1;i<=n;i++)
{
itoa(i,i_,10);
strcpy(proceso,"Proceso ");
strcat(proceso,i_);
Comentario(proceso,70,posy,0);
BarraTexto(150,posy,190);
EscribeTextoBarra(n_,150,posy,190);
mat[i][j]=atoi(n_);
if(posy<420)posy+=20;
}
j++;
Comentario("Tiempos Requiridos",290,110,7);
posy=140;
for(i=1;i<=n;i++)
{
itoa(i,i_,10);
strcpy(proceso,"Proceso");
strcat(proceso,i_);
Comentario(proceso,290,posy,0);
BarraTexto(370,posy,410);
EscribeTextoBarra(n_,370,posy,410);
mat[i][j]=atoi(n_);
if(posy<420)posy+=20;
}
/*for(i=1;i<=n;i++)
{
for(j=1;j<=3;j++)
{ gotoxy(j*j+4,i+2);
printf("%d",mat[i][j]);
}
} */
float vec[20];
int f,k,m,c=1,pivote,nuevomat[20][10];
final[1]=mat[1][2]+mat[1][3];
pivote=final[1];
m=n;
mat[1][4]=pivote;
for(f=1;f<=n;f++)
{ for(j=1;j<=3;j++)
{
nuevomat[f][j]=mat[f][j];
}
}
for(f=c;f<=m-1;f++)
{ for(j=1;j<=3;j++)
{
nuevomat[f][j]=nuevomat[f+1][j];
}
}
m--; //------------------
int w=2;
//-----------------------------------------
for(k=1;k<=n-1;k++)
{
for(i=1;i<=m;i++)
{
vec[i]=( ( pivote-nuevomat[i][2] ) + nuevomat[i][3] ) / nuevomat[i][3];
}
c=menor(vec,m);
x=nuevomat[c][1];
final[w]=pivote+nuevomat[c][3];
pivote=0;
pivote=final[w]; // printf("\t \tfinal %d \n",pivote);
mat[x][4]=final[w];
w++;
for(f=c;f<=m-1;f++)
{ for(j=1;j<=3;j++)
{
nuevomat[f][j]=nuevomat[f+1][j];
}
}
m=m-1;
}
/*for(i=1;i<=n;i++)
{
printf(" \n %d \n",final[i]);
} */
for(i=1;i<=n;i++)
{
vec3[i]=mat[i][4];
}
numero=mat[1][2];
// puntos(final,vec3);
getch();
VentanaBarraTitulo("",400,250,600,430,3,3,3);
Contenedor(405,255,595,425);
posy=260;
for(i=1;i<=n;i++)
{ posx=423;
for(j=1;j<=4;j++)
{
itoa(mat[i][j],n_,10);
Comentario(n_,posx,posy,0);
posx+=32;
}
posy+=10;
}
Comentario("Digite una tecla para salir de la ventana..!",200,410,0);
getch();
getch();
}
void main(){
int a=0,b=0;
getch();
initgraph(&a,&b,"c:\\tc\\bgi");
setfillstyle(8,15);
bar(0,0,639,479);
intro();
EjeXY();
puntos();
getch();
closegraph();
}
Full C++ en estructura de datos
# include <iostream.h>
# include <conio.h>
# include <stdio.h>
# include <string.h>
class Auto
{
private:
char Marca[26];
char Modelo[26];
char Color[31];
char Precio[8];
public:
Auto();
Auto(char M[], char *m, char *C, char *P);
void Leer();
void Imprimir();
};
class Propietario : public Auto
{
private:
char Empresa[20];
char Direccion[20];
char Cliente[20];
char TelefonoE[20];
char TelefonoC[20];
public:
Propietario();
void Leer();
void ImprimirDatos();
};
Propietario::Propietario(): Auto("X","Y","Z","Z")
{
Empresa[0]=0;
Direccion[0]=0;
Cliente[0]=0;
TelefonoE[0]=0;
TelefonoC[0]=0;
}
void Propietario::Leer()
{
Auto::Leer();
cout<<"Nombre de la Empresa: ";gets(Empresa);
cout<<"Direccion: ";gets(Direccion);
cout<<"Nombre del Cliente: ";gets(Cliente);
cout<<"Telefono Empresa: ";gets(TelefonoE);
cout<<"Telefono Cliente: ";gets(TelefonoC);
}
void Propietario::ImprimirDatos()
{
Imprimir();
cout<<"\nNombre de la Empresa : "<<Empresa ;
cout<<"\nDireccion: "<<Direccion;
cout<<"\nNombre del Cliente : "<<Cliente ;
cout<<"\nTelefono Empresa : "<<TelefonoE ;
cout<<"\nTelefono Cliente : "<<TelefonoC ;
}
Auto::Auto()
{
Marca[0]=0;
Modelo[0]=0;
Color[0]=0;
Precio[0]=0;
cout<<"Por defecto se inicializa los arrays " <<endl;
};
Auto::Auto(char M[], char *m, char *C, char *P)
{
strcpy(Marca,M);
strcpy(Modelo,m);
strcpy(Color,C);
strcpy(Precio,P);
cout<<"Explicito "<<endl;
};
void Auto::Leer()
{
cout<<"DATOS DEL AUTO "<<endl;
cout<<"Marca: ";
gets(Marca);
cout<<"Modelo: ";
gets(Modelo);
cout<<"Color: ";
gets(Color);
cout<<"Precio: ";
gets(Precio);
};
void Auto::Imprimir()
{
cout<<"\nREPORTE DEL AUTO :";
cout<<"\nMarca : "<<Marca;
cout<<"\nModelo : "<<Modelo;
cout<<"\nColor: "<<Color;
cout<<"\nPrecio : "<<Precio;
};
void main()
{
Propietario Individuo[10];
int n;
int i;
getch();
clrscr();
cout<<"¨Cuantos datos a evaluar ? ==> ";
cin>>n;
for(i=0;i<n;i++)
Individuo[i].Leer();
getch();
clrscr();
for(i=0;i<n;i++)
Individuo[i].ImprimirDatos();
getch();
}
Polimorfismo con herencia en C++
# include
<iostream.h>
# include
<conio.h>
# include
<stdio.h>
# include
<string.h>
class Computadora
{
private:
char Nombre_del_SO[26];
char Version[26];
char Fabricante_del_Sistema[26];
char Procesador[31];
char Memoria_Fisica_RAM[26];
char Disco_Duro[8];
public:
Computadora();
Computadora(char n[], char *a, char *d, char *t, char *q,
char *r);
void
Leer();
void
Imprimir();
};
class
Hardware : public Computadora
{
private:
char Monitor[20];
char CPU[20];
char Estabilizador[20];
char
Mouse[20];
char Teclado[20];
public:
Hardware();
void Leer();
void ImprimirDatos();
};
Hardware::Hardware():
Computadora("X","X","Y","Y","Z","Z")
{
Monitor[0]=0;
CPU[0]=0;
Estabilizador[20]=0;
Mouse[20]=0;
Teclado[20]=0;
}
void Hardware::Leer()
{
Computadora::Leer();
cout<<"Monitor:
";gets(Monitor);
cout<<"CPU:
";gets(CPU);
cout<<"Estabilizador:
";gets(Estabilizador);
cout<<"Mouse:
";gets(Mouse);
cout<<"Teclado:
";gets(Teclado);
} void
Hardware::ImprimirDatos()
{
Imprimir();
cout<<"\nMonitor
: "<<Monitor ;
cout<<"\nCPU
: "<<CPU ;
cout<<"\nEstabilizador :
"<<Estabilizador ;
cout<<"\nMouse : "<<Mouse ;
cout<<"\nTeclado : "<<Teclado ;
}
Computadora::Computadora()
{
Nombre_del_SO[0]=0;
Version[0]=0;
Fabricante_del_Sistema[0]=0;
Procesador[0]=0;
Memoria_Fisica_RAM[0]=0;
Disco_Duro[0]=0;
cout<<"Por defecto se inicializa los arrays
" <<endl;
};
Computadora::Computadora(char n[], char *a, char *d, char
*t, char *q, char *r)
{
strcpy(Nombre_del_SO,n);
strcpy(Version,a);
strcpy(Fabricante_del_Sistema,d);
strcpy(Procesador,t);
strcpy(Memoria_Fisica_RAM,q);
strcpy(Disco_Duro,r);
cout<<"Explicito "<<endl;
};
void Computadora::Leer()
{
cout<<"DATOS DE LA COMPUTADORA
"<<endl;
cout<<"Nombre del Sistema Operativo : ";
gets(Nombre_del_SO);
cout<<"Version : "; gets(Version);
cout<<"Fabricante del Sistema : ";
gets(Fabricante_del_Sistema);
cout<<"Procesador: "; gets(Procesador);
cout<<"Memoria Fisica (RAM): ";
gets(Memoria_Fisica_RAM);
cout<<"Disco Duro: "; gets(Disco_Duro);
};
void Computadora::Imprimir()
{
cout<<"\nREPORTE DE COMPUTADORA:";
cout<<"\nNombre del sistema Operativo :
"<< Nombre_del_SO ;
cout<<"\nversion : "<<Version ;
cout<<"\nFabricante del sistema:
"<<Fabricante_del_Sistema ;
cout<<"\nProcesador : "<<Procesador ;
cout<<"\nMemoria Fisica (RAM) : "<<Memoria_Fisica_RAM
;
cout<<"\nDisco Duro : "<<Disco_Duro ;
};
void main()
{
computadora[15];
int n;
int i;
getch();
clrscr();
cout<<"¨Cuantos datos a evaluar ? ==> ";
cin>>n;
for(i=0;i<n;i++)
computadora[i].Leer();
getch();
clrscr();
for(i=0;i<n;i++)
computadora[i].ImprimirDatos();
getch();
}
Ordenar en C# por consola
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ordenar_vector
{
class Program
{
static void Main(string[] args)
{
int[] num = new int[100];
int n;
int temp, j;
Console.WriteLine("ingrese numero:");
n = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < n; i++)
{
Console.Write("Elemento" + "[" + (i + 1) + "]: ");
num[i] = Convert.ToInt32(Console.ReadLine());
}
for (int i = 1; i < n; i++)
{
for (j = n - 1; j >= i; j--)
{
if (num[j - 1] > num[j])
{
temp = num[j - 1];
num[j - 1] = num[j];
num[j] = temp;
}
}
}
Console.WriteLine("Vector ordenado:");
for (int i = 0; i < n; i++)
{
Console.WriteLine("Elemento " + "[" + (i + 1) + "]: " + num[i]);
}
string x = Console.ReadLine();
}
}
}
Suscribirse a:
Entradas (Atom)



