I етап. Аналіз умови задачі, визначення вхідних даних і кінцевих результатів
Вхідні дані: числa.
Кінцеві результати: модуль чисeл.
II етап. Побудова інформаційної моделі
Очевидно, інформаційною моделлю розв’язування цієї задачі є математична модель, яка складається з формул, за якими знайдемо модулі чисeл.
Ці формули виглядатимуть так:
s = |s|
III етап. Вибір програмних засобів для розв’язування задачі
Прикладним програмним засобом, який можна використати для розв’язування задачі, може бути, наприклад, програма-калькулятор або табличний процесор. Або можна скласти спеціальну програму для розв’язування саме цієї задачі, використовуючи одну з мов програмування.
IV етап. Складання алгоритму розв’язування задачі
V етап. Отримання комп’ютерної моделі
program mas5;
Uses CRT;
var a: array[1..2000, 1..2000] of real;
n, m, i, j: integer;
begin
writeln ('Модуль чисел');
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;
for i:=1 to n do
begin
for j:=1 to m do
if a[i, j] < 0 then a[i, j]:= abs(a[i, j]);
end;
TextColor (03);
writeln ('Модуль чисел');
for i:=1 to n do
begin
for j:=1 to m do
begin write(a[i, j]:2:2);write(' '); end;
writeln(' ');
end;
readln;
end.
#include <stdio.h>
#include <math.h>
int main(void)
{
int i,n,m,j;
float 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]);
}}
for (i = 1; i <= n; i++)
{
for (j = 1; j <= m; j++)
{
if (a[i][j-1]<0) {a[i][j-1]=abs(a[i][j-1]);}
}}
for (i = 1; i <= n; i++)
{printf("\n ");
for (j = 1; j <= m; j++)
{
printf(" %f ",a[i][j-1]);
}}
scanf("\n");
return 0;
}
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Модуль чисел");
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[,] 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] = Math.Abs (num[i,j]);
}
}
for (int i = 0; i < n1; i++)
{
for (int j = 0; j < n2; j++)
{
Console.Write(num[i,j]+" ");
}
Console.WriteLine();
}
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
FOR I = 1 TO N
FOR J = 1 TO M
A(I, J) = ABS(A(I, J))
NEXT J
NEXT I
FOR I = 1 TO N
FOR J = 1 TO M
PRINT A(I, J);
NEXT J
NEXT I
INPUT z
TextWindow.WriteLine("Модуль чисел")
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
TextWindow.WriteLine(" ")
For i=1 To n
For j = 1 To m
a[i][j] =Math.abs(a[i][j])
EndFor
EndFor
TextWindow.WriteLine(" ")
For i=1 To n
For j = 1 To m
TextWindow.Write(a[i][j] + " ")
EndFor
TextWindow.WriteLine("")
EndFor
VI етап. Дослідження отриманих результатів на реальність і на відповідність умові
Після одержання підсумкової програми маємо проаналізувати її реальність.
Якщо таке дослідження виявляє помилки, потрібно шукати їхні причини, виправляти їх і знову проходити етапи, наступні за тим, на якому виявилися помилки.