tc_info:2023-td-texte-corr

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tc_info:2023-td-texte-corr [2023/11/30 10:32] – [Exercice 4 : Expressions régulières] edaucetc_info:2023-td-texte-corr [2023/12/01 09:49] (Version actuelle) – [Exercice 4 : Expressions régulières] edauce
Ligne 15: Ligne 15:
     i <-- 0     i <-- 0
     tant que i < n - m:     tant que i < n - m:
-        j <-- i+        j <-- 0
         tant que j < m et d[i+j] = t[j] :         tant que j < m et d[i+j] = t[j] :
             j += 1             j += 1
Ligne 33: Ligne 33:
     i <-- 0     i <-- 0
     tant que i < n - m:     tant que i < n - m:
-        j <-- i+        j <-- 0
         tant que j < m et d[i+j] = t[j] :         tant que j < m et d[i+j] = t[j] :
             j += 1             j += 1
Ligne 39: Ligne 39:
            l.append(i)            l.append(i)
         i <-- i + 1            i <-- i + 1   
 +    retourner l
 </code> </code>
 +
  
 Cette approche a un inconvénient : après une comparaison infructueuse, la comparaison suivante débutera à la position i + 1, sans tenir aucun compte de celles qui ont déjà eu lieu à l'itération précédente, à la position i.  Cette approche a un inconvénient : après une comparaison infructueuse, la comparaison suivante débutera à la position i + 1, sans tenir aucun compte de celles qui ont déjà eu lieu à l'itération précédente, à la position i. 
Ligne 83: Ligne 85:
         si c appartient à t:         si c appartient à t:
            k <-- dernière_occurrence(c, t)            k <-- dernière_occurrence(c, t)
-           si k == m:+           si k == m-1:
                decalage <-- m                decalage <-- m
            sinon              sinon  
Ligne 181: Ligne 183:
  
 {{:tc_info:automate-term.png?600|}} {{:tc_info:automate-term.png?600|}}
 +</note>
  
-** 4. Donnez une expression régulière pour reconnaître les URL commençant par "https://".**+** 4. Donnez une expression régulière pour reconnaître les URL commençant par {{https://|https://}}.**
  
-Correction : ''https://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}''+Correction :  
 +<code> 
 +https://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} 
 +</code>
  
-** 5. Écrivez une expression régulière pour reconnaître la date et l'heure au format "YYYY-MM-DD (HH:MM)"**+** 5. Écrivez une expression régulière pour reconnaître la date et l'heure au format ''YYYY-MM-DD (HH:MM)'' ** 
 +Correction :  
 +<code> 
 +\d\d\d\d-(0[1-9]|1[12])-(0[1-9]|[12][0-9]|3[0-1]) (0[09]|1[09]|2[03]):[05][09] 
 +</code>
  
-Correction : \d\d\d\d-(0[1-9]|1[12])-([0-2][0-9]|3[0-1]) (0[09]|1[09]|2[03]):[05][09] 
-</note> 
 ==== Exercice 5 ==== ==== Exercice 5 ====
 +
 1.  **Ecrire l'algorithme de reconnaissance de l'expression régulière ''(a|b)*c''** 1.  **Ecrire l'algorithme de reconnaissance de l'expression régulière ''(a|b)*c''**
 <code python> <code python>
  • tc_info/2023-td-texte-corr.1701336752.txt.gz
  • Dernière modification : 2023/11/30 10:32
  • de edauce