Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Poll :: ¿Pascal o Python?

Pascal
27%
 27%  [ 27 ]
Python
60%
 60%  [ 59 ]
Otro
12%
 12%  [ 12 ]
Votos Totales : 98


Autor Mensaje
MirianQ
Nivel 8


Edad: 35
Registrado: 29 Feb 2008
Mensajes: 675
Ubicación: Siempre desvirtuando... siempre.
Carrera: Electrónica y Informática
CARRERA.informatica.3.jpg
MensajePublicado: Vie Nov 19, 2010 10:17 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

A lo de difícil o no, no me referia a la dificultad actual (algo I de informática es un chiste) sino a una dificultad normal de una materia de universidad como la gente. Mejor dicho, si alguien va a estudiar informática, creo que no debería de costarle taaaanto aprobar Algo I, sea con C o pascal o con lo que fuere. Si lo importante son las técnicas, no el lenguaje.

Yo uso C, lo tuve que aprender a los cachetazos porque hice algo II con Calvo y vimos C++... hay diferencias sustanciales, pero bue. Eso de la estrategia top-down no lo sabía. Y que cosas empaqueta Pascal que C no? La entrada y salida? Lectura de archivo?

Lo positivo para mi de python es que el programador se independiza mucho de los tipos, permitiendo hacer algoritmos genericos, lo cual era molesto en Pascal hacer la busqueda binaria u ordenamiento para cada tipo de dato.

Este articulo la verdad completó mi perspectiva:

http://www.stanford.edu/~pgbovine/python-teaching.htm

_________________
Image

Libra Género:Femenino Dragón OcultoGalería Personal de MirianQVer perfil de usuarioEnviar mensaje privado
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Vie Nov 19, 2010 10:30 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

MirianQ escribió:
A lo de difícil o no, no me referia a la dificultad actual (algo I de informática es un chiste) sino a una dificultad normal de una materia de universidad como la gente. Mejor dicho, si alguien va a estudiar informática, creo que no debería de costarle taaaanto aprobar Algo I, sea con C o pascal o con lo que fuere. Si lo importante son las técnicas, no el lenguaje.

El problema es cuando el lenguaje se convierte en un escollo y la materia termina más girando en torno a cómo implementa algo el lenguaje y no al concepto de lo que se está haciendo.

El problema con lenguajes un poco más duros, es que tienen una curva de aprendizaje muy pronunciada. Vos para hacer el hola mundo necesitás haber instalado un compilador, haber lidiado con él, y haber escrito un código de 10 líneas inexplicables cuyo único resultado es decir hola. La realidad es que desde el punto de vista pedagógico desalienda muchísimo y es un esquema muy propicio para que alguien se atrase en una materia y la pierda por la interconexión entre los temas. O sea, dejando de lado que el contenido de los cursos tradicionales de 75.40 es flojísimo; apretar por el lado de lenguajes duros provoca también una deserción y frustración estructural que va más allá de la dedicación del alumno.

Por lo del tiempo que se pierde en la materia, el curso piloto mostró que se podían agregar un montón de temas sin sacar otros y hacer, pese a eso, un curso bastante leve de llevar con una tasa de aprobación bastante más que satisfactoria.
MirianQ escribió:
Yo uso C, lo tuve que aprender a los cachetazos porque hice algo II con Calvo y vimos C++... hay diferencias sustanciales, pero bue. Eso de la estrategia top-down no lo sabía. Y que cosas empaqueta Pascal que C no? La entrada y salida? Lectura de archivo?

Sólo el hecho de tener esas strings de TurboPascal, más referencias, más una biblioteca de I/O de alto nivel, hacen una diferencia monstruosa.

