Aprender programacion en mis ratos libres, por donde empezar

eXecuter está baneado por "utilizar un clon para saltarse un baneo"
Ferdy escribió:[qoute]Yo no he dicho que sepa programar, he dicho que empece a entender la programacion gracias a ello, pero mira esta claro que sabes mas que el jodido departamente de programacion de una universidad, tienes razon el pseudocodigo no ayuda para nada a los novatos.


¿Y quién ha dicho que no sepas programar? Teneis una facilidad para entender todo como una referencia personal que abruma...

Te he dicho que lo que has descrito no significa que el método te permita aprender a programar en meses más que nada porque eso es IMPOSIBLE, uses el método que uses. Lo que has descrito es 'tener nociones de programación'.

- ferdy[/quote]

Es que no es ningún "método", es una "toma de contacto", simplemente. Nadie se pondría a fondo con pseudocódigo.
zambombas escribió:A ver el pseudocodigo ayuda...sobre todo si no has tocado un lenguaje de programacion en tu vida . El pseudocodigo usa palabras entendibles por ejemplo :
Estructura condicional en pseudocodigo
Si numero > numero2 hacer
escribir este numero es mayor
fsi

En C :
if ( numero > numero2 )
{
cout << " Este numero es mayor " ;
}

No os parece mas entendible lo de arriba? Pues para eso se usa el pseudocodigo , amen de escribir programas y luego poder traducirlos de pseudocodigo al lenguaje que quieras.
:) Saludos!


Realmente:

a) Eso no es C
b) No, no es más entendible ¿"fsi"? venga hombre...

Lo bueno de lenguajes como python es que el pseudocódigo no es necesario. Cuesta lo mismo hacer el pseudocódigo que lo mismo en python pero funcionando.

- ferdy
Ferdy escribió:
zambombas escribió:A ver el pseudocodigo ayuda...sobre todo si no has tocado un lenguaje de programacion en tu vida . El pseudocodigo usa palabras entendibles por ejemplo :
Estructura condicional en pseudocodigo
Si numero > numero2 hacer
escribir este numero es mayor
fsi

En C :
if ( numero > numero2 )
{
cout << " Este numero es mayor " ;
}

No os parece mas entendible lo de arriba? Pues para eso se usa el pseudocodigo , amen de escribir programas y luego poder traducirlos de pseudocodigo al lenguaje que quieras.
:) Saludos!


Realmente:

a) Eso no es C
b) No, no es más entendible ¿"fsi"? venga hombre...

Lo bueno de lenguajes como python es que el pseudocódigo no es necesario. Cuesta lo mismo hacer el pseudocódigo que lo mismo en python pero funcionando.

- ferdy

jajaja tiquismiquis , es C++ xDDD pero bueno era un ejemplo para pueblo llano de la programacion. No sera necesario para ti pero a lo mejor para otras persona le es util...para gustos colores como distros ( ña pedra )

PD : Ferdy tu tb estudias informatica?
eXecuter está baneado por "utilizar un clon para saltarse un baneo"
Ferdy escribió:
zambombas escribió:A ver el pseudocodigo ayuda...sobre todo si no has tocado un lenguaje de programacion en tu vida . El pseudocodigo usa palabras entendibles por ejemplo :
Estructura condicional en pseudocodigo
Si numero > numero2 hacer
escribir este numero es mayor
fsi

En C :
if ( numero > numero2 )
{
cout << " Este numero es mayor " ;
}

No os parece mas entendible lo de arriba? Pues para eso se usa el pseudocodigo , amen de escribir programas y luego poder traducirlos de pseudocodigo al lenguaje que quieras.
:) Saludos!


Realmente:

a) Eso no es C
b) No, no es más entendible ¿"fsi"? venga hombre...

Lo bueno de lenguajes como python es que el pseudocódigo no es necesario. Cuesta lo mismo hacer el pseudocódigo que lo mismo en python pero funcionando.

- ferdy


Pero, en serio, ¿de pequeño te castigaban leyendo pseudocódigo? ¿alguien está diciendo que haya que aprender pseudocódigo? ¡¡¡¡¡NO!!!!!

