- Inscrit
- 4/7/20
- Messages
- 58
- Points
- 8
- Parité d’un octet :
Exemple dans mon Octet équivaut à un 8 bit, donc je dois faire en sorte que si mon deuxième nombre est pair, le premier sera impair, sauf que si mon second et donc impair, le premier sera pair.
Exemple :
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
Inverse :
1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
Variable bit[8], i, result : Entier Début result <- 0 Pour I <- 1 à 8 Ecrire(“Entrer le bit N°”, i) Lire(bit) result = result + bit i Suivant Si (result % 2 == 0) Alors bit[0] = 0 SiNon bit[0] = 1 FinSI Ecrire(“Le nombre contient”, result, “bit(s) à 1, donc la parité vaut : “, bit[0]) Fin |
Donc si on traduit l'algorithme en langage C ça va nous donner.
En utilisant le programme je vais effectuer toutes les conditions possibles.
- Filtrage d’un texte :
Donc je dois faire un programme changeant les lettres de majuscule en minuscule.
En prenant le principe des accents, je n’ai pas modifié chaque lettre mais seulement les voyelles.
Je vais devoir utiliser l’include <string.h>.
Donc en premier lieu je vais faire en sorte de mettre les majuscule en minuscule, se sont les voyelles [A, E, I, O, U, Y] :
Donc en algo ça nous fait :
Variable mots[256] : Caractère Variable i : Entier Début Ecrire(“Entrez une phrase”) Lire(mots) Pour (i 0 à la fin de la chaîne, i = i+1) Si (mots=’A’) mots <- ‘a’ FinSi Si (mots=’E’) mots <- ‘e’ FinSi Si (mots=’I’) mots <- ‘i’ FinSi Si (mots=’O’) mots <- ‘o’ FinSi Si (mots=’U’) mots <- u’ FinSi Si (mots=’Y’) mots <- y’ FinSi i Suivant Ecrire(mots) Fin |
Donc maintenant je vais le traduire en langage C :
Et donc en résultat ça nous fait :
Sauf que les consonne ne sont pas indiqués dans le code donc il nous fera ce genre de résultat :
- Ecriture d’une table :
Tout d’abord nous allons utiliser l’include <math.h> qui nous permettra d’inclure des fonctions mathématiques.
M_PI vas me servir a faire un macro qui définit la valeur, de type double, de la constante π.
Donc en algorithme je traduis ça par :
Variables x : Entier Variables sinus1, sinus2, radians : Réel Début Ecrire(“X Sin(x) X Sin(x)”) Pour ((x allant de 0 à 45)) radians <- M_PI * x / 180 sinus1 <- sin(radians) radians <- M_PI * ( x + 45) / 180 sinus2 <- sin(radians) Ecrire( x, ” “, sinus1, ” “, x+45, ” “, sinus2 ) Fin pour Fin |
Traduit en langage C ça nous fait ce petit bout de code.
Donc en résultat ça nous fait tout ceci :
- Combinaison de N objets pris P à P :
Variables n, p, a, m, n1, p1, m1, i : Entier Début Ecrire(“Entrez une valeur pour n :”) lire Ecrire(“Entrez une valeur pour p :”) Lire(p) m <- n - p Pour (i allant de i à n) n1 <- i * n1 Fin Pour Pour (i allant de i à p) p1 <- i * p1 Fin Pour Pour (i allant de i à m) m1 <- i * m1 Fin Pour a <- n1 / ( p1 * m1) Ecrire(a) Fin |
On ne peut pas avoir un nombre à virgule pour a puisque a est un nombre entier et non un réel, donc on dois utiliser un “int” au lieu d’un “float”
Donc maintenant je vais traduire tout ça en langage C :
Voici donc nos résultats du programme :
- Evaluation d’expression :
Donc a chaque fin de code de ligne de chaque groupe j’ai ajouter un printf pour voir les résultats du groupe et pouvoir les comparer.
J’ai du aussi ajouter #include <stdio.h> pour que mes printf fonctionnent.
Donc si je m’amuse à me tester ça me donnera ces résultats :
- Moyenne d’une classe :
Algo :
Variables n1,n2,n3,moy : Réel Variables i,id,nbeleves : Entier Début Ecrire("Entrez le nombre d'élèves") Lire(nbeleves) Pour(i allant de 0 à nbeleves) Ecrire("Entrez le numéro de l'élève : ") Lire(id) Ecrire("Entrez la note (/100) 1 de l'élève n°",id) Lire(n1) Ecrire("Entrez la note (/100) 2 de l'élève n°",id) Lire(n2) Ecrire("Entrez la note (/100) 3 de l'élève n°",id) Lire(n3) moy <- ((n1 + n2 + n3)/3) Ecrire("L'élève ",id," a eu les notes ",n1", ",n2" et ",n3" et a une moyenne de",moy"/100) Fin pour Fin |
Donc traduit en langage C ça nous fait :
Donc voici un exemple de résultat que mon programme peut réaliser sans problèmes :
- Code ASCII :
Variable Caractere : Caractère Début Ecrire(“ENTRER UN CARACTERE : “) Lire(Caractere) Ecrire(“VOICI SON CODE ASCII :”, Caractere) Retour = 0 Fin |
Quand je change %c par %d il me traduit le caractère en son code ASCII.