Whiz Tools

آلة حاسبة لنصف قطر الدائرة

مقدمة

نصف القطر للدائرة هو أحد خصائصها الأساسية. إنه المسافة من مركز الدائرة إلى أي نقطة على محيطها. تتيح لك هذه الآلة الحاسبة تحديد نصف قطر الدائرة بناءً على ثلاثة معلمات إدخال مختلفة:

  1. القطر
  2. المحيط
  3. المساحة

من خلال تقديم أي من هذه القيم، يمكنك حساب نصف القطر باستخدام العلاقات الرياضية الموجودة في هندسة الدائرة.

الصيغة

يمكن حساب نصف القطر من القطر أو المحيط أو المساحة باستخدام الصيغ التالية:

  1. من القطر (dd):

    r=d2r = \frac{d}{2}
  2. من المحيط (CC):

    r=C2πr = \frac{C}{2\pi}
  3. من المساحة (AA):

    r=Aπr = \sqrt{\frac{A}{\pi}}

تم اشتقاق هذه الصيغ من الخصائص الأساسية للدائرة:

  • القطر: القطر هو ضعف نصف القطر (d=2rd = 2r).
  • المحيط: المحيط هو المسافة حول الدائرة (C=2πrC = 2\pi r).
  • المساحة: المساحة المحصورة بالدائرة (A=πr2A = \pi r^2).

الحساب

حساب نصف القطر من القطر

بالنظر إلى القطر، فإن نصف القطر هو ببساطة نصفه:

r=d2r = \frac{d}{2}

مثال:

إذا كان القطر 10 وحدات:

r=102=5 وحداتr = \frac{10}{2} = 5 \text{ وحدات}

حساب نصف القطر من المحيط

بدءًا من صيغة المحيط:

C=2πrC = 2\pi r

حلًا لـ rr:

r=C2πr = \frac{C}{2\pi}

مثال:

إذا كان المحيط 31.415931.4159 وحدات:

r=31.41592π31.41596.28325 وحداتr = \frac{31.4159}{2\pi} \approx \frac{31.4159}{6.2832} \approx 5 \text{ وحدات}

حساب نصف القطر من المساحة

بدءًا من صيغة المساحة:

A=πr2A = \pi r^2

حلًا لـ rr:

r=Aπr = \sqrt{\frac{A}{\pi}}

مثال:

إذا كانت المساحة 78.539878.5398 وحدة مربعة:

r=78.5398π=78.53983.141625=5 وحداتr = \sqrt{\frac{78.5398}{\pi}} = \sqrt{\frac{78.5398}{3.1416}} \approx \sqrt{25} = 5 \text{ وحدات}

حالات الحافة والتحقق من الإدخال

  • الإدخالات الصفرية أو السلبية: لا يمكن أن يكون للدائرة قطر أو محيط أو مساحة سلبية أو صفرية. إذا كانت أي من هذه القيم صفرًا أو سلبية، فإن نصف القطر غير معرف. ستعرض الآلة الحاسبة رسالة خطأ في مثل هذه الحالات.

  • الإدخالات غير الرقمية: تتطلب الآلة الحاسبة إدخالات رقمية. القيم غير الرقمية (مثل الحروف أو الرموز) غير صالحة.

الدقة والتقريب

تستخدم هذه الآلة الحاسبة حسابات النقطة العائمة بدقة مزدوجة. عادةً ما يتم عرض النتائج مقربة إلى أربعة أماكن عشرية لتحقيق دقة أكبر. عند استخدام الثوابت الرياضية مثل π\pi، تستخدم الآلة الحاسبة الدقة الكاملة المتاحة في لغة البرمجة أو البيئة. كن على علم بأن حسابات النقطة العائمة يمكن أن تقدم أخطاء تقريب صغيرة في بعض الحالات.

حالات الاستخدام

يعد حساب نصف قطر الدائرة أمرًا أساسيًا في مجالات مختلفة:

الهندسة والبناء

  • تصميم المكونات الدائرية: يحتاج المهندسون غالبًا إلى تحديد نصف القطر عند تصميم العجلات أو التروس أو الأنابيب أو القباب.

  • العمارة: يستخدم المعماريون نصف القطر لتصميم الأقواس والقباب والمباني الدائرية.

علم الفلك

  • مدارات الكواكب: يحسب علماء الفلك نصف قطر مدارات الكواكب بناءً على البيانات الملاحظة.

  • الأجسام السماوية: تحديد أحجام الكواكب والنجوم والأجسام السماوية الأخرى.

حل المشكلات اليومية

  • الفن والتصميم: يحسب الفنانون والمصممون نصف القطر لإنشاء أنماط وتصاميم دائرية.

  • مشاريع DIY: حساب المواد اللازمة لطاولات دائرية أو حدائق أو نوافير.

الرياضيات والتعليم

  • تعلم الهندسة: فهم خصائص الدوائر هو أمر أساسي في تعليم الهندسة.

  • حل المشكلات: تعتبر حسابات نصف القطر شائعة في المسائل الرياضية والمنافسات.

البدائل

بينما يعتبر نصف القطر خاصية أساسية، في بعض الأحيان تكون خصائص الدائرة الأخرى أكثر ملاءمة للقياس مباشرة:

  • قياس طول الوتر: مفيد عندما يكون لديك نقاط ثابتة على دائرة وتحتاج إلى حساب نصف القطر.

  • استخدام مساحة القطاع أو طول القوس: في الحالات التي تتضمن أقسام جزئية من دائرة.

التاريخ

تعود دراسة الدوائر إلى الحضارات القديمة:

  • الهندسة القديمة: تمت دراسة الدائرة منذ زمن المصريين القدماء والبابليين.

  • عناصر إقليدس: حوالي 300 قبل الميلاد، عرف إقليدس الدائرة وخصائصها في عمله الرائد، العناصر.

  • أرخميدس: قدم طرقًا لتقريب (\pi) وحساب المساحات والأحجام المتعلقة بالدوائر والكرات.

  • تطوير (\pi): على مر القرون، قام رياضيون مثل ليو هوي، وزو تشونغ تشي، وأريا بهاتا، وأخيرًا جون واليس وإسحاق نيوتن بتحسين قيمة وفهم (\pi).

يبقى نصف القطر مفهومًا أساسيًا ليس فقط في الهندسة ولكن أيضًا عبر الفيزياء والهندسة والعلوم التطبيقية المختلفة.

أمثلة

إليك أمثلة برمجية بلغات متعددة لحساب نصف القطر من القطر، المحيط، والمساحة.

من القطر

بايثون
## حساب نصف القطر من القطر
def radius_from_diameter(diameter):
    if diameter <= 0:
        raise ValueError("يجب أن يكون القطر أكبر من الصفر.")
    return diameter / 2

## مثال للاستخدام
d = 10
r = radius_from_diameter(d)
print(f"نصف القطر هو {r} وحدات.")
جافا سكريبت
// حساب نصف القطر من القطر
function radiusFromDiameter(diameter) {
    if (diameter <= 0) {
        throw new Error("يجب أن يكون القطر أكبر من الصفر.");
    }
    return diameter / 2;
}

// مثال للاستخدام
let d = 10;
let r = radiusFromDiameter(d);
console.log(`نصف القطر هو ${r} وحدات.`);
جافا
public class CircleRadiusCalculator {
    public static double radiusFromDiameter(double diameter) {
        if (diameter <= 0) {
            throw new IllegalArgumentException("يجب أن يكون القطر أكبر من الصفر.");
        }
        return diameter / 2;
    }

    public static void main(String[] args) {
        double d = 10;
        double r = radiusFromDiameter(d);
        System.out.printf("نصف القطر هو %.2f وحدات.%n", r);
    }
}
C++
// حساب نصف القطر من القطر
#include <iostream>
#include <stdexcept>

double radiusFromDiameter(double diameter) {
    if (diameter <= 0) {
        throw std::invalid_argument("يجب أن يكون القطر أكبر من الصفر.");
    }
    return diameter / 2.0;
}

int main() {
    double d = 10.0;
    try {
        double r = radiusFromDiameter(d);
        std::cout << "نصف القطر هو " << r << " وحدات." << std::endl;
    } catch (const std::exception& e) {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
R
## حساب نصف القطر من القطر
radius_from_diameter <- function(diameter) {
  if (diameter <= 0) {
    stop("يجب أن يكون القطر أكبر من الصفر.")
  }
  return(diameter / 2)
}

## مثال للاستخدام
d <- 10
r <- radius_from_diameter(d)
cat(sprintf("نصف القطر هو %.2f وحدات.\n", r))
روبي
## حساب نصف القطر من القطر
def radius_from_diameter(diameter)
  raise ArgumentError, "يجب أن يكون القطر أكبر من الصفر." if diameter <= 0
  diameter / 2.0
end

## مثال للاستخدام
d = 10
r = radius_from_diameter(d)
puts "نصف القطر هو #{r} وحدات."
بي إتش بي
<?php
// حساب نصف القطر من القطر
function radiusFromDiameter($diameter) {
    if ($diameter <= 0) {
        throw new Exception('يجب أن يكون القطر أكبر من الصفر.');
    }
    return $diameter / 2;
}

// مثال للاستخدام
$d = 10;
$r = radiusFromDiameter($d);
echo "نصف القطر هو {$r} وحدات.";
?>
راست
// حساب نصف القطر من القطر
fn radius_from_diameter(diameter: f64) -> Result<f64, &'static str> {
    if diameter <= 0.0 {
        return Err("يجب أن يكون القطر أكبر من الصفر.");
    }
    Ok(diameter / 2.0)
}

fn main() {
    let d = 10.0;
    match radius_from_diameter(d) {
        Ok(r) => println!("نصف القطر هو {:.2} وحدات.", r),
        Err(e) => println!("{}", e),
    }
}
سويفت
import Foundation

// حساب نصف القطر من القطر
func radiusFromDiameter(_ diameter: Double) throws -> Double {
    if diameter <= 0 {
        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "يجب أن يكون القطر أكبر من الصفر."])
    }
    return diameter / 2.0
}

// مثال للاستخدام
do {
    let d = 10.0
    let r = try radiusFromDiameter(d)
    print("نصف القطر هو \(r) وحدات.")
} catch {
    print(error.localizedDescription)
}

من المحيط

بايثون
import math

## حساب نصف القطر من المحيط
def radius_from_circumference(circumference):
    if circumference <= 0:
        raise ValueError("يجب أن يكون المحيط أكبر من الصفر.")
    return circumference / (2 * math.pi)

## مثال للاستخدام
C = 31.4159
r = radius_from_circumference(C)
print(f"نصف القطر هو {r:.2f} وحدات.")
جافا سكريبت
// حساب نصف القطر من المحيط
function radiusFromCircumference(circumference) {
    if (circumference <= 0) {
        throw new Error("يجب أن يكون المحيط أكبر من الصفر.");
    }
    return circumference / (2 * Math.PI);
}

// مثال للاستخدام
let C = 31.4159;
let r = radiusFromCircumference(C);
console.log(`نصف القطر هو ${r.toFixed(2)} وحدات.`);
جافا
public class CircleRadiusCalculator {
    public static double radiusFromCircumference(double circumference) {
        if (circumference <= 0) {
            throw new IllegalArgumentException("يجب أن يكون المحيط أكبر من الصفر.");
        }
        return circumference / (2 * Math.PI);
    }

    public static void main(String[] args) {
        double C = 31.4159;
        double r = radiusFromCircumference(C);
        System.out.printf("نصف القطر هو %.2f وحدات.%n", r);
    }
}
C++
// حساب نصف القطر من المحيط
#include <iostream>
#include <cmath>
#include <stdexcept>

double radiusFromCircumference(double circumference) {
    if (circumference <= 0) {
        throw std::invalid_argument("يجب أن يكون المحيط أكبر من الصفر.");
    }
    return circumference / (2.0 * M_PI);
}