En los cursos de programación que he dado para una empresa en la que trabajaba la gente agradecía que les pusieras un ejemplo en pseudocódigo, evidentemente, nadie en su sano juicio aprende a programar en pseudocódigo, ya que lo haces, ¡que sea en un lenguaje útil! Pero, repito -ya por última vez, lo juro-, a alguien novato, que no sabe ni qué es programar, le pones algo en pseudocódigo y se entera, luego ya te metes en faena para lo que, efectivamente, en algo estamos de acuerdo, Python viene perfecto.
Creo que no os estais entendiendo, ambas partes. A veces pasa, y cuando pasa, el primero que calla es el que menos tiempo ha perdido.
Volviendo al tema, entre las sugerencias de ensamblador y phyton me quedo con la segunda, aunque he de decir que no se si será una mierda (reitero mi analfabetismo programacional), pero las prácticas de una asignatura que di con MIPS me parecieron la forma de programación más lógica y agradable de las pocas con las que he tratado.
Yo la verdad he intentado seguir el hilo bien...pero ha llegado un momento en que como mi experiencia de programación es tan pequeña no puedo emitir un juicio verdadero y puro, sin incurrir en atacar ejemplos.

Así que una vez demostrada mi postura, simplemente quería comentar que, en sí, a lo que se debe aprender es a pensar en la programación, no en cómo se programa. Entiendo que para hacer algo serio uno debe profundizar lo máximo posible en lo que te ofrece un lenguaje de programación u otro, así los programas estarán mejor optimizados y serán de una calidad plausible. No obstante no podemos centrarnos en un único lenguaje sino abrir el conocimientos a cuantos mas mejor.

Obviamente entramos en un dilema...conocer poco de mucho....o mucho sobre pocas cosas.

Sin embargo en programación se nos brinda la oportunidad de obviar ese dicho de que el que mucho abarca poco aprieta...simplemente gracias al pseudocódigo. Más de una vez me han comentado que una vez sabes programar, ya sabes programar en todos los lenguajes. Lo único que debes hacer es cambiar las instrucciones por las propias del lenguaje, el binario resultante va a ser el mismo o casi....Así que yo veo el pseudocodigo más como una transición entre las ideas y el código resultado.

Qué mas le da al que esté resolviendo el problema que en C se use llaves y en Python se use la identación. El programa es el mismo, pero la forma de escribirlo no. Por ello, se ha de llegar a un equilibrio entre intelección y conocimientos. Desde luego si no conoces las librerías o los protocolos pocos gestores de descargas puedes programar por muy grande que sea el folio.

Mi consejo es...simplemente utilizar pseudocódigo (por eso recomendé basic porque es básicamente lo mismo cambiado de idioma XD) y una vez adquirida la capacidad de afrontar problemas informáticos abandonar su practica y profundizar en tu lenguaje, sin olvidar los otros. Usa pseudocódigo para desarrollar ideas o para explicarselo a otro.

Por ejemplo

un programador P en python crea un programa (típico) de calcular el factorial.....sin embargo compara resultados con la calculadora y no son corectos. Un amigo L que pograma en perl le intenta ayudar, pero no conoce las inteioridades de python..solución...¿que has escrito ahí?...pseudocodigo, te has equivocado porque si le dices que empiece desde el 3 pues ya no sale.....


PEEERO, claro, y si el mendas no se ha acordado de que el primer término de una matriz en C empieza por 0 y no por 1? pues que puede estar ahí el error. Por eso es importante cerciorarse de que el programa debe arrojar los resultados correctos con el pseudocodigo...y si no los hace..revisar el código...no la estructura de lo que has hecho o pensado y has puesto directamente en el inteprete.

Espero me haya explicado lo suficiente. Por ello repito que en el proceso de aprendizaje el pseudocódigo es casi tan importante como saber usar cout o printf si hablamos de C o de lo que sea. Luego se deben ocupar de otras cosas y usar pseudocodigo cuando sea necesario.

Un saludo.


