Sie sind auf Seite 1von 2

TP1- Programmation TC2

2018-2019

Ex01 : Programme mystère


Compiler puis exécuter le programme suivant. Que fait ce programme ?
PROGRAM abyz;
VAR d : char;
PROCEDURE change (var c : char);
BEGIN
if (c >= ’a’) and (c <= ’z’)
then c := chr (ord(’a’) + ord(’z’) - ord(c));
END;
BEGIN
read (d);
while d <> ’.’ do
begin
change (d);
write (d);
read (d);
end;
readln;
END.
Ex02 :
Ecrire un programme Pascal qui saisit une chaîne de caractères de longueur minimal 3 et l’affiche
sous la forme d’un triangle comme indiqué ci-dessous.
Exemple :
Si la chaîne saisie est "INTERNET", on aura :
I
IN
INT
INTE
INTER
INTERN
INTERNET
Ex03 : Suite de Syracuse
On donne un entier naturel N strictement positif et on définit la suite de Syracuse par :


2
3 1
Ecrire un algorithme en pseudo codes, puis la traduction en pascal d’un programme qui fait
afficher les 50 premiers termes de cette suite.
 
Ex04: Tableau des chaines de caractères
Ecrire un programme déterminant le nombre des lettres « a » et « m » (minuscule) présentes dans un
texte de moins d’une ligne (supposée ne pas dépasser 132 caractères) fourni au clavier.
Ex05: Tri à bulle
La fonction random(k) évalue, aléatoirement, un nombre entier comprise entre 0 la valeur de la
variable k mise en paramètre. Avant d’utiliser cette fonction, il faut l’initialiser avec l’instruction
randomize.
La fonction "readkey" récupère le caractère dernièrement saisi par l’utilisateur
Utilisation : … var k : char ;… k :=readkey ; write(k) ;…
a- Soit un programme qui affecte des valeurs aléatoires comprises entre 5 et 120 (inclus) à un
tableau d’entiers à deux dimensions (6 lignes et 6 colonnes). Des erreurs sont introduites dans ce
programme et on vous demande d’apporter les corrections nécessaires pour le faire fonctionner.

program aleatoire;
var tab: array [1..6,1..6] of real; {tableau d’entier 6 lignes 6 colonnes}
i, j: real;
begin
clrscr;
randomize; {procédure d’initialisation de la fonction random}
for i := 1 to 6 do
begin
for j := 1 to 6 do
begin
tab[i,j] := random(115) + 5; {affectation tab [i,j] d’un nombre aléatoire entre 5 et
120}
write(tableau[i,j]:5); {affichage du nombre évalué}
end;
readln;
end;
readkey;
end.
b- Trier le tableau par ordre croissant, afficher le résultat et faire boucler le programme jusqu’à
l’appuie sur la touche ‘q’ du clavier (utiliser readkey).

Ex06: Conversion décimale – binaire ( obligatoire pour GE ,facultatif pour les GM et GC)
Ecrire un programme Pascal qui permet de convertir un entier naturel en son équivalent binaire
(conversion de la base 10 à base 2 , 8 et 16)

Das könnte Ihnen auch gefallen