« Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils.

Slides:



Advertisements
Présentations similaires
Cours de Langage C Récursivité. Objectifs de la séance 11 Connaître la récursivité. Mesurer un temps d’exécution. 2.
Advertisements

ALGORITHMES LANGAGES ALGORITHMIQUE. Qu'est-ce qu'un algorithme ? Un algorithme est une méthode décrite pas à pas pour « faire quelque chose ». Hors des.
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
CINI – Li115 1 Semaine 4 Révisions ● Questions de cours ● Types des expressions ● Déclaration de variables ● Instruction conditionnelle et boucles ● Structure.
11 Alternative : syntaxe CSharp la structure conditionnelle : –si condition alors instruction1 sinon instruction2 fin si –En C# : if (condition) { instruction1.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
1 Bonnes Pratiques ● Indentation ● Présentation ● Initialisation des variables ● Conditions ● Gestion d'erreurs ● Conventions.
Les Systèmes Automatisés
UE2 - M22 Licence acoustique
Ajouter le code dans une page html
La conditionnelle Formule
CEMTEC Comment scénariser l’éclairage d’un escalier ?
Cycle 3 Cycle 4 Pilotage du robot mBot Site scratch :
Les Instructions Itératives (Les Boucles)
Un Algorithme , c'est Quoi ?
« Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils.
Détection des erreurs.
Algorithme et programmation
Algorithmique et programmation de modèles numériques
Les Tableaux Mme DJEBOURI. D.
Algorithmique AU El harchaoui noureddine
Algorithmique demander jeu du pendu.
Synthèse Tableau Le tapis de course.
Ajouter le code dans une page html
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Communication, Calcul
L’Instruction de Test Alternatif
Algorithmiques Abdelbasset KABOU
SIF-1053 Architecture de ordinateurs
Les Instructions – Organigramme
Bases de programmation en Python
Activités algorithmiques
Algorithmique & Langage C
Programmation Impérative II
Science du traitement rationnel de l'information
Exercice 8 : Déterminez l’algorithme permettant à votre calculatrice de donner les racines de n’importe quel polynôme de degré 2.
Programmation en C++ Classes
Codage Indenter le code Limiter la portée des variables Traiter les erreurs en premier Utiliser le switch au delà de 3 tests en cascades Ne jamais utiliser.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Science du traitement rationnel de l'information
Coding party Écrire un programme qui élève un nombre au carré Écrire un programme qui teste si un nombre est pair Écrire un programme qui calcule la factorielle.
Algorithmique & Langage C IUT GEII S1 Notes de cours (deuxième partie)
Coding party Écrire un programme qui élève un nombre au carré Écrire un programme qui teste si un nombre est pair Écrire un programme qui calcule la factorielle.
Programmation en C++ C++ de base
Cours N°10: Algorithmiques Tableaux - Matrices
PROGRAMMATION ET ENSEIGNEMENT
Exercice PHP DEUST TMIC
Entrées/Sorties - Variables - Calculs - Alternative
Eléments de base du langage C
Exercice : le jeu. Vous devez concevoir l’algorithme permettant de jouer avec votre calculatrice : elle détermine au hasard un nombre caché entier entre.
B.Shishedjiev - Informatique
Semaine #2 INF130 par Frédérick Henri.
Filière Génie Civil – 2018 Langage C Tableaux – Exercices de révision
Le code de Huffman: est une méthode de compression statistique de données qui permet de réduire la longueur du codage d'un alphabet. Le code de Huffman.
Le programme informatique L’algorithme Le codage
PRO1026 Programmation et enseignement
H. Wertz -- Exécution Symbolique
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Programmation Scratch
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Tris Simples/Rapides.
PROGRAMMATION ET ENSEIGNEMENT
Le langage C# : Partie 1.
Arbre binaire.
INTELLIGENCE ARTIFICIELLE
Python Nicolas THIBAULT
Eléments de base du langage C
Type Tableau Partie 1 : Vecteurs
Transcription de la présentation:

« Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils. Ça, ce sont les caractéristiques de la magie. » Dave Small Objectif : obtenir de la « machine » qu’elle effectue un travail à notre place Problème : expliquer à la « machine » comment elle doit s'y prendre

Science du traitement rationnel de l'information Informatique Science du traitement rationnel de l'information par des machines automatiques Philippe Dreyfus, 1962

Algorithme et organigramme Un algorithme est une suite finie et non ambiguë d’opérations ou d'instructions permettant de résoudre un problème. Un organigramme est une représentation d'une programmation sous forme d'un schéma. Un programme est une implémentation d'un algorithme ou d'un organigramme.

Exemples d'algorithmes Briques de LEGO Camion de pompiers suite de dessins Meuble en kit Cuisine équipée notice de montage Farine, œufs, .... gâteau recette

Séquence linéaire Début Saisie Traitement Affichage Fin

