Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Романов.Эби-112.отчет по работе 3.docx
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
223.64 Кб
Скачать

5

7

Ввод:

Vvodstroki (n);

Ввод:

Vvodstolbwa(m);

очистка экрана

4

5

6

4

6

Очистка экрана

8

Ввод:

VvodElementowMassiva(a);

7

Вывод:

Vivodmassiva(a);

Вывод:

zamenanylia(a);

9

10

11

k:=1

12

10

i:=1,n

j:=1,m

13

B[k]:=a[i,j];

k:=k+1;

да

11

14

6

12

(f<1) or (f>2)

5

11

Ввод:

f

15

16

Неверно ввели цифру!!! Повторите ввод.

да

18

нет

17

(f=1)

да

Вывод:

sumvoLbIHaBepxy(b,c)

20

нет

19

(f=2)

да

21

Вывод:

sumvoLbIHaBepxy(b,c)

22

конец

  1. Листинг программы

Program r; {название программы}

uses crt; {модуль для работы с программой в текстовом режиме}

var a:array[1..100,1..100] of real; {массив, переменные вещественного типа}

Error: integer; {переменная для хранения кода ошибки операции ввода/вывода}

n: integer; {количество элементов в массиве}

i: integer; {индекс (номер) элемента строки массива}

j: integer; {индекс (номер) элемента столбца массива}

IOResult: integer; {переменная целого типа}

sm,sp: real; {переменные вещественного типа}

ch:char; {переменная для хранения кода символа нажатой клавиши}

Label L1,L2; {описание меток}

begin {начало программы}

clrscr; {очистка экрана}

Textattr:=green; {цвет символов}

Gotoxy (20,3); {вывод текста в указанном месте экрана}

WriteLn('‚ Вашему вниманию предоставляется программа ,');

Gotoxy (20,4);

WriteLn(которая вычисляет сумму элементов матрицы,');

Gotoxy (20,5);

WriteLn(расположенных над и под главной диагональю.');

Gotoxy (40,12);

Textattr:=yellow;

WriteLn(Программу составил студент');

Gotoxy(40,13);

WriteLn('МИИТа группы ЭБИ-112');

Gotoxy(49,14);

WriteLn('Романова Р.А.');

gotoxy(40,15);

WriteLn('г.Москва ,2013 г.');

Gotoxy(20,24);

Textattr:=white;

WriteLn('Нажмите любую клавишу для продолжения');

Ch:=readkey; {считывание символа с клавиатуры}

{---------------------------Ввод количества элементов массива-----------------}

L1:=clrscr;

repeat {начало цикла с постусловием}

Gotoxy(20,2);

Textattr:=red;

WriteLn('Внимание!!');

Gotoxy(15,3);

Textattr:=yellow;

WriteLn('Размерность данного массива должна быть');

Gotoxy(15,4);

WriteLn('в интервале от 2 до 100!');

Gotoxy(1,6);

Textattr:=white;

write('Введите размер матрицы:');

{$i-} {отключение проверки ошибок ввода данных}

readln(n); {ввод с клавиатуры значение переменной}

Error:=IOResult; {возвращение результатов последней операции ввода\вывода}

{$i+} {включение проверки ввода данных}

if (n<2) or (n>100) or (Error<>0) then

begin

Clrscr;

Textattr:=red;

Gotoxy(5,7);

WriteLn('Неверно задано количество элементов матрицы! Повторите ввод.');

end;

Until (n>=2) and (n<=100) and (Error=0); {конец цикла с постусловием}

{------------------------------ввод значений элементов массива-------------------}

Clrscr;

Gotoxy (36,2);

textattr:=green;

writeln ('Внимание!!');

gotoxy (15,3);

writeln ('значение элемента должно быть в пределе от -10000 до 10000');

textattr:=white;

gotoxy(2,5);

writeln('Введите элементы матрицы:');

textattr:=yellow;

for i :=1 to n do

for j:=1 to n do

begin

repeat

wite('a[',i,',',j,']=');

{$i-};

readln(a[i,j]);

Error:=IOResult;

{$+};

if (a[i,j]>=10000) or (a[i,j]<= -10000) or (error<>0) then

begin

Textattr:=red:

writeln ('Ошибка в значении элемента массива! Повторите ввод!');

end;

Textattr:=yellow;

until (a[i,j]<=10000) and (a[i,j]>= -10000) and (error=0);

end;

{------------------------------Вывод результатов программы---------------------}

Clrscr;

Gotoxy (3,3);

writeln('Исходная матрица:');

for i:=1 to n do

begin

for j:=1 to n do

begin

write(a[i,j]:4:0);

end;

writeLn;

end;

writeLn;

textattr:=white;

sm:=0;

for i:=1 to n do

for j:=i+1 to n do

sm:=sm+a[i,j];

writeln('Сумма над главной диагональю',sm:3:0);

sp:=0;

for i:=2 to n do

for j:=1 to i-1 do

sp:=sp+a[i,j];

writeLn('Сумма под главной диагональю',sp:3:0);

gotoxy (20,24);

textattr:=green;

writeln ('Хотите отсортировать еще один массив? (Y-да, N-нет)');

L2: Case readkey of {конструкция выбора, проверяющая вводимые данные и выполняющая действие в зависимости от ввода данных}

#89:goto L1;

#121:goto L1;

#78:exit;

#110:exit;

end;

Goto L2;

end. {конец программы}