#WSQ14 Scilab

Desde que se nos pidió instalar y aprender un poco de Scilab no creí que fuera una plataforma muy relevante hasta que investigué y leí algunos blogs de mis compañeros y entonces decidí hacer este WSQ 😀

Scilab es una plataforma prácticamente que se dedica a toda la parte relacionada con las matemáticas, es muy fácil de usar, tu le das los datos linea por linea y Scilab se encarga de todo lo demás, es una plataforma muy cómoda a pesar de que la sintaxis sea diferente a lo que estamos acostumbrados, solo es necesario leer un poco para entenderla y así poder usarla para muchos problemas ya que abarca una gran cantidad de herramientas para poder realizar diferentes procedimientos de manera muy sencilla.

A mi punto de vista creo que la clave está en saber la sintaxis para poder hacer cualquier cosa que desees y en realidad ésta es sencilla, puede parecer extraña pero es fácil entenderla y si no pues tener un acordeón no es mala idea ya que Scilab puede sernos de gran ayuda para otras materias 😀

#Quiz07

 En este problema teníamos que realizar el producto punto como lo vemos en física de dos listas y para hacer esto se tiene que multiplicar el primer número de una lista con el primer número de la otra y así sucesivamente y sumar cada resultado de las multiplicaciones, haciendo las multiplicaciones nos queda otra lista que viene a ser un vector y esos valores de la lista son los que se deben sumar y bueno fue asi como me quedó.

Primero pregunté al usuario la cantidad de números para cada una de las listas para así después pedirle cada uno de los números y guardarlos en las listas correspondientes, teniendo las listas definí una función en donde validé primero la cantidad de elementos en la lista 1 y lista 2 si el número de elementos era igual entonces se realizaba la operación de multiplicar cada uno de los números de las listas hasta terminar y para hacer esto utilicé un for, terminando de multiplicar los elementos con la función sum() que ya hace el trabajo de sumarte los números de la lista los sume y por lo tanto regresé ese valor al resultado de la función, pero si la cantidad de elementos en ambas listas no eran iguales el programa te regresa como “nan”.

Aquí se ve como regresa en nan cuando una de las listas tiene una cantidad diferente de elementos y el resultado cuando las listas tienen la misma cantidad de elementos:
Aquí el enlace al código en GitHub 😀

#WSQ13 Examen 2

Hipotenusa
El ejercicio era muy sencillo te pedía sacar la distancia entre dos puntos que el usuario ingresará. En realidad es muy sencillo hacer este programa por que se usa la regla básica de pitágoras para poder sacar el otro lado del triangulo entonces le pides cada una de las medidas del triángulo al usuario y una vez tenida las medidas de los lados lo que se hace es sumarlas y elevarlas al cuadrado cada una y al resultado se le saca la raíz y para esto use la librería math y listo! así el código:


Aquí el resultado 😀 y el enlace a GitHub


Superpower
En el ejercicio de super power nos pedía hacer una función y ya teniendo la idea fue fácil pides 2 variables al usuario una que va ser el numero de la base y la segunda variable el número de la potencia a la que vas a evaluar, después de definir la función dentro de ella incluí una condición para que evaluara el valor de la potencia ya que si la potencia es igual a 0 el resultado debe de ser 1 y si no el programa se dirige a la segunda parte le di un valor a una variable para que fuera mi contador y después a otra que fuera un acumulador y poder multiplicarla por si misma, dentro de un ciclo multiplique el contador por el número de la base y este validaba que se repite las veces según la variable de la potencia y para esto fue el contador:

Aquí el resultado y el código a GitHub


Triangulo
Este problema no lo pude realizar en el examen xD pero me explicaron después como hacerlo y pude hacerlo 😀
Para empezar se pide un número para imprimir T’s en el mismo renglon desde una hasta el número

Continue reading “#WSQ13 Examen 2”

#CourseReview

Este curso en particular fue uno de los más entretenidos y no sólo por la manera de trabajar sino porque se practicaba mucho y para poder practicar la mayoría de las veces tenía que investigar para entender y por lo tanto aprendí mucho y más de lo que esperaba.

