زوروني في موقعي الشخصي
المعطيات المركبة في باسكال : [/center]
هناك أربع طرق لتمثيل المعطيات المركبة وهي :
- الجدول – المجموعة – التسجيلة – الملف .
وسنتطرق هنا للجدول ونترك لك عزيزي القارئ أن تتعرف على بقية الطرق .
1 / الجدول : الجدول هو نوع مركب مؤلف من عدد محدد من العناصر التي لها نفس النوع.
الشكل العام :
Idtab : array[ 1.. nbelment] of type de composant
مثال : heure : array [ 1.. 24]of integer ;
Semaine : array [1..7] of string;
T : array [1..100] of real ;
أمثلة :
(1) برنامج يحسب مجموع عناصر جدول نوعها صحيح وعددها مائة ويحسب معدلها :
program som_moy ;
var t : array [1..100] of integer ;
i , som : integer ;
Moy : real ;
begin
{قراءة الجدول}
for i : = to 100 do
readln (T [I] ) ;
{مجموع عناصر الجدول }
Som := 0 ;
For iI := 1 to 100 do
Som := Som + T [I] ;
{حساب معدل عناصر الجدول }
Moy := Som / 100 ;
writeln (' Somme = ', Som );
writeln (' Moyen = ', Moy ) ;
end .
ملاحظات :
(1) لملأ أو عرض جدول لابد من إستخدام حلقة .
(2) كل عنصر من الجدول يمثل بإسم الجدول ورقم الخانة التي هو موجود فيها ، (فالعنصر الأول لجدول
إسمه T و عدد عناصره عشرة هو [1] T العنصر الأخيرهو: [10] T).
(2) برنامج يبحث عن عنصر E في جدول T و يطبع مكانه إن وجده، T جدول أعداد حقيقية عددها 100.
program recherche ;
var T : array [1.. 100] of real ;
E : real ;
i : integer ;
Trv : boolean ;
begin
for i : = 1 to 100 do
readln (T [i] ) ;
readln(E) ;
Tr : = false ;
i : = 1 ;
while (i < = 100) and (Trv = false) do
if T[i] = e then
Trv : = true
else
i := i + 1;
if Trv = true then
writeln (' pos =' , i)
else
writeln (' n"existe pas ') ;
end .
فيما رأيناه جدول ذو بعد واحد ولكن يمكن أن يكون الجدول ذو أبعاد لا منتهية وفيما يأتي نرى الجدول ذو البعدين أ و المصفوفة .
الشكل العام :
Idmat = array [1..Nbligne, 1 ..nbcolonne] of types des éléments
مثال :
Mat : array [1.. 20 ,1.. 10] of integer ;
Math : array [ 1.. 5 , 1..10 ] of char ;
أمثلة :
(1) برنامج يحسب عدد الأصفار في مصفوفة أعداد حقيقية ذات خمسة أسطر وثمانية أعمدة .
program NBZero ;
var mat : array [1..5, 1..8] of real ;
i , j , NBZ : integer ;
begin
for i : = 1 to 5 do
for j : = 1 to 8 do
readln (mat [ i , j ] ) ;
NBZ : = 0 ;
for i : = 1 to 5 do
for j : = 1 to 8 do
if mat [i , j] = 0 then
NBZ : = NBZ + 1 ;
if NBZ > 0 then
writeln (' Nombre des zéros = ' , NBZ )
else
writeln ( ' Pas de zéros ' ) ;
end .
(2) برنامج يجمع مصفوفتين ، كل مصفوفة ذات أعداد صحيحة عدد سطورها 6 وعدد أعمدتها 7 .
program AdditionMat;
var M1, M2, M3 : array[1..6,1..7] of integer;
i, j : integer;
begin
for i := 1 to 6 do
for j := 1 to 7 do
readln(M1[i, j]);
for i := 1 to 6 do
for j := 1 to 7 do
readln(M2[i, j]);
for i := 1 to 6 do
for j := 1 to 7 do
M3[i, j] := M1[i, j] + M2[i, j] ;
for i:= 1 to 6 do
for j := 1 to 7 do
writeln(M3[i, j]);
end.
http://www.baekoasis.i8.com[center]