Az alábbi két, leíró nyelven készült algoritmus alá mellékeltem a Visual C# nyelven leírt megoldását.
(Nem kell megijedni, ezt a programot majd csak 11. osztályban kell tudni megírni.)
Nem kell megtanulni ebből semmit!
class Program
{
static void
KI(string mod)
{
Console.WriteLine(mod);
}
static void
Main(string[] args)
{
int[]
A = new int[10];
int
I;
int
Min;
int
Max;
int
P;
Random
rnd = new Random();
I = 0;
while
(I < 10)
{
A[I] = rnd.Next(100);
KI(Convert.ToString(A[I]));
I++;
}
KI("");
KI("Kérem
a számot:");
P = Convert.ToInt32(Console.ReadLine());
Min = 100;
Max = 0;
I = 0;
while
(I < 10)
{
if
(A[I] > P)
{
if
(A[I] < Min)
Min = A[I];
}
else
{
if
(A[I] > Max)
Max = A[I];
}
I++;
}
KI("P
szám:");
KI(Convert.ToString(P));
KI("A
legkisebb:");
KI(Convert.ToString(Min));
KI("A
legnagyobb:");
KI(Convert.ToString(Max));
Console.ReadLine();
}
}
class Program
{
static double Negyzetgyok(double x)
{
double pontossag;
double also;
double felso;
double proba;
if (x
> 0)
{
pontossag
= 0.00000000000001;
if (x
< 1)
{
also
= x;
felso
= 1;
}
else
{
also
= 1;
felso
= x;
}
while ((felso
- also) > pontossag)
{
proba
= (also + felso) / 2;
if (proba
* proba > x)
{
felso
= proba;
}
else
{
also
= proba;
}
}
return ((also
+ felso) / 2);
}
else
{
if (x
== 0)
{
return 0;
}
else
{
return -1;
}
}
}
static void Main(string[]
args)
{
Console.WriteLine(Negyzetgyok(0));
Console.WriteLine(Negyzetgyok(3.3));
Console.WriteLine(Negyzetgyok(2));
Console.WriteLine(Negyzetgyok(9));
Console.WriteLine(Negyzetgyok(-9));
Console.ReadLine();
}
}
Nincsenek megjegyzések:
Megjegyzés küldése