I етап. Аналіз умови задачі, визначення вхідних даних і кінцевих результатів
Вхідні дані: числa.
Кінцеві результати: середнє арифметичне чисел (max&min) .
II етап. Побудова інформаційної моделі
Очевидно, інформаційною моделлю розв’язування цієї задачі є математична модель, яка складається з формул, за якими знайдемо середнє арифметичне чисел (max&min).
Ці формули виглядатимуть так:
s = (аmax +аmin)/n
III етап. Вибір програмних засобів для розв’язування задачі
Прикладним програмним засобом, який можна використати для розв’язування задачі, може бути, наприклад, програма-калькулятор або табличний процесор. Або можна скласти спеціальну програму для розв’язування саме цієї задачі, використовуючи одну з мов програмування.
IV етап. Складання алгоритму розв’язування задачі
V етап. Отримання комп’ютерної моделі
program mas6;
Uses CRT;
var a: array[1..1000] of real;
n, i: integer;
min, max, s: real;
begin
writeln('Середнє арифметичне максимуму i мiнiмуму масиву ');
write('Введiть кiлькiсть елементiв масиву(<1000) - ');
read(n);
for i:=1 to n do
begin
TextColor (06);
write ('Число [', i, '] = ');
readln(a[i]) ;
end;
min:= a [ 1 ];
max:= a [ 1 ];
for i:= 1 to n do
begin
if a[i] < min then min:= a[i];
if a[i] > max then max:= a[i];
end;
s:= (min + max) / 2;
TextColor (03);
writeln('Середнє арифметичне максимуму i мiнiмуму масиву = ',s:3:3);
readln;
end.
PRINT "‘ҐаҐ¤мҐ аЁд¬ҐвЁзҐ ¬ ЄбЁ¬ «м®Ј® i ¬ii¬ «м®Ј® Ґ«Ґ¬Ґвг ¬ бЁўг "
'Середнє арифметичне максимуму i мiнiмуму масиву
INPUT "‚ўҐ¤iвм Єi«мЄiбвм Ґ«Ґ¬Ґвiў - ", n
'Кiлькiсть чисел рядка
DIM a(n)
FOR i = 1 TO n
PRINT "‚ўҐ¤iвм Ґ«Ґ¬Ґв ("; i; ")=";
'Число
INPUT a(i)
NEXT i
min = a(1)
max = a(1)
FOR i = 1 TO n
IF a(i) < min THEN min = a(i)
IF a(i) > max THEN max = a(i)
NEXT i
s = (min + max) / 2
PRINT " "
PRINT "‘ҐаҐ¤мҐ аЁд¬ҐвЁзҐ ¬ ЄбЁ¬ «м®Ј® i ¬ii¬ «м®Ј® Ґ«Ґ¬Ґвг ¬ бЁўг = "; s
'Середнє арифметичне максимуму i мiнiмуму масиву
INPUT z
#include <conio.h>
#include <iostream>
int main(void)
{
int i,n;
double a[1000],min,max,sa;
setlocale(LC_ALL, "");
std::cout << "Середнє арифметичне максимуму i мiнiмуму масиву\n";
std::cout << "Kiлькiсть чисел (<1000) = ";
std::cin >> n;
for (int i = 1; i < n+1; i++) {
std::cout <<i << "-е число: ";
std::cin >> a[i];
}
max=a[1];
min=a[1];
for (int i = 1; i < n+1; i++) {
if (a[i]>a[1]){max=a[i];}
if (a[i]<a[1]){min=a[i];}
}
sa=(max+min)/2;
std::cout << "\nСереднє арифметичне максимуму i мiнiмуму масиву = " << sa << std::endl;
getch();
return 0;
}
#include <stdio.h>
int main(void)
{
int i,n;
float min,max,s,a[1000];
printf ("ҐаҐ¤мҐ аЁд¬ҐвЁзҐ ¬ ЄбЁ¬ «м®Ј® i ¬ii¬ «м®Ј® Ґ«Ґ¬Ґвг ¬ бЁўг \n");
printf ( "‚ўҐ¤iвм Єi«мЄiбвм Ґ«Ґ¬Ґвiў ¬ бЁўг (<1000) - ");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
printf("…«Ґ¬Ґв [%d] = ",i);
scanf("%f", &a[i-1]);
}
s = 0;
min = a[0];
max = a[0];
for (i = 1; i <= n; i++) {
if (a[i-1]>a[0]){max=a[i-1];}
if (a[i-1]<a[0]){min=a[i-1];} }
s = (min + max) / 2;
printf("\n‘ҐаҐ¤мҐ аЁд¬ҐвЁзҐ ¬ ЄбЁ¬ «м®Ј® i ¬ii¬ «м®Ј® Ґ«Ґ¬Ґвг ¬ бЁўг = %f ",s);
scanf("\n");
return 0;
}
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Середнє арифметичне максимуму i мiнiмуму масиву");
Console.Write("Kiлькiсть чисел = ");
int z = Convert.ToInt32(Console.ReadLine());
int n = z+1;
Console.WriteLine(" ");
int[] num = new int[n];
for (int i = 1; i <= num.Length - 1; i++) {
Console.Write(i+"-е число: ");
num[i] = Int32.Parse(Console.ReadLine());
}
double mi = num[1];
for (int i = 2; i <= num.Length - 1; i++) {
if (num[i] < num[1]) {
mi = num[i];
}
}
double ma = num[1];
for (int i = 2; i <= num.Length - 1; i++) {
if (num[i] > num[1]) {
ma = num[i];
}
}
double sa=(ma+mi)/2;
Console.WriteLine(" ");
Console.WriteLine("Середнє арифметичне = "+ sa);
Console.ReadKey();
}
}
Class Program
Shared Sub Main()
Console.WriteLine("Середнє арифметичне максимуму i мiнiмуму масиву")
Console.Write("Kiлькiсть чисел = ")
Dim n As Integer = Convert.ToInt32(Console.ReadLine())
Console.WriteLine(" ")
Dim nums(n) As Integer
For i As Integer = 1 To nums.Length - 1
Console.Write("{0}-е число: ", i)
nums(i) = Double.Parse(Console.ReadLine())
Next
Dim ma As Double = nums(1)
Dim mi As Double = nums(1)
For i As Integer = 1 To nums.Length - 1
If nums(i) > nums(1) Then
ma = nums(i)
else
If nums(i) < nums(1) Then
mi = nums(i)
END IF
END IF
Next
Console.WriteLine(" ")
Dim s As Double =(mi + ma) / 2
Console.WriteLine("Середнє арифметичне максимуму i мiнiмуму = {0} ", s)
Console.ReadKey()
End Sub
End Class
print('Середнє арифметичне максимуму i мiнiмуму масиву')
N = int(input('Kiлькiсть чисел = '))
a= [float (input('Введіть елемент массиву - ')) for i in range(N) ]
print(' ')
s=(min(a)+max(a))/2
print('Середнє арифметичне максимуму i мiнiмуму - ' , s)
input()
Розв’язування задачі в Pascal ABC.NET
procedure Form1.button2_Click(sender: Object; e: EventArgs);
begin
Close;
end;
procedure Form1.button1_Click(sender: Object; e: EventArgs);
var min, max, s: real;
i:integer;
a:array[1..5]of real;
begin
for i:=1 to 5 do
begin
a[i]:=StrTofloat(richTextBox1.Lines[i-1]);
end;
min:= a [ 1 ];
max:= a [ 1 ];
for i:= 1 to 5 do
begin
if a[i] < min then min:= a[i];
if a[i] > max then max:= a[i];
end;
s:= (min + max) / 2;
TextBox1.Text:=FloatToStr(s);
end;
procedure Form1.button3_Click(sender: Object; e: EventArgs);
begin
TextBox1.Text:= (' ');
richTextBox1.Text:= (' ');
end;
VI етап. Дослідження отриманих результатів на реальність і на відповідність умові
Після одержання підсумкової програми маємо проаналізувати її реальність.
Якщо таке дослідження виявляє помилки, потрібно шукати їхні причини, виправляти їх і знову проходити етапи, наступні за тим, на якому виявилися помилки.