#CourseReview

--Originally published at Oscar Ramírez Blog

El curso de Solución de Problemas con Programación es, sin lugar a dudas, el curso más fuera de lo común que he tenido este semestre. Algunos de los aspectos que más destaco de este curso y que más disfrute (de los cuales voy a dar mi opinión en esta publicación) los explico en el siguiente vídeo:

 

El aspecto que más me gustó del curso es el hecho de que se da verdadera importancia al trabajo de los estudiantes y no solamente a un examen. Yo venía de una preparatoria en la que lo importante eran las actividades, tareas y proyectos, no los exámenes (los cuales valían 10% de la calificación) y al llegar a la Universidad me encontré con materias en las que el examen valía el 60% o el 85% de la calificación. Personalmente estoy en contra de que un examen valga tanto en la calificación, pues considero que el examen no indica nuestro nivel de conocimiento, podrá reflejar que también dormimos la noche anterior, si tenemos problemas en casa o si no nos pudimos concentrar al momento de contestar esas hojas; pero no nos dice que tanto conocemos la materia. Por lo que encontrar una clase en la que el examen funcionaba solamente como herramienta de reflexión personal y autoevaluación, me resultó muy interesante y lo disfrute mucho.

Durante el curso se fomentó el trabajo colaborativo, y no hablo solamente del proyecto final, sino que a lo largo de todas las actividades contábamos con el apoyo de nuestros compañeros a través de la página en Facebook y los blogs. Este fue otro aspecto que me gustó mucho, pues creo que el apoyo de nuestros compañeros nos ayuda a mejorar y aprender.

Pero no contábamos solamente con el apoyo de nuestros compañeros, sino que Ken también estaba en

Continue reading "#CourseReview"

#WSQ13 – SciLab

--Originally published at Oscar Ramírez Blog

La #WSQ13 fue diferente al resto de actividades en este curso, pues fue una actividad que no nos pedía encontrar la manera de crear un código para realizar cierta labor, sino que era una actividad que tenía el objetivo de que conociéramos una nueva herramienta: Scilab. Al momento de realizar esta actividad trabajé con algunas compañeras del curso (Brenda Ruiz, Sofía González y Ana Paula González), porque sus computadoras no les permitían descargar esta herramienta.

En este blog podría hacer un resumen en el que explique cómo familiarizarnos con Scilab, pero para eso ya existe una Guía para Principiantes; por lo mejor hablaré sobre nuestros pensamientos acerca de esta herramienta.

Scilab es un software matemático, en el que a través de la programación somos capaces de realizar cálculos matemáticos y científicos. Dentro de las herramientas que Scilab nos presenta y que pueden ser de gran utilidad para nuestros próximos semestres (mis compañeras y yo estudiamos Ingeniería Mecatrónica), se encuentran la solución de ecuaciones diferenciales, el manejo de vectores, gráficas en 2D y 3D, análisis estadístico y numérico, optimizaciones, y trabajo con sistemas dinámicos.

Además de lo anterior, un aspecto de Scilab que nos llamó mucho la atención (pero que no hemos utilizado) es la comunidad de usuarios de Scilab vía email, a través de la cual los usuarios pueden interactuar y compartir sus dudas, respuestas, hallazgos, documentos, etc.

En conclusión, nos gustaría decir que Scilab es una herramienta que podría resultar de mucha utilidad a lo largo de nuestros estudios, por lo que es bueno que comencemos a familiarizarnos con ella.


#ProyectoFinal: Adivina Quién – Versión Game of Thrones

--Originally published at Oscar Ramírez Blog

¡Hemos acabado nuestro proyecto! Y están todos invitados a jugar nuestro Guess Who? Game of Thrones.

Para hablar un poco sobre el código realizado queremos explicar que nuestro proyecto se centra en el uso de condicionales If, a través de los cuales vamos descartando personajes y seleccionando al personaje que cumple con todas las especificaciones hechas por el usuario. Para comprender como funcionan estos If, les compartimos nuestro borrador y esquema de trabajo:

esquema

Debido a que el mundo de Game of Thrones es muy grande y la cantidad de personajes es abrumadora, centramos nuestro juego en un número limitado de personajes, los cuales son definidos al principio de cada juego; pero nos gustaría compartir con ustedes una imagen en la que mostramos quienes son los personajes que nuestro programa puede adivinar:

Characters

Queremos compartir con ustedes nuestros carteles promocionales, esperamos les gusten:

Poster GoT

Poster 2

Esperando que los carteles los motivaran a jugar Guess Who? Game of Thrones, les compartimos nuestro código en GitHub, para que lo copien y lo puedan jugar en sus computadoras: https://github.com/brendaruizt/TC1017/blob/master/GoT.cpp