pd:LOS EJEMPLOS NO SE ATACAN...eso es de mala educación y de cobardes. Si hay problemas con los ejemplos se comentan fuera de la dialéctica que se lleve a cabo, en forma de offtopic, posdata o dejándolo bien claro que es una anécdota. Lo importante es el contenido. Yo me dí cuenta de que FSI en pseudocódigo no pegaba, pero todos entendimos lo que nos quería trasmitir zambombas. Esos detalles nos pueden hacer caer en un ciclo de picaera malsana en la que Ferdy nos lleva mucha ventaja simplemente porque sabe más que casi todos de los que hay aquí o así lo demuestra. Por ello, por favor, obviar la meteduras de patas de los otros y dejad de buscaros las cosquillas porque no os vais a reir ninguno. Por eso una simple recomendación para un chico que quiere aprender parece una lucha en a ver quien sabe que es c y qué es c++ y en vez de ayudar, asustamos XD
Buen rollo para todos. Me encantan estos hilos. Por lo menos solemos agotar el tema y no a los participantes, un punto a nuestro favor.
Mi consejo, para el autor del hilo, es que empiece a hacer sus
primeros 'holamundos' en python, sin necesidad ninguna de
pseudocódigos. Con eso ya tiene material para meses ....

Saludos
zambombas escribió:PD : Ferdy tu tb estudias informatica?


Si.

@carlosyeah: Los ejemplos no se atacan, pero se comentan porque son la base de la argumentación del otro.

Yo creo que ya expliqué cuál debe ser la forma de aprender a programar poco a poco. Estoy abierto a comentarios sobre ella, de todos modos.

- ferdy
desde mi humilde punto de vista y mi experiencia (aprendi a programar en BASIC de un AMSTRAD CPC 464) para aprender a programar necesitas un lenguaje con las siguientes caracteristas:
- tipado debil: debes elegir Python, PHP, BASIC... si ni siquiera sabes que es una variable, ¿como vas a realizar conversiones de tipos? (¿de veras quieres sabes que String stra=raw_input().ToString();?)
- con sintaxis facil y humanamente leible: es mucho mas entendible 'for x=1 to 10 [...] next x' que 'for (x=1;x<=10;x++) {[...]}', por ejemplo. el lenguaje debe proponerte hacer las estructuras basicas con el minimo de caracteres adicionales de control posibles
- con poca burocracia: nada de #includes o similares. a ser posible, que empieze ejecutando la primera linea que encuentre. el void main(void) { [...] } es algo que aprenderas mas adelante, y el aprenderte burocracia solo hara distraerte de tu principal objetivo ahora, que es aprender a programar
- que te permita prototipado/ejecucion rapida mientras desarrollas: un entorno integrado de desarrollo (IDE) seria lo ideal. el estar editando en una ventana y tener que compilar/ejecutar en otra te hace ser algo mas lento y te distraera al principio. Python/IDLE no es mala pareja.

una vez que sepas programar (estructuras de control, algoritmos, estructuras de datos), podras aprender un lenguaje que facilite la creacion de interfaces graficas (VisualBasic, Java/swing, python/wxwidgets, php/html)

pero hazte un favor a ti mismo, y NO EMPIECES CON VISUAL BASIC. BASIC era un lenguaje fenomenal para empezar, pero VISUAL BASIC NO LO ES. si aprendes con visualbasic, vas a aprender un monton de malos habitos que luego te va a costar mucho trabajo corregir. ahora mismo, y a falte de un interprete BASIC decente, te recomiendo que empieces con PYTHON.
bah aprende lo que quieras y como quieras , al final el que decides tu.
A los que decis que el FSI no pega deciros que esta en los apuntes de la universidad de Alicante y ademas aparte de enseñarmelo ahi , me lo enseñaron en el modulo superior. El Fsi sirve para marcar el final de la condicion pues es un follon cuando tienes muchos IF anidados saber cuando acaba la condicion , si decis que no pega pues contarse a mis profesores del ciclo superior y a mis profesores de la universidad que me pegaron esa mania. Si no os lo creeis podeis mirar los apuntes que he subido unos post mas arriba. En el mismo tema 2 pagina 25 :)
ale saludoss

