PureBasic

Forums PureBasic
Nous sommes le Ven 15/Nov/2019 1:38

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 33 messages ]  Aller à la page 1, 2, 3  Suivante
Auteur Message
 Sujet du message: [TUTO débutant] La programmation pur les nuls
MessagePosté: Jeu 23/Aoû/2018 16:45 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
Bonjour à tout un membre du forum m'a demandé un tutoriel sur les bases de "Pure Basic". Donc voici un tutoriel sur les bases de la programmation et tout spécialement adapté pour ce fabuleux langage.Pour ne pas déroger à la règle nous commancerons en mode console et passerons assez vite en mode fenêtré.

Plant de la formation :

[*]Teste conditionnel et opérateurs logiques.
[*]Branchement à choix multiples.
[*]La boucle While when et Do while

Remarque : ce tutoriel va être mis à jour petit à petit, si le texte se surligne au passage de votre souris c'est le chapitre est en ligne. Dans le cas contraire il faudra patienter.

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Dernière édition par microdevweb le Ven 24/Aoû/2018 9:30, édité 10 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Jeu 23/Aoû/2018 16:58 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
Ouverture de la la console.

Pour ouvrir une console la commande est assez simple OpenConsole("Titre"). Cependant si vous tapez cette ligne dans l'ide de "PureBasic" et exécuter le programme vous constaterez que la console s'ouvre et se ferme aussitôt. 8O

Rassurez - vous cela est tout à fait normal. En mode console nous ne travaillons pas en mode événementiel mais en programmation linéaire, ce qui revient à dire que toutes commandes vont s’exécuter les unes à la suite des autres et dans l'ordre où nous les appelons.

Donc en mode console une fois arrivé à la fin du programme la console se ferme.

Pour résoudre ce problème nous allons taper ce code.

Code:
OpenConsole("Titre")
Input()


Ne vous souciez pas de la commande Input(), je vous rassure nous allons la voir très rapidement.

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Jeu 23/Aoû/2018 17:14 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
Afficher un texte à l'écran.

Bon c'est bien beau d'ouvrir la console, mais si c'est pour ne rien faire !!! :twisted:

Je vous donne raison, là ça ne sert à rien. Nous allons donc dire à bonjour aux futurs heureux possesseurs de votre programme.

Code:
OpenConsole("Titre")
Print("Bonjour tous le monde.")
Print(" Comment allez-vous?")
Input()


Ha bon, ça ne fait pas de saut de ligne! 8O

Et bien non Print ne fait pas de saut de ligne, par contre PrintN oui. Voyez plutôt.

Remarque : le saut de ligne sera effectué après l'affichage de la ligne.

Code:
OpenConsole("Titre")
Print("Bonjour tous le monde.")
PrintN(" Comment allez-vous?")
Print("Cliquez sur une touche pour fermer le programme")
Input()

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Jeu 23/Aoû/2018 17:35 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
Les variables.

En programmations l'utilisation des variables est indispensable.

Mais c'est quoi une variable .

Une variable c'est une zone de la mémoire de l'ordinateur qui va être réservée spécialement pour nous.

Mais comment on fait pour réserver cette adresse mémoire, houla ça a l'air compliqué ça.

Non je vous rassure ça ne l'est pas et principalement en "Pure Basic".

Code:
maVariable = 0


Remarque : "PureBasic" n'est pas sensible à la case donc cet exemple ne compilera pas car on tente de déclarer deux fois la même variable.

Code:
maVariable = 0
mavariable = 0


Vous voyez c'est vraiment tout simple, maintenant ou est stockée cette variable allez-vous me demander.
Et bien c'est votre système d'exploitation qui le sait car c'est lui qui a effectué cette opération complexe.

Maintenant on peu récupéré l'adresse à l'aide des pointeurs, mais ce sera pour bien plus tard dans la cour.

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Dernière édition par microdevweb le Ven 24/Aoû/2018 8:31, édité 2 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Jeu 23/Aoû/2018 18:13 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
Les types de variables.

Pourquoi utiliser plusieurs types de variables ?

