Vous êtes sur la page 1sur 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 :

3

2

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 i, j: real;

6,1

6]

of real;

{tableau d’entier 6 lignes 6 colonnes}

begin

clrscr; randomize; for i := 1 to 6 do begin for j := 1 to 6 do begin tab[i,j] := random(115) + 5;

write(tableau[i,j]:5);

end;

readln;

end;

readkey;

{procédure d’initialisation de la fonction random}

{affectation tab [i,j] d’un nombre aléatoire entre 5 et

120}

{affichage du nombre évalué}

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)