Материал: Информатика. метод. указания к выполнению контрольной работы № 2 для студ. заочного обучения всех направлений подготовки. Авдеев В.П., Гильмутдинов В.И

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

1

 

1

 

1

 

1

+... +(1)n

1

+...

(для x >1)

arcctgx =

 

 

+

 

 

 

x

3x3

5x5

7x7

(2n +1)x2n +1

2. АЛГОРИТМЫ СО СТРУКТУРОЙ ВЛОЖЕННЫХ ЦИКЛОВ

Цикл, содержащий внутри себя один или несколько других циклов, называется вложенным; цикл, охватывающий другие циклы, – внешним; остальные циклы называются внутренними. Правила организации как внешнего, так и внутреннего циклов такие же, как и простого. Параметры этих циклов изменяются не одновременно, то есть при одном значении параметра внешнего цикла параметр внутреннего цикла принимает по очереди множество значений.

В качестве основы для выполнения заданий этой темы используем двумерный массив А, содержащий m строк и n столбцов. Определив номер варианта по табл. 1 в соответствии с шифром, составить на языке программирования Pascal программу решения одной из следующих задач:

0)вычислитьсуммуположительныхэлементовлюбойстрокидвумерногомассива;

1)вычислить произведение отрицательных элементов любого столбца двумерного массива;

2)вычислить сумму отрицательных элементов всех нечетных столбцов двумерного массива;

3)вычислить произведение положительных элементов всех четных строк двумерного массива;

4)вычислить сумму квадратных корней положительных элементов, стоящих выше главной диагонали квадратной матрицы;

5)вычислить среднее арифметическое положительных элементов, стоящих на главной диагонали квадратной матрицы;

6)вычислить произведение квадратов отрицательных чисел, стоящих ниже главной диагонали квадратной матрицы;

7)вычислить сумму положительных элементов, стоящих на нечетных местах четных строк двумерного массива;

6

8)вычислить произведение отрицательных элементов, стоящих на четных местах нечетных столбцов двумерного массива;

9)вычислить среднее арифметическое положительных элементов двумерного массива, попадающих в интервал (b, c).

3. ОРГАНИЗАЦИЯ ПОДПРОГРАММ

Программа, написанная на языке высокого уровня, часто состоит из основной программы и подпрограмм. Основная программа и подпрограммы представляют собой самостоятельные программные единицы, их можно разрабатывать независимо друг от друга. Подпрограммы используются для записи последовательности действий, которая неоднократно встречается в какой-нибудь одной программе или в нескольких программах. Кроме того, использование подпрограмм позволяет конструировать программу как набор отдельных блоков, сделать более логичным процесс программирования.

Вязыке Pascal различают два вида подпрограмм - процедуры и функции.

Впрограмме описание процедур и функций должно располагаться между разделом объявления переменных и разделом операторов. Каждая процедура или функция определяется только один раз, но может использоваться многократно.

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

3.1. ПОДПРОГРАММА – ПРОЦЕДУРА (PROCEDURE)

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

7

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

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

0)в массиве К из 8 целых чисел найти наибольший элемент и поменять его местами с первым элементом;

1)в массиве Z из 7 целых чисел найти наименьший элемент и поменять его местами с последним элементом;

2)в массиве R из 9 вещественных чисел найти наибольший и наименьший элементы и поменять их местами;

3)определить минимальный элемент массива S(15) и найти сумму элементов, расположенных после него;

4)определить в целочисленном массиве B(18) количество и сумму элементов, кратных 5;

5)вычислить сумму первых n положительных элементов массива T(19);

6)найти среднее арифметическое положительных чисел массива A(17);

7)заменить нулями все положительные элементы заданной строки двумерного массива A(4,6);

8)возвести в квадрат все отрицательные элементы заданного столбца двумерного массива T(3,5);

9)найти наименьший элемент матрицы С(5,4) и номера строки и столбца, определяющие местоположение этого элемента.

3.2. ПОДПРОГРАММА – ФУНКЦИЯ (FUNCTION)

Если возникает необходимость неоднократного вычисления значений функции, не входящей в список стандартных функций Pascal, то целесообразно процесс вычисления этих значений оформить в виде подпрограммы – функции.

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

8

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

Номер варианта определяется формулой a+b. Задание для выполнения этого пункта в соответствии с вычисленным номером варианта выбирается из списка заданий раздела 2, в котором предполагается содержательную часть решения оформить в виде подпрограммы – функции.

ПРИМЕР ВЫПОЛНЕНИЯ КОНТРОЛЬНОЙ РАБОТЫ

Задача 1

Номер варианта определяется предпоследней цифрой шифра.

Допустим, что в соответствии с выбранным вариантом необходимо найти сумму ряда

 

x

 

x2

x3

2n! xn

S =

 

+

 

+

 

+... +

 

+...

3

18

180

3(2n)!

с заданной точностью ε при значении x = 0,3.

Прямое вычисление каждого очередного слагаемого затруднительно, так как это потребует вычисления факториалов и возведения x в большую степень. Поэтому для вычисления следующего слагаемого получим рекуррентную формулу, связывающую его с предыдущим слагаемым, что позволит существенно сократить затраты времени на решение.

= 2n! x n

Общий член ряда a n ( ) . 3 2n !

Для получения рекуррентной формулы вычислим отношение следующего члена ряда к текущему:

9

a

n +1

=

2(n +1)! x n +13(2n)!

=

(n +1)x

 

,

 

 

3(2n +2)!2n! xn

(2n +1)(2n +2)

a n

 

 

откуда a n+1 = ( a n (n)(+1)x ). 2n +1 2n +2

При составлении программы будем считать, что точность достигнута, ес-

ли |an| < ε.

PROGRAM KR1;

CONST X=0.3;

VAR N:INTEGER; AN,SUMMA,EPS:REAL;

BEGIN

WRITELN(‘Введите требуемую точность EPS’);

READLN(EPS);

N:=1;

AN:=X/3;

SUMMA:=AN;

REPEAT

AN:=AN*(N+1)*X/((2*N+1)*(2*N+2));

SUMMA:=SUMMA+AN;

N:=N+1

UNTIL ABS(AN)<EPS;

WRITELN(‘СУММА=’,SUMMA:10:7);

WRITELN(’ПОСЛЕДНИЙ ЧЛЕН РЯДА=’,AN:10:7);

END.

Задача 2

Номер варианта определяется последней цифрой шифра.

Пусть это задание следующего вида. Составить на языке PASCAL программу вычисления суммы положительных элементов каждой строки матрицы ММ(5,10) и формирования из полученных сумм вектора VV.

10

Источник: https://studfile.net/preview/16564000/