Au début de l'informatique, la mémoire coutait très cher et un ordinateur ne possédait que très peut de mémoire vive (zone où sont stockées nos variables).

L'on choisissait donc le type de variable à utiliser en fonction du type de données à stocker.

De nos jours même si notre ordinateur possède bien souvent plusieurs Go de mémoires vives, la bonne pratique reste de choisir le bon type de variable.

Comment sont stockées les données?

Un ordinateur n'est vraiment pas intelligent, il ne connaît que deux choses le 0 et le 1. (0 pas de courant,1 le courant passe).

Par contre des ingénieurs (ce que je ne suis pas) très intelligent ont trouvé le moyen de pratiquement tout traité avec ces deux seules valeurs.

Je ne vais pas m'attarder sur le sujet mais voici en gros comment cela fonctionne.

Prenons le chiffre 12 en décimal on peut dire que c'est égal à 2 + 10 ou (2 * 1) + (1 * 10) .

En binaire ce sera code comme ceci (0 * 1) + (0 * 2) + (1 * 4) + (1 *8)
soit (les bits se lisent de droite à gauche)
1100

Vous l'aurez compris après se sera (0 ou 1 * 16) et puis (0 ou 1 * 32) et puis (0 ou 1 * 64) etc.

Donc plus la valeur peut être élevée et plus on aura besoin de bit (ne pas confondre avec byte qui équivaut à un octet ou 8 bits).

Reste aussi le cas de valeur signé, là aussi le signe aura besoin d'un bit pour être sauvé (le bit de poids fort celui le plus à gauche).

Quant aux caractères, le système n'est pas différents on stockera une valeur sur 1 octet soit 8 bits. (de 0 à 255) et l'os ira simplement lire la valeur dans une table ASCII qui vous l'aurez deviné contiennent 256 caractères.

Remarque : je ne parlerais pour l'instant de l'UTF8 qui est légèrement différent.

Les variables à virgule flottante sont quant à elles les plus difficiles à calculer pour un ordinateur. Cela se fait à l'aide d'une mantisse et le cpu possède dans son architecture une zone réservée à cet effet.

Cette petite introduction étant terminée, voyons ensemble les différents types disponibles dans "Pure Basic".

On stipulera le type en ajoutant un point après le nom suivi du type représenté généralement par une lettre.

Je vous renvoie à la documentation officielle de "PureBasic" pour découvrir tous les types de variables mis à votre disposition.

Les type de variables

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 8:48 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
Les opérateurs mathématique

En "PureBasic" on peut faire toutes sortes de calculs, je vous présente les plus courants sachant qu'ils en existent d'autres.

  • L'addition + peut servir également à concaténé deux textes entre eux.
  • La soustraction - .
  • La division /.
  • La multiplication *

Liste de tous les opérateurs

Exemple :

Code:
OpenConsole("Titre")
maVariable = 10 + 2
PrintN(Str(maVariable)) ; affichera 12
maVariable = 10 - 2
PrintN(Str(maVariable)) ; affichera 8
maVariable = 10 * 2
PrintN(Str(maVariable)) ; affichera 20
maVariable = 10 / 2
PrintN(Str(maVariable)) ; affichera 5
text.s = "Bonjour "
text2.s = " tous le monde"
PrintN(text + text2) ;affichera Bonjour tous le monde
Input()


Remarque : La fonction Str convertit un entier en chaîne de caractères.

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 9:17 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
Lire une donnée utilisateur depuis la console.

Il est indispensable pour interagir avec l'utilisateur de lui poser certaines questions. Pour ce faire on utilise simplement la fonction Input() qui retournera la chaîne de caractères saisie par l'utilisateur.

Exemple :

Code:
nom.s = Input()

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 9:23 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
TP: Utilisation de ma première variable

Il est temps de vous mettre au travail, ce n'est pas en recopiant bêtement du code que vous aller apprendre.

Avec tous ce que nous avons vu précédemment, cela ne devrait pas poser de soucis

Énoncer :

Faite un programme en mode console, qui demande le nom à l'utilisateur et lui dit exemple "bonjour Pierre"

