Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабараторные работы Лукины ИМЭ 101г.docx
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
193.09 Кб
Скачать

I, j: Integer;

Sum, SA: Real;

Begin

ClrScr;

WriteLN('Исходная матрица А(5,5):');

For I:=1 To N Do

Begin

For J:=1 To N Do

Write(A[I, J]:7:3, ' ');

WriteLN;

End;

Sum:=0;

For I:=1 To N Do

For J:=1 To N Do

If I+J=N+1 Then

Sum:=Sum+A[I,J];

WriteLN('Сумма элементов второстепенной диагонали=',Sum:5:3);

SA:=Sum/5;

WriteLN('Среднее арифметическое элементов второстепенной диагонали=',SA:5:3);

End.

Результаты работы программы к заданию №4:

Матрица C:

Исходная матрица А(5,5):

1.000 0.200 56.000 4.000 7.000

0.000 5.000 1.000 0.567 45.000

23.000 12.100 9.000 9.090 2.000

0.000 0.000 3.000 6.000 123.000

0.000 3.000 5.000 7.000 8.000

Сумма элементов второстепенной диагонали=16.567

Среднее арифметическое элементов второстепенной диагонали=3.313

Задание №5. Поменять местами первую и вторую строчки данной матрицы.

Исходные данные:

Текст программы к заданию №5:

Program m111556;

Uses

Crt;

Var

I, J, Buf: Integer;

A: Array [1..4, 1..4] of Integer=((564, 816, 196, 436),

(300, -44, 423, 513),

(764, 554, -94, -24),

(944, -92, -69, 284));

Begin

ClrScr;

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

For I:=1 To 4 Do

Begin

For J:=1 To 4 Do

Write(A[I,J]:5);

WriteLN;

End;

For J:=1 To 4 Do

Begin

Buf:=A[1,J];

A[1,J]:=A[2,J];

A[2,J]:=Buf;

End;

WriteLN;

WriteLN ('Полученная матрица А:');

For I:=1 To 4 Do

Begin

For J:=1 To 4 Do

Write(A[i,J]:5);

WriteLN;

End;

readln;

End.

Результаты работы программы к заданию №5:

Исходная матрица А:

564 816 196 436

300 -44 423 513

764 554 -94 -24

944 -92 -69 284

Полученная матрица А:

300 -44 423 513

564 816 196 436

764 554 -94 -24

944 -92 -69 284

Лабораторная работа №6 построение графических изображений

Задание №1. Используя графические команды языка Turbo-Pascal, составить программу для построения текста с объемным начертанием, указанного в варианте. Необходимо предусмотреть организацию циклического изменения цветовой палитры элементов (букв) заданного текста.

Исходные данные.

а) Фамилия - "Гагарин"

б) Тип заливки - "Г"-6; "А"-1; "Г"-7; "А"-2; "Р"-1; "И"-3; "Н"-1.

Текст программы к заданию №1:

Program m111616;

Uses

Crt,Graph;

Var

GD,GM,N:Integer;

Begin

ClrScr;

GD:=Detect;

GM:=1;

Initgraph(GD,GM,'');

{рисование буквы "Г"}

Line(50,50,50,130);

Line(50,50,100,50);

Line(100,50,100,60);

Line(100,60,60,60);

Line(60,60,60,130);

Line(50,130,60,130);

{рисование буквы "А"}

Line(210-80,50,220-80,50);

Line(210-80,50,190-80,130);

Line(220-80,50,240-80,130);

Line(190-80,130,200-80,130);

Line(240-80,130,230-80,130);

Line(200-80,130,210-80,95);

Line(230-80,130,220-80,95);

Line(210-80,95,220-80,95);

Line(212-80,85,218-80,85);

Line(212-80,85,215-80,70);

Line(215-80,70,218-80,85);

{рисование буквы "Г"}

Line(185,50,185,130);

Line(185,50,235,50);

Line(235,50,235,60);

Line(235,60,195,60);

Line(195,60,195,130);

Line(185,130,195,130);

{рисование буквы "А"}

Line(210+40,50,220+40,50);

Line(210+40,50,190+40,130);

Line(220+40,50,240+40,130);

Line(190+40,130,200+40,130);

Line(240+40,130,230+40,130);

Line(200+40,130,210+40,95);

Line(230+40,130,220+40,95);

Line(210+40,95,220+40,95);

Line(212+40,85,218+40,85);

Line(212+40,85,215+40,70);

Line(215+40,70,218+40,85);

{рисование буквы "Р"}

Line(290,50,290,130);

Line(290,50,340,50);

Line(330,85,330,60);

Line(330,60,300,60);

Line(300,60,300,85);

Line(300,85,330,85);

Line(340,95,330,95);

Line(330,95,300,95);

Line(300,95,300,130);

Line(290,130,300,130);

Line(340,50,340,95);

{рисование буквы "И"}

Line(360,50,360,130);

Line(360,50,370,50);

Line(370,50,370,110);

Line(360,130,370,130);

Line(370,110,400,50);

Line(400,50,410,50);

Line(410,50,410,130);

Line(400,130,410,130);

Line(400,75,400,130);

Line(370,130,400,75);

{рисование буквы "Н"}

Line(430,50,430,130);

Line(430,50,440,50);

Line(430,130,440,130);

Line(440,85,440,50);

Line(440,130,440,100);

Line(440,85,470,85);

Line(440,100,470,100);

Line(470,50,470,85);

Line(470,100,470,130);

Line(470,50,480,50);

Line(470,130,480,130);

Line(480,50,480,130);

Randomize;

Repeat

{Г}

N:=1+Random(14);

Setfillstyle(6,N);

Floodfill(75,55,15);

{А}

N:=1+Random(14);

Setfillstyle(1,N);

Floodfill(140,55,15);

{Г}

N:=1+Random(14);

Setfillstyle(5,N);

Floodfill(186,55,15);

{А}

N:=1+Random(14);

Setfillstyle(1,N);

Floodfill(252,55,15);

{Р}

N:=1+Random(14);

Setfillstyle(6,N);

Floodfill(295,55,15);

{И}

N:=1+Random(14);

Setfillstyle(1,N);

Floodfill(365,55,15);

{Р}

N:=1+Random(14);

Setfillstyle(6,N);

Floodfill(435,55,15);

Until KeyPressed;

CloseGraph;

End.

Результаты работы программы к заданию №1:

Задание №2. Используя графические команды языка Turbo-Pascal, составить программу для построения игрового поля с расстановкой и динамическим перемещением шашек в соответствии с позицией, указанной в варианте, а также предусмотреть реализацию указанных ходов.

Исходные данные.

а) Исходная расстановка: Белые:6,2;7,5. Черные: 5,1;6,6.

б) Ходы: Белые G5 бьют черные F6. Черные E1 бьют белые F2.

Текст программы к заданию №2:

Program m111626;

Uses

Crt, Graph;

Var

GD, GM, H, I, J, P, H1, H2, K:integer;

Begin

ClrScr;

GD:=Detect;

GM:=1;