I етап. Аналіз умови задачі, визначення вхідних даних і кінцевих результатів
Вхідні дані: перший член прогресiї, знаменник прогресiї, кiлькiсть членiв прогресiї.
Кінцеві результати: cума арифметичної прогресiї .
II етап. Побудова інформаційної моделі
Очевидно, інформаційною моделлю розв’язування цієї задачі є математична модель, яка складається з формул, за якими знайдемо cуму арифметичної прогресiї.
Ці формули
S = (a+d*(n-1)/2)*n
Крім того, одержані дані бажано округлити до сотих.
III етап. Вибір програмних засобів для розв’язування задачі виглядатимуть так:
Прикладним програмним засобом, який можна використати для розв’язування задачі, може бути, наприклад, програма-калькулятор або табличний процесор. Або можна скласти спеціальну програму для розв’язування саме цієї задачі, використовуючи одну з мов програмування.
IV етап. Складання алгоритму розв'язування задачі.
V етап. Отримання комп'ютерної моделі.
D2 - (A2+B2/2*(C2-1))*C2
program ar;
Uses CRT;
var a,d,n,s:real;
begin
writeln ('Арифметична прогресiя');
TextColor (03);
write ('Введiть перший член прогресiї - ');
readln (a);
write ('Введiть знаменник прогресiї - ');
readln (d);
write ('Введiть кiлькiсть членiв прогресiї - ');
readln (n);
S := (a+d*(n-1)/2)*n;
TextColor (04);
write ('Сума арифметичної прогресiї - ',s);
readln;
end.
PRINT "ЂаЁд¬ҐвЁз Їа®ЈаҐбiп"
'Арифметична прогресія
INPUT "‚ўҐ¤iвм ЇҐаиЁ© з«Ґ Їа®ЈаҐбiх = ", A
'Введіть перший член прогресії
INPUT "‚ўҐ¤iвм § ¬ҐЁЄ Їа®ЈаҐбiх = ", Q
'Введіть знаменник прогресії
INPUT "‚ўҐ¤iвм Єi«мЄiбвм з«Ґiў Їа®ЈаҐбiх = ", N
'Введіть кількість членів прогресії
S = (a+Q*(n-1)/2)*n
PRINT "‘г¬ аЁд¬ҐвЁз®х Їа®ЈаҐбiх = "; S
'Сума арифметичної прогресії
INPUT z
TextWindow.WriteLine(" Арифметична прогресiя")
TextWindow.Write( "Введiть перший член прогресiї = ")
A=TextWindow.ReadNumber()
TextWindow.Write("Введiть знаменник прогресiї = ")
D=TextWindow.ReadNumber()
TextWindow.Write("Введiть кiлькiсть членiв прогресiї = ")
N=TextWindow.ReadNumber()
S = (a+d*(n-1)/2)*n
TextWindow.Write("Сума арифметичної прогресiї = " )
TextWindow.Write( S)
<title>Арифметична прогресiя</title>
<body><div align="center">
<b>Арифметична прогресiя</b>
<br>
<br>
<form name="ar" action="javascript:ar()" id="1419313176">
Перший член прогресiї = <input name="A" type="text" value=" " size="4"></b><br><br>
Знаменник прогресiї = <input name="Q" type="text" value=" " size="4"></b><br><br>
Kiлькiсть членiв прогресiї = <input name="N" type="text" value=" " size="4"></b>
<br>
<br>
<input type="submit" value="Порахувати">
<input type="reset" value="Reset">
</form>
Відповідь: <span id="ar">Введіть данні і нажміть "Порахувати"</span>
</div>
<script language="javascript">
function ar() {
var A = eval(document.ar.A.value);
var Q = eval(document.ar.Q.value);
var N = eval(document.ar.N.value);
var sol = document.getElementById("ar");
var S = (A+Q*(N-1)/2)*N;
string = "Сума арифметичної прогресiї = "+S;
sol.innerHTML = string;
}
</script>
<title>Арифметична прогресiя</title>
<form name="ar" >
Арифметична прогресiя.
<br>
<br>
Перший член прогресiї = <input type="textfield" name="a" value="">
<br>
<br>
Знаменник прогресiї = <input type="textfield" name="d" value="">
<br>
<br>
Kiлькiсть членiв прогресiї = <input type="textfield" name="n" value="">
<br>
<br>
<input type="reset" value="Reset">
<br>
<br>
<input type="button" value="S" onClick="document.ar.S.value=(eval(document.ar.a.value)+eval(document.ar.d.value)*(eval(document.ar.n.value)-1)/2)*eval(document.ar.n.value)">
S = <input type="textfield" name="S" value="">
</form>
#include <stdio.h>
int main(void)
{
float a,q,n,s;
printf ("ЂаЁд¬ҐвЁз Їа®ЈаҐбiп\n \n");
printf ( "‚ўҐ¤iвм ЇҐаиЁ© з«Ґ Їа®ЈаҐбiх = ");
scanf("%f", &a);
printf ( "‚ўҐ¤iвм § ¬ҐЁЄ Їа®ЈаҐбiх = ");
scanf("%f", &q);
printf ( "‚ўҐ¤iвм Єi«мЄiбвм з«Ґiў Їа®ЈаҐбiх = ");
scanf("%f", &n);
s= (a+q*(n-1)/2)*n;
printf ("\n‘г¬ аЁд¬ҐвЁз®х Їа®ЈаҐбiх = %f", s);
scanf("\n");
return 0;
}
Class Program
Shared Sub Main()
Console.WriteLine("Формула Герона")
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())
Dim p As Double = (a + b + c)/2
Dim s As Double = Math.Round(Math.sqrt(p*(p-a)*(p-b)*(p-c))*100)/100
Console.WriteLine (" ")
Console.Write ("Площа S = {0}",s)
Console.ReadKey()
End Sub
End Class
#include <conio.h>
#include <iostream>
int main(void)
{
double S,Q,A;
int N;
setlocale(LC_ALL, "");
std::cout << "Арифметична прогресiя\n";
std::cout << "Введiть перший член прогресiї = ";
std::cin >> A;
std::cout << "Введiть знаменник прогресiї = ";
std::cin >> Q;
std::cout << "Введiть кiлькiсть членiв прогресiї = ";
std::cin >> N;
std::cout << "\n";
S=S = (A+Q*(N-1)/2)*N;
std::cout << "Сума арифметичної прогресiї = " << S << std::endl;
getch();
return 0;
}
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Арифметична прогресiя");
Console.Write("Введiть перший член прогресiї = ");
Double A = Convert.ToDouble(Console.ReadLine());
Console.Write("Введiть знаменник прогресiї = ");
Double Q = Convert.ToDouble(Console.ReadLine());
Console.Write("Введiть кiлькiсть членiв прогресiї = ");
Double N = Convert.ToDouble(Console.ReadLine());
Double S = (A+Q*(N-1)/2)*N;
Console.WriteLine(" ");
Console.WriteLine("Сума арифметичної прогресiї = "+S);
Console.ReadKey();
}
}
print('Арифметична прогресiя')
a=float(input('Введiть перший член прогресiї = '))
d=float(input('Введiть знаменник прогресiї ='))
n=float(input('Введiть кiлькiсть членiв прогресiї ='))
print('')
i=1
s=(a+d*(n-1)/2)*n
print ('Сума арифметичної прогресiї = ',s)
input()
Розв’язування задачі в Visual BASIK 6
VERSION 5.00
Begin VB.Form Form1
BorderStyle = 1 'Fixed Single
Caption = "Арифметична прогресія"
ClientHeight = 4635
ClientLeft = 45
ClientTop = 390
ClientWidth = 4605
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4635
ScaleWidth = 4605
StartUpPosition = 2 'CenterScreen
Begin VB.CommandButton Command3
Caption = "Вихід"
Height = 375
Left = 120
TabIndex = 6
Top = 3960
Width = 4335
End
Begin VB.CommandButton Command2
Caption = "Очистка"
Height = 375
Left = 120
TabIndex = 5
Top = 3360
Width = 4335
End
Begin VB.CommandButton Command1
Caption = "СТАРТ"
Height = 375
Left = 120
TabIndex = 4
Top = 2760
Width = 4335
End
Begin VB.TextBox Text4
Height = 285
Left = 3240
TabIndex = 3
Top = 2040
Width = 1095
End
Begin VB.TextBox Text3
Height = 285
Left = 3240
TabIndex = 2
Top = 1440
Width = 1095
End
Begin VB.TextBox Text2
Height = 285
Left = 3240
TabIndex = 1
Top = 840
Width = 1095
End
Begin VB.TextBox Text1
Height = 285
Left = 3240
TabIndex = 0
Top = 240
Width = 1095
End
Begin VB.Label Label4
Caption = "Сума арифметичної прогресїї ="
Height = 255
Left = 120
TabIndex = 10
Top = 2040
Width = 3015
End
Begin VB.Label Label3
Caption = "Введіть кількість членів прогресїї - "
Height = 255
Left = 120
TabIndex = 9
Top = 1440
Width = 2895
End
Begin VB.Label Label2
Caption = "Введіть знаменник прогресїї - "
Height = 255
Left = 120
TabIndex = 8
Top = 840
Width = 2895
End
Begin VB.Label Label1
Caption = "Введіть перший член прогресїї - "
Height = 255
Left = 120
TabIndex = 7
Top = 240
Width = 2895
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.Text
d = Text2.Text
n = Text3.Text
S = (a + d * (n - 1) / 2) * n
Text4.Text = S
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
Private Sub Command3_Click()
End
End Sub
Розв’язування задачі в Pascal ABC.NET
procedure Form1.button3_Click(sender: Object; e: EventArgs);
begin
Close;
end;
procedure Form1.button2_Click(sender: Object; e: EventArgs);
begin
TextBox1.Text:='';
TextBox2.Text:='';
TextBox3.Text:='';
TextBox4.Text:='';
end;
procedure Form1.button1_Click(sender: Object; e: EventArgs);
var a,d,n,s:real;
begin
a:=StrToFloat(TextBox1.Text);
d:=StrToFloat(TextBox2.Text);
n:=StrToFloat(TextBox3.Text);
s :=round ((a+d*(n-1)/2)*n*100)/100;
TextBox4.Text:=FloatToStr(s);
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 = ""
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim A As Double = Convert.ToDouble(TextBox1.Text)
Dim Q As Double = Convert.ToDouble(TextBox2.Text)
Dim N As Double = Convert.ToDouble(TextBox3.Text)
Dim S As Double = (A + Q * (N - 1) / 2) * N
TextBox4.Text = Convert.ToString(S)
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 = "";
}
private void button1_Click(object sender, EventArgs e)
{
double A = Convert.ToDouble(textBox1.Text);
double Q = Convert.ToDouble(textBox2.Text);
double N = Convert.ToDouble(textBox3.Text);
double S = (A + Q * (N - 1) / 2) * N;
textBox4.Text = Convert.ToString(S);
}
from tkinter import *
def click ():
a = float (entry1.get())
d = float (entry2.get())
n = float (entry3.get())
s=(a+d*(n-1)/2)*n
entry4.insert (0,s)
def click1 ():
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
root=Tk()
root.title('Арифметична прогресiя')
root.geometry('300x300')
label = Label (text = 'Арифметична прогресiя')
label.pack(pady = 10)
labe2 = Label (text = 'Введiть перший член прогресiї')
labe2.pack(pady = 1)
entry1 = Entry ()
entry1.pack (pady = 1)
labe3 = Label (text = 'Введiть знаменник прогресiї')
labe3.pack(pady = 1)
entry2 = Entry ()
entry2.pack (pady = 1)
labe4 = Label (text = 'Введiть кiлькiсть членiв прогресiї')
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 = 'Сума Aрифметичної прогресiї')
labe5.pack(pady = 1)
entry4 = Entry ()
entry4.pack (pady = 1)
VI етап. Дослідження отриманих результатів на реальність і на відповідність умові
Після одержання підсумкової програми маємо проаналізувати її реальність.
Якщо таке дослідження виявляє помилки, потрібно шукати їхні причини, виправляти їх і знову проходити етапи, наступні за тим, на якому виявилися помилки