10 INPUT"FORMAT";A$ 15 'FORMAT-строковое выражение, состоящее из символов "#" и десятичной точки (например, ##.###); используется в операторе PRINTUSING (строка 210) для вывода элементов массива с требуемой точностью. 16 'Точность определяется количеством символов "#", стоящих правее десятичной точки. 20 DEFINT N,I,J:INPUT"Число строк (столбцов)";N 30 DIM A(N,N),B(N,N):K=RND(-TIME) 35 'Формирование матрицы A, элементами которой являются случайные числа (для облегчения тестирования программы!). 40 FOR I=1 TO N:FOR J=1 TO N 50 A(I,J)=INT(10*RND(1)):PRINT A(I,J); 60 NEXT J:PRINT:NEXT I:PRINT"Результат сглаживания" 70 IF N=2 THEN 160 ELSE IF N=1 THEN PRINT"Спорный вопрос!":END 75 'Программные строки 80-190 позволяют сгладить матрицу A(N,N).Результат сглаживания - матрица B(N,N). 80 FOR I=2 TO N-1:FOR J=2 TO N-1 90 B(I,J)=(A(I-1,J)+A(I,J-1)+A(I,J+1)+A(I+1,J))/4:NEXT J,I 100 FOR J=2 TO N-1 110 B(1,J)=(A(1,J-1)+A(2,J)+A(1,J+1))/3 120 B(N,J)=(A(N,J-1)+A(N-1,J)+A(N,J+1))/3:NEXT J 130 FOR I=2 TO N-1 140 B(I,1)=(A(I-1,1)+A(I,2)+A(I+1,1))/3 150 B(I,N)=(A(I-1,N)+A(I,N-1)+A(I+1,N))/3:NEXT I 160 B(1,1)=(A(1,2)+A(2,1))/2:B(1,N)=(A(1,N-1)+A(2,N))/2 180 B(N,1)=(A(N-1,1)+A(N,2))/2:B(N,N)=(A(N-1,N)+A(N,N-1))/2 200 FOR I=1 TO N:FOR J=1 TO N 210 PRINT USING A$;B(I,J);:NEXT J:PRINT:NEXT I