{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "2000a3c7",
   "metadata": {},
   "source": [
    "Exercice 1 – Temps de transmission\n",
    "Un fichier de taille `taille` (en Mo) est transmis à un débit `debit` (en Mo/s).\n",
    "Écrire une fonction `temps_transmission(taille, debit)` qui retourne le temps de transmission en secondes.\n",
    "Si le débit est nul, la fonction retourne `-1`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ae7e3009",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "124aedde",
   "metadata": {},
   "source": [
    "Exercice 2 – Coût d’un stockage cloud\n",
    "Un service facture :\n",
    "- 0,10 € par Go jusqu’à 50 Go,\n",
    "- 0,07 € au-delà.\n",
    "Écrire une fonction `cout_stockage(go)` qui retourne le coût total."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "38ff302a",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "ae10acfd",
   "metadata": {},
   "source": [
    "Exercice 3 – Moyenne de deux capteurs\n",
    "Écrire une fonction `moyenne_capteurs(a, b)` qui retourne la moyenne des deux valeurs uniquement si elles sont positives, sinon `None`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c66902de",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "eb060905",
   "metadata": {},
   "source": [
    "Exercice 4 – Score pondéré\n",
    "Un jeu calcule un score final : `score_final = score * coefficient`.\n",
    "Écrire une fonction `score_pondere(score, coef)` qui retourne le score final uniquement si le coefficient est strictement positif, sinon 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0b65380f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "5d36a1d5",
   "metadata": {},
   "source": [
    "Exercice 5 – Conversion binaire simplifiée\n",
    "Un nombre de bits est transmis par paquets de 8 bits (octets).\n",
    "Écrire une fonction `nb_octets(bits)` qui retourne le nombre d’octets nécessaires.\n",
    "Si `bits` est négatif, retourner 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "38550326",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "608425d2",
   "metadata": {},
   "source": [
    "Exercice 6 – Consommation électrique\n",
    "Un ordinateur consomme `puissance` watts pendant `temps` heures.\n",
    "Écrire une fonction `energie(puissance, temps)` qui retourne l’énergie consommée en Wh.\n",
    "Si une des valeurs est négative, retourner `None`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c936e6e7",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "25403619",
   "metadata": {},
   "source": [
    "Exercice 7 – Latence réseau moyenne\n",
    "Écrire une fonction `latence_moyenne(a, b, c)` qui retourne la moyenne si toutes les valeurs sont positives, sinon `-1`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2ab50a01",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "8d555d12",
   "metadata": {},
   "source": [
    "Exercice 8 – Position d’un robot\n",
    "Un robot avance de `distance` mètres à la vitesse `v` m/s.\n",
    "Écrire une fonction `temps_deplacement(distance, v)` qui retourne le temps nécessaire.\n",
    "Si `v ≤ 0`, retourner `'Impossible'`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6acad66d",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "fdd029be",
   "metadata": {},
   "source": [
    "Exercice 9 – Calcul de résolution\n",
    "Écrire une fonction `resolution(L, H)` qui retourne le nombre total de pixels.\n",
    "Si l’une des valeurs est négative, retourner 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "91e42265",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "8d85645f",
   "metadata": {},
   "source": [
    "Exercice 10 – Taux de réussite\n",
    "Écrire une fonction `taux_reussite(reussites, total)` qui retourne le pourcentage de réussite.\n",
    "Si `total` vaut 0, retourner `None`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a656c33e",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "0facc15a",
   "metadata": {},
   "source": [
    "Exercice 11 – Distance entre deux points (1D)\n",
    "Écrire une fonction `distance_1d(x1, x2)` qui retourne la distance entre deux points sur une ligne."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9894ce1f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "52295c0e",
   "metadata": {},
   "source": [
    "Exercice 12 – Mémoire disponible\n",
    "Écrire une fonction `memoire_libre(totale, utilisee)` qui retourne la mémoire restante.\n",
    "Si la mémoire utilisée dépasse la mémoire totale, retourner 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3889a794",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "62519e13",
   "metadata": {},
   "source": [
    "Exercice 13 – Vitesse moyenne\n",
    "Écrire une fonction `vitesse_moyenne(d, t)` qui retourne la vitesse moyenne.\n",
    "Si `t ≤ 0`, retourner `'Erreur'`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "11ce27e2",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "e47739a8",
   "metadata": {},
   "source": [
    "Exercice 14 – Indice de performance\n",
    "Écrire une fonction `indice_performance(a, b, c)` qui retourne la moyenne si toutes les valeurs sont comprises entre 0 et 100, sinon `None`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7e2fd2f4",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "ab93467b",
   "metadata": {},
   "source": [
    "Exercice 15 – Coût d’impression 3D\n",
    "Une imprimante facture 0,20 € par gramme et un forfait fixe de 5 €.\n",
    "Écrire une fonction `cout_impression(poids)` qui retourne le coût total.\n",
    "Si le poids est négatif, retourner `None`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "42e74111",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "03761426",
   "metadata": {},
   "source": [
    "Exercice 16 – Temps de calcul estimé\n",
    "Écrire une fonction `temps_calcul(n, r)` qui retourne le temps estimé.\n",
    "Si `r = 0`, retourner `'Infini'`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ffdc8c17",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "a811e95f",
   "metadata": {},
   "source": [
    "Exercice 17 – Énergie restante\n",
    "Écrire une fonction `pourcentage_batterie(maxi, actuelle)` qui retourne le pourcentage restant.\n",
    "Si les valeurs sont incohérentes, retourner `None`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e8a6c6f5",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "2957e01a",
   "metadata": {},
   "source": [
    "Exercice 18 – Conversion température\n",
    "Écrire une fonction `en_fahrenheit(celsius)` qui retourne la température en Fahrenheit si `celsius ≥ -273`, sinon `None`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6cecc746",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "2459366b",
   "metadata": {},
   "source": [
    "Exercice 19 – Débit réel\n",
    "Écrire une fonction `debit_reel(d_max)` qui retourne 80 % du débit maximal.\n",
    "Si `d_max` est négatif, retourner 0."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "766f0f16",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "5ce025ba",
   "metadata": {},
   "source": [
    "Exercice 20 – Capacité d’un disque\n",
    "Écrire une fonction `espace_occupe(capacite, p)` qui retourne l’espace occupé.\n",
    "Si `p` n’est pas compris entre 0 et 100, retourner `None`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "47f3301b",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "language": "python"
 },
 "nbformat": 4,
 "nbformat_minor": 5
}