renforcement + livre
This commit is contained in:
parent
d574695633
commit
948d17166a
16
livres/ex_cpp/Makefile
Normal file
16
livres/ex_cpp/Makefile
Normal file
@ -0,0 +1,16 @@
|
||||
CXX = c++
|
||||
CXXFLAGS = -Wall -g
|
||||
LDFLAGS= -lm
|
||||
|
||||
SOURCE_POINTS= points.cpp main.cpp
|
||||
|
||||
all: points
|
||||
|
||||
points: $(SOURCE_POINTS)
|
||||
$(CXX) $(CXXFLAGS) -o $@ $(SOURCE_POINTS) $(LDFLAGS)
|
||||
|
||||
run: points
|
||||
./points
|
||||
|
||||
clean:
|
||||
rm -f *.o ./points
|
16
livres/ex_cpp/main.cpp
Normal file
16
livres/ex_cpp/main.cpp
Normal file
@ -0,0 +1,16 @@
|
||||
#include "points.h"
|
||||
#include <iostream>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Points p(5,5);
|
||||
std::cout << p.abscisse() << ' ' << p.ordonnee() << std::endl;
|
||||
|
||||
std::cout << p.rho() << ' ' << p.theta() << std::endl;
|
||||
|
||||
p.deplace(3.1, 2);
|
||||
std::cout << p.abscisse() << ' ' << p.ordonnee() << std::endl;
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
BIN
livres/ex_cpp/points
Executable file
BIN
livres/ex_cpp/points
Executable file
Binary file not shown.
39
livres/ex_cpp/points.cpp
Normal file
39
livres/ex_cpp/points.cpp
Normal file
@ -0,0 +1,39 @@
|
||||
#include "points.h"
|
||||
#include "math.h"
|
||||
|
||||
Points::Points(float m_x, float m_y)
|
||||
: x(m_x), y(m_y){}
|
||||
|
||||
// SETTERS
|
||||
|
||||
void Points::deplace(float m_dx, float m_dy){
|
||||
x += m_dx;
|
||||
y += m_dy;
|
||||
}
|
||||
|
||||
void Points::homothetie(float k){
|
||||
x *= k;
|
||||
y *= k;
|
||||
}
|
||||
|
||||
void Points::rotation(float angle){
|
||||
|
||||
}
|
||||
|
||||
// GETTERS
|
||||
|
||||
float Points::abscisse(){
|
||||
return x;
|
||||
}
|
||||
|
||||
float Points::ordonnee(){
|
||||
return y;
|
||||
}
|
||||
|
||||
float Points::rho(){
|
||||
return sqrt(x*x + y*y);
|
||||
}
|
||||
|
||||
float Points::theta(){
|
||||
return atan(y/x);
|
||||
}
|
24
livres/ex_cpp/points.h
Normal file
24
livres/ex_cpp/points.h
Normal file
@ -0,0 +1,24 @@
|
||||
#ifndef POINTS_H
|
||||
#define POINTS_H
|
||||
|
||||
class Points
|
||||
{
|
||||
private:
|
||||
float x, y;
|
||||
|
||||
|
||||
public:
|
||||
Points(float x, float y);
|
||||
|
||||
void deplace(float, float);
|
||||
void homothetie(float);
|
||||
void rotation(float);
|
||||
|
||||
float abscisse();
|
||||
float ordonnee();
|
||||
float rho();
|
||||
float theta();
|
||||
|
||||
};
|
||||
|
||||
#endif /* POINTS_H */
|
BIN
renforcement/entrainement_0311/entrainement0311.pdf
Normal file
BIN
renforcement/entrainement_0311/entrainement0311.pdf
Normal file
Binary file not shown.
27
renforcement/entrainement_0311/ex1.py
Normal file
27
renforcement/entrainement_0311/ex1.py
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
def find(chambre, etiquette):
|
||||
"""Find all occurence of etiquette in chambre and return a list of all his position
|
||||
|
||||
:chambre: matrice of item in chambre
|
||||
:etiquette: Element to find in chambre as string
|
||||
:returns: list of positions
|
||||
|
||||
"""
|
||||
ret = list()
|
||||
for x in range(len(chambre)):
|
||||
for y in range(len(chambre[x])):
|
||||
if etiquette == chambre[x][y]:
|
||||
ret.append((x,y))
|
||||
return ret
|
||||
|
||||
# Tests
|
||||
if __name__ == "__main__":
|
||||
chambre = [
|
||||
[ "A" , "A" , "B" , "D" ],
|
||||
[ "C" , "P" , "U" , "A" ],
|
||||
[ "M" , "O" , "N" , "S " ],
|
||||
[ "A" , "B" , "D" , "A" ]
|
||||
]
|
||||
print(find(chambre, 'A'), "should print 5 elemets")
|
||||
print(find(chambre, 'C'), "Should print 1 element")
|
||||
print(find(chambre, 'Elephant'), "Should print nothing")
|
32
renforcement/entrainement_0311/ex2.py
Normal file
32
renforcement/entrainement_0311/ex2.py
Normal file
@ -0,0 +1,32 @@
|
||||
def champ():
|
||||
"""Create a field, ask for size, amount of orni and position of said orni
|
||||
:returns: number of plan
|
||||
"""
|
||||
(N, M) = tuple(input("Size Quantity:").split()[:2])
|
||||
field = [['🌱' for y in range(int(N))] for x in range(int(N))]
|
||||
for i in range(int(M)):
|
||||
(_X, _Y) = tuple(input(f"(orni {i}) X Y:").split()[:2])
|
||||
field[int(_Y)][int(_X)] = '🦝'
|
||||
|
||||
for x in range(int(N)):
|
||||
for y in range(int(N)):
|
||||
if field[y][x] == '🦝':
|
||||
for i in range(x-1, x+2):
|
||||
for j in range(y-1, y+2):
|
||||
if field[j][i] == '🥕':
|
||||
field[j][i] = '💀'
|
||||
if field[j][i] == '🌱':
|
||||
field[j][i] = '🥕'
|
||||
return field
|
||||
|
||||
def draw_field(field):
|
||||
"""draw a field """
|
||||
for x in range(len(field)):
|
||||
for y in range(len(field[x])):
|
||||
print(field[x][y], end=' ')
|
||||
print()
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
draw_field(champ())
|
7
renforcement/entrainement_0311/ex3.py
Normal file
7
renforcement/entrainement_0311/ex3.py
Normal file
@ -0,0 +1,7 @@
|
||||
def check_ticket(ticket):
|
||||
while(:)
|
||||
tosumuup = [int(i)for i in list(ticket)]
|
||||
return sum(tosumuup)
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(check_ticket('999999'))
|
24
renforcement/entrainement_0311/ex4.py
Normal file
24
renforcement/entrainement_0311/ex4.py
Normal file
@ -0,0 +1,24 @@
|
||||
|
||||
def permutation(mot):
|
||||
"""find all permutation of a word
|
||||
|
||||
:mot: TODO
|
||||
:returns: list of all permutations
|
||||
|
||||
"""
|
||||
return permutation_rec('' , mot)
|
||||
|
||||
def permutation_rec(pre, post):
|
||||
print(pre, post)
|
||||
if (post == ''):
|
||||
return pre
|
||||
ret = list()
|
||||
for i in list(post):
|
||||
_post = list(post)
|
||||
_post.remove(i)
|
||||
ret.append(permutation_rec(pre + i, str(_post)))
|
||||
return ret
|
||||
|
||||
if __name__ == "__main__":
|
||||
permutation('abc')
|
||||
|
@ -146,4 +146,4 @@ nom).
|
||||
|
||||
5
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user