Algorytm pierwiastkowania (algorytm Newtona- Raphsona)

Algorytm szukania wartości pierwiastka kwadratowego działa w oparciu szukania wyniku do zadanej dokładności. Wynik kolejnych wyznaczanych wartości szukanego pierwiastka stopnia drugiego obliczany jest według poniższego wzoru

iteracyjny wzór przybliżonego pierwiastkowania Visual studio C#

We wzorze tym suma w nawiasie odpowiada wartości sumy długości boków prostokąta zmierzającego w kolejnych przybliżeniach do boków kwadratu. Pokazuje to poniższy rysunek

graficzna reprezentacja iteracyjnego wzoru przybliżonego pierwiastkowania Visual studio C#

Szukaną wartością pierwiastka jest wartość x (boku kwadratu) wyznaczona z zadaną dokładnością. Liczba pierwiastkowana odpowiada wartości pola kwadratu, stąd bok razy bok jest tym polem. Jest to analogiczne do pierwiastek razy pierwiastek równa się liczbie pierwiastkowanej.

Schemat algorytmu pierwiastkowania

schemat algorytmu pierwiastkowania Visual studio C#

Kod funkcji zapisanej w języku C# realizujący algorytm pierwiastkowania

Wskazówka:


float a = 1.0f,
	  b = n;
	while ((float)Math.Abs(a - b) >= dokladnosc)
	{
		a = (a + b) / 2;
		b = n / a;
	}
	return (float)(a + b) / 2;
}

Przykładowa aplikacja wykorzystująca algorytm pierwiastkowania

aplikacja wykorzystująca algorytm pierwiastkowania Visual studio C#

Pełny kod klasy Form formatki aplikacji wykorzystującej algorytm pierwiastkowania

Form1.cs:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _16AlgPierwiastekKwad
{
    public partial class Form1 : Form
    {
        float pierwiastek(float n, float dokladnosc)
        {
            float a = 1.0f,
                  b = n;
            while ((float)Math.Abs(a - b) >= dokladnosc)
            {
                a = (a + b) / 2;
                b = n / a;
            }
            return (float)(a + b) / 2;
        }
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Length < 1 || textBox2.Text.Length < 1)
                return;
            float n=float.Parse(textBox1.Text),
                  dokladnosc=float.Parse(textBox2.Text);
            MessageBox.Show(
                pierwiastek(n, dokladnosc).ToString(),
                "Wynik pierwiastkowania",
                MessageBoxButtons.OK,
                MessageBoxIcon.Information
                );
        }

        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            //zamień kropkę na przecinek (seperator dziesiętny)
            //przecinek jest ustawiony jako znak separatora na Polskę
            if (e.KeyChar == '.'|| e.KeyChar == ',') { e.KeyChar = ','; return; }
            if (e.KeyChar == 8) return;//wyskocz jak BackSpace
            //ignoruj nienumeryczne i znak minus
            //nie ma pierwiastka kwad z mniejszych od zera
            if (e.KeyChar < '0' || e.KeyChar > '9' || e.KeyChar=='-') 
                e.Handled = true;
        }
    }
}
Układ okresowy- kod qr
Układ okresowy

Układ okresowy pierwiastków- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Alkomat- wirtualny test kod qr
Alkomat- wirtualny test

Alkomat- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Analizator Dźwięku- kod qr
Analizator Dźwięku- analiza dźwięku

Analizator Dźwięku- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Analizator WiFi- kod qr
Analizator WiFi- analiza sygnału

Analizator WiFi- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Analiztaor Bluetooth- kod qr
Analizator Bluetooth- analiza sygnału

Analizator Bluetooth- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Analiztaor Internetu- kod qr
Analizator Internetu- analiza sygnału

Analizator Internetu- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Magnetometr- kod qr
Magnetometr- analiza pola magnetycznego

Magnetometr- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Doktor Baterii- kod qr
Doktor Baterii- analiza stanu baterii telefonu

Doktor Baterii- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Analizator Temperatury- kod qr
Analizator Temperatury- analiza stanu temeperatury telefonu

Analizator Temperatury- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Botanik- kod qr
Botanik- analiza śwaitała dla roślin

Botanik- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Znaki drogowe- kod qr
Znaki drogowe

Znaki drogowe, test ABCD- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Poziomica kod qr
Poziomica i klinometr

Poziomica, klinometr- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Światłomierz fotograficzny kod qr
Światłomierz fotograficzny

Światłomierz fotograficzny- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Prędkościomierz kod qr
Prędkościomierz aplikacja Android Google Play

Prędkościomierz- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Taklarz- olinowanie stałe kod qr
Olinowanie stałe- kalkulator średnic

Olinowanie stałe- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
przepis na gogfry

Przepis na gofry

zobacz
przepis na bitą śmietanę

Przepis na bitą śmietanę

zobacz