Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
INFORMAT / 5VAR_KR2.DOC
Скачиваний:
27
Добавлен:
02.03.2016
Размер:
434.18 Кб
Скачать

5.3 Пример выполнения контрольной работы № 1 с комментариями

Задание 1.

  1. Условие задачи.

Вычислить:

, где ,

a = - x + bx2, x = 1.5, b = 1.2.

  1. Блок-схема алгоритма (см. рисунок 5.1).

Рисунок 5.1 - Блок-схема алгоритма к заданию 1

В блоке 2 вводятся исходные данные x и b. В блоках 3, 4, 5 вычисляются значения функций a, y, z. В блоке 6 осуществляется вывод вычисленного значения функции z.

  1. Программа.

‘ Ввод данных

DATA 1.5, 1.2: READ X, B

‘ Вычисление значений функций A, Y, Z

A = - X + B * X^2

Y = (B * X^3 – LOG (ABS (A))) / (2 * B)

Z = SQR(A^2 – B * EXP(SIN(X)) + 1) – Y

‘ Вывод значения функции Z

PRINT “ Z = ” : END

Задание 2.

  1. Условие задачи.

Вычислить:

где c = cos (a + b), a = -3, b = 2.

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

Рисунок 5.2 - Блок-схема алгоритма к заданию 2

В блоке 2 вводятся исходные данные a и b. В блоке 3 вычисляется значение функции c. Блоки 4, 6 осуществляют проверку условия: a меньше b, a равно b соответственно и, в зависимости от результата сравнения, направляют вычисление по одной из ветвей – 5, 7, или 8. Блок 9 выводит на печать полученное значение функции y.

3. Программа.

PRINT “ Введите A, B ”

Input a, b

C = COS(A+B)

IF A < B THEN Y = C * LOG (ABS (A - B)) / LOG(10) ELSE IF A = B THEN Y= (COS (A)^3 + C) / (2 * A + B) ELSE Y = C * (A - B)^(1 / 3)

PRINT “ Y = ”; Y : END

Задание 3.

  1. Условие задачи.

Представить таблицу значений аргумента и заданной функции:

, где a = 3 cos2x, b = e x+1

для x [-2; 2] с шагом 0,5.

  1. Блок-схема алгоритма (см. рис. 5.3).

Рисунок 5.3 - Блок-схема алгоритма к заданию 3

В блоке 2 вводятся исходные данные: xn – (начальное значение аргумента), xk – (конечное значение аргумента), h - (шаг изменения аргумента). Блок 3 задает начальное значение параметра цикла x, т.е. осуществляет подготовку цикла. Блоки 4-10 выполняют расчет значений функции с выдачей их на печать. Это рабочая часть цикла. Блок 4 вычисляет значение функций a и b. Блок 5 проверяет условие x-1 и в случае его выполнения осуществляется переход к блоку 6, вычисляющему y = x + b. Если x >-1 (соответствует ветви «нет» блока 5), то блок 7 проверяет условие x1. Если это условие выполняется, то осуществляется переход к блоку 8, вычисляющему y = (a + x) / (ln(x) + 1). В противном случае x находится в интервале между –1 и 1 и происходит переход к блоку 9, вычисляющему y = sin(a). После вычисления по любой из формул осуществляется переход в общую ветвь к блоку печати (блок 10). Блок 11 вычисляет текущее значение параметра цикла, увеличивая значение параметра цикла на величину заданного шага. Блок 9 проверяет условие окончания цикла.

  1. Программа.

INPUT “ Введите XN, XK, H ”; XN, XK, H

X = XN

а1: A = 3 * COS(X)^2: B = EXP(X + 1)

IF X<=-1 THEN Y = ABS(X) + B ELSE IF X>=1 THEN Y = (A+X)/(LOG(X)+1) ELSE Y = SIN(A)

PRINT X; Y: X = X + H

IF X<=XK THEN а1

END

Задание 4.

  1. Условие задачи.

Вычислить произведение положительных значений функции Y и значение R по формуле: , где

для x [2; 6] с шагом 0.5.

  1. Блок-схема алгоритма (см. рисунок 5.4).

Блок 2 задает начальные значения сумм S=0, S1=0 и начальное значение произведения P=1. Блок 3 является верхней границей цикла и задает закон изменения параметра цикла X от 2 до 6 с шагом 0,5. Блок 4 проверяет условие X>3 и в случае его выполнения происходит переход к блоку 6, вычисляющему y = log2x. В противном случае осуществляется переход к блоку 5, вычисляющему y = -3sin(x). Блок 7 накапливает суммы S и S1. Блок 8 проверяет условие y>0. Если условие выполняется, осуществляется переход к блоку 9, накапливающему произведение. Блок 10 является нижней границей цикла. Блок 11 вычисляет значение R. Блок 12 выводит на печать полученные значения P и R.

Рисунок 5.4 - Блок-схема алгоритма к заданию 4

  1. Программа.

S = 0: S1 = 0: P = 1

FOR X = 2 TO 6 STEP 0.5

IF X>3 THEN Y = LOG(X) / LOG(2) ELSE Y = -3*SIN (X)

