Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методичні вказівки до лабораторних робіт з дисципліни Алгоритмізація розрахунків в хімічній технології

.pdf
Скачиваний:
6
Добавлен:
03.03.2016
Размер:
875.32 Кб
Скачать

31

третій – упорядкований по зростанню вектор А, в четвертий – упорядкований по убуванню вектор В. Дописати зліва в матрицю С стовпчик, кожний елемент якого дорівнює мінімальному за модулем елементу відповідного рядка матриці. Знайти мінімальний додатний елемент на периметрі матриці і його індекси.

А =(127; 848; -66.7; -6; 0; 256; 14; 1.1)

B =(14.5; 13; -77; 81; -66; -55; 11.3; 333)

34. Дана матриця А розміром m×n. Знайти суму додатних елементів, що стоять по периметру матриці. Упорядкувати стовпчики матриці в порядку зростання модуля. Дописати в матрицю А справа стовпчик, кожний елемент якого дорівнює мінімальному елементу відповідного рядка матриці. Знайти суму додатних елементів, що стоять по периметру перетвореної матриці А. Упорядкувати перший і останній рядки матриці А в порядку зростання модуля. Знайти суму додатних елементів, що стоять по периметру перетвореної матриці А.

 

4

42

9

8

-11

 

 

- 5

2.7

16

10

- 26

 

 

 

А

- 3.8

5.5

3.1

5.9

- 3.7

 

 

 

 

 

 

 

 

 

0.7

1

- 43

6.3

0.1

 

 

 

35. Задані два вектори А і В, що складаються з n елементів кожний. Сформувати матрицю С, записавши в перший стовпчик упорядкований по убуванню модуля вектор А, в другий – упорядкований по зростанню вектор А, в третій – упорядкований по зростанню вектор В, в четвертий

– упорядкований по убуванню модуля вектор В. Дописати в матрицю С знизу рядок, кожний елемент якого дорівнює мінімальному за модулем елементу відповідного стовпчика матриці С. Упорядкувати рядки матриці С в порядку зростання. Дописати в матрицю С знизу рядок, кожний елемент якого дорівнює мінімальному за модулем елементу відповідного стовпчика матриці С. Знайти максимальний від’ємний елемент на периметрі матриці і його індекси.

А =(96; -34; -3.5; 64; 0.4; 79; 42; -86; 0; 53)

B=(-25; -74; -4.3; 8; 81; 21; -6.9; 36; 19; 54.5)

36.Дана матриця А розміром m×n. Упорядкувати елементи останнього рядка матриці в порядку зростання і сформувати з них вектор В. Упорядкувати елементи передостаннього рядка матриці в порядку зростання і сформувати з них вектор С. Сформувати вектор D, записавши в нього спочатку два останні від’ємні елементи вектора В, а потім – два

32

останні від’ємні елементи вектора С. Сформувати вектор Е, записавши в нього спочатку вектор В в зворотному порядку, а потім – вектор D в зворотному порядку. Знайти максимальний елемент на периметрі матриці і його індекси.

- 2.6 - 2.3

- 8.5

0.3

 

 

 

 

 

 

А

- 6.9

- 4.6

2

- 6

 

 

- 3.4

5

-1

- 0.2

 

 

 

37. Дана матриця А розміром m×m. Сформувати вектор В з додатних елементів, що стоять вище головної діагоналі. Упорядкувати рядки матриці А в порядку зростання модуля елементів. Сформувати вектор С з додатних елементів, що стоять вище головної діагоналі. Сформувати вектор D, записавши в нього спочатку 3 останніх елемента вектора В, а потім – 3 останніх елемента вектора С. Упорядкувати 5 останніх елементів векторів В, С і D в порядку убування.

 

2

- 8

19

1

23.1

 

 

6

- 4

1.6

17

- 2.3

 

 

 

А

7

- 55

3

5.5

37

 

 

 

 

 

 

 

 

 

0.7

- 2

43

9.3

0.2

 

 

-1.7

5.8

22

44

73

 

 

 

38. Задані дві матриці А і В розміром m×n. Сформувати матрицю С, кожний елемент першого стовпчика якої дорівнює сумі додатних елементів відповідних рядків матриці А, кожний елемент другого стовпчика якої дорівнює добутку від’ємних елементів відповідних рядків матриці В, кожний елемент третього стовпчика якої дорівнює добутку від’ємних елементів відповідних рядків матриці А, кожний елемент четвертого стовпчика якої дорівнює сумі додатних елементів відповідних рядків матриці В. Упорядкувати останні стовпчики матриць А, В і С в порядку убування. Дописати останній стовпчик матриці А зліва в матрицю В, а останній стовпчик матриці В зліва в матрицю С.

 

3.2

5.1

- 6.5

3

 

 

1.4

9.8

- 7.4

11.3

 

 

 

 

 

 

 

 

 

 

 

 

 

А

7.2

- 3.6

0.1

- 2

 

В

4

- 5.8

- 3.1

6

 

 

-15

2.9

- 3.7

1

 

 

1.7

4.4

-10.1

0

 

 

 

 

 

39. Дана матриця А розміром m×n. Знайти максимальний елемент на периметрі матриці і його індекси. Сформувати вектор В, кожний елемент якого дорівнює мінімальному елементу відповідних рядків матриці. Упорядкувати елементи другого і останнього стовпчиків мат-

33

риці в порядку убування. Сформувати вектор С, кожний елемент якого дорівнює мінімальному елементу відповідних рядків перетвореної матриці А. Сформувати вектор D, записавши в нього спочатку 2 останніх від’ємних елемента вектора В, а потім – 2 останніх від’ємних елемента вектора С. Знайти максимальний елемент на периметрі перетвореної матриці А і його індекси.

 

4

- 5

3.2

- 8

- 0.1

 

 

- 7

3.7

16

1

- 2.7

 

 

 

А

 

 

 

 

 

 

 

83

5.4

0.3 - 5.9

- 3

 

 

 

 

 

 

 

 

0.7

22

41

3.3

0

 

 

 

40. Задані два вектори А і В, які складаються з n елементів кожний. Сформувати вектор С з 2 останніх від’ємних елементів вектора А і 2 перших додатних елементів вектора В. Сформувати вектор D з 2 останніх від’ємних елементів вектора В і 2 перших додатних елементів вектора A. Упорядкувати три останні елементи всіх векторів в порядку убування їх модуля. Записати вектор С в перший стовпчик матриці Е, вектор D – в другий стовпчик матриці Е, останні 4 додатних елемента вектора А – в третій стовпчик матриці Е, останні 4 додатних елемента вектора В – в четвертий стовпчик матриці Е.

А =(44.7; -8.7; -16.9; 6; 0; 89; 43; -76; 9.2; 65) B =(90; -21; -54; 1; 17.6; -30; 77; -18.5; 68; 41)

34

2 ЗРАЗОК ВИКОНАННЯ ЗАВДАННЯ

Заданий вектор А, який складається з n елементів. Знайти суму додатних елементів вектора. Упорядкувати вектор А в порядку убування.

А=(12; -45; 1; 0; 25; -64; -9.7; 24; -43.1; 5)

2.1 Алгоритм без використання підпрограм

2.1.1 Блок-схема алгоритму

 

1

 

 

Початок

 

 

2

 

 

Введення

 

 

n

 

 

3

 

 

i=1,n

 

 

4

 

 

Введення

 

 

ai

 

 

5

 

 

S=0

 

 

6

 

 

i=1,n

 

Ні

7 ai >0

Так

 

8

 

 

 

 

S=S+ai

 

35

 

 

9

 

 

35

 

 

34

 

 

6

 

 

9

 

 

i=1,n-1

 

 

10

 

 

j=i+1,n

 

Ні

11 ai < aj

Так

 

 

12

 

 

c = ai

 

 

ai = aj

 

 

aj = c

 

13

 

 

‘Вектор А’

 

14

i=1,n

15

ai

16

‘Сума =’, S

17

Кінець

2.1.2 Ідентифікація змінних

Таблиця 2.1 – Ідентифікація глобальних змінних

Математичний

Ім’я в

Ім’я в

Тип

Початкове

сенс змінної

блок-схемі

програмі

значення

 

 

 

 

 

 

1

2

3

4

5

Одновимірний

 

 

Vec =

(12;-45; 1; 0;

а

а

array [1..100]

25;-64;-9.7;

масив

 

 

of real

24; -43.1; 5)

 

 

 

Кількість еле-

n

n

Integer

10

ментів у масиві

 

 

 

 

36