En C no podés escaparle a los punteros, a pensar el bajo nivel desde el punto de la memoria, meterte en la implementación de cadenas, etc.; en paralelo estás aprendiendo a programar, un lenguaje, y una arquitectura de computadora; es mucho, y en el caso de Informática, donde hay materias para cada cosa, no tiene sentido que en la materia inicial te torturen con cómo funciona una ALU, sumar binarios o ese tipo de cosas (que lamentablemente, algunos consideran que es lo que hay que dar incluso en Computación).
MirianQ escribió:
Lo positivo para mi de python es que el programador se independiza mucho de los tipos, permitiendo hacer algoritmos genericos, lo cual era molesto en Pascal hacer la busqueda binaria u ordenamiento para cada tipo de dato.

Claro; en Pascal base no hay forma de generizarlo, en C podés, pero tenés que caer en void* y punteros a función; mientras que en Python con el tipado dinámico podés estar dando punteros a funciones y funciones genéricas de ese estilo en las primeras semanas sin ningún background previo... realmente da mucho más libertad a la creatividad del alumno y no mete prejuicios que son consecuencia de implementaciones puntuales de lenguajes en torno a lo que se puede hacer.

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Amadeo
Nivel 9



Registrado: 20 Oct 2008
Mensajes: 1436

Carrera: No especificada
blank.gif
MensajePublicado: Vie Nov 19, 2010 11:07 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

MirianQ escribió:
A lo de difícil o no, no me referia a la dificultad actual (algo I de informática es un chiste) sino a una dificultad normal de una materia de universidad como la gente. Mejor dicho, si alguien va a estudiar informática, creo que no debería de costarle taaaanto aprobar Algo I, sea con C o pascal o con lo que fuere. Si lo importante son las técnicas, no el lenguaje.

Yo uso C, lo tuve que aprender a los cachetazos porque hice algo II con Calvo y vimos C++... hay diferencias sustanciales, pero bue. Eso de la estrategia top-down no lo sabía. Y que cosas empaqueta Pascal que C no? La entrada y salida? Lectura de archivo?

Lo positivo para mi de python es que el programador se independiza mucho de los tipos, permitiendo hacer algoritmos genericos, lo cual era molesto en Pascal hacer la busqueda binaria u ordenamiento para cada tipo de dato.

Este articulo la verdad completó mi perspectiva:

http://www.stanford.edu/~pgbovine/python-teaching.htm


Cita:
In a nutshell, all of my assertions reinforce my belief that most beginner programmers don't care at all about Computer Science or programming language theory, but rather simply want to get the computer to do what they say with as little overhead and boilerplate code as possible. The less code they need to write, the less errors and bugs they might encounter; the less errors and bugs they encounter, the less likely they are to become frustrated in those crucial early days and give up on programming altogether.


Como me gustaría que entendiesen esto las p**** cátedras de Algoritmos I...


 Género:Masculino  OcultoGalería Personal de AmadeoVer perfil de usuarioEnviar mensaje privado
koreano
Nivel 9



Registrado: 15 Jul 2010
Mensajes: 1796

Carrera: No especificada
blank.gif
MensajePublicado: Vie Nov 19, 2010 11:09 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Para mí estaría bueno que se den los dos lenguajes, ya que ambos tienen cosas que el otro no. Es fundamental que en Algo1 se vea el proceso de compilación por ejemplo, o los distintos tipos de variables básicos. Pero también está buena la flexibilidad de Python a la hora de pasar de pseudocódigo a un lenguaje que se pueda pueda ejecutar. No creo que sea un problema empezar con Pascal mas allá de que no se use en el ámbito laboral, la migración de Pascal a C es mas ligera que de Pascal a Python. (Y C es un must).

My 2 cents.

Agrego que probablemente mi opinión no sea muy útil igualmente ya que no fuí a muchas clases ni de Algo1 o Algo2; aprendí todo por mi cuenta, con otro enfoque y cuando joven y bello.

PS: woa victorbsd, qué sarta de pavadas!


   OcultoGalería Personal de koreanoVer perfil de usuarioEnviar mensaje privado
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Vie Nov 19, 2010 11:33 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

