-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
content/b1 +(TP: stream & iter_rec) (#27)
* content/b1 +(TP: stream & iter_rec
- Loading branch information
Showing
9 changed files
with
282 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
--- | ||
title: Sujets de B1 | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.