Haut PDF [PDF] Cours et exercices de programmation en Haskell | Formation informatique

[PDF] Cours et exercices de programmation en Haskell | Formation informatique

[PDF] Cours et exercices de programmation en Haskell | Formation informatique

4. Haskell, langage fonctionnel pur. Créé en 1990. Une de ses particularités est d'être un langage à évaluation paresseuse (lazy). Ces langages se distinguent selon certaines caractéristiques : Langages fonctionnels pur vs. impurs. Un langage fonctionnel sans eet de bord est dit langage fonctionnel pur. Par exemple, dans de tels langages il n'y a pas d'opération d'aection. Les langages purs restent assez rares, citons Haskell parmi eux. Lisp, Scheme, la famille des langages ML sont impurs. Typage statique vs. dynamique. Les arguments d'une fonction doivent avoir un type compatible avec celui de la fonction pour que l'évaluation d'une application puisse être réalisée. La vérication du type, ou typage, peut se faire à l'exécution du programme, on parle alors de typage dynamique. C'est le cas de langages comme Lisp ou Scheme. Inversement, le typage peut avoir lieu avant l'exécution du programme, lors de la compilation, le typage est alors qualié de statique. C'est le cas des langages de la famille ML.
En savoir plus

12 En savoir plus

[PDF] Support de formation complet pour apprendre le langage Haskell | Cours informatique

[PDF] Support de formation complet pour apprendre le langage Haskell | Cours informatique

haskell c'est bien 18 Surprise : au lieu d’attendre la fin de l’entrée pour donner le résultat, notre programme affiche le nombre de caractères après chaque ligne. En fait, la fonction getContents est paresseuse : au lieu de lire tout le contenu, puis de le renvoyer, elle crée une liste, et à chaque fois qu’un caractère de cette liste est demandé, elle le lit sur l’entrée standard. C’est très pratique pour un certain nombre de programmes, où on aimerait bien afficher le résultat dès que possible. Par exemple, quand on utilise des pipes pour connecter les entrées et les sorties de plusieurs programmes, on aime bien que chaque programme affiche le résultat en fonction de ce qu’il a déjà reçu, au lieu d’attendre la fin de l’entrée pour tout afficher. Dans le même esprit, il y a la fonction interact : elle prend une fonction de type String -> String, et renvoie une action IO (). On peut donc interagir en même temps avec l’entrée et la sortie, et coder notre programme de cette façon :
En savoir plus

105 En savoir plus

[PDF] Formation informatique d’initiation à la programmation Assembleur | Cours informatique

[PDF] Formation informatique d’initiation à la programmation Assembleur | Cours informatique

– on r´ecup`ere les donn´ees au sommet de la pile En informatique, nous pouvons utiliser une pile pour y stocker n’importe quel objet. L’int´erˆet d’une pile est qu’elle constitue une structure o` u l’acc`es ` a un objet est uniquement r´ealis´e sur le dernier objet empil´e (comme pour une pile d’assiettes, on prend la derni`ere assiette pos´ee sur la pile). Revenons, `a nos sous-programmes. Quand un appel de sous-programme est effectu´e, on doit sauvegarder l’adresse de retour. Pla¸cons-la sur une pile. Si ce sous-programme fait lui-mˆeme appel ` a un autre sous-programme, pla¸cons ´egalement l’adresse de retour sur la pile (c’est-`a-dire, au-dessus de l’adresse de retour empil´ee pr´ec´edem- ment). Quand ce sous-programme termine son ex´ecution, consultons le sommet de la pile : elle contient l’adresse de retour de sous-programme. D´epilons-la et continuons l’ex´ecution du programme `a cette adresse. Quand ce sous-programme termine ´egalement son ex´ecution, consultons ` a nouveau le sommet de la pile ; elle contient l’adresse de retour de ce sous-programme. Si nous la d´epilons et que nous reprenons l’ex´ecution du programme `a cette adresse, nous serons revenus dans le premier programme appelant. Nous pouvons main- tenant it´erer le processus et avoir des sous-programmes qui appellent des sous-programmes qui appellent des sous-programmes ... Le retour de l’appel´e au sous-programme appelant se passera alors sans aucune difficult´e en utilisant la pile contenant les adresses de retour (nous nommerons cette pile, la pile des adresses de retour).
En savoir plus

90 En savoir plus

[PDF] Cours de programmation informatique le langage Caml | Formation informatique

[PDF] Cours de programmation informatique le langage Caml | Formation informatique

3 construction et usage de nouveaux types En caml, l’utilisateur peut d´ efinir ses propres structures de donn´ee. Cette facilit´e permet une meilleure d´etection des erreurs de programmation car les types d´efinis par l’utilisateur sont sens´es refl´eter pr´ecis´ement les besoins de ses algorithmes. Les types constructibles en caml sont de deux genres : types du genre somme et types du genre produit. Nous verrons que les types unit, bool, ’a list sont du genre somme; en revanche, et cela ne surprendra personne, le produit cart´ esien est du genre produit. Avant de voir ce que sont sommes et produits de types en caml, il est int´eressant de formaliser un peu ces deux notions : la sym´etrie entre les deux est profonde.
En savoir plus

105 En savoir plus

[PDF] Programmation web niveau 1 exercices d'application | Cours Informatique

[PDF] Programmation web niveau 1 exercices d'application | Cours Informatique

L'AJAX (Asynchronous Javascript And XML, traduisez Javascript asynchrone et XML) n'est pas un langage, mais plutôt l'utilisation de plusieurs technologies les unes avec les [r]

5 En savoir plus

[PDF] Cours de programmation avec LAZARUS | Formation informatique

[PDF] Cours de programmation avec LAZARUS | Formation informatique

else result:=x*puissance(x,m-1) end ; Cette fonction présente une grande différence par rapport à toutes les fonctions que nous avons définies précédemment. Dans la définition même on trouve déjà un appel à la fonction puissance. Il s’agit ici d’un mécanisme très puissant, présent dans tous les langages de programmation modernes : la récursivité. Le fonctionnement exact de ce mécanisme ainsi que les conditions d’utilisation seront étudiées en détail dans les paragraphes suivants. Remarquons cependant qu’il existe un lien étroit entre la récursivité en informatique et la récurrence en mathématique. La définition de la fonction puissance présentée ici est une transcription quasi directe des formules
En savoir plus

92 En savoir plus

[PDF] Cours et exercices pour apprendre MATLAB | Formation informatique

[PDF] Cours et exercices pour apprendre MATLAB | Formation informatique

Ben Boubaker Mohamed Page - 1- Notes introductives à Matlab Le logiciel Matlab consiste en un langage interprété qui s'exécute dans une fenêtre dite d'exécution. L'intérêt de Matlab tient, d'une part, à sa simplicité d'utilisation : pas de compilation, déclaration directe des variables utilisées et, d'autre part, à sa richesse fonctionnelle : arithmétique matriciel et nombreuses fonctions de haut niveau dans de nombreux domaines (analyse numérique, graphique, ...). La programmation sous Matlab consiste à écrire des scripts de commandes Matlab, exécutables dans la fenêtre d'exécution. Et grâce aux diverses Toolboxes spécialisés (ensemble de fonctions Matlab), Matlab s'enrichit au fur et à mesure.
En savoir plus

28 En savoir plus

[PDF] Cours programmation Fortran en pdf | Formation informatique

[PDF] Cours programmation Fortran en pdf | Formation informatique

2 Déclarations & variables Identificateurs Types du fortran Précision des nombres Kind Chaîne de caractères Implicit none Constantes et initialisations Exercice 3 Opérateurs et expre[r]

156 En savoir plus

[PDF] Formation en Programmation JavaScript pdf | Cours informatique

[PDF] Formation en Programmation JavaScript pdf | Cours informatique

code javascript directement plac´ e dans le corps du fichier html :.. <script type="text/javascript">.[r]

89 En savoir plus

[PDF] Cours Programmation Logique en pdf | Formation informatique

[PDF] Cours Programmation Logique en pdf | Formation informatique

• Dans certains cas, la signification d´ eclarative du programme est conserv´ ee (coupe-choix “vert”) : le programme a la mˆ eme interpr´ etation logique avec et sans coupe-choix. • Dans[r]

106 En savoir plus

[PDF] Cours de programmation Android en pdf | Formation informatique

[PDF] Cours de programmation Android en pdf | Formation informatique

graphique ListView associé à cette activité.  public void setListAdapter(ListAdapter adapter) positionne le[r]

48 En savoir plus

[PDF] Cours et exercices de langage CAML en pdf | Formation informatique

[PDF] Cours et exercices de langage CAML en pdf | Formation informatique

CHAPITRE III TRAITEMENT DES LISTES f La liste chaînée est la structure de données fourre-tout la mieux adaptée à la récursivité car elle est représentée par un doublet d'adresses. La première pointant sur une valeur (la tête de la liste "hd") et la seconde sur la sous-liste qui suit (la queue "tl" c'est à dire également un doublet d'adresses. La liste vide [] joue donc toujours le rôle de dernier doublet. L'opérateur infixe double deux points :: ("cons" en Lisp, : en Haskell, . (le point) en ML et dans les anciens Lisp, enfin la barre | en Prolog) construit une liste en ajoutant le premier argument en tête du second qui doit être une liste.
En savoir plus

108 En savoir plus

[PDF] Cours complet de Programmation logique en pdf | Formation informatique

[PDF] Cours complet de Programmation logique en pdf | Formation informatique

Terminons ce premier contact en espérant que vous apprécierez la programmation en Prolog III, et que vous serez aidés en cela par ce manuel. Nous avons tenté d'y décrire, mais surtout de commenter et d'expliquer les nombreuses notions nouvelles qui font de Prolog III un langage qui se démarque fondamentalement des autres Prolog. Ce souci de produire un discours à la fois précis dans les fonctionnalités et didactique dans les concepts nous conduit, de fait, à considérer ce manuel comme une première étape. Et il nous apparaît évident que seuls votre aide, vos remarques et vos critiques nous permettrons de réellement faire évoluer cette documentation vers un outil dont l'ambition est de vous amener à pénétrer jusque dans ses moindres détails un langage qui initialise une nouvelle étape de la programmation logique.
En savoir plus

672 En savoir plus

[PDF] Formation en Programmation fonctionnelle LISP pdf | Cours informatique

[PDF] Formation en Programmation fonctionnelle LISP pdf | Cours informatique

Retenons ceci : parce que la fonction fait encore des opérations au retour de l’appel d’elle-même (ici, une multiplication), Lisp doit mémoriser la valeur de ses objets locaux (ici, l’argument formel, n). 4.3.1. Les boucles Il existe des formes spéciales pour écrire des boucles (« tant que », « pour », etc.) dans les programmes Lisp. Elles sont parfois bien utiles, mais compliquées et inesthétiques. Nous les éviterons, dans le cadre de cette initiation à la programmation fonctionnelle, nous en tenant à une technique beaucoup plus basique pour l’écriture de boucles : l’utilisation de fonctions récursives.
En savoir plus

43 En savoir plus

[PDF] Python programmation web pdf formation | Cours Informatique

[PDF] Python programmation web pdf formation | Cours Informatique

Une séquence est une suite de données placées en mémoire dans un ordre bien précis. Dans le schéma ci-dessus, on peut voir l'indice associé à chaque donnée dans la séquence. Les indices commencent à 0 ! Ainsi, les indices d'une séquence de longueur N iront de 0 à N-1 ! Python est un des rares langages de programmation qui vous permet d'accéder aux éléments d'une séquence à l'aide d'indice négatif. Ainsi, -1 est associé au dernier élément de la séquence et -N au premier élément de la séquence. Mais alors, comment utilise-t-on les séquences en Python ? Il existe différents objets pour représenter des séquences, et il en existe un que vous connaissez déjà : les chaînes de caractères. En effet, ce sont des séquences ordonnées de caractères individuels. Et d'ailleurs, vous pouvez accéder aux caractères en particulier dans les chaînes de caractères via leur indice. Regardons un petit exemple dans le shell pour faire quelques essais :
En savoir plus

120 En savoir plus

[PDF] Cours de Programmation fonctionnelle et logique pdf | Formation informatique

[PDF] Cours de Programmation fonctionnelle et logique pdf | Formation informatique

En informatique, on appelle une fonction récursive une fonction définie à partir d'elle même et qui s'appellera donc durant son exécution et qui peut fournir des fonctions qui ne s'arrêtent pas pendant leur exécution. Il existe 3 façons de bouclé pour une fonction : - Une fonction qui boucle sans rien modifier

33 En savoir plus

[PDF] Approche fonctionnelles de la programmation cours pdf | Formation informatique

[PDF] Approche fonctionnelles de la programmation cours pdf | Formation informatique

Au paragraphe 2.5.1, nous avions vu qu’au moment de la d´efinition d’une valeur fonctionnelle, tous les symboles intervenant dans l’expression qui est le corps de fonction sont verrouill[r]

52 En savoir plus

[PDF] Cours Algorithmique et Programmation Ada en pdf | Formation informatique

[PDF] Cours Algorithmique et Programmation Ada en pdf | Formation informatique

Introduction Ces notes de cours ne pr´etendent pas ˆetre exhaustives ni se substituer en aucune mani`ere aux ouvrages publi´es notamment sur le langage de programmation choisi Ada 95 (”Programmer en Ada 95” de J.G.P. Barnes chez Addison-Wesley. . .). Ce document n’a d’autre but que de fournir aux ´etudiants de L2 un support de cours leur permettant de revoir les notions du cours de premi`ere ann´ee utilisant Ada. Les programmes ont ´et´e test´es sur le compilateur GNAT (GNU Ada Translator) de diffusion libre et gratuite par ftp ://ftp.cs.nyu.edu/pub/gnat
En savoir plus

33 En savoir plus

[PDF] Cours la programmation logique par contraintes pdf | Formation informatique

[PDF] Cours la programmation logique par contraintes pdf | Formation informatique

Une substitution est une fonction partielle qui associe des termes à des variables (quʼon peut noter comme un ensemble de couples (Var, terme). si les deux termes résultants de la subst[r]

39 En savoir plus

[PDF] Cours Programmation Avancée Prolog pdf | Formation informatique

[PDF] Cours Programmation Avancée Prolog pdf | Formation informatique

Programmation déclarative Un programme déclaratif est une suite de déclarations qui constitue une base de connaissances dont on ne présuppose pas forcément l’utilisation qu’il en sera fait : on y affirme ce qui est mais on ne dit pas ce qu’il faut en faire .

26 En savoir plus

Show all 10000 documents...