FSI = Final de la condicion si
Fmientras = Final de de la condicion mientras
pa abreviar y esas cosas...
prefiero la jerga Pascal: BEGIN...END
o la version python: lo que forme parte del mismo bloque, sangrado en la izquierda y una linea vertical para marcar el bloque...
(mensaje borrado)
Yo aprendí a programar con el método que expone Ferdy y creo que antes de ponerte a hablar de Pseudocódigo, tienes que saber qué es programar y de qué herramientas dispones y eso no es posible con un lápiz y un papel, hay que ponerse trastear con prueba-error.

Empecé a programar en Pascal y me parece muy buen lenguaje para el ámbito docente. Empezaría con un lenguaje compilado, fuertemente tipado y que no utilice la indentación como separador de bloques.

Un saludo.
Jaime escribió:Empecé a programar en Pascal y me parece muy buen lenguaje para el ámbito docente. Empezaría con un lenguaje compilado, fuertemente tipado y que no utilice la indentación como separador de bloques.

Qué cosas.

Yo empezaría con un lenguaje interpretado para tener un ciclo de prueba y error rápido.
Fuertemente tipado, pero con tipado dinámico.
Y que utilice la indentación para identificar bloques, que siempre es una buena práctica indentar, y es más sencillo de ver la estructura del código en un vistazo.

Es decir: Python
zootropo escribió:
Jaime escribió:Empecé a programar en Pascal y me parece muy buen lenguaje para el ámbito docente. Empezaría con un lenguaje compilado, fuertemente tipado y que no utilice la indentación como separador de bloques.

Qué cosas.

Yo empezaría con un lenguaje interpretado para tener un ciclo de prueba y error rápido.
Fuertemente tipado, pero con tipado dinámico.
Y que utilice la indentación para identificar bloques, que siempre es una buena práctica indentar, y es más sencillo de ver la estructura del código en un vistazo.

Es decir: Python


Creo que es importante que el alumno se quede rápido con la idea de compilar y del tipado de las variables.
En cuanto a lo de la indentación tienes razón, la mayoría se queda con la mala costumbre de no indentar su código y de esta forma le da la importancia que tiene.

Un saludo.
Mira los videotutoriales de Jesus Conde de C++ , el hombre explica muy bien y detallado y si te gusta pos ya sabes ;)
te dejo la dire :
http://www.illasaron.com/html/
Te registras y bajas el de c++ pero hay muchas mas!
Mi más humilde opinion es que empiezes programando en un lenguaje de sintaxis similar a pascal. Si, pascal, todo está muy clarito, las cosas empiezan y acaban, los módulos o partes de los programas están siempre muy claros y diferenciados unos de otros, por lo que es facil aprender de programas echos por otros en esa sintaxis.
Otra cosa que yo te recomendaría y que seguro que muchos te diran que ni se te ocurra es que lo primero que empieces a programar sean jueguecillos, si, jueguecillos, porque para hacer un programa del que te sientas orgulloso tendran que pasar meses de estudio, cuando ya sepas manejar ficheros y esas cosas sentirás que haces programas realmente útiles, hasta entonces dirás: "-que bien, tengo un programa que le doy dos números y me lo suma, tiene una interfaz fea e incómoda, prefiero la calculadora de mi movil," y te sentirás inútil. En cambio, programando jueguecillos, aunque sean malos, te diviertes, aunque solo sea una nave que se mueve por la pantalla, ya tendrás algo que te haga gracia, y tendrás una motivación a seguir mejorando el programa porque te apetece ver como quedaría una explosion, y eso, amigos, te mete ilusion, que a la hora de aprender es algo importante.

Dicho esto te recomiendo que empieces con fenix o bennu, ya que tienen sintaxis similar a pascal y un estilo de programación que no es tan "sintetico" como el habitual ni tan complejo como la POO. Es bastante parecido programar en esos lenguajes a como piensas que debería ser en tu mente.

