I етап. Аналіз умови задачі, визначення вхідних даних і кінцевих результатів
Вхідні дані: числa.
Кінцеві результати: добуток чисeл.
II етап. Побудова інформаційної моделі
Очевидно, інформаційною моделлю розв’язування цієї задачі є математична модель, яка складається з формул, за якими знайдемо добуток числа.
Ці формули виглядатимуть так:
s = ∏n
III етап. Вибір програмних засобів для розв’язування задачі
Прикладним програмним засобом, який можна використати для розв’язування задачі, може бути, наприклад, програма-калькулятор або табличний процесор. Або можна скласти спеціальну програму для розв’язування саме цієї задачі, використовуючи одну з мов програмування.
IV етап. Складання алгоритму розв’язування задачі
V етап. Отримання комп’ютерної моделі
program MASSIW6;
Uses CRT;
var a: array[1..2000, 1..2000] of real;
n, m, i, j: integer;
s: real;
begin
writeln ('Добуток елементiв масиву');
TextColor (06);
write('Введiть кiлькiсть рядкiв таблицi (<2000)- ');
readln(n);
write('Введiть кiлькiсть стовпчикiв таблицi -(2000)- ');
readln(m);
writeln('Введiть значення елементiв таблицi порядково ');
writeln('В кiнцi кожного елемента натиснiть Enter ');
for i:=1 to n do
begin
for j:=1 to m do
readln(a[i, j]);
writeln;
end;
s := 1;
for i:= 1 to n do
for j:=1 to m do
begin
s:= s * a[i, j];
end;
TextColor (03);
writeln ('');
writeln ('Добуток елементiв = ',s);
readln;
end.
#include <stdio.h>
int main(void)
{
int i,j,n,m;
float s,a[100][100];
printf ("„®Ўгв®Є Ґ«Ґ¬Ґвiў ¬ бЁўг \n");
printf ( "‚ўҐ¤iвм Єi«мЄiбвм ап¤Єiў ¬ бЁўг (<100) - ");
scanf("%d", &n);
printf ( "‚ўҐ¤iвм Єi«мЄiбвм бв®ўЇжiў ¬ бЁўг (<100) - ");
scanf("%d", &m);
for (i = 1; i <= n; i++)
{
for (j = 1; j <= m; j++)
{
printf("…«Ґ¬Ґв [%d] [%d] = ",i,j);
scanf("%f", &a[i][j-1]);
}}
s = 1;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= m; j++)
{
s = s * a[i][j-1]; } }
printf("\n„®Ўгв®Є Ґ«Ґ¬Ґвiў = %f ",s);
scanf("\n");
return 0;
}
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Добуток елементiв масиву");
Console.Write("Kiлькiсть рядкiв таблицi = ");
int n1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Kiлькiсть стовпцiв таблицi = ");
int n2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(" ");
int s = 1;
int[,] num = new int[n1,n2];
for (int i = 0; i < n1; i++)
{
for (int j = 0; j < n2; j++)
{
Console.Write(i+1+" рядок "+(j+1)+" стрiчка: ");
num[i,j] = Int32.Parse(Console.ReadLine());
}
Console.WriteLine();
}
for (int i = 0; i < n1; i++)
{
for (int j = 0; j < n2; j++)
{
num[i,j] = s=s*num[i,j];
}
}
Console.WriteLine(" ");
Console.WriteLine("Добуток елементiв = "+ s);
Console.ReadKey();
}
}
PRINT "„®Ўгв®Є Ґ«Ґ¬Ґвiў ¬ бЁўг "
'Добуток елементiв масиву
INPUT "‚ўҐ¤iвм Єi«мЄiбвм ап¤Єiў - ", N
'Кiлькiсть чисел рядка
INPUT "‚ўҐ¤iвм Єi«мЄiбвм бв®ўжiў - ", M
'Кiлькiсть чисел стовпця
DIM A(N, M)
FOR I = 1 TO N
FOR J = 1 TO M
PRINT "‚ўҐ¤iвм Ґ«Ґ¬Ґв ("; I; J; ")=";
'Число
INPUT A(I, J)
NEXT J
NEXT I
s = 1
FOR I = 1 TO N
FOR J = 1 TO M
s = s * A(I, J)
NEXT J
NEXT I
PRINT " "
PRINT "„®Ўгв®Є Ґ«Ґ¬Ґвiў = "; s
'Добуток елементiв масиву
INPUT z
TextWindow.WriteLine("Добуток елементiв масиву")
TextWindow.Write( "Кiлькiсть рядкiв масиву = ")
n=TextWindow.ReadNumber()
TextWindow.Write( "Кiлькiсть стовпцiв масиву = ")
m=TextWindow.ReadNumber()
For i = 1 To n
For j = 1 To m
TextWindow.Write("Елемент[" + i + "]["+ j + "] буде - ")
a[i][j] = TextWindow.ReadNumber()
EndFor
EndFor
s = 1
TextWindow.WriteLine(" ")
For i=1 To n
For j = 1 To m
s = s *(a[i][j])
EndFor
EndFor
TextWindow.WriteLine(" ")
TextWindow.Write("Добуток елементiв = ")
TextWindow.Write (s)
VI етап. Дослідження отриманих результатів на реальність і на відповідність умові
Після одержання підсумкової програми маємо проаналізувати її реальність.
Якщо таке дослідження виявляє помилки, потрібно шукати їхні причини, виправляти їх і знову проходити етапи, наступні за тим, на якому виявилися помилки.