[PDF] [PDF] La programmation

fondamentaux – Complexité d'un algorithme – Langages Introduction à la programmation Garder la maîtrise de la conception du logiciel parties qu'il se pourrait et qu'il serait requis pour les mieux Comment faire pour l'obtenir ?



Previous PDF Next PDF





[PDF] Apprendre à programmer avec Python 3 - INFOREF

Il existe un très grand nombre de langages de programmation, chacun avec ses Python convient aussi bien à des scripts d'une dizaine de lignes qu'à des La programmation est l'art d'apprendre à une machine comment accomplir de 



[PDF] Programmer pour les Nuls, 3e édition (French Edition) - livre gratuit

ensuite beaucoup plus facile de maîtriser n'importe quel autre langage Bien sûr, tout est technique en programmation, mais je réserve cette icône aux des bases solides, découvrir comment utiliser ces fonctions est aisé : il suffit de



[PDF] La programmation

fondamentaux – Complexité d'un algorithme – Langages Introduction à la programmation Garder la maîtrise de la conception du logiciel parties qu'il se pourrait et qu'il serait requis pour les mieux Comment faire pour l'obtenir ?



[PDF] APPRENDRE À - Dunod

devez apprendre un langage de programmation pour mieux comprendre la culture un enjeu social et politique que de comprendre comment les programmes 



[PDF] Conception dune grille danalyse des langages de programmation

Si le langage choisi pour apprendre la programmation est complexe, l' algorithme permettant de résoudre le problème « Comment assembler les pièces Bien qu'aucun prérequis en lien avec l'informatique n'existe pour l'inscription



[PDF] Le livre du C pour les vrais debutants en programmation - ACCUEIL

2 3 Comment échanger les valeurs de deux variables 2 4 Affectation et expression 4 1 Canevas général d'écriture d'un programme en langage C 4 2 Un exemple de permettent de saisir qu'il y a bien un "esprit C" Les spécificités du 



[PDF] Apprendre le langage Html - lehtmlcom

grâce à un programme appelé navigateur ou browser que les attributs précisent les modalités de cette action (comment il doit le faire ) Le langage Html étant un ensemble de balises et d'attributs, il nous paraît Cette alternative pour l'alignement horizontal du texte est parfois bien utile pour définir l' alignement d'une



[PDF] Le C en 20 heures - Framabook

d'exploitation que vous utilisez et du langage de programmation que vous choisirez vérifier en tapant ls -l (attention, tapez bien ls − l) qui devrait Dans ce chapitre, nous allons voir comment introduire des condi- équivaut à apprendre



[PDF] Les bases de linformatique et de la programmation - Unisciel

Le second chapitre introduit le concept de langage de programmation et de comment programmer des applications utilisant les messages système pour communiquer la valeur de l'entrée soit le booléen x (x=0 ou bien x=1) et que l' horloge soit à 0 Dans ce cas les tables d'opérateurs sont très longues à apprendre

[PDF] comment calculer le poids d'un objet

[PDF] comment changer la langue sur netflix

[PDF] comment comprendre les fractions en 6ème

[PDF] comment dire langue arabe en anglais

[PDF] comment écrire un texte d'opinion

[PDF] comment éviter la gastro remède de grand mère

[PDF] comment faire la synthèse d'un texte

[PDF] comment faire le futur proche

[PDF] comment faire sa cour en gravier

[PDF] comment faire un business plan pdf

[PDF] comment faire un e accent aigu

[PDF] comment faire une conclusion exemple

[PDF] comment faire une cour en gravier

[PDF] comment faire une cour pavée

[PDF] comment faire une introduction exemple pdf

La programmation•Présenter l'activité de programmation•Introduire et justifier la notion d'algorithme•Donner quelques principes méthodologiques-Diviser pour régner•Donner quelques repères fondamentaux-Complexité d'un algorithme-Langages Introduction à la programmation

