#Quiz07

Quiz 7

In mathematics, the dot product, or scalar product (or sometimes inner product in the
context of Euclidean space), is an algebraic operation that takes two equal-length
sequences of numbers (usually coordinate vectors) and returns a single number.Algebraically, it is the sum of the products of the corresponding entries of the two
sequences of numbers

Create a function called dot_product that receives two lists of numbers (say list1 and
list2). The function returns what is the dot product of the two lists.

For full marks, if the lists are not the same size, then the function should return the
special value of NaN (which represents not a number).

  • For Python, you can create this value with the expression: float(‘NaN’)

Example. If the input is [2,4,5,6] and [1,2,3,4] the result will be 49 since (2*1)+(4*2)+(5*3)+(6*4) = 49

 

Gracias a este programa podemos hacer el producto de dos listas, es muy simple ya que solamente multiplicamos cada numero de la lista uno por uno, pero existía una excepción, que si el tamaño de las listas no eran iguales, entonces no se podría realizar el producto de las listas, para lo que hice un condicional que se encarga de comparar el tamaño de las listas y te dice si son iguales o no, para saber el tamaño de la lista use la función len de no serlo retorna NaN(Not a Number). En este programa utilice por primera vez un ciclo for doble, para realizar la multiplicación de las listas.

Aquí esta mi código:

import os
os.system(“clear”)
print(“scalar product”)
lista1=[1,2,3,4]
lista2=[2,4,5,6]

def dot_product(var1,var2):
acum=0
if(len(var1)==len(var2)):
for l1,l2 in zip(var1,var2):
suma=l1*l2
acum=acum+suma
print(acum)
else:
print(“NaN”)

dot_product(lista1,lista2)

Por aquí el enlace a GitHub

Por acá el programa funcionando:

ESTEYAESTETAMBIEN

 

#WSQ14

“Scilab”

Scilab es un paquete de código libre, que se basa en cálculos numéricos, se encarga de operaciones de matrices y en ámbitos científicos y de ingeniería, tiene cientos de funciones, tanto de propósito general,como especializado, ademas de contar con una excelente interfaz gráfica.

Scilab_logo

  • En scilab se pueden ejecutar comandos directamente en la consola y obtener el resultado en forma inmediata, por ejemplo realice una suma una resta una multiplicación y una división.

uno

A través del comando “clc” podemos limpiar la consola ademas de contar con un historial de todos los comandos que hemos hecho.

 

  • Podemos hacer declaraciones de variables en la consola, para ver el valor de la variable simplemente se escribe su nombre y un enter, el sistema siempre da una re-alimentación, pero si quieres quitarla basta con escribir un punto y coma. ” ; “
  • En scilab para eliminar una variable no solamente la borras, tienes que escribir “clear” seguido del nombre de la variable. para eliminar todas las variables simplemente se escribe “clear”

Dos

  • Scilab cuenta con variables predefinidas como el valor de pi, el valor del numero e e inclusive el numero imaginario i .

tres

  • También podemos hacer operaciones con raíces cuadradas, con identidades trigonométricas, valores absolutos, tangentes hiperbólicas, entre muchas otras mas.

cuatro.png

  • Hay muchas cosas divertidas para hacer en scilab, por ejemplo podemos crear un número aleatorio, lo hacemos usando diferentes funciones, por ejemplo usando rand() para el número aleatorio, y round() para redondearlo. para elegir un rango de numeros multiplicamos round() por el valor mas alto del rango.

cinco.png

  • Scilab permite la manipulación de vectores, para declarar un vector fila escribimos la variable seguida de los valores separados por espacios englobados entre corchetes, para vectores columna hacemos lo mismo pero los separamos por punto y coma.

seis.png

#WSQ13

“Exam 2”

Fundamentals of Programming, First Partial Examination

Thursday, April 7, 2015

1. Escribe el función distancia cual recibe 4 números (x1, y1, x2, y2) cuales representan dos puntos en espacio (x1,y1) y (x2,y2). El método debe regresar la distancia entre los dos puntos. Recuerda que el valor cuadrada del hipotenusa del triangulo es igual que la suma de las cuadradas de los otro dos lados del triangulo (the hypotenuse squared is equal to the sum of the squares of the other two sides).

for_dist_2_ptos

Aquí está mi código funcionando:

import math

