• Miércoles 6 de Noviembre de 2024, 00:42

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Attakinsky

Páginas: [1]
1
Pascal / Re: Necesito Ayuda Urgente Con Programa Pascal
« en: Martes 18 de Mayo de 2004, 00:11 »
No seas gorrón. Si quieres ayuda hacé vos el programa, luego publicalo aqui para que veamos los errores y te aconsejemos.

Si esperas que alguien te lo haga así por que si, estas mal.

2
Inteligencia Artificial / Re: ¿Ke necesito para programar un I.A.?
« en: Viernes 14 de Mayo de 2004, 15:45 »
Aqui te va el fuente de un programa que utiliza principios de inteligencia artificial.
Se trata de un juego que "aprende" a jugar basandose en su propia experiencia. Va lo mejor comentado que pude y es totalmente freeware. Me da igual si lo copian o no, pues me base en un libro de programación de hace... ¡ 30 años !

Eso si, mando la versión en texto para mejor comprensión, porque la que lleva dibujitos es más compleja y se pueden perder de que codigo pertenece a la lógica y cual a la estética.

3
Visual FoxPro / Re: Sistema de Existencias y Facturacion
« en: Lunes 3 de Mayo de 2004, 17:55 »
Estos foros estan diseñados para la comunidad de programadores que nos ayudamos mutuamente con soluciones, consejos y otros. Si lo que quieres es vender no me parece adecuado ni etico que te anuncies aquí.  :lightsabre:

4
Pascal / Re: Realizar un Menu
« en: Lunes 3 de Mayo de 2004, 17:20 »
Alli te va un ejemplo de menús que regresan a otros menús. El nomgre de usuario es administrador y a contrraseña es 123

Si el fdelay del uses te da problema quitáselo. Aquí en internet aparecen unos signos raros pero en modo DOS deben aparecer los ASCII adecuados para marcos.

Tambien va como archivo adjunto.

program ProyectoFinal;
uses dos,fdelay,crt;
var
  menup:char;
  exit:boolean;

{----------------------------------------------------------------------------}
{ dibuja el marco del men£ de opciones del programa }
procedure MenuOpciones;
var x,y:byte;
opcion:char;
begin
clrscr;
{ bordes horizontales y verticales }
textcolor(13);
 for y:= 11 to 17 do
  begin
  gotoxy(24,y); write('º');
 end;
 for y:= 11 to 17 do
  begin
  gotoxy(55,y); write('º');
 end;
 for x:= 25 to 55 do
  begin
  gotoxy(x,10); write('Í');
 end;
 for x:= 25 to 55 do
  begin
  gotoxy(x,18); write('Í');
 end;
 for x:= 25 to 55 do
  begin
  gotoxy(x,12); write('Í');
 end;
 for x:= 25 to 55 do
  begin
  gotoxy(x,16); write('Í');
 end;
{ conectores de esquina e intersecci¢n }
gotoxy(24,12); write('Ì'); gotoxy(55,12); write('¹');
gotoxy(55,10); write('»'); gotoxy(24,18); write('È');
gotoxy(24,10); write('É'); gotoxy(55,18); write('¼');
gotoxy(24,16); write('Ì'); gotoxy(55,16); write('¹');
{ textos de t¡tulo y opci¢n m£ltiple }
textcolor(03); GOTOXY(26,9);
write('PROGRAMA ®CONTROL DE BODEGA¯');
textcolor(08);
gotoxy(26,11); write('M E N U  D E  O P C I O N E S');
gotoxy(26,13); write('1 - Ingresar al programa');
gotoxy(26,15); write('2 - salir');
gotoxy(26,17); write('Seleccione una opci¢n: '); opcion:=readkey;
 case opcion of
  '1': write('dlgIngresa');
  '2': exit:=true;
 end;
end;


{----------------------------------------------------------------------------}
{ dibuja el cuadro de contrase¤a }
procedure dlgIngresar;
var
  x,y,i:integer;
  clave,usuario,letra:string;
  tecla:string[1];
  listo:boolean;
