[Hispas-dev] Para facilitar al pricipante
Status: Planning
Brought to you by:
aleborisonik
From: adrian15 <bea...@go...> - 2003-02-14 09:07:25
|
El jue, 13-02-2003 a las 04:13, Explode escribi=F3: > Por cierto este E-mail se inserto en la lista de correo? NO. Pero ahora s=ED. He hecho un forward.=20 > > Luego habr=E1 que discutir cual es el modo por defecto. No creo que nos > pongamos de acuerdo en eso. :) > Totalmente de acuerdo, pero mejor que sea del todo configurable, y > digamos que aparezcan cuatro configuraciones por defecto,(yo creo que la > defecto deberia ser la mas semejante al PASCAL, que de eso va el tema). > > Aunque... Otra propuesta definir una palabra clave: hasta (No confundir > con > > el repetir - hasta) que ser=EDa: > > > > hasta 50 haz lo que sea. > > > > Por defecto el primer n=FAmero ser=EDa un 1. =BFQu=E9 os parece? > Perfecto un bucle sin 1 to 50 que es un engorro pa que no decirlo >=20 > > > Si alguien quiere que le pase una lista de relacionantes inutiles > > > puedo pasaros una peque=F1a lista. > > Esa lista me interesaria. > alla va: > Antes aviso que he sustituido begin y end por {} ya vereis por que, s= ino > preguntadlo > DO Relacionante totalmente inutil, creo que es una palabra insertada > para hacer legible el programa, pero es inutil, ya que solo es en ingles, > pero en castellano: > Hasta a=3D2 haz algo; Tambien se entiende Hasta a=3D2 Alg= o, al > igual en los CASE WITH IF FOR etc.. > THEN/ELSE (este acepto que lo discutais, y es util en muchos casos) en > muchas ocasiones no son necesarios: > IF a=3D1 then clrscr; se puede entender perfectamente como: > if a=3D1 clrscr; y If not (a=3D1) clrscr; podria a su vez ser > else a=3D1 clrscr; > o este otro: > if a=3D1 clrscr else (lootro); de forma que a mi modo de ver es mas legib= le, > pero talvez solo a mi modo de ver. > RECORD Es completamente inutil, quiero decir cuando declaras u= n > tipo o lo haces directo o no: > tipo=3Darray[0..5,0..5] of byte; > o > PASCAL CLASICO COMO YO DIGO: > tipo=3Drecord > tipo=3D{puntos:array[0..5,0..5] of byte; > puntos:array[0..5,0..5] of byte; elotro:eso} > elotro:eso; > end; > yo creo que es mas simple y sencillo de entender. > WHILE/UNTIL Lo detallo a continuacion en aclaracion a un pregunta: > > > Otra cosas que debemos pensar en incorporar es la posibilidad de > > > crear multiples puntos de salida en los While o Until e incluso en lo= s > > > for (Si el compilador debe escribir assembler o maquina se puede hace= r > > > todo eso y mas supongo, de todas formas yo se assembler). > > Te refieres al break de java,c,... um no se si est=E1 implementado en > > freepascal... habr=E1 que verlo. > Por si no me entendiste, no se como es el break de java, pero hay un exit= en > BASIC, y creo que en PASCAL tambien, pero no es muy fiable que yo recuerd= e. > Bueno, esta era otra caracteristica del turing que se me antoj=F3 uti= l: > LOOP { > a:=3Da+1} > exit (condicion); > b:=3Db-1 > exit (condicion); > c:=3Dc-1 > } De forma que creamos un bucle infinito y= le > damos salida despues de forma que no hay que colocar las ordenes pensando= en > el orden de la evaluacion boolean, si no que se puedan especificar multip= les > salidas del bucle en distintos puntos. > ; Creo que solo existe para poder escribir cadenas, o > intrucciones o procedimentos muy largos para mejorar legibilidad, pero es= un > co=F1azo cuando aprendes a programar (sobre todo si aprendiste BASIC como= yo) > tener que poner ; detras de cada instruccion, pero es acostumbrarse de to= das > formas yo creo que para insertar multi-lineas en una sola lo mejor seria > usar begin end; en cada una, notese que antes he utilizado en el loop {} > estas son begin y end de forma que: > {esta linea =3D'Esta linea '+ > 'esta otra'} de forma que supongo ya sabeis seria lo mismo que: > esta linea=3D'esta linea '+'esta otra'; > > > Tambien deberiamos incorporar bien lo de los constructores (Begin > > > end) y sustituir el constructor case en los tipos definidos por el > > > usuario opcionalmente (es decir que se puedan usar las dos) para que = el > > > programador que aprenda le sea mas dificil liarse, a mi personalmente > > > eso me dejo muy desconcertado, y al programador de PASCAL no se le ha= ga > > > raro. > > Explicate mejor,... cuando hablas de constructores hablas de POO o de o= tra > > cosa. Y lo del case tampoco lo entiendo ponme un ejemplo de case invali= do > > actualmente, y v=E1lido segun tu nueva visi=F3n. > Ficha =3D record > Nombre: string[20]; (* Campo fijo *) > case Tipo: TipoDato of (* Campos variantes *) > Num: (N: real); (* Si es un n=FAmero: campo N *) > Fech: (F: Fecha); (* Si es fecha: campo F *) > Str: (S: string[30]); (* Si es string: campo S *) > end; > Digo de sustituir el case hay dentro por otro similar, para no confundir, > por que de estudiante lo hay que somos cortos y oros que no, pero como se= a > uno de los cortos,, va listo. >=20 > > > Tambien he pensado que en las units la sentencia o constructor o = lo > > > que sea el OVERLOAD es bastante deconcertante se podria substuir > > > por: Procedimiento linea :multiple > > > (x,y,x2,y2:entero;color:byte); > > > (x,y,x2,y2:entero); > > > fin multiple; > Sobre esto no me comentaste nada. >=20 > > Gracias, de verdad, gracias, por todas tus ideas tu email ha sido muy > > prolifico. Podr=EDas habrirte una pagina personal en el Equipo,... y al= l=ED un > > sublink de Ideas... y organizar un poco las ideas. > No se como hacer eso, dime donde esta la pagina y yo voy apuntando co= sas > que se me vayan ocurriendo. >=20 > P.D. =BFComo vamos a hacer el compilador? =BFEn ASM, JAVA? creo que > deberiamos pensar eso, la verdad es que yo creo que a cuanto mas bajo niv= el > se compile mejor, pero la idea de poder ejecutar programas en una consola= de > java no estaria nada mal. Pero en eso yo no puedo hacer gran cosa, tendri= a > que estudiar algo o un mucho mejor dicho. > Explode |