def distancia (x1,y1,x2,y2):
resultado=math.sqrt((x2+x1)**2+(y2+y1)**2)
return resultado

fin=distancia(1,2,3,4)
print(fin)

Por aquí el enlace a Github.

2. Escribe un función que se llama triangulo cual recibe un parámetro size y imprime un triangulo derecho como el siguiente. El renglón mas grande debe llevar size numero de “T”. SOLO imprime los “T”s y los endlines. Nota que no hay characteres (espacios) a la derecha de los T’s. Debe usar un ciclo “for” para controlar el repetición. Ejemplo es si size era 6.

Aquí está mi código:

numero=int(input(“Por favor dame el tamaño de tu triangulo “))

def triangulo (var):
r=range(1,var)
r2=range(var,0,-1)

          for x in r:
resultado=“T”*x
                    print(resultado)

          for y in r2:
otra=“T”*y
                    print(otra)

triangulo(numero)

 Por aquí el enlace a Github.

3. Escribe un función que se llama superpower(a,b) con dos parameters de (enteros / int). Debe regresar el valor del primer parametro al poder del segundo, o mejor decir a b . No puedes

Continue reading “#WSQ13”

#QUIZ06

Quiz 6

  1. Write a function to calculate the greatest common denominator of two positive integers using Euclid’s algorithm.

 

print(“Euclid’s algorithm”)

numero1=int(input(“Dame el primer numero: “))
numero2=int(input(“Dame el segundo numero: “))

def gcd (a,b):
if(a==b):
return a
elif (a>b):
return gcd(a-b,b)
else:
return gcd (a,b-a)

resultado=gcd(numero1,numero2)
print(“El maximo comun denominador es:”,resultado)

#QUIZ05

 Quiz 5

TC101 TC101 (Python Group)

Remember that this will not be graded but you should keep this sheet and your solutions as evidence of work. Email your answers to Ken today (so we keep a record of your code today) and also I recommend you post your code on Github and write on your blog as another blog post evidence.

Use your own computer to write the code. Remember that I trust you and you need to do this honestly to give yourself a good “measure” of your ability to this point. If you complete this later than today, then just complete as quick as you can.

  1. Create a function called is_palindrome which receives a string as a parameter and returns true if that string is a palindrome, false otherwise. Remember that a palindrome is a word that is the same forward or backward. For full points your function must ignore case and must work with any character (not just letters). So (“Dad$dad” is a palindrome even though the D is capital and d is lower case).

En este quiz debíamos crear un programa que detectara si una palabra es un palindromo, o no lo es, ademas para agregarle diversión al programa, debía saber si una palabras es palindromo o no, pero también tenia que ignorar si la palabra tenia mayúsculas o minúsculas, simplemente debía decir si es un palindromo o no dejando de lado símbolos y mayúsculas.

 

  1. Create a function called find_threes that receives as a parameter a list (or Vector or array for C++ students) of numbers and returns the sum of all numbers in that list that are evenly divisible by 3. Note if using vectors, you will need an additional parameter to represent the number of numbers in the array. So if the list was [0,4,2,6,9,8,3,12], the function would

    Continue reading “#QUIZ05”

#QUIZ04

 Quiz 4

TC101 (Python Group)

Remember that this will not be graded but you should keep this sheet and your solutions as evidence of work. Email your answers to Ken today (so we keep a record of your code today) and also I recommend you post your code on Github and write on your blog as another blog post evidence.

Use your own computer to write the code. Remember that I trust you and you need to do this honestly to give yourself a good “measure” of your ability to this point. If you complete this later than today, then just complete as quick as you can.

  1. The number e is an important mathematical constant that is the base of the natural logarithm. It is approximately equal to 2.71828,[1] and is the limit of (1 + 1/n)n as n approaches infinity, an expression that arises in the study of compound interest. It can also be calculated as the sum of the infinite series.

e =  displaystylesumlimits_{n = 0}^{ infty} dfrac{1}{n!} = 1 + frac{1}{1} + frac{1}{1cdot 2} + frac{1}{1cdot 2cdot 3} + cdots

         Create a function called euler_calc with a single parameter precision. The value of                  precision is used to determine when to stop calculating. Your calculation will stop                  when the two consecutive values estimating e differ by less than precision (remember          to use absolute value when calculating the difference between two values here).

En este quiz cree una función que se encarga de realizar el proceso para el numero de             Euler, el programa recibe un valor dado por el usuario que se encarga de detener el                 proceso para determinar el numero.

