Course Review TC101

Este es el trabajo final de esta materia llamada Solución de problemas con programación con el profesor Ken Bauer.

A pesar de haber batallado bastando al principio del curso por dificultades al programar y al organizar bien mi tiempo, terminé disfrutando este curso, por el ambiente que se vivía durante el salón de clases y por la nueva experiencia que me llevo con el modelo de aprendizaje TEC21 o Flipped Learning.

Llevo conmigo muchas cosas aprendidas en este curso acerca de programar en C++, le di continuidad por primera vez a un blog creado por mi durante todo un semestre que espero y pueda ser de utilidad en un futuro para alumnos que cursen esta materia.

Agradezco al profesor Ken Bauer y a mis compañeros por todo el apoyo que me brindaron al momento de cursar esta materia.

Anuncios

WSQ14 – Scilab

scilab_official

Scilab es un software para análisis numérico, con un lenguaje de programación de alto nivel para cálculo científico. Es desarrollado por Scilab Enterprises, bajo la licencia CeCILL, compatible con la GNU General Public License.

Las características de Scilab incluyen análisis numérico, visualización 2-D y 3-D, optimización, análisis estadístico, diseño y análisis de sistemas dinámicos, procesamiento de señales, e interfaces con Fortran, Java, C y C++. Mientras que la herramienta Xcos permite una interfaz gráfica para el diseño de modelos.

Wikipedia

Para este último WSQ, se instaló este programa llamado Scilab con el propósito de conocer las utilidades que podemos encontrar en Scilab y probarlo un poco.

3

Para no estar tan desubicados con este programa, se nos proporcionó 2 manuales tutoriales, uno en inglés y otro en español.

Aquí les dejo un vídeo, el cual es una introducción a Scilab:

Lo primero que hice con el programa abierto por primera vez, fueron unas operaciones muy sencillas, declaramos una variable “x” y una variable “y”, las cuales las multiplicamos entre si, y por ultimo, el resultado fue multiplicado por otro número.

4.png

Espero que este programa me pueda ser de utilidad en un futuro cercano en mis estudios, ya que es una herramienta muy completa a la cual se le puede sacar mucho provecho.

Link de descargar OFICIAL Scilab: Descargar Scilab

WSQ12 – Word Count

average-word-count

Create a program that asks the user for a word which will be your search word and the name of a file to open and search for that word. Then create a function that will receive two parameters (both string) representing those two data points. This function returns the number of occurrences of that word in that file.

Instrucciones WSQ12 – Word Count

Este programa fue muy complicado de realizar, nuestro profesor Ken, nos otorgó un link el cual nos podría ayudar y así fue, no fue de mucha ayuda para mi, pero si aclaró unas cuantas dudas que yo tenía, pero como no pude entenderlo de todo, exploré por blogs de mis compañeros del curso y con ayuda personal de otros compañeros, pude realizar este programa.

Link otorgado por Ken

WSQ12 - WordCount

Link GitHub: WSQ12 – Word Count

Quiz #7

PRODUCTO ESCALAR

vsca1b

“El producto escalar y el producto vectorial son las dos formas de multiplicar vectores que vemos en la mayoría de las aplicaciones de Física y Astronomía. El producto escalar de dos vectores se puede construir, tomando la componente de un vector en la dirección del otro vector y multiplicandola por la magnitud del otro vector”

http://hyperphysics.phy-astr.gsu.edu/hbasees/vsca.html

 

Este programa trata de poder calcular escalares, el producto punto o producto escalar consiste en la multiplicación de vectores para dar resultado un escalar, precisamente esto es lo que realizamos en este programa.

Hay 2 listas de números, la primera lista se trata de las componentes en “x” de los vectores, y la segunda lista se trata de las componentes en “y” de los vectores.

La función de este programa dentro del código se llama dot_product. El tamaño de los vectores tienen que ser del mismo tamaño.

Quiz 7

Link GitHub: Quiz #7

WSQ13 – Exam 2nd Partial

istock_000014033663medium

El propósito de este post, es publicar los enlaces de los códigos realizados en el examen del segundo parcial de esta materia.

Programa 1

Write a function called triangles which receives a single parameter (int) which represents the size of a triangle as explained below. The function should print a triangle using loops (for or while). The only characters printed here are ‘T’ and the new-line character. The first line is length one, the middle line is length size and the last line is length one. The example below is for size 6.

Link GitHub: Exam 2 – Prog 1

Programa 2

Write a function called superpower that has two parameters of type long and returns a long which is first parameter raised to the power of the second, which is to say it returns a b So, superpower(3,4) would return 81. long superpower(long a, long b){

}

Link GitHub: Exam 2 – Prog 2

Programa 3

NOTE: for full 5 points, use a loop (not recursion). Write a function called fibonacci which receives a long “n” and returns a long which is the value of the nth number in the fibonacci series which is: 0,1,1,2,3,5,8,13,21,34,55,89………… So, fibonacci(0) would return 0. fibonacci(5) would return 5, fibonacci(8) would return 21. Note that the first two fibonacci numbers are 0 and 1. All others are the sum of the previous two fibonacci numbers.

Link GitHub: Exam 2 – Prog 3

Programa 4

Write a function called isPalindrome which receives a string “x” and returns true if the string x is a palindrome, otherwise false.

Link GitHub: Exam 2 – Prog 4