koreano escribió:
Para mí estaría bueno que se den los dos lenguajes, ya que ambos tienen cosas que el otro no. Es fundamental que en Algo1 se vea el proceso de compilación por ejemplo, o los distintos tipos de variables básicos. Pero también está buena la flexibilidad de Python a la hora de pasar de pseudocódigo a un lenguaje que se pueda pueda ejecutar. No creo que sea un problema empezar con Pascal mas allá de que no se use en el ámbito laboral, la migración de Pascal a C es mas ligera que de Pascal a Python. (Y C es un must).

Ya que estamos, lo menciono.

Las veces que se dictó el curso de 75.40 en Python; las últimas dos semanas se dedicaron a dar C... exactamente los mismos contenidos que se dan en los otros cursos. El aprendizaje de C como segundo lenguaje, una vez que aprendieron a programar con buenas prácticas en una plataforma con pocas limitaciones, es bastante más que rápido y tranquilo. Justamente, el aprendizaje de C pasa por aprender apenas a compilar y las restricciones y manera de representar lo ya conocido en el nuevo lenguaje.

O sea, en el curso donde se dictó Python, si bien Python fue el lenguaje del 90% de la cursada; salieron sabiendo Python y C. Y si bien salieron sin un cuatrimestre de práctica en C, salieron bien preparados para entrar a Algoritmos II (al menos esa fue nuestra experiencia al cuatrimestre siguiente comparando los alumnos que venían de cursos tradicionales con respecto a los que venían del nuestro) y meterse con punteros y memoria dinámica ahí.

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
facundo.olano
Nivel 8


Edad: 36
Registrado: 10 Ago 2006
Mensajes: 808
Ubicación: encadenado al ánima
Carrera: Informática
argentina.gif
MensajePublicado: Vie Nov 19, 2010 11:46 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Sebastian Santisi escribió:
El problema es cuando el lenguaje se convierte en un escollo y la materia termina más girando en torno a cómo implementa algo el lenguaje y no al concepto de lo que se está haciendo.

El problema con lenguajes un poco más duros, es que tienen una curva de aprendizaje muy pronunciada. Vos para hacer el hola mundo necesitás haber instalado un compilador, haber lidiado con él, y haber escrito un código de 10 líneas inexplicables cuyo único resultado es decir hola. La realidad es que desde el punto de vista pedagógico desalienda muchísimo y es un esquema muy propicio para que alguien se atrase en una materia y la pierda por la interconexión entre los temas.


Estoy muy de acuerdo. Probablemente ya lo haya dicho en este tópico, pero este me parece el argumento más fuerte a favor de migrar a Python (o a otro lenguaje distinto del actual).

Una prueba interesante es mirar las preguntas que hacen los alumnos en las clases y en los grupos de discusión de algoritmos. Obviando las cuestiones administrativas, de cada 10 preguntas 9 son causadas por lo poco amigable que es el lenguaje.

Sebastian Santisi escribió:
Al respecto del tema Delphi y Algoritmos III; más allá de la cuadradez de Java que es algo que sirve muy bien para fines didácticos, el problema principal que tenía ese esquema es que no se aprendía otra cosa en toda la carrera de Informática que Pascal. El resultado era que en 6º año los alumnos creían que Pascal era un lenguaje comercial, y que si les habían enseñado Pascal era porque era la bala de plata. En los últimos años se ha revertido mucho eso y se nota un poco más de apertura y de no casarse tanto con ninguna plataforma (si bien, es preocupante que el 99% de los trabajos profesionales giren en torno a alguna cosa de Java).


Más allá de que se hayan variado un poco los lenguajes que se usan, yo sigo notando una inexplicable insistencia en el uso de C++ (que me parece un lenguaje asqueroso por donde se lo mire), y que la mayoría de los alumnos de la carrera sigue deduciendo, más por lo que ven en la carrera que por la disponibilidad de laburos, que con C++ y Java tienen resuelta la vida. Este anquilosamiento en un par de herramientas (que por lo demás yo dudo que sean las mejores disponibles en la mayoría de los casos) me parece lo menos ingenieril del mundo.

_________________
Image Image