‘ Вычисление сумм S, S1

S = S + X^2

S1 = S1 + X * Y

‘ Вычисление произведения P

IF Y>0 THEN P = P * Y

NEXT X

R = S / S1

PRINT “ Произведение P = ”; P; “ R = ”; R: END

Задание 5.

  1. Условие задачи.

Вычислить и вывести на печать массив A. Найти количество отрицательных элементов массива A, имеющих четные индексы. Элементы массива A формируются по правилу: ,i = 1, 2, … , 7; b=1,2;

X = {-5, -3, -2, -1, 0, 1, 1.2 } – исходный массив.

  1. Блок-схема алгоритма (см. рис. 5.5).

Блок 2 осуществляет ввод значения b и массива X, состоящего из 7 элементов. Блок 3 задает начальное значение количества, равное нулю. Блок 4 организует цикл, в котором осуществляется просмотр элементов массива X и создание элементов нового массива A. Блок 5 вычисляет элементы массива A по формуле , гдеi = 1,2,... 7. Блок 6 выводит на печать элементы массива A.

Прежде чем накапливать количество, надо проверить, является ли элемент массива A отрицательным числом (блок 7), а индекс элемента – четным числом (блок 8). При невыполнении условия ai<0, или если i – нечетное число, никаких действий не выполняется и осуществляется переход к следующему значению переменной i. Блок 9 накапливает количество отрицательных элементов массива A, имеющих четные индексы. Блок 11 выводит на печать значение количества.

Рисунок 5.5- Блок-схема алгоритма к заданию 5

  1. Программа.

DIM X(7), A(7)

B = 1.2

FOR I = 1 TO 7

INPUT X(I): NEXT I:

K = 0

FOR I = 1 TO 7

A(I) = EXP (B * X(I)) – 2

PRINT A(I)

IF A(I) < 0 THEN IF I MOD 2 = 0 THEN K = K + 1

NEXT I

PRINT “ K = ”; K

END

Задание 6.

  1. Условие задачи.

Вычислить сумму элементов матрицы C(4,4), расположенных ниже главной диагонали.

1 -2 2 -1

C = -2 7 5 5.1

4 1 -7 0.6

3 0 2.4 0.7

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

да

S = 0

1

2

3

4

5

S = S + cij

нет

6

7

10

8

9

11

Рисунок 5.6 - Блок-схема алгоритма к заданию 6

Блок 2 осуществляет ввод элементов матрицы C. Блок 3 задает начальное значение суммы, равное нулю. Блок 4 задает внешний цикл по индексу i (но-мер строки). Блок 5 задает внутренний цикл по индексу j (номер столбца).

Блок 6 проверяет условие i > j (для элементов, расположенных ниже главной диагонали, выполняется условие i > j, где i – номер строки матрицы,

j – номер столбца матрицы) и, в случае его выполнения, осуществляется переход к блоку 7, накапливающему сумму.

При невыполнении условия i > j никаких действий не выполняется и осуществляется переход к следующему значению переменной внутреннего цикла. Блок 10 выводит на печать значение суммы.

3. Программа

DIM C (4, 4)

DATA 1, -2, 2, -1, -2, 7, 5, 5.1, 4, 1, -7, 0.6, 3, 0, 2.4, 0.7

FOR I = 1 TO 4

FOR J = 1 TO 4

READ C (I, J): NЕXT J, I

S = 0

FOR I = 1 TO 4

FOR J = 1 TO 4

IF I > J THEN S = S + C (I, J): NEXT J, I

PRINT “ S = ”; S: END

Задание 7.

  1. Условие задачи.

Найти максимальный элемент матрицы B(4,5) в каждой строке и записать в массив Y.

  1. Блок-схема алгоритма (см. рис. 5.7).

Рисунок 5.7 - Блок-схема алгоритма к заданию 7

Блок 2 осуществляет ввод элементов матрицы B. Для вычисления максимального элемента одной строки матрицы необходимо организовать цикл, перебирающий все элементы строки; параметром этого цикла будет номер столбца j (блок 5). Перед циклом задается начальное значение (блок 4)

Bmax = -105. Блоки 6 и 7 находят максимальный элемент текущей строки. После окончания цикла максимальный элемент строки записывается в массив Y (блок 9). Если все эти действия повторить во внешнем цикле, изменяя индекс строки от 1 до 4 (блок 3), будут вычислены максимальные элементы каждой строки и записаны в массив Y. Блок 11 выводит на печать элементы массива Y.

В рассмотренном примере внешний цикл должен быть обязательно по i (индексу строки), так как в противном случае были бы вычислены максимальные элементы каждого столбца.

  1. Программа.

DIM B (4, 5), Y (4)

FOR I = 1 TO 4

FOR J = 1 TO 5

INPUT B (I, J)

NEXT J, I

FOR I = 1 TO 4

BMAX = -10^5

FOR J = 1 TO 5

IF B (I, J) > BMAX THEN BMAX = B (I, J)

NEXT J

Y (I) = BMAX

NEXT I

FOR I = 1 TO 4

PRINT Y (I)

NEXT I

END

Соседние файлы в папке INFORMAT