Homework4

A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „==Modulo ring== Define a class called <b>Moduloz</b> representing modulo n numbers (integers). For example in modulo 5: 4 + 3 = 2 (because 7 % 5 = 2) 2 - 3 = 4 (…”)
 
 
1. sor: 1. sor:
==Modulo ring==
+
==4/1. Modulo ring==
 
Define a class called <b>Moduloz</b> representing modulo n numbers (integers).  
 
Define a class called <b>Moduloz</b> representing modulo n numbers (integers).  
  
17. sor: 17. sor:
  
 
For example:  
 
For example:  
a = ModuloZ(5, 7)  
+
a = Moduloz(5, 7)  
 
print a  
 
print a  
  
 
Should print:  
 
Should print:  
 
2
 
2
 +
 +
==4/2. Modulo ring operations==
 +
Implement the <b>__add__</b>, <b>__sub__</b>, <b>__mul__</b> methods for the previous <b>Moduloz</b> class!
 +
 +
For example in modulo 5:
 +
4 + 3 = 2 (because 7 % 5 = 2)
 +
2 - 3 = 4 (because -1 % 5 = 4)
 +
4 * 3 = 2 (because 12 % 5 = 2)
 +
 +
Mind that the operations should return an object of class Moduloz, not an integer (int)!
 +
 +
For example:
 +
a = Moduloz(7, 9)
 +
b = Moduloz(7, 12)
 +
 +
print a + b
 +
print a - b
 +
print a * b
 +
 +
should print:
 +
0
 +
4
 +
3
 +
In the test outputs you can see the sum, difference and the product of the two input numbers.
 +
Hint:
 +
Use the previous exercise as a starting point.
 +
wiki article about rings
 +
 +
==4/3. Matrix class==
 +
Define a class called Matrix for representing matrices.
 +
 +
You have to implement the <b>__init__</b> and <b>__str__</b> methods.
 +
The constructor has one parameter, a list of list of numbers which is the elements of the matrix.
 +
The <b>__str__</B> should return a multi-line string, containing the matrix in a tabular-like format.
 +
 +
For example:
 +
m = Matrix([[1, 2], [13, 4], [5, 6]])
 +
print m
 +
should print this:
 +
  1  2
 +
  13  4
 +
  5  6
 +
The numbers are padded to the right in 4 characters width. There are 3 spaces before each element, except the 13 because there are 2 spaces there.
 +
 +
==4/4. Matrix operations==
 +
Implement the <b>__add__</b>, <b>__sub__</b>, <b>__mul__</b> methods for the previous <b>Matrix</b> class.
 +
 +
The matrices will be square shaped, so every operation is compatible.
 +
 +
For example:
 +
m1 = Matrix([[1, 2], [3, 4]])
 +
m2 = Matrix([[1, 0], [0, 2]])
 +
 +
print a + b
 +
print a - b
 +
print a * b
 +
should print this:
 +
  2  2
 +
  3  6
 +
 +
  0  2
 +
  3  2
 +
 +
  1  4
 +
  3  8
 +
 +
 +
In the test you can see the sum, difference and the dot product of the two input matrices.
 +
 +
Hint:
 +
Use the previous exercise as a starting point.
 +
wiki article about rings

A lap jelenlegi, 2021. március 9., 20:55-kori változata

Tartalomjegyzék

4/1. Modulo ring

Define a class called Moduloz representing modulo n numbers (integers).

For example in modulo 5:

4 + 3 = 2 (because 7 % 5 = 2) 
2 - 3 = 4 (because -1 % 5 = 4) 
4 * 3 = 2 (because 12 % 5 = 2) 

You don't have to implement the operations yet, just define the __init__ and the __str__ methods.

In the constructor you will have two parameters. The first one is the base of the modulo, the second one is the actual number.

The base will be a positive integer, the value will be an integer.

The __str__ should return a string, containing the value.

For example: a = Moduloz(5, 7) print a

Should print: 2

4/2. Modulo ring operations

Implement the __add__, __sub__, __mul__ methods for the previous Moduloz class!

For example in modulo 5:

4 + 3 = 2 (because 7 % 5 = 2) 
2 - 3 = 4 (because -1 % 5 = 4) 
4 * 3 = 2 (because 12 % 5 = 2) 

Mind that the operations should return an object of class Moduloz, not an integer (int)!

For example:

a = Moduloz(7, 9)
b = Moduloz(7, 12)
print a + b
print a - b
print a * b

should print:

0
4
3

In the test outputs you can see the sum, difference and the product of the two input numbers. Hint: Use the previous exercise as a starting point. wiki article about rings

4/3. Matrix class

Define a class called Matrix for representing matrices.

You have to implement the __init__ and __str__ methods. The constructor has one parameter, a list of list of numbers which is the elements of the matrix. The __str__ should return a multi-line string, containing the matrix in a tabular-like format.

For example:

m = Matrix([[1, 2], [13, 4], [5, 6]])
print m

should print this:

  1   2
 13   4
  5   6

The numbers are padded to the right in 4 characters width. There are 3 spaces before each element, except the 13 because there are 2 spaces there.

4/4. Matrix operations

Implement the __add__, __sub__, __mul__ methods for the previous Matrix class.

The matrices will be square shaped, so every operation is compatible.

For example:

m1 = Matrix([[1, 2], [3, 4]])
m2 = Matrix([[1, 0], [0, 2]])
print a + b
print a - b
print a * b

should print this:

  2   2
  3   6
  0   2
  3   2
  1   4
  3   8


In the test you can see the sum, difference and the dot product of the two input matrices.

Hint: Use the previous exercise as a starting point. wiki article about rings

Személyes eszközök