int main() {
    double C = 31.4159;
    try {
        double r = radiusFromCircumference(C);
        std::cout << "نصف القطر هو " << r << " وحدات." << std::endl;
    } catch (const std::exception& e) {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
R
## حساب نصف القطر من المحيط
radius_from_circumference <- function(circumference) {
  if (circumference <= 0) {
    stop("يجب أن يكون المحيط أكبر من الصفر.")
  }
  return(circumference / (2 * pi))
}

## مثال للاستخدام
C <- 31.4159
r <- radius_from_circumference(C)
cat(sprintf("نصف القطر هو %.2f وحدات.\n", r))
روبي
## حساب نصف القطر من المحيط
def radius_from_circumference(circumference)
  raise ArgumentError, "يجب أن يكون المحيط أكبر من الصفر." if circumference <= 0
  circumference / (2 * Math::PI)
end

## مثال للاستخدام
C = 31.4159
r = radius_from_circumference(C)
puts "نصف القطر هو #{format('%.2f', r)} وحدات."
بي إتش بي
<?php
// حساب نصف القطر من المحيط
function radiusFromCircumference($circumference) {
    if ($circumference <= 0) {
        throw new Exception('يجب أن يكون المحيط أكبر من الصفر.');
    }
    return $circumference / (2 * M_PI);
}

// مثال للاستخدام
$C = 31.4159;
$r = radiusFromCircumference($C);
echo "نصف القطر هو " . round($r, 2) . " وحدات.";
?>
راست
use std::f64::consts::PI;

// حساب نصف القطر من المحيط
fn radius_from_circumference(circumference: f64) -> Result<f64, &'static str> {
    if circumference <= 0.0 {
        return Err("يجب أن يكون المحيط أكبر من الصفر.");
    }
    Ok(circumference / (2.0 * PI))
}

fn main() {
    let C = 31.4159;
    match radius_from_circumference(C) {
        Ok(r) => println!("نصف القطر هو {:.2} وحدات.", r),
        Err(e) => println!("{}", e),
    }
}
سويفت
import Foundation

// حساب نصف القطر من المحيط
func radiusFromCircumference(_ circumference: Double) throws -> Double {
    if circumference <= 0 {
        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "يجب أن يكون المحيط أكبر من الصفر."])
    }
    return circumference / (2 * Double.pi)
}

// مثال للاستخدام
do {
    let C = 31.4159
    let r = try radiusFromCircumference(C)
    print(String(format: "نصف القطر هو %.2f وحدات.", r))
} catch {
    print(error.localizedDescription)
}

من المساحة

بايثون
import math

## حساب نصف القطر من المساحة
def radius_from_area(area):
    if area <= 0:
        raise ValueError("يجب أن تكون المساحة أكبر من الصفر.")
    return math.sqrt(area / math.pi)

## مثال للاستخدام
A = 78.5398
r = radius_from_area(A)
print(f"نصف القطر هو {r:.2f} وحدات.")
جافا سكريبت
// حساب نصف القطر من المساحة
function radiusFromArea(area) {
    if (area <= 0) {
        throw new Error("يجب أن تكون المساحة أكبر من الصفر.");
    }
    return Math.sqrt(area / Math.PI);
}

// مثال للاستخدام
let A = 78.5398;
let r = radiusFromArea(A);
console.log(`نصف القطر هو ${r.toFixed(2)} وحدات.`);
جافا
public class CircleRadiusCalculator {
    public static double radiusFromArea(double area) {
        if (area <= 0) {
            throw new IllegalArgumentException("يجب أن تكون المساحة أكبر من الصفر.");
        }
        return Math.sqrt(area / Math.PI);
    }

    public static void main(String[] args) {
        double A = 78.5398;
        double r = radiusFromArea(A);
        System.out.printf("نصف القطر هو %.2f وحدات.%n", r);
    }
}
C++
// حساب نصف القطر من المساحة
#include <iostream>
#include <cmath>
#include <stdexcept>

double radiusFromArea(double area) {
    if (area <= 0) {
        throw std::invalid_argument("يجب أن تكون المساحة أكبر من الصفر.");
    }
    return std::sqrt(area / M_PI);
}

int main() {
    double A = 78.5398;
    try {
        double r = radiusFromArea(A);
        std::cout << "نصف القطر هو " << r << " وحدات." << std::endl;
    } catch (const std::exception& e) {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
R
## حساب نصف القطر من المساحة
radius_from_area <- function(area) {
  if (area <= 0) {
    stop("يجب أن تكون المساحة أكبر من الصفر.")
  }
  return(sqrt(area / pi))
}

## مثال للاستخدام
A <- 78.5398
r <- radius_from_area(A)
cat(sprintf("نصف القطر هو %.2f وحدات.\n", r))
MATLAB
% حساب نصف القطر من المساحة
function r = radius_from_area(area)
    if area <= 0
        error('يجب أن تكون المساحة أكبر من الصفر.');
    end
    r = sqrt(area / pi);
end

% مثال للاستخدام
A = 78.5398;
r = radius_from_area(A);
fprintf('نصف القطر هو %.2f وحدات.\n', r);
C#
using System;

class CircleRadiusCalculator
{
    public static double RadiusFromArea(double area)
    {
        if (area <= 0)
            throw new ArgumentException("يجب أن تكون المساحة أكبر من الصفر.");
        return Math.Sqrt(area / Math.PI);
    }

    static void Main()
    {
        double A = 78.5398;
        double r = RadiusFromArea(A);
        Console.WriteLine("نصف القطر هو {0:F2} وحدات.", r);
    }
}
Go
package main

import (
	"fmt"
	"math"
)

func radiusFromArea(area float64) (float64, error) {
	if area <= 0 {
		return 0, fmt.Errorf("يجب أن تكون المساحة أكبر من الصفر.")
	}
	return math.Sqrt(area / math.Pi), nil
}

func main() {
	A := 78.5398
	r, err := radiusFromArea(A)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Printf("نصف القطر هو %.2f وحدات.\n", r)
}
روبي
## حساب نصف القطر من المساحة
def radius_from_area(area)
  raise ArgumentError, "يجب أن تكون المساحة أكبر من الصفر." if area <= 0
  Math.sqrt(area / Math::PI)
end

## مثال للاستخدام
A = 78.5398
r = radius_from_area(A)
puts "نصف القطر هو #{format('%.2f', r)} وحدات."
بي إتش بي
<?php
// حساب نصف القطر من المساحة
function radiusFromArea($area) {
    if ($area <= 0) {
        throw new Exception('يجب أن تكون المساحة أكبر من الصفر.');
    }
    return sqrt($area / M_PI);
}

// مثال للاستخدام
$A = 78.5398;
$r = radiusFromArea($A);
echo "نصف القطر هو " . round($r, 2) . " وحدات.";
?>
راست
use std::f64::consts::PI;

// حساب نصف القطر من المساحة
fn radius_from_area(area: f64) -> Result<f64, &'static str> {
    if area <= 0.0 {
        return Err("يجب أن تكون المساحة أكبر من الصفر.");
    }
    Ok((area / PI).sqrt())
}

fn main() {
    let A = 78.5398;
    match radius_from_area(A) {
        Ok(r) => println!("نصف القطر هو {:.2} وحدات.", r),
        Err(e) => println!("{}", e),
    }
}
سويفت
import Foundation

// حساب نصف القطر من المساحة
func radiusFromArea(_ area: Double) throws -> Double {
    if area <= 0 {
        throw NSError(domain: "InvalidInput", code: 0, userInfo: [NSLocalizedDescriptionKey: "يجب أن تكون المساحة أكبر من الصفر."])
    }
    return sqrt(area / Double.pi)
}

// مثال للاستخدام
do {
    let A = 78.5398
    let r = try radiusFromArea(A)
    print(String(format: "نصف القطر هو %.2f وحدات.", r))
} catch {
    print(error.localizedDescription)
}

إكسل

## حساب نصف القطر من القطر في الخلية B1
=IF(B1>0, B1/2, "إدخال غير صالح")

## حساب نصف القطر من المحيط في الخلية B2
=IF(B2>0, B2/(2*PI()), "إدخال غير صالح")

## حساب نصف القطر من المساحة في الخلية B3
=IF(B3>0, SQRT(B3/PI()), "إدخال غير صالح")

التصور

رسم تخطيطي SVG يوضح العلاقة بين نصف القطر والقطر والمحيط:

نصف القطر (r) القطر (d) المحيط (C)

المراجع

  1. الدائرة - ويكيبيديا
  2. المحيط - رياضيات ممتعة
  3. مساحة الدائرة - أكاديمية خان
  4. تاريخ (\pi) - ويكيبيديا
Feedback