Por último, compartimos un par de capturas del código en funcionamiento:

the hound

oberyn

Deseamos que disfruten el juego, y siéntase libres de complementarlo con nuevos personajes, mientras más personajes estén incluidos, será mejor.

Brenda Ruiz y Oscar Ramírez


#WSQ08 – Yo Soy 196

--Originally published at Oscar Ramírez Blog

Esta WSQ a pesar de ser la 08, la he realizado después del resto de WSQ porque era la más confusa de todas y la más larga. Pero el momento de realizarla ha llegado.

Antes que nada, quiero agradecer a mi compañera Sofía González por sus explicaciones y ayuda al momento de realizar esta actividad. Les comparto la liga a su blog por si tienen alguna duda: https://ordinaryextraordinary2017.wordpress.com/

Al hablar del programa, debo comentar que la actividad nos solicitaba crear algunas funciones, capaces de identificar la cantidad de palindromes,  nonlychrel y lychrel dentro de un rango de números especificados por el usuario.

Para comprender que son estas variables les comparto las siguientes ligas con información:

Por último, les comparto una liga a mi código en GitHub: https://en.wikipedia.org/wiki/Palindromic_number

 

 


#WSQ12 – Estimating e

--Originally published at Oscar Ramírez Blog

La #WSQ12 consistía en crear un programa a través del cual el usuario pudiera estimar el valor del número Euler según el número de decimales que él decidiera utilizar.

Antes de explicar mi código, me gustaría que conocieran un poco sobre lo que es este número y como obtenerlo, es por ello que les comparto la liga al siguiente video: https://www.youtube.com/watch?v=Z5czpA-fyMU

Una vez que comprendemos que es el número Euler y cómo obtenerlo, explicaré un poco de los nuevos elementos de mi código, entre los que se encuentran:

  • Encabezado <iomanip>: es un encabezado que nos permite utilizar manipuladores paramétricos, entre los que se encuentra “setprecision”.
  • Manipulador paramétrico “setprecision”: nos permite especificar la precisión decimal que deseamos. Y fue utilizada en el código para que el usuario pudiera especificar la cantidad de decimales de precisión con los que quería obtener Euler.

Les comparto mi código completo, para que puedan analizarlo y conocerlo: https://github.com/OscarRamirez53/Programacion1/blob/master/WSQ12

Por último, me gustaría compartir con ustedes una captura de pantalla de mi código en funcionamiento y como los valores de E varían según el número de decimales que introduzca el usuario (mayor precisión al introducir un mayor número de decimales):

WSQ12

WSQ12-1

Recursos:

CPlusPlus. (2017). Header <iomanip>. Consultado en: http://www.cplusplus.com/reference/iomanip/

Sáenz, E. [Derivando]. (2015, noviembre 18). ¿Qué es el número e? [Archivo de video]. Recuperado de https://www.youtube.com/watch?v=Z5czpA-fyMU


#WSQ11 – Go Bananas

--Originally published at Oscar Ramírez Blog

La WSQ11 consistía en desarrollar un programa capaz de leer un documento de texto, e imprimir en la pantalla el número de ocasiones en los que aparecía la palabra Banana o cualquier variación de la misma, ya sea: banana, BANANA, bananabanana, etc.

Durante el desarrollo de la actividad, utilice algunas partes de código que fueron nuevas para mí, a continuación presento algunas de ellas y breves explicaciones sobre su función:

Una vez explicado lo anterior, me gustaría compartir con ustedes mi código, el cual ya he podido compartir a través de Github, es por ello que a continuación les comparto la liga: https://github.com/OscarRamirez53/Programacion1/blob/master/WSQ11

Por último me gustaría que puedan observar el programa en funcionamiento, por lo que les comparto una captura de la manera en que trabaja:

wsq11 Referencias:

CPlusPlus. (2017). <cctype> (ctype.h). Consultado en: http://www.cplusplus.com/reference/cctype/

CPlusPlus. (2017). Tolower. Consultado en: http://www.cplusplus.com/reference/cctype/tolower/


#Proyecto: Adivina Quién – Versión Game of Thrones

--Originally published at Oscar Ramírez Blog

La idea para nuestro proyecto consiste en realizar una versión del juego Adivina Quién, pero en una versión de texto solamente. Y para poder delimitar a los personajes del juego hemos decidido utilizar a los personajes de la serie de televisión Game of Thrones.

Para el desarrollo del juego tenemos planeado crear una base de datos que incluya una serie de características principales para cada personaje. Y lo que hará el programa es hacer preguntas al usuario, con respuestas cortas de sí o no, para ir descartando a algunos personajes y seleccionar a los personajes con mayores posibilidades de ser los pensados por el usuario. De esta manera el programa tratará de adivinar en que personaje está pensando el jugador.

