Additional Exercises on Simple Sequential Algorithms

Site: E-Learning Guelma
Cours: Algorithmics and Data Structures 1
Livre: Additional Exercises on Simple Sequential Algorithms
Imprimé par: Visiteur anonyme
Date: vendredi 16 mai 2025, 23:42

Description

This series offers a set of supplementary exercises for individual work on simple sequential algorithms. The solutions to these exercises are available on the module's Facebook page. It's important to note that these exercises are a supplement and by no means replace the classes and educational resources provided in the classroom. They are designed to enhance your understanding and provide additional opportunities for practice and self-learning.

1. Exercice 5:

Ecrire un algorithme/programme qui calcule la somme de quatre nombres entiers entrés au clavier, en se servant de 2 variables uniquement.

Solution :

Algorithme:

Algorithm calcul;

Var n,s:Integer;

Begin

Write("Donner le premier nombre: ");

Read(n);

s ← n;

Write("Donner le deuxième nombre: ");

Read(n);

s ← s+n;

Write("Donner le troisième nombre: ");

Read(n);

s ← s+n;

Write("Donner le quatrième nombre: ");

Read(n);

s s+n;

Write("La somme est: ",s);

End.

Programme C:

#include <stdio.h>

#include <stdlib.h>

int main(){

int n,s;

printf("Donner le premier nombre: ");

scanf("%d",&n);

s=n;

printf("Donner le deuxieme nombre: ");

scanf("%d",&n);

s=s+n;

printf("Donner le troisieme nombre: ");

scanf("%d",&n);

s=s+n;

printf("Donner le quatrieme nombre: ");

scanf("%d",&n);

s=s+n;

printf("La somme est: %d",s);

return 0;

}

2. Exercice 6:

Ecrire un algorithme/programme permettant de lire les coordonnées de deux points dans le plan et qui calcule et affiche la distance entre elles.

Rappelons que la distance entre les deux points A(x1,y1) et  B(x2,y2) est donnée par la formule suivante:

\( d= \sqrt[]{(x2-x1)^2+(y2-y1)^2} \)

Solution :

Algorithme:

Algorithm distance;

Var x1,y1,x2,y2,dis:real;

Begin

Write("Donner les coordonnées (x,y) du point A: ");

Read(x1,y1);

Write("Donner les coordonnées (x,y) du point B: ");

Read(x2,y2);

dis ← sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));

Write("La distance entre les 2 points est: ",dis);

End.

Programme C:

#include<stdio.h>

#include<math.h>

main(){</span></p> <p><span lang="FR">    float x1,y1,x2,y2,dis;</span></p> <p><span lang="FR">    printf("Donner les coordonnees (x,y) du point A: ");</span></p> <p><span lang="FR">    scanf("%f%f",&x1,&y1);</span></p> <p><span lang="FR">    printf("Donner les coordonnees (x,y) du point B: ");</span></p> <p><span lang="FR">    scanf("%f%f",&x2,&y2);</span></p> <p><span lang="FR">    dis = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));</span></p> <p><span lang="FR">    printf("La distance entre les 2 points est: %.2f",dis);</span></p> <p><span lang="FR">}


3. Exercice 7:

  1. Ecrire un programme qui lit un caractère au clavier et affiche le caractère ainsi que son code numérique.
  2. Ecrire un programme qui lit une lettre minuscule au clavier et qui affiche la lettre en majuscule.
  3. Ecrire un programme qui lit une lettre majuscule au clavier et qui affiche son numéro dans l’alphabet, la lettre qui la précède, et la lettre qui la succède.

Solution :

1)
#include <stdio.h>

#include <stdlib.h>

int main(){

char c;

printf("Donner un caractere: ");

scanf("%c",&c);

printf("Vous avez entre \"%c\" qui a le code ASCII %d\n",c,c);

return 0;

}
2)
#include <stdio.h>

#include <stdlib.h>

int main(){

char min,maj;

printf("Donner une letrre minuscule: ");

scanf("%c",&min);

maj=min-('a'-'A');

printf("La lettre en majuscule est \"%c\"\n",maj);

return 0;

}
3)
#include <stdio.h>

#include <stdlib.h>

int main(){

char lettre,pred,succ;int num;

printf("Donner une lettre majuscule: ");

scanf("%c",&lettre);

num=lettre-'A'+1;

pred=lettre-1;

succ=lettre+1;

printf("Le numero de la lettre est: %d\n",num);

printf("Son predecesseur est \"%c\"\n",pred);

printf("Son successeur est \"%c\"\n",succ);

return 0;

}

4. Exercice 8

Plan cartésien

Ecrire un algorithme/ programme qui demande à l’utilisateur de donner les composantes cartésiennes de deux vecteurs et qui calcule et affiche leur produit scalaire.

Si les composantes cartésiennes des vecteurs   et  sont respectivement (x1, y1) et (x2, y2), alors 

Solution :

Algorithme:

Algorithm produit_scalaire;

Var x1,y1,x2,y2,prod:real;

Begin

Write("Donner les coordonnées x et y du vecteur u: ");

Read(x1,y1);

Ecrire ("Donner les coordonnées x et y du vecteur v: ");

Read(x2,y2);

prod ← x1*x2+y1*y2;

Write("Le produit scalaire de u et v est: ",prod);

End.

Programme C:

#include <stdio.h>

int main(){

float x1,y1,x2,y2,prod;

printf("Donner les coordonnees x et y du vecteur u: ");

scanf("%f%f",&x1,&y1);

printf("Donner les coordonnees x et y du vecteur v: ");

scanf("%f%f",&x2,&y2);

prod=x1*x2+y1*y2;

printf("Le produit scalaire de u et v est: %.2f",prod);

return 0;

}