Реализация циклических алгоритмов

Автор работы: Пользователь скрыл имя, 10 Октября 2013 в 17:42, лабораторная работа

Краткое описание

Цель: написать программу вычисления значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом.

Прикрепленные файлы: 1 файл

Otchet_po_labe_no_3.docx

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

Белорусский государственный университет информатики  и радиоэлектроники

Кафедра вычислительных методов и программирования

 

 

 

 

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

 

Тема: «Реализация циклических алгоритмов»

 

 

Вариант 8

 

 

Выполнил студент    группы ххххххххх 
Принял: Беспалов С.А.

 

 

Минск 2011

 

Цель: написать программу вычисления значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом.

Индивидуальные задания. Вариант 8.

  ,    .

 

 

При a = 0,1; b = 1,0; h = 0,1; n=10

Блок схема алгоритма.


 

 


 







 


 





 

 









 

 



 



 

 

 

 

 

 

 

 

 

 

Оконный режим:

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include <math.h>

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

fastcall TForm1::TForm1(TComponent* Owner)

        : TForm(Owner)

{

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

        double a, b, h, y, s,r, x;

        int n;

        a = StrToFloat(Edit1->Text);

        n = StrToInt(Edit3->Text);

        b = StrToFloat(Edit2->Text);

        h = StrToFloat(Edit4->Text);

        Memo1->Clear();

        Memo1->Lines->Add("Laba 3");

        Memo1->Lines->Add("Under A = " + FloatToStrF(a, ffFixed, 7, 7)

        + "; N = " + IntToStr(n) + "; B = " + FloatToStrF(b, ffFixed, 7, 7)

        + "; H = " + FloatToStrF(h, ffFixed, 7, 7));

        Chart1->Series[0]->Clear();

        Chart1->Series[1]->Clear();

        for(x = a; x <= b; x += h)

        {

                y = exp(2*x);

                r=s = 1;

                for(int k = 1; k <= n; k++)

                {

                        r=r*2*x/k ;

                      s+=r ;

                }

                Chart1->Series[0]->AddXY(x, y);

                Chart1->Series[1]->AddXY(x, s);

               Memo1->Lines->Add("X = " + FloatToStrF(x, ffFixed, 7, 7)

                + "; Y(x) = " + FloatToStrF(y, ffFixed, 7, 7)

                + "; S(x) = " + FloatToStrF(s, ffFixed, 7, 7)

                + "; |Y(x) - S(x)| = " + FloatToStrF(fabs(y - s), ffFixed, 7, 7));

        }

}

void __fastcall TForm1::Button2Click(TObject *Sender)

{

  Memo1->Clear();

}

Результаты работы программы.

Консольный режим 

#include <vcl.h>

#pragma hdrstop

#include <stdio.h>

#include <conio.h>

#include <math.h>

#pragma argsused

int main(int argc, char* argv[])

{

        double a, b, h, x, y, s, r;

        int n;

        printf("Laba 3\n");

        printf("\nPlease enter value (a, b, h, n): ");

        scanf("%lf%lf%lf%d", &a, &b, &h, &n);

        printf("Under a = %7.7lf; b = %7.7lf; h = %7.7lf; n = %d\n", a, b, h, n);

               for(x = a; x <= b; x += h)

        {

                y = exp(2*x);

                r = s = 1;

                for(int k = 1; k <= n; k++)

                {

                        r=r*2*x/k ;

                        s+=r ;

                }

                printf("X = %7.7lf; Y(x) = %7.7lf; S(x) = %7.7lf; |Y(x) - S(x)| = %7.7lf\n",

                x, y, s, fabs(y - s));

        }

        printf("\nPress any key ...\n");

        getch();

        return 0;

}

 

 

 

 

Результаты работы программы.

 

 


Информация о работе Реализация циклических алгоритмов