Matthieu Mota
Web developer
Développeur web freelance depuis 5 ans
Expérience en agence web, E-Commerce (annonceur)
Formation Informatique et Autodidacte
Formateur et fan des OSS, contributeur à mes heures perdues
Solutions phares : Wordpress, Symfony, Magento, Prestashop, Angular
Langages : PHP, MySQL, HTML, CSS, JS
Selon Wikipédia :
Domaine d'étude de la résolution de problèmes par la mise en œuvre de suites d’opérations élémentaires selon un processus défini aboutissant à une solution.
Faut-il être bon en mathématiques ?
Logique et Méthodologie...
Rigueur et Abstraction...
De la pratique et du temps...
Le développement web va nous permettre d'écrire de la logique, faire des calculs et traiter des données. Tout cela est possible grâce au JavaScript (Client) et/ou PHP (Serveur).
HTML/CSS = Affichage, présentation
START
READ A
READ B
2: IF B = 0
GOTO 3
ELSE
IF A > B
A <- A - B
ELSE
B <- B - A
GOTO 2
3: PRINT A
END
START
A = 10
B = A + 10
C = "Matthieu"
END
Une variable est une boîte avec une étiquette contenant une donnée.
Nous allons installer AlgoBox.
L'avantage est qu'il est disponible sur toutes les plateformes (Windows, Linux, Mac) et il est open source.
AlgoBox impose un cadre et une rigueur dans l'écriture des algorithmes.
START
A = 1
B = 2
C = A + B
A = 4
B = A - C
END
A la fin de l'algorithme suivant, quelle sera la valeur de A, B et C ?
Ecrire l'algorithme sur AlgoBox, attention à la syntaxe, il faut déclarer les variables.
Parfois, il est nécessaire d'attendre une saisie utilisateur et afficher quelque chose à l'écran.
START
A = 10
AFFICHER A
LIRE B
AFFICHER "B vaut "
AFFICHER B
END
Ecrire l'algorithme sur AlgoBox.
SI condition ALORS
...
FINSI
SI condition ALORS
...
SINON
...
FINSI
SI condition ALORS
...
SINON SI autrecondition ALORS
...
SINON
...
FINSI
SI MAJEUR >= 18 ALORS
AFFICHER "Tu peux voter"
SINON
AFFICHER "Tu dois attendre 2 ans"
FINSI
Permet de faire ... en fonction de ...
On peut chaîner les comparaisons :
AGE >= 18 ET AGE <= 25 -> PROMO
AGE < 18 OU AGE > 25 -> PAS DE PROMO
1: Ecrire un algorithme qui demande à l'utilisateur son âge. Si l'utilisateur a moins de 18 ans, lui dire qu'il est mineur, s'il a 18 ans ou plus, qu'il est majeur.
2: Ecrire un algorithme qui demande à l'utilisateur son âge. S'il a entre 18 et 25, afficher qu'il a le droit à une promotion, sinon il doit payer le prix normal.
3: Un magasin facture 0.20 euros jusque les 10 premières photocopies, 0.15 euros les 20 suivantes et 0.10 euros les suivantes. Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies à faire puis afficher le montant total.
4: Ecrire un algorithme qui affiche la saison en donnant le numéro du mois.
Répète une instruction tant qu'une condition est validée.
VARIABLES
REPONSE EST_DU_TYPE CHAINE
DEBUT_ALGORITHME
LIRE REPONSE
TANT_QUE (REPONSE != "o" ET REPONSE != "n") FAIRE
DEBUT_TANT_QUE
LIRE REPONSE
FIN_TANT_QUE
AFFICHER "C'est ok."
FIN_ALGORITHME
!!! Attention aux boucles infinies !!!
VARIABLES
CHIFFRE EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
POUR CHIFFRE ALLANT_DE 0 A 10
DEBUT_POUR
AFFICHER CHIFFRE
FIN_POUR
FIN_ALGORITHME
On peut stocker plusieurs valeurs dans une seule variable, la liste ou tableau.
Un tableau contient des éléments qui sont formés d'une clé et d'une valeur.
VARIABLES
TABLEAU EST_DU_TYPE LISTE
DEBUT_ALGORITHME
TABLEAU[0] PREND_LA_VALEUR 18:6:22
AFFICHER TABLEAU[1] // 6
FIN_ALGORITHME
1: Ecrire un algorithme qui définit une liste de notes 10, 16, 18 et 20. Parcourir la liste grâce à la boucle POUR. Afficher toutes les notes.
2: Dans l'algorithme précédent, plutôt que d'afficher les notes, calculer la moyenne de ces notes. On peut utiliser une nouvelle variable SOMME par exemple.
3 : Trouver la note la plus grande et la plus petite.
4 : Trouvez un moyen de demander à l'utilisateur d'ajouter lui même les notes dans le tableau
1: Créer une liste avec des prénoms. Afficher ces prénoms.
2: Créer une liste avec des salaires brut.
Calculer le total des salaires bruts.
Calculer le total des salaires en ajoutant les charges patronales (40%). (Afficher aussi le détail de chaque salaire)
Calculer chaque salaire net pour l'employé en retirant les cotisations sociales (25%). (Afficher aussi le détail de chaque salaire)
Exemple : 1500:1600
Total: 3100
Avec charges patronales: 2100, 2240
Net: 1125, 1200
Ecrire un algorithme qui fait le tri d'un tableau dans l'ordre croissant.
Utiliser le tri à bulle, le tri par sélection et le tri à bulle optimisé..
4:25:1:36:24 devient 1:4:24:25:36
Ecrire un algorithme qui fait une recherche dichotomique sur le tableau en vous aidant de Wikipedia.
Le modulo est une opération spéciale. Elle renvoie le reste de la division d'un nombre par un autre.
10 % 3 = 1
On peut s'en servir pour vérifier une congruence
// Sur une horloge de 12h, 14h est sur 2
14 % 12 = 2
- Installer NodeJS
- Ouvrir un terminal et vérifier l'installation avec "node -v"
- Créer un fichier index.js
- Lancer le script avec "node index.js"
- Retranscrire les algorithmes
By Matthieu Mota