Главная страница
qrcode

Методические указания для студентов очного обучения направления 170100 оружие и системы вооружения специальности 170103 средства поражения, и боеприпасы


НазваниеМетодические указания для студентов очного обучения направления 170100 оружие и системы вооружения специальности 170103 средства поражения, и боеприпасы
Анкорmetodichka po informatike 2008.docx
Дата13.01.2017
Размер52.9 Kb.
Формат файлаdocx
Имя файлаmetodichka_po_informatike_2008.docx
ТипМетодические указания
#3995
Каталог

Федеральное агентство по образованию

Государственное образовательное учреждение высшего

профессионального образования

Тульский государственный университет

КАФЕДРА ГАЗОВОЙ ДИНАМИКИ

ИНФОРМАТИКА

[ТАБОРАТОРНЫЕ РАБОТЫ

Методические указания

для студентов очного обучения

направления 170100 оружие и системы вооружения

специальности 170103 - средства поражения, и боеприпасы

Тула 2008

ЛАБОРАТОРНАЯ РАБОТА № 1

ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ Цель работы: овладение навыками использования приёмов программирования с одномерными массивами.
Задание для самостоятельной подготовки

1. Изучить:

способы описания размеров массива на языке программирования; способы ввода и вывода массивов;

реализацию на конкретном языке программирования приёмов накопления суммы или произведения, запоминания результатов, нахождения наибольшего и наименьшего.

  1. Разработать алгоритм решения в соответствии с заданием.

  2. Составить программу решения задачи.

  3. Подготовить тест для проверки программы.

Задание к работе: 1. Обработать на ЭВМ массив в соответствии с вариантом задания (табл. 1).

Таблица 1

№ варианта


Массив

Действия


Условия и ограничения

1

X(N)

Вычислить сумму и количество элементов массива X

N<20

0N<100

2

А(М)


Вычислить среднее

арифметическое значение элемента

массива А


М<25

Ам > 0

3

X(N)

Переписать положительные элементы массива X в массив Y и подсчитать их количество


-10N<10

N<25

4

X(N)

Определить максимальный элемент массива В и его порядковый номер

N<10

XN > 0

5

С(К)

Вычислить сумму и количество четных элементов массива С

-10<Ск<10

K<20

6

D(10)

Определить максимальный и минимальный элементы массива D и поменять их местами




7

Н(С)

Определить элемент массива с максимальной дробной частью

С<20

8

Z(N)

Расположить в массиве R сначала положительные элементы, а затем отрицательные элементы массива Z

N<30

9

N(M)

Определить сумму элементов массива N, кратных трём

М<40

10

Y(N)

Определить сумму элементов массива Y, целая часть результата деления которых на три равна двум

N<15

11

X(N)

Найти среднее геометрическое массива X

XN > 0,

N < 50

12

C(40)

Вычислить минимальный элемент массива С и его номер

Сi<0

13

X(N)

Переписать подряд в массив Y положительные и в массив Z отрицательные элементы массива X

N<40

14

B(K)

Вычислить сумму и количество нечетных элементов массива В

Вк < 0,

К < 40

15

Y(20)

Вычислить среднее геометрическое элементов массива Y

Yi>0

16

X(N)

Переписать подряд в массив Y элементы массива X кратные 5

N <30

17

Y(I)

В массиве целых чисел найти второе отрицательное число и его порядковый номер

I<25

18

D(5)

Поменять местами третий и четвертый элементы массива D




19

Y(N)

Определить минимальный элемент массива целая часть которого кратна двум

N <18

20

B(K)

Вычислить сумму элементов массива В округленных до ближайшего целого

К<20

21

H(10)

Вычислить сумму квадратов положительных элементов массива Н




22

K(I)

Найти сумму первого положительного и первого отрицательного элементов массива К

I >5

23

D(15)

Определить максимальный и минимальный элементы массива D и поменять их местами

Di <0

24

H(I)

Поменять местами первый и последний элементы массива Н если сумма всех элементов больше 10.

I <25

25

D(I)

G(I)

Максимальный и минимальный элементы массива D поменять местами соответственно с максимальным и минимальным элементами массива G

I <15


Пример выполнения работы Задание 1. Вычислить на ЭВМ наибольший элемент массива х1, х2, ..-, хn и его порядковый номер; п < 30. Проверить правильность выполнения программы па тесте яри n = 3 и следующих элементах массива (1.5, 4.3, 2.4). При выполнении задания необходимо использовать приём нахождения наибольшего. Для этого перед циклом следует задать начальное значение наибольшего, равное первому элементу массива, а в цикле сравнивать наибольший с текущим элементом массива; в том случае, если текущий элемент больше наибольшего из предыдущих, то считать ею наибольшим. Для нахождения порядкового номера наибольшего элемента массива необходимо перед циклом задать его начальное значение, равное 1, а в цикле всякий раз, когда текущий элемент массива больше наибольшего, считать номером наибольшего номер текущего элемента массива.

Программа имеет вид:

PROGRAM MAX;

CONST NN=30;

VAR

N, I, IMAX: INTEGER;

ХМАХ: REAL;

X: ARRAY[1..NN] OF REAL;

BEGIN

WRITE (‘ ВВЕДИТЕ ЗНАЧЕНИЕ N');

READ(N);

FOR I:=l TO N DO

READ(X[I]);

XMAX:=X[1];

IMAX:=1;

FOR I:=2 TO N DO

IF X[I]>XMAX THEN

BEGIN

XMAX:=X[I];

IMAX:=I

END;

WRITE('XMAX=’,XMAX:8:4,' IMAX=', IMAX);

END.

Контрольные вопросы:

1.Указать особенности программ, использующих массивы.

  1. Какие операторы языка можно использовать для описания массивов?

  2. В чём состоит особенность организации цикла при обработке массивов?

4. В чём состоит особенность использования приёмов программирования при обработке массивов?

5.Указать особенности ввода и вывода массивов.

ЛАБОРАТОРНАЯ РАБОТА № 2

ОБРАБОТКА МАТРИЦ Цель работы: овладение навыками алгоритмизации и программирования структур с вложенными циклами, навыками использования приёмов программирования во вложенных циклах, способами ввода и вывода матриц.

Задания для самостоятельной подготовки.

1. Изучить:

___ правила организации вложенного цикла с учётом порядка перебора элементов матрицы;

___ правила использования приёмов программирования в структурах с вложенными циклами;

___ способы ввода и вывода матриц, имеющееся в языке программирования.

  1. Разработать алгоритм решения в соответствии с заданием,

  2. Создать программу решения задачи.

  3. Подготовить тестовый вариант программы и исходных данных.

Задание к работе:

  1. Обработать на ЭВМ матрицу в соответствии с вариантом задания, указанного в таблице 2. Вывести на печать результаты и исходную матрицу в общепринятом виде.

  2. Проверить правильность выполнения программ с помощью тестового варианта.

Таблица 2


Вариант задания

Имя матрицы и размеры

Действия

Условия и ограничения


1

А(10,15)

Вычислить и запомнить сумму и число положительных элементов каждого столбца матрицы. Результаты отпечатать в виде двух строк

Аij>0

2

A(N,M)

Вычислить и запомнить суммы и числа отрицательных элементов каждой строки матрицы. Результаты отпечатать в виде двух столбцов.

N20

М15

3

B(N,N)

Вычислить сумму и число элементов матрицы, находящихся под главной диагональю и на ней

N12

4

C(N,N)

Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю

N12

5

D(K,K)

Записать на место отрицательных элементов матрицы нули и ввести её на печать в общепринятом виде

К<10

6

D(N,M)

Записать на место отрицательных элементов матрицы нули, а на место положительных единицы. Вывести на печать нижнюю треугольную матрицу в общепринятом виде.

N20

М10

7

F(N,M)

Найти в каждой строке матрицы максимальный и минимальный элементы и поместить их на место первого и последнего элемента строки соответственно. Матрицу напечатать в общепринятом виде

N15

М10

8

F(N,N)

Транспонировать матрицу и вывести на печать элементы главной диагонали, и диагонали расположенной под главной. Результаты разместить в двух строках

N<10

9

N(10,10)

Для целочисленной матрицы найти для каждой строки число элементов, кратных пяти, и наибольший из полученных результатов




10

N(10,10)

Из положительных элементов матрицы N сформировать матрицу М(10, КМАХ), располагая их в строках матрицы подряд, где КМАХ -максимальное число положительных элементов строки матрицы N. Отпечатать обе матрицы в общепринятом виде




11

P(N,N)

Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали. Отпечатать полученную матрицу в общепринятом виде

N15

12

R(K,N)

Найти наибольший и наименьший элементы матрицы и поменять их местами

К20

N10

13

S(N,M)

Ввести исходные данные в первые N-1 строки и первые М-1 столбцов. Вычислить среднее арифметическое значение каждой строки и записать его в М-й столбец, а также среднее арифметическое каждого столбца и записать его в N-ю стоку. Отпечатать полученную матрицу в общепринятом виде

N10

М10

14

T(N,M)

Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов

N20

М15

15

V(N,M)

Упорядочить по возрастанию элементы каждой строки матрицы. Отпечатать полученную матрицу в общепринятом виде

N15

М15

16

S(N,M)

Найти среднее арифметическое наибольшего и наименьшего значений элементов матрицы

N20

М15

17

P(6, B)

Определить значение наибольшего по модулю элемента матрицы и его индексы

В<8

18

L(N,M)

Найти сумму наибольших значений элементов строк матрицы

N<16

М<12

19

M(N,N)

Найти сумму элементов строки, в которой расположен элемент с наименьшим значением

N<15

20

Y(7,7)

В строках с отрицательным элементом на главной диагонали найти сумму элементов. Определить наибольший элемент матрицы




21

G(N,M)

Найти суммы элементов главной диагонали первые элементы строк, которых больше нуля.

N13

М13

22

U(X,7)

Найти сумму элементов матрицы модули которых принадлежат отрезку [3,12]

Х<8

23

T(5,Y)

Найти суммы отрицательных и положительных элементов матрицы

Y>3

24

D(H,H)

Найти сумму элементов строки матрицы, элементы которой возрастают

Н<15

25

O(N.N)

Вычислить сумму тех элементов матрицы, расположенных над главной диагональю, которые превосходят по величине максимальный элемент, расположенный ниже главной диагонали.

N20


Пример выполнения работы

Задание 1. Выполнить на ЭВМ решение задачи. Записать в массив B(N, КМАХ) положительные элементы строк матрицы A(N,M) (N20, M10) до первого отрицательного, где КМАХ- наибольшее значение числа положительных элементов строке до первого отрицательного. Вывести на печать сформированную матрицу В.

Алгоритм решения следующий. Организовать вложенный цикл для перебора элементов исходной матрицы А по строкам. Для этого во внешнем цикле следует изменять индекс строки, а во внутреннем индекс столбца; во внутреннем цикле - находить и записывать в соответствующую строку матрицы В положительные элементы строки до первого отрицательного, а также подсчитывать число положительных элементов. К в этой строке. Для подсчёта числа положительных элементов необходимо перед внутренним циклом задать его начальное значение, равное 0, а внутри цикла считать число таких элементов, используя оператор присваивания К=К+1. Если положительных элементов в стоке нет, то К=0, если в строке все элементы положительны то K=N. Как только встретится отрицательный элемент в строке матрицы, необходимо записать в матриц)' В вместо него -1 и выйти из внутреннего цикла. Во внешнем цикле следует найти наибольшее значение из всех К, вычисленных для отдельных строк. Для этого перед внешним циклом необходимо задать начальное значение КМАХ, например, равное нулю, а внутри внешнего цикла сравнивать К с МАХ и находить наибольшее из них. Таким образом, матрица В имеет размер NxKMAX. В некоторых строках матрицы В будет записано элементов меньше, чем КМАХ. По условию задачи на печать необходимо вывести элементы, записанные в матрицу В. Наличие в строке матрицы -1 указывает на окончание вывода элементов этой строки.

Программа имеет вид:

PROGRAM LR_2;

LABEL 10;

CONST N=20; M=10;

VAR I, J, NR, MR, К, КМАХ: INTEGER;

A,B: ARRAY[1..N, 1..M] OF REAL;

BEGIN

WRITELN(‘ ВВЕДИТЕ ЗНАЧЕНИЕ NR, MR ‘);

READ(NR, MR);

WRITELN(‘ ВВЕДИТЕ ЗНАЧЕНИЕ МАССИВА А ‘);

FOR I:=1 TO NR DO

FOR J:=l TO MR DO

READ (A[I,J]);

KMAX:=0;

FOR I:=l TO NR DO

BEGIN

K:=0;

FOR l:=l TO MR DO

IF A [I,J]>=0 THEN

BEGIN

K:=K+1;

B[I,J]:=A[I,J]

END;

ELSE

BEGIN

B[I,J]:=-1;

GOTO 10

END;

10:

IF К>KМАХ THEN KMAX:=K;

END;

FOR I:=l TO NR DO

FOR J:=- TO KMAX DO

IF B[I,J]>0 THEN WRITE(B[I,J])

ELSE WRITELN;

END.

Задание 2. Выполнить программу при N=4 и М=4, приняв следующие значения исходной матрицы А:



В результате выполнения программы выводится матрица в виде

1.5 2.0

3.3 4.4 5.5 6.6

<пустая строка>

0.0

Правильность выполнения программы легко устанавливайся сравнением исходной матрицы А с результатом печати матрицы В. В тестовом наборе данных рассмотрены случаи: в строке есть отрицательные элементы; в строке нет отрицательных элементов; первый элемент строки - отрицательный.

Контрольные вопросы.

  1. Указать основные правила организации вложенных циклов.

  2. Указать способы выхода из внутреннего цикла.

  3. Сколько раз выполняются операторы К=0 и К=К+1 в программе примера?

  4. Как организовать вывод матрицы в общепринятом виде?

  5. Как организовать вывод нижней треугольной матрицы в общепринятом виде?

  6. Как организовать ввод матрицы размером N*М элементов.


ЛАБОРАТОРНАЯ РАБОТА № 3

ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ПОДПРОГРАММ ПОЛЬЗОВАТЕЛЯ

Цель работы: овладение навыками алгоритмизации и программирования

задач с использованием подпрограмм пользователя различных видов, овладение навыками написания подпрограмм и обращения к ним, выбора параметров подпрограмм.

Задания для самостоятельной подготовки 1.

1. Изучить:

  • правила записи подпрограмм различных видов и способов обращения к ним;

  • способы передачи параметров в подпрограмму;

правила записи программ, использующих подпрограммы различных видов; порядок выполнения программ, использующих подпрограммы.

2. Разработать алгоритм решения в соответствии с заданием.

  1. Составить программу решения задачи.

  2. Подготовить тестовый вариант программы и исходных данных.

Задание к работе:

  1. Выполнить на ЭВМ программу, использующую подпрограмму - функцию, в соответствии с номером параметра, указанным в табл.1.

  2. Проверить правильность выполнения программы с помощью тестового варианта.

  3. Выполнить на ЭВМ программу, использующую подпрограмму процедуру в соответствии с номером, указанным в табл.2.

  4. Проверить правильность выполнения программы с помощью тестового варианта.

Таблица 1

№ варианта

Условия задачи

Примечания

1

Вычислить большие корни квадратных уравнений: ах2 - bх + с=0, еу2 - fy - g = 0.

Все корни действительные

2

Подсчитать число точек, находящихся внутри круга радиусом г с центром в начале координат; координаты заданны массивами Х(100), У(100)

Расстояние точки от нач. координат вычислять в подпрограмме

3

Определить периметры треугольников, заданных

координатами их вершин:

ХА (5), ХВ (7), ХС (6); УА (3), VB (J), УС (7)

Длину стороны треугольников вычислять в подпрограмме

4

Подсчитать число точек, находящихся внутри круга радиусом rс центром в точке с координатами (1,1); координаты заданны массивами Х(80), У(80)

Расстояние точки от начала координат вычислять в подпрограмме

5

Вычислить z = (V1 + V2 + V3) / 3, где V1, V2, V3 - объёмы шаров с радиусами r1, r2, r3.

V = 4/3 П R3 вычислять в подпрограмме




6


Даны координаты вершин четырехугольника. Определить величину наиболее длинной стороны




7

Вычислить среднее арифметическое положительных элементов для массивов A(N1), В(N2), С(N3)

N1<100,

N2<100,

N3<100

8

Определить значение выражения:

F = g(1.2,S) + g(T,S)-g(2S-l,ST); где

g(А, В) = (А22)/(А2+2АВ)

Т<4, S<7

9

Вычислить суммы положительных элементов каждой строки для матриц А(10, 12) и В(15,10)




10

Вычислить z = (xm1 + xm2) / 2, где xm1 и xm2 наименьшие элементы массивов X1(70), х2(80)




11

Вычислить суммы элементов главных диагоналей матриц A(N,N), B(M,M)

М<20, N<30

12

Вычислить Z = (S1 + S2) / 2, где S1 - сумма положительных элементов массива Х(50); S2- сумма отрицательных элементов массива У(60)

Обе суммы вычислять в одной подпрограмме

13

Подсчитать число нулевых элементов для матриц A(N,M) и B(M,N)

М<20, N<20

14

Вычислить суммы элементов нижних треугольных матриц для матриц А(15,15) и В(20,20)




15

Определить число положительных элементов до первого отрицательного в массивах Х(40), У(50), Z(N)

N<50

16

Определить значение выражения:

К =f(Т, -2S, 1.17) +f(2.2, Т, S-T), где

f(А, В, С) = (2A-B-sin С)/(5 +)

Т<5, S<6

17

Подсчитать количество элементов матриц

Х(10, 15) и У(20, 12), удовлетворяющих условиям

-2<хij<3 и 5<уij|<23.




18

Вычислить суммы положительных элементов массивов X(N), Y(M), Z(K)

N<60

М<60, К<70

19

Даны внешние и внутренние радиусы двух круговых колец. Сравнить их площади

S = П (R2 – г2)

20

Даны значения сторон двух треугольников. Определить, какой из них имеет большую площадь по

формуле S=

p=(а+Ь+с)/2

21

Вычислить Н = (V1*V2) / (V1+ V2), где V1, V2 - объемы кубов со сторонами А1 и А2.




22

Вычислить суммы элементов над главной диагональю матриц Y(H,H), X(M,M)

Н<15, М<20

23

Определить значение выражения:

Z = t(2, S-1) + t (2Т, S) * t (2S, ST), где

t(А, В) = (А+ЗВ)/(А2+2АВ-В)

Т<5, S<5

24

Вычислить Z = S1+S2/5, где S1, S2 - суммы элементе» массивов A(X1). В(Х2),

Х1<8, Х2<20

25

Даны координаты вершин двух треугольников. Определить, какой из них имеет большую площадь





Таблица 2

№ варианта

Условия задачи

Примечания

1

Вычислить z= (S1+ S2)/( k1+ k2), где S1 и k1 -сумма и количество положительных элементов массива X(N); S2 и k2 - сумма и количество положительных элементов массива Y(M)

М<100

N<100

2

Вычислить суммы четных (в соответствии с номером) элементов массивов Х(I) и Y(I)

I<25

3

Вычислить и запомнить суммы положительных элементов каждой строки матрицы А(10, 20), В(15, 10)




4

Найти наибольшие элементы и их порядковые номера массивов X(N) и Y(M)

М<80

N<70

5

Переписать положительные элементы массива X(N) и Y(M) в массив Z подряд

Запись массив Z осуществлять в подпрограмме. N<15, М<17

6

Вычислить z=,

где xi и уi заданы массивами

Все суммы вычислять в одной подпрограмме. N<20, M<25.

7

Найти наименьшие элементы, номера строк и столбцов, в которых они расположены, для матриц А(10,15) и В(15,12)




8

Вывести на печать элементы целочисленных матриц N(5,8) и М(10,6), кратные трём




9

Вычислить z = (x1 + y1)/(x2 + у2), где x1 и x2 - корни уравнения 2х2 + х - 4 = 0, y1 и у2 - корни уравнения ау2 + 2у - 1 = 0

Все корни действительные

10

Преобразовать массивы X(N) и Y(M), расположив в них подряд только положительные элементы. Вместо остальных элементов записать нули

N<15,M<20

11

Вычислить и запомнить количество отрицательных элементов каждого столбца для матриц A(N,N) и В(М,М)

N<15, M<20

12

Вычислить суммы элементов верхней треугольной матрицы для матриц A(N,N) и В(М,М)

N<15, M<20

13

Вычислить z=(xmax-ymin)/2 , где

xmax - максимальный элемент массива X(N)

ymin - минимальный элемент массива У(М)

xmax и ymin вычислять в одной подпрограмме. N<15,M<20

14

Вычислить суммы и количество элементов, находящихся в интервале от А до В для матриц X(N,M), Y(M,N)

А<3, В>4

N<10,M<10

15

Написать подпрограмму, определяющую корни квадратных уравнений




16

Подсчитать число положительных элементов матриц A(X,Y) и B(X,Y)

Х<20, Y<20

17




Обе суммы вычислять в одной подпрограмме. N< 15, М<20



Вычислить * , где si и kj -сумма и коли-

/С| /Со

чество положительных элементов массива X(N); s2 и k2 - сумма и количество положительных элементов массива Y(M)



18

Заменить в матрицах ЦХ, X) и N(Y,Y) положительные элементы на 1, а отрицательные на значение элемента главной диагонали

X<15,Y<15

19

Л' U

Вычислить z N , где х; и у; массивы I»?

Все суммы вычислять в одной подпрограмме. N<20, M<25.

20

Найти средние значения массивов X(N), Y(M)

N<100,M<100

21

Вычислить суммы положительных элементов главных диагоналей матриц А(Х,Х), B(Y,Y)

Y<15,X<20.

22

Подсчитать число точек массивов, находящихся внутри квадрата со стороной А, если его левый нижний угол находится в точке с координатами 0.0; координаты заданны массивами X(N), У(М)

N<20, M<25.

23

Вычислить Z = (X + Y) / 2, где X - сумма положительных элементов массива B(N), a Y - сумма положительных элементов массива А(М)

N<20, M<25.

24

Написать подпрограмму для вычисления тангенса угла




25

Найти периметр пятиугольника вершины которого заданы координатами ХА, ХВ, ХС, ХК, XT, YA, YB, YC, YK, YT

Все координаты положительны.

1

Пример выполнения работы
перейти в каталог файлов


связь с админом