Язык Си. Лабораторные работы / Примеры отчетов / Lab2
.docx
Лабораторная работа №2
РАЗВЕТВЛЯЮЩИЕСЯ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ
Студент гр. ИКПИ-81
Коваленко Л. А.
А. Постановка задачи
Требуется составить программу вычисления значений функции
для заданного значения x и выполнить вычисления на компьютере.
Б. Разработка алгоритма
Необходимо вычислить значение функции, которая задана четырьмя формулами на разных участках её определения. Возможны два подхода к решению: первый – с использованием конструкции if else, второй – с обычным if. Первый способ быстрее (по времени выполнения) второго, поэтому следует выбрать именно его.
В программе должен быть предусмотрен ввод исходных данных, к которым относится переменная x; вычисление величины y; вывод результатов вычислений (вывод значения величины y).
В. Таблица идентификаторов
N |
Обозначение в задаче |
Идентификатор |
Назначение |
1 |
x |
x |
Аргумент функции |
2 |
y |
y |
Значение функции |
Г. Схема алгоритма
Начало 0
Ввод
x Останов 1 10 Да 2 3 4 Нет 8 Нет 5 Да Да Нет Вывод
y 9 6 7
Д. Контрольный расчет
Для тестирования программы выбираем четыре контрольных набора (в соответствии с количеством расчетных формул).
Результаты вычислений соответствующих значений функции приведены ниже в таблице вычислений.
Назначение набора данных |
Набор данных |
Результаты вычислений |
|
x |
Ручные |
Машинные |
|
y |
y |
||
Контрольный набор |
0 |
1 |
1 |
9 |
2.080084 |
2.080084 |
|
14 |
1 |
1 |
|
38 |
190 |
190 |
|
Рабочий набор |
40 |
200 |
200 |
Е. Программа на языке Си
/* Файл Lab2.c */
#include <stdio.h>
#include <math.h>
/*
Лабораторная работа 2
Разветвляющиеся вычислительные процессы
Студент гр. ИКПИ-81
Коваленко Л. А.
*/
int main(int argc, char **argv)
{
float x, y;
/* Ввод исходных данных */
printf("Input x: ");
scanf("%f", &x);
/* Вычисления */
if (x <= 4) y = (cos(x)+14)/(sin(x)+15);
else if (x < 12) y = pow(x + log(fabs(x-8)),1.0/3.0);
else if (x < 38) y = sqrt(x-13);
else y = 5*x;
/* Вывод результатов */
printf("%f\n", y);
return 0;
}
Ж. Выводы
Тот факт, что результаты контрольных расчетов, выполненных вручную, достаточно совпадают с результатами контрольных расчетов, выполненных на ЭВМ, свидетельствуют о том, что программа составлена правильно.