Un premier algorithme Algorithme ElèveAuCarré { Cet algorithme calcule le carré du nombre que lui fournit l'utilisateur } variable unNombre, sonCarré : entier ; { déclarations des variables } début { préparation du traitement } unNombre := saisir("Quel nombre voulez-vous élever au carré ?") ; { traitement : calcul du carré } sonCarré := unNombre × unNombre ; { présentation du résultat } afficher("Le carré est : ", sonCarré) ; fin

#include <stdio.h> int main() { // declaration int nombre, carre; // saisie printf("tapez un nombre"); scanf("%d", &nbr); // traitement carre = nombre * nombre; // affichage printf("son carre est %d", carre); return 0; } #include <iostream> using namespace std; int main() { // declaration int nombre, carre; // saisie cout << "tapez un nombre : "; cin >> nombre; // traitement carre = nombre * nombre; // affichage cout << "son carre est " << carre << endl; return 0; } # saisie nombre = input("tapez un nombre : ") # traitement carre = nombre * nombre # affichage print(carre)

Un deuxième algorithme Algorithme ToutOuRien { affiche 0 si une valeur saisie est inférieure à un seuil donné sinon affiche 1 } constante (SEUIL : entier) := 5 ; { seuil à 5 V } variable val : réel ; { valeur analogique } début val := saisir("Donnez un nombre :") ; si val < SEUIL alors val := 0 ; sinon val := 1 ; afficher("La valeur finale est : ", val) ; fin

#include <stdio.h> int main() { const int SEUIL = 5; float val; printf("Donnez un nombre : "); scanf("%f", &val); if ( val < (float) SEUIL ) val = 0; else val = 1; printf("La valeur finale est : %d", (int) val); return 0; } #include <iostream> using namespace std; int main() { const int seuil(5); float val; cout << "Donnez un nombre : "; cin >> val; if ( val < static_cast<float>(seuil) ) val = 0; else val = 1; cout << "La valeur finale est : " << static_cast<int>(val); return 0; } # declaration SEUIL = 5 # saisie val = input("Donnez un nombre : ") # traitement if val < SEUIL: val = 0 else: val = 1 # affichage print("La valeur finale est : ", val)

L'instruction conditionnelle si <expression logique (vraie)> alors début Instructions ; fin sinon

En langage C/C++ { traitement1(); } else traitement2(); if ( condition ) { traitement1(); } else traitement2(); En langage Python if condition : traitement1() else : traitement2()

Sélection conditionnelle Selon <identificateur> Faire (Liste de) valeur : Traitement() ; FinFaire Sinon : Traitement_par_defaut() ; finselon

En langage C/C++ En langage Python switch ( value ) Traitement2() { case 2 : Traitement2(); Break ; case 3 : Traitement3(); break ; default : Traitement1(); } En langage Python if value == 2 : Traitement2() elif value == 3 : traitement3() else : traitement1()

Les instructions itératives pour <variable> de <valeur_initiale> à <valeur_finale> par pas de <n> Faire Action(s) FinFaire

En langage C En langage C++ // le nombre d'itérations est connu int i ; for ( i = Vi ; i != Vf ; i += pas ) { Action(); } // en sortie de boucle, i = Vf // le nombre d'itérations est connu for ( int i(Vi) ; i != Vf ; i += pas ) { Action(); } // en sortie de boucle, i = Vf

En langage Python // le nombre d'itérations est connu for i in range(Vi, Vf) : Action()

Les instructions itératives ❶ tanque <expression logique (vraie)> faire début Instructions ; Fin ❷ répéter tanque <expression logique (vraie)> ;

En langage C/C++ En langage Python while ( condition ) { Traitement(); } while condition : Traitement() do { Traitement(); } while ( condition ) ; continuation = True while continuation : Traitement() if not condition : continuation = False

Exemple 1 : le distributeur de boisson Un distributeur propose de 2 types de boissons : eau et soda. Le stock initial de chaque boisson est égal à 20. Quand les stocks sont vides, le système doit avertir la maintenance et se mettre Hors Service. Sinon, le système doit demander la boisson désirée. Le bouton 1 sélectionne une bouteille d'eau Le bouton 2 sélectionne une canette de soda Une fois la sélection faite, si le stock de la boisson sélectionnée n'est pas vide, le système met à jour le stock, sélectionne la boisson demandée et ouvre la trappe d'accès à la boisson.

Notions abordées Opérateur logique Conditions imbriquées

Exemple 2 : le chiffre de Caesar* Jules César, dans ses correspondances secrètes, codait le texte en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l'ordre de l'alphabet. * http://fr.wikipedia.org/wiki/Chiffrement_par_décalage

Exemple 3 : le mot de passe Réaliser l'algorigramme d'un programme qui demande à un utilisateur de définir un mot de passe. Le mot de passe ne doit pas être inférieur à 5 caractères. Le mot de passe de doit pas dépasser 10 caractères. Tant que le mot de passe est incorrect, on doit demander le mot de passe. Si le mot de passe est correct, on fait appel à un sous programme de chiffrement*, puis on enregistre le mot de passe chiffré dans un fichier. * avec un algorithme de chiffrement par décalage

Notions abordées Programmation modulaire Fonctions statiques Fichier à accès aléatoire

Utiliser le mot clef stastic Programmation modulaire datadisplay.cpp void setup() { //... } Collision ! datalogger.cpp void setup() { //... } Utiliser le mot clef stastic

Exemple 4 : le tri à bulles Mesurer la performance de l'algorithme du tri à bulles* sur une liste de 1000 éléments. Créer une liste de 1000 entiers [0 ; 500] générés aléatoirement. Trier la liste selon l'algorithme du tri à bulles. Afficher le temps de calcul. Enregistrer la liste triée dans un fichier. Bonus : Enregistrer le temps de traitement pour des listes de tailles différentes. Évaluer graphiquement la performance de l'algorithme. * permutations successives d'éléments adjacents

Exemple 5 : occurrence des lettres Déterminer l'occurrence des lettres de l'alphabet dans un texte*. Utiliser un fichier comportant au moins 1000 caractères. Afficher les occurrences en %. Afficher les occurrences avec un histogramme. Bonus : Afficher les occurrences en % par ordre décroissant. * utilisé en cryptographie pour le déchiffrement par méthode statistique

Exemple 6 : pour terminer... Écrire un programme pour rechercher les racines d'un polynôme : Quelconque de degré 2 D'équation : y = 0,25.x3 + 0,75.x² − 1,5.x − 1,9