Skip to content

Commit

Permalink
content/b1 +(TP: stream & iter_rec) (#27)
Browse files Browse the repository at this point in the history
* content/b1 +(TP: stream & iter_rec
  • Loading branch information
Villosse authored Oct 31, 2023
1 parent 2f4d1f5 commit edbbe02
Show file tree
Hide file tree
Showing 9 changed files with 282 additions and 3 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Il suffit de taper cette commande :
```
hugo new -k [s1-s2]/[nom_du_sujet]
hugo new -k sujet [b1-b2-b3-b4]/[nom_du_sujet]
```

Vous pouvez ensuite vous rendre dans le dossier nouvellement créé
Expand Down
10 changes: 8 additions & 2 deletions config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ params:
imageHeight: 120
imageTitle: "logo backtobasics"
buttons:
- name: "Sujets B1"
url: b1
- name: "Sujets S1"
url: s1
- name: "Sujets S2"
Expand All @@ -44,11 +46,15 @@ params:

menu:
main:
- identifier: b1
name: "Sujets B1"
url: b1
weight: 5
- identifier: s1
name: "Sujets S1"
url: s1
weight: 5
weight: 10
- identifier: s2
name: "Sujets S2"
url: s2
weight: 10
weight: 15
157 changes: 157 additions & 0 deletions content/b1/IterationEtRecursion/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
---
title: "Itératif et Récusif"
date: 2023-10-31T10:56:56+01:00
author: "Lenny"
description: "Entrainements sur la récursivité et itérativité"
---

# Introduction

Ce TP est un sujet d'entrainement pour les méthodes récursives et itératives.

Si vous avez la moindre question, n'hésitez pas à poser vos questions sur le Si vous avez la moindre question, n'hésitez pas à poser vos questions sur le [serveur Discord](https://discord.gg/SJGWzkU2gd) de BackToBasics ! :D

# Iterations.cs

Le but, ici, va être de résoudre ces problèmes seulement en utilisant des boucles `while` et `for`.



## ReverseInt
```csharp

/// <summary>
/// Ecrire une fonction qui prend un int (n) et renvoie ses chiffres dans le sens inverse.
/// </summary>
/// <remark>
/// n peut être négatif.
/// </remark>
public static int Reverseint(int n)

```

```csharp
// Résultats attendus :
ReversInt(4); // == 4
ReversInt(-4); // == -4
ReversInt(24); // == 42
ReversInt(-123456); // == -654321
```

## FindSub

```csharp

/// <summary>
/// Ecrire une fonction qui prend une string s et une string sub,et renvoie si sub est contenue dans la string s.
/// </summary>
/// <remark>
/// Si une des deux chaine est vide alors la méthode lève une exception de type `ArgumentException`.
/// </remark>
public static bool FindSub(string s, string sub)

```

```csharp
// Résultats attendus :
FindSub("Clement est le plus beau", "moche"); // == false
FindSub("Clement est le plus beau", "beau"); // == true
FindSub("Je est un autre.", ""); // == ArgumentException()
```

## FirstUpper

```csharp

/// <summary>
/// Ecrire une fonction qui prend une string s renvoie la string avec toutes les premieres lettres (lettre entre a-z) de chaque mot en majuscule
/// (un mot est précédé d'un espace).
/// </summary>
/// <remark>
/// Attention au premier mot de chaque string.
/// </remark>
public static bool FindSub(string s, string sub)

```

```csharp
// Résultats attendus :
Revers_int("Je me crois en enfer, donc j'y suis."); // == "Je Me Crois En Enfer, Donc J'y Suis."
Revers_int(""); // == ""
Revers_int("!abc !def ghi .klm"); // == "!abc !def Ghi .klm"
```

## Replace_char

```csharp

/// <summary>
/// Ecrire une fonction qui prend une string source, le char toReplace a remplacer par le char replace en parametre et retourne la nouvelle string
/// </summary>
public static string Replace_char(string source,char toReplace, char replace)

```

```csharp
// Résultats attendus :
Revers_int("De la programmation avant toute chose.", "a", "*"); // == "De l* progr*mm*tion *v*nt toute chose."
```

# Recursion.cs

Le but, ici, va être de résoudre ces problèmes seulement en utilisant de la récursion (pas de boucle).

## is_alpahnum
```csharp

/// <summary>
/// Ecrire une fonction qui prend un int i et une string s en parametre et renvoie true si la fonctione n'a que des char alphanumériques a partir de l'index i.
/// </summary>
/// <remark>
/// i >=0
/// </remark>
public static bool is_alpahnum(string s, int i)

```

```csharp
// Résultats attendus :
is_alpahnum("abcdef132", 0); // == true
is_alpahnum("!abcdef", 0); // == false
is_alpahnum("!abcdef", 1); // == true
is_alpahnum("abcdef!", 15); // == true

```

## Reverse_str

```csharp

/// <summary>
/// Ecrire une fonction qui prend une string source de longueur length en parametre et retourn la string inversée.
/// </summary>
/// <remark>
/// condition: length = s.Length
/// </remark>
public static string Reverse_str(string source, int length)

```

```csharp
// Résultats attendus :
Reverse_str("42",2); // == "24"
Reverse_str("123",3); // == "321"
Reverse_str("ABcdeF",6); // == "FedcBA"
```
Empty file.
Empty file.
3 changes: 3 additions & 0 deletions content/b1/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
title: Sujets de B1
---
113 changes: 113 additions & 0 deletions content/b1/stream/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
title: "Stream"
date: 2023-10-31T10:56:56+01:00
author: "Lenny"
description: "Entraînements sur la manipulation de fichiers en C#"
---

# Introduction

Ce TP est un sujet d'entraînement pour à l'utilisation de streams et de la manipulations de fichiers en C#.

Si vous avez la moindre question, n'hésitez pas à poser vos questions sur le [serveur Discord](https://discord.gg/SJGWzkU2gd) de BackToBasics ! :D

Les streams nous permettent de lire et écrire dans un fichier. On parle alors de manipulation de fichiers.

# Stream.cs

Afin de pouvoir utiliser les fonctions pour manipuler des fichiers, n'oubliez pas de rajouter le `using` suivant :

```csharp
using System.IO;
```

## Existfile
```csharp
/// <summary>
/// Fonction qui vérifie si le fichier associé à `path` existe.
/// </summary>
public static bool ExistFile(string path)

```

## MyReplace

```csharp

/// <summary>
/// Remplace chaque itération du caracètre `char` dans le fichier `path` par le caractère `replace`.
/// Elle devra modifier le fichier inscrit dans `path` et le créer si celui-ci n'existe pas.
/// </summary>
/// <remarks>
/// Le fichier modifié devra se finir par un retour à la ligne.
/// Si une erreur apparaît, renvoyer une ArgumentException avec comme message "Error".
/// </remarks>
public static void MyReplace(string path, char toReplace, char replace)

```
Prenons le fichier : *test*
```
Bonjour,
Ceci est un message de test.
J'espere que vous allez reussir vos exams :D.
```

```csharp
MyReplace(path, 'e', 'f'); // path est le chemin de mon fichier
```
On aura alors le fichier *test* suivant:
```
Bonjour,
Cfci fst un message de tfst.
J'fspfrf quf vous allfz rfussir vos fxams :D.
```

## DeleteLines

```csharp

/// <summary>
/// Supprime toutes les lignes multiples de la variable `n` dans le fichier `path`.
/// Elle devra modifier le fichier et le créer si celui-ci n'existe pas.
/// </summary>
/// <remarks>
/// Le fichier modifié devra se finir par un retour a la ligne
/// Si le fichier n'existe pas alors renvoyer une ArgumentException avec comme message "Error"
/// </remarks>
public static void DeleteLines(string path, int n)

```

Prenons le fichier : *ToDelete*
```
0
1
2
3
4
5
6
7
8
9
10
11
12
```

```csharp
public static void DeleteLines(string path, int n); // path est le chemin de mon fichier
```
On aura alors le fichier *ToDelete* suivant:

```
1
3
5
7
9
11
```

Empty file.
Empty file.

0 comments on commit edbbe02

Please sign in to comment.