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

Учебное пособие 36

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
238.81 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Воронежский государственный архитектурно-строительный университет»

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

ИНФОРМАТИКА

Методические указания к выполнению контрольной работы № 2 для студентов заочного обучения всех направлений подготовки

Воронеж 2013

5

УДК 69.003:658.5.012.22 ББК 32.973

Составители В.П. Авдеев, В.И. Гильмутдинов, А.Д. Кононов, А.А. Кононов

Информатика: метод. указания к выполнению контрольной работы № 2 для студ. заочного обучения всех направлений подготовки / Воронежский ГАСУ; сост.: В.П. Авдеев [и др.]. – Воронеж, 2013. - 16 с.

Содержатся задания к контрольной работе № 2 по трем разделам курса «Информатика» и примеры выполнения. Определен объем семестровой самостоятельной подготовки студентов, приводится список литературы, которую рекомендуется использовать при выполнении контрольной работы и при подготовке к лабораторному практикуму в период сессии.

Предназначены для студентов заочного обучения всех направлений подготовки.

Табл. 1. Библиогр.: 7 назв.

УДК 69.003:658.5.012.22 ББК 32.973

Печатается по решению редакционно-издательского совета Воронежского ГАСУ

Рецензент - А.М. Бобрешов, д-р ф.-м. н., профессор Воронежского государственного университета

2

ВВЕДЕНИЕ

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

Настоящие методические указания предназначены для выполнения контрольной работы № 2, являющейся тематическим продолжением контрольной работы № 1, и содержат три раздела:

1.Вычисление суммы членов бесконечного ряда.

2.Алгоритмы со структурой вложенных циклов.

3.Организация подпрограмм.

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

 

 

 

 

Таблица 1

 

Способ определения вариантов заданий

 

 

 

 

 

 

 

 

№ задачи

1

2

3

4

 

 

 

 

 

 

 

№ варианта

a

b

| a - b |

a + b

 

 

 

 

 

 

 

Пусть окончание шифра (последние две цифры) ab. Пример: шифр имеет окончание 6б79, то есть a = 7, b = 9. Следовательно, в задаче № 1 выполняется вариант 7, в задаче № 2 - вариант 9, в задаче № 3 - вариант 2 ( | 7 - 9 | = 2 ), в задаче № 4 - вариант определяется последней цифрой результата, то есть 6 ( 7 + 9 = 16 ). Итогом выполнения контрольной работы № 2 по конкретному варианту являются ответы на каждый пункт задания, содержащие программы на алгоритмическом языке Pascal.

Предлагаемые задачи являются классическими, не требуют специального методического анализа и доступно изложены в приведенной литературе по информатике и основам программирования [1-7].

3

1. ВЫЧИСЛЕНИЕ СУММЫ ЧЛЕНОВ БЕСКОНЕЧНОГО РЯДА

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

Задания этого раздела являются типичными задачами, в которых используется итерационный цикл. Термин «итерация» происходит от латинского «iteratio» (повторение) и обозначает результат многократного применения некоторой математической операции. Количество повторений в таком цикле заранее не известно, так как не известно, при каком члене ряда будет достигнута требуемая точность. Для вычисления суммы членов ряда используется прием накопления суммы.

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

0)sin 0,9;

1)ln 1,6;

2)sh 1,8;

3)arcctg 2,2;

4)42,1 ;

5)e1,8 ;

6)ch 2,4;

7)arctg 0,8;

8)ln 4,5;

9)cos 0,6.

4

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

 

 

 

 

 

 

 

 

x3

 

 

x5

 

 

 

x7

 

 

 

 

 

 

 

 

x2n +1

 

 

 

 

 

 

 

 

 

sin x = x

 

 

 

 

+

 

 

 

 

 

 

 

+... +(1)n

 

 

 

 

 

+...

 

 

 

 

 

 

 

3!

 

5!

7!

(2n +1)!

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

x 4

 

 

 

 

x6

 

+... +(1)n

 

x 2n

 

 

 

 

 

 

 

 

 

 

cos x =1

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

 

+...

 

 

 

 

 

 

 

 

 

 

2!

 

4!

 

 

6!

 

(2n)!

ln(1+ x)= x

x2

 

 

 

x3

 

 

 

x4

+... +

 

(1)n +1

xn

+...

 

(для

 

x

 

 

<1)

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

3

 

 

4

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1+ x

 

 

x3

 

 

 

 

 

x5

 

 

 

 

x7

 

 

 

 

 

x2n +1

 

 

 

 

 

(для

 

 

 

 

<1)

ln

 

 

= 2 x +

 

 

 

 

 

 

+

 

 

 

 

 

 

+

 

 

 

 

 

+

... +

 

 

 

+...

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1x

 

3

 

 

 

 

 

 

5

 

 

 

 

 

 

7

 

 

 

 

 

2n +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ex =1+ x +

x2

+

x3

+... +

xn

+...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2!

 

 

3!

 

 

 

 

 

 

n!

 

 

 

 

a x =1+ x ln a +

x2 ln2 a

 

+

x3 ln3 a

+... +

(x ln a)n

 

+...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

2!

 

 

 

 

 

 

3!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

x5

 

 

 

x7

 

 

 

x2n +1

 

 

 

 

shx = x +

 

 

 

+

 

 

 

+

 

 

 

+... +

 

 

 

 

+...

 

 

 

 

3!

5!

7!

(2n +1)!

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

x4

 

 

 

 

 

 

x6

 

 

 

 

x2n

 

 

 

 

 

chx =1+

 

 

 

 

+

 

 

 

+

 

+... +

 

 

+...

 

 

 

 

 

2!

 

 

4!

 

 

6!

(2n)!

 

 

 

 

 

x3

x5

 

 

 

 

x7

+... +(1)n

x2n +1

(для

 

<1)

arctgx = x

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

+...

x

3

5

 

7

 

 

(2n +1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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