Algorithmique et Programmation C (INPT) - 2024/2025 PDF

Summary

These lecture notes cover fundamental concepts of C programming and algorithms. The document includes chapters on basic algorithms, C language concepts and selection statements. It's suitable for undergraduate-level computer science courses emphasizing programming logic and structure.

Full Transcript

Filière Smart-ICT Algorithmique et Programmation C Mr N.EL FADDOULI [email protected] [email protected] Année Universitaire:2024/2025 1 Plan CHAPITRE 1:...

Filière Smart-ICT Algorithmique et Programmation C Mr N.EL FADDOULI [email protected] [email protected] Année Universitaire:2024/2025 1 Plan CHAPITRE 1: CHAPITRE 3: Ø L'ALGORITHMIQUE Ø LES TABLEAUX Définitions: Informatique, Ordinateur, Ø LES CHAÎNES DE Programme, Logiciel CARACTÈRES Etapes de développement d’un programme Ø LES POINTEURS Concepts de base d’algorithmique. Ø GESTION DE MÉMOIRE CHAPITRE 2: CHAPITRE 4 Ø CONCEPTS DE BASE DU LANGAGE C Ø LES FONCTIONS Structure d’un programme C Déclaration Variables et constantes Définition Affectation et opérateurs Appel Affichage des sorties La récursivité Lecture des entrées Les instructions de sélection Les instructions de répétitions (boucles) 3 Le langage C: Le sélection binaire (1/4) F La sélection binaire permet de choisir un seul bloc d'instructions à exécuter parmi deux blocs possibles. Le choix est effectué selon une condition donnée. F La syntaxe de la sélection binaire en langage C est la suivante: if (condition) Le bloc1 est exécuté lorsque la condition est vraie, { sinon c'est le bloc2 qui est exécuté. bloc1 d'instructions Les accolades sont optionnelles si le bloc contient une } seule instruction. else { bloc2 d'instructions On peut avoir une sélection binaire sans la partie else. } Le bloc1 et/ou le bloc2 peut inclure une autre sélection binaire (sélection imbriquée) F Exemple: Afficher le maximum de deux entiers void main() { int a, b; printf("Deux entiers:"); scanf("%d%d", &a, &b); if (a>b) { printf(" La maximum est : %d, ", a); printf(" c'est le premier\n"); } else printf("le maximum est %d, c'est le deuxième\n", b); } ALGORITHMIQUE & PROGRAMMATION C \ N.EL FADDOULI CC-BY NC SA 69 Le langage C: Le sélection binaire (2/4) F La condition est une expression booléenne dont la valeur est Vrai ou Faux et qui est exprimée en utilisant les opérateurs de comparaison et les opérateurs logiques. F En C standard (avant la norme C99), le langage n'avait pas de type booléen natif. On utilisait des entiers pour représenter les valeurs booléennes Vrai et Faux: 0 était considéré comme faux et toute valeur différente de 0 était considérée comme vrai. Exemple: int A=5, B=3, C; C = A>B; ➩ C= 1 if (C) {...} if (C==1) {…} if (C != 0) {…} ⬄ ⬄ else {…} else {…} else {…} C= A B) ? A : B ; - Déterminer le maximum de deux trois entier A,B et C max = (a > b) ? (a > c ? a : c) : (b > c ? b : c); ALGORITHMIQUE & PROGRAMMATION C \ N.EL FADDOULI CC-BY NC SA 73 Le langage C: Le sélection multiple (1/2) F La sélection multiple switch en langage C permet de choisir une option parmi plusieurs cas en fonction de la valeur d'une expression donnée de type entier ou caractère (int, long, char). F Sa syntaxe est la suivante: switch (expression) { ELLE doit etre un entier ou un caractere et non pas un reel ou chaine de caractere case valeur1: ….. break; case valeur2: …… break; ….. default: …. } ALGORITHMIQUE & PROGRAMMATION C \ N.EL FADDOULI CC-BY NC SA 74 Le langage C: Le sélection multiple (2/2) F Exemple: Déterminer si un entier A est 0, 1 ou autre int A;..... switch (A) { case 0 : printf(" zero ") ; break ; case 1 : printf(" un ") ; break ; default : printf(" ni zero ni un ") ; } F Exemple: Déterminer si un caractère E est voyelle ou consonne char E; scanf ("%c",&E); switch (E) on les laisse vide et on ecrit a la fin de la case y { case 'a' : case ‘e' : …….. case 'y' : printf (" voyelle ") ; break ; case ‘b' : …….. case ‘z' : printf (" consonne ") ; break ; default : printf (" ni voyelle ni consonne ") ; } ALGORITHMIQUE & PROGRAMMATION C \ N.EL FADDOULI CC-BY NC SA 75

Use Quizgecko on...
Browser
Browser