Découverte de la programmation - 5 mars 2022 - Challans

Déplacé L' association
  • Découverte de la programmation

    Le samedi 05 mars 2022 - 15 h à 17 h

    • Centre de la Coursaudière
    • Gratuit

    coding.jpg

    Linux Challans fait découvrir la programmation au grand public. Aucune expérience préalable : contrairement aux idées reçues, cette activité est accessible et amusante !

    Réservations au 06 64 35 64 44

  • MenfiM Menfi a épinglé ce sujet sur
  • Neuf personnes présentes pour ce samedi après-midi.

                   ***0_Introduction***  : 
    

    —Présentation de quelques éléments historiques.
    — Présentation de quelques langages de programmation.

                  ***1_ le plan  : ***
    

    De quoi programmer.

    • 1.1 Le problème : *
      Jean-Jean est champion du monde 2021, pour le meilleur
      chausson aux pommes de la galaxie.
      Pour la sortie de son nouveau modèle 2022, Jean-Jean
      prévoit une affluence record... et probablement des émeutes au comptoir.
      Pour le confort de tou.te.s, Jean-Jean décide de mettre en
      place un automate à l’entrée de la boutique :
      La machine orientera automatiquement chaque nouveau
      visiteur vers la file d’attente devant le comptoir la moins
      longue.

    • 1.2 L’algorithme de la machine de Jean-Jean.*
      Situation initiale : des files d’attente pour quatre serveurs au
      comptoir ; huit nouveaux gourmand.e.s à répartir.
      La machine oriente tous les clients...
      Situation finale : les files d’attente sont équilibrées au mieux
      au comptoir.
      Le modèle est évidemment simplifié : par exemple, on ne
      tiendra pas compte de la vitesse de service, qui peut varier
      d’une file à l’autre, ou encore au sein d’une même file.

             ***2_Proposer un algorithme pour la machine de Jean-Jean. ***
      

    Programmer cet algorithme.

    algorithme1.png
    algorithme2.png
    algorithme3.png
    algorithme4.png

                    ***3_Avec Python3 ***
    

    nom du fichier solution-0.py .

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    # fichier : solution-0.py
    # auteur : Pascal Chauvin
    
    comptoir = [2, 4, 1, 7]
    
    attente = 8
    
    while attente > 0:
    
      i_plus_courte_file = 0 # recherche de la position de la plus courte file
      for i in range(len(comptoir)):
           if comptoir[i_plus_courte_file] > comptoir[i]:
                i_plus_courte_file = i
      # inscription du client suivant à la plus courte file
      comptoir[i_plus_courte_file] = comptoir[i_plus_courte_file] + 1
    
      print(comptoir) # pour observer la répartition
    
      attente = attente - 1 # le nombre de clients en attente diminue de 1
    

    • 3.1 Une exécution du programme dans la console :***
    chmod +x solution-0.py
    
    ./solution-0.py
    
                           ***En langage C***
    

    Pour comparaison, voici le même programme exprimé en langage C.
    nom du fichier solution.c :

    #include <stdio.h>
    
    /*
    * fichier : solution.c
    * auteur : Pascal Chauvin
    *
    date : 2021/12/12
    */
    
    #define NOMBRE_COMPTOIRS 4
    
    int main(int argc, char **argv) {
       
            int comptoir[NOMBRE_COMPTOIRS] = {2, 4, 1, 7};
            int attente = 8;
            
            int i_plus_courte_file;
           
           while (attente > 0) {
                 i_plus_courte_file = 0;
                 for (int i = 0; i < NOMBRE_COMPTOIRS; i++) {
                       if (comptoir[i_plus_courte_file] > comptoir[i]) {
                             i_plus_courte_file = i;
                       }
                }
               
               comptoir[i_plus_courte_file]++;
               for (int i = 0; i < NOMBRE_COMPTOIRS; i++) {
                      printf("%d ", comptoir[i]);
               }
               printf("\n");
              
               attente--;
           } 
     
       return 0; 
     }   
    

    • 4.1 Mode opératoire : compiler le programme, avant de pouvoir l’utiliser.**
      Une exécution du programme dans la console :
    gcc -o sol solution.c
    
    ./sol
    
     ***A la fin de la presentation petite surprise***
    

    microbit.png
    Cette carte ludique est un petit ordinateur, conçu par la BBC 1 à partir de l’année 2015, pour permettre
    l’apprentissage de la programmation aux écoliers britanniques.
    Site officiel de la carte « micro:bit »
    Programmer la carte « micro :bit »

    Ceci est un résumé de la Journée , très complète et intéressante . MERCI LIVRECINQ

  • MenfiM Menfi a désépinglé ce sujet sur
  • J'ai apprécié l'importance apportée aux algorithmes écrits en français, la transcription dans 2 langages de programmation, le découpage des traitements, l'automatisation des étapes pour obtenir le programme final et enfin, l'importance donnée aux tests unitaires.

    Présentation sur la programmation d'une grande qualité que je souhaiterai qu'on propose à nouveau prochainement au public.

    Merci @livrecinq

  • @Olivier Super content aussi de cette journée avec une assemblée attentive et très intéressée. A recommencer sans hésiter !

  • @e1415 a dit dans Découverte de la programmation - 5 mars 2022 - Challans :

    Ceci est un résumé de la Journée , très complète et intéressante . MERCI LIVRECINQ

    Bonjour les Amis,

    • Je confirme, séance d' @livrecinq passionnante qui en appelle d'autres....
    • La PirateBox d' @e1415 m'a donné l'idée d'en réaliser une avec le Rpi (Raspberry Pi) de Linux Challans :

    piratebox.png

  • MenfiM Menfi a déplacé ce sujet de Actualités et événements sur