Geminis Género:Masculino Gato OfflineGalería Personal de facundo.olanoVer perfil de usuarioEnviar mensaje privadoEnviar emailVisitar sitio web del usuarioMSN Messenger
victorbsd
Nivel 5


Edad: 54
Registrado: 11 Oct 2010
Mensajes: 171

Carrera: Informática y Sistemas
argentina.gif
MensajePublicado: Vie Nov 19, 2010 1:15 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

pani escribió:
victorbsd escribió:
Cita:
Abstracción es la palabra

Creo que estas metido en la POO. La abstracción la logras generalizando y la POO te permite por la herencia crear los objetos.


Si pensás que el concepto de abstracción es exclusivo de la POO, me parece que vas a tener que revisar un par de cosas...
El concepto de TDA, por ejemplo, no tiene absolutamente nada que ver con la Herencia, puesto que TDA no implica "clase" (en Pascal y en C podés representar tranquilamente un TDA, es más, una de las cátedras de Algo II se trabaja en C y como sabrás Algo II es todo sobre TDAs). Y no por nada se llama "tipo de dato abstracto". Y eso es solo el principio.


La abstraccion NO es exclusiva de la POO.Tampoco de los lenguajes, ni tampoco de la matematica.
Me referia a que como Python soporta la POO quizas lo que lo elijan como PRIMER LENGUAJE se sientan atraidos por eso.

Cita:
Sobre la declaración de variables, tengo entendido que Python tampoco exige que las declares

Si, en ese punto se parece a el Basic. Prefiero Pascal.

4WD escribió:
victorbsd escribió:
Repito, como solucionas el problema de la asignacion dinamica y el nombre de la variable en Python?
Si lo que querés es que se aprenda a pensar y diseñar un algoritmo, ¿es la asignación y el tipo de la variable incrustado en el nombre algo realmente tan importante? Yo creo que depende bastante de lo que quieras enseñar...


Concuerdo pero debes ser prolijo al presentar tu algoritmo codificado a algun lenguaje.Te recuerdo que la materia se llama Algoritmos y Programación I.
Se de muchos bochos en matematica que temblaron con esta materia.

Cita:
Por fuera de los TDAs... mi ejemplo de abstracción fue "distancia", que a priori era una variable de algún tipo numérico.

(De todos modos, en un enfoque abstracto no te importa que sea un char, un integer, un double, un TDA o una clase, lo que te importa es que representa una distancia y le vas a pedir cosas razonables para una distancia.)


a priori es un tipo numerico.Pero Python no exije declarar las variables?
´distancia´ representa una distancia pero debes recordar que para tal numero debe reservarse memoria para que quepa.
Tu algoritmo es eficiente pero el interprete o compilador uso 2 byte para representar ese valor que no supera el byte.
Decis que el tamaño de DISTANCIA lo da el contexto, pero el compilador sabe esto?

Cita:
No creo que sea un problema empezar con Pascal mas allá de que no se use en el ámbito laboral, la migración de Pascal a C es mas ligera que de Pascal a Python. (Y C es un must).

En Algo II no solo vas a tener que aprender a declarar variables, que hay tipos que respetar,que estos tipos reservan memoria, tambien vas a tener que aprender a editar, compilar, linkear, ejecutar y depurar.Esto, en definitiva es lo que vas a hacer cuando seas Ing. (en general).Un motivo mas para empezar con Pascal.
Entonces propongo dividir Algo y Prog I en 2.Uno Algoritmia y otro Programacion.

\MOD (LargoXXI): Junto los mensajes.

_________________
Image

Capricornio Género:Masculino Gallo OfflineGalería Personal de victorbsdVer perfil de usuarioEnviar mensaje privado
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Vie Nov 19, 2010 2:00 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

victorbsd escribió:
a priori es un tipo numerico.Pero Python no exije declarar las variables?
´distancia´ representa una distancia pero debes recordar que para tal numero debe reservarse memoria para que quepa.
Tu algoritmo es eficiente pero el interprete o compilador uso 2 byte para representar ese valor que no supera el byte.
Decis que el tamaño de DISTANCIA lo da el contexto, pero el compilador sabe esto?

Nunca hablé del tamaño, nunca hablé de la reserva de memoria, y si mencioné en un momento algo al respecto de 2 bytes fue respondiéndote a una de las tantas cosas que construiste en el aire en este hilo.

Todas esas cosas que mencionás son detalles de implementación que nadie niega que existan; lo que se está diciendo es que es preferible que la gente se preocupe por aprender a diseñar y programar bien antes que estar lidiando con algo que depende pura y exclusívamente ya no de un lenguaje, sino de una plataforma un sistema operativo y un compilador. Para lo otro, hay tiempo de sobra.

Si en ANSI-C pongo "int i", ¿quién me dice cuántos bytes va a utilizar el compilador cuando eso sea compilado?, ¡nadie!... le estás buscando la quinta pata a un problema que no aporta nada en cuanto a formación de un proceso de pensamiento cuando le estás enseñando a alguien cómo se estructura una aplicación.

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Spike Spiegel
Nivel 9


Edad: 36
Registrado: 10 Ago 2007
Mensajes: 1507

Carrera: Informática
blank.gif
MensajePublicado: Vie Nov 19, 2010 2:01 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

¿A mí solo me está dando vueltas por la cabeza la palabra dinosaurio?

_________________
[tex]\mbox{Detrás de todo 'tengo hambre' hay un gran 'comete esta'}[/tex]

Virgo Género:Masculino Gato OfflineGalería Personal de Spike SpiegelVer perfil de usuarioEnviar mensaje privadoEnviar emailVisitar sitio web del usuarioYahoo MessengerMSN Messenger
ralfonso
Nivel 4


Edad: 36
Registrado: 26 Abr 2010
Mensajes: 83
Ubicación: theta = 1.67532289pi, phi = 0.692057055pi, rho = 34
Carrera: Informática
argentina.gif
MensajePublicado: Vie Nov 19, 2010 2:06 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Spike Spiegel escribió:
¿A mí solo me está dando vueltas por la cabeza la palabra dinosaurio?


No. A mi también.

_________________
[tex]Ro\delta \rho\iota\gamma o \mbox{ } \Sigma \mbox{. } A\lambda\phi o\nu\sigma o[/tex] - I'm greek! XD
No alcanza con leer las boludeces que escribo acá? ->Seguime en twitter!
Repositorio online para archivos (Referral) -> DropBox
[CAMPAÑA] Colaboremos entre todos por un foro más ordenado (click aquí)

Libra Género:Masculino Gato OfflineGalería Personal de ralfonsoVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuarioMSN Messenger
pani
Nivel 3


Edad: 35
Registrado: 24 Nov 2009
Mensajes: 29

Carrera: Informática
CARRERA.informatica.3.jpg
MensajePublicado: Vie Nov 19, 2010 2:46 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

victorbsd escribió:

compilar, linkear, ejecutar y depurar


Eso en general es distinto para cada lenguaje compilado, así que de todos modos cada vez que quieras aprender un lenguaje nuevo vas a tener que aprender eso. Y por cierto, existe el debugger para Python.
Los temas sobre compiladores y demás se ven más en detalle en otras materias, y no tiene sentido darlos en Algo I porque justamente no es puntualmente parte de Programación (lo que importa en todas las materias de programación es enseñar bases y buenas prácticas, usando un determinado lenguaje como MEDIO, portable de manera directa o no a otras plataformas, y no la enseñanza de un lenguaje y de las arbitrariedades del mismo), ni es ningún tipo de Algoritmia, y además lo que se ve no alcanza tal complejidad como para que tenga importancia preocuparse por las opciones del compilador o las mañas del linker, ponele.
Creo, igual, que Sebastián ya dijo todo...

(Espero que sea dinosaurio y no troll, la verdad.)


Escorpio  Dragón OfflineGalería Personal de paniVer perfil de usuarioEnviar mensaje privadoMSN Messenger
MirianQ
Nivel 8


