Programmation informatique, langage Shell, langage C, code informatique, fonction factorielle, tableau associatif
Le document résout 4 exercices de programmation en langage Shell.
[...] DIFFERENCES Les différences entre les versions en Shell et en C résident principalement dans le choix du langage, la syntaxe utilisée, et la manière dont les programmes sont exécutés. C est un langage plus puissant que Shell et offre une plus grande flexibilité pour le développement logiciel. En termes de syntaxe, Shell est plus simple, claire et concise. À l'inverse, C a une syntaxe structurée, qui exige une définition formelle de fonctions et l'utilisation de structures de programme plus élaborées, pour une organisation hiérarchique et modulaire du code. [...]
[...] En ce qui concerne l'exécution, le code en Shell est interprété, ce qui signifie que le code est lu et exécuté ligne par ligne par l'interpréteur de commandes. En revanche, le code en C est compilé avant l'exécution, transformant le code source en code machine par un compilateur avant d'être exécuté, généralement avec des performances améliorées. [...]
[...] De plus, il pourrait rencontrer des limitations liées aux types de données dans le Shell, ce qui pourrait affecter sa capacité à gérer des nombres extrêmement grands. EXPLICATION DU BESOIN DE L'AMELIORATION L'amélioration apporte un code plus efficient, particulièrement adapté aux calculs complexes, tout en ayant la capacité potentielle de gérer des nombres de plus grande envergure grâce à sa précision arbitraire. AMELIORATION DU PROGRAMME # Fonction pour calculer la factorielle en utilisant dc calculerFactorielle() { local nombre=$1 if [ $nombre -lt 0 then echo "La factorielle d'un nombre négatif n'est pas définie." return fi echo "$nombre d1 [...]
[...] # Puis on supprime du texte tous les caractères sauf le premier. PremierCar=${Texte%"${PremierCar}"} while do case ${PremierCar} in À) enMinuscules_texteConverti="${enMinuscules_texteConverti}à" Â) enMinuscules_texteConverti="${enMinuscules_texteConverti}â" É) enMinuscules_texteConverti="${enMinuscules_texteConverti}é" È) enMinuscules_texteConverti="${enMinuscules_texteConverti}è" Ê) enMinuscules_texteConverti="${enMinuscules_texteConverti}ê" Ë) enMinuscules_texteConverti="${enMinuscules_texteConverti}ë" Î) enMinuscules_texteConverti="${enMinuscules_texteConverti}î" Ï) enMinuscules_texteConverti="${enMinuscules_texteConverti}ï" Ô) enMinuscules_texteConverti="${enMinuscules_texteConverti}ô" Û) enMinuscules_texteConverti="${enMinuscules_texteConverti}û" Ù) enMinuscules_texteConverti="${enMinuscules_texteConverti}ù" enMinuscules_texteConverti="${enMinuscules_texteConverti}a" enMinuscules_texteConverti="${enMinuscules_texteConverti}b" enMinuscules_texteConverti="${enMinuscules_texteConverti}c" enMinuscules_texteConverti="${enMinuscules_texteConverti}d" enMinuscules_texteConverti="${enMinuscules_texteConverti}e" enMinuscules_texteConverti="${enMinuscules_texteConverti}f" enMinuscules_texteConverti="${enMinuscules_texteConverti}g" enMinuscules_texteConverti="${enMinuscules_texteConverti}h" enMinuscules_texteConverti="${enMinuscules_texteConverti}i" enMinuscules_texteConverti="${enMinuscules_texteConverti}j" enMinuscules_texteConverti="${enMinuscules_texteConverti}k" enMinuscules_texteConverti="${enMinuscules_texteConverti}l" enMinuscules_texteConverti="${enMinuscules_texteConverti}m" enMinuscules_texteConverti="${enMinuscules_texteConverti}n" enMinuscules_texteConverti="${enMinuscules_texteConverti}o" enMinuscules_texteConverti="${enMinuscules_texteConverti}p" enMinuscules_texteConverti="${enMinuscules_texteConverti}q" enMinuscules_texteConverti="${enMinuscules_texteConverti}r" enMinuscules_texteConverti="${enMinuscules_texteConverti}s" enMinuscules_texteConverti="${enMinuscules_texteConverti}t" enMinuscules_texteConverti="${enMinuscules_texteConverti}u" enMinuscules_texteConverti="${enMinuscules_texteConverti}v" enMinuscules_texteConverti="${enMinuscules_texteConverti}w" enMinuscules_texteConverti="${enMinuscules_texteConverti}x" enMinuscules_texteConverti="${enMinuscules_texteConverti}y" enMinuscules_texteConverti="${enMinuscules_texteConverti}z" EXERCISE 3 : La factorielle # /bin/bash # Fonction pour calculer la factorielle calculerFactorielle() { local nombre=$1 local resultat=1 if [ $nombre -lt 0 then echo "La factorielle d'un nombre négatif n'est pas définie." return fi for = i ⤠$nombre; do resultat=$((resultat * done echo "$nombre = $resultat" # Exemple d'utilisation calculerFactorielle 5 EXPLICATION Ce script pourrait présenter des inefficacités avec des entrées très grandes en raison de l'approche séquentielle utilisée dans la boucle for. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture