Лабораторные работы / лабы / lab_4_отчёт вар 9
.docxФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра «Информатика и вычислительная техника»
ОТЧЕТ
по лабораторной работе № 4
«ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ С ПРЕДУСЛОВИЕМ»
-
Выполнил:
студент группы ИВТ-234 Кукушкина А.А.
______________________________________
(дата, подпись)
Проверил:
ст. пр. доцент Дорошенко М.С.
_____________________________________________________
(дата, подпись)
Омск 2023
Лабораторная работа №4
Тема: Программирование циклических алгоритмов с предусловием
Вариант 9
Задание 1
Условие задачи:
Начертите структурную схему алгоритма, напишите и отладьте программу для табуляции следующих функций:
-a ex-3a, если 0 < x<= 3, a = 1; 1.5,
Z= -a(1+ln(x-3a)), если 3 < x <= 4, шаг dx=a/2.
Схема алгоритма:
Текст программы:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
float a, x, dx, z;
a = 1;
while (a <= 1.51)
{
x = 0;
dx = a / 2;
while (x <= 4.1)
{
if (0 <= x && x <= 3)
z = -a * exp(x - 3 * a);
else z = -a * (1 + log(x - 3 * a));
printf("a = %f, x = %f, z = %f\n", a, x, z);
x = x + dx;
}
a = a + 0.5;
}
_getch ();
return 0;
}
Результаты выполнения программы, выводы:
После выполнения программы на экран вывелись вычисленные значения z при соответствующих им значениях a и x.
Задание 2
Условие задачи:
Начертите структурную схему алгоритма, напишите и отладьте программу для табуляции следующих функций:
-a ex-3a, если 0 < x<= 3, a = 1; 1.5,
Z= -a(1+ln(x-3a)), если 3 < x <= 4, шаг dx=a/2.
С хема алгоритма:
Текст программы:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
float a, x, dx, z;
for (a = 1; a <= 1.51; a += 0.5)
{
dx = a / 2;
for (x = 0; x <= 4.1; x += dx)
{
if (0 <= x && x <= 3)
z = -a * exp(x - 3 * a);
else z = -a * (1 + log(x - 3 * a));
printf("a = %f, x = %f, z = %f\n", a, x, z);
}
}
_getch ();
return 0;
}
Результаты выполнения программы, выводы:
После выполнения программы на экран вывелись вычисленные значения z при соответствующих им значениях a и x.
Задание 3
Условие задачи:
Модифицировать (изменить) программу 3_2 для вычисления функций F1(x) и F2(x) с применением вместо счетного цикла оператора цикла с предусловием. Выполнить ее и сравнить результаты с полученными в предыдущей работе.
Схема алгоритма:
Текст программы:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define a 1.0
#define b 3.0
#define n 15.0
int main()
{
int i;
float x, F1, F2, s;
x = a;
s = fabs(b - a) / (n - 1);
printf(" ______________________________________\n");
printf("| i | x | F1 | F2 | \n");
i = 1;
while (x <= b+s/2)
{
F1 = sqrt(exp(x) - 1);
F2 = x * pow(log(x), 2);
printf(" ______________________________________ \n");
printf("| %3d | %f | %f | %f |\n", i, x, F1, F2);
x += s;
i += 1;
}
printf(" ______________________________________ \n");
_getch();
return 0;
}
Результаты выполнения программы, выводы:
После выполнения программы выводятся результаты, полностью совпадающие с результатами выполнения программы 3_2.