Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Липецкий государственный технический университет



ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

 

Кафедра информатики

 

 

Лабораторная работа № 4

по теме: «Обработка массивов с использованием подпрограмм»

Вариант 6

 

Студент: Йованович В.С.

Группа ФХ-12-1

 

Руководитель: Суслова С.А.

к.т.н.

 

 

Липецк 2013 г.

 

Постановка задачи:

5.25)Дано: массивы А(10),В(15). Поменять местами их первые положительные элементы. Для нахождения первого положительного элемента и его номера в массиве использовать подпрограмму.

6.20)Дано: массивы А1(N1,M1), A2(N2,M2), А3(N3,M3).Cформировать одномерные массивы В1,В2,В3,каждый из которых состоит из 2-х элементов. В первом из них кол-во положительных элементов массива А1,А2,А3,во втором кол-во отрицательных элементов массива А1,А2,А3. Определение кол-ва отрицательных и кол-ва положительных элементов в исходном массиве и формирование одномерного массива осуществить в подпрограмме.


Результаты программ:

5.25)A 10

A[1]=1 A[1]=4

A[2]=3 A[2]=3

A[3]=5 A[3]=5

A[4]=7 A[4]=7

A[5]=8 A[5]=8

A[6]=2 A[6]=2

A[7]=11 A[7]=11

A[8]=9 A[8]=9

A[10]=15 A[10]=15

 

B 15

B[1]=4 B[1]=1

B[2]=2 B[2]=2

B[3]=17 B[3]=17

B[4]=9 B[4]=9

B[5]=10 B[5]=10

B[6]=18 B[6]=18

B[7]=13 B[7]=13

B[8]=2 B[8]=2

B[9]=14 B[9]=14

B[10]=11 B[10]=11

B[11]=6 B[11]=6

B[12]=19 B[12]=19

B[13]=14 B[13]=14

B[14]=7 B[14]=7

B[15]=1 B[15]=1


 

PROGRAM PR1;

TYPE MAS=ARRAY[1..30] of INTEGER;

VAR A,B:MAS;N,POL:INTEGER;

K1,K2,S1,S2:INTEGER;

PROCEDURE VVOD(VAR x:MAS;VAR N:INTEGER;Q:string);

VAR i:integer;

BEGIN

WRITE('Введите число элементов масива',Q);

READLN(N);

WRITE('Введите элементы массива',Q);

FOR i:=1 to N DO

BEGIN

WRITE(Q,'[',i,']=');READLN(x[i]);

END;

END;

PROCEDURE POISK(X:MAS;N:INTEGER;VAR POL,k:integer);

VAR i:integer;

BEGIN

FOR i:=N to 1 DO

IF(x[i]>0)THEN

BEGIN

POL:=x[i];

k:=i;

END;

END;

PROCEDURE VIVOD(x:MAS;N:INTEGER;Q:string);

VAR i:integer;

Begin

FOR i:=1 to N DO

WRITELN (Q,'[',i,']=',x[i]);

READLN(x[i]);

END;

BEGIN

VVOD(A,10,'Array');

VVOD(B,15,'Array');

POISK(A,10,S1,K1);

POISK(B,15,S2,K2);

A[k1]:=S2;

B[k2]:=S1;

VIVOD(A,10,'Array');

VIVOD(B,15,'Array');

END.


 

Начало

Начало

1.VVOD 2. FORM 3. VIVOD

k=0

t=0

i=1,N

j=1,M

Aij>0

Вывод Bi

Начало

i=1,2

Конец

i=1,N

j=1,M

Aij

Конец

Ввод N,M

 


Конец

t=t+1

K=k+1

нет да

 

4.Основная программа

конец

VIVOD(B1)

VIVOD(B2)

VIVOD(B3)

FORM(A1,N1,M1,В1[1],В1[2]

FORM(A2,N2,M2,B2[1],B2[2]

FORM(A3,N3,M3,В3[1],B3[2]

VVOD(A1,N1,M1)

VVOD(A2,N2,M2)

VVOD(A3,N3,M3)

Начало

Начало

 


 

PROGRAM PR1;

TYPE MAS=ARRAY[1..30,1..30] of REAL;

VAR A1,A2,A3,B1,B2,B3:MAS;N1,N2,N3,M1,M2,M3,k1,k2,k3,t1,t2,t3:integer;

PROCEDURE VVOD(VAR A:MAS;VAR N,M:INTEGER;Q:string);

VAR i,j:integer;

Begin

WRITE('Введите число элементов массива',Q);

READLN(N);

WRITE('Введите элементы массива',Q);

READLN(N);

FOR i:=1 to N DO

FOR j:=1 to M DO

BEGIN

WRITELN(Q,'[',i,',',j,']=');

READLN(A[i,j]);

END;

END;

PROCEDURE FORM(A:MAS;N,M:integer;VAR B:MAS;

VAR k,t:integer);

VAR i,j:integer;

BEGIN

k:=0;



t:=0;

FOR i:=1 to N DO

FOR j:=1 to M DO

IF(A[i,j]>0)THEN

BEGIN

k:=k+1;

t:=t+1;

END;

END;

PROCEDURE VIVOD(B:MAS;k,t:integer;Q:string);

VAR i,j:integer;

Begin

FOR i:=1 to k DO

FOR j:=1 to t DO

WRITELN(Q,'[',i,']=',B[i,j]);

END;

BEGIN

VVOD(A1,N1,M1,'A1');

VVOD(A2,N2,M2,'A2');

VVOD(A3,N3,M3,'A3');

FORM(A1,N1,M1,B1[1],B1[2]);

FORM(A2,N2,M2,B2[1],B2[2]);

FORM(A3,N3,M3,B3[1],B3[2]);

VIVOD(B1);

VIVOD(B2);

VIVOD(B3);

END.


 

6.20)N=2,M=2 B1 B2

A[1,1]=1 B[1]=1 B[1]= -3

A[1,2]= -3 B[2]=7 B[2]= -9

A[2,1]=7 B[3]=4 B[3]= -6

A[2,2]= -9 B[4]=19 B[4]=-13

A[1,1]=4 B[5]=8 B[5]= -2

A[1,2]= -6 B[6]=12 B[6]= -10

A[2,1]=19 B[7]=4 B[7]= -16

A[2,2]= -13 B[8]=17 B[8]= -11

A[1,1]=8

A[1,2]= -2

A[2,1]= 12

A[2,2]= -10

A[1,1]=4

A[1,2]= -16

A[2,1]= 17

A[2,2]= -11

 


Дата добавления: 2015-08-28; просмотров: 37 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Активный парк семейного отдыха | http://ficbook.net/readfic/294179 1 страница

mybiblioteka.su - 2015-2024 год. (0.013 сек.)