Sujets suggérés

  • 1 Votes
    1 Messages
    218 Vues
    Personne n'a répondu
  • Qu'est-ce que Linux ? - 8 avril 2023 - Challans

    Déplacé L' association
    2
    0 Votes
    2 Messages
    215 Vues

    @Olivier La séance a réuni quatre personnes cet après-midi, autour de e1415, Livrecinq et Papinou, pour la (re)découverte de GNU/Linux. Après un peu d'histoire et quelques discussions autour du Logiciel Libre (versus privateur), exploration de quelques environnements graphiques et de bureau et leurs fonctionnalités.

  • Comprendre le web - 11 février 2023 - Challans

    Déplacé L' association
    3
    0 Votes
    3 Messages
    159 Vues

    Dix personnes étaient présentes pour cet après-midi, en compagnie d'e1415 et Livrecinq pour suivre la présentation proposée et animée par e1415 : qu'est-ce que le "Web" ?

    Pour un menu succinct :

    Quelques éléments d'histoire pour mieux distinguer l'internet (infrastructure), et les services (applications) que l'on y trouve ;

    La distinction client/serveur ;

    L'adressage IP et le service d'annuaires DNS ;

    Les pages "Web" : le langage HTML et les feuilles de style CSS ;

    Les langages pour les interactions entre client et serveur : JavaScript, et PHP ;

    Pour le contenu dynamique des pages : les bases de données, et leur interrogation : le langage SQL.

  • Coursaudière 5 novembre 2022

    L' association
    2
    0 Votes
    2 Messages
    143 Vues

    Super séance à laquelle on participé 14 personnes ! Toutes les actions prévues ont été menées avec succès. Bravo à tous ! Merci pour votre confiance.

  • Coursaudière 1er octobre 2022

    L' association
    7
    1 Votes
    7 Messages
    275 Vues

    Et si vous voulez ajouter votre touche perso au menu GRUB quoi de plus simple que grub-customizer un GUI à GRUB.

  • Comprendre le web - 26 mars 2022 - Challans

    Déplacé L' association
    2
    1 Votes
    2 Messages
    244 Vues

    Présentation du Web par e1415 et Olivier - Linux Challans

    Le sujet de l'après-midi est la présentation assurée par Olivier (e1415 sous le coup d'une bonne grippe !) de l'Internet et de quelques-uns de ses services les plus connus.

    L'exposé est articulé en trois parties, afin de clarifier le "réseau des réseaux".

    Après une brève histoire de l'Internet depuis ses origines et les étapes marquantes de son évolution, la distinction est faite entre l'infrastructure (l'organisation matérielle qui permet à des machines et des systèmes d'exploitation hétérogènes de communiquer entre eux) et les applications ou services qui s'appuient sur cette infrastructure pour offrir aux utilisateurs différents outils devenus classiques :

    le Web :

    le courrier électronique ;

    le transfert de fichier ;

    les "nuages" ;

    la diffusion de flux multimédia ;

    les discussions en ligne...

    Tous ces services sont rendus possibles par l'emploi de protocoles de communication : le modèle OSI, le protocole TCP/IP sont passés en revue, permettant à l'internaute de comprendre un peu plus la configuration de ses outils domestiques. Quelques exemples pratiques illustrent l'adressage IPv4, le service d'annuaires (DNS).

    Les enjeux de protection des données et des systèmes, la question des transferts d'information non sollicités, sont évoqués et débattus.

    La présentation prend fin sur le thème de la création de "pages Web" : après un aperçu du squelette HTML d'une page Web (langage de description de page, destiné aux navigateurs Web), des possibilités de CSS et l'interaction avec JavaScript, les "frameworks" professionnels sont abordés.

    Une belle clarification pour l'utilisateur de la Toile au quotidien.

  • Cousaudière 5 juin 2021

    L' association
    3
    2 Votes
    3 Messages
    156 Vues

    La carte wifi était reconnue .C'est juste systemd qui ne démarrait pas NetworkManager , donc pas nm-applet au démarrage de la session . Cette ligne de commande a suffit :

    sudo systemctl enable network-manager.service
  • Coursaudière 2 mars 2019.

    L' association
    3
    2 Votes
    3 Messages
    152 Vues

    @papinou a dit dans Coursaudière 02 mars 2019. :

    Essai d'un DJ Box bluetooth : communication possible via la zone d'induction NFC (Near Field Communication).

    Séance de rattrapage :

    DJ-BOX-THUNDER-BLUETOOTH-26W.jpg

    La DJ-BOX s'appuie sur un système de haut parleur à résonance qui utilise la surface d’un objet, d’un meuble, d’une porte ou d’une vitre pour diffuser votre musique tout autour de vous. Tout comme la membrane d’une enceinte, la surface se met à vibrer et devient un haut-parleur géant.

    Basée sur un mécanisme de résonance ultrasonique, la DJ-BOX propage le son à travers tous types de surfaces : bois, verre, plastique, carton,métal, etc. Créez autour de vous des enceintes incroyables avec vos objets, meubles, cartons, vitres, murs, etc.

    Utilisez la DJ-BOX chez vous à la maison, chez vos amis, en camping/caravaning, en voiture, au bureau, dans votre bateau, ... posez la quelque part et appréciez la musique ...