La programmation•Votre programme s'exécute, mais...-Connaissez-vous les mécanismes utilisés ?-Etes vous sûr que le résultat soit juste ?-Combien de temps devrez vous attendre la fin du calcul ?-Y a-t-il un moyen pour obtenir le résultat plus vite ?»Indépendamment de la machine, du compilateur...•Un ordinateur ne s'utilise pas comme un boulier ! => Connaître des algorithmes=> Apprendre à les construire, les améliorer...Vous savez compter ! L'ordinateur aussi...

La programmationLa programmation• Question à résoudre par une solution informatique• Instance d'un problème = entrée nécessaire pour calculer une solution du problème• Ensemble de données• Ensemble de résultats

= solution informatique au problème• Description d' un ensemble d'actions• Exécution dans un certain ordre ProblèmeProgramme

La programmationCritères de qualité des programmes•Lisibles•Fiables•Maintenables•Réutilisables•Portables•Corrects (preuve)•Efficaces (complexité)•Contraintes "économiques" :-Exécution la plus courte possible-Espace mémoire nécessaire le plus petit possible...

La programmationRaisons d'être des méthodes de programmation•Augmentation de la taille et de la complexité des logiciels-Travail en équipe -Capacité de l'être humain à s'occuper de problèmes simultanément( 5 à 9 problèmes)•Nécessité de construire des programmes corrects, vérifiables et modifiables-Conséquences humaines, économiques... de plus en plus coûteuses => Méthodologie de conception des programmes-Garder la maîtrise de la conception du logiciel-Canaliser la créativité

La programmationPrincipes méthodologiques•Abstraire-Retarder le plus longtemps possible l'instant du codage•Décomposer-"...diviser chacune des difficultés que j'examinerais en autant de parties qu'il se pourrait et qu'il serait requis pour les mieux résoudre." Descartes•Combiner-Résoudre le problème par combinaison d'abstractions•Mais aussi :-Vérifier, modulaire, réutiliser...

La programmationNotion d'énoncé (du problème)•Souvent le problème est "mal posé"...-Rechercher l'indice du plus petit élément d'une suite=> Spécifier = produire un énoncé•Énoncé = texte où sont définies sans ambiguïté :

-L'entrée (données du problème)-La sortie (résultats recherchés)-Les relations (éventuelles) entre les données et les résultats•Que dois-je obtenir ?-Soit I l'ensemble des indices des éléments égaux au minimum d'une suite. Déterminer le plus petit élément de I.7 1 3 1 5

1 2 3 4 5

2?

La programmationNotion d'algorithme = Description d'un processus de résolution d'un problème bien défini= Succession d'actions qui, agissant sur un ensemble de ressources (entrée), fourniront la solution (sortie) au problème•Comment faire pour l'obtenir ?EnoncéAlgorithmeProgrammeRésolutionCodage

La programmationPseudo code#include main () {int n, i;scanf ("%d", &n);for (i=0; i<=n; i++) {if (i%2) {printf ("%d\n", i);}

}lire (n)pour i ¬ 0 à n

si (i mod 2) # 0 alors afficher(i)Plus abstrait, plus lisible, plus concis...Faire la différence entre les contraintes propres à un langage et les difficultés inhérentes à un problème donnéMet en avant l'essence de l'algorithme

La programmationComplexité d'un algorithme•Caractériser un algorithme-Indépendamment de la machine, du compilateur...-Complexité»Taille du problème : n»Nombre d'opérations significatives : T(n)»Taille mémoire nécessaire : M(n)•Au mieux, au pire, en moyenne•Notations asymptotiques-f(n) = O(g(n)) : borne asymptotique supérieure -f(n) = W (g(n)) : borne asymptotique inférieure-f(n) = Q(g(n)) : borne approchée asymptotique

La programmationComparaison de temps d'exécution•106 opérations par seconde•N = nombre de données à traiter•C = complexité de l'algorithme de traitementN x C1log2nnnlg2nn2n32n

102<1ms6,6ms0,1ms0,66ms10ms1s4.1016a

103<1ms9,9ms1ms9,9ms1s16,6ms?

104<1ms13,3ms10ms0.13s1,5mn11,5j?

105<1ms16,6ms0,1s1,66s2,7h31,7a?

