Recherche:Les chemins du langage/Programme d'aide au calcul

Une page de Wikiversité.
Aller à : navigation, rechercher
Babel 900.jpg
Wikimedia-research-fr.png
Travail de recherche : Les chemins du langage

Cette page de l’espace Recherche, dépend de la faculté langues. Consultez le portail de l'espace recherche ou pour plus de détails l'index des travaux de recherche par faculté.

Toutes les discussions sur ce sujet doivent avoir lieu sur cette page.


De la même façon que les correcteurs orthographiques, il est possible d’utiliser dans traitement de texte, un calculateur de phrase, selon un ou plusieurs codes donnés. Par exemple, gratuitement avec OpenOffice.org Writer, une version du programme ci-dessous est téléchargeable ici.

Compter toutes les consonnes et voyelles d'un texte[modifier | modifier le wikicode]

Sub CompterConsonneVoyelle
  Document1 = ThisComponent
  Controleur1 = Document1.CurrentController
  VCurseur1 = Controleur1.ViewCursor
  VCurseur1.gotoStart(false)
  VCurseur1.gotoEnd(true)
  msgbox  ConsonneVoyelle(VCurseur1.string)
End Sub

Public Function ConsonneVoyelle(champ As String) As string
  For p = 1 To Len(champ) + 1
    l = Mid(champ, p, 1)
    If Mid(champ, p, 1) = "(" Then
      Do Until (Mid(champ, p, 1) = ")")
        p = p + 1
      Loop
    End If     
    If l = "a" Or l = "A" Or l = "á" Or l = "à" Or l = "ä" Or l = "ã" Or l = "å" Or l = "æ" Or l = "e" Or l = "E" Or l = "é" Or l = "è" _
    Or l = "ë" Or l = "ê" Or l = "i" Or l = "I" Or l = "í" Or l = "o" Or l = "O" Or l = "ò" Or l = "ó" Or l = "õ" Or l = "ô" Or l = "ö" _
    Or l = "œ" Or l = "u" Or l = "U" Or l = "ü" Or l = "û" Or l = "ú" Or l = "ù" Or l = "y" Or l = "Y" Then voyelle = voyelle + 1
    if l = "b" Or l = "B" Or l = "c" Or l = "C" Or l = "ç" Or l = "d" Or l = "D" Or l = "f" Or l = "F" Or l = "g" Or l = "G" Or l = "h" _
    Or l = "H" Or l = "k" Or l = "K" Or l = "l" Or l = "L" Or l = "m" Or l = "M" Or l = "n" Or l = "N" Or l = "p" Or l = "P" Or l = "q" _
    Or l = "Q" Or l = "r" Or l = "R" Or l = "s" Or l = "S" Or l = "t" Or l = "T" Or l = "v" Or l = "V" Or l = "w" Or l = "W" Or l = "x" _
    Or l = "X" Or l = "z" Or l = "Z" Then consonne = consonne + 1
  Next p
  ConsonneVoyelle = ("Voyelles : " & voyelle & ". Consonnes : " & consonne)
End Function

Résultats d'un code d'entraînement cérébral qui tend vers zéro[modifier | modifier le wikicode]

Phrase par phrase :

