Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-08-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Lo olvidaba: hace unos años escribí la especificación de un lenguaje que llamé PROCAS (PROgramación en CAStellano). No era, símplemente, traducir las palabras clave de otro lenguaje (como Pascal) sino diseñar normas más acordes con la estructura del idioma castellano. Estaba orientado a objeto (mucho más que Delphi e incluso que Java... un poco al estilo de SmallTalk) y podías escribir cosas como esta:

Código:
PARA BuscaLibro DONDE NombreAutor ES CADENA, Librería ES CONTENEDOR:
  POR CADA Libro DE Librería,
    SI EL Autor DEL Libro ES NombreAutor, ENTONCES DEVUELVE Libro.
  REPITE.
FIN DE BuscaLibro.
Lo que en Objetive Pascal sería (más o menos):
Código Delphi [-]
FUNCTION BuscaLibro (NombreAutor: STRING; Libreria: TLIBRERIA): TLIBRO;
VAR
  Libro := TLIBRO;
BEGIN  
  RESULT := NIL;
  Libro := Librería.PrimerElemento;
  REPEAT
    IF Libro.Autor := NombreAutor THEN
    BEGIN
      RESULT := Libro;
      EXIT;
    END;
    Libro := Libro.Siguiente;
   UNTIL Libro = NIL;
END;

Si funcionara sería impresionante, ¿no creen? Tal vez la recupere cuando empiece a escribir compiladores para la máquina virtual que he diseñado .
Responder Con Cita
  #2  
Antiguo 20-08-2006
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Me cuadra mas algo como:

Cita:
VamosA BuscarLibro(Autor[S],Libreria[Libreria]) ConUn [Libro]
Cosas
Libro es [Libro]
AlAtaque
Resultado es [NADA]

Recorrer [LIBRERIA] PorCada Libro Donde Autor De Libro igual Autor
Resultado es Libro
PaFuera
ListoPaisano
Final
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 20-08-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Tal como lo escribes es un lenguaje de base de datos, al estilo xBase/Clipper, sobre todo por lo de "Recorrer [LIBRERIA] PorCada Libro Donde Autor De Libro igual Autor" que me recuerda al FOR de aquel lenguaje. Yo buscaba algo mucho más genérico.

Ahora no recuerdo del todo cómo lo hice (no encuentro la especificación que escribí, estoy temiéndome lo peor ), pero el "POR CADA" de mi visión se podía utilizar por la clase "CONTENEDOR", que es hija de la clase MATRIZ que define (si no recuerdo mal) el método que permite hacer el recorrido (lo que me hace dudar es cómo resolví el problema de la iteración... Recuerdo que tenía algo que ver con LOGO, que no tiene bucles pero pueden simularse con recursión y algún otro truco). Más tarde descubrí que PHP puede hacer lo mismo, creo que con el comando "foreach"(?).

Lo que sí recuerdo claramente es que describí los condicionales como "SI EL Autor DEL Libro ES NombreAutor, ENTONCES DEVUELVE Libro." como homenaje a COBOL, cuya primera descripción no tenía operadores. Esto me recuerda un chiste:

Cita:
- ¿Has visto la versión orientada a objeto de COBOL?
- No. ¿Cómo se llama?
- ADD ONE TO COBOL GIVIN COBOL.
Lo que me pude reír cuando me lo contaron...

Última edición por Ñuño Martínez fecha: 20-08-2006 a las 12:22:18.
Responder Con Cita
  #4  
Antiguo 20-08-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Por cierto, algunas "palabras clave" de mi lenguaje eran totalmente cosméticas (es decir, innecesarias). Por ejemplo: "SI EL Autor DEL Libro ES..." podría escribirse "SI Autor DE Libro ES...". Sin embargo "POR CADA Libro DE Librería,..." no podría escribirse de otra forma ("POR CADA" es una única palabra clave). Un problema que tenía es que, al igual que BASIC, muchas palabras clave tenían diferentes significados según dónde se usaran. Por ejemplo "ES" puede ser un "declarador de tipo" si se usa en la lista de variables o de parámetros (<variable> ES <tipo>) pero es el operador "igual que" si se usa en un condicional o en una asignación (el operador tenía más formas: "ES", "ES IGUAL QUE", "ES IGUAL A", pero operadores diferentes eran "ES DISTINTO [QUE]", "ES MAYOR [QUE]" etc. En estos casos la palabra "ES" es cosmética).

La verdad es que en aquella época se me fue mucho la pinza (forma castellana de decir "pensaba mucho para obtener poco" ), pero fue un ejercicio interesante. Recuerdo que escribí un programa (que estaba destinado a comprobar el funcionamiento del intérprete) que parecía sacado de cualquier manual de instrucciones.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Traducir excepciones JulioGO Firebird e Interbase 1 15-02-2005 17:47:32
Traducir un codigo de VB a Delphi ¡¡¡¡ Por favor !!!! Betsa23 Internet 2 30-11-2004 16:29:35
Ayuda en traducir de C a Delphi carlosmoralesm C++ Builder 2 01-07-2004 09:28:59
Traducir texto a voz Jose Manuel API de Windows 1 27-04-2004 22:37:28
Traducir aplicación Sick boy Varios 4 29-09-2003 13:09:22


La franja horaria es GMT +2. Ahora son las 22:19:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi