---
# System prepended metadata

title: Algorithmique

---

# Algorithmique

A partir d'un problème posé (recherche d'un résultat), identifier et pseudo-coder les étapes pour atteindre ce résultat

## Calculer la somme des entiers d'un tableau

### Pseudo-code
```=
DEBUT SOMME ENTIERS
    EN ENTREE UN TABLEAU d'ENTIERS
    VAR RESULT = 0
    POUR CHAQUE ENTIER DU TABLEAU
        RESULT = RESULT + ENTIER
    FIN ITERATION
    RETOURNE RESULT
FIN
```

### Vers l'implémentation en JavaScript
- Apprendre à déclarer une fonction
- Apprendre à déclarer une variable
- Apprendre à parcourir un tableau
- Apprendre à additionner des entiers
- Apprendre à retourner un résultat
- Apprendre à appeler la fonction avec un tableau d'entiers initialisé

### Implémentation en JavaScript

```javascript=
function sum(numbers) {
    let result = 0;
    for(let i = 0; i < numbers.length; i++) {
        result = result + numbers[i];
    }
    return result;
}
const numbers = [1, 2, 3, 5, 45698];
const total = sum(numbers);
```

## Pseudo-coder le brief partie 1

### Bien comprendre le problème
- Ne pas hésiter à reformuler
- Au fur et à mesure qu'on avance sur un sujet de développement, les besoins évoluent et conduisent à revoir le problème dans son ensemble

### Le probème
- Concevoir et implémenter un CLI
- Interpréter des lignes de commandes
- Ligne de commande : instruction(s) envoyer à un CLI pour exécuter des traitements spécifiques
- Ligne de commande : chaîne de caractères

### "Pseudo-code"
- Input : chaîne qui contient a priori le nom d'une commande et éventuellement des arguments
- Analyser (scanner, parser) la ligne de commande dans le but de savoir ce qu'il y a dedans
- Piste : toute ligne de commande a comme séparateur un espace mais peut ne pas en contenir