Edad: 35
Registrado: 29 Feb 2008
Mensajes: 675
Ubicación: Siempre desvirtuando... siempre.
Carrera: Electrónica y Informática
CARRERA.informatica.3.jpg
MensajePublicado: Vie Nov 19, 2010 3:48 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Che, no sean malos, no digan dinosaurio... eso se fue de mambo.

El tiene su postura, el resto tiene otra. La experiencia propia a veces es condicionante cuando reflexionas sobre algun tema que no es de tu epoca.

Aguante Smalltalk! :P *desvituo off*

_________________
Image

Libra Género:Femenino Dragón OcultoGalería Personal de MirianQVer perfil de usuarioEnviar mensaje privado
4WD
Administrador


Edad: 39
Registrado: 07 Sep 2006
Mensajes: 2430
Ubicación: Ingeniero
Carrera: Mecánica
argentina.gif
MensajePublicado: Vie Nov 19, 2010 9:12 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Sebastian Santisi escribió:
MirianQ escribió:
A lo de difícil o no, no me referia a la dificultad actual (algo I de informática es un chiste) sino a una dificultad normal de una materia de universidad como la gente. Mejor dicho, si alguien va a estudiar informática, creo que no debería de costarle taaaanto aprobar Algo I, sea con C o pascal o con lo que fuere. Si lo importante son las técnicas, no el lenguaje.

El problema es cuando el lenguaje se convierte en un escollo y la materia termina más girando en torno a cómo implementa algo el lenguaje y no al concepto de lo que se está haciendo.

El problema con lenguajes un poco más duros, es que tienen una curva de aprendizaje muy pronunciada. Vos para hacer el hola mundo necesitás haber instalado un compilador, haber lidiado con él, y haber escrito un código de 10 líneas inexplicables cuyo único resultado es decir hola. La realidad es que desde el punto de vista pedagógico desalienda muchísimo y es un esquema muy propicio para que alguien se atrase en una materia y la pierda por la interconexión entre los temas. O sea, dejando de lado que el contenido de los cursos tradicionales de 75.40 es flojísimo; apretar por el lado de lenguajes duros provoca también una deserción y frustración estructural que va más allá de la dedicación del alumno.
Esto es exactamente a lo que me refería.

Hagamos una prueba (ok, va a ser tendenciosa...): escribir un Hello World y digamos un bubble sort en ambos lenguajes.

Dejo el Hello World de Python que es fácil... y el de Pascal lo afano de la Wiki:

Código:
print "Hello World"


Código:
program HelloWorld(output);
begin
  Writeln('Hello world!')
end.


El bubble sort se lo dejo a alguien que sepa más...Agregué unos de una página; no sé si están bien... Adivinen cuál es cuál Smile

Código:
Procedure BubbleSort(
                       Var Data : IntArray;
                       Count    : integer;
                       First    : integer;
                       Last     : integer;
                       Acend    : boolean;
                       Var Succ : integer );
 
 var
   i,
   temp,
   s_begin,
   s_end,
   numsort : integer;
   sorted  : boolean;
 
 Begin
   { initialize for full array sort }
   s_begin := STARTINTARRAY;
   s_end   := STARTINTARRAY + count - 1 ;
   numsort := Count;
   Succ    := 0;    { assume success }
 
   { check for a subset sort; check parameters for correctness }
   if (Count = 0) then
     Begin
       If (First < STARTINTARRAY) then
       Begin { error: sort start index too low }
         Succ := 1;
         Exit;
       End;
       If (Last > MAXINTARRAY) then
       Begin { error: sort end index too high }
         Succ := 2;
         Exit;
       End;
       if (Last < STARTINTARRAY) then
       Begin { error: sort end index too low }
         Succ := 3;
         Exit;
       End;
       s_begin := First;
       s_end   := Last;
       numsort := Last - First + 1;
     End;
   If numsort <= 1 then Exit; { only one element, so exit }
 
   If Acend then
   Begin { do the ascending sort }
     Repeat
       sorted := true; { flag default is true }
       For i := s_begin to s_end -1 do
         if (Data[i] < Data[i+1]) then
         Begin
           { swap contents of Data[i] and Data[i+1] }
           temp      := Data[i];
           Data[i]   := Data[i+1];
           Data[i+1] := temp;
           { set flag to indicate a swap occured; i.e., sort may not be completed }
           sorted := false;
         End;
     Until sorted;
   End Else
   Begin { do the descending sort }
     Repeat
       sorted := true; { flag default is true }
       For i := s_begin to s_end -1 do
         if (Data[i] < Data[i+1]) then
         Begin
           { swap contents of Data[i] and Data[i+1] }
           temp      := Data[i];
           Data[i]   := Data[i+1];
           Data[i+1] := temp;
           { set flag to indicate a swap occured; i.e., sort may not be completed }
           sorted := false;
         End;
     Until sorted;
   End;
 End;