Me gustó mucho el curso y el concepto de ser más importante un buen aprendizaje que una calificación, y aunque el calificarse a sí mismo es difícil nos ayudó a saber evaluarnos y ser honestos con el trabajo que hacemos.

Trabajar con el modelo Tec21 fue interesante ya que hacerse muy responsable de nuestros trabajos deberíamos hacerlo desde siempre pero si por algo se empieza hacerlo de esta manera está muy padre 😀

#WSQ12 Word count

Al principio cuando leí el programa y se explicó en clase una parte, creí que iba a estar más sencillo de lo que resultó, después de muchos intentos con la condición del if que no entraba 🙁 al final me ayudaron y explicaron porque.

El programa consistía en buscar desde otro archivo de texto la cantidad de palabras repetidas que habían en el según la palabra que el usuario quisiera buscar y para empezar le pedí al usuario la palabra que quería buscar, después dentro de una función puse en contador para que fuera el que contara el número de palabras (por cierto hay una variable que se llama cantidad=0 pero no la usé y olvidé borrarla xD), antes de todo escribí en un archivo diferentes palabras y lo guardé con la extensión .txt y regresando al programa llamé y abrí e archivo con la variable archivo=open(“nombre del archivo.txt”,”r”) donde la r leía el archivo.

Después dentro de un for donde cada linea que se encontraba en el archivo hacía lo siguiente, con la variable minúsculas la función de line.lower() era convertir cada palabra en minúsculas y con la variable sub la función de minusculas.find(word) es encontrar la palabra que el usuario había ingresado desde el inicio, después en la parte final, use un while para que entrara al ciclo mientras las palabras encontradas fueran diferentes a -1, entrando al ciclo el contador sumaba 1 palabra más. Al final para cerrar el archivo utilicé el comando archivo.close() y listo 🙂

Y al correr el programa: 

Finalmente, el código en GitHub 🙂

#WSQ09 Factorial

En esta tarea teníamos que sacar el factorial de cierto número que el usuario solicitara así que para empezar el factorial de un número es igual a la multiplicación de los números anteriores a este por ejemplo, el factorial de 4 es 1x2x3x4 y así empecé trabajando con un amigo, decidimos usar un while que se hará siempre que la condición se esté cumpliendo, entrando, pide al usuario el número del cual quiere saber el factorial y después se pasa a validar el número, si este es menor a 0 le pide un número positivo y el ciclo continúa, si el número no es 0 usamos un contador y un acumulador para que la operación se siga haciendo hasta llegar al número deseado.

Y así se ve el programa:

Y así termina 😀

Enlace al código en GitHub 😀

#WSQ10 Listas

Las instrucciones de la tarea eran pedir al usuario una serie de números, guardarlos en una lista y obtener el promedio y la desviación estándar de lo números de la lista y claro, usando funciones.
Para empezar definí una lista vacía y con un for fui pidiendo los 10 números al usuario y con lista.append(n) agregué estos números a la lista vacía.

Después definí la función promedio para sacar el promedio de la lista y con el comando sum() sume los números de la lista (ahorrando más líneas de código), después conté los elementos de la lista con el comando len() y sólo restó realizar la división de la suma por la cantidad.

Para terminar en la desviación estándar, ahora que lo veo y recuerdo, es la sumatoria de la raíz cuadrada de la suma menos en promedio al cuadrado, todo esto dividido por la cantidad de elementos menos 1 y mi error aquí que acabo de ver es que no realicé la sumatoria, la operación sólo la realiza una vez, necesito un acumulador o  eso creo xD y por cierto para poder usar la raíz cuadrada importé la librería math.

Listo 😀
El resultado 😀


Código en GitHub :3

#WSQ11 Yo soy 196

Este es uno de los problemas más comentados en clase, estuve trabajando con un compañero y creo que le dimos un procedimiento más corto de los que vimos pero el resultado es correcto.

