Файл: Контрольная работа по дисциплине Программирование Тема Вариант 9 Исполнитель студент i курса очнозаочной формы обучения ино группы индо озб би22 сб воронова А. Е.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 89

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.









Министерство образования и науки Российской Федерации
Уральский государственный экономический университет



Контрольная работа по дисциплине: Программирование


Тема: Вариант 9


Исполнитель: студент I курса

очно-заочной формы обучения ИНО

группы ИНДО ОЗБ БИ-22 СБ Воронова А.Е.










Екатеринбург

2023




Вариант 9.Разработать программу для построения графика функции у=2*sin(x)*eх/5. Считать из файла, указанного пользователем значения абсциссы Х, рассчитать для них значения ординаты У, записать результат вычисления в новый файл в формате Х1 – У1 Х2 – У2…Решение: // Функция, график которой надо построитьFunction f(x:real):real;beginf:=2*Sin(x)*exp(x/5);end;// строит трафик функцииprocedure GrOfFunc;varxl,x2:real; // границы изменения аргумента функцииyl,y2:real; // границы изменения значения функцииx:real; // аргумент функцииу:real; // значение функции в точке хdx:real; // приращение аргументаl,b:integer; // левый нижний угол области вывода графикаw,h:integer; // ширина и высота области вывода графикаmx,my:real; // масштаб по осям X и YхО,уО:integer; // точка — начало координатbegin// область вывода графика "1:=10; // X — координата левого верхнего// углаb:=Forml.ClientHeight-20; // Y — координата левого верхнего// углаh:=Forml.ClientHeight-40; // высотаw:=Forml.Width-40; // ширина xl:=0; // нижняя граница диапазона аргумента
х2:=25; // верхняя граница диапазона аргументаdx:=0.01; // шаг аргумента // найдем максимальное и минимальное значения// функции на отрезке [xl,x2]yl:=f(xl); // минимумy2:=f(xl); //максимумх:=xl;repeatу := f(x);if у < yl then yl:=y;if у > у2 then y2:=y;x:=x+dx;until (x>=x2);// вычислим масштабmy:=h/abs(y2-yl); // масштаб по оси Ymx:=w/abs(x2-xl); // масштаб по оси X // осихО:=1;уО:=b-Abs(Round(yl*my)); with forml.Canvas dobegin// осиMoveTo(l,b);LineTo(l,b-h);MoveTo(xO,yO);LineTo(xO+w, yO) ;TextOut (l+5,b-h,FloatToStrF(y2,ffGeneral,6,3) ) ;TextOut(1+5,b,FloatToStrF(yl,ffGeneral, 6,3) ) ;// построение графикаx:=xl;repeaty:=f(x);Pixels[xO+Round(x*mx),yO-Round(y*my)]:=clRed;x:=x+dx;until (x>=x2);end;end;procedure TForml.FormPaint(Sender: TObject);beginGrOfFunc;end;// изменился размер окна программыprocedure TForml.FormResize(Sender: TObject);begin// очистить формуforml.Canvas.FillRect(Rect(0,O,ClientWidth,ClientHeight));// построить графикGrOfFunc;end;