Programming curiosities

--Originally published at Ernesto's Computing Works

Este es un post relacionado con la programación, que hablara sobre “facts” curiosas de la programación.

1.-Existe alrededor de 1150 lenguajes de programación diferentes.

2,- El lenguaje mas difícil que existe es el de Malbolge un ejemplo de Hello World en su version es asi: 1: (=<`:9876Z4321UT.-Q+*)M‘&%$H”!~}|Bzy?=|{z]KwZY44Eq0/{mlk**

2: hKs_dG5[m_BA{?-Y;;Vb’rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

3.- El primer lenguaje de programación no fue en una computadora. Los primeros lenguajes de dominio especifico fueron los telares o los pianos del siglo 19

4.- Existe un lenguaje de programación basado en las obras de Shakespeare. Usa palabras reservadas como Juliet, Romeo y Ophelia

5.-El 70% de los programadores de hoy en día afirma a ver tenido mas problemas al realizar algoritmos y diagramas de flujo que al realizar códigos.

6.-  Los lenguajes c++, c# y javascript son los mas fáciles y son muy parecidos, aparte javascript es una actualización de C#

7.- En México en los años 2000-2012 durante el Gobernado de el Partido Acción Nacional, retiro la especialidad de programación sustituyéndola por informática, decayendo así el aprendiz de programación.

 


WSQ 13

--Originally published at Ernesto&#039;s Computing Works

Scilab es un software matemático, con un lenguaje de programación de alto nivel, para uso en cálculo científico, interactivo de libre uso y disponible en múltiples sistemas operativos. Se pueden simular cosas matemáticas y realizar muchos cálculos.

Para este WSQ tenia que descargar una aplicación llamada scilab gratis en este link: http://www.scilab.org/download/latest y luego probarlos y entenderle y saberlo usar, para esto busque tutoriales en internet y ademas abri y le di una murada a un pdf: http://www.scilab.org/content/download/849/7901/file/Scilab_beginners.pdf

Mastery topic 23:

Al inicio no sabia ni para que era esto pero vi los tutoriales y los seguí al pie de la letra, entonces me di cuenta que es simplemente un software mas para programar pero es muy diferente al que comúnmente estaba usando atom con c++. Aprendí lo básico como, declarar variables, usar funciones matemáticas, crear archivos, crear funciones, vectores matrices, es muy diferente a atom, porque aquí ya viene casi todo predeterminado y no es como que ocupes descargar librerías y demás para poder usarlas. De hecho intente usar comandos de c++ pero no me los captaba por ejemplo en c++ se usa cout o printf y aqui solo se podia usar printf.

Aquí les dejo un par de imágenes del o que hice,

Screenshot 2017-11-27 18.08.54Screenshot 2017-11-27 17.59.48Screenshot 2017-11-27 17.58.23Screenshot 2017-11-27 17.50.23

EL link de tutoriales fue: https://www.youtube.com/watch?v=KfcCOzVZRL4 y lo siguiente videos.

Estos son unos de los muchas funciones que tiene:

Analysis
• sqrt(x) returns the square root of x with x real positive or zero, and the complex
root of real positive part otherwise.
• log(x) returns the natural logarithm of x with x real or complex number.
• exp(x) returns the exponential of x with x real or complex number.
• abs(x) returns the absolute value of x real (or the module if x is complex).
• int(x)

Resultado de imagen para linux
Continue reading "WSQ 13"

Course Review with ken

--Originally published at Ernesto&#039;s Computing Works

“Este es una publicación dedicada a mi experiencia que tuve en ken courses”

Este fue un curso fuera de lo común, nunca había llevado este sistema antes, al inicio me saque de onda, porque el dijo, no habrá exámenes, ustedes se calificaran y harás lo que estés dispuesto a trabajar, no hay obligación, entonces me preocupe porque no sabia como me calificaría, y pues las primeras clases no entendia que es lo que haríamos el resto de semestres. Entonces dijo que habría una rubrica la cual nosotros calificaríamos, había trabajos que estaban ahí para programar, y no sabia absolutamente nada de programación por lo que se me dificulto al inicio iniciar.

Pero empece a entender el sistema de enseñanza de Ken y el decía siempre que puede buscarlo cuando quieras haciendo cita o en clase, para preguntarle dudas y cosas que no entendieras, siempre estaba a tu disposición, y la verdad me gusto mucho el curso porque fui aprendiendo poco a poco por mi cuenta y con la ayuda de el profesor, Internet y otro compañeros, el primer parcial se me hizo fácil pero después llego el segundo, y me di cuenta que los programas estaba a un nivel mas alto, ahí fue cuando leí partes del libro como tal.

Por ultimo realizamos un proyecto final en parejas, yo y Jaime hicimos un juego cada uno, el proyecto final esta en otra publicación, Ken dijo que lo hiciéramos de lo que quisiéramos con tal que aprendiéramos. Esa era la filosofía de la clase, las calificacion y entrega de trabajos no son lo que realmente importa, si no que aprendas y vayas a tu ritmo.

Realice 2 videos sobre esto que subí a youtube porque no los podía poner directo al blog, por lo que les dejare el link acá abajo,

Continue reading "Course Review with ken"

Lenguaje de Programación de videojuegos

--Originally published at Ernesto&#039;s Computing Works

Existen varias plataformas de videojuegos para jugarlos, como celular, consolas exclusivas y computadoras. Entre todas ellas hay muchos tipos de lenguajes por ejemplo, unity3D, GameMaker, Unreal Engine, C#, Javascript, UnrealScript, GameML, C++, Source de Valve.

Resultado de imagen para java script      Resultado de imagen para gamemaker

Resultado de imagen para unity 3d

La inmensa cantidad de lenguajes de programación orientados a videojuegos están basados en C, por lo que se va a parecer la sintaxis a la de Java, a la de JavaScript, a la de C, a la de C++ o a la de C#.

Usando Unity se puede programar en c# o en java scrpti pero C# tiene más rendimiento porque C# tiene un just in time compiler mucho más avanzado que el de JavaScript.

Si ustedes no saben programar les será difícil hacer videojuegos, pero una vez que se aprende el lenguaje básico se vuelve sencillo, y código de GameMaker es más fácil, GameMaker es que tiene su propio lenguaje, está derivado de C, y se puede hacer en un solo archivo un juego que corra en Android, en iPhone, en Windows, en Mac, en Linux, en consolas en Xbox, en Playstation 3, en Playstation 4, en PS Vita


C, C++, Dev-C++

--Originally published at Ernesto&#039;s Computing Works

C es un lenguaje libre pequeñísimo comparado con otros lenguajes creado por ISO que solo se usa en el programación con cierta estructura básica. Normalmente se usa este lenguaje para programar microchips, sistemas operativos, drivers y programar cosas en la web.

Luego aquí es donde llega c++ que termina siendo un C pero mejorado, también lo estandarizo ISO, pero es muchísimo mas grande,  usa muchos tipos de programacion, POO, generica, programacion fisica. Su rango de utilidad es muy extenso, va desde programar sistemas operativos hasta videojuegos de ultima generación en la actualidad.

Hay muchos diferencias entre ellos por ejemplo, cuando se crea una función y no se toman parámetros, en C se vuelve la palabra void y en c++ void es opcional, otra también es que cuando se crea una función y se tiene que devolver un valor se debe poner return y un valor, y en C no es necesario.

por ultimo cuando se declaran variables en C deben ser declaradas solo al inicio del programa y en c++ se pueden declarar en cualquier punto.

Resultado de imagen para c++

Dev-C++ es un compilador, y un editor de múltiples ventanas integrado con un compilador que nos permitirá una compilación, un enlace y una ejecución de aplicaciones rápida y de fácil uso.


WSQ12 – Estimating e

--Originally published at Ernesto&#039;s Computing Works

Este es el programa numero 12 de los WSQ.

Para esta asignación yo debía estimar la constante “e” de matemáticas que se usa para las funciones exponenciales, es la constante e Euler y se saca matemáticamente con una formula basa en la suma de un entero mas una fracción elevado por un exponente proporcional a la fracción. Ademas dentro de programa tuve que crear una función llamada calculate_e que iba a recibir un solo parámetro llamado precisión, esta función debía especificar el numero de decimales que usaría para la exactitud del resultado.

Para lograr esto investigue sobre este valor y su significado y para entenderlo a cien por ciento vi este vídeo que me sirvió de mucho: https://www.youtube.com/watch?v=G6Yn2_uYbuI

Para lograr hacerlo use las series infinitas de matemáticas que se parecen a lo que explique anteriormente, lo malo es que no logre especificar los decimales ya que solo alcanzaba 5 decimales mi valor final. Lo único que hice para el programa fue hacer dos funciones, una de factorial y la otra que me piden y después con un main ejecutarlas. Me ayude un poco con este blog: https://marielvvblog.wordpress.com/2017/11/14/wsq12/

y esta pag: http://c.conclase.net/curso/?cap=015

También me puse a leer el libro para entender mas a fondo como hacerlo y resolver dudas de teoría: http://www.greenteapress.com/thinkcpp/thinkCScpp.pdf

Este es mi código

Screenshot 2017-11-18 12.58.00

 

Pero lo cierto que entre mas grande era el numero de precisión que me daban mas cerca estaba el valor de e al real, también no supe porque pero mi programa dejaba de funcionar cuando le daban precisión de 34 y nomas desplegaba con 33, supongo que es porque a esa precision alcanzaba su valor exacto.

También pueden descargar mi código en mi cuenta github:

https://github.com/ErnestoMC/code-in-c-/projects


Juego final El GATO

--Originally published at Ernesto&#039;s Computing Works

Este es mi proyecto final, en la pasada publicación había descrito un juego diferente llamado pong, pero nos fue muy difícil a mi compañero Jaime y a mi tratar de realizarlo por que no encontramos como sustituir unas funciones de un librería en especial que solo se usa para dev, y descargamos otras pero no funcionaba el programa, y se ocupaba en especial esa librería porque para el programa tenias que lograr mover iconos, así que optamos por cambiar el juego a dos juegos diferente que fueran un poco menos batalloso. Yo hice el famoso juego de El Gato y el hizo el del ahorcado.

Aquí esta una demostración del juego:Screenshot 2017-11-23 01.17.51

El código completo lo puedes ver en mi github aquí dejo mi link:

-https://gist.github.com/ErnestoMC/92e3e543f4ab5bab175f8900080df6b1

Se me dificulto hacerlo aunque me haya guiado de una pagina web aquí dejo el link:

http://www.forosdelweb.com/f96/construyendo-3-raya-c-965208/

porque el código tenia un par de errores, pero lo analice cuidadosamente cada paso del código, y al final me quedo como lo pueden ver en la imagen de arriba. Pienso seguir cambiandole cosas y mejorarlo después.

 


Proyecto

--Originally published at Ernesto&#039;s Computing Works

Resultado de imagen para pong

Mi proyecto para este curso de programación sera con mi compañero Jaime Aguilar, lo que haremos sera programar el famoso juego de atari de los 70’s pong, el juego prácticamente es una simulación de un ping pong, es un juegos super sencillo y divertido. Pero tal ves nuestro proyecto por falta de tiempo sea de un solo jugador.

La agenda para realizar nuestro proyecto son las siguientes:

Fecha Acción
20 de octubre Decidir que será el proyecto e investigar sobre él.
3 de noviembre Ver un bosquejo y analizarlo
7  de noviembre Empezar el programa real
14 de noviembre Pedir ayuda si existen dudas y seguir avanzando con el programa.
16 de noviembre Ir dando los ultimo toques finales
21 de noviembre Entregar el programa final

 


Creativo

--Originally published at Ernesto&#039;s Computing Works

Este es un pequeño apartado en mi blog en el que me gustaría mostrarles los trabajos que he hecho en mi clase de arte.

Son cuatro imágenes de diferentes corriente hechas con gises, pasteles.

WhatsApp Image 2017-09-18 at 08.36.22Esta es una pintura de la corriente romanticismo, y se ve así porque la técnica es difuminarlo mucho.

WhatsApp Image 2017-10-17 at 00.02.31Este otra es de la corriente impresionismo y sus derivados, el puro, neo y post.

WhatsApp Image 2017-10-24 at 09.52.13Esta es expresionismo y en realidad es la entrada de visitantes del tec, aunque no lo parezca.

WhatsApp Image 2017-11-03 at 12.04.11 Esta es de la corriente cubismo el cual combina todos los ángulos de un solo objeto en una sola imagen.


WSQ11-Go Bananas

--Originally published at Ernesto&#039;s Computing Works

Este es el trabajo wsq numero 11 llamado go bananas, ya veran porque. Para ese programa debia crear una funcoion llamada find_bananas la cual recibiera un solo parametro llamado filename y fuera una variable con valor string, yregresara como valor final un numero positivo que representara el numero de veces que la palabra “banana” es encontrada en el archivo de texto. Esta palabra puede funcionar con cualquier caso en como esta palabra estuviera escrita ademas que no hubiera ningún problema con que estuvieran pegadas las palabras bananas. Para este programa tuve que hacer un archivo extra de puro texto para probar mi programa, y esto decia mi archivo de texto:

bananas bananadas bananas banasbanabdana bananas bannasasd bananas bananas bananababananas banabananas bananas
banannas nbasban bananas bananas bannasb nnasbbannbaanabs bananas estan bien ricas las bananas bananas por todas partes

En este trabajo también me base en el programa de dos alumnos

este es uno de ellos: https://mariasprogramingblog.wordpress.com/2017/05/02/bananas-bananas-bananas/

En si se me hizo muy complicado este programa y no me salia bien ademas que me costaba trabajo entenderlo. Lo que hice fue crear dos funciones, una para que leyera las lineas una por una buscando la palabra banana, y otra para leer el archivo de texto y por ultimo un main para que solamente desplegara el resultado de las funciones.

Este es mi programa y el resultado después de correrlo:

Screenshot 2017-10-27 17.32.08

Screenshot 2017-10-27 17.32.18

 

También en este programa abarco un mastery topic numero #11 el cual dice que se usar la función else en un conditional, que representa lo que hará el programa den caso de que no se cumpla la condición que pusiste.