Explicando un poco y hablando de números, investigamos y encontramos que un palindromo es un número que al voltearlo es el mismo número, un número no lychrel es un número que al voltearlo y sumarle el número original es un palindromo y un número lychrel es aquel que al voltearlo y sumarle el orignal no es un palindromo y esto es lo más esencial que debemos saber para poder hacer el programa.

Empecemos… primero le pedí al usuario el número con el cual quería iniciar y con cual terminar para validar estos. Los números que se encontraban entre el menor y mayor los hice una lista desde el rango menor al mayor (como se ve en el código lista=list(range(mini,maxi+1)) agregando el +1 para que se contara el último valor).

Dentro de un for acomodé todo el programa para que se fuera realizando para cada número que se encontraba en la lista y ahora sí a empezar a pensar xD, para que los números se voltearan use una variable llamada reversa que con ayuda de [::-1] el número se volteaba y use el int y str para que al momento de cambiarla la cambiara de manera string y después lo convirtiera a un entero y poder hacer los procedimientos futuros de sumar y comparar. Después de esto realicé la suma de el número volteado y el original en la variable suma y para terminar con las operaciones en la variable rev_sum hice el mismo procedimiento que en la variable reversa pero con el resultado de la variable suma.

Después de todo esto, la parte divertida!! validar los resultados para

Continue reading “#WSQ11 Yo soy 196”

#Quiz06

 El último quiz!!…. Hasta ahora 😀

Honestamente en este quiz si me costó más, trabajé con dos amigos, hicimos el código de varias maneras diferentes, cambiamos datos muchísimas veces y aún así no nos salía el resultado correcto, el problema era la operación o el valor de la función o algo que simplemente no quería que terminaramos xD. Al final decidí consultar otros blogs de este quiz y la página que se nos recomendó visitar para resolver el problema y fue más sencillo de lo que pensabamos.


Pedí al usuario los números de los cuales deseaba saber el máximo común divisor, estos números los usé en la función (esto es un ejemplo de recursión), cuando la función se está usando valida si ambos números son iguales, si son iguales el MCD obviamente es cualquiera de estos, si ese no es el caso y el primer número es mayor al segundo, en el valor de la condición se le resta el segundo número al primero y la función se repite, si tampoco es el caso se le resta el primer valor al segundo y la función vuelve a hacer su trabajo, todo esto lo vuelve a hacer hasta que ambos valores sean iguales y pueda imprimir el valor del MCD!! 


Todo esto se ve de la siguiente manera:



Al fiiiiiiiin 😀


Código en GitHub 🙂

#Quiz05

Uno de los quizes que más me agradaron, en este quiz ya nos estaban preparando para yo soy 196 xD el quiz consistía en dos ejercicios, el primero era sobre palindromos, teníamos que pedir una palabra al usuario y verificar si era un palindromo o no y listo, era todo.

Para comenzar pedí la palabra, definí una función para hacer el procedimiento, dentro de la función como se nos había explicado en el salón de clases usé x[::-1] que hace que la palabra ingresada se voltee y pueda analizarla después, usé una condición if para regresar que era un palindromo si el resultado de voltear la palabra y la palabra ingresada eran iguales y un else si era el caso contrario, lo único difícil fue que no sabía como voltear la palabra hasta que se explicó.


Y así es como quedó el programa:



Y como se ejecutó :3


Y al final aquí en GitHub el primer ejercicio 🙂

Y ahora el segundo problema 😀

Antes del primer examen parcial había leído acerca de las listas y como se usan y lo más importante y que necesitaba para este problema: recordaba como agregar elementos a una lista vacía 😀
Primero decidí preguntarle al usuario cuantos números quería en su lista para no ponerle un valor fijo y definiendo la lista vacía, después por medio de un for agregué la cantidad de números que me había dado como respuesta el usuario, usando lista.append(n) fue como agregué cada elemento a la lista vacía. Ahora sí, definí la función y ya que necesitaba una lista nueva en la cual guardar los valores que solo fueran divisibles por tres, la cree, usando un for nuevamente, para cada número de la lista obtuve su residuo de manera que si este era 0 se agregaba a

Continue reading “#Quiz05”