Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3851 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [Divers] Les astuces de programmation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Divers] Les astuces de programmation

n°2520302
lady287
La lumière fuse
Posté le 17-03-2026 à 10:00:12  profilanswer
 

Bonjour !
Le sujet porte sur les astuces de programmation.
 
Ici, la première consiste par exemple à économiser  une variable telle que peut l'ètre une valeur à mémoriser pour la comparer à un état suivant.
L'astuce consiste en une comparaison avec la valeur affectée à l'état précédent, si celle ci contient une variable.
 
Exemple : (pseudo code)
 

Code :
  1. Count : var := 1;
  2. A : var := 0;
  3. début
  4. Pour i in 1 .. 5 faire
  5.   A := i+A
  6. if not ((A + i) /= Count) then
  7.      null;
  8.   else
  9.     Count := (A + i);
  10. fi;
  11. Fait
  12. Fin;


Ainsi, Count ne sera affectée que si Count n'est pas déjà affectée.
Ce teste répond à l'inutilité de réaffecter une variable dans une boucle lorsque la variable à déjà été affectée.


Message édité par lady287 le 18-03-2026 à 11:00:03

---------------
jovalise (C) 2002 Manuel De Girardi ; web site
mood
Publicité
Posté le 17-03-2026 à 10:00:12  profilanswer
 

n°2520440
lady287
La lumière fuse
Posté le 18-03-2026 à 10:42:12  profilanswer
 

Seconde astude : Le défilement de texte.
Il s'agit plutôt d'un algorithme dont le secret reste à vérifier.
 
Le défilement de texte nécessite de raffraichire l'écran pour que l'espace allouer précédemment puisse accueillir le texte suivant et enfin ajouter une ligne en fin de liste de ligne.
 
Ici, l'astuce consiste en deux trois comparaisons dont la premiere permet de libérer le texte précédent, une seconde pour libérer la dernière ligne de l'espace pour afficher la dernière ligne de la liste de lignes et la troisième en une comparaison permettant l'incrémentation de la position de début d'affichage de la liste.
 
La taille de l'espace est une constante ; La variable Old_Count indique la position de la dernière lecture dans la liste, la variable Count indique la position de la ligne lue et la variable Line_Index, le nombre de ligne affichées.
Pour parcourire la liste, nous avons besoin d'une variable supplémentaire : Line_Count.
 
 
Le premièr teste permet la libération lors du défilement automatique du texte.
Le second teste permet d'afficher les premières lignes avant que le défilement automatique soit nécessaire.
 
L'instruction d'incrémentation est une instruction postérieure.
 
 
Ces comparaisons sont des équilibres entre espace consomé et espace consomable à une ligne près.
 
Le teste de sortie de lecture permet d'arrêter l'affichage lorsque l'espace est alloué dans son entièreté.
 
L'incrémentation ou la décrémentation de la position de lecture de la liste est une action différée pouvant être de 1 ou plus et -1 ou moins.
 
Le retour au début consiste en une remise à zéro de la variable dédiée à cet effet.
Le saut en fin est une affectation de la variable évoquée selon le nombre de lignes dans la liste en en déduisant l'espace alloué.
 
Première comparaison : si vraie alors libérer l'écran
Deuxième comparaison : si vraie alors libérer l'écran
Troisième comparaison : si vraie alors incrémenter la position de bébut d'écrirure.
 
Algorithme : (pseudo code)

Code :
  1. loop
  2.    pour la liste faire
  3.        Test 1 -> Effacer l'écran ; Si non Test 2 -> Effacer l'écran.
  4.        Lire la ligne
  5.        Afficher la ligne
  6.        Incrémenter le nombre de lignes affichées
  7.        Test 3 -> incrémenter
  8.        Incrémenter l'espace alloué.
  9.        Condition de sortie.
  10.        Incrémenter le total de lignes consomées.
  11.    Fin de liste.
  12.    Remise à zéro de l'espace alloué.
  13.    (Saisie des instructions de commande)
  14.    Remise à zéro du total de lignes lues.
  15. end loop;


 
Arithmétique
 
Test 1 : (Count - Old_Count)  + 1 > Espace libre - Line_Index
Test 2 : (Count - (Old_Count-1) + Line_index) > Espace libre + Line_Index + 1
Test 3 : Espace libre/2 + (Count - (Old_Count-1)) < (Espace libre - Line_Index) + (Count - (Old_Count-1))
 
On peut exprimer cette troisième comparaison par l'expression "chemin parcouru  inférieur à chemin parcourable".
Au quel cas après l'incrétemntation, l'incrémentation entrainerait un résultat faux et c'est pourquoi nous incrémentons la variable permettant de conserver l'espace parcouru, ici à la moitier de l'espace libre.
 
Espace consomé = Espace parcouru - Position de lecture
Espace alloué = nombre de ligne affichée
Espace libre = Taille de l'espace.
 
Sortie : Si Esace libre <= Line_Index;
 
Ansi, la dernière ligne affichée est affichée deux fois.
Ce qui permet de replacer la position courante à la dernière ligne à laquelle peut succéder une saisie.
 
Variables :
                  La variable Line_Index est un entier naturel initialisé à un.
                  La variable Old_Count est un entier devant couvrir l'ensemble de la liste initialisée à zéro.
                  La variable Line_Count est un entier relatif devant couvrire le double de la liste initialisée à zéro.
 
 
">" suppérieur
"<" inférieur
"+" adition ou somme
"-" soustraction ou déduction
"( et )" calcule prioritaire
 
 
Il vous faudrat encore affecter les variables concernées par le parcour de l'affichage possible grace à une saisie.


Message édité par lady287 le 18-03-2026 à 15:05:04

---------------
jovalise (C) 2002 Manuel De Girardi ; web site
n°2520453
boutlatent
Posté le 18-03-2026 à 13:06:05  profilanswer
 

Putain, je ne sais pas à quoi tu tournes, mais ça a l'air de bien te fracasser le ciboulot !


---------------
La connerie est la décontraction de l'intelligence.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [Divers] Les astuces de programmation

 

Sujets relatifs
[Divers] Elements devant apparaitre dans le modèle idéal[Divers] Super-nétique
[Divers] Importer cellules Excel vers Word/PP ou PDF, possible ?[divers] help ! pour une programmation bios
[Divers/perdu] .cmd ou .bat ne fonctionne pasDivers - problème de formulaire HTML / CSS / JS
[Divers][API] protocole et utilisation de service APIDécouverte programmation Enfant
Aide niveau programmation débutant 
Plus de sujets relatifs à : [Divers] Les astuces de programmation


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)