Главная страница
Навигация по странице:

  • Уральский государственный экономический университет Контрольная работа по дисциплине: Программирование Тема: Вариант 9

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


    Скачать 22.97 Kb.
    НазваниеКонтрольная работа по дисциплине Программирование Тема Вариант 9 Исполнитель студент i курса очнозаочной формы обучения ино группы индо озб би22 сб воронова А. Е
    Дата21.05.2023
    Размер22.97 Kb.
    Формат файлаdocx
    Имя файлаКонтрольная работа.docx
    ТипКонтрольная работа
    #1148196













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



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


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


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

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

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










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

    2023






    Вариант 9.

    Разработать программу для построения графика функции у=2*sin(x)*eх/5. Считать из файла, указанного пользователем значения абсциссы Х, рассчитать для них значения ординаты У, записать результат вычисления в новый файл в формате Х1 – У1

    Х2 – У2…

    Решение:

    // Функция, график которой надо построить
    Function f(x:real):real;
    begin
    f:=2*Sin(x)*exp(x/5);
    end;// строит трафик функции
    procedure GrOfFunc;
    var
    xl,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); // масштаб по оси Y
    mx:=w/abs(x2-xl); // масштаб по оси X // оси
    хО:=1;
    уО:=b-Abs(Round(yl*my)); with forml.Canvas do
    begin
    // оси
    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;
    repeat
    y:=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);
    begin
    GrOfFunc;
    end;// изменился размер окна программы
    procedure TForml.FormResize(Sender: TObject);
    begin
    // очистить форму
    forml.Canvas.FillRect(Rect(0,O,ClientWidth,ClientHeight));
    // построить график
    GrOfFunc;
    end;


    написать администратору сайта