Лабораторные работы / лабы / lab_3_отчёт вар 9
.docxФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра «Информатика и вычислительная техника»
ОТЧЕТ
по лабораторной работе № 3
«ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ С ЗАДАННЫМ ЧИСЛОМ ПОВТОРЕНИЙ»
-
Выполнил:
студент группы ИВТ-234 Кукушкина А.А.
______________________________________
(дата, подпись)
Проверил:
ст. пр. доцент Дорошенко М.С.
_____________________________________________________
(дата, подпись)
Омск 2023
Лабораторная работа №3
Тема: Программирование циклических алгоритмов с заданным
числом повторений
Вариант 9
Задание 1
Условие задачи:
Для заданных с клавиатуры значений переменных x и n вычислить
Y= x2/i.
Схема алгоритма:
Текст программы:
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <math.h>
#define n 15.0
int main()
{
setlocale(LC_ALL, "RUS");
int i;
float x, r, y;
y = 0;
printf("Введите значение x. \n");
scanf_s("%f", &x);
for (i = 1; i <= n; ++i)
{
r = x * x / i;
y = y + r;
}
printf("y = %f", y);
_getch();
return 0;
}
Результаты выполнения программы, выводы:
После выполнения программы при x = 4 на экран выводится 53,091663. Предварительно рассчитанный при подготовке к лабораторной работе на калькуляторе результат составил 53,09166, что подтверждает верность программы.
Задание 2
Условие задачи:
Вычислить значения двух функций в n равномерно распределенных в диапазоне а≤x≤b точках. Результаты оформить в виде таблицы. (a = 1, b = 3, n = 15, F1(x) = , F2(x) = x ln2 x)
Схема алгоритма:
Текст программы:
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <math.h>
#define a 1.0
#define b 3.0
#define n 15.0
int main()
{
setlocale(LC_ALL, "RUS");
int i;
float x, F1, F2, s;
s = (b - a) / (n - 1);
x = a;
printf(" ______________________________________\n");
printf("| i | x | F1 | F2 | \n");
for (i = 1; i <= n; i++)
{
F1 = sqrt(exp(x) - 1);
F2 = x * pow(log(x), 2);
printf(" ______________________________________ \n");
printf("| %3d | %f | %f | %f |\n", i, x, F1, F2);
x = x + s;
}
printf(" ______________________________________ \n");
_getch();
return 0;
}
Результаты выполнения программы, выводы:
После выполнения программы при a = 1, b = 3, a <= x <= b, n = 15 на экран выводится таблица со значениями F1 и F2, где значения x равномерно распределены в данном диапазоне с шагом s. Предварительно рассчитанное на калькуляторе при подготовке к лабораторной работе значение шага (по формуле (a-b)/(n-1)) от x1 до x2 и т.д. до x15 составило 0,142857, что позволило вручную вычислить значения F1 (по формуле F1 = ) и F2 (по формуле F2 = x ln2 x) для каждого x, которые совпали со значениями, выведенными программой, что подтверждает верность программы.
Задание 3
Условие задачи:
Вычислить значения двух функций в n равномерно распределенных в диапазоне а≤x≤b точках. Результаты оформить в виде таблицы. (a = 1, b = 3, n = 15, F1(x) = , F2(x) = x ln2 x)
Схема алгоритма:
Текст программы:
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <math.h>
#define a 1.0
#define b 3.0
#define n 15.0
int main()
{
setlocale(LC_ALL, "RUS");
float x, F1, F2, s, k;
s = (b - a) / (n - 1);
k = b + s/2;
printf(" ________________________________ \n");
printf("| x | F1 | F2 | \n");
for (x = a; x <= k; x += s)
{
F1 = sqrt(exp(x) - 1);
F2 = x * pow(log(x), 2);
printf(" ________________________________ \n");
printf("| %f | %f | %f |\n", x, F1, F2);
}
printf(" ________________________________ \n");
_getch();
return 0;
}
Результаты выполнения программы, выводы:
После выполнения программы при a = 1, b = 3, a <= x <= b, n = 15 на экран выводится таблица со значениями F1 и F2, где значения x равномерно распределены в данном диапазоне с шагом s. Предварительно рассчитанное на калькуляторе при подготовке к лабораторной работе значение шага (по формуле (a-b)/(n-1)) от x1 до x2 и т.д. до x15 составило 0,142857, что позволило вручную вычислить значения F1 (по формуле F1 = ) и F2 (по формуле F2 = x ln2 x) для каждого x, которые совпали со значениями, выведенными программой, что подтверждает верность программы.