Découvrir le langage Linotte

Documents pareils
Programmation C++ (débutant)/instructions for, while et do...while

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)


INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Algorithmique avec Algobox

Initiation à la programmation en Python

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Algorithmique et structures de données I

Rappels sur les suites - Algorithme

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Algorithmique avec Algobox

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

I. Introduction aux fonctions : les fonctions standards

Cours d Algorithmique et de Langage C v 3.0

STAGE IREM 0- Premiers pas en Python

Notions fondamentales du langage C# Version 1.0

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

OSCAR Un outil gratuit libre d images disque

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Bernard HAMM, Évelyne LAVOISIER

Utiliser des fonctions complexes

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Programmation C. Apprendre à développer des programmes simples dans le langage C

Feuille TD n 1 Exercices d algorithmique éléments de correction

Cours Informatique Master STEP

Algorithmique et Programmation, IMA

Propagation sur réseau statique et dynamique

Initiation à l algorithmique

LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010

Les différents types de données et leurs opérations de base

Description globale. Présentation du site Internet

Plan du cours. Historique du langage Nouveautés de Java 7

Bases de programmation. Cours 5. Structurer les données

Initiation à LabView : Les exemples d applications :

Fais ton site internet toi-même

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Cégep de Saint Laurent Direction des communications et Direction des ressources technologiques. Projet WebCSL : Guide de rédaction web

Définitions. Numéro à préciser. (Durée : )

Cours d Informatique

Bienvenue à l historien virtuel 2.0

Formation Site Web. Menu du jour. Le web comment ça marche? Créer un site web Une solution proposée pour débuter La suite?

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

UE Programmation Impérative Licence 2ème Année

Représentation d un entier en base b

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique)

1 Recherche en table par balayage

Chapitre 2. Classes et objets

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

L exclusion mutuelle distribuée

Modules InnovationCRM

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Documentation module hosting

Algorithme. Table des matières

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Créer une trace, obtenir son fichier gpx et sa carte Ou Afficher un fichier trace GPX

Premiers pas avec Mathematica

Chapitre 10 Arithmétique réelle

Document d aide au suivi scolaire

Introduction : présentation de la Business Intelligence

Logiciel. Table de matières I Environnement requis...2

Maple: premiers calculs et premières applications

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Cours d algorithmique pour la classe de 2nde

TP 1. Prise en main du langage Python

Formation : WEbMaster

Organigramme / Algorigramme Dossier élève 1 SI

S LICENCE INFORMATIQUE Non Alt Alt SS1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques)

La gestion des boîtes aux lettres partagées

Carl-Louis-Ferdinand von Lindemann ( )

Calcul Formel et Numérique, Partie I

Java DataBaseConnectivity

Intelligence Artificielle Planification

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Solutions du chapitre 4

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

SAP BusinessObjects Web Intelligence (WebI) BI 4

Le graphisme et l écriture, en lien avec les apprentissages en maternelle

COURS ALGORITHMIE. Mathématiques. Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer. Julien Bordas T.S 3

Projet Active Object

Notes de mise à jour. 4D v11 SQL Release 3 (11.3) Notes de mise à jour

Sauvegarder automatiquement sa clé USB

Licence Sciences et Technologies Examen janvier 2010

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Présentation Générale

Je communique par

Transcription:

Découvrir le langage Linotte Le langage de programmation entièrement en français, simple, puissant. Introduction au langage 2011 v0.6

Plan Découvrir le langage Le livres et les paragraphes Les acteurs et les rôles Les actions L'affectation de valeur Interaction homme / machine Les boucles FOR classiques Les boucles FOR simplifiées Et bien plus encore! Les conditions Les boucles WHILE Les sous-paragraphes Les mathématiques Paradigme impératif Paradigme fonctionnel Récursivité Syntaxe sucrée

Découvrir le langage Linotte Très simple à apprendre : une syntaxe proche du français; Pédagogique : on écrit ce que l'on pense; Notion de variables, de boucles, d'objets, de clonages, d'héritage, de graphisme, de réseaux, de fichiers, d'évènements, de traitements parallèles, etc. Gratuit et même plus : libre! Logiciel disponible sous la licence GPL V3.

Le livre et les paragraphes Un livre regroupe les instructions qui vont permettre de créer votre programme. Un livre est structuré en paragraphes. Les paragraphes permettent d'architecturer un programme et de construire des algorithmes (récursifs par exemple). Par comparaison, en langage Java, un livre est un programme, un paragraphe est une méthode. Un paragraphe peut avoir des paramètres : des doublures.

Le livre et les paragraphes Exemple 1 : principal : Rôles : Prénom :: texte Affiche "Quel est ton prénom?" Demande le prénom Affiche "Bonjour, " + prénom Termine

Les acteurs et les rôles Les acteurs sont les entités qui vont stocker les valeurs de votre programme. Les acteurs sont identifiés par un nom. La sémantique d'un acteur est déterminée par son rôle : un texte, un nombre, un casier, une espèce. Les acteurs doivent être déclarés au début d'un paragraphe. Un acteur ne peut changer de rôle.

Les acteurs et les rôles Exemple 2 : principal : Rôles : Message :: texte <- "Quel est ton âge?" Âge :: nombre vide Affiche message Demande âge Affiche "Tu as " + âge Termine