un saludo.
Ferdy escribió:¿Programar en un lenguaje inventado? Je, eso se asemeja a hablar en idiomas inventados o a tener amigos invisibles.


Ferdy escribió:Realmente, cualquiera puede aprender a programar con cualquier libro de introducción a la programación a nivel de primero de ingeniería. Joyanes tiene buenos libros con ejercicios, el que tiene de C tiene buena pinta.


Es, cuánto menos curioso, que recomiendes libros de Joyanes cuando él propone ejercicios usando seudocódigo.
Es, cuánto menos curioso, que recomiendes libros de Joyanes cuando él propone ejercicios usando seudocódigo.


Es cuanto menos curioso que no hayas leído mis mensajes pero seas capaz de llegar a una conclusión tan absurda.

El pseudocódigo no es particularmente malo, lo que es malo es EMPEZAR A PROGRAMAR EN UN LENGUAJE INVENTADO POR TI MISMO. No solo es malo, es completamente estúpido.

Además no le recomiendo ningún libro de Joyanes, digo que tiene buena pinta. Obviamente no lo he leido. Incluso si lo hubiera recomendado, no significaría que estuviera 100% de acuerdo en lo que haya dicho, diga o dirá el autor.

No se si es que hay problemas para entender el español o muchas ganas de tocar las narices...

- ferdy
eXecuter está baneado por "utilizar un clon para saltarse un baneo"
Ferdy escribió:
Es, cuánto menos curioso, que recomiendes libros de Joyanes cuando él propone ejercicios usando seudocódigo.


Es cuanto menos curioso que no hayas leído mis mensajes pero seas capaz de llegar a una conclusión tan absurda.

El pseudocódigo no es particularmente malo, lo que es malo es EMPEZAR A PROGRAMAR EN UN LENGUAJE INVENTADO POR TI MISMO. No solo es malo, es completamente estúpido.

Además no le recomiendo ningún libro de Joyanes, digo que tiene buena pinta. Obviamente no lo he leido. Incluso si lo hubiera recomendado, no significaría que estuviera 100% de acuerdo en lo que haya dicho, diga o dirá el autor.

No se si es que hay problemas para entender el español o muchas ganas de tocar las narices...

- ferdy


Pero es que nadie ha dicho aquí que la gente tenga que aprender a programar en pseudocódigo... simplemente, a alguien que no sabe ni qué es programar, le puede venir bien, para entender lo de las instrucciones, condiciones, variables, constantes, etc. mirarse algo en pseudocódigo, y una vez lo entienda, lógicamente pasar de un lenguaje inventado ;)
Ferdy escribió:Es cuanto menos curioso que no hayas leído mis mensajes pero seas capaz de llegar a una conclusión tan absurda.


Sí he leído todos tus mensajes.

Ferdy escribió:El pseudocódigo no es particularmente malo, lo que es malo es EMPEZAR A PROGRAMAR EN UN LENGUAJE INVENTADO POR TI MISMO. No solo es malo, es completamente estúpido.


Pues ahora mismo tengo un libro de Joyanes, 'Programación en Java 2', y antes de empezar con Java, en el tema 1, ya propone ejercicios relacionacionados con el seudocódigo y algoritmos. Esto es al EMPEZAR A PROGRAMAR.

Ferdy escribió:Además no le recomiendo ningún libro de Joyanes, digo que tiene buena pinta.


Llámale como quieras, indicar, sugerir...

Ferdy escribió:Obviamente no lo he leido.


Aaaah claro, es TAN obvio que no te lo has leído. ¿Cómo quieres que lo sepamos?

Ferdy escribió:Incluso si lo hubiera recomendado, no significaría que estuviera 100% de acuerdo en lo que haya dicho, diga o dirá el autor.


Mira, en algo estoy de acuerdo.


A lo que me refería con mi primer mensaje, es que me parecía curioso, o como le quieras llamar, que hagas una cacicada contra "empezar a programar usando seudocódigo" y cites, o como le quieras llamar, a un autor que precisamente propone ejercicios para "empezar a programar usando seudocódigo".

