1. Ook Christophe Delagarde, septembre 1999 I.U.T., Université de la Méditerrainée 2.

Slides:



Advertisements
Présentations similaires
Les Structures.
Advertisements

Premier programme en C :
La boucle for : init7.c et init71.c
Chap. 4 Recherche en Table
Initiation à la programmation et algorithmique cours 2
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Sensibilisation à l’Algorithmique et structure de données
Calculs de complexité d'algorithmes
Algorithmique Résume.
GEF 435 Principes des systèmes d’exploitation
Visual Basic for Applications
(Classes prédéfinies – API Java)
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Chap. 1 Structures séquentielles : listes linéaires
5. Les structures répétitives
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Langage C Révision.
CPI/BTS 2 Programmation Web Introduction au PHP
Cours de programmation
Python La structure alternative
Récursivité.
Algorithmique et Programmation
Expressions et assignations
Les piles Djamal Rebaïne.
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Sémantique axiomatique
Le codage des nombres en informatique
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
CHAINE DE CARACTERES : Définition :
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Répéter dans un programme avec une Instruction itérative
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Plan cours La notion de pointeur et d’adresse mémoire.
2.1 - Historique Chapitre 2 : Introduction au langage C++
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
SIF-1053 Architecture des ordinateurs
Les structures répétitives en PHP Réfs : manuel p 317.
L’écriture des grands nombres: les puissances de 10
Un survol du language C.
Les tests.
 Syntaxe du langage PHP
Introduction au langage C Fonctions et Procédures
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
1. Spoon Christophe Delagarde, septembre 1998 I.U.T., Université de la Méditerrainée 2.
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
UE MAREP Cours 5 : Structures de contrôle représentées en assembleur
Module algorithmique et programmation
Introduction à la programmation (420-PK2-SL) cours 8
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Introduction à la programmation (420-PK2-SL) cours 6 Gestion des applications Technologie de l’information (LEA.BW)
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
PRO-1027 Programmation Scientifique en C
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Mathématiques - Mesure
Principes et variables
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Séance Flash 2 TD SI28 du 16/04/07 Nadel Ben Ghmiss Bruno Prémartin.
Algorithmique Boucles et Itérations
Introduction au langage C
FLASH Séance 2 Xiaoliang Liang Morgane Le Nan SI28 P05.
Flash – séance 2 Interactions avec Action Script.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
O UTILS DE P ROGRAMMATION P OUR LES M ATHÉMATIQUES Mr. BENDIB. I MAA, LAMIS Laboratory, Université Larbi Tébessi - Tébessa.
Transcription de la présentation:

1

Ook Christophe Delagarde, septembre 1999 I.U.T., Université de la Méditerrainée 2

3 Définition du Ook

4 Ook Origine du langage Le langage Ook est une variante de brainfuck. C'est un langage Turing-complet, conçu pour être parfaitement lisible par un orang-outan, en référence au personnage du bibliothécaire de l'univers du Disque-monde de Terry Pratchett.

5 Instructions Définition du Ook

6 En Ook, il n’y a que 8 instructions, dont voici les significations : Ook. Ook?incrémente (augmente de 1) le pointeur. Ook? Ook.décrémente (diminue de 1) le pointeur. Ook. incrémente l'octet du tableau sur lequel est positionné le pointeur (l'octet pointé). Ook! décrémente l'octet pointé.

7 Ook! Ook.sortie de l'octet pointé (valeur ASCII). Ook. Ook! entrée d'un octet dans le tableau à l'endroit où est positionné le pointeur (valeur ASCII). Ook! Ook? saute à l'instruction après le Ook? Ook! correspondant si l'octet pointé est à 0. Ook? Ook! retourne à l'instruction après le Ook! Ook? si l'octet pointé est différent de 0.

8 Comprendre avec le C Instructions Définition du Ook

9 Chaque instruction a son équivalent en C OokC Ook. Ook? ​ ptr++; ​ Ook? Ook. ​ ptr--; ​ Ook. Ook. ​ (*ptr)++; ​ Ook! Ook! ​ (*ptr)--; ​

Ook! Ook. ​ putchar(*ptr); ​ Ook. Ook! ​ (*ptr) = getchar(); ​ Ook! Ook? ​ while(*ptr) { ​ Ook? Ook! ​ }

11 Comprendre avec le C Instructions Hello Word ! Définition du Ook

12 Un premier programme : Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook! Ook?Ook. Ook?Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook?Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook?Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook?Ook. Ook.Ook? Ook.Ook? Ook.Ook? Ook.Ook? Ook.Ook! Ook!Ook? Ook!Ook. Ook?Ook. Ook.Ook. Ook.Ook! Ook.Ook. Ook?Ook. Ook.Ook! Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook! Ook.Ook! Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook! Ook.Ook. Ook?Ook. Ook.Ook. Ook.Ook! Ook.Ook? Ook.Ook? Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook! Ook.Ook. Ook?Ook! Ook.Ook. Ook.Ook. Ook.Ook. Ook.Ook! Ook.Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook.Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook!Ook! Ook.Ook. Ook?Ook. Ook.Ook! Ook.Ook. Ook?Ook! Ook.

13 Comprendre avec le C Instructions Hello Word ! Combinaisons d’instructions Définition du Ook

14 Le Ook permet la création d’instructions plus complexes en associant des instructions simple : -Remise à zéro de l’octet pointé -Entrée Sortie d’un caractère -Boucle simple -Manipulation de pointeur -… et bien plus encore !

15 Remise à zéro de l'octet pointé L'octet est décrémenté (boucle Ook! Ook? Ook? Ook!) jusqu'à ce que sa valeur ait atteint 0. Ook! Ook?Ook! Ook!Ook? Ook! Entrée/Sortie d'un caractère Ook. Ook!Ook! Ook. Affiche à l'écran un caractère entré au clavier. Boucle simple Boucle affichant les caractères entrés au clavier. La fin de la saisie est ici signalée par un 0 (les implémentations peuvent différer sur ce point). Ook. Ook!Ook! Ook?Ook! Ook.Ook. Ook!Ook? Ook!

16 Manipulation de pointeur Une version améliorée de la boucle précédente, dans laquelle les caractères saisis par l'utilisateur sont stockés dans un tableau en vue d'une utilisation future, en déplaçant le pointeur à chaque fois. Ook. Ook?Ook. Ook!Ook! Ook?Ook! Ook.Ook. Ook?Ook. Ook!Ook? Ook! Addition Ook! Ook?Ook! Ook!Ook. Ook?Ook. Ook.Ook? Ook.Ook? Ook! Ce code ajoute l'octet courant (en le détruisant, il est donc remis à 0) à l'octet suivant.

17 Comprendre avec le C Instructions Hello Word ! Combinaisons d’instructions Instructions conditionnelles Définition du Ook

18 Les instructions conditionnelles du ook correspondent au bloc « if » du C Un moyen simple d’écrire un bloc if est : Ook. Ook?Ook! Ook?codeOok? Ook.Ook? Ook!Ook? Ook.Ook! Ook?Ook. Ook?Ook? Ook! Voyons maintenant plus en détail ce bloc …

19 Si on a besoin de faire une condition après laquelle le code s'arrête, on peut se contenter de "Ook. Ook?Ook! Ook?codeOok? Ook.Ook? Ook!", puisque la partie "Ook? Ook.Ook! Ook?Ook. Ook?Ook? Ook!" sert uniquement à mettre le pointeur, à l'état final, sur le deuxième octet dans les deux cas. "Ook. Ook?" : on met le pointeur sur n Si n est égal à 0, la boucle ne s'exécute pas et le pointeur est toujours sur n, on revient alors en arrière ("Ook? Ook.", on est alors sur le 2ème octet) puis la boucle ne s'exécute pas puisque nous sommes sur le 0 (Ook! Ook?Ook. Ook?Ook? Ook! revient à dire "va sur le premier octet nul en partant de l'octet pointé inclus"). Si n est différent de 0, la boucle s'exécute et le code aussi, le pointeur revient alors sur le 2ème octet et la boucle s'arrête, puisque cet octet est égal à 0. Le pointeur est donc sur le 2ème octet. On revient ensuite en arrière ("Ook. Ook?"), donc sur le premier octet (égal à 1) puis, comme dit, la boucle Ook! Ook?Ook. Ook?Ook? Ook! emmène le pointeur sur le premier octet nul suivant l'octet pointé inclus, or le premier est différent de 0 et le second égal à 0, ce qui amène le pointeur sur le deuxième octet.

20 Préparer le prochain cours Comprendre avec le C Instructions Hello Word ! Combinaisons d’instructions Instructions conditionnelles Définition du Ook

21 A travailler : -Commencer à voir les macro-définition du ook -Voir les opérations mathématique (addition et multiplication) -Réviser ce cours (contrôle en fin de séance)