📚 درس و تست کامپیوتر💻
Kanalga Telegram’da o‘tish
🔶گروه پرسش و پاسخ: 🔹https://t.me/darstestcomputer 🔶ادمین : 🔹@mojtaba_moradi_74 🔹مهم ترین نکات آزمون های استخدامی 🔹تست های دروس تخصصی 🔹تدریس و یادآوری نکات مهم 🔹فایل PDF همه کتاب ها 🔹معرفی بهترین منابع ، مشاوره درسی
Ko'proq ko'rsatish2 515
Obunachilar
-124 soatlar
+87 kun
+830 kun
Postlar arxiv
N = 30000
B = 2400
Baket = 4 × 2400 = 9600
R = 1600
BF = 1.5
راه اول :
اندازه کل فایل برابر است با
N × R = 48.000.000
در این اندازه چند تا باکت داریم ؟
48.000.000 / 9600=5000
راه دوم :
در هر باکت چند رکورد داریم ؟
9600 / 1600 = 6
پس در هر باکت 6 رکورد وجود دارد
( هر بسته ی ۶ رکوردی = یک باکت )
حالا در ۳۰ هزار رکورد ؛ چند تا بسته ۶ رکوردی داریم؟
30000 / 6 = 5000
فایلی دارای 30000 رکورد 1600 بایتی است
اگر فایل را به باکت های 4 بلاکی تقسیم بندی کنیم ؛ و اندازه هر بلاک 2400 بایت باشد ؛
فایل مذکور به چند باکت تقسیم میشود؟
(بلاک بندی دوپاره است)
مقدار متوسط W2 ( حافظه هرز نگنجیدن رکورد آخر در بلاک ) برابر است با R/2
مقدار دقیق W2 برابر است با
W2 = B - BF × R
برای محاسبه BF ؛
اگر نوع بلاک بندی و مقدار P رو داده بودن باید از فرمول مخصوص خودش استفاده کنیم
ولی اگر نداده بودن
حالت یک پاره
BF = B / R اگه ممیز داشت کف
حالت دوپاره
BF = B / R
مقادری WB و BF در انواع بلاک بندی های ؛
1 : طول رکورد ثابت یک پاره
WB = G + ( R/2 ) + ( W3/TF )
BF = B / R اگر ممیز داشت کف
2 :طول رکورد متغیر یک پاره
WB = G + R/2 + BF × P + ( W3 / TF )
BF = (B - R/2) / (R + P)
3 : طول رکورد متغیر دوپاره
WB = G + P + BF × P + ( W3 / TF )
BF = (B - P) / (B + P)
مقدار WR ( هرز به ازای یک رکورد) در همه بلاک بندی ها برابر است با :
WR = WB / BF
مقدار TF ( تعداد بلاک ها در شیار ) برابر است با
TF = اندازه شیار / (B+G)
مقدار W3 ( هرز نگنجیدن بلاک آخر در شیار ) برابر است با :
W3 = اندازه شیار - TF × ( B+G )
گزینه 1
گزینه 2
نکته مهم :
چون جلوی return فقط نوشته a+1 ؛
پس هر بار ۱+۳ میشه و تابع مقدار ۴ برمیگردونه
اگر نوشته بود return a=a+1 جواب گزینه ۳ بود
گزینه 2 صحیح هست
نکته سوال اینجاست که :
درسته که متغیر k رو از جنس استاتیک تعریف کردیم
اما تو خط بعدش هی مقدار ۵ رو بهش میدیم
سه بار حلقه اجرا میشه
هربار تو خط سوم مقدار ۵ رو به k میده
و تو خط چهارم هم ۵ رو اول یک واحد زیاد میکنه بعد چاپ میکنه
نتیجه نهایی 666
اگر به این صورت بود
static int k = 5 ;
اونموقع جواب گزینه 1 میشد
سوال اول گزینه ۴
سوال دوم گزینه ۲ :
چون مقدار متغیر سراسری هنگام خروج از تابع حفظ میشود
عملگر :: به ما اجازه میدهد به محتویات متغیر سراسری در یک تابع ، که متغیری هم نام با آن دارد دسترسی داشته باشیم . عبارت a=a+::a باعث میشود مقدار 22 در a محلی قرار گیرد .