Como primer paso pedí el valor al usuario para

ELEULER.png

Continue reading “#QUIZ04”

#WSQ12

“Word Count”

En este programa empezamos a trabajar con texto, es el primero en el que comenzamos a analizar un texto por partes y utilizarlo, como primer parte se definió una función, que es la que se encarga de todo el proceso de contar palabras, en seguida se le indica al programa una  constante, esta se encarga de proporcionar al programa el texto que se quiere abrir, luego utilizamos el comando .readlines() este comando es una ventaja que nos ofrece python ya que no es necesario importar alguna librería, simplemente lo escribimos y este se encarga de usar el texto al que accedamos y después leer linea por linea, cada vez que escribes este comando, el programa escribe la linea siguiente del código, esto nos lleva a la parte siguiente del programa que es el ciclo for principal, este hace que el programa lea linea por linea del código y la guarde en una variable que se le dio, en seguida se hace un ciclo anidado que se encarga de la linea dada separarla en palabras gracias a la función .split(‘ ‘)  algo muy interesante sobre esta función es que separa las palabras, sin embargo toma como palabra todo texto que se encuentre junto, por lo tanto si en algún texto se le especificara alguna palabra seguida de un punto, el programa seria incapaz de contar la palabra que tenga el punto o en otro caso una coma, por lo tanto para solucionar este problema al agregar el contador en un if, este if ademas de preguntarse si la palabra es igual, también se preocupa por aquellas que tienen un punto o una coma seguidos de la palabra y también los cuenta, así va separando cada linea en palabras y estas a su vez son contadas por el

CONTADORDEPAL.png

Continue reading “#WSQ12”

#WSQ11

“Yo Soy 196”

En esta ocasión voy a hablar sobre el WSQ11, este programa hacemos alusión a los números de Lychrel que tratan en pocas palabras de que un número de Lychrel es un número natural que no puede formar un palíndromo a través del proceso iterativo repetitivo de invertir sus dígitos y sumar los números resultantes, por lo tanto este programa crea una solución para identificar en un rango de números cuales son Lychrel cuales no y cuales son palíndromos naturales, es decir que sin necesidad de sumarlo con su inverso, ya es un palíndromo.

Como primer paso se le pide al usuario el número inferior del rango en el que quiere encontrar números Lychrel, en seguida se le pide el limite superior, una vez conociendo el limite inferior y superior, hice un ciclo que se encarga se usar esos valores y crear una lista con todos los valores de ese rango.

Después de encargarme de la lista para los valores que se van a utilizar, cree una función que se encarga de primero convertir a string uno de los valores de la lista, en seguida lo invierte y después lo vuelve a transformar en entero para poder trabajar con el. ya que podemos trabajar con el numero invertido y con el normal, hice un ciclo for que es la base de todo el programa, en este primero se compara si los números son palindromos naturales usando la función que los invierte, si no lo son, entra a un ciclo anidado que se encarga de al no ser palindromos naturales los empieza a sumar hasta que los convierte a palindromos, gracias a varios contadores se puede saber cuantos numero de este tipo hay.

En seguida en el programa hay un if que se encarga de verificar que las iteraciones de

LYCHREL.png

Continue reading “#WSQ11”

#WSQ10

“Lists”

Este es el décimo programa que eh tenido la oportunidad de realizar en el que trata de hacer una lista que es dada por el usuario en el que el principal reto es hacer que con los valores que nos da el usuario los convirtamos a una lista, una vez hecho esto, genere otra lista, esta lista no es tan necesaria pero me es útil para pedirle al usuario los números ordenadamente, es decir contribuye con la estética y con la usabilidad del programa. En seguida realice un ciclo que se encarga de contar las veces en las que el programa te pide un número, es donde entra la lista que contiene el orden de los números.

En este programa hice algo de investigación ya que no sabia como hacer que el usuario agregara valores a una lista para poder utilizarla, por lo que encontré el comando append que sirve para que el usuario pueda agregar un valor a una lista, simplemente se especifica que valor debe guardar.

Como siguiente paso tuve que realizar una operación de suma para que el programa lo imprimiera, para lo que utilice un ciclo for quien se encarga de sumar los números de la lista, una vez hecho esto saque el promedio de los números en la lista utilizando la suma y un contador para la cantidad de números.

Al hacer