{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "77a2ffee",
   "metadata": {
    "id": "77a2ffee"
   },
   "source": [
    "# Laboratoire #6 - Fonctions\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": {
    "id": "759f5c2a"
   },
   "source": [
    "---\n",
    "\n",
    "## Question #1 - État de l'eau\n",
    "\n",
    "Écrire une fonction qui prend une température (en °C) et une pression atmosphérique (en kPa) en paramètres, puis retourne l'état de l'eau en fonction de son seuil d'ébulition. Le résultat peut être retourné sous forme de chaîne de caractère `solide`, `liquide` ou `gazeux`.\n",
    "\n",
    "Pour atteindre son état solide, il ne suffit à l'eau que d'être inférieure à 0°C. Autrement, on peut calculer le seuil d'ébulition de l'eau avec la formule $100 + 15 \\times \\frac{\\text{pression\\_kpa} - 101.325}{101.325}$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "91af3cdd",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "eb43a82a",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## Question #2 - Position du minimum\n",
    "\n",
    "Écrire une fonction qui prend une liste de nombres entiers en paramètre et qui retourne **l'indice** du plus petit nombre entier."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "91578053",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "91578053",
    "outputId": "e2280222-38e0-4efe-93d6-74b200a03705"
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "08e4d306",
   "metadata": {
    "id": "08e4d306"
   },
   "source": [
    "---\n",
    "\n",
    "## Question #3 - Recherche d'un prénom\n",
    "\n",
    "Écrire une fonction qui prend une liste de prénoms (chaînes de caractères) ainsi qu'un prénom (chaîne de caractères), puis retourne **l'indice** où se trouve le prénom spécifié dans ladie liste."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e746e94c",
   "metadata": {
    "id": "e746e94c"
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "8547ffbd",
   "metadata": {},
   "source": [
    "---\n",
    "\n",
    "## Question #4 - Détection de palindrome\n",
    "\n",
    "Écrire un programme qui prend une chaîne de caractères et qui retourne un booléen, indiquant si oui ou non, la chaîne reçue est un [palindrome](https://fr.wikipedia.org/wiki/Liste_de_palindromes_en_fran%C3%A7ais).\n",
    "\n",
    "Un palindrome est une chaine de caractères qui se lit exactement de la même façon de gauche à droite et de droite à gauche. Par exemples, les chaînes suivantes sont des palindromes:\n",
    " - laval\n",
    " - kayak\n",
    " - Ésope reste ici et se repose\n",
    "\n",
    "On peut considérer ici que l’utilisateur entrera toujours les chaînes de caractères à vérifier **en lettres minuscules, sans accents, et sans espaces** lorsque la chaîne est une phrase (par exemple : « esoperesteicietserepose »).\n",
    "\n",
    "### Indice\n",
    "\n",
    "Une stratégie à utiliser est donc de créer une nouvelle chaîne de caractère en ajoutant chaque lettre de la chaîne de caractère reçue en paramètre à partir de la fin, en la concaténant à la nouvelle chaîne. Ceci crée donc une copie inversée de la chaîne originale. Il suffit par la suite de comparer les deux chaînes de caractères. Si elles sont égales, la chaîne originale est un palindrôme."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "lab06-question03",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "c2e5cc61",
   "metadata": {
    "id": "c2e5cc61"
   },
   "source": [
    "---\n",
    "\n",
    "## Question #5 - Pente entre deux points\n",
    "\n",
    "Écrire une fonction qui reçoit en paramètre les coordonnées X et Y de deux points dans un plan cartésien, et qui retourne la pente entre ces deux points.\n",
    "\n",
    "Attention au cas de division par zéro."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "383d2377",
   "metadata": {
    "id": "383d2377"
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "colab": {
   "provenance": []
  },
  "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.13.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