</source>

A simplified version:

<source lang="pascal">

 Procedure BubbleSort(var a:IntArray; size:integer);
  var i,j,temp: integer;
  begin
   for i:=1 to size-1 do
    for j:=1 to size do
     if a[i]>a[j] then
        begin
         temp:=a[i]; a[i]:=a[j]; a[j]:=temp;
        end;
  end;


Código:
def bubblesort(lst):
    "Sorts list in place and returns it."
    for passesLeft in range(len(lst)-1, 0, -1):
        for index in range(passesLeft):
            if lst[index] < lst[index + 1]:
               lst[index], lst[index + 1] = lst[index + 1], lst[index]
    return lst


EDIT: Saco los tags HTML que rompen el código y los números del de Pascal...

OK, están haciendo cosas distintas... es cualquiera esta comparación... :P

_________________
ImageImage
ImageImage
ImageImage



Última edición por 4WD el Vie Nov 19, 2010 10:33 pm, editado 1 vez
Escorpio Género:Masculino Rata OfflineGalería Personal de 4WDVer perfil de usuarioEnviar mensaje privado
MirianQ
Nivel 8


Edad: 35
Registrado: 29 Feb 2008
Mensajes: 675
Ubicación: Siempre desvirtuando... siempre.
Carrera: Electrónica y Informática
CARRERA.informatica.3.jpg
MensajePublicado: Vie Nov 19, 2010 9:25 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

El de Pascal puede mejorarse... pero aun asi el de python le pasa el trapo :P

_________________
Image

Libra Género:Femenino Dragón OcultoGalería Personal de MirianQVer perfil de usuarioEnviar mensaje privado
victorbsd
Nivel 5


Edad: 54
Registrado: 11 Oct 2010
Mensajes: 171

Carrera: Informática y Sistemas
argentina.gif
MensajePublicado: Vie Nov 19, 2010 9:43 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Cita:
es preferible que la gente se preocupe por aprender a diseñar y programar bien antes que estar lidiando con algo que depende pura y exclusívamente ya no de un lenguaje, sino de una plataforma un sistema operativo y un compilador

en 4 meses vas a aprender a programar bien?, porque en Alg II usas C , no?.
Ok, que la gente se preocupe a aprender a diseñar, eso es ALGORITMIA y programar y eso DEPENDE DEL LENGUAJE QUE USES.
Se a donde apuntas ( se llama algoritmia) y porque el Pascal no sea tan comercial o no tan productivo como otros lenguajes no debe ser dejado de lado, porque Pascal tiene un objetivo : enseñar a programar.

En definitiva por excelente que sea Python nunca salvara a un pesimo programador.Y programador no se hace en Algo I.Si les molesta llegar al ejecutable en Pascal, usen el IDE y listo.
Nombraron Haskell, hay un libro por ahi sobre programacion funcional y Haskell que le tuve curiosidad, alguien que aclare?.
Y lo de dinosaurio no me molesta, es un alago Very Happy

_________________
Image

Capricornio Género:Masculino Gallo OfflineGalería Personal de victorbsdVer perfil de usuarioEnviar mensaje privado
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
No Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.3011s ][ Pedidos: 22 (0.1981s) ]