Para el desarrollo de nuestro proyecto hemos creado el siguiente calendario tentativo de actividades:

Semana Actividad
23 de octubre a 27 de octubre Definir la idea para nuestro proyecto y publicarla en el blog
30 de octubre a 3 de noviembre Realizar las investigaciones necesarias para llevar a cabo nuestro proyecto
6 de noviembre a 10 de noviembre Realizar el primer avance del proyecto
13 de noviembre a 17 de noviembre Realizar el segundo avance del proyecto
20 de noviembre a 24 de noviembre Realizar las últimas correcciones y retoques al proyecto

Referencias:

HBO. (2013).  Game of Thrones. Temporada 3. [Figura]. Recuperado de: https://www.hercampus.com/entertainment/definitive-ranking-most-annoying-game-thrones-characters


#WSQ10 – Babylonian Method

--Originally published at Oscar Ramírez Blog

La WSQ10 nos pedía crear un programa capaz de calcular la raíz cuadrada de cualquier número, a través de una fórmula y un número cualquiera, utilizando el método babilónico.

Para la realización de mi trabajo me resultó de mucha ayuda un documento en línea en el que se explicaba la manera de trabajar de la función y del loop, es por ello que me gustaría compartir con ustedes dicho documento: https://issuu.com/laarana780104/docs/metodo_babilonico_para_sacar_la_ra_z_cuadrada

Una vez comprendido el loop y la manera de trabajar de la función, fue momento de comenzar a programar, uno de los aspectos nuevos en mi código fue el uso de “abs”, el cual nos indica valor absoluto.

Algunos de los Mastery Topics puestos en práctica fueron #ImportingAndUsingLibraries, #UseOfElseWithAConditionalIf, entre otros.

A continuación comparto una captura de mi código:

wsq10

Por ultimo me gustaría compartir con ustedes una captura de pantalla de mi programa en funcionamiento:

wsq10-2

wsq10-3

Recursos:

Cortes, R. (2011). Método babilónico para sacar la raíz cuadrada. ISSUU. Consultado en: https://issuu.com/laarana780104/docs/metodo_babilonico_para_sacar_la_ra_z_cuadrada


#WSQ09 – Multipart Data and Files

--Originally published at Oscar Ramírez Blog

La actividad WSQ09 consistía en desarrollar un programa capaz de recibir el nombre de un archivo “.txt” y a través de una función creada por nosotros calcular el número de líneas y de letras contenidas en ese archivo de texto.

Para la primer parte de la actividad debíamos utilizar el tema #ReadingAndWritingOfTextFiles, para que el programa pudiera identificar que archivo a leer. Para eso he utilizado un fstream, el cual nos permite añadir archivos a nuestro programa. Es importante considerar que debemos definir el fstream desde el inició de nuestro programa. Para conocer un poco más sobre este Mastery Topic recomiendo consultar el Capítulo 15  del libro How to think like a computer scientist.

La otra parte de la actividad consistía en desarrollar una función que nos dijera el número total de renglones (líneas)  y letras contenidas en dicho archivo de texto. Para ello desarrolle dos funciones diferentes utilizando #Strings,  de la primer función obtenía el número de renglones y de la otra, el número de líneas.

A continuación comparto una captura de pantalla de mi código:

WSQ09

Por último comparto una captura de mi programa en funcionamiento, en el cual se pregunta al usuario el nombre de un archivo y en respuesta se imprimen el número de líneas y letras:

WSQ09-2

Referencias:

Downey, A. (2012). How to think like a computer scientist. Capítulo 15. Consultado en: http://www.greenteapress.com/thinkcpp/

 

 


Descargando código desde Cloud9

--Originally published at Oscar Ramírez Blog

A lo largo del curso he realizado mis actividades en Cloud9 (si quieres saber un poco más sobre Cloud9 visita “Introducción a Cloud9”, que se encuentra en la siguiente liga: https://wordpress.com/read/feeds/69793166/posts/1593238126 ), pero en ocasiones es necesario cambiar nuestro código de la plataforma en línea a un bloc de notas o editores en nuestra computadora. En estos casos no es recomendable copiar y pegar el código directamente, sino que debemos descargar ese código, el problema es que no todos saben cómo hacerlo. Es por ello que en esta ocasión hablaré sobre como descargar este código.

Una vez que tenemos nuestro programa acabado, vamos al menú File/Download Project:

Extra1

A continuación se descargara en nuestra computadora un archivo .zip:

Extra2

Lo siguiente que debemos hacer es localizar este archivo en nuestra carpeta de descargas y descomprimirlo:

Extra3

Al finalizar, contaremos con una nueva carpeta llamada “workspace”, en la que se encontrarán todos nuestros códigos:

Extra4