FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 19:48

» KGF_dll - nouvelles versions
par pascal10000 Aujourd'hui à 17:27

» Mah-Jong européen new-look
par Minibug Hier à 22:31

» track_bar circulaire
par Klaus Hier à 13:54

» API Windows
par Klaus Hier à 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Défi avec panoramic.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
pan59

avatar

Nombre de messages : 367
Age : 60
Localisation : Wattignies
Date d'inscription : 16/10/2011

MessageSujet: Défi avec panoramic.   Jeu 11 Juil 2013 - 10:27

Bonjour.

Je lance un véritable défi aux panoramiciens.

Voici un petit programme écrit en ThinBasic.

Le fichier, de 41.720 lignes, est lu dans son intégralité, 10 fois en 8 dixièmes de seconde !!

Qui peut faire mieux ?


Code:
Uses "fileline"
Uses "console"

Dim i%, n%  
Dim a As String

Dim t1, t2 As Double

t1 = Timer

For c As Integer=1 To 10
  
   ' 41.720 lignes
   n% = FileLine_Open("c:\perso\traducteur_panoramic\dico_français_espagnol.txt")

   While Not FileLine_IsEof(n%)    
  
         i% = FileLine_LineInput(n%, a)
  
         ' Console_WriteLine(a)            
 
   Wend

   FileLine_Close(n%)

Next  

t2=Timer

MsgBox(0, "Seconds:" & $TAB  & $TAB & Format$(t2 - t1, "#0.000"))
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Défi avec panoramic.   Jeu 11 Juil 2013 - 11:46

Je ne comprends pas bien ton défit. Il faut traduire le programme en Panoramic et faire en sorte que le fichier soit lu 10 fois le plus rapidement possible en le lisant ligne par ligne, c'est cela ?

En fait la syntaxe en Panoramic est très proche de celle de ThinBasic

Pour le chronomètre, à la place du T1 = Timer tu mets:

Code:

Label On
Dim Tps%
Tps%=0 : timer 1:timer_interval 1,10:on_timer 1,On

Tu dois aussi ajouter la procédure On

Code:

On:
  Tps%=Tps%+1
Return

Après la boucle, calcule et affiche les valeurs obtenues
Code:

  mn%=int(Tps%/3600)
  s%=int(Tps%/60)-(mn%*60)
  cs%=Tps% -((mn%*3600)+(s%*60))
  ' Affiche les valeurs à l'aide d'un message

Pour le fichier, tu sais faire mais bon je remets la syntaxe qui me parait correcte

Code:

dim a$,c%
For c%=1 To 10
  file_open_read 1,""c:\perso\traducteur_panoramic\dico_français_espagnol.txt""
  while file_eof(1) <> 1
    file_readln 1,a$:print a$
  end_while
  file_close 1
Next c%

Mais bon, ça sera sans doute plus long que 8 dixième de seconde. Je ne peux pas tester ici, mais le défit n'est pas trop compliqué après, je ne pense pas que l'on puisse faire grand chose de plus pour accélérer les choses.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10257
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Défi avec panoramic.   Mer 17 Juil 2013 - 22:57

Pour que la mesure soit comparable, il faut mettre la commande PRINT en commentaire, tel que c'est fait dans le programme ThinBasic. Car sinon, les milliers de PRINT mangent ENORMEMENT de temps !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: Défi avec panoramic.   

Revenir en haut Aller en bas
 
Défi avec panoramic.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un exemple de gestion d'un sprite vaisseau avec panoramic
» Choix d'un répertoire
» Sub-menu is not menu avec Panoramic.exe
» envoyer un mail avec panoramic et blat
» Une base de données relationnelle avec Panoramic

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: