تالار گفتمان مانشت
سوالی در مورد بدست آوردن تعداد نقص صفحه - نسخه‌ی قابل چاپ

سوالی در مورد بدست آوردن تعداد نقص صفحه - delta - 30 آذر ۱۳۸۹ ۱۲:۴۸ ب.ظ

در سیستمی اندازه هر صفحه برابر ۳۲ بایت است.شما به عنوان برنامه نویس میخواهید ماتریس ۱۶×۱۶خانه ای از نوع صحیح (بایتی)را ترانهاده کنید با فرض آنکه ماتریس به صورت سطری ذخیره شده باشد و از کد زیر برای ترانهاده کرن ماتریس استفاده گردد تعدادی خطای نقص صفحه را بدست آورید.تنها دو قاب صفحه در اختیار دارید که در یکی کد قرار دارد.
for i:=1 to 16 do
for j:=1 to 16 do
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]:=temp;l
۵۲
۴۹۶
۴۸۰
۵۲۸
در صورتی که ماتریس n*n بود جواب چی میشد؟؟؟

سوالی در مورد بدست آوردن تعداد نقص صفحه - delta - 01 دى ۱۳۸۹ ۱۱:۰۹ ق.ظ

با تشکر از شما جواب ۴۸۰ میشه.
۱۶×۳۰ ولی نمیدونم دلیلش چیه

سوالی در مورد بدست آوردن تعداد نقص صفحه - delta - 01 دى ۱۳۸۹ ۱۱:۰۳ ب.ظ

بله درسته
سوال آزمون ازمایشی سازمان سنجش سال گذشته هستش

سوالی در مورد بدست آوردن تعداد نقص صفحه - ف.ش - ۰۲ دى ۱۳۸۹ ۱۲:۴۹ ق.ظ

به هر حال منطقی نیست چون گفتم فقط باید کد رو برای زیر قطر اصلی انجام بدیم وگرنه اگه مثلا یه بار برای درایه ۱,۲ انجام بدیم دوباره برای درایه ۲,۱ خوب مقادیر میشه مثل اول!

RE: سوالی در مورد بدست آوردن تعداد نقص صفحه - babakab110 - 05 دى ۱۳۸۹ ۰۲:۲۲ ب.ظ

سوال چک کردم شما سوال اشتباه نوشتی.
خانه های جدول صحیح از نوع ۲ بایتی است
پس هر سطر در یک قاب جا می شود
در این صورت در هر بار اجرای حلقه داخلی ۳۲ بار به حافظه رجوع می شود
۱,۱ ۱,۱ ۱,۲ ۲,۱ ۱,۳ ۳,۱ ... ۱,۱۶ ۱۶,۱
ولی در حالت ۱,۱ دوم و ۱,۲ صفحه در حافضه وجود دارد و در کل ۳۰ نقص صفحه اتفاق می افتد
حلقه بالایی ۱۶ بار اجرا می شود
۱۶*۳۲
در حالت n*n
میشود( n(2n-2

سوالی در مورد بدست آوردن تعداد نقص صفحه - ف.ش - ۰۶ دى ۱۳۸۹ ۰۳:۳۹ ب.ظ

اول باید اندازه هر سطر رو حساب کنیم ۱۶*۲=۳۲
پس توی هر قاب ۸ درایه جا میشه.
این که گفته ماتریس سطری ذخیره میشه هم یعنی وقتی یه درایه نباشه میره و تا جا داره درایه های اون سطر میاره.
(مثل کش که میرفت کل بلوک رو میاورد)
حالا دیگه بقیش رو خودتون حساب کنیدBig Grin