Así se producen situaciones tan absurdas como ésta.
Pues ahora mismo tengo un libro de Joyanes, 'Programación en Java 2', y antes de empezar con Java, en el tema 1, ya propone ejercicios relacionacionados con el seudocódigo y algoritmos. Esto es al EMPEZAR A PROGRAMAR.


Me parece fenómeno que tengas ese libro... no lo conozco... y en ningún caso he hablado de él. He hablado 'del de C' (que ni siquiera es uno, tiene varios).

Llámale como quieras, indicar, sugerir...

Aaaah claro, es TAN obvio que no te lo has leído. ¿Cómo quieres que lo sepamos?


Ahí está el problema... que no es 'llámale como quieras'. Es que 'tiene buena pinta' tiene unas connotaciones muy claras en español frente a una recomendación directa. Si lo hubiera leído habría dicho "es bueno", "me gustó", o algo de ese calibre.

A lo que me refería con mi primer mensaje, es que me parecía curioso, o como le quieras llamar, que hagas una cacicada contra "empezar a programar usando seudocódigo" y cites, o como le quieras llamar, a un autor que precisamente propone ejercicios para "empezar a programar usando seudocódigo"


Realmente no has leído lo que he escrito, o símplemente tienes muchas ganas de trollear/flamear. La idea es que NO TE PUEDES INVENTAR UN PSEUDOCÓDIGO SI NO SABES PROGRAMAR. Que es muy distinto a lo que dices (aunque me siga pareciendo mala idea empezar con algo que no se puede 'probar').

cacicada


¿Una caciqué?

- ferdy
Ferdy hay ya pseucodigos por ahi no hace falta que se invente uno xDD y estan bastante bien. No veo mal que lea la teoria en pseudocodigo y luego unas practiquillas en un lenguaje determinado. El pseudocodigo es mas bien para aprender una serie de estructuras determinadas y pasos previos. Lo vuelvo a repetir en los apuntes de la universidad de Alicante que he subido en el tema de teoria te enseña primero un trozo de codigo de pseucodigo y abajo lo mismo que seria pero en C en este caso. Alternar pseucodigo y un lenguaje no me parece mala idea , pero respeto tu opinion si no te gusta.

A programar se aprende programando pero algo de teoria es necesaria (o bastante como en el caso del paradigma de la prog. orientada a objeos).
Eso ya lo se, lo que pasa es que desde el princpio se le dijo que SE INVENTARA uno.

- ferdy
Ferdy escribió:Eso ya lo se, lo que pasa es que desde el princpio se le dijo que SE INVENTARA uno.

- ferdy


ahh perdona xD entoces si que tienes razon , un pseudocodigo inventado por uno mismo ( a menos que sea inginiero ) es una pesima idea.
eXecuter está baneado por "utilizar un clon para saltarse un baneo"
zambombas escribió:
Ferdy escribió:Eso ya lo se, lo que pasa es que desde el princpio se le dijo que SE INVENTARA uno.

- ferdy


ahh perdona xD entoces si que tienes razon , un pseudocodigo inventado por uno mismo ( a menos que sea inginiero ) es una pesima idea.


Pues, no sé cómo será ahora en la universidad de Alicante, pero en su día, en FPI nosotros nos inventamos le psuedocódigo. ¿Qué más da? ¡Si sólo es para entender lo dos o tres primeros ejercicios!

Unos ponían escribir, otro escribe... ¡oh, qué gran diferencia!
eXecuter escribió:
zambombas escribió:
Ferdy escribió:Eso ya lo se, lo que pasa es que desde el princpio se le dijo que SE INVENTARA uno.

- ferdy


ahh perdona xD entoces si que tienes razon , un pseudocodigo inventado por uno mismo ( a menos que sea inginiero ) es una pesima idea.


Pues, no sé cómo será ahora en la universidad de Alicante, pero en su día, en FPI nosotros nos inventamos le psuedocódigo. ¿Qué más da? ¡Si sólo es para entender lo dos o tres primeros ejercicios!

Unos ponían escribir, otro escribe... ¡oh, qué gran diferencia!


