Programmation
Dissertation : Programmation. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresuement composé de 0 et de 1) <0101000011111001010010101010100101010010101000111111100101001010101001>, sera interprété par votre matériel pour mettre de côté la valeur variante. Néanmoins, il serait indigeste pour les programmeurs d’écrire ces inintelligibles suites de 0 et de 1. Comme alternative, ils utilisent un langage plus compréhensible à un humain, par exemple le C++. Toutefois, celui-ci ne peut être compris par votre ordinateur, qui ne mange que du ouvert/fermé, 1/0. Le compilateur doit donc transformer votre code-source en langage machine. Il est impératif d’en avoir un pour que les fichiers propres au langage informatique utilisé se rassemblent en un fichier exécutable .exe.
Paradigme OO
Un paradigme, en programmation, est une façon spécifique de programmer. On respecte implicitement un contrat avec la manière dont nos instructions seront écrites et l’implémentation du langage utilisé. Néanmoins, comme introduit précédemment, le choix des paradigmes dépend du langage. Une des forces du C++ consiste à pouvoir se servir de l’Orienté Objet, aussi abrégé OO. L’orienté objet est un concept pouvant à lui seul prendre une année complète à maîtriser. Toutefois, son point prépondérant est la vision objet. La vision objet consiste à tout voir, dans un programme, en tant qu’objet. Un objet est un élément regroupant des fonctionnalités et des attributs propres à lui. Il peut être généré plusieurs fois sans avoir besoins de toujours réécrire la même suite de spécifications. Prenons un exemple plus concret : j’ai un animal, dans mon jeu dédié aux enfants. Celui-ci est un tigre et il y aura plusieurs tigres dans ma jungle. Ainsi, chaque fois qu’on apercevra un tigre, on pourra se dire : << Oh, voilà un objet. En effet, il possède des attributs, tels que sa couleur, son âge, sa race et sa grandeur. De plus, il réagit et utilise donc des actions logiques telles que manger, se déplacer et autre>>. Bref, la vision objet consiste à encapsuler les propriétés et fonctions dans une classe. Cette classe pourra être créée un nombre illimité de fois sans que le programmeur ait besoin de changer quoi que ce soit et/ou réécrire sempiternellement la même chose. Ce paradigme offre une maintenance robuste et une capacité d’adaptation élevée.
Partie Algorithme
Introduction aux algorithmes
Un algorithme pourrait, vulgarisé à l’extrême, ressembler à une recette de gâteau. C’est un ensemble d’instructions, après avoir fourni les ingrédients, dans l’objectif de réaliser un tout répondant à nos exigences. En effet, l’algorithmique consiste à mettre en code ou pseudo-code une manière de procéder de façon à pouvoir aisément répéter cette tâche.
Pseudo-code
Sans plus attendre, voici donc le fameux pseudo-code mentionné ci-haut. Lorsqu’on désire mettre sur papier une suite d’idées d’ordre plus informatique, le pseudo-code sert à concrétiser cette envie. Celui-ci répond à une suite de conditions et d’instructions facilement compréhensibles à tout être humain, sans devoir connaître un langage.
Voici donc les mots-clés de base à connaître :
SI – SI NON QUE – SINON – FIN SI -> On dénote une condition
TANT QUE – FIN TANT QUE -> On exécute plusieurs fois les mêmes actions
VARIABLE X = 5 -> On crée une variable avec une certaine valeur
X++ -> On augmente la valeur de 1
X-- -> On diminue la valeur de 1
X += 5 -> On augmente la valeur de 5
X -= 5 -> On diminue la valeur de 5
X *= 5 -> On multiplie la valeur par 5
X /= 5 -> On divise la valeur par 5
// -> Indique un commentaire sur le reste de la ligne
RETURN -> Indique la variable retournée comme résultat final
Voici donc un calcul selon la fameuse équation calculant le volume du cercle
VARIABLE resultat = 0 // Notre résultat se retrouvera dans cette variable
VARIABLE rayon = r // Notre variable rayon, paramètre de l’utilisateur dans l’équation
resultat *= π // On multiplie par PI
VARIABLE compteur = 0 // Variable servant à faire une puissance
TANT QUE : compteur PLUS PETIT QUE 3 // On fait 3 fois la multiplication
resultat *= rayon // On multiplie notre resultat par le rayon
compteur++ // On augmente le compteur afin d’éventuellement quitter la boucle
FIN TANT QUE // Fin de la boucle
RETURN resultat // Resultat final
Complexité algorithmique
La notion de complexité algorithmique peut, au premier abord, sembler compliquée. Néanmoins, il faut tout simplement savoir que cela n’en est rien. Effectivement, ce concept à l’allure abstraite sert tout simplement à décrire mathématiquement l’efficacité d’un algorithme. Certains pourraient dire que la machine importe pour beaucoup dans le résultat. Et ils auraient raisons, toutefois, ce concept a justement pour but de s’affranchir de tout élément, qu’il soit technique, dépendant du langage, ou matériel, dépendant de la rapidité de l’ordinateur utilisé. Admettons que notre algorithme a pour but de trier un ensemble de données en ordre croissant comportant N termes. La complexité algorithmique sera donc donnée en fonction de N, le nombre d’entrées. Ainsi, si l’algorithme est considéré comme rapide, nous pourrons atteindre une complexité logarithmique . Un programme moyen développé par quelqu’un ne désirant pas optimiser atteint habituellement une complexité quadratique . Les pire cas surviennent habituellement avec une complexité exponentielle , tandis que les meilleurs cas surviennent avec une complexité linéaire .
Exemple C++ / Algorithmes légers
Voici donc un petit programme comportant 3 fonctions :
* Min, dont le but est de savoir lequel des 2 paramètres est le plus petit
* Max, dont le but est de savoir lequel des 2 paramètres est le plus grand
* Moyenne, dont le but est de calculer la moyenne d’un tableau de notes
-------------------------------------------------
#include
...