Qu’affiche le programme suivant ?
using System; namespace tests { class MainClass { public static void Main (string[] args) { int a = 1, b = 0, n = 5; while(a <= n) b += a++; Console.WriteLine(a + ", " + b); } } } |
Qu’affiche le programme suivant ?
using System; namespace tests { class MainClass { public static void Main (string[] args) { int a, b, c = 0, d, m=3, n=4; for (a = 0 ; a < m ; a++) { d = 0; for(b = 0 ; b < n ; b++) d+=b; c += d; } Console.WriteLine(a + ", " + b + ", " + c + ", " + d + "."); } } } |
Qu’affiche le programme suivant ?
using System; namespace tests { class MainClass { public static void Main (string[] args) { int a, b, c, d; a = 1; b = 2; c = a/b; d = (a==b)?3:4; Console.WriteLine(c + ", " + d + "."); a = ++b; b %= 3; Console.WriteLine(a + ", " + b + "."); b = 1; for(a = 0 ; a <= 10 ; a++) c = ++b; Console.WriteLine(a + ", " + b + ", " + c + ", " + d + "."); } } } |
Les exercices suivants seront rédigés avec les trois types de boucle : tant que, répéter jusqu’à et pour.
Écrire 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.
Écrire un programme affichant la table de multiplication d’un nombre saisi par l’utilisateur.
Écrire un programme affichant les tables de multiplications des nombres de 1 à 10 dans un tableau à deux entrées.
Écrire 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.
Écrire 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
On approche le nombre 2 à l’aide de la série ∑i=0+ ∞ 1/2i. Effectuer cette approximation en calculant un grand nombre de termes 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!.
Écrire 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.
Écrire un programme qui affiche les décimales d’un double en binaire.
Écrire 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.
Écrire 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.