Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
39
Добавлен:
01.10.2019
Размер:
64 Кб
Скачать

Лабораторная работа №3

ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ

Студент гр. ИКПИ-81

Коваленко Л. А.

А. Постановка задачи

Требуется составить программу вычисления N значений функции для ряда равноотстоящих значений аргумента x, начиная от до . Функция зависит от параметра a.

Результаты вычислений оформить в виде таблицы, снабженной заголовком.

Б. Разработка алгоритма

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

Введем промежуточную переменную , посчитаем перед выполнением цикла для упрощения вычислений. Помимо этого, заведем ещё одну промежуточную , которая будет разницей между значениями x (иначе говоря, шагом роста x). В цикле переменная будет играть роль самой x: будет увеличиваться на dx по каждой итерации цикла (т. е. выполнять роль аргумента функции, роль переменной x; это сэкономит память).

В программе должен быть предусмотрен ввод исходных данных, к которым относятся переменные N, a, ; последовательные вычисления и выводы величин i, x и y в виде оформленной таблицы.

В. Таблица идентификаторов

N

Обозначение в задаче

Идентификатор

Назначение

1

N

N

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

2

a

a

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

3

xn

Входные и выходные данные

4

xk

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

5

y

y

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

6

dx

Промежуточные данные

7

i

8

b

Г. Схема алгоритма

Начало

0

1

Ввод N, a, xn, xk

Останов

Вывод i, x, y

8

Вывод заголовка таблицы

3

2

4

7

5

6

Д. Контрольный расчет

В качестве контрольного набора выберем N=3, a=3, xn=5, xk=15.

Результаты вычислений приведены ниже в таблице вычислений.

Назначение набора данных

Набор данных

Результаты вычислений

N

a

xn

xk

Ручные

Машинные

x

y

x

y

Контрольный набор

3

3

5

15

5

0.007

5

0.007

10

- 0.049

10

- 0.049

15

-0.095

15

-0.095

Рабочий набор

15

2

1.5

2.9

1.5

0.194

1.5

0.194

1.6

0.154

1.6

0.154

1.7

0.115

1.7

0.115

1.8

0.078

1.8

0.078

1.9

0.044

1.9

0.044

2.0

0.015

2.0

0.015

2.1

-0.009

2.1

-0.009

2.2

-0.027

2.2

-0.027

2.3

-0.037

2.3

-0.037

2.4

-0.038

2.4

-0.038

2.5

-0.030

2.5

-0.030

2.6

-0.013

2.6

-0.013

2.7

0.013

2.7

0.013

2.8

0.048

2.8

0.048

2.9

0.089

2.9

0.089

Е. Программа на языке Си

/* Файл Lab3.c */

#include <stdio.h>

#include <math.h>

/*

Лабораторная работа 3

ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ

Студент гр. ИКПИ-81

Коваленко Л. А.

*/

int main(int argc, char **argv)

{

int i, N;

float a, b, xn, xk, y, dx;

/* Ввод исходных данных */

printf("Input N, a, xn, xk: ");

scanf("%d %f %f %f", &N, &a, &xn, &xk);

/* Вычисления и вывод результатов */

dx = (xk - xn) / (N-1);

b = pow(sin(a),2);

printf("%4s %10s %10s\n", "No", "Argument", "Function");

for (i = 1; i <= N; i++) {

y = (sin(a*xn)+b)/(4+pow(sin(xn),2));

printf("%4d %10.3f %10.3f\n", i, xn, y);

xn += dx;

}

return 0;

}

Ж. Выводы

Тот факт, что результаты контрольных расчетов, выполненных вручную, достаточно совпадают с результатами контрольных расчетов, выполненных на ЭВМ, свидетельствуют о том, что программа составлена правильно.

Соседние файлы в папке Примеры отчетов