TD TP 1 ASD - Algorithmes séquentiels simples

Telechargé par eco nom
 

  
Module: A.S.D
SERIE D’EXERCICES DE TD N° 01
(Expressions et algorithmes séquentiels simples)
Rappel Table des priorités classées par ordre
décroissant, les opérateurs sur une même ligne ayant
une priorité égale (on évalue alors de gauche à droite)
( ) fonction()
primaire
+ - not
unaire
* / div mod and
multiplicatif
+ - or
additif
= != < <= >= >
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.
2 - 5 * 3 + 4
(2 - 5) * (3 + 4)
2 - (5 * 3 + 4)
2.
12 / 3
12 div 3
11 div 3 div 2
11 mod 3 + 5.2
3.
1.0 * 2 + 3 - 4
round (2 * 6.3) - 15 / 3
(50 < 3 * 8)
4.
false or not false and true
(12 > 24) + (2 + 4 = 12)
5.
(37 - 3 >= 14) - 'a' + 3
pred ('b') > 'k'
12 > 3 > 4
6.
3.5 + 7 > 4 > false
not (12 <> 3 * 16.8/4) and true
7.
3 * cos (8.0/(17 -(3 * 4)- 5))
NB : Round() : Renvoie un nombre entier
arrondi pour une valeur numérique
Pred(): le prédécesseur d’un caractère
Exercice N° 02 :
Parenthéser complètement les expressions suivantes.
Peuvent-elles être considérées comme correctes ? Si oui,
à quelles conditions, si non pourquoi ?
2 + x * 3
-x + 3 * y <= 10 + 3
x = 0 or y = 0
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
A5
B3
CA+B
A2
CB-A
Fin
Exercice N° 04 :
Quelles seront les valeurs des variables A et B après
l’exécution des instructions suivantes :
Algorithme Exo4
VAR A, B : entier
Début
A5
BA+4
AA+1
BA-4
Fin
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
A5
B3
AB
BA
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 :
1. Écrire un algorithme qui lit une valeur entière à
partir du clavier, calcule son carré et son cube et
les affichent.
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)
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.
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.
8. Donnez en C, les instructions qui permettent de :
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 ;
9. En C, Quelle instruction permet de lire un caractère
à partir du clavier ?
10. En C, Quelle instruction permet d’imprimer à
l’écran le contenu d’une variable de type caractères
? Comment afficher son code ASCII ?
Exercice N° 09 :
Corriger le programme C suivant (10 erreurs)
#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 ?
#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);
N = 5; P = 2;
Q = N++ < P || P++ != 3;
printf ("D : N=%d P=%d Q=%d\n", N, P, Q);
N = 5; P = 2;
Q = ++N == 3 && ++P == 3;
printf ("E : N=%d P=%d Q=%d\n", N, P, Q);
N=5; P=2;
Q = ++N == 6 && ++P == 3;
printf ("F : N=%d P=%d Q=%d\n", N, P, Q);
N=C;
printf ("G : %c %c\n", C, N);
printf ("H : %d %d\n", C, N);
printf ("I : %x %x\n", C, N);
return 0;
}
 

  
Module: A.S.D
SERIE DE TP N° 01
(Première prise en main)
Exercice N° 01 :
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 ;
}
3. Identifier les différentes parties constituantes du
programme.
4. Compiler puis exécuter votre projet.
5. Les 03 premières lignes apparaisse-elles après
l’exécution ?
6. Enlevez un des symboles ’\t et réexécuter. Que se
passe-t-il ? Pourquoi ?
7. Enlevez le premier symbole ’\n’. Que se passe-t-il ?
Pourquoi ?
8. Enlevez le second symbole ’\n’. Que se passe-t-il ?
Pourquoi ?
9. Dans la fonction main, ajoutez les instructions qui
écrivent sur la sortie standard : votre nom, votre âge
et votre groupe, chacune sur des lignes différentes.
Exercice N° 02 :
Écrire un algorithme qui lit deux valeurs entières à
partir du clavier et calcule et affiche leur somme, leur
différence et leur produit.
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 :
Ecrire un programme qui affiche
1. Le quotient et le reste de la division entière de deux
nombres entiers entrés au clavier.
2. Le quotient rationnel de ces nombres.
Exercice N° 05 :
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 :
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
Exercice N° 07 :
Écrire un programme qui :
1. Lit le nom, le prénom et l’année de naissance de
l’utilisateur.
2. Calcule son âge.
3. Affiche un message du genre :
"Bonjour Mohammed Yahia. Vous avez 3 ans"
Exercice N° 08 :
Ecrire un programme qui calcule la somme de quatre
nombres du type int entrés au clavier,
a) en se servant de 5 variables (mémorisation des valeurs
entrées)
b) en se servant de 2 variables (perte des valeurs entrées)
Devoir
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é
ajoutée. (Déduisez la formule du calcul de celle
indiquée ci-dessus).
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !