Rechercher dans Kiteb.net

Aujourd'hui: Le 26 juin 2017
Visites aujourd'hui : 447
Top visites par jour : 25536
Le 24 mai 2017
Visiteurs en ligne: 2
  Accueil
Algo & programmation
edu
Matire informatique
Informatique
Formations
Exercices livre scolaire

Bac scientifiques

Exercices du livre scolaire (corrigs)



Les chanes de caractres

Exercice 8  : page 22

crire les instructions PASCAL permettant de raliser les objectifs suivants :

1- Obtenir la longueur de la chane "Informatique"

2- Rcuprer la sous-chane de 5 caractres partir de la position 8 de la chane "Informatique"

3- Effacer les 5 premiers caractres de la chane "Informatique"


Corrig :

Utilisant pour cet exercice ch:='Informatique' ;

1-



Rsultat d'excution :


l:= length(ch) ;


12


writeln(l) ;

2-





ch2:=copy(ch,8,5) ;


ch2:='tique' ;

3-





delete(ch,1,5) ;


ch:='matique' ;

Program longueur ;

uses wincrt ;

var

l:integer ;

ch,ch2:string ;

begin

ch:='informatique' ;

l:=length(ch) ;

writeln(l) ;


ch2:=copy(ch,8,5) ;

writeln(ch2) ;


delete(ch,1,5) ;

writeln(ch) ;

end.


Exercice 9: page 22

a est un entier, x est un rel et ch est un caractre.

Dire pourquoi les instructions suivantes sont errones, et les corriger dans la

mesure du possible.

* a:=3.4

* x:=5,16

* ch:=x

* a:=maxent+5


Corrig :

Utilisant pour cet exercice : a est un entier, x est un rel et ch est un caractre.

Instructions

errones

Erreurs

Corrections

proposes

a:=3.4

On ne peut pas affecter un rel un entier.

a:=3 ;

a:=34 ; a:=trunc(3.4) ;

x:=5,16

On n'utilise pas la , pour reprsenter un rel mais le .

x:=5.16 ;

ch:=x

on ne peut pas affecter un rel un caractre.

Ch:='x' ;


a:=maxent+5

maxent n'est pas une variable ou une constante dclare.

a:=5 ; ou

const maxent=1000 ;

...

a:=maxent+5 ;



Exercice 10: page 23

Soit la partie dclarative du programme Pascal suivant :

PROGRAM Dates;

CONST

Date1='03/07/2006';

VAR

Date2: STRING[10];

Jour: STRING[2];

Mois: STRING[2];

Annee: STRING[4];

......

Complter le corps du programme par les instructions (bloc BEGIN...END) permet-

tant de raliser les traitements suivants :

* Mettre Date1 dans Date2 sous la forme jjmmaaaa ( indication: Date2 va contenir

03072006 )

* Mettre le jour dans la variable Jour, le mois dans la variable Mois et l'anne dans

la variables Annee.

Corrig :

code pascal correspondant :

PROGRAM Dates;

uses wincrt ;

CONST Date1='03/07/2006';

VAR

Date2: STRING[10];

Jour: STRING[2];

Mois: STRING[2];

Annee: STRING[4];

Begin

{ 1- Mettre Date1 dans Date2 sous la forme jjmmaaaa }

Date2:=concat(copy(date1,1,2),copy(date1,4,2),copy(date1,7,4)) ;

{2me mthode :

Date2:=copy(date1,1,2) + copy(date1,4,2) + copy(date1,7,4) ;


3me mthode :

date2:=date1 ;

delete(date2,3,1) ;

delete(date2,5,1) ;

}

writeln(date2) ;

{ 2- Mettre le jour dans la variable Jour, le mois dans la variable Mois et l'anne dans la variables Annee }

jour:=copy(date1,1,2) ;

mois:=copy(date1,4,2) ;

annee:=copy(date1,7,4) ;

{2me mthode : puisque date2:='03072006' ;

jour:=copy(date2,1,2) ;

mois:=copy(date2,3,2) ;

annee:=copy(date2,5,4) ;

}


writeln('jour=',jour) ;

writeln('mois=',mois) ;

writeln('anne=',annee) ;

end.


Exercice 11: page 23

Soit la partie dclarative du programme Pascal suivant :

PROGRAM mots ;

CONST

m1= 'abcd';

m2='ordinateur';

m3='scalaire';

VAR

symetrie: STRING[8];

compose: STRING ;

......

Complter la partie du programme Pascal prcdente en ajoutant des variables (si

c'est ncessaire) et le bloc BEGIN ... END pour :

* Avoir dans la variable symetrie une chane de caractres symtrique obtenue

partir de la variable m1 .

* Avoir dans la variable compose une chane de caractres obtenue en com-

binant la premire moiti de m2 et la deuxime moiti de m3 en utilisant

les fonctions : concat() et copy().


Corrig :

code pascal correspondant :

PROGRAM mots ;

uses wincrt ;

CONST

m1= 'abcd';

m2='ordinateur';

m3='scalaire';

VAR

symetrie: STRING[8];

compose: STRING ;

Begin

{ 1- Avoir dans la variable "symetrie" une chane de caractres symtrique obtenue partir de la variable "m1". }

symetrie:=concat(m1,m1) ; {autre mthode : symetrie:=m1+m1 ; }


writeln(symetrie) ;

{ 2- Avoir dans la variable " compose " une chane de caractres obtenue en combinant la premire moiti de " m2 " et la deuxime moiti de " m3 " }

compose:=concat (copy(m2,1,5), copy(m3,5,4) ) ;

{autre mthode : compose:=copy(m2,1,5)+ copy(m3,5,4)  ; ; }

{2me mthode : mthode gnrale on dclare a2,a3:integer ;

a2:=length(m2) ;

a3:=length(m3) ;

compose:= copy(m2,1, a2 div 2 ) + copy (m3, a3 div 2 + 1, a3-a3 div 2) ; }

writeln(compose) ;

end.


Exercice 12  : page 23

Ecrire un programme Pascal qui permet de transformer la chane de caractres "informatique" en majuscule sans utiliser la fonction upcase(c), et la mettre dans une variable nomme maj.

Indication : le code ASCII de 'a' est 97 et le code ASCII de 'A' est 65.


Corrig :

code pascal correspondant :

PROGRAM majus ;

uses wincrt ;

VAR

ch : string ;

Begin

ch:='informatique' ;


ch[1]:= chr ( ord(ch[1])-32) ;

ch[2]:= chr ( ord(ch[2])-32) ; }

....

ch[12]:= chr ( ord(ch[12])-32) ;

{ on peut utiliser la boucle pour i:integer;

for i:=1 to length(ch) do

ch[i]:= chr ( ord(ch[i])-32) ; }

end.









Date d'ajout de la page: 10/11/2013   Dernire mise jour de la page: 10/11/2013


Dernière modification: 14 juin 2017

K i t e b . n e t © 2008-2017