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:
- Ecrire un programme qui lit un caractère au clavier et affiche le caractère ainsi que son code numérique.
- Ecrire un programme qui lit une lettre minuscule au clavier et qui affiche la lettre en majuscule.
- 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
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;
}