الإعــلام الآلي والرياضيــات يشتمل على جميع مبادئ الإعلام الآلي والرياضيــات

قديم 28-01-2009, 09:02 PM
  #1
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
Exll تمارين محلولة منوعة


السلام عليكم ورحمة الله وبركاته
لقد رايت العديد من الطلبات حول هذا النوع من التمارين حاولت ان اختار مجموعة من التمارين المنتوعة مع حلولها
فاليكم هذه مجموعة من التمارين بحلولها بالبسكال

Enoncé de l'exercie
Ecrire un programme intitulé OCCURENCE qui permet de saisir une chaîne de caractères CH puis d'afficher les occurences des voyelles qui figurent dans CH.

Exemple :
Si CH='LYCEE 25 juillet'
Le programme OCCURENCE affichera les résultats suivants :
L'occurence de 'E' est 3
L'occurence de 'I' est 1
L'occurence de 'U' est 1
L'occurence de 'Y' est 1

NB: La solution doit comporter au moins deux sous programmes. Solution en Pascal
{ pour resoudre ce problème on va:
- utiliser un tableau t d'entiers et d'indice les caractères majuscules
- la fonction Upcase qui permet de convertir une lettre en majuscule
- la procedure init qui permet d'intialiser les élément de t a zéro
- la procedure remplir qui remplit t par les occurences de chaque voyelle de ch
- et enfin la procedure afficher qui affiche les occurences de chaque voyelle de ch}
program occurence;
uses wincrt;
type tab=array['A'..'Y'] of integer;
var t:tab;
ch:string;

{ initialiser tous les éléments de t à zéro }

procedure init(var T:tab);
var c:char;
begin
for c:='A' to 'Y' do
t[c]:=0;
end;

{ remplir les cases d'indice voyelle par leurs occurences dans ch }

procedure remplir(var t:tab;ch:string);
var i:integer;
begin
for i:=1 to length(ch) do
if(upcase(ch[i]) in ['A','E','I','O','U','Y'])then
T[upcase(ch[i])]:=T[upcase(ch[i])]+1;
end;

{ afiicher le contenu de t avec son indice }

procedure afficher(t:tab);
var c:char;
begin
for c:='A' to 'Y' do
if(T[c]>0)then
writeln('L''occurences de ''',c,'''est ',T[c]);
end;

{ ** programme principal ** }

begin
read(ch);
init(t);
remplir(t,ch);
afficher(t);
end.

l'exercie
Ecrire un programme en Pascal qui permet de :
- Saisir aléatoirement N entiers dans le tableau T.(n<=50).
- Afficher le rang de chaque élément de T. Solution en Pascal
Program rang;
uses wincrt;
var T:Array[1..50]of integer;
N,i,Rg,j:integer;
begin
repeat
read(N);
until(N in [1..50]);
for i:=1 to N do
T[i]:=random(100);
for i:=1 to N do
begin
Rg:=1;
for j:=1 to N do
if(T[i]>T[j])Rg:=Rg+1;
write('Le rang de ',T[i],':',Rg);
end;
end.
{
Remarque :
Pour déterminer le rang d'un élément T[i] il suffit de calculer le nombre des éléments de T qui sont superrieurs strictement à celui-ci ,le rang de T[i] est égal à ce nombre + 1.
}



l'exercie
Ecrire un programme en Pascal qui remplit un tableau de n réels, cherche le maximum, le minimum et la moyenne des éléments de ce tableau et les affiche.
On suppose que n est un entier naturel compris entre 5 et 100. Solution en Pascal
program statistique;
uses wincrt;
var max,min,moyenne,somme:real;
i,n:integer;
t:array[1..100]of real;
begin
repeat
read(n);
until(n in [5..100]);
pour i:=1 to n do
read(t[i]);
max:=t[1];
min:=t[1];
somme:=0;
for i:=1 to n do
begin
if(max
if(min>t[i])then min:=t[i];
somme := somme + t[i];
end;
moyenne:=somme/n;
writeln('Le maximum est :',max);
writeln('Le minimum est :',min);
writeln('La moyenne est :',moyenne);
end.



التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:28 PM
achraf.mouni غير متواجد حالياً  
قديم 28-01-2009, 09:04 PM
  #2
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
افتراضي

l'exercie
On dispose de deux tableaux T1 et T2 contenant respectivement n et m entiers positifs et non nuls.
On désire chercher dans T2 tous les diviseurs d'un élément de tab T1.
Exemple :
T1 :
23
15
10
277
300
34
T2 :
3
6
5
1

si indice=2 alors 3,5 et 1 seront affichés à l'écran.
Ecrire un programme Pascal qui permet de saisir les deux tableaux T1 et T2 et l'indice d'un élément p de T1 puis d'afficher à l'écran tous les diviseurs de p figurant dans T2. Solution en Pascal
program diviseurs;
uses wincrt;
type tab=array[1..100]of integer;
var T1,T2:tab;
i,n,indice,m:integer;
{on utilise la procédure saisie_tab(T,n) pour saisir un tableau T et sa dimension n}
procedure saisie_tab(var T:tab;var n:integer);
var i:integer;
begin
write('Donner la dimension de votre tableau :');
read(n);
write('Saisir maintenant les valeurs du tableau qui sont positifs et non nul :');
for i:=1 to n do
repeat
read(T[i]);
until(T[i]>0);
end;

{on utilise la fonction divise(a,b)
pour savoir si b divise a le type de la fonction divise est un boolean}

function divise(a,b:integer):boolean;
begin
divise:=a mod b =0;
end;

{on utilise la procédure afficher(T,p,n) pour afficher les diviseurs d'un entier p dans le tableau T de dimension n}

procedure afficher(T:tab;p,n:integer);
var i:integer;
begin
writeln('*** les diviseurs de ',p,' dans le tableau T2 sont ****');
for i:=1 to n do
if(divise(p,T[i])) then writeln(T[i]);
end;


{programme principal :
1 : saisir le tableau "T1" et sa dimension "n"
2 : saisir le tableau "T2" et sa dimension "m"
3 : saisir l'indice "indice"
4 : afficher les diviseurs de l'élément de "T1" d'indice
"indice" dans le tableau "T2"}

begin
saisie_tab(T1,n);
saisie_tab(T2,m);
write('** Donner l''indice de l''élément de T1 :');
read(indice);
afficher(T2,T1[indice],m);
end
.

التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:17 PM
achraf.mouni غير متواجد حالياً  
قديم 28-01-2009, 09:05 PM
  #3
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
افتراضي

Exercice : Le Factoriel Enoncé de l'exercie
Ecrire un programme en pascal qui permet de saisir un entier N(N>=100) et afficher son factoriel. Solution en Pascal
Progarm factoriel;
uses wincrt;
var N,i,Fact:integer;
begin
repeat
read(N);
until(N >=100);
Fact:=1;
for i:=1 to N do
Fact:=fact * i;
write('Le Factoriel de ',N,'est :',Fact);
end
.

التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:18 PM
achraf.mouni غير متواجد حالياً  
قديم 28-01-2009, 09:06 PM
  #4
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
افتراضي

Exercice : Recherche d'un élément dans un tab. Enoncé de l'exercie
Ecrire un programme en Pascal qui permet de:
- Charger un tableau T de N réels.
- Saisir un réel R.
- Afficher l'indice de l'élément de T égal a R s'il existe et afficher "R n'existe pas" sinon.
Solution en Pascal
program recherche;
uses wincrt;
var i,n:integer;
R:real;
T:array[1..100]of real;
begin
read(n);
for i:=1 to n do
read(T[i]);
i:=1;
repeat
i:=i+1;
until(T[i]=R)or(i=n);
if(T[i]=R)then write('R se trouve dans la case n°:',i)
else write('R ne figure pas dans T');
end
.

التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:19 PM
achraf.mouni غير متواجد حالياً  
قديم 28-01-2009, 09:06 PM
  #5
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
افتراضي

Enoncé de l'exercie
Ecrire un programme en Pascal qui saisit un entier non nul n et 2 n réels à mettre dans un tableau A, puis remplit un tableau un tableau B par les éléments de A de la manière suivante:
B[1]=A[1]
B[2]=A[n + 1]
B[3]=A[2]
B[4]=A[n + 2]
Etc. Solution en Pascal
program tableaux;
uses wincrt;
type tab=array[1..100]of real;
var A,B :tab;
i,n :integer;
begin
repeat
read(n);
until(n>0);
for i:=1 to 2*n do
begin
B[2*i]=A[n + i];
B[2*i - 1]=A[i];
end;
end
.

التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:19 PM
achraf.mouni غير متواجد حالياً  
قديم 28-01-2009, 09:07 PM
  #6
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
افتراضي

Exercice : Affichage d'un tableau dans l'ordre inverse Enoncé de l'exercie
Ecrire un programme en Pascal qui lit 15 nombres réels et les affiche en ordre inverse et à raison de trois nombres par ligne.
Solution en Pascal
program inverse;
uses wincrt;
const N=15;
var t:array[1..N]of real;
i:integer;
begin
for i:=1 to N do
read(t[i]);
for i:=0 to N do
begin
write(' * ',t[N-i]);
if(i mod 3 = 0)then writeln;
end;
end

التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:20 PM
achraf.mouni غير متواجد حالياً  
قديم 28-01-2009, 09:08 PM
  #7
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
افتراضي

Enoncé de l'exercie
Ecrire un programme en pascal qui permet de saisir un entier N>=100 et afficher
- "N est premier" si N est premier
- "N n'est pas premier" sinon Solution en Pascal
program premier;
uses wincrt;
var n,i:integer;
etat:string;
begin
repeat
read(n);
until(n>=100);
etat:='N est premier';
i:=2;
repeat
if(N mod i =0) then etat:='N n''est pas premier';
i:=i+1;
until((n mod i=0)or(i>sqr(n)));
write(etat);
end
.

التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:21 PM
achraf.mouni غير متواجد حالياً  
قديم 28-01-2009, 09:08 PM
  #8
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
افتراضي

Enoncé de l'exercie
Soit la somme :
Sn = 1 + 1/2² + 1/3² + ... + 1/n²
Ecrire un programme en pascal qui permet de saisir un entier n (n<=100) et afficher la somme Sn Solution en Pascal
program somme;
uses wincrt;
var i,n:integer;
sn:real;
begin
repeat
read(n);
until(n<=100);
sn:=0;
for i:=1 to n do
sn:=sn + 1/sqr(i);
write(sn);
end
.

التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:21 PM
achraf.mouni غير متواجد حالياً  
قديم 28-01-2009, 09:11 PM
  #9
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
افتراضي

Exercice : Tri d'un tableau de caractères Enoncé de l'exercie
Soit un tableau T1 contenant N lettres majuscule(de A à Z), n étant un entier compris entre 5 et 20.
On désire triés en ordre croissant les éléments de T1 et les ranger dans un tableau T2 en utilisant le principe suivant :
1. chercher la lttre qui a le plus petit code ASCII dans T1.
2. a) ranger cette lettre dans T2.
b) remplacer cette lettre par '*' dans T1.
3. répéter n fois les étapes 1 et 2.
Ecrire un programme Pascal qui permet de :
* saisir les éléments de T1.
* trier les éléments de T1 et les ranger dans T2.
* afficher les éléments de T2
Solution en Pascal
{
La résolution de ce problème demande :
_ Deux tableaux de 20 caractères au max.
_ Une procedure Saisie permettant de saisir le tableau t1 et sa dimension n.
_ Une procedure Trier qui permet de remplir le tableau T2 avec les éléments
de t1 triés dans l'ordre croissant.
_ Une procedure Afficher qui affiche les éléments de T2 apres le tri.
}
program triage;

uses wincrt;

type tab= array[1..20] of char;

var t1,t2:tab;
n:integer;

{ La fonction recherche cherche l'indice de l'élément de T1 qui a le plus petit code Accii .}

function recherche (t1:tab;n:integer):integer;

var i,ordmin,indmin:integer;

begin
ordmin:=255;
for i:=1 to n do
if (t1[i] <> '*') and (ord(t1[i])< ordmin) then
begin
ordmin:=ord(t1[i]);
indmin:=i;
end;
recherche:=indmin;
end;

{ Procedure Trier }

procedure trier (var t1,t2:tab; n:integer);
var i,indmin: integer;
begin
for i:=1 to n do
begin
indmin:=recherche(t1,n);
t2[i]:=t1[indmin];
t1[indmin]:='*';
end;
end;

{ Procedure saisie
les éléments de T1 doivent être des lettres majuscules }

procedure saisie(var t1: tab ; var n: integer);
var i:integer;

begin
write('Donner la dimension de votre tableau :');
repeat
read(n);
until (n in [5..20]);

writeLN('Saisir maintenant des lettres majuscules :');
for i:= 1 to n do
repeat
read(t1[i]);
until(t1[i] in ['A'..'Z']);

end;

{ Procedure Afficher }

procedure afficher (t2: tab; n: integer);

var i:integer;

begin
writeLN('Les lettres Triées dans l''ordre croissant :');
for i:=1 to n do
writeln(t2[i]);
end;

{ Le programme principal }

begin

saisie(t1,n);
trier(T1,T2,n);
afficher(t2,n);
end
.

التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:22 PM
achraf.mouni غير متواجد حالياً  
قديم 28-01-2009, 09:12 PM
  #10
achraf.mouni
مشرف قسم
الكمبيوتر وتطوير المواقع والانترنت
مشرف قسم
الرياضيات والإعلام الآلي
 الصورة الرمزية achraf.mouni
 
تاريخ التسجيل: 08-09-2008
الدولة: الجزائر
المشاركات: 2,439
achraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداعachraf.mouni عضو محترف الابداع
افتراضي

Exercice : Polynçome P(x) = 2 x² - 3 x -5 Enoncé de l'exercie
Soit le polynçome P(x)= 2x²-3x-5.
Ecrire un programme en pascal qui calcule et affiche P(x) pour des valeurs de x variant de -4 à 4 par pas de 0.5. Solution en Pascal
program polynome;
uses wincrt;
var x,p:real;
begin
x:=-4;
repeat
p:=2 * sqr(x) - 3 * x - 5;
write(p);
x:= x + 0.5;
until(x>4);
end
.

التعديل الأخير تم بواسطة achraf.mouni ; 28-01-2009 الساعة 09:23 PM
achraf.mouni غير متواجد حالياً  

الكلمات الدلالية (Tags)
محلولة, منوعة, تمارين

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
طلب تمارين محلولة في الشبكات electrotech الإستفسارات و الطّلبات 2 26-04-2013 02:02 PM
تمارين محلولة في bd lila88 منتدى الإعلام الآلي 11 10-07-2012 03:51 PM
تمارين محلولة radhwane قسم الإستفسارات و الطّلبات 1 28-11-2009 06:50 PM
تمارين محلولة في mimik الإعــلام الآلي والرياضيــات 2 12-05-2009 06:46 PM
تمارين محلولة للخوارزميات achraf.mouni الإعــلام الآلي والرياضيــات 0 25-12-2008 09:23 PM


الساعة الآن 11:52 PM.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. , TranZ By Almuhajir