Функции

Автор работы: Пользователь скрыл имя, 19 Сентября 2011 в 18:05, лабораторная работа

Описание

Составить подпрограмму определения минимума функции y=f(x), заданной в дискретных точках отрезка [а,b] с постоянным шагом h. Используя ее найти минимумы функций y1=sin2x*cosx-ln|x|, y2=x2-2x+8.

Работа состоит из  1 файл

Функциии СИ.doc

— 102.50 Кб (Скачать документ)

Филиал  ГОУВПО “МЭИ (ТУ)”  в г. Смоленске 
 

кафедра “Информатики” 
 
 
 
 
 
 
 
 

Лабораторная  работа

по курсу  «Программирование на языке высокого уровня» 

“Функции” 
 
 
 
 

Группа: ВМ-09

Студент: Тимошенкова Т.В.

Преподаватель: Нестеров А.П.  
 
 
 
 
 
 
 
 
 
 
 
 
 

Смоленск  2011г.

    1.Техническое   задание. 

    Составить подпрограмму определения минимума функции  y=f(x), заданной в дискретных точках отрезка [а,b] с постоянным шагом h. Используя ее найти минимумы функций y1=sin2x*cosx-ln|x|, y2=x2-2x+8. 
 

      2.Анализ технического задания 

    Создаем две функции для вычисления значений заданных функций, которые будут  вызываться в процессе работы. 
 
 

    3. Модульная структура 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    4. Тексты  программ 

    #include <stdio.h>

    #include <math.h>

    #include <vcl.h>

    #pragma hdrstop

    #include "Unit1.h"

    //---------------------------------------------------------------------------

    #pragma package(smart_init)

    #pragma resource "*.dfm"

    TForm1 *Form1;

    //---------------------------------------------------------------------------

    __fastcall TForm1::TForm1(TComponent* Owner)

            : TForm(Owner)

    {

    }

    //--------------------------------------------------------------------------- 
 

    float fn1(float x)

    {return sin(x)*sin(x)*cos(x)-log(fabs(x));} 

    float fn2(float x)

    {return x*x-2*x+8;} 
 

    void __fastcall TForm1::Button1Click(TObject *Sender)

    {  float a,b,h,x,min,y;

    a=StrToFloat(Edit1->Text);

    b=StrToFloat(Edit2->Text);

    h=StrToFloat(Edit3->Text);

    x=a-h;

    min=fn1(x);

    Memo2->Clear();

    while (x<=b)

    {x=x+h;

    y=fn1(x);

    Memo2->Lines->Add(FloatToStr(y));

    if (y<min)

    { min=y;} }

    Memo1->Clear();

    Memo1->Lines->Add(FloatToStr(min));

    } 
 

    void __fastcall TForm1::Button2Click(TObject *Sender)

    {   float a,b,h,x,min,y;

    a=StrToFloat(Edit1->Text);

    b=StrToFloat(Edit2->Text);

    h=StrToFloat(Edit3->Text);

    x=a-h;

    min=fn2(x);

    Memo2->Clear();

    while (x<=b)

    {x=x+h;

    y=fn2(x);

    Memo2->Lines->Add(FloatToStr(y));

    if (y<min)

    { min=y;} }

    Memo3->Clear();

    Memo3->Lines->Add(FloatToStr(min));

    } 
 
 
 
 
 
 
 
 

    6.Результаты  работы. 

 

7. Заключение.

В процессе работы мы рассмотрели работу с функциями.  

Информация о работе Функции