Proyecto Final – Agencia de Viajes

Este es nuestro proyecto final del curso de Solución de problemas con programación TC1017, proyecto realizado por Carolina López López y Daniel Alberto Amaro Álvarez.

Nuestro proyecto consiste en una agencia de viajes, la cual pregunta al usuario a que destino quiere viajar, le muestra las opciones de hoteles a los cuales puede reservar, los paquetes de comida disponibles en el hotel seleccionado y por último, se muestra al usuario los subtotales y totales de sus reservaciones.

A continuación se muestran 2 videos en los cuales se explica paso por paso el código realizado en el programa ATOM, y su respectiva compilación en el programa Cygwin:

Explicación del código:

Programa compilado:

Tuvimos bastantes problemas mientras realizábamos nuestro programa, este programa no fue nuestra primera opción como proyecto, nuestra  primera opción fue realizar un juego muy famoso llamado “El Ahorcado”. Este programa no fue presentado por el hecho que implicaba muchos códigos no vistos en clase, se trataba de un programa totalmente visual. Sin embargo aprendimos funciones que no habíamos visto, como es la función getch(), sin embargo, algunas funciones venían dentro de librerías que ya son muy ambiguas puesto que no todos los sitemas operativo s lo arrancan.

Mientras intentábamos terminar este juego, surgió la idea de la agencia de viajes, que lo estuvimos realizando al mismo tiempo que el juego para alcanzar a terminarlo en dado caso de no poder presentado “El Ahorcado”.

Para la agencia de viajes si pudimos mostrar lo aprendido en este curso de programación en su totalidad, ya que se abarcó lo visto en este semestre. Este programa también nos enseñó bastantes cosas que fueron utilizadas en el código, como por ejemplo, utilizar colores para las letras.

Se reforzó lo aprendido en clase y se complementó con nuevas cosas que fueron investigadas para realizar este proyecto final.

Link GitHub: Proyecto Final

Quiz #6

Algoritmo de Euclides

 

07275f00-158e-4bbf-9b8e-8757c4d92592

El algoritmo de euclides es un método para calcular el máximo común divisor (MCD).

Con este link (Algoritmo de Euclides) pude comprender en que consiste este algoritmo, complementado con este video

Ejemplo de algoritmo de Euclides:

\mathrm{mcd}(166,249)=83

\textstyle 166\div 83 = 2 y \textstyle 249\div 83 = 3.

Código ATOM

Quiz 6 ATOM

Programa Compilado en Cygwin

Quiz 6 Cygwin

Link GitHub: Quiz #6

WSQ11 – Yo soy 196

depresion-644x362

Con bastante diferencia, el trabajo mas complicado que he hecho durante este curso y el mas largo. Anteriormente fue publicado en el quiz 5 palindromos, la diferencia entre ese quiz y este trabajo, es que en el quiz se usaban palindromos con letras, y en este trabajo se usan puros números.

Se tuvo que descargar una biblioteca nueva : BigInteger.

Ocupé ayuda de bastantes compañeros porque si fue un trabajo sumamente complicado.

WSQ11 - YoSoy196 (1)WSQ11 - YoSoy196 (2)

Link GitHub: WSQ11 – Yo Soy 196

 

Quiz #5

El quiz 5 consiste en 2 programas, el primero se trata de palindromos, y el segundo te permite sumar números divisibles entre 3.

1111

Programa 1 – Palindromos

¿Qué son los palindromos?

  • Los palindromos son palabras o frases que se escriben / leen de igual forma al derecho y al revés; aquí unos ejemplos de palindromos:
  • anita lava la tina
  • reconocer
  • ana
  • la ruta natural

Este programa no acepta los espacios, por lo tanto, si se quiere escribir un palindromo compuesto por varias palabras, se tienen que escribir sin espacio.

El usuario teclea algo, si lo tecleado es un palindromo, el programa te afirmará que si es un palindromo, si lo tecleado no es un palindromo, el programa te dará a conocer que o que estás escribiendo no es un palindromo.

Esta operación es principal del programa, ya que hace que el programa pueda leer al revés:

Quiz 5 ejercicio 1 (función)

Aquí el código completo junto con su compilación:

Quiz 5 ejercicio 1

Link GitHub: Quiz #5 Prog 1

Programa 2 – Suma de números divisibles entre 3

El programa te pregunta por diferentes números los cuales se van agregando a la lista, y como dice el título, únicamente se van a sumar los números que sean divisibles entre 3, los otros números son ignorados.

Para este programa se utilizaron vectores y el loop while

A continuación se muestra el código completo en un screenshot y su respectivo link en GitHub.

Quiz 5 ejercicio 2

Link GitHub: Quiz #5 Prog 2

Quiz #4

EULER!!!!

esimple

Este es el quiz #4 de este curso de programación, este quiz en específico ha sido en el que mas eh tardado en hacer por que de cierta forma me confundía, a tal punto de que busqué ayuda con compañeros que ya llevaron esta materia y con otros compañeros los cuales están llevando junto conmigo este curso.

El programa te pregunta la precisión con la cual quieres el número euler, mientras mas grande sea el número elegido, mas preciso es el número euler gracias a esto:

e = 1 + \frac{1}{1} + \frac{1}{1\cdot 2} + \frac{1}{1\cdot 2\cdot 3} + \cdots

 

Quiz 4

Link GitHub: Quiz #4