begin
clrscr;
{ bordes horizontales y verticales }
textcolor(07);
 for y:= 11 to 15 do
  begin
  gotoxy(20,y); write('º');
 end;
 for y:= 11 to 15 do
  begin
  gotoxy(58,y); write('º');
 end;
 for x:= 21 to 58 do
  begin
  gotoxy(x,10); write('Í');
 end;
 for x:= 21 to 58 do
  begin
  gotoxy(x,12); write('Í');
 end;
 for x:= 21 to 58 do
  begin
  gotoxy(x,16); write('Í');
 end;
{ conectores de esquina e intersecci¢n }
gotoxy(20,12); write('Ì'); gotoxy(58,12); write('¹');
gotoxy(58,10); write('»'); gotoxy(20,16); write('È');
gotoxy(20,10); write('É'); gotoxy(58,16); write('¼');
{ textos de t¡tulo e INGRESOS }
textcolor(12);
gotoxy(22,11); write('I N G R E S O   D E   U S U A R I O');
gotoxy(22,13); write('Usuario:');
gotoxy(22,15); write('  Clave:');
textcolor(15);
gotoxy(31,13); read(usuario);
gotoxy(31,15);
{   En la l¡nea anterior deb¡a leerse la contrase¤a, pero
  debido a un error (inexplicable) de Pascal, fue necesario
  colocar la petici¢n dentro de un ciclo y letra por letra.
    Error que fue aprovechado para darle algunos retoques
  al procedimiento:
        1.  Aparecen asteriscos por cada tecla pulsada
        2.  Se valida la contrase¤a al pulsar <ENTER> o bien,
        3.  Al haber pulsado 15 teclas
    El nombre de usuario y la contrase¤a est n predefinidos,
  pero podr¡an leerse de un archivo de texto cifrado (mediante
  el cl sico proceso de multiplicar por una matriz num‚rica),
  pero eso no es parte del proyecto: "ley del m¡nimo esfuerzo" }
clave:=''; tecla:='';
i:=0;
listo:=false;
repeat
  begin
   tecla:=readkey;
   letra:=tecla;
   if letra<>chr(13) then
    begin
      write('*');
      clave:=clave+tecla;
    end
   else
    listo:=true;
   i:=i+1;
   if i=15 then listo:=true;
  end;
until listo=true;
readln;

 if usuario = 'administrador' then
   begin
   gotoxy(31,17); write('Usuario correcto');
   delay(2000);
   end
 else
   begin
   textcolor(20);
   gotoxy(31,17); write('Usuario incorrecto');
   delay(2000);
   exit:=false;
 end;
 if clave = '123' then
   MenuOpciones
 else
   begin
   textcolor(20);
   gotoxy(31,18); writeln('Clave incorrecta');
   delay(5000);
   exit:=false;
 end;
end;


{----------------------------------------------------------------------------}
{ dibuja el marco del men£ principal }
procedure dlgMainmenu;
var x,y:integer;
begin
{ bordes horizontales y verticales }
textcolor(14);
 for y:= 11 to 17 do
  begin
  gotoxy(24,y); write('º');
 end;
 for y:= 11 to 17 do
  begin
  gotoxy(55,y); write('º');
 end;
 for x:= 25 to 54 do
  begin
  gotoxy(x,10); write('Í');
 end;
 for x:= 25 to 54 do
  begin
  gotoxy(x,18); write('Í');
 end;
 for x:= 25 to 54 do
  begin
  gotoxy(x,12); write('Í');
 end;
 for x:= 25 to 54 do
  begin
  gotoxy(x,16); write('Í');
 end;
{ conectores de esquina e intersecci¢n }
gotoxy(24,12); write('Ì'); gotoxy(55,12); write('¹');
gotoxy(55,10); write('»'); gotoxy(24,18); write('È');
gotoxy(24,10); write('É'); gotoxy(55,18); write('¼');
gotoxy(24,16); write('Ì'); gotoxy(55,16); write('¹');
{ textos de t¡tulo y opci¢n m£ltiple }
textcolor(04); GOTOXY(26,9);
write('PROGRAMA ®CONTROL DE BODEGA¯');
textcolor(09);
gotoxy(26,11); write('M E N U    P R I N C I P A L');
gotoxy(26,13); write('1 - Ingresar al programa');
gotoxy(26,15); write('2 - salir');
gotoxy(26,17); write('Seleccione una opci¢n: '); menup:=readkey;
 case menup of
  '1': dlgIngresar;
  '2': exit:=true;
 end;