Продовження таблиці 2.1

1

 

2

3

4

5

Параметр

i

i

Integer

циклу

 

 

 

 

 

 

Параметр

j

j

Integer

циклу

 

 

 

 

 

 

Сума додатних

 

 

 

 

елементів

S

s

Real

масиву

 

 

 

 

 

Тимчасове

 

 

 

 

сховище

 

c

с

Real

значення

 

 

 

 

змінної

 

 

 

 

 

Файлова змін-

 

 

 

 

на, пов'язана з

f1

Text

файлом вихід-

 

 

 

 

них даних

 

 

 

 

Файлова змін-

 

 

 

 

на, пов'язана

f2

Text

з файлом

 

 

 

 

результатів

 

 

 

 

2.1.3

Програма на мові Turbo Pascal 7.0

 

Program

lab3_1;

 

 

 

 

Type Vec=array [1..100] of real; Var a:Vec;

i,j,n:integer;

f1,f2:text;

c,s:real; Begin

assign(f1,'lab2.dat'); assign(f2,'lab2_1.res'); reset(f1); rewrite(f2); read(f1,n);

for i:=1 to n do read(f1,a[i]); s:=0;

 

 

 

 

37

for

i:=1 to n

do

 

if

a[i]>0

then

s:=s+a[i];

for i:=1 to n-1 do

for

j:=i+1

to n

do

 

if

a[i]<a[j]

then

 

 

begin

 

 

 

c:=a[i];

a[i]:=a[j];

a[j]:=c;

end;

writeln(f2,' Упорядкований по убуванню вектор А'); for i:=1 to n do write(f2,a[i]:6:1);

writeln(f2);

writeln(f2,' Сума додатних елементів вектора А =',s:4:1); close(f1);

close(f2);

End.

2.1.4 Вихідні дані

10 12 -45 1 0 25 -64 -9.7 24 -43.1 5

2.1.5 Результати розрахунку

Упорядкований по убуванню вектор А

25.0 24.0 12.0 5.0 1.0 0.0 -9.7 -43.1 -45.0 -64.0

Сума додатних елементів вектора А =67.0

38

2.2Алгоритм з використанням підпрограм без формальних параметрів

2.2.1 Блок-схема алгоритму

2.2.1.1 Блок-схема основної програми

1

Початок

2

VVID

3

sum=SUMA

4

UPOR

5

VYVID

6

Кінець

2.2.1.2 Блок-схема процедури VVID

1

Початок

2

Введення n

3

i=1,n

4

Введення ai

5

Кінець

39

2.2.1.3 Блок-схема функції SUMA

 

1

 

 

Початок

 

 

 

2

 

 

 

S=0

 

 

 

3

 

 

 

i=1,n

 

Ні

4

ai >0

Так

 

 

5

 

 

 

 

 

 

S=S+ai

 

6

 

 

 

SUMA=S

 

 

7

 

 

 

Кінець

 

2.2.1.4 Блок-схема процедури UPOR

 

 

1

 

Початок

 

 

2

 

 

i=1,n-1

 

 

3

 

 

j=i+1,n

Ні

4

Так

 

ai < aj

 

 

5

 

 

c = ai

 

 

ai = aj

 

 

aj = c

 

 

6

 

 

Кінець

40

2.2.1.5 Блок-схема процедури VYVID

1

Початок

2

‘Вектор А’

3

i=1,n

4

ai

5

‘Сума =’, S

6

Кінець

2.2.2 Ідентифікація змінних

Таблиця 2.2 – Ідентифікація глобальних змінних

Математичний

Ім’я в

Ім’я в

Тип

Початкове

сенс змінної

блок-схемі

програмі

значення

 

 

 

 

 

 

1

2

3

4

5

Одновимірний

 

 

Vec =

(12;-45; 1; 0;

а

а

array [1..100]

25;-64;-9.7;

масив

 

 

of real

24; -43.1; 5)

 

 

 

Кількість еле-

n

n

Integer

10

ментів у масиві

 

 

 

 

Параметр

i

i

Integer

циклу

 

 

 

 

Параметр

j

j

Integer

циклу

 

 

 

 

Сума додатних

 

 

 

 

елементів

S

s

Real

масиву

 

 

 

 

Тимчасове

 

 

 

 

сховище

c

с

Real

значення

 

 

 

 

змінної