Краткие теоретические сведения

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

Новосибирский государственный технический университет

 


73                                                                                        № 2551

П741

 

 


ИНФОРМАТИКА

 

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

К расчетно-графическим заданиям

Для студентов I курса факультета РЭФ

 специальностей «Радиотехника»

И «Бытовая радиоэлектронная аппаратура»

Дневного отделения

 

 

Новосибирск

2003



ББК 73я7

   И 73

 

 

Составили канд. техн. наук, доц. В.В. Дуркин,

                               канд. техн. наук, доц. О.Н. Шлыкова

 

 Рецензент: д-р техн. наук, проф. И.С. Грузман

 

 

Работа подготовлена кафедрой радиоприемных

и радиопередающих устройств

 

  Ó Новосибирский государственный технический университет,  2003


 

Оглавление

  Стр.
Расчётно-графическое задание №1……………………….. 4
Тема №1. Арифметические выражения и условные операторы ……………………………………………………… 4
Тема №2. Вычисление сумм и произведений …………… 9
Тема №3. Ряды ……………………………………………... 14
Тема №4. Матрицы ………………………………………… 20
Расчётно-графическое задание №2 ……………………….. 24
Вычисление определенных интегралов ………………….. 24
1. Общие сведения …………………………………………. 24
2. Квадратурные формулы Ньютона – Котеса …………… 24
3. Квадратурная формула Гаусса …………………………. 29
4. Метод рядов ……………………………………………... 31






Расчётно-графическое задание № 1

Тема № 1. Арифметические выражения и условные операторы

 

Задание

С помощью оператора if определить, находится ли точка на плоскости в замкнутой области. Если находится, то вычислить значение функции f 1 (x, y), если нет – то значение функции f 2 (x, y). Результаты выдать на экран монитора. Значения x и y ввести с клавиатуры компьютера.

Таблица 1

№ п/п f 1 (x, y)

f 2 (x, y)

Область
1 tg (x) + ln (y 2)

exp(sin2 (x)+cos2 (y))

2 sin (x)/(1-cos y))

exp (arctg (x 2 + y 2))

Продолжение табл. 1

№ п/п f 1 (x, y) f 2 (x, y)

Область

3 2x + arctg (y) arctg (1/ x 2 + 1/ y 2)

4   ln | x 2 + 18 y |

5

6 exp (cos (y) + x)

7 (sin (x) + tg (y))3

         

 

Продолжение табл. 1

№ п/п

f 1 (x, y)

f 2 (x, y)

Область
8

tg (y)/(1 – cos2 (x))

9

exp (x + tg (y))

10

cos [(| x |–| y |)/(xy)]

cos2(x)/sin(2 x +3 y)

11

x2 – tg2 (y)

12

ln (1/ x 2 + 1/ y 2)

Продолжение табл. 1

№ п/п f 1 (x, y)

f 2 (x, y)

Область

13 x + tg (y)

ln | x 3 + 3 xy |

14 tg (y / sin2 (x))

15 2sin (x) cos (y)

16 tg (x)/e y

17 sin2 (x) + ln | y |

(x + sin (y))/cos (xy)

Продолжение табл. 1

№ п/п

f 1 (x, y)

f 2 (x, y)

Область

18

ln | y – 3 sin (x)|

arctg (ex + y 2)

19

ln |arctg (y / x)|

arctg (1/ x 2+1/ y 2)

20

exp[(5 x +8 y)/(xy)]

21

exp[2sin(x)+cos(y)]

exp (1/ x + 1/ y)

22

x sin (y)

tg (x 2 + y 2)

Окончание табл. 1

№ п/п

f 1 (x, y)

f 2 (x, y)

Область

23

1/sin (x) + ln| y |

x 3 + x 2 y + y 3

24

x 2 – 10 sin (xy)

25

e 5 x + 18 cos (y)

sin(x 2 + y 2)/(x 2 + y 2)

                 

Тема № 2. Вычисление сумм и произведений

Задание

С помощью оператора цикла for вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. Шаг изменения переменных i и j указывается только в том случае, если он отличается от единицы.

Вариант № 1 

  ,

Вариант № 2  

  

Вариант № 3  

             

Вариант № 4  

     ,     

Вариант № 5  

,   ,         

Вариант № 6  

,        

a – вещественное число, вводимое с клавиатуры.

Вариант № 7              

,        

a – вещественное число, вводимое с клавиатуры,

Вариант № 8  

,         , ,

               

Вариант № 9              

,           ,

a – вещественное число, вводимое с клавиатуры

Вариант № 10            

,     

Вариант № 11                        

, ,

  a и b – вещественные числа, вводимые с клавиатуры

Вариант № 12           

                           

,                  

Вариант № 13            

,    

Вариант № 14           

,

Вариант № 15                        

,        , ,

 

Вариант № 16            

,

,                        

Вариант № 17           

