Qu’affiche le programme suivant ?
#include<stdio.h> #define N 5 int main() { int a = 1, b = 0; while(a <= N) b += a++; printf("%d, %d\n", a, b); return 0; }
Qu’affiche le programme suivant ?
#include<stdio.h> #define M 3 #define N 4 int main() { int a, b, c = 0, d; for (a = 0 ; a < M ; a++) { d = 0; for(b = 0 ; b < N ; b++) d+=b; c += d; } printf("a = %d, b = %d, c = %d, d = %d", a, b, c, d); return 0; }
Qu’affiche le programme suivant ?
#include<stdio.h> int main() { int a, b, c, d; a = 1; b = 2; c = a/b; d = (a==b)?3:4; printf("c = %d, d = %d\n", c, d); a = ++b; b %= 3; printf("a = %d, b = %d\n", a, b); b = 1; for(a = 0 ; a <= 10 ; a++) c = ++b; printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d); return 0; }
Les exercices suivants seront rédigés avec les trois types de boucle : tant que, répéter jusqu’à et pour.
Ecrire un programme demandant à l’utilisateur de saisir une valeur numérique positive n et affichant toutes les valeurs n, n−1, …, 2, 1, 0.
Ecrire un programme calculant la factorielle (factorielle n = n! = 1 × 2 × … × n et 0! = 1) d’un nombre saisi par l’utilisateur.
Pour les exercices suivants, vous choisirez la boucle la plus simple et la plus lisible.
Ecrire un programme affichant la table de multiplication d’un nombre saisi par l’utilisateur.
Ecrire un programme affichant les tables de multiplications des nombres de 1 à 10 dans un tableau à deux entrées.
Ecrire un programme demandant à l’utilisateur de saisir deux valeurs numériques b et n (vérifier que n est positif) et affichant la valeur bn.
On approche le nombre 2 à l’aide de la série ∑i=0+ ∞ 1/2i. Effectuer cette approximation en calculant un grand nombre de terme de cette série. L’approximation est-elle de bonne qualité ?
Mêmes questions qu’à l’exercice précédent en e à l’aide de la série ∑i=0+ ∞ 1/i!.
Calculer une approximation de ex à l’aide de la série ex = ∑i=0+ ∞ xi/i!.
Ecrire un programme qui affiche un
unsigned short
en
binaire. Vous utiliserez l’instruction
sizeof(unsigned short)
, qui
donne en octets la taille de la représentation en
mémoire d’un
unsigned short
.
Ecrire un programme qui affiche les décimales d’un
double
en
binaire.
Ecrire un programme qui saisit une valeur de type
unsigned short
et qui inverse l’ordre des bits.
Vous testerez ce programme en utilisant le précédent.
Ecrire un programme qui saisit une valeur n et qui affiche le carré suivant (n = 5 dans l’exemple) :
n = 5 X X X X X X X X X X X X X X X X X X X X X X X X X
Ecrire un algorithme demandant à l’utilisateur de saisir deux valeurs numériques x et p et affichant √x avec une précision p. On utilisera une méthode par dichotomie : à la k-ème itération, on cherche x dans l’intervalle [min, sup], on calcule le milieu m de cet intervalle (à vous de trouver comment le calculer). Si cet intervalle est suffisament petit (à vous de trouver quel critère utiliser), afficher m. Sinon, vérifiez si √x se trouve dans [inf, m] ou dans [m, sup], et modifiez les variables inf et sup en conséquence. Par exemple, calculons la racine carrée de 10 avec une précision 0.5,
Une calculatrice de poche prend de façon alternée la saisie d’un opérateur et d’une opérande. Si l’utilisateur saisit 3, + et 2, cette calculatrice affiche 5, l’utilisateur a ensuite la possibilité de se servir de 5 comme d’une opérande gauche dans un calcul ultérieur. Si l’utilisateur saisit par la suite * et 4, la calculatrice affiche 20. La saisie de la touche = met fin au calcul et affiche un résultat final.
Implémentez le comportement décrit ci-dessus.
Ajoutez l’opérateur $ qui calcule ab, vous vous restreindrez à des valeurs de b entières et positives.
Ajoutez les opérations unaires racine carrée et factorielle.