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

9160

.pdf
Скачиваний:
0
Добавлен:
25.11.2023
Размер:
2.35 Mб
Скачать

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

Пояснения к выполнению задания третьего уровня

Для поиска в программе нового отрезка табулирования выполнять проверку условия < 0. Для выхода из программы сравнивать длину найденного отрезка с заданной точностью. Перед выходом из программы вычислить корень уравнения и значение функции в корне.

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

Тема: Одномерные массивы.

Цель работы: приобретение навыков разработки алгоритмов и программ по преобразованию одномерных массивов.

Варианты заданий лабораторной работы №4 приведены в таблицах 4.1, 4.2.

Задание (1 уровень)

1.Составить блок-схему алгоритма вычисления функции Y=f(X). Функцию f(X) взять из таблицы 4.1 в соответствии со своим вариантом.

2.Разработать программу вычисления элементов массива Y на основе элементов массива X, где Y=f(X). Массив X взять из таблицы 4.1 в соответствии со своим вариантом.

3.Выполнить программу, записав полученные результаты в отчѐт.

Задание (2 уровень)

1.Составить блок-схему алгоритма вычисления наибольшего и наименьшего элементов в массиве Y, их порядковых номеров, а также суммы всех элементов массива Y. Массив Y получить на основе элементов массива X, где: Y=f(X). Функцию f(X) взять из таблицы 4.1 в соответствии со своим вариантом.

2.На основе блок-схемы, составленной в п.1 разработать программу. Массив X взять из таблицы 4.1 в соответствии со своим вариантом.

3.Выполнить программу, записав полученные результаты в отчѐт.

Задание (3 уровень)

1.Составить блок-схему алгоритма для задания, описанного в таблице 4.2 в соответствии со своим вариантом.

2.На основе блок-схемы, составленной в п.1 разработать программу.

3.Выполнить программу, записав полученные результаты в отчѐт.

Пример:

Вычислить таблицу значений функции

 

 

 

+ 1 , при < −

 

 

 

 

 

Y= sin ,

при − ≤ ≤

 

− 1 , при >

 

 

 

 

 

для следующих значений аргумента X :

X = {-6.2; -0.8; 0.3; 0.5; -1.3; 4.1}.

Порядок выполнения работы (1 уровень)

1.Составление блок-схемы алгоритма вычисления функции Y=f(X).

1.1.Входные данные:

X – массив из N значений аргумента, Формула для вычисления функции Y.

Выходные данные:

Таблица из N пар значений (X, Y).

1.2.Блок-схема (рис. 4.1):

Рис. 4.1. Блок схема алгоритма

2. Разработка программы вычисления элементов массива Y на основе элементов массива X, где Y=f(X).

2.1.Объявить переменные целого типа (Integer): N, i.

2.2.Запросить и ввести с клавиатуры количество элементов (N) массива X.

2.3.Объявить два одномерных массива размером N: X(N), Y(N) типа Single:

Dim X(N) As Single

Dim Y(N) As Single

2.4. Открыть цикл по i от 1 до N.

2.5.Последовательно запросить и ввести все значения элементов массива X.

2.6.Вычислить текущее значение элемента массива Y в соответствии со своим заданием, например, используя условный оператор:

If X(I) < - MATH.PI() Then

Y(I) = X(I) / MATH.PI() + 1

Else

If X(I) <= MATH.PI() Then

Y(I) = Math.Sin(X(I))

Else

Y(I) = -X(I) / MATH.PI() – 1

EndIf

EndIf

2.7.Вывести на экран значения текущих элементов массивов X и Y.

2.8.Закрыть цикл.

3.Запуск программы.

3.1.Построив программу и запустив еѐ, ввести с клавиатуры массив X.

3.2.Выписать результаты в отчѐт в виде таблицы:

I

1

2

3

4

5

6

X

-6,2

-0,8

0,3

0,5

-1,3

4,1

Y

-0.9735228

-0.7173561

0.2955202

0.4794255

-0.9635582

-2.305072

Порядок выполнения работы (2 уровень)

1. Составление блок-схемы алгоритма вычисления наибольшего (YMAX) и наименьшего (YMIN) элементов в массиве Y, их порядковых номеров (NYMAX, NYMIN), а также сумму (SY) всех элементов массива Y.

1.1. Входные данные:

Y – массив из N значений из таблицы 4.1. Выходные данные:

YMAX, YMIN, NYMAX, NYMIN, SY.

1.2. Блок-схема (рис.4.2):

1

SY=0

YMAX=Y(1)

NYMAX=1

i=1 , N, 1

SY=SY+Y(i)

Нет

Y(i)>YMAX

Да

YMAX=Y(i)

NYMAX=i

Нет

Y(i)<YMIN

Да

YMIN=Y(i)NYMI

N=i

Вывод: SY, YMAX,

NYMAX,

Конец

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

Тема: Двумерные массивы. Подпрограммы: внешние функции и процедуры. Цель работы: овладеть навыками программирования с использованием двумерных массивов; научиться основам модульного программирования.

Задание

I уровень (варианты №№ 1 - 9 из Перечня вариантов)

1.Составить блок-схему выполнения задания (без подпрограмм).

2.Написать программу в соответствии с блок – схемой.

3.Выполнить программу и получить результаты.

II уровень (варианты №№ 10 - 26 из Перечня вариантов)

1.Составить блок-схему алгоритма преобразования матрицы двумя модулями: головным модулем и процедурой SUB, или головным модулем и модулемфункцией FUNCTION.

2.Написать программу в соответствии с блок – схемой.

3.Выполнить программу и получить результаты.

III уровень (варианты №№ 27 - 30 из Перечня вариантов)

1.Составить блок-схему алгоритма преобразования матрицы тремя модулями: головным модулем, модулем-функцией FUNCTION и процедурой SUB .

2.Написать программу в соответствии с блок – схемой.

3.Выполнить программу и получить результаты.

Пример:

Дана матрица A(N,M).

1.Найти наибольший элемент в последней строке матрицы A.

2.Определить массив B(N), элементы которого равны суммам соответствующих строк матрицы A.

3.Определить массив D(M), элементы которого равны суммам соответствующих столбцов матрицы A.

Порядок выполнения работы (I уровень)

1. Входные данные:

(N+1) – количество строк матрицы A, (M+1) – количество столбцов матрицы A,

A(,) – двумерный массив из (N+1)*(M+1) элементов. Выходные данные:

AMAXN - наибольший элемент в последней строке матрицы A, B() - массив, элементы которого равны суммам соответствующих строк матрицы A, D() - массив, элементы которого равны суммам соответствующих столбцов матрицы A.

2. Блок-схема (рис. 5.1)

Рис. 5.1. Блок – схема программы

3. Текст программы:

ModuleModule1

‘ Заголовок программной секции, относящейся к категории программных модулей

SubMain()

‘ Заголовок программной секции, относящейся к категории головного модуля программы

Dim N, M, I, J As Integer

DimA(,) AsSingle = {{7,-1,2,0},{4,5,-3,1},{-6,11,8,-4}}

Явный способ задания двумерного массива А(,) с вещественными (Single) элементами, значения которым присваиваются после символа = построчно, то есть три строки по 4 элемента в каждой

N = A.GetUpperBound(0)

Параметру N присвоено значение верхней границы 1-ой (0) размерности двумерного массива А(,)

M = A.GetUpperBound(1)

Параметру M присвоено значение верхней границы 2-ой (1) размерности двумерного массива А(,)

Console.WriteLine("N={0} M={1}", N, M)

 

 

 

‘ Вывод значений параметров N и M

 

 

 

Console.WriteLine("Количество

строк

матрицы

A

равно

N+1={0}", N + 1)

Console.WriteLine("Количество столбцов матрицы A равно

M+1={0}", M + 1)

‘Количество

строк

и

столбцов

матрицы

A

равны,

соответственно, N+1 и M+1, так как стандартная нумерация

элементов ведется для строк с 0 до N-1, для столбцов – с 0

до M-1.

 

 

 

 

 

 

 

Dim B(N), D(M) As Single

 

 

 

 

Dim Z As Single

 

 

 

 

 

 

Dim AMAXN As Single

 

 

 

 

 

 

I = 0 :

AMAXN = A(N, I)

 

 

 

‘ Параметру AMAXN присваивается начальное значение, равное

значению элемента матрицы A(,), расположенному

в N-ой

строке и 0-ом столбце

 

 

 

 

 

For I = 0 To M

 

 

 

 

 

 

 

If AMAXN < A(N, I) Then AMAXN = A(N, I)

 

 

Next I

 

 

 

 

 

 

 

Console.WriteLine("")

Console.WriteLine("НАИБОЛЬШИЙЭЛЕМЕНТПОСЛЕДНЕЙСТРОКИ

AMAXN ={0}", AMAXN)

Console.WriteLine("")

Console.WriteLine("МАССИВЗНАЧЕНИЙСУММСТРОКМАТРИЦЫ A():")

For I = 0 To N

B(I) = 0

For J = 0 To M

B(I) = B(I) + A(I, J)

Next J

Console.WriteLine("B({0})={1}", I, B(I))

Next I

Console.WriteLine("")

Console.WriteLine("МАССИВЗНАЧЕНИЙСУММСТОЛБЦОВМАТРИЦЫ A():")

For J = 0 To M

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]