' Boite de message par phrase
Sub RechercheTout
  Dim Plage As Object
  Dim Phrase As String
  Dim oCSD As Object  
  oCSD = ThisComponent.createSearchDescriptor
  Phrase = "." & ".*" & "."   
  oCSD.SearchString = Phrase
  oCSD.SearchRegularExpression = True 
  Phrases =  ThisComponent.FindAll(oCSD)
  For i = 0 To Phrases.Count - 1
    msgbox ("Phrase " & (i+1) & " : " & Valeur(Phrases(i).String)
    Total = Total + Valeur(Phrases(i).String)
  Next
  msgbox ("Total : " & Total)
End Sub


' Insertions de résultats par phrase
Sub InsertionsResultats
  Dim monDocument, monTexte, monCurseur As Object
  monDocument = ThisComponent
  monTexte = monDocument.Text
  monCurseur = monTexte.createTextCursor
  monCurseur.gotoStart(false)    ' Positionnement au début du document
  debut = true
  While monCurseur.string <> "" or debut = true
    debut = false
    monCurseur.gotoNextSentence(true)
    monCurseur.CharEscapement = 20
    Phrase = monCurseur.string
    monCurseur.gotoPreviousSentence(false)
    monCurseur.gotoNextSentence(false)  ' Positionnement après la phrase courante pour l'insertion de son résultat
    monTexte.insertString(monCurseur, Valeur(Phrase) & " ", false)
    monCurseur.goright(len(Valeur(Phrase) & " "),true)  ' Positionnement après le résultat inséré
  Wend
End Sub


Public Function Valeur(champ As String) As Variant
  Dim p As Integer ' position
  Dim l As String ' lettre
  Dim h, e, cv As Integer ' codes
  For p = 1 To Len(champ) + 1
    l = Mid(champ, p, 1)
    If Mid(champ, p, 1) = "(" Then
      Do Until (Mid(champ, p, 1) = ")")
        p = p + 1
      Loop
    End If
    ' Les prononciations sont entre [...] ou /.../
    If l = "[" or l = "/" Then
      Do Until l = "]" or l = "/"
        If Mid(champ, p, 1) = "(" Then
          Do Until (Mid(champ, p, 1) = ")")
            p = p + 1
          Loop
        End If
        l = Mid(champ, p, 1)
        If l = "a" Or l = "á" Or l = "@" Or l = "ø" Or l = "æ" Or l = "c" Or l = "C" Or l = "ç" Or l = "g" Or l = "J" Or l = "h" Or l = "k" Or l = "l" Or l = "L" Or l = "o" Or l = "ó" Or l = "%" Or l = "r" Or l = "y" Or l = "u" Or l = "H" Or l = "w" Or l = "P" Or l = "ã" Or l = "H" Or l = "U" Or l = "G" Or l = "^" Or l = "*" Or l = "U" Then h = h - 1
        If l = "b" Or l = "d" Or l = "e" Or l = "é" Or l = "E" Or l = "f" Or l = "i" Or l = "I" Or l = "í" Or l = "Z" Or l = "m" Or l = "n" Or l = "p" Or l = "s" Or l = "t" Or l = "v" Or l = "z" Or l = "F" Or l = "0" Or l = "$" Or l = "X" Or l = "d" Or l = "T" Or l = "M" Or l = "I" Then h = h + 1
        p = p + 1
      Loop
    Else
      If l = "a" Or l = "A" Or l = "á" Or l = "à" Or l = "ä" Or l = "ã" Or l = "å" Or l = "æ" Or l = "c" Or l = "C" Or l = "ç" Or l = "e" Or l = "E" Or l = "é" Or l = "è" Or l = "g" Or l = "G" Or l = "h" Or l = "H" Or l = "k" Or l = "K" Or l = "l" Or l = "L" Or l = "o" Or l = "O" Or l = "ò" Or l = "ó" Or l = "õ" Or l = "ô" Or l = "ö" Or l = "œ" Or l = "q" Or l = "Q" Or l = "r" Or l = "R" Or l = "u" Or l = "U" Or l = "ü" Or l = "û" Or l = "ú" Or l = "ù" Or l = "w" Or l = "W" Then e = e - 1
      If l = "b" Or l = "B" Or l = "d" Or l = "D" Or l = "f" Or l = "F" Or l = "i" Or l = "I" Or l = "í" Or l = "j" Or l = "J" Or l = "m" Or l = "M" Or l = "n" Or l = "N" Or l = "p" Or l = "P" Or l = "s" Or l = "S" Or l = "t" Or l = "T" Or l = "v" Or l = "V" Or l = "y" Or l = "Y" Or l = "z" Or l = "Z" Or l = "é" Or l = "ê" Or l = "è" Or l = "ë" Then e = e + 1
    End If
  Next p
  Valeur = e
End Function

À terme un formulaire Web pourrait permettre à chacun d'éditer son texte en ligne, avec deux fonctions Javascript de calcul et suggestion d'homographe existant sur le Wiktionnaire.