Les actions Elles donnent les ordres à l'interprète Linotte (demander, afficher, terminer, etc.) Un verbe est une action; Les actions peuvent interagir avec un ou des acteurs; Elles se conjuguent au présent ou à l'impératif; On peut utiliser des articles devant les acteurs; Le verbier est l'ensemble des actions reconnues par l'interprète : la liste exhaustive est présentée dans le tutoriel du langage (plus de 50 actions!)

Les actions Question : Principal : Rôles : Message :: texte <- "Quel est ton âge?" Âge :: nombre vide Affiche message Demande âge Tu affiches "Tu as " + âge Tu termines

L'affectation de valeur Lors de l'initialisation de l'acteur dans la section les rôles : nom :: texte <- "nicolas" âge :: nombre <- 16 âge frère :: nombre <- âge + 15 En utilisant l'action Valoir : âge vaut 16 âge vaut âge frère + 16 âge vaut âge frère Autre syntaxe possible avec l'action Copier : copie âge frère dans âge

Interaction homme / machine Interroger l'utilisateur : Demande âge Questionne âge sur "Quel est ton âge?" Âge? Envoyer un message à l'utilisateur : Affiche âge Affiche "ton âge est " + âge "Ton âge est " + âge!

Les boucles classiques On précise l'acteur à incrémenter; On peut préciser le pas de la boucle; Boucles FOR avec un pas statique : Pour a de 1 à 10, affiche a Pour a de 10 à 1, affiche a Boucles FOR avec un pas dynamique : Pour n de 1 à 2 suivant n + 0.1, affiche n Pour n de 1 à 100 suivant n * b, affiche n

Les boucles simplifiées Le joker est un acteur pré-rempli par l'interprète; L'incrémentation ou la décrémentation est automatique; Les boucles FOR simplifiées : Pour chaque 3, affiche joker Pour chaque âge, affiche "Tu as eu " + joker De 1 à 10, affiche joker De 10 à 1, affiche joker

Les conditions Permet de brancher / débrancher une partie d'un livre : Si <condition> alors <action> Sinon, si <condition> alors <action> Sinon, <action> Exemples : Si a < b alors affiche "a est plus grand!" Si a <= c alors affiche "a est plus petit ou égal à c" Si "Chloë est une fille" contient "fille" alors affiche "C'est une fille!"

Les boucles WHILE La boucle Tant Que s'utilise avec une condition : Tant que <condition>, <action> Exemples : Tant que a < b, a vaut a + 1 Tant que a!= b, a vaut (b + a) / 2

Les sous-paragraphes Ils regroupent un ensemble d'actions dans un paragraphe; S'utilise uniquement avec les conditions et les boucles. Exemple sous-paragraphe : Principal : Rôles : n :: nombre b :: nombre <- 0 Pour n de 1 à 2 suivant n + b, lis b vaut b + 0.1 affiche n Ferme

Les mathématiques La liste des opérations reconnues par Linotte est riche : Cosinus, sinus, valeur absolue, arc cosinus, arc sinus, puissance, racine carrée, logarithme décimale, etc... La liste exhaustive est disponible dans le tutoriel du langage Linotte ou dans le menu Verbier de l'atelier Linotte; Supporte les décimaux très longs; Quelques valeurs prédéfinies : pi, euler; Exemples : n vaut cos (x) + log ( b + a ) affiche "Entier de pi = " + entier ( pi )

Paradigme impératif Façon la plus simple pour apprendre à construire un programme. S'emploie avec le verbe Aller : Spaguetti : Principal : Rôles : âge :: nombre questionne âge sur "Quel est ton âge?" si a > 30 alors va vers cas 1 si a < 31 alors va vers cas 2 Cas 1 : Affiche "Tu es vieux pour ton âge!" Termine Cas 2 : Affiche "Tu es un jeune!" Termine

Paradigme fonctionnel L'utilisation du verbe parcourir associée au verbe revenir constitue la base pour écrire une fonction en Linotte : Calcul du carré : Principal Rôles : n :: nombre <- 2 parcours calcul avec n affiche n termine Calcul : Rôles : *t :: nombre t vaut carré t reviens L'acteur t est une doublure, il est le représentant de l'acteur n dans le paragraphe calcul (passage des valeurs par référence).

Récursivité Elle s'utilise naturellement avec le verbe retourner. Exemple avec la factorielle : Calculer la factorielle : Principal : factorielle (5)! termine Factorielle : Rôles : *a :: nombre si a == 0 alors retourne 1 sinon, retourne a * factorielle (a-1) L'utilisation du verbe retourner offre la possibilité de définir des fonctions mathématiques.

Syntaxe sucrée... Déclaration d'acteurs plus concise : Forme francisée : Forme sucrée : nb1 est un nombre valant 3 Nb1 :: nombre <- 3 Déclaration d'un livre raccourcie : Forme francisée : Forme sucrée : Livre : factorielle Paragraphe : algorithme Factorielle : Algorithme :

Syntaxe sucrée... Exemple sucrée : Calculer la factorielle : Principal : Rôles : nb :: nombre <- 5 factorielle (nb)! termine Factorielle : Rôles : *a :: nombre si a == 0 alors retourne 1 sinon, retourne a * factorielle (a-1)

Et bien plus encore! Ce document ne présente qu'une petite partie des fonctionnalités du langage! Linotte est un langage de programmation recommandé par le ministère de l'éducation nationale : Programme pour la classe de seconde Doc_ress_algo_v25_109178.pdf Un forum est disponible sur le site : http://langagelinotte.free.fr/punbb Pour télécharger la dernière version et obtenir les dernières nouveautés, le blog : http://langagelinotte.free.fr/wordpress