الخميس، 8 أكتوبر 2026

Exercice 1 Fichier texte

 Une agence immobilière sauvegarde les données relatives aux appartements de son projet résidentiel « ELYASSAMINE » dans un fichier texte intitulé Yassmine.txt situé dans C:\bac2027. Chaque ligne du fichier contient les informations d'un appartement et respecte un format bien défini.

Chaque ligne du fichier est une chaîne de caractères de la forme : Reference#Categorie#Superficie#Etat

 

Champ

Description

Exemple

Reference

Nom_bloc suivi par '.' suivi de num_etage suivi par '.' suivi de num_appartement

B.3.4

Categorie

Chaîne "S+" suivie d'un entier entre 0 et 3

S+2

Superficie

Entier de 2 ou 3 chiffres

105

Etat

Un caractère : N (Non vendu) ou V (Vendu)

V

 


 Écrire un programme qui permet de

·      remplir le fichier yassmine.txt

·      afficher les statistiques des appartements vendu et non vendu et le nombre des appartements dont la catégorie est donnée

·      extraire dans deux nouveaux fichiers vendu.txt les appartements vendu et nonvendu.txt les appartement non vendu

Exemple du contenu du fichier Yassmine.txt :

A.0.1#S+0#65#V

A.0.2#S+1#78#N

A.0.3#S+2#95#V

A.0.4#S+3#120#N

A.1.1#S+0#68#V

A.1.2#S+1#82#N

A.1.3#S+2#99#V

A.1.4#S+3#125#N

A.2.1#S+0#70#V

A.2.2#S+1#84#N

B.0.1#S+0#66#N

B.0.2#S+1#79#V

B.0.3#S+2#96#N

B.0.4#S+3#118#V

B.1.1#S+0#69#N

B.1.2#S+1#81#V

B.1.3#S+2#101#N

B.1.4#S+3#127#V

B.2.1#S+0#71#N

B.2.2#S+1#86#V

C.0.1#S+0#64#V

C.0.2#S+1#77#N

C.0.3#S+2#93#V

C.1.1#S+0#67#N

C.1.2#S+1#83#V

C.1.3#S+2#98#N

C.2.1#S+0#72#V

C.2.2#S+1#88#N

C.2.3#S+2#104#V

B.3.4#S+2#105#V


الخميس، 30 يوليو 2026

algorithmefacile.tn ma plateforme web interactive transforme l'apprentissage de la programmation en une expérience visuelle, simple et captivante.

algorithmefacile.tn est une plateforme web interactive conçue sur mesure pour les enseignants et les élèves. Elle transforme l'apprentissage de la programmation en une expérience visuelle, simple et captivante.

💡 Pourquoi l'adopter ?
Simulation dynamique : Visualisez pas à pas le fonctionnement des algorithmes clés du programme (Tris, PGCD/PPCM, Fusion de tableaux, Traitement de chaînes, Conversions de base...).
Tracés d'exécution en temps réel : Suivez l'évolution des variables et des structures de données à chaque étape de boucle.
Double vision Code : Passez facilement de la syntaxe algorithmique officielle au code Python 🐍.
🎓 Fini les représentations abstraites ! Donnez du sens à vos cours et révisez avec efficacité.
💬 Une plateforme qui évolue grâce à vous !
Ce projet est en constante amélioration : je serais ravi(e) de recueillir vos critiques, remarques et propositions d'amélioration pour l'enrichir encore davantage. N'hésitez pas à partager vos retours !


الجمعة، 2 يناير 2026

How to assemble and control a 4 DOF robot mechanical arm kit with Arduin...



Code source et schéma depuis le site officiel How to assemble and control a robot arm with an Arduino - SriTu Hobby
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver srituhobby = Adafruit_PWMServoDriver();

#define servo1 0
#define servo2 1
#define servo3 2
#define servo4 3


void setup() {
  Serial.begin(9600);
  srituhobby.begin();
  srituhobby.setPWMFreq(60);
  srituhobby.setPWM(servo1, 0, 330);
  srituhobby.setPWM(servo2, 0, 150);
  srituhobby.setPWM(servo3, 0, 300);
  srituhobby.setPWM(servo4, 0, 410);
  delay(3000);
}

void loop() {

  for (int S1value = 330; S1value >= 250; S1value--) {
    srituhobby.setPWM(servo1, 0, S1value);
    delay(10);
  }

  for (int S2value = 150; S2value <= 380; S2value++) {
    srituhobby.setPWM(servo2, 0, S2value);
    delay(10);
  }

  for (int S3value = 300; S3value <= 380; S3value++) {
    srituhobby.setPWM(servo3, 0, S3value);
    delay(10);
  }

  for (int S4value = 410; S4value <= 510; S4value++) {
    srituhobby.setPWM(servo4, 0, S4value);
    delay(10);
  }
  ////////////////////////
  delay(2000);
  for (int S4value = 510; S4value > 410; S4value--) {
    srituhobby.setPWM(servo4, 0, S4value);
    delay(10);
  }

  for (int S3value = 380; S3value > 300; S3value--) {
    srituhobby.setPWM(servo3, 0, S3value);
    delay(10);
  }

  for (int S2value = 380; S2value > 150; S2value--) {
    srituhobby.setPWM(servo2, 0, S2value);
    delay(10);
  }

  for (int S1value = 250; S1value < 450; S1value++) {
    srituhobby.setPWM(servo1, 0, S1value);
    delay(10);
  }
  //////////////////////
  for (int S2value = 150; S2value <= 380; S2value++) {
    srituhobby.setPWM(servo2, 0, S2value);
    delay(10);
  }

  for (int S3value = 300; S3value <= 380; S3value++) {
    srituhobby.setPWM(servo3, 0, S3value);
    delay(10);
  }

  for (int S4value = 410; S4value <= 510; S4value++) {
    srituhobby.setPWM(servo4, 0, S4value);
    delay(10);
  }

  for (int S4value = 510; S4value > 410; S4value--) {
    srituhobby.setPWM(servo4, 0, S4value);
    delay(10);
  }
  ///////////////////
  for (int S3value = 380; S3value > 300; S3value--) {
    srituhobby.setPWM(servo3, 0, S3value);
    delay(10);
  }

  for (int S2value = 380; S2value > 150; S2value--) {
    srituhobby.setPWM(servo2, 0, S2value);
    delay(10);
  }

  for (int S1value = 450; S1value > 330; S1value--) {
    srituhobby.setPWM(servo1, 0, S1value);
    delay(10);
  }
}