,    n > 2,

Вариант № 18           

,            

Вариант № 19                       

,  

Вариант № 20                        

, ,

Вариант № 21            

,        

Вариант № 22            

,         

l - вещественное число, вводимое с клавиатуры,              

Вариант № 23            

       ,                 ,

Вариант № 24                        

,

 

,                     

Вариант № 25                       

,          

 

Тема № 3. Ряды

Задание

Определить: 10 членов ряда; абсолютную разность между табличной функцией и суммой ряда. Функцию pow() в программе не применять! Для вычисления члена ряда необходимо использовать рекуррентные соотношения, т.е. выражать последующий член суммы через предыдущий . Выражение для D (n)студент должен найти самостоятельно. Значение x вводить с клавиатуры.


 

Таблица 2

Вари- ант   Функция   Ряд   Общий член Область допустимых значений x
1 2 3 4 5
  1   sin x
  2   cos x
  3
4 ln (1+ x)  

Продолжение табл.2

1 2 3 4 5
  5   arctg (x)  
  6   arctg (x)  
  7   arctg (x)
  8     arcctg (x)
  9

Продолжение табл.2

1 2 3 4 5
  10  
  11  
  12      
  13    

Продолжение табл.2

1 2 3 4 5
  14
  15    
  16  
  17  
  18
  19

Окончание табл.2

1 2 3 4 5
  20  
  21 arcsin(x)
  22 arccos(x)
  23
  24 sh (2 x)
  25 ch (3 x)







Тема № 4. Матрицы

Краткие теоретические сведения

Многомерные массивы в С++ как таковые не существуют. Например, двумерный массив int mass[2][3] следует рассматривать как массив из двух элементов, каждый из которых является массивом из трёх элементов. В памяти многомерный массив располагается в порядке возрастания самого правого индекса, т.е. mass[0][0], mass[0][1], mass[0][2], mass[1][0], mass[1][1], mass[1][2] Удобно по аналогии рассматривать двумерный массив как матрицу, т.е. массив mass[2][3] есть матрица, состоящая из двух строк и трёх столбцов, элементы этой матрицы в памяти располагаются по строкам.

Доступ к элементам многомерного массива возможен как с помощью индексированных переменных, так и указателей (компилятор всегда реализует доступ к элементам массива с помощью указателей и операции разыменования!). Адрес начала двумерного массива можно определить тремя способами, например, mass[0]= =&mass[0]= =&mass[0][0]. Поэтому доступ, например, к элементу массива mass, расположенному на пересечении первой строки и четвертого столбца, возможен следующим образом: mass[0][3], *(mass[0]+3). Пусть имеется массив mass[n][m] и необходимо получить доступ к элементу mass[i][j] через указатель - *(mass[0]+i*m+j). Это общее правило, и его полезно запомнить!

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

Для организации связи между независимыми функциями в языке С++ используется или аппарат формальных/фактических параметров, или набор глобальных либо внешних переменных. Формальными параметрами называются аргументы функции, стоящие в её заголовке и имена которых используются для построения тела функции при её определении.

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

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

Для того чтобы в теле всякой функции можно было обеспечить доступ к массиву, ей достаточно передать адрес его нулевого элемента, причем носителем последнего является для одномерного массива его имя (например, mass), а для двумерного – имя массива[0] (например, mass[0]).

Задание

В предлагаемых вариантах необходимо написать и протестировать отдельные функции для работы с матрицами, в том числе и функцию печати матрицы. Для организации связи между функциями использовать аппарат формальных/фактических параметров. Доступ к элементам матриц реализовывать с помощью указателей. Предусмотреть заполнение матрицы в функции main() как вручную, так и с помощью датчика случайных чисел. Функция rand() возвращает псевдослучайное целое число из диапазона 0…215-4.

Вариант № 1

Написать и протестировать функцию для перемножения матриц. Перемножение производить по следующим правилам относительно размерности сомножителей: An´mBm´k = Cn´k.

Вариант № 2

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

Вариант № 3

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

Вариант № 4

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

Вариант № 5

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

Вариант № 6

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

Вариант № 7

Написать и протестировать функцию для транспонирования матрицы.

Вариант № 8

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

Вариант № 9

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

Вариант № 10

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

Вариант № 11

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

Вариант № 12

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

Вариант № 13

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

Вариант № 14

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

Вариант № 15

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

Вариант № 16

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

Вариант № 17

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

Вариант № 18

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

Вариант № 19

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

Вариант № 20

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

Вариант № 21

Написать и протестировать функцию, которая определяет сумму элементов матрицы, значение которых больше 2,7 и меньше 5,6.

Вариант № 22

Написать и протестировать функцию, которая определяет произведение элементов матрицы, значение которых больше 10,15 или меньше – 3.

Вариант № 23

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

Вариант № 24

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

Вариант № 25*

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


 

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: