I етап. Аналіз умови задачі, визначення вхідних даних і кінцевих результатів
Вхідні дані: А, В, C.
Кінцеві результати: X.
II етап. Побудова інформаційної моделі
Очевидно, інформаційною моделлю розв’язування цієї задачі є математична модель, яка складається з формул, за якими знайдемо Х.
Ці формули
X=(C-B)/A) якщо A<>0
Крім того, одержані дані бажано округлити до сотих.
III етап. Вибір програмних засобів для розв’язування задачі виглядатимуть так:
Прикладним програмним засобом, який можна використати для розв’язування задачі, може бути, наприклад, програма-калькулятор або табличний процесор. Або можна скласти спеціальну програму для розв’язування саме цієї задачі, використовуючи одну з мов програмування.
IV етап. Складання алгоритму розв'язування задачі.
V етап. Отримання комп'ютерної моделі.
Х - IF(A2=0;0;(C2-B2)/A2)
program lin__rivn;
Uses CRT;
var A, B, C: real;
begin
writeln ('Лiнiйне рiвняння' ) ;
TextColor (06);
writeln(' ');
write ('Введiть коефiцiєнти рiвняння через пробiл! А, В, C - ' ) ;
readln(A, B, C);
TextColor (03);
if A=0
then writeln('Дiйсних коренiв немає')
else
writeln('X=',(C-B)/A:3:3);
readln;
end.
PRINT "ђiўпп вЁЇг - ax+b=c" 'Рівняння типу - ax+b=c
INPUT "A=", a
INPUT "B=", b
INPUT "C=", c
IF a = 0 THEN PRINT "Ђ=0 - ‚Ёа § Ґ ¤i©бЁ©" ELSE PRINT "X="; (c - b) / a
INPUT z 'А=0 - вираз недійсний
TextWindow.WriteLine("Лiнiйне рiвняння")
TextWindow.Write("A= ")
A=TextWindow.ReadNumber()
TextWindow.Write("B= ")
B=TextWindow.ReadNumber()
TextWindow.Write("C= ")
C=TextWindow.ReadNumber()
If A>0 Then
TextWindow.Write("X=")
TextWindow.WriteLine(Math.Round((c-b)/a*100)/100 )
Else
TextWindow.Write("Коренi не дiйснi")
EndIf
<title>Лінійне рівняння</title>
<body><div align="center">
<b>Опрацювання лінійного рівняння a·x + b = c .</b>
<form name="lin" action="javascript:lin_riv()" id="1419313176">
a = <input name="lin_riv_a" type="text" value=" " size="4">
b = <input name="lin_riv_b" type="text" value=" " size="4">
c = <input name="lin_riv_c" type="text" value=" " size="4">
<input type="submit" value="Порахувати">
<input type="reset" value="Reset">
</form>
Опрацювання: <span id="lin_sol">Введіть коефіцієнти і нажміть "Порахувати"</span>
</div>
<script language="javascript">
function lin_riv() {
var a = document.lin.lin_riv_a.value;
var b = document.lin.lin_riv_b.value;
var c = document.lin.lin_riv_c.value;
var sol = document.getElementById("lin_sol");
if ( a < 0 ) {
string = "X= ";
string += (c-b)/a;
} else {
if ( a == 0 ) {
string = "Bираз недійсний";
} else {
string = "X= ";
string += (c-b)/a ;
}
}
sol.innerHTML = string;
}
</script>
</body>
#include <stdio.h>
int main(void)
{
float a,b,c;
printf ("ђiўпп вЁЇг - ax+b=c\n \n");
printf ( "A= ");
scanf("%f", &a);
printf ( "B= ");
scanf("%f", &b);
printf ( "C= ");
scanf("%f", &c);
if (a==0){
printf ("\nA=0");
}else{
printf ("\nX= %f", (c-b)/a);
}
scanf("\n");
return 0;
}
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Лiнiйне рiвняння");
Console.Write("A = ");
double a = Convert.ToDouble(Console.ReadLine());
Console.Write("B = ");
double b = Convert.ToDouble(Console.ReadLine());
Console.Write("C = ");
double c = Convert.ToDouble(Console.ReadLine());
Console.WriteLine(" ");
if (a == 0) {
Console.Write("Корiнь не дiйсний");
} else {
Console.WriteLine("X = "+Math.Round((c - b) / a * 100) / 100);
}
Console.ReadKey();
}
}
Class Program
Shared Sub Main()
Console.WriteLine("Лiнiйне рiвняння")
Console.Write("A = ")
Dim a As Double = Convert.ToDouble(Console.ReadLine())
Console.Write("B = ")
Dim b As Double = Convert.ToDouble(Console.ReadLine())
Console.Write("C = ")
Dim c As Double = Convert.ToDouble(Console.ReadLine())
Console.WriteLine (" ")
IF a=0 THEN
Console.Write ("Корiнь не дiйсний")
ELSE
Console.WriteLine ("X = {0}" ,Math.Round((c-b)/a*100)/100)
END IF
Console.ReadKey()
End Sub
End Class
#include <conio.h>
#include <iostream>
int main(void)
{
double a,b,c,x;
setlocale(LC_ALL, "");
std::cout << "Лiнiйне рiвняння. \n \n";
std::cout << "A = ";
std::cin >> a;
std::cout << "B = ";
std::cin >> b;
std::cout << "C = ";
std::cin >> c;
x=(c-b)/a;
if (a==0){
std::cout << "\nКорiнь не дiйсний " << std::endl;
}else{
std::cout << "\nX = " << x << std::endl;
}
getch();
return 0;
}
print ('Лінійне рівняння ax+b=c')
a=float(input('A='))
b=float(input('B='))
c=float(input('C='))
print ('')
if a==0: print ('Корінь недійсний')
else:
print ('X=',(c-b)/a)
input()
Розв’язування задачі в Visual BASIK 6
VERSION 5.00
Begin VB.Form Form1
BorderStyle = 3 'Fixed Dialog
Caption = "Лінійне рівняння"
ClientHeight = 4275
ClientLeft = 45
ClientTop = 390
ClientWidth = 3615
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4275
ScaleWidth = 3615
ShowInTaskbar = 0 'False
StartUpPosition = 1 'CenterOwner
Begin VB.TextBox Text2
Height = 300
Left = 1560
TabIndex = 12
Top = 3720
Visible = 0 'False
Width = 1215
End
Begin VB.CommandButton Command3
Caption = "ВИХІД"
Height = 375
Left = 480
TabIndex = 9
Top = 3120
Width = 2295
End
Begin VB.CommandButton Command2
Caption = "Очистка"
Height = 375
Left = 480
TabIndex = 8
Top = 2640
Width = 2295
End
Begin VB.CommandButton Command1
Caption = "СТАРТ"
Height = 375
Left = 480
TabIndex = 7
Top = 2160
Width = 2295
End
Begin VB.TextBox Text1
Height = 285
Index = 2
Left = 1560
TabIndex = 6
Top = 1680
Width = 1215
End
Begin VB.TextBox Text1
Height = 285
Index = 1
Left = 1560
TabIndex = 5
Top = 1200
Width = 1215
End
Begin VB.TextBox Text1
Height = 285
Index = 0
Left = 1560
TabIndex = 4
Top = 720
Width = 1215
End
Begin VB.Label Label6
Caption = "х = "
Height = 255
Left = 1080
TabIndex = 11
Top = 3720
Visible = 0 'False
Width = 255
End
Begin VB.Label Label5
Caption = "Корінь недійсний"
Height = 255
Left = 960
TabIndex = 10
Top = 3720
Visible = 0 'False
Width = 1575
End
Begin VB.Label Label4
Caption = "c ="
Height = 255
Left = 960
TabIndex = 3
Top = 1680
Width = 375
End
Begin VB.Label Label3
Caption = "b ="
Height = 255
Left = 960
TabIndex = 2
Top = 1200
Width = 375
End
Begin VB.Label Label2
Caption = "a ="
Height = 255
Left = 960
TabIndex = 1
Top = 720
Width = 375
End
Begin VB.Label Label1
Caption = "Введіть коефіцієнти рівняння"
Height = 255
Left = 480
TabIndex = 0
Top = 240
Width = 2655
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()
a = Text1(0).Text
b = Text1(1).Text
c = Text1(2).Text
If a = 0 Then Label5.Visible = True
If a <> 0 Then
Label6.Visible = True
Text2.Visible = True
Text2.Text = Round((c - b) / a * 100) / 100
End If
End Sub
Private Sub Command2_Click()
Text1(0).Text = ""
Text1(1).Text = ""
Text1(2).Text = ""
Label5.Visible = False
Label6.Visible = False
Text2.Visible = False
End Sub
Private Sub Command3_Click()
End
End Sub
Розв’язування задачі в Pascal ABC.NET
procedure Form1.button1_Click(sender: Object; e: EventArgs);
var A, B, C: real;
X:string;
begin
A:=StrToFloat(TextBox1.Text);
B:=StrToFloat(TextBox2.Text);
C:=StrToFloat(TextBox3.Text);
X:=FloatToStr((C-B)/A);
if A=0
then MessageBox.Show('Розв`язки вiдсутнi',' Лінійне рівняння')
else
MessageBox.Show(X,' Корінь X=') ;
Close;
end;
Розв’язування задачі в VB.NET
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim a As Double = Convert.ToDouble(TextBox1.Text)
Dim b As Double = Convert.ToDouble(TextBox2.Text)
Dim c As Double = Convert.ToDouble(TextBox3.Text)
Dim X As Double = (c - b) / a
If a = 0 Then
MessageBox.Show("Розв`язки вiдсутнi", " Лінійне рівняння")
Else
MessageBox.Show(X, " Корінь X =")
End If
End
End Sub
End Class
Розв’язування задачі в C#
private void button1_Click(object sender, EventArgs e)
{
double a = Convert.ToDouble(textBox1.Text);
double b = Convert.ToDouble(textBox2.Text);
double c = Convert.ToDouble(textBox3.Text);
double X = (c - b) / a;
string xx = Convert.ToString(X);
if (a == 0)
{
MessageBox.Show("Розв`язки вiдсутнi", " Лінійне рівняння");
}
else
{
MessageBox.Show(xx, " Корінь X =");
}
System.Environment.Exit(0);
}
from tkinter import *
def click ():
a = float (entry1.get())
b = float (entry2.get())
c = float (entry3.get())
if a==0: entry4.insert (0,'Корінь недійсний')
else:
entry4.insert(0, (c-b)/a)
def click1 ():
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
root=Tk()
root.title('Лінійне рівняння ax+b=c')
root.geometry('310x300')
label = Label (text = 'Лінійне рівняння ax+b=c')
label.pack(pady = 10)
labe2 = Label (text = ' a')
labe2.pack(pady = 1)
entry1 = Entry ()
entry1.pack (pady = 1)
labe3 = Label (text = ' b ')
labe3.pack(pady = 1)
entry2 = Entry ()
entry2.pack (pady = 1)
labe4 = Label (text = ' c ')
labe4.pack(pady = 1)
entry3 = Entry ()
entry3.pack (pady = 1)
button = Button (text='Старт', command=click)
button.pack (pady = 10)
button = Button (text='Очистка', command=click1)
button.pack (pady = 1)
labe5 = Label (text = 'X')
labe5.pack(pady = 1)
entry4 = Entry ()
entry4.pack (pady = 1)
VI етап. Дослідження отриманих результатів на реальність і на відповідність умові
Після одержання підсумкової програми маємо проаналізувати її реальність.
Якщо таке дослідження виявляє помилки, потрібно шукати їхні причини, виправляти їх і знову проходити етапи, наступні за тим, на якому виявилися помилки