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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра «Информатика и вычислительная техника»

ОТЧЕТ 

по лабораторной работе № 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, которые совпали со значениями, выведенными программой, что подтверждает верность программы.

Соседние файлы в папке Лабораторные работы