01 · Visión general
Sobre Linotte
Linotte es un proyecto educativo cuya sintaxis utiliza palabras y frases en francés. El proyecto oficial presenta un entorno para aprender fundamentos de programación y mantiene ejemplos de variables, interacción, condiciones, repeticiones, cálculos y funciones.
El código de esta referencia se conserva en francés para poder compararlo con los archivos originales. Traducir palabras como affiche, prend o ferme cambiaría la sintaxis.
02 · Organización
Programa y comentarios
Un programa Linotte se escribe como un conjunto de instrucciones en el archivo del proyecto. Los ejemplos iniciales no necesitan un bloque externo que envuelva todo el programa. Las instrucciones pueden ocupar una línea; los bloques de varias líneas terminan con ferme.
Los comentarios de línea comienzan con //. Los comentarios de varias líneas se escriben entre /* y */.
affiche "Bonjour !"
// Este comentario termina al final de la línea.
/*
Este bloque completo se ignora
durante la interpretación.
*/03 · Datos
Variables y valores
Linotte describe las variables como actores: cada actor tiene un nombre, un papel (su tipo) y un valor. La guía introductoria presenta cinco papeles básicos: texte, nombre, drapeau, casier y espèce. El papel se declara con est un; si se omite, el primer valor asignado con prend puede determinar el tipo.
prénom est un texte
prénom prend "Clément"
affiche prénom
prénom prend "Jade"
compteur est un nombre
compteur prend 10
compteur prend compteur + 1
actif est un drapeau
actif prend vrai
mois est un casier de textes valant "janvier", "février", "mars"
drapeau guarda un valor lógico, vrai o faux. Los nombres de actores pueden incluir acentos, como prénom; las palabras de tipo y los valores de texto permanecen en francés.
04 · Interacción
Entrada y salida
affiche muestra una expresión. demande solicita un valor y lo guarda en el actor indicado; declara su tipo antes de leerlo.
prénom est un texte
affiche "Quel est ton prénom ?"
demande prénom
affiche "Bonjour " + prénom
questionne prénom sur "Quel est ton prénom ?" combina la pregunta y la lectura del valor en una sola instrucción. Se pueden unir textos y expresiones con +.
05 · Expresiones
Operadores y matemáticas
| Grupo | Formas | Uso |
|---|---|---|
| Aritmética | + - * / | Operaciones básicas. |
| Potencia y resto | puiss, mod | Potencia y módulo. |
| Comparación | = != > < >= <= | Compara números o textos. |
| Lógica | et ou xou | Conjunción, disyunción y disyunción exclusiva. |
Los ejemplos oficiales también incluyen carré, cube, racine, abs, arrondi, sin, cos, tan, exp, log, logn y hasard.
affiche carré 4
affiche 2 puiss 4
affiche (2 puiss 3 + 5 * 2) / 3
affiche vrai ou faux06 · Decisiones
Condiciones
si inicia una condición y sinon introduce la alternativa. Una instrucción sencilla puede ir en la misma línea; los bloques de varias instrucciones terminan con ferme.
note est un nombre
age est un nombre
note prend 12
age prend 20
si note >= 10 affiche "Très bien !"
sinon affiche "Continue à pratiquer"
si age >= 18
affiche "Adulte"
affiche "Accès autorisé"
ferme
sinon
affiche "Mineur"
fermeLas condiciones comparan valores o comprueban un valor lógico. Los operadores relacionales de los ejemplos incluyen =, !=, >, <, >= y <=.
07 · Repetición
Repeticiones
pour recorre una secuencia numérica con los límites inicial y final incluidos. Los bloques de varias instrucciones se cierran con ferme. pour chaque recorre una colección y deja el elemento actual en el actor especial joker.
compteur est un nombre
pour compteur de 1 à 5 affiche compteur
pour compteur de 1 à 3
affiche compteur
attends 200 millisecondes
ferme
mois est un casier de textes valant "janvier", "février", "mars"
pour chaque mois
affiche joker
ferme
Elige límites que correspondan al número de pasos previsto. En un recorrido con pour chaque, usa joker para consultar el elemento actual.
08 · Reutilización
Funciones y valores de retorno
Una función se introduce con su nombre, dos puntos y sus parámetros. El cuerpo puede declarar variables locales, ejecutar condiciones y devolver un resultado con retourne. También puede ser recursiva.
double : nombre
retourne nombre * 2
fibonacci : n
si n < 2 retourne n
sinon retourne fibonacci(n - 1) + fibonacci(n - 2)Una llamada coloca los argumentos entre paréntesis después del nombre. Los ejemplos oficiales usan funciones para separar cálculos y construir mensajes.
09 · Organización de datos
Colecciones y extensiones
casier agrupa valores que se pueden recorrer con pour chaque. El entorno Linotte también incluye ejemplos visuales y bibliotecas adicionales; estos recursos dependen del entorno y no deben confundirse con instrucciones disponibles en todos los contextos.
nombres est un casier de nombres valant 2, 4, 6
pour chaque nombres
affiche joker * joker
ferme
Para un recurso concreto, consulta el ejemplo que lo acompaña y la documentación del componente en el proyecto original.
10 · Ejemplo integrado
Contar y decidir
limite est un nombre
compteur est un nombre
affiche "Jusqu'à quel nombre compter ?"
demande limite
pour compteur de 1 à limite
si compteur mod 2 = 0
affiche compteur + " est pair"
sinon
affiche compteur + " est impair"
ferme
fermeEste ejemplo combina declaración, entrada, repetición y decisión. Las palabras de sintaxis permanecen en francés.
11 · Colecciones
Acceso a colecciones e iteración
Un casier agrupa valores y permite recorrerlos sin repetir instrucciones. Los ejemplos oficiales empiezan los índices en cero: para tres elementos, las posiciones son 0, 1 y 2. Las llaves leen una posición; ajoute incorpora un valor a otra colección.
nombres est un casier de textes valant "Lia", "Caio", "Noa"
indice est un nombre
pour indice de 0 à 2
affiche nombres{indice}
ferme
pour chaque nombres
affiche joker
ferme
En pour chaque, joker representa el elemento de la iteración actual, por lo que no es necesario calcular el último índice.
12 · Escritura compacta
Atajos e interpolación
El tutorial oficial documenta atajos para mostrar, solicitar y asignar valores. La interpolación inserta el valor de un actor en un texto entre llaves.
prénom est un texte
prénom ? // solicita el valor
"Bonjour, {prénom} !" ! // muestra texto interpolado
prénom = "Jules" // forma abreviada de prend
"Bonjour, " & prénom !
& puede agrupar acciones o valores y § puede reemplazar ferme en ciertas formas abreviadas. Para estudiar la estructura, empieza por las instrucciones completas.
13 · Operaciones disponibles
Funciones integradas
Linotte incluye operaciones matemáticas y métodos para consultar o transformar texto. Algunas funciones usan notación prefija; los métodos de texto aparecen después del valor y llevan punto y paréntesis.
| Grupo | Formas documentadas | Uso |
|---|---|---|
| Matemáticas | carré, cube, racine, abs, arrondi, puiss, mod | Potencias, raíz, valor absoluto, redondeo y resto. |
| Trigonometría | sin, cos, tan, asin, acos, atan | Funciones trigonométricas. |
| Texto | inverser(), minuscule(), majuscule(), capitaliser(), remplacer() | Transformar o sustituir texto. |
| Consulta | taille(), position(), extraire() | Medir, localizar y extraer fragmentos. |
phrase prend "Bonjour la Terre"
affiche phrase.majuscule()
affiche phrase.remplacer("Terre", "Lune")
affiche phrase.taille()
et, ou y xou aparecen como operaciones lógicas en los ejemplos; consulta la referencia original para la forma concreta de cada llamada.
14 · Modelado
Especies y prototipos
Una espèce define un tipo propio de actor con atributos. La declaración indica el papel de cada atributo; al crear un actor se le asignan valores. Los ejemplos acceden a ellos como atributo de actor o atributo@actor.
espèces
nom & famille est un texte
pattes est un nombre
espèce animal contient nom, famille, pattes
principal :
chat est un animal, nom prend "Mimi", famille prend "félin", pattes prend 4
affiche nom de chat
affiche famille@chat
Una especie puede heredar de otra y añadir atributos. El Atelier también permite asociar funciones a prototipos; esos recursos amplían el modelo básico de datos.
espèces
couleur est un texte
espèce fleur hérite de point et contient couleur
15 · Recursos del Atelier
Eventos, gráficos y tareas
El Atelier ofrece objetos gráficos como toile, cercle, rectangle, image y graffiti, además de eventos del ratón y tareas iniciadas con appelle y sincronizadas con observe. Estos recursos dependen del entorno y no son necesarios para los algoritmos de texto.
alarme :
attends 2 secondes
affiche "Temps écoulé."
reviens
appelle alarme
observe alarme
Los tipos de eventos incluyen clic, doble clic y entrada o salida del puntero. Consulta el proyecto original para los atributos gráficos y las reglas de ejecución de tareas.
16 · Diagnóstico
Errores y depuración
El tutorial presenta essaie con una alternativa sinon para responder a errores de ejecución, y débogue para iniciar el seguimiento paso a paso en el Atelier.
- Lee el error e identifica la instrucción activa.
- Avanza paso a paso y observa los actores usados en cada cálculo.
- Comprueba que los bucles cambian el estado y alcanzan su condición de salida.
- Prueba colecciones vacías, un elemento y los límites de los índices.
La forma y disponibilidad de estas herramientas dependen del Atelier Linotte; la referencia describe el entorno original.
17 · Lectura adicional
Referencias
- Repositorio oficial de Linotte.
- Tutorial oficial «Découvrir Linotte 3 en dix minutes» (en francés), con ejemplos de actores, tipos, entrada, funciones, bucles y colecciones.
- Ejemplos oficiales de variables, entrada, condiciones, bucles, matemáticas y funciones.
- Wiki del proyecto y sitio oficial.