I етап. Аналіз умови задачі, визначення вхідних даних і кінцевих результатів
Вхідні дані: точки х1, х2, у1, у2.
Кінцеві результати: відстань між точками .
II етап. Побудова інформаційної моделі
Очевидно, інформаційною моделлю розв’язування цієї задачі є математична модель, яка складається з формул, за якими знайдемо відстань між точками .
Ці формули
c2=(x2-x1)2+(y2-y1)2
Крім того, одержані дані бажано округлити до сотих.
III етап. Вибір програмних засобів для розв’язування задачі виглядатимуть так:
Прикладним програмним засобом, який можна використати для розв’язування задачі, може бути, наприклад, програма-калькулятор або табличний процесор. Або можна скласти спеціальну програму для розв’язування саме цієї задачі, використовуючи одну з мов програмування.
IV етап. Складання алгоритму розв'язування задачі.
V етап. Отримання комп'ютерної моделі.
Е2 =SQRT((C2*C2-2*C2*A2+A2*A2)+(D2*D2-2*D2*B2+B2*B2))
program vidstan;
Uses CRT;
var xl, x2, yl, y2, d: real;
begin
writeln('Маємо 2 точки на координатнiй площинi. Знайти вiдстань мiж ними.');
TextColor (06);
write('Введiть через пробiл координати першої точки, потiм натиснiть Enter - ');
readln(xl, yl);
write('Введiть через пробiл координати другої точки, потiм натиснiть Enter - ');
readln (x2, y2);
d:=sqrt(sqr(x2-xl) + sqr(y2-yl));
TextColor(03);
writeln('Вiдстань мiж точками - ', d:3:3);
readln;
end.
PRINT "‚i¤бв м ¬i¦ в®зЄ ¬Ё"
'Відстань між точками
INPUT "x1 = ", x1
INPUT "y1 = ", y1
INPUT "x2 = ", x2
INPUT "y2 = ", y2
c = SQR((x2 * x2 - 2 * x2 * x1 + x1 * x1) + (y2 * y2 - 2 * y2 * y1 + y1 * y1))
PRINT "‚i¤бв м б = "; c 'Відстань
INPUT z
TextWindow.WriteLine("Вiдстань мiж точками")
TextWindow.Write("x1 = ")
x1=TextWindow.ReadNumber()
TextWindow.Write("y1 = ")
y1=TextWindow.ReadNumber()
TextWindow.Write("x2 = ")
x2=TextWindow.ReadNumber()
TextWindow.Write("y2 = ")
y2=TextWindow.ReadNumber()
c= Math.Round(Math.SquareRoot((x2*x2-2*x2*x1+x1*x1)+(y2*y2-2*y2*y1+y1*y1))*100)/100
TextWindow.Write("Вiдстань с = ")
TextWindow.WriteLine(c)
<title>Відстань між точками</title>
<body><div align="center">
<b>Маємо 2 точки на координатнiй площинi. Знайти вiдстань мiж ними.</b>
<br>
<br>
<form name="vid_toth" action="javascript:vd_th()" id="1419313176">
x1= <input name="x1" type="text" value=" " size="4"></b>
y1= <input name="y1" type="text" value=" " size="4"></b>
<br>
<br>
x2= <input name="x2" type="text" value=" " size="4"></b>
y2= <input name="y2" type="text" value=" " size="4"></b>
<br>
<br>
<input type="submit" value="Порахувати">
<input type="reset" value="Reset">
</form>
Відповідь: <span id="vid_toth">Введіть данні і нажміть "Порахувати"</span>
</div>
<script language="javascript">
function vd_th() {
var x1 = document.vid_toth.x1.value;
var x2 = document.vid_toth.x2.value;
var y1 = document.vid_toth.y1.value;
var y2 = document.vid_toth.y2.value;
var sol = document.getElementById("vid_toth");
var c = Math.sqrt(x2*x2-2*x2*x1+x1*x1+y2*y2-2*y2*y1+y1*y1);
string =c
sol.innerHTML = string;
}
</script>
<title>Відстань між точками</title>
<form name="vdth" >
Маємо 2 точки на координатнiй площинi. Знайти вiдстань мiж ними.
<br>
<br>
x1 = <input type="textfield" name="x1" value="">
y1 = <input type="textfield" name="y1" value="">
<br>
<br>
x2 = <input type="textfield" name="x2" value="">
y2 = <input type="textfield" name="y2" value="">
<br>
<br>
<input type="button" value="c" onClick="document.vdth.c.value=Math.sqrt((eval(document.vdth.x2.value)*eval(document.vdth.x2.value)-2*eval(document.vdth.x2.value)*eval(document.vdth.x1.value)+eval(document.vdth.x1.value)*eval(document.vdth.x1.value))+(eval(document.vdth.y2.value)*eval(document.vdth.y2.value)-2*eval(document.vdth.y2.value)*eval(document.vdth.y1.value)+eval(document.vdth.y1.value)*eval(document.vdth.y1.value)))">
Biдстань с = <input type="textfield" name="c" value=""> <input type="reset" value="Reset">
</form>
#include <stdio.h>
#include <math.h>
int main(void)
{
float x1,x2,x3,y1,y2,c;
printf ("‚i¤бв м ¬i¦ в®зЄ ¬Ё.\n \n");
printf ( "x1 = ");
scanf("%f", &x1);
printf ( "y1 = ");
scanf("%f", &y1);
printf ( "x2 = ");
scanf("%f", &x2);
printf ( "y2 = ");
scanf("%f", &y2);
c=sqrt((x2 * x2 - 2 * x2 * x1 + x1 * x1) + (y2 * y2 - 2 * y2 * y1 + y1 * y1));
printf ("\n‚i¤бв м б = %f", c);
scanf("\n");
return 0;
}
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Вiдстань мiж точками");
Console.Write("x1 = ");
Double x1 = Convert.ToDouble(Console.ReadLine());
Console.Write("y1 = ");
Double y1 = Convert.ToDouble(Console.ReadLine());
Console.Write("x2 = ");
Double x2 = Convert.ToDouble(Console.ReadLine());
Console.Write("y2 = ");
Double y2 = Convert.ToDouble(Console.ReadLine());
Double x = Math.Round(Math.Sqrt((x2*x2-2*x2*x1+x1*x1)+(y2*y2-2*y2*y1+y1*y1))*100)/100;
Console.WriteLine (" ");
Console.WriteLine("Вiдстань с = "+x);
Console.ReadKey();
}
}
Class Program
Shared Sub Main()
Console.WriteLine("Вiдстань мiж точками")
Console.Write("x1 = ")
Dim x1 As Double = Convert.ToDouble(Console.ReadLine())
Console.Write("y1 = ")
Dim y1 As Double = Convert.ToDouble(Console.ReadLine())
Console.Write("x2 = ")
Dim x2 As Double = Convert.ToDouble(Console.ReadLine())
Console.Write("y2 = ")
Dim y2 As Double = Convert.ToDouble(Console.ReadLine())
Dim x As Double = Math.Round(Math.sqrt((x2*x2-2*x2*x1+x1*x1)+(y2*y2-2*y2*y1+y1*y1))*100)/100
Console.WriteLine (" ")
Console.Write("Вiдстань с = {0}",x)
Console.ReadKey()
End Sub
End Class
#include <conio.h>
#include <iostream>
#include <cmath>
int main(void)
{
double x1,x2,y1,y2,c;
setlocale(LC_ALL, "");
std::cout << "Вiдстань мiж точками\n";
std::cout << "x1 = ";
std::cin >> x1;
std::cout << "y1 = ";
std::cin >> y1;
std::cout << "x2 = ";
std::cin >> x2;
std::cout << "y2 = ";
std::cin >> y2;
c = sqrt((x2*x2-2*x2*x1+x1*x1)+(y2*y2-2*y2*y1+y1*y1));
std::cout
<< "\nВiдстань c = " << c << std::endl;
getch();
return 0;
}
print ('Вiдстань мiж точками')
x1=float(input('x1 = '))
y1=float(input('y1 = '))
x2=float(input('x2 = '))
y2=float(input('y2 = '))
print ('')
x=((x2-x1)**(2)+(y2-y1)**(2))**(1/2)
print ('Вiдстань між точками =',x)
input()
Розв’язування задачі в Visual BASIK 6
VERSION 5.00
Begin VB.Form Form1
BorderStyle = 3 'Fixed Dialog
Caption = "Відстань між точками"
ClientHeight = 3015
ClientLeft = 45
ClientTop = 390
ClientWidth = 4560
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3015
ScaleWidth = 4560
ShowInTaskbar = 0 'False
StartUpPosition = 1 'CenterOwner
Begin VB.CommandButton Command3
Caption = "Вихід"
Height = 375
Left = 2400
TabIndex = 12
Top = 2400
Width = 1575
End
Begin VB.CommandButton Command2
Caption = "Очистка"
Height = 375
Left = 240
TabIndex = 11
Top = 2400
Width = 1575
End
Begin VB.CommandButton Command1
Caption = "СТАРТ"
Height = 375
Left = 240
TabIndex = 10
Top = 1800
Width = 1575
End
Begin VB.TextBox Text1
Height = 285
Index = 4
Left = 3240
TabIndex = 9
Top = 1800
Width = 975
End
Begin VB.TextBox Text1
Height = 285
Index = 3
Left = 2880
TabIndex = 8
Top = 1320
Width = 975
End
Begin VB.TextBox Text1
Height = 285
Index = 2
Left = 2880
TabIndex = 7
Top = 960
Width = 975
End
Begin VB.TextBox Text1
Height = 285
Index = 1
Left = 720
TabIndex = 6
Top = 1320
Width = 975
End
Begin VB.TextBox Text1
Height = 285
Index = 0
Left = 720
TabIndex = 5
Top = 960
Width = 975
End
Begin VB.Label Label3
Caption = "Відстань с ="
Height = 255
Left = 2160
TabIndex = 13
Top = 1800
Width = 975
End
Begin VB.Label Label2
Caption = "y2 ="
Height = 255
Index = 3
Left = 2400
TabIndex = 4
Top = 1320
Width = 495
End
Begin VB.Label Label2
Caption = "x2 ="
Height = 255
Index = 2
Left = 2400
TabIndex = 3
Top = 960
Width = 495
End
Begin VB.Label Label2
Caption = "y1 ="
Height = 255
Index = 1
Left = 240
TabIndex = 2
Top = 1320
Width = 495
End
Begin VB.Label Label2
Caption = "x1 ="
Height = 255
Index = 0
Left = 240
TabIndex = 1
Top = 960
Width = 375
End
Begin VB.Label Label1
Caption = "Маємо 2 точки на координатній площині. Знайти відстань між ними."
Height = 495
Left = 240
TabIndex = 0
Top = 240
Width = 3615
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
X1 = Text1(0).Text
Y1 = Text1(1).Text
X2 = Text1(2).Text
Y2 = Text1(3).Text
c = Round(Sqr((X2 * X2 - 2 * X2 * X1 + X1 * X1) + (Y2 * Y2 - 2 * Y2 * Y1 + Y1 * Y1)) * 100) / 100
Text1(4).Text = c
End Sub
Private Sub Command2_Click()
Text1(0).Text = ""
Text1(1).Text = ""
Text1(2).Text = ""
Text1(3).Text = ""
Text1(4).Text = ""
End Sub
Private Sub Command3_Click()
End
End Sub
Розв’язування задачі в Pascal ABC.NET
procedure Form1.button2_Click(sender: Object; e: EventArgs);
begin
TextBox1.Text:='';
TextBox2.Text:='';
TextBox3.Text:='';
TextBox4.Text:='';
TextBox5.Text:='';
end;
procedure Form1.button3_Click(sender: Object; e: EventArgs);
begin
Close;
end;
procedure Form1.button1_Click(sender: Object; e: EventArgs);
var x1, x2, y1, y2, c: real;
begin
x1:=StrToFloat(TextBox1.Text);
y1:=StrToFloat(TextBox2.Text);
x2:=StrToFloat(TextBox3.Text);
y2:=StrToFloat(TextBox4.Text);
c:=round(sqrt(sqr(x2-x1)+sqr(y2-y1))*100)/100;
TextBox5.Text:=FloatToStr(c);
end;
Розв’язування задачі в VB.NET
Public Class Form1
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
End
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim X1 As Double = Convert.ToDouble(TextBox1.Text)
Dim Y1 As Double = Convert.ToDouble(TextBox2.Text)
Dim X2 As Double = Convert.ToDouble(TextBox3.Text)
Dim Y2 As Double = Convert.ToDouble(TextBox4.Text)
Dim c As Double = Math.Round(Math.Sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2) * 100) / 100
TextBox5.Text = Convert.ToString(c)
End Sub
End Class
Розв’язування задачі в C#
private void button3_Click(object sender, EventArgs e)
{
System.Environment.Exit(0);
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox5.Text = "";
}
private void button1_Click(object sender, EventArgs e)
{
double X1 = Convert.ToDouble(textBox1.Text);
double Y1 = Convert.ToDouble(textBox3.Text);
double X2 = Convert.ToDouble(textBox2.Text);
double Y2 = Convert.ToDouble(textBox4.Text);
double c = Math.Round(Math.Sqrt(Math.Pow((X2 - X1), 2) + Math.Pow((Y2 - Y1), 2)) * 100) / 100;
textBox5.Text = Convert.ToString(c);
}
from tkinter import *
def click ():
x1 = float (entry1.get())
y1 = float (entry2.get())
x2 = float (entry3.get())
y2 = float (entry4.get())
x=((x2-x1)**(2)+(y2-y1)**(2))**(1/2)
entry5.insert(0, x)
def click1 ():
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
root=Tk()
root.title('Вiдстань мiж точками')
root.geometry('300x390')
label = Label (text = 'Вiдстань мiж точками')
label.pack(pady = 10)
labe2 = Label (text = 'x1')
labe2.pack(pady = 1)
entry1 = Entry ()
entry1.pack (pady = 1)
labe3 = Label (text = 'y1 ')
labe3.pack(pady = 1)
entry2 = Entry ()
entry2.pack (pady = 1)
labe4 = Label (text = 'x2 ')
labe4.pack(pady = 1)
entry3 = Entry ()
entry3.pack (pady = 1)
labe5 = Label (text = 'y2 ')
labe5.pack(pady = 1)
entry4 = Entry ()
entry4.pack (pady = 1)
button = Button (text='Старт', command=click)
button.pack (pady = 10)
button = Button (text='Очистка', command=click1)
button.pack (pady = 1)
labe6 = Label (text = 'Вiдстань між точками ')
labe6.pack(pady = 1)
entry5 = Entry ()
entry5.pack (pady = 1)
VI етап. Дослідження отриманих результатів на реальність і на відповідність умові
Після одержання підсумкової програми маємо проаналізувати її реальність.
Якщо таке дослідження виявляє помилки, потрібно шукати їхні причини, виправляти їх і знову проходити етапи, наступні за тим, на якому виявилися помилки