{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "77a2ffee",
   "metadata": {},
   "source": [
    "# Laboratoire #5 - Listes et chaînes de caractères\n",
    "\n",
    "420-SN1-RK - Programmation en sciences<br/>\n",
    "Session : **Automne 2026**<br/>\n",
    "Pondération : **3 %**<br/>\n",
    "\n",
    "Les réponses et le code doivent être inscrits dans les cellules prévues à cette fin. Dans les exemples d'exécution, les lignes entre crochets représentent le message de `input()` et la réponse saisie; elles ne font pas partie de la sortie à reproduire.\n",
    "\n",
    "L'utilisateur est considéré comme « parfait » : ses entrées respectent les types, les formats et les limites indiqués dans chaque question. Aucune entrée inattendue n'est à prévoir, sauf lorsqu'une question demande explicitement sa prise en charge."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "759f5c2a",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## Question #1 - Remplir et afficher une liste\n",
    "\n",
    "Le programme doit demander des entiers et les placer dans une liste tant que les valeurs saisies sont positives. La première valeur inférieure ou égale à `0` doit aussi être ajoutée à la liste, puis la saisie doit s'arrêter. Le programme doit ensuite afficher chaque élément sur une ligne distincte.\n",
    "\n",
    "### Exemple d'exécution\n",
    "\n",
    "```text\n",
    "[Entier : 55]\n",
    "[Entier : 23]\n",
    "[Entier : 198]\n",
    "[Entier : 7]\n",
    "[Entier : -4]\n",
    "55\n",
    "23\n",
    "198\n",
    "7\n",
    "-4\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "91578053",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "08e4d306",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## Question #2 - Calculer la moyenne\n",
    "\n",
    "Le programme doit créer une liste à partir des nombres de la section « Données fournies », puis calculer et afficher leur moyenne.\n",
    "\n",
    "### Données fournies\n",
    "\n",
    "`-56` `49` `92` `-67` `23` `-42` `-88` `46` `-3` `93`\n",
    "\n",
    "### Contraintes\n",
    "\n",
    "L'utilisation de `sum()` est interdite."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e746e94c",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "c2e5cc61",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## Question #3 - Trier des entiers\n",
    "\n",
    "Le programme doit demander des entiers positifs. La première valeur inférieure ou égale à `0` doit terminer la saisie sans être conservée. Le programme doit ensuite afficher trois listes : les multiples de `3`, les multiples de `5` et les multiples de `3` **et** de `5`.\n",
    "\n",
    "### Indice\n",
    "\n",
    "Il est possible d'utiliser des listes distinctes pour stocker les différents multiples.\n",
    "\n",
    "### Exemple d'exécution\n",
    "\n",
    "```text\n",
    "[Entier : 8]\n",
    "[Entier : 6]\n",
    "[Entier : 15]\n",
    "[Entier : 29]\n",
    "[Entier : 30]\n",
    "[Entier : 20]\n",
    "[Entier : 11]\n",
    "[Entier : 0]\n",
    "Multiples de 3\n",
    "6\n",
    "15\n",
    "30\n",
    "Multiples de 5\n",
    "15\n",
    "30\n",
    "20\n",
    "Multiples de 3 et de 5\n",
    "15\n",
    "30\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "383d2377",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "fcf4a6eb",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## Question #4 - Nombres de voyelles\n",
    "\n",
    "Le programme doit demander un mot composé de lettres minuscules non accentuées, puis afficher le nombre d'occurrences de chaque voyelle et le nombre total de voyelles. Par exemple, la saisie attendue est `elevation` plutôt que `Élévation`.\n",
    "\n",
    "### Rappel\n",
    "\n",
    "- `y` est une voyelle.\n",
    "\n",
    "### Culture\n",
    "\n",
    "Aminométhylpyrimidinylhydroxyéthylméthylthiazolium (`49` lettres) est le nom d'une vitamine (la vitamine B2) et est considéré comme l'un des mots les plus longs de la langue française.\n",
    "\n",
    "### Exemple d'exécution\n",
    "\n",
    "```text\n",
    "[Mot : aminomethylpyrimidinylhydroxyethylmethylthiazolium]\n",
    "Nombre de a : 2\n",
    "Nombre de e : 3\n",
    "Nombre de i : 6\n",
    "Nombre de o : 3\n",
    "Nombre de u : 1\n",
    "Nombre de y : 7\n",
    "Nombre de voyelles : 22\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d10ea5ca",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "2af2ab5b",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## Question #5 - Permutation\n",
    "\n",
    "Le programme doit créer une liste à partir des nombres de la section « Données fournies », puis demander deux indices. Si les deux indices appartiennent à l'intervalle `[0, len(liste) - 1]`, le programme doit permuter les valeurs correspondantes et afficher la liste. Sinon, il doit afficher `Indice invalide!` et laisser la liste inchangée.\n",
    "\n",
    "### Données fournies\n",
    "\n",
    "`-32` `33` `58` `-9` `7` `78` `-26` `92` `30` `-8`\n",
    "\n",
    "### Indice\n",
    "\n",
    "L'appel `print(liste)` affiche le contenu de la liste désignée par la variable `liste`.\n",
    "\n",
    "### Exemple d'exécution\n",
    "\n",
    "```text\n",
    "[Premier indice : 4]\n",
    "[Deuxième indice : 6]\n",
    "[-32, 33, 58, -9, -26, 78, 7, 92, 30, -8]\n",
    "\n",
    "[Premier indice : 0]\n",
    "[Deuxième indice : 5]\n",
    "[78, 33, 58, -9, 7, -32, -26, 92, 30, -8]\n",
    "\n",
    "[Premier indice : -2]\n",
    "[Deuxième indice : 7]\n",
    "Indice invalide!\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5a3c0c5e",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
