aboutsummaryrefslogtreecommitdiff
path: root/semestre 2/informatique/td/2- exemples
diff options
context:
space:
mode:
authorAnhgelus Morhtuuzh <anhgelus@anhgelus.world>2025-01-31 15:39:30 +0100
committerAnhgelus Morhtuuzh <anhgelus@anhgelus.world>2025-01-31 15:39:30 +0100
commitd7c69934248f3fab4988c0d37c11feba25d653b8 (patch)
tree6c396257cb21374e13a26b8f78c05353806220bc /semestre 2/informatique/td/2- exemples
parented631f52ee7af474625e37c6855c7c55903317fc (diff)
Ajout du début du deuxième semestre
Diffstat (limited to 'semestre 2/informatique/td/2- exemples')
-rw-r--r--semestre 2/informatique/td/2- exemples/boucle.c25
-rw-r--r--semestre 2/informatique/td/2- exemples/boucle_complet.c22
-rw-r--r--semestre 2/informatique/td/2- exemples/boucles_complexes.c28
3 files changed, 75 insertions, 0 deletions
diff --git a/semestre 2/informatique/td/2- exemples/boucle.c b/semestre 2/informatique/td/2- exemples/boucle.c
new file mode 100644
index 0000000..b582080
--- /dev/null
+++ b/semestre 2/informatique/td/2- exemples/boucle.c
@@ -0,0 +1,25 @@
+#include <assert.h>
+
+int somme_carres_while(int m, int n){
+ int s = 0, i = m;
+ while (i <= n){
+ s += i*i;
+ i++;
+ }
+ return s;
+}
+
+int somme_carres_for(int m, int n){
+ int s = 0;
+ for (int i = m; i <= n; i++){
+ s += i*i;
+ }
+ return s;
+}
+
+int main(){
+ assert(somme_carres_while(0, 5) == somme_carres_for(0, 5));
+ assert(somme_carres_while(3, 5) == somme_carres_for(3, 5));
+ assert(somme_carres_while(15, 25) == somme_carres_for(15, 25));
+ return 0;
+}
diff --git a/semestre 2/informatique/td/2- exemples/boucle_complet.c b/semestre 2/informatique/td/2- exemples/boucle_complet.c
new file mode 100644
index 0000000..9cae542
--- /dev/null
+++ b/semestre 2/informatique/td/2- exemples/boucle_complet.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+#define MAX 20
+
+int premier(int n){
+ if (n < 2) return 0;
+ for (int i = 2; i < n;i++){
+ if (n%i == 0) return 0; // est une boucle avec sortie anticipée
+ }
+ return 1;
+}
+
+void afficheNombresPremiers(int max){
+ for (int i = 2; i <= max; i++){
+ if (premier(i)) printf("%d\n", i);
+ }
+}
+
+int main(){
+ printf("Liste des nombres premiers <= %d\n", MAX);
+ afficheNombresPremiers(MAX);
+ return 0;
+}
diff --git a/semestre 2/informatique/td/2- exemples/boucles_complexes.c b/semestre 2/informatique/td/2- exemples/boucles_complexes.c
new file mode 100644
index 0000000..6c388a4
--- /dev/null
+++ b/semestre 2/informatique/td/2- exemples/boucles_complexes.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <assert.h>
+
+void afficheBilletsPieces(int m){
+ int r = m;
+ int billets = r/5;
+ r = r%5;
+ int pieces2 = r/2;
+ r = r%2;
+ int pieces1 = r;
+ printf("%d€ = %d * 5€ + %d * 2€ + %d * 1€", m, billets, pieces2, pieces1);
+}
+
+void afficheBilletsPiecesMultiple(int m){
+ for (int billets = m/5; billets >= 0; billets--){
+ int av = m - billets*5;
+ for (int p2 = av/2; p2 >= 0; p2--){
+ int av2 = av - p2*2;
+ assert(billets*5+p2*2+av2 == m);
+ printf("%d€ = %d*5€ + %d*2€ + %d*1€\n", m, billets, p2, av2);
+ }
+ }
+}
+
+int main(){
+ afficheBilletsPiecesMultiple(23);
+ return 0;
+}