Telechargé par eco nom

TD TP 1 ASD - Algorithmes séquentiels simples

publicité
-‫املركز اجلامعي الشهيد يس احلواس –بريكة‬
‫قسم الرايضيات والإعالم الآل‬
Module: A.S.D
SERIE D’EXERCICES DE TD N° 01
(Expressions et algorithmes séquentiels simples)
des priorités classées par ordre Exercice N° 02 :
Rappel
Table
décroissant, les opérateurs sur une même ligne ayant Parenthéser complètement les expressions suivantes.
une priorité égale (on évalue alors de gauche à droite)
Peuvent-elles être considérées comme correctes ? Si oui,
()
fonction()
primaire
à quelles conditions, si non pourquoi ?
+
not
unaire
➢ 2+x*3
*
/
div
mod
and
multiplicatif
➢ -x + 3 * y <= 10 + 3
+
or
additif
➢ x = 0 or y = 0
=
!=
<
<=
>=
>
relation
Exercice N° 01 :
Donner le type et le résultat des expressions suivantes,
ou dire si elles ne sont pas bien formées.
Exemple :
1.
Exercice N° 03 :
Quelles seront les valeurs des variables A, B et C après
l’exécution des instructions suivantes :
Algorithme Exo3
VAR A, B, C : entier
Début
A5
B3
CA+B
A2
CB-A
Fin
•
•
•
2 - 5 * 3 + 4
(2 - 5) * (3 + 4)
2 - (5 * 3 + 4)
Exercice N° 04 :
•
•
•
•
12
12
11
11
•
•
•
1.0 * 2 + 3 - 4
round (2 * 6.3) - 15 / 3
(50 < 3 * 8)
Algorithme Exo4
VAR A, B : entier
Début
A5
BA+4
AA+1
BA-4
Fin
•
•
false or not false and true
(12 > 24) + (2 + 4 = 12)
•
•
•
(37 - 3 >= 14) - 'a' + 3
pred ('b') > 'k'
12 > 3 > 4
•
•
3.5 + 7 > 4 > false
not (12 <> 3 * 16.8/4) and true
•
3 * cos (8.0/(17 -(3 * 4)- 5))
2.
/ 3
div 3
div 3 div 2
mod 3 + 5.2
3.
4.
5.
6.
7.
NB : Round() : Renvoie un nombre entier
arrondi pour une valeur numérique
Pred(): le prédécesseur d’un caractère
Quelles seront les valeurs des variables A et B après
l’exécution des instructions suivantes :
Exercice N° 05 :
1. Quelles seront les valeurs des variables A et B après
l’exécution des instructions suivantes:
Algorithme Exo5
VAR A, B : entier
Début
A5
B3
AB
BA
Fin
2. Que constatez-vous?
3. Modifier l’algorithme afin de permettre l’échange (la
permutation) des valeurs des variables A et B.
Exercice N° 06 :
Exercice N° 09 :
1. Écrire un algorithme qui lit une valeur entière à
partir du clavier, calcule son carré et son cube et
les affichent.
Corriger le programme C suivant (10 erreurs)
2. Écrire un algorithme qui lit deux valeurs entières à
partir du clavier et calcule et affiche leur somme,
leur différence et leur produit.
3. Écrire un algorithme qui demande à l’utilisateur
de taper 5 entiers et qui affiche leur moyenne.
Exercice N° 07 :
Ecrire un algorithme qui calcule et affiche la surface S
d'un triangle dont il faut entrer les longueurs des trois
côtés. Utilisez la formule :
S2 = P *(P-A)*(P-B)*(P-C)
#include <stdio.c>
int main()
int m, n
printf("m ? );
scanf("%d", m);
printf("m = %d\n", &m);
printf("n ? ");
scanf("%n", &n);
printf("n = %d\n", n);
printf("%d + %d = %d\n", m+n);
printf("%d - %d = %d\n", m, n,difference);
return 5;
}
Exercice N° 10 :
Qu’affiche ce programme sur écran ?
Où A, B, C sont les longueurs des trois côtés (type int) et P
le demi-périmètre du triangle.
--------------- Le langage C -------------Exercice N° 08 :
Rappel sur les généralités
1.
Comment appelle-t-on le texte qui vient après un //
ou entre /* et */ ?
2. En C, Comment appelle -t-on l’instruction qui
définit une nouvelle variable ?
3. En C, une instruction doit impérativement se
terminer par __________ .
4. En C, Quelle librairie doit être utilisée pour
pouvoir effectuer des instructions de
lecture/affichage ?
5. Donnez l’instruction qui permet d’utiliser cette
librairie dans un programme.
#include <stdio.h>
main(){
int i = 23674;
float j = 567.847;
char c = 'A';
char *chaine = "chaine de caracteres";
printf("\impression de i:\n");
printf("%d\t %o\t %x \n",i,i,i);
printf("\impression de j: \n");
printf("%.0f\t %.3f \t %.2f \n ",j,j,j);
printf("\impression de c: \n");
printf("%c \t %d \n",c,c);
printf("\impression de chaine: \n");
printf("%s \t %.10s",chaine,chaine);
printf("\n");
}
Exercice N° 11 :
Sans utiliser l'ordinateur, trouvez et notez les
résultats du programme ci-dessus.
include <stdio.h>
int main(){
int N=10, P=5, Q=10, R;
char C='S';
N = 5; P = 2;
Q = N++ > P || P++ != 3;
printf ("C : N=%d P=%d Q=%d\n", N, P, Q);
6. Comment s’appelle la fonction principale d’un
programme C ? Comment elle est définie ?
7. Donnez l’instruction qui permet d’afficher la
chaine de caractère "bonjour" à l’écran.
N = 5; P = 2;
Q = N++ < P || P++ != 3;
printf ("D : N=%d P=%d Q=%d\n", N, P, Q);
8. Donnez en C, les instructions qui permettent de :
N = 5; P = 2;
Q = ++N == 3 && ++P == 3;
printf ("E : N=%d P=%d Q=%d\n", N, P, Q);
a. Déclarer une variable entière i.
b. Lire une valeur entière à partir du clavier et
ranger cette valeur dans la variable i ;
c. Afficher la valeur de la variable i ;
N=5; P=2;
Q = ++N == 6 && ++P == 3;
printf ("F : N=%d P=%d Q=%d\n", N, P, Q);
9. En C, Quelle instruction permet de lire un caractère
à partir du clavier ?
N=C;
printf
printf
printf
return
10. En C, Quelle instruction permet d’imprimer à
l’écran le contenu d’une variable de type caractères
? Comment afficher son code ASCII ?
}
("G : %c %c\n", C, N);
("H : %d %d\n", C, N);
("I : %x %x\n", C, N);
0;
Exercice N° 01 :
-‫املركز اجلامعي الشهيد يس احلواس –بريكة‬
‫قسم الرايضيات والإعالم الآل‬
Module: A.S.D
SERIE DE TP N° 01
(Première prise en main)
Exercice N° 05 :
1. Créer un nouveau projet.
2. Modifier l'instruction d'affichage dans le fichier
main.c comme suit :
/*
* Ce programme affiche le message ’Salam à tous ’.
* @author [email protected] 20/01/2021
*/
#include <stdlib.h>
#include <stdio.h>
int main (){
printf ("\t Salam a tous \n");
printf ("\t **************\n");
return 0 ;
}
1. Écrire un programme qui demande à l'utilisateur un
poids en kilogramme (kg) et le converti en livre.
Sachant que 1 livre = 0,4536 kg
2. Écrire un programme qui demande à l'utilisateur une
distance en mile et la convertie en pied.
Sachant que 1 mile = 1,609 kilomètre et 1 mètre =
3,2809 pieds.
Exercice N° 06 :
3. Identifier les différentes parties constituantes du
programme.
Ecrire un programme qui calcule et affiche la distance
DIST (type double) entre deux points A et B du plan
dont les coordonnées (XA, YA) et (XB, YB) sont entrées
au clavier comme entiers.
𝐷𝐼𝑆𝑇 = √(XB − XA)2 + (𝑌𝐵 − 𝑌𝐴)2
4. Compiler puis exécuter votre projet.
Exercice N° 07 :
5. Les 03 premières lignes apparaisse-elles après
l’exécution ?
Écrire un programme qui :
6. Enlevez un des symboles ’\t’ et réexécuter. Que se
passe-t-il ? Pourquoi ?
1. Lit le nom, le prénom et l’année de naissance de
l’utilisateur.
2. Calcule son âge.
7. Enlevez le premier symbole ’\n’. Que se passe-t-il ?
3. Affiche un message du genre :
Pourquoi ?
8. Enlevez le second symbole ’\n’. Que se passe-t-il ?
Pourquoi ?
"Bonjour Mohammed Yahia. Vous avez 3 ans"
Exercice N° 08 :
9. Dans la fonction main, ajoutez les instructions qui
écrivent sur la sortie standard : votre nom, votre âge Ecrire un programme qui calcule la somme de quatre
et votre groupe, chacune sur des lignes différentes. nombres du type int entrés au clavier,
a) en se servant de 5 variables (mémorisation des valeurs
Exercice N° 02 :
entrées)
Écrire un algorithme qui lit deux valeurs entières à
b) en se servant de 2 variables (perte des valeurs entrées)
partir du clavier et calcule et affiche leur somme, leur
différence et leur produit.
Devoir
Exercice N° 03 :
Ecrire un programme qui
1. Lit un caractère au clavier.
2. Affiche ce caractère.
3. Affiche son code numérique.
Exercice N° 04 :
1. Écrire un programme qui calcule le prix TTC (type
double) d'un article à partir du prix net (type int) et du
pourcentage de TVA (type int) à ajouter. Utilisez la
formule suivante en faisant attention aux priorités et
aux conversions automatiques de type :
prixTTC = prixNET + prixNET* TVA /100
2. Écrire un programme qui calcule le prix net d'un
article (type double) à partir du prix TTC (type
double) et du pourcentage de TVA (type int) qui a été
1. Le quotient et le reste de la division entière de deux
ajoutée. (Déduisez la formule du calcul de celle
nombres entiers entrés au clavier.
indiquée ci-dessus).
2. Le quotient rationnel de ces nombres.
Ecrire un programme qui affiche
Téléchargement