Pues hace dos años que es cuando la aprobe , te lo daban en las trasparencias . Otra cosa es en el examen , si tu ponias un pseucodigo y no era igual no pasaba nada , eso si tenia que ser entendible. Lo que Ferdy quiere decir es que tu sin ir a la uni , modulo o lo que sea coger y ponerte a hacer pseucodigo asi de buenas pues no puede ser tan claro como cuando te explican.
eXecuter está baneado por "utilizar un clon para saltarse un baneo"
zambombas escribió:Pues hace dos años que es cuando la aprobe , te lo daban en las trasparencias . Otra cosa es en el examen , si tu ponias un pseucodigo y no era igual no pasaba nada , eso si tenia que ser entendible. Lo que Ferdy quiere decir es que tu sin ir a la uni , modulo o lo que sea coger y ponerte a hacer pseucodigo asi de buenas pues no puede ser tan claro como cuando te explican.


Vale, puedo aceptar ese matiz, mas yo nunca me refería a inventarse puramente ningún lenguaje. Simplemente es una buena táctica al principio, antes de tirarse como un loco a programar, pensar qué va a hacer el programa. Eso lo hacemos todos, pero quizás cuando no has programado ni un Hola Mundo puede venir bien escribirlo o mirarlo en pseudocódigo, que como pseudo que es no tiene por qué ser tan estricto sintácticamente.
PreFteRioR escribió:Pues eso, ultimamente tengo varios ratos muertos y me gustaria aprovecharlos, me gustaria aprender algun lenguaje de programación para hacer mis cosillas a la larga, por donde deberia empezar?


Después de este rollo... ¿Aun te quedan ganas de aprender a programar? :o
Yo tambien me he decidido a aprender programacion en mis ratos libres.

Ayer empeze con el .pdf del segundo enlace que puso zootropo y estoy aprediendo bastante, pero ya empiezan los problemas.

Me he quedado atascado en el ejercicio 38 (pagina 67), que dice lo siguiente:

El ́area A de un triangulo se puede calcular a partir del valor de dos de sus lados, a y b,
y del angulo θ que estos forman entre si con la formula A = 2 ab sin(θ). Diseña un programa que
pida al usuario el valor de los dos lados (en metros), el ́angulo que estos forman (en grados), y
muestre el valor del ́area.

(Ten en cuenta que la funcion sin de Python trabaja en radianes, asi que el angulo que leas
en grados deberas pasarlo a radianes sabiendo que pi radianes son 180 grados. Prueba que has
hecho bien el programa introduciendo los siguientes datos: a = 1, b = 2, θ = 30; el resultado es
0.5.)


Pues bien, siguiendo el enunciado anterior, yo he hecho lo siguiente:

#!/usr/bin/python

a = float(raw_input("Introduzca un lado en m: ")
b = float(raw_input("Introduzca el otro lado, tambien en m: ")
angulograd = float(raw_input("Introduzca el angulo formado por los dos lados anteriores: ")

from math import pi

angulorad = angulograd * pi / 180

from math import sin

A = 0.5 * a * b * sin(angulorad)

print ("El area del triangulo es") , A , ("m^2")

raw_input()


Creo que esta bien y no deberia dar error, pero al iniciarlo en la terminal me da el siguiente error:

File "./Documentos/Python/ejemplo.py", line 4
b = float(raw_input("Introduzca el otro lado, tambien en m: ")
^
SyntaxError: invalid syntax


He probado a cambiar la letra b por otra (c, d, x, y..) e incluso por lado2, pero me sigue dando el mismo error.

¿Que es lo que pasa?

Muchas gracias.

EDITO: Solucionado. Un error muy tonto, tan solo faltaba un ) al final de las lineas 3 , 4 y 5.
Yo en ESI que he empezado hace 2 semanas, en programación nos enseñan visual basic y hacemos programitas tontos (lo basico, cambiar el color de las ventanas y tal..) y aun no nos han explicado el concepto de compilar ni nada de lo que hablais x aqii..
pues hombre, si además de hacer probatinas sobre el editor, ejecutáis para ver que realmente funcionan, no os lo habrán explicado pero ya habéis compilado xD
eXecuter está baneado por "utilizar un clon para saltarse un baneo"
..::adRi::.. escribió:Yo en ESI que he empezado hace 2 semanas, en programación nos enseñan visual basic y hacemos programitas tontos (lo basico, cambiar el color de las ventanas y tal..) y aun no nos han explicado el concepto de compilar ni nada de lo que hablais x aqii..


No sé que asignatura es ESI ni a qué carrera pertenece pero empezar con Visual Basic me parece un craso error, así como programar sin saber qué narices estás haciendo.
eXecuter escribió:...pero empezar con Visual Basic me parece un craso error...
Totalmente de acuerdo, salvo que sea VB .NET, que ya es mas de verdad.
eXecuter escribió:
..::adRi::.. escribió:Yo en ESI que he empezado hace 2 semanas, en programación nos enseñan visual basic y hacemos programitas tontos (lo basico, cambiar el color de las ventanas y tal..) y aun no nos han explicado el concepto de compilar ni nada de lo que hablais x aqii..


No sé que asignatura es ESI ni a qué carrera pertenece pero empezar con Visual Basic me parece un craso error, así como programar sin saber qué narices estás haciendo.


Creo que mas bien se refiere a ASI (Administracion de sistemas informaticos) un modulo de FP. Y es raro porque a mi en ese modulo primero me enseñaron C en el primero curso y luego en el 2º ya enseñaron Visual

Saludos
Dijkstra sobre Basic:

Es prácticamente imposible enseñar a programar correctamente a estudiantes que han estado expuestos a Basic con anterioridad; como programadores potenciales han sido mentalmente mutilados más allá de cualquier esperanza de regeneración.


Y que conste que yo empecé con Basic, hace muchos, muchos años...
Hola, en primer lugar felices fiestas a tod@s.
Me parece muy interesante este hilo y muy bueno el aporte de Zambombas con sus apuntes de la Uni. Lastima que el segundo link ya no està accesible en el Mega.
Te pediria un favor Zambombas, si pudieras volver a colgar el segundo archivo de tus apuntes , te lo agradeceria mucho. Gracias.
Un saludo a todos.
Hola,

lo vuelvo a subir yo mismo, que lo tenía por ahí en mi disco duro:

http://www.megaupload.com/?d=PK2TOHIF

Un saludo!
Gracias por la subida.

Un saludo
zootropo escribió:Dijkstra sobre Basic:

Es prácticamente imposible enseñar a programar correctamente a estudiantes que han estado expuestos a Basic con anterioridad; como programadores potenciales han sido mentalmente mutilados más allá de cualquier esperanza de regeneración.


Y que conste que yo empecé con Basic, hace muchos, muchos años...


Desgraciadamente es cierto y en propia carne lo he sufrido. Yo empeze en los años 80 aprendiendo BASIC en un interprete de un ordenador de la epoca del spectrum (Dragon 32: sistema operativo + basic en ROM de 16 Kbytes y 32 Kbytes de RAM). Hice muchos programas y le dedique mucho esfuerzo y dedicacion, luego cuando a principios de los 90 intente aprender C, me fue casi imposible: nada encajaba en mi mente de programador de BASIC, que en las operaciones con variables pudieran desbordarse sin aviso de error, la estructuracion que me producia un sacrificio mental y renunciar al GOTO y al codigo espageti mucho peor que abandonar una adiccion.

Por eso cuando oigo los consejos de alguno de empezar con BASIC quedo horrorizado: En cualquier caso BASIC NUNCA, es un autentico cancer.

Respecto a la discusion sobre el pseudocodigo, yo creo que es fundamental para entender los algoritmos. El pseudocodigo es el algoritmo con una estructura de pre-programa pero independiente de las caracteristicas del lenguaje, es decir de detalles que en ese momento solo distraerian la atencion de lo esencial: como resuelvo el problema.
Aunque por supuesto con el solo tienes la idea un poco mas elaborada de lo que debes hacer pero te falta plasmarla en un codigo concreto que funcione: el programa
89 respuestas
1, 2