end;


{----------------------------------------------------------------------------}
{ SplashScreen con ProgressBar... ­ viva Visual Basic 6.0 ! }
procedure SplashScreen;
var x,y:byte;
percent:real;
begin
textcolor(10);
for y:= 08 to 18 do
 begin
  for x:=11 to 70 do
   begin
   gotoxy(x,y);
   write('±');
   end;
 end;
for x:= 21 to 60 do
 begin
  gotoxy(x,16); write(' ');
 end;
textcolor(14);
gotoxy(16,09); write('           UNIVERSIDAD MARIANO GALVEZ             ');
gotoxy(16,10); write('Facultad de Ingenier¡a en Sistemas de Informaci¢n ');
gotoxy(16,11); write('     Algoritmos I   ---   Ing. David Gonz lez     ');
gotoxy(16,13); write('   PROYECTO FINAL 2004  ---   CONTROL DE BODEGA   ');
gotoxy(16,14); write('Augusto Jos‚ Blanco G lvez  0900-04-317  Secci¢n C');
for x:= 21 to 60 do
 begin
  gotoxy(x,16); write('²'); delay(900);
  percent:=(x-20)*100/40; gotoxy(33,17); write('Loading... ',percent:0:0,' %');
 end;
end;


{----------------------------------------------------------------------------}
{ cuerpo del programa }
begin
{ llama al SplashScreen}
clrscr;
 SplashScreen;
{ llama al men£ principal }
clrscr;
  repeat
    clrscr;
    dlgMainmenu;
  until exit=true;
clrscr;
end.

5
Pascal / Re: Traductor De Lenguaje
« en: Lunes 3 de Mayo de 2004, 17:12 »
No hay niguno, pero a mí me ha resultado tremendamente efectivo utilizar buscar/reemplazar de MS-Word  :D

Sucede que VisualBasic no tiene la misma estructura (lineal) de lascal y pascal no maneja eventos ni soporta controles. Si quieres 'traducir' de pascal a VB, reemplaza cada write o writeln por msgbox, cada read o readln por inputbox, elimina todos los punto y coma (;), cambia ':=' por '=', reemplaza real por double, en lugar de dos puntos (:) en las declaraciones utiliza 'as', etc. :scream:

En fin escribe tu programa de nuevo en VB, y aún así te queda algo muy antiestético que solo funciona en un form sin controles y a puro cuadro emergente.

Lo mejor es tomar un programa en pascal y buscar la forma de hacerlo más bonito en VisualBasic, pero no hay traductor, ni método estándar, ni formula mágica, ni nada de eso.  :huh: ¡A programar se ha dicho! :comp:

6
Pascal / Re: Trinagulo De Pascla
« en: Lunes 3 de Mayo de 2004, 16:55 »
Deberías aprender algo de recursividad, es decir procesos que se repiten a sí mismos. No te doy la respuesta pues soy maestro de progra y me gusta hacer que mis alumnos piensen.

7
Pascal / Re: Actualizar un grafico
« en: Lunes 3 de Mayo de 2004, 16:52 »
Para mí es una gran aberración hacer un  PROCEDURE  para cada mes. Deberías hacerlo como uno solo y hacer que sea dinámico, es decir tu envias como parámetro el mes a trabajar.

Piensalo un poco, así tu codigo será más pequeño y más fácil de depurar.

8
Pascal / Re: Reto Para Programadores De Pascal
« en: Lunes 3 de Mayo de 2004, 16:38 »
TRIPA:

totalBilletes := cantidadcolon div billetes[1] to [4];

Tu primer error, es que estás tratando de dividir un real con un integer, lo cual no es permitido en Pascal

Tu segundo error es tratar de dividir una variable (cantidadcolon)  ¡¡¡ con un arreglo completo ( [1] to [4] ) !!! Esto en cualquier lenguaje es imposible. Si lo quieres es dividir con todas las posiciones del arreglo debes hacerlo una por una, posiblemente dentro de un ciclo o bucle. Si corriges eso y vuelves a publicar tu código te puedo seguir ayudando con gusto.

También puedes contactarme a attakinsky@yahoo.com

Páginas: [1]