106<1ms19,9ms1s19,9s11,5j31700a?

La programmationL'algorithmique•Permis de conduire informatique•Produit de matrices carrées n x n-Nombre de multiplications-Algorithme classique : T(n) = O (n3)

»Trop d'opérations-Meilleure borne inférieure connue : T (n) = W(n2) -Algorithme de Strassen : T(n) = Q(nlg 7) = O(n2,81) -Meilleur algorithme connu : T (n) = O(n2,376) •Programme-Algorithme destiné à la machineci,j=∑k=1,n aik×bkj

La programmationConception d'un programmeNe pas se laisser aveugler par l'objectif final : le codage !ProblèmeEnoncéAlgorithmeProgrammeSpécificationRésolutionCodage

La programmationProgrammer, c'est communiquer•Avec la machine•Avec soi même•Avec les autresAlgorithmes en pseudo-codeconcis et clairsProgrammes indentéset commentésDésignations évocatrices

La programmationCycle de vie d'un programme (1)•Analyse + spécification-Définir clairement le problème-Recenser les données-Dégager les grandes fonctionnalités•Conception-Organiser les données-Concevoir l'algorithme en pseudo-code•Codification-Traduire l'algorithme dans un langage de programmationUn processus itératifAnalyse + spécificationConceptionCodificationVérificationMaintenance

La programmationCycle de vie d'un programme (2)• 4. Vérification (test & mise au point)- Utiliser le programme avec des entrées spécifiques- Utiliser un outil de mise au point• 5. Maintenance- Adapter le programme existant pour de nouvelles fonctionnalités et/ou pour corriger les erreurs• Une documentation doit être associée à chaque étapeUn processus itératifAnalyse + spécificationConceptionCodificationVérificationMaintenance

La programmationGénéalogie partielle des langages de programmation•Plus de 4000 langagesFORTRANCOBOLALGOL 60BASICPL/1PASCALSIMULA 67C

C++ADAJAVASMALLTALKLISPMODULA-2PROLOGML

La programmationLe choix d'un langage n'est pas neutre•Un langage facilite la résolution de classes de problème-C : systèmes d'exploitation (Unix)...-C++ : applications de grande taille...-JAVA : applications de grande taille...-LISP : prototypage, systèmes experts...Y-a-t-il un langage universel ?L'assembleurJAVACC++LISPPASCAL

La programmationParadigmes des langages de haut niveau (1)•Désigner-Expliciter une entité, en la nommant et en lui associant une définition au moins intuitive•Typer-Connaître précisément les propriétés pertinentes d'une entité•Paramétrer-Traiter un problème plus général que le problème posé-Améliorer la résistance de la solution aux changements-Réutiliser

La programmationParadigmes des langages de haut niveau (2)•Sérialiser-Construire des séquences d'actions•Décomposer par cas-Découper le domaine des données initiales•Itérer-Introduire un sous problème intermédiaire paramétréRéduire la complexité d'un problème

La programmationLangage compiléCompilateurAssembleurEditeur de liensChargeurProgramme sourceProgramme cibleCode machine$ emacs monProg.c$ gcc monProg.c -o monProg$ ./monProg0x8048470 pushl %ebp 0x8048471 movl %esp,%ebp 0x8048473 pushl $0x80484dc 0x8048478 call 0x80483bc 0x8048480 addl $0x4,%esp0x8048481 leave0x8048481 ret

La programmationCompilation•Analyse lexicale•Analyse syntaxique•Analyse sémantique•Génération de code•Optimisationposition := initiale + vitesse * 60empiler adresse de positionempiler valeur de initialeempiler valeur de vitesseempiler 60*

*positioninitialevitesse601) 2) 3)

La programmationLangage interprété•emacs monProg.l•lisp monProg.lInterpréteurProgramme sourceCode machine0x8048470 pushl %ebp 0x8048471 movl %esp,%ebp 0x8048473 pushl $0x80484dc 0x8048478 call 0x80483bc 0x8048480 addl $0x4,%esp0x8048481 leave0x8048481 ret

quotesdbs_dbs3.pdfusesText_6