سأقوم بإنشاء برنامج شامل قابل للتنفيذ مع نسخة لإكسل:
import math
from fractions import Fraction
from datetime import datetime
import json
class InheritanceShareBalancer:
def __init__(self):
self.estate_value = 0
self.properties = []
self.heirs = []
self.shares = {}
self.original_shares = {}
self.transactions_log = []
def add_property(self, name, area, unit_price, property_type):
"""إضافة عقار للقائمة"""
property_value = area * unit_price
self.properties.append({
'name': name,
'area': area,
'unit_price': unit_price,
'value': property_value,
'type': property_type
})
self.estate_value += property_value
self.log_transaction("إضافة عقار", f"{name}: {area} متر²، {unit_price} ريال/متر، {property_value} ريال")
print(f"✓ تم إضافة {name}: المساحة {area} متر²، السعر {unit_price} ريال/متر، القيمة {property_value} ريال")
def add_heir(self, name, relationship, share_numerator=None, share_denominator=None):
"""إضافة وارث للقائمة"""
heir = {
'name': name,
'relationship': relationship,
'share_fraction': Fraction(share_numerator, share_denominator) if share_numerator and share_denominator else None,
'custom_share': None,
'preferred_properties': []
}
self.heirs.append(heir)
self.log_transaction("إضافة وارث", f"{name} ({relationship})")
print(f"✓ تم إضافة الورثة: {name} ({relationship})")
def set_custom_share(self, heir_name, numerator, denominator):
"""تعيين سهم مخصص للوارث"""
for heir in self.heirs:
if heir['name'] == heir_name:
heir['custom_share'] = Fraction(numerator, denominator)
self.log_transaction("تعيين سهم مخصص", f"{heir_name}: {numerator}/{denominator}")
print(f"✓ تم تعيين سهم {numerator}/{denominator} للوارث {heir_name}")
return True
print(f"✗ الوارث {heir_name} غير موجود")
return False
def set_heir_preference(self, heir_name, property_names):
"""تعيين تفضيلات الورثة للعقارات"""
for heir in self.heirs:
if heir['name'] == heir_name:
heir['preferred_properties'] = property_names
self.log_transaction("تعيين تفضيلات", f"{heir_name}: {property_names}")
print(f"✓ تم تعيين تفضيلات {heir_name}: {property_names}")
return True
print(f"✗ الوارث {heir_name} غير موجود")
return False
def calculate_shares(self):
"""حساب أسهم الورثة وفقاً للقواعد الشرعية"""
if not self.heirs:
print("✗ لا توجد ورثة مسجلة")
return False
# قواعد الأسهم الشرعية (الأسهم الأساسية)
share_rules = {
'الزوج': Fraction(1, 4),
'الزوجة': Fraction(1, 8),
'الابن': Fraction(1, 1), # يأخذ الباقي
'البنت': Fraction(1, 2),
'الأب': Fraction(1, 6),
'الأم': Fraction(1, 6),
'الأخ الشقيق': Fraction(1, 1), # يأخذ الباقي
'الأخت الشقيقة': Fraction(1, 2),
'الأخ لأب': Fraction(1, 1), # يأخذ الباقي
'الأخت لأب': Fraction(1, 2),
'الجد': Fraction(1, 6),
'الجدة': Fraction(1, 6),
'العم': Fraction(1, 1), # يأخذ الباقي
'العمة': Fraction(1, 2)
}
# حساب الأسهم المحددة أو المخصصة
total_shares = Fraction(0)
heirs_with_fixed_shares = []
heirs_with_remainder = []
for heir in self.heirs:
# استخدام السهم المخصص إذا كان موجوداً
if heir['custom_share']:
heir_share = heir['custom_share']
heir['calculated_share'] = heir_share
total_shares += heir_share
heirs_with_fixed_shares.append(heir)
# استخدام القواعد الشرعية
elif heir['relationship'] in share_rules:
heir_share = share_rules[heir['relationship']]
if heir_share != Fraction(1, 1): # ليس من يأخذ الباقي
heir['calculated_share'] = heir_share
total_shares += heir_share
heirs_with_fixed_shares.append(heir)
else: # يأخذ الباقي
heirs_with_remainder.append(heir)
else:
heirs_with_remainder.append(heir)
# توزيع الباقي على الورثة الذين يأخذون الباقي
remaining_share = Fraction(1) - total_shares
if heirs_with_remainder and remaining_share > 0:
share_per_remainder_heir = remaining_share / len(heirs_with_remainder)
for heir in heirs_with_remainder:
heir['calculated_share'] = share_per_remainder_heir
total_shares += share_per_remainder_heir
# حفظ الأسهم الأصلية
self.original_shares = {heir['name']: heir['calculated_share'] for heir in self.heirs}
self.log_transaction("حساب الأسهم", f"إجمالي الأسهم: {total_shares}")
print("✓ تم حساب الأسهم بنجاح")
return True
def display_shares(self):
"""عرض تفاصيل الأسهم"""
if not self.heirs or not any(h.get('calculated_share') for h in self.heirs):
print("✗ لم يتم حساب الأسهم بعد")
return
print("\\\\n" + "="*70)
print("توزيع الأسهم وفقاً للقواعد الشرعية")
print("="*70)
total_value = self.estate_value
print(f"إجمالي قيمة التركة: {total_value:,.2f} ريال يمني")
print("-"*70)
for heir in self.heirs:
if heir.get('calculated_share'):
share_value = float(heir['calculated_share']) * total_value
share_fraction_str = str(heir['calculated_share'])
print(f"الوارث: {heir['name']}")
print(f"الصلة: {heir['relationship']}")
print(f"السهم: {share_fraction_str}")
print(f"القيمة: {share_value:,.2f} ريال يمني")
print("-"*50)
def balance_shares(self):
"""موازنة السهام بين الورثة"""
if not self.heirs or not any(h.get('calculated_share') for h in self.heirs):
print("✗ لم يتم حساب الأسهم بعد")
return
print("\\\\n" + "="*70)
print("موازنة السهام")
print("="*70)
total_shares = sum(h['calculated_share'] for h in self.heirs if h.get('calculated_share'))
total_value = self.estate_value
print(f"إجمالي الأسهم: {total_shares}")
print(f"إجمالي القيمة: {total_value:,.2f} ريال")
print("-"*70)
# إيجاد المضاعف المشترك الأصغر للمقامات
denominators = [h['calculated_share'].denominator for h in self.heirs if h.get('calculated_share')]
lcm = self.lcm_of_list(denominators) if denominators else 1
print(f"المضاعف المشترك الأصغر للمقامات: {lcm}")
print("\\\\nالأسهم بعد الموازنة:")
for heir in self.heirs:
if heir.get('calculated_share'):
normalized_share = heir['calculated_share'] * lcm
heir_value = float(heir['calculated_share']) * total_value
print(f"{heir['name']}: {normalized_share.numerator}/{lcm} ({heir['calculated_share']}) = {heir_value:,.2f} ريال")
def lcm_of_list(self, numbers):
"""حساب المضاعف المشترك الأصغر لقائمة من الأعداد"""
def lcm(a, b):
return abs(a * b) // math.gcd(a, b)
result = numbers[0]
for i in range(1, len(numbers)):
result = lcm(result, numbers[i])
return result
def exchange_shares(self, heir1_name, heir2_name, share1_numerator, share1_denominator, share2_numerator, share2_denominator):
"""مبادلة الأسهم بين ورثتين"""
heir1 = None
heir2 = None
for heir in self.heirs:
if heir['name'] == heir1_name:
heir1 = heir
elif heir['name'] == heir2_name:
heir2 = heir
if not heir1 or not heir2:
print("✗ أحد الورثة غير موجود")
return False
# حفظ الأسهم الأصلية للتبادل
original_share1 = heir1.get('calculated_share', Fraction(0))
original_share2 = heir2.get('calculated_share', Fraction(0))
# تعيين الأسهم الجديدة
heir1['calculated_share'] = Fraction(share1_numerator, share1_denominator)
heir2['calculated_share'] = Fraction(share2_numerator, share2_denominator)
self.log_transaction("مبادلة الأسهم",
f"{heir1_name}: {original_share1} → {heir1['calculated_share']}, "
f"{heir2_name}: {original_share2} → {heir2['calculated_share']}")
print(f"✓ تمت المبادلة بين {heir1_name} و {heir2_name}")
print(f" {heir1_name}: من {original_share1} إلى {heir1['calculated_share']}")
print(f" {heir2_name}: من {original_share2} إلى {heir2['calculated_share']}")
return True
def attempt_shares(self):
"""المحاولة والتعديل على الأسهم"""
if not self.heirs:
print("✗ لا توجد ورثة مسجلة")
return
print("\\\\n" + "="*70)
print("المحاولة والتعديل على الأسهم")
print("="*70)
print("الأسهم الحالية:")
for i, heir in enumerate(self.heirs):
current_share = heir.get('calculated_share', Fraction(0))
print(f"{i+1}. {heir['name']}: {current_share}")
print("\\\\nالخيارات:")
print("1. زيادة سهم وارث")
print("2. تقليل سهم وارث")
print("3. إعادة تعيين جميع الأسهم")
print("4. عرض الأسهم الأصلية")
choice = input("اختر العملية (1-4): ")
if choice == '1':
heir_name = input("اسم الورثة: ")
try:
numerator = int(input("البسط الجديد: "))
denominator = int(input("المقام الجديد: "))
self.set_custom_share(heir_name, numerator, denominator)
self.log_transaction("زيادة سهم", f"{heir_name}: {numerator}/{denominator}")
except ValueError:
print("✗ الرجاء إدخال قيم صحيحة")
elif choice == '2':
heir_name = input("اسم الورثة: ")
try:
numerator = int(input("البسط الجديد: "))
denominator = int(input("المقام الجديد: "))
self.set_custom_share(heir_name, numerator, denominator)
self.log_transaction("تقليل سهم", f"{heir_name}: {numerator}/{denominator}")
except ValueError:
print("✗ الرجاء إدخال قيم صحيحة")
elif choice == '3':
print("إعادة تعيين الأسهم:")
for heir in self.heirs:
try:
numerator = int(input(f"البسط لـ {heir['name']}: "))
denominator = int(input(f"المقام لـ {heir['name']}: "))
heir['custom_share'] = Fraction(numerator, denominator)
self.log_transaction("إعادة تعيين سهم", f"{heir['name']}: {numerator}/{denominator}")
except ValueError:
print(f"✗ قيمة غير صحيحة لـ {heir['name']}")
# إعادة حساب الأسهم
self.calculate_shares()
print("✓ تم إعادة تعيين الأسهم")
elif choice == '4':
print("الأسهم الأصلية:")
for heir in self.heirs:
original_share = self.original_shares.get(heir['name'], Fraction(0))
current_share = heir.get('calculated_share', Fraction(0))
print(f"{heir['name']}: {original_share} → {current_share}")
def display_property_report(self):
"""عرض تقرير مساحي مفصل"""
if not self.properties:
print("✗ لا توجد عقارات مسجلة")
return
print("\\\\n" + "="*70)
print("تقرير مساحي مفصل")
print("="*70)
total_area = 0
total_value = 0
for prop in self.properties:
area = prop['area']
value = prop['value']
total_area += area
total_value += value
print(f"العقار: {prop['name']}")
print(f"النوع: {prop['type']}")
print(f"المساحة: {area:,.2f} متر²")
print(f"سعر المتر: {prop['unit_price']:,.2f} ريال")
print(f"القيمة الإجمالية: {value:,.2f} ريال")
# تحويل المساحة إلى وحدات مختلفة
qasaba_16 = area / 33.33
qasaba_12 = area / 25.0
print(f"المساحة بالقصبة الست عشرية: {qasaba_16:.4f} قصبة")
print(f"المساحة بالقصبة الاثني عشرية: {qasaba_12:.4f} قصبة")
print("-"*50)
print(f"إجمالي المساحة: {total_area:,.2f} متر²")
print(f"إجمالي القيمة: {total_value:,.2f} ريال")
def convert_qasaba(self, area, from_unit, to_unit, unit_price=None):
"""تحويل القصبة بين الوحدات المختلفة"""
# تعريف عوامل التحويل
conversions = {
'متر': 1,
'قصبة_ست_عشرية': 33.33, # 1 قصبة ست عشرية = 33.33 متر²
'قصبة_اثني_عشرية': 25.0, # 1 قصبة اثني عشرية = 25 متر²
'ريال': 1 # الريال كوحدة قيمة
}
if from_unit not in conversions or to_unit not in conversions:
return "وحدة غير معروفة"
# تحويل إلى متر أولاً ثم إلى الوحدة المطلوبة
if from_unit == 'ريال':
if unit_price and unit_price > 0:
meters = area / unit_price
if to_unit == 'متر':
return meters
elif to_unit == 'قصبة_ست_عشرية':
return meters / 33.33
elif to_unit == 'قصبة_اثني_عشرية':
return meters / 25.0
else:
return "تحتاج إلى سعر المتر لتحويل من الريال"
elif to_unit == 'ريال':
meters = area * conversions[from_unit] if from_unit != 'متر' else area
return meters * unit_price if unit_price else "تحتاج إلى سعر المتر لتحويل إلى الريال"
else:
# تحويل بين المساحات
meters = area * conversions[from_unit] if from_unit != 'متر' else area
result = meters / conversions[to_unit]
return result
def fraction_calculator(self, numerator, denominator):
"""حاسبة الكسور العشرية"""
try:
fraction = Fraction(numerator, denominator)
decimal = float(fraction)
print(f"\\\\nالكسر: {numerator}/{denominator}")
print(f"القيمة العشرية: {decimal}")
print(f"النسبة المئوية: {decimal * 100:.2f}%")
return fraction, decimal
except:
print("✗ كسر غير صحيح")
return None, None
def inheritance_distribution(self):
"""توزيع الميراث بالتفصيل"""
if not self.heirs or not any(h.get('calculated_share') for h in self.heirs):
print("✗ لم يتم حساب الأسهم بعد")
return
print("\\\\n" + "="*70)
print("توزيع الميراث")
print("="*70)
total_value = self.estate_value
for heir in self.heirs:
if heir.get('calculated_share'):
share_value = float(heir['calculated_share']) * total_value
print(f"{heir['name']} ({heir['relationship']}):")
print(f" السهم: {heir['calculated_share']}")
print(f" القيمة: {share_value:,.2f} ريال")
# توزيع على العقارات
print(" توزيع على العقارات:")
for prop in self.properties:
prop_share = float(heir['calculated_share']) * prop['value']
prop_area_share = float(heir['calculated_share']) * prop['area']
print(f" {prop['name']}: {prop_area_share:.2f} متر² ({prop_share:,.2f} ريال)")
print()
def detailed_balance_analysis(self):
"""تحليل مفصل لموازنة السهام"""
if not self.heirs or not any(h.get('calculated_share') for h in self.heirs):
print("✗ لم يتم حساب الأسهم بعد")
return
print("\\\\n" + "="*70)
print("تحليل موازنة السهام")
print("="*70)
shares_list = [(heir['name'], heir['calculated_share']) for heir in self.heirs if heir.get('calculated_share')]
shares_list.sort(key=lambda x: x[1], reverse=True)
total_value = self.estate_value
print(f"إجمالي قيمة التركة: {total_value:,.2f} ريال")
print("\\\\nترتيب الورثة حسب الأسهم:")
for i, (name, share) in enumerate(shares_list, 1):
value = float(share) * total_value
print(f"{i}. {name}: {share} = {value:,.2f} ريال")
def reset_shares(self):
"""إعادة تعيين جميع الأسهم إلى القيم الأصلية"""
for heir in self.heirs:
original_share = self.original_shares.get(heir['name'])
if original_share:
heir['calculated_share'] = original_share
heir['custom_share'] = None
self.log_transaction("إعادة تعيين الأسهم", "جميع الأسهم عادت إلى القيم الأصلية")
print("✓ تم إعادة تعيين الأسهم إلى القيم الأصلية")
def log_transaction(self, action, details):
"""تسجيل العمليات للسجل"""
self.transactions_log.append({
'timestamp': datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
'action': action,
'details': details
})
def export_to_excel_data(self):
"""تصدير البيانات بصيغة مناسبة لإكسل"""
excel_data = {
'العقارات': [],
'الورثة': [],
'توزيع الأسهم': [],
'التحويلات': []
}
# بيانات العقارات
for prop in self.properties:
excel_data['العقارات'].append([
prop['name'],
prop['type'],
prop['area'],
prop['unit_price'],
prop['value']
])
# بيانات الورثة
for heir in self.heirs:
share = heir.get('calculated_share', Fraction(0))
custom_share = heir.get('custom_share', '')
excel_data['الورثة'].append([
heir['name'],
heir['relationship'],
str(share),
str(custom_share) if custom_share else ''
])
# توزيع الأسهم
total_value = self.estate_value
for heir in self.heirs:
if heir.get('calculated_share'):
share_value = float(heir['calculated_share']) * total_value
excel_data['توزيع الأسهم'].append([
heir['name'],
str(heir['calculated_share']),
share_value
])
# تحويلات الوحدات
for prop in self.properties:
area = prop['area']
qasaba_16 = area / 33.33
qasaba_12 = area / 25.0
excel_data['التحويلات'].append([
prop['name'],
area,
qasaba_16,
qasaba_12
])
return excel_data
def main():
calc = InheritanceShareBalancer()
print("برنامج موازنة وتعديل السهام بين الورثة")
print("="*60)
while True:
print("\\\\nالقائمة الرئيسية:")
print("1. إضافة عقار")
print("2. إضافة وارث")
print("3. حساب الأسهم")
print("4. موازنة السهام")
print("5. المبادلة بين الأسهم")
print("6. المحاولة والتعديل على الأسهم")
print("7. عرض تقرير مساحي")
print("8. حاسبة الكسور")
print("9. توزيع الميراث")
print("10. تحويل القصبة")
print("11. تحليل موازنة السهام")
print("12. إعادة تعيين الأسهم")
print("13. تصدير البيانات لإكسل")
print("14. خروج")
choice = input("\\\\nاختر العملية (1-14): ")
if choice == '1':
name = input("اسم العقار: ")
try:
area = float(input("المساحة (متر²): "))
unit_price = float(input("سعر المتر (ريال): "))
prop_type = input("نوع العقار (أرض زراعية/مساقية/بيت/قصبة): ")
calc.add_property(name, area, unit_price, prop_type)
except ValueError:
print("✗ الرجاء إدخال قيم رقمية صحيحة")
elif choice == '2':
name = input("اسم الورثة: ")
relationship = input("صلة القرابة: ")
calc.add_heir(name, relationship)
elif choice == '3':
calc.calculate_shares()
elif choice == '4':
calc.balance_shares()
elif choice == '5':
heir1 = input("اسم الورثة الأول: ")
heir2 = input("اسم الورثة الثاني: ")
try:
print(" الأسهم الجديدة للورثة الأول:")
num1 = int(input("البسط: "))
den1 = int(input("المقام: "))
print(" الأسهم الجديدة للورثة الثاني:")
num2 = int(input("البسط: "))
den2 = int(input("المقام: "))
calc.exchange_shares(heir1, heir2, num1, den1, num2, den2)
except ValueError:
print("✗ الرجاء إدخال قيم صحيحة")
elif choice == '6':
calc.attempt_shares()
elif choice == '7':
calc.display_property_report()
elif choice == '8':
try:
print("الكسور الشائعة:")
print("1. النصف (1/2)")
print("2. الربع (1/4)")
print("3. الثمن (1/8)")
print("4. نصف الثمن (1/16)")
print("5. ربع الثمن (1/32)")
print("6. كسر مخصص")
frac_choice = input("اختر الكسر (1-6): ")
fractions = {
'1': (1, 2),
'2': (1, 4),
'3': (1, 8),
'4': (1, 16),
'5': (1, 32)
}
if frac_choice in fractions:
num, den = fractions[frac_choice]
calc.fraction_calculator(num, den)
elif frac_choice == '6':
num = int(input("البسط: "))
den = int(input("المقام: "))
calc.fraction_calculator(num, den)
else:
print("✗ اختيار غير صحيح")
except ValueError:
print("✗ الرجاء إدخال قيم صحيحة")
elif choice == '9':
calc.inheritance_distribution()
elif choice == '10':
try:
area = float(input("أدخل المساحة: "))
print("الوحدات المتاحة:")
print("1. متر²")
print("2. قصبة ست عشرية")
print("3. قصبة اثني عشرية")
print("4. ريال")
from_unit = input("تحويل من (1-4): ")
to_unit = input("تحويل إلى (1-4): ")
units_map = {'1': 'متر', '2': 'قصبة_ست_عشرية', '3': 'قصبة_اثني_عشرية', '4': 'ريال'}
units_names = {'1': 'متر²', '2': 'قصبة ست عشرية', '3': 'قصبة اثني عشرية', '4': 'ريال'}
if from_unit in units_map and to_unit in units_map:
unit_price = None
if units_map[from_unit] == 'ريال' or units_map[to_unit] == 'ريال':
unit_price = float(input("سعر المتر (ريال): "))
result = calc.convert_qasaba(area, units_map[from_unit], units_map[to_unit], unit_price)
print(f"النتيجة: {result:.4f} {units_names[to_unit]}")
else:
print("✗ اختيار وحدات غير صحيح")
except ValueError:
print("✗ الرجاء إدخال قيمة رقمية صحيحة")
elif choice == '11':
calc.detailed_balance_analysis()
elif choice == '12':
calc.reset_shares()
elif choice == '13':
excel_data = calc.export_to_excel_data()
print("\\\\n✓ البيانات جاهزة للتصدير إلى إكسل")
print("البيانات:")
for section, data in excel_data.items():
print(f"\\\\n{section}:")
for row in data:
print(" ", row)
print("\\\\nيمكنك نسخ هذه البيانات وإضافتها إلى إكسل يدوياً")
elif choice == '14':
print("✓ شكراً لاستخدام البرنامج")
break
else:
print("✗ اختيار غير صحيح، الرجاء المحاولة مرة أخرى")
# مثال على الاستخدام المتقدم
def advanced_example():
calc = InheritanceShareBalancer()
print("مثال متقدم على موازنة السهام:")
print("="*50)
# إضافة عقارات
calc.add_property("الأرض الزراعية الشمالية", 1000, 5000, "أرض زراعية")
calc.add_property("المساقية الشرقية", 500, 3000, "مساقية")
calc.add_property("البيت الرئيسي", 200, 15000, "بيت")
calc.add_property("القصبة الغربية", 300, 8000, "قصبة")
# إضافة ورثة
calc.add_heir("أحمد", "الابن")
calc.add_heir("فاطمة", "البنت")
calc.add_heir("علي", "الأخ الشقيق")
calc.add_heir("زينب", "الأم")
# حساب الأسهم
calc.calculate_shares()
# موازنة السهام
calc.balance_shares()
# مبادلة الأسهم
calc.exchange_shares("أحمد", "فاطمة", 3, 8, 1, 8)
# عرض التحليل
calc.detailed_balance_analysis()
return calc
if __name__ == "__main__":
print("برنامج موازنة السهام بين الورثة")
print("="*50)
print("1. تشغيل المثال المتقدم")
print("2. تشغيل البرنامج التفاعلي")
mode = input("اختر الوضع (1-2): ")
if mode == '1':
calc = advanced_example()
print("\\\\n" + "="*50)
print("تشغيل البرنامج التفاعلي:")
main()
else:
main()
برنامج موازنة السهام بين الورثة - نموذج إكسل
[ورقة العمل 1: بيانات العقارات]
A1: اسم العقار | B1: نوع العقار | C1: المساحة (متر²) | D1: سعر المتر (ريال) | E1: القيمة الإجمالية (ريال)
A2: الأرض الزراعية الشمالية | B2: أرض زراعية | C2: 1000 | D2: 5000 | E2: =C2*D2
A3: المساقية الشرقية | B3: مساقية | C3: 500 | D3: 3000 | E3: =C3*D3
A4: البيت الرئيسي | B4: بيت | C4: 200 | D4: 15000 | E4: =C4*D4
A5: القصبة الغربية | B5: قصبة | C5: 300 | D5: 8000 | E5: =C5*D5
A6: الإجمالي | B6: | C6: =SUM(C2:C5) | D6: | E6: =SUM(E2:E5)
[ورقة العمل 2: بيانات الورثة]
A1: اسم الورثة | B1: صلة القرابة | C1: السهم الشرعي | D1: السهم المخصص | E1: السهم النهائي
A2: أحمد | B2: الابن | C2: 1 | D2: | E2: =IF(D2<>"",D2,C2)
A3: فاطمة | B3: البنت | C3: 1/2 | D3: | E3: =IF(D3<>"",D3,C3)
A4: علي | B4: الأخ الشقيق | C4: 1 | D4: | E4: =IF(D4<>"",D4,C4)
A5: زينب | B5: الأم | C5: 1/6 | D5: | E5: =IF(D5<>"",D5,C5)
[ورقة العمل 3: تحويلات الوحدات]
A1: اسم العقار | B1: المساحة (متر²) | C1: القصبة الست عشرية | D1: القصبة الاثني عشرية
A2: الأرض الزراعية الشمالية | B2: 1000 | C2: =B2/33.33 | D2: =B2/25
A3: المساقية الشرقية | B3: 500 | C3: =B3/33.33 | D3: =B3/25
A4: البيت الرئيسي | B4: 200 | C4: =B4/33.33 | D4: =B4/25
A5: القصبة الغربية | B5: 300 | C5: =B5/33.33 | D5: =B5/25
[ورقة العمل 4: توزيع الميراث]
A1: اسم الورثة | B1: السهم | C1: القيمة الإجمالية (ريال) | D1: قيمة السهم (ريال)
A2: أحمد | B2: =ورقة_الورثة!E2 | C2: =ورقة_العقارات!E6 | D2: =B2*C2
A3: فاطمة | B3: =ورقة_الورثة!E3 | C3: =ورقة_العقارات!E6 | D3: =B3*C3
A4: علي | B4: =ورقة_الورثة!E4 | C4: =ورقة_العقارات!E6 | D4: =B4*C4
A5: زينب | B5: =ورقة_الورثة!E5 | C5: =ورقة_العقارات!E6 | D5: =B5*C5
A6: الإجمالي | B6: =SUM(B2:B5) | C6: | D6: =SUM(D2:D5)
[ورقة العمل 5: حاسبة الكسور]
A1: الكسر | B1: القيمة العشرية | C1: النسبة المئوية
A2: 1/2 | B2: =1/2 | C2: =B2*100
A3: 1/4 | B3: =1/4 | C3: =B3*100
A4: 1/8 | B4: =1/8 | C4: =B4*100
A5: 1/16 | B5: =1/16 | C5: =B5*100
A6: 1/32 | B6: =1/32 | C6: =B6*100
A7: كسر مخصص | B7: = | C7: =B7*100
Notes