À vous de jouer, la réponse ne sera publiée que dans plusieurs jours :wink:

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 10:50 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 4067
Code:
OpenConsole()

debut:

PrintN("Votre prenom : ")
nom$=Input()
If nom$=""
  Goto debut
EndIf

PrintN("Bonjour "+nom$)
Repeat
ForEver


_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.70LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 12:34 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8779
SPH tu aimes les boucles dans fin :)

Je verrai plus ça comme ça
Code:
OpenConsole()

PrintN("Votre prenom : ")
nom$=Input()
If nom$=""
  nom$ = "personnage mystere !" ; pour la blague
EndIf

PrintN("Bonjour "+nom$)
PrintN("Pressez une touche pour quitter")

; Gestion d'une touche afin de quitter le programme proprement et pas par un repeat/forever qu'il faut quitter à la walou :D 
Repeat
  KeyPressed$ = Inkey()
  If KeyPressed$ <> ""
    Q=#True
  Else
    Delay(30) ; respire proco respire
  EndIf
Until Q=#True

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 12:53 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
Petit rappel ceci est un tutoriel pour les vrais débutants, qui n'on probablement jamais codé de leur vie.
L'étude des boucles est évidement prévue, par contre pas le Goto que je n'ai (à l’exception de l'asm ou on ne sait pas faire autrement) jamais utilisé dans aucun de mes programmes.

Le code spaghetti c'est fini depuis que le basic offre les procédures et fonctions. :mrgreen:

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 14:38 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 4067
Désoli :?

_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.70LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 14:54 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1635
(Attendre une touche pour fermer la fenêtre)

Ça, ça marche mais ça tourne en rond.
Code:
Repeat
ForEver

Ça c'est mieux, mais c'est beaucoup pour les débutants et ça tourne toujours en rond.
Code:
; Gestion d'une touche afin de quitter le programme proprement et pas par un repeat/forever qu'il faut quitter à la walou :D
Repeat
  KeyPressed$ = Inkey()
  If KeyPressed$ <> ""
    Q=#True
  Else
    Delay(30) ; respire proco respire
  EndIf
Until Q=#True

La programmation console, c'est de la programmation linéaire, donc il suffit de mettre une instruction d'attente utilisateur.
Simplement:
Code:
Input()
:mrgreen: (bon, le prof l'a écrit lui-même dans tous les exemples ci-dessus, vous suivez pas dans le fond de la classe)

_________________
Windows 10 Famille x64 + Linux (Slackware, Debian sur Oracle VirtualBox 6.0), Raspberry Pi


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 15:33 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1661
Localisation: Belgique
Pourquoi débuter en mode console ? La programmation linéaire est plus simple à appréhender que la programmation événementiel. Et apprendre les bases sera donc plus simple en console, le but étant aussi de prendre de bonnes habitudes et on y va pas à pas.

Alors oui certainement pour des codeurs expérimenté ce tuto semble stupide... Mais avant d'apprendre à courir on doit apprendre à marcher.

Maintenant je ne sais pas s'il à bck de débutants sur le forum et ce tuto n'est certainement pas une bonne idée (et une grosse perte de temps inutile pour moi) donc je ne suis pas sur qu'il va avancer à grand pas. Et me demande s'il ne faudrait pas tout simplement le supprimer.

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [TUTO débutant] La programmation pur les nuls
MessagePosté: Ven 24/Aoû/2018 16:31 
Hors ligne

Inscription: Sam 08/Fév/2014 15:19
Messages: 1635
Pour la programmation console, peut être peu, mais tu en auras pour la programmation évènementielle à condition de rester simple.
À savoir: rester dans la méthode standard, sans aborder la méthode bind... ni les pointeurs, ni les structures.

Quand on voit par exemple le nombre de débutants qui se bloquent parce que qu'ils font deux boucles évènementielles, il y aurait matière à faire un schéma par exemple.

:wink:

_________________
Windows 10 Famille x64 + Linux (Slackware, Debian sur Oracle VirtualBox 6.0), Raspberry Pi


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 33 messages ]  Aller à la page 1, 2, 3  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye