Программирование

Автор работы: Пользователь скрыл имя, 14 Марта 2011 в 18:27, курсовая работа

Описание работы

Задача 1.

Составить программу, которая позволяет численно убедиться в справедливости равенства, приведенного ниже, с заданной точностью E:



Вычисления необходимо продолжать до тех пор, пока для очередного члена ряда А не будет выполнено условие: . Значение Е вводятся в диалоге по запросу пользователя (например, ). Вывести значения всех членов ряда и количество итераций, необходимых для достижения заданной точности.

Содержание работы

Условие задач 2

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

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

Список используемой литературы: 33

Файлы: 1 файл

Медведев Н.А - 2 курс, Курсовая.docx

— 411.44 Кб (Скачать файл)

end

else Edit48.Text:='Ошибкаввода';

{------------------------------------------------------------------} 

Edit47.Text:=inttostr(M);

if (M=5) then button47.Click; 

end; 

procedure TForm1.Button46Click(Sender: TObject);

vari,j:integer;

begin

Edit43.Text:='0';

Edit44.Text:='50';

Edit45.Text:='0,007';

Edit46.Text:='4';

Edit47.Text:='';

Edit48.Text:='';

Edit49.Text:='';

Button48.Enabled:=False;

PaintBox1.Visible:=False;

StringGrid3.Visible:=True; 

{=== Очистка таблицы ================================================} 

with StringGRid3 do

for i:=0 to RowCount do

for j:=0 to ColCount do

Cells[j, i]:=''; 

StringGRid3.RowCount:=7; 

{=== Задание  таблице начального вида =================================} 

StringGrid3.Cells[0,0]:='            t';

StringGrid3.Cells[1,0]:='    X=R*Cos(t)';

StringGrid3.Cells[2,0]:='    Y=R*Sin(t)'; 

end; 

procedure TForm1.Button47Click(Sender: TObject);

vari,ks,a:integer;

h,tn,R,x,y:real;

tnE:string;

begin 

a:=StrToInt(Edit46.Text);    // a - значениедлявычислениярадиуса 

h:=StrToFloat(Edit45.Text);  // h - шаг 

tnE:=Edit43.Text;            // t начальная Edit (т.е. не число)

tn:=StrToFloat(Edit43.Text);   // t на n-омшаге - число 

i:=1;      // для записывания в i-ую строку таблицы

ks:=2;     // для приращивания кол-ва строк таблицы 

// крутить  пока не достигнет tk (tk - см. условие  задачи)

while (tn<=StrToInt(Edit44.Text)) do begin 

StringGrid3.Cells[0,i]:=tnE;  // в i-ую строку записать tnE 

R:=a*StrToFloat(tnE)/2;       // находим R - по формуле задания

  x:=R*Cos(StrToFloat(tnE));    // находим x - по формуле задания

  y:=R*Sin(StrToFloat(tnE));    // находим y - по формуле задания 

StringGrid3.Cells[1,i]:=FloatToStr(x); // в i-уюстрокузаписать x

StringGrid3.Cells[2,i]:=FloatToStr(y); // в i-уюстрокузаписать y 

i:=i+1;                                // увеличиваем i  на 1

tnE:=FloatToStr(StrToFloat(tnE)+h);  // Изменяем tnE с учетом шага 

  StringGrid3.RowCount:=ks;   // задаем кол-во строк в таблице

ks:=ks+1;                    // увеличиваем переменную кол-ва строк

tn:=tn+h;                    // изменяем t n-ое на заданный шаг 

end;

Button48.Enabled:=True; 

end; 

procedure TForm1.FormActivate(Sender: TObject);

begin

paintbox1.refresh;

OSI;

end; 

procedure TForm1.Button48Click(Sender: TObject);

begin 

if (Button48.Caption='Показатьграфик') then

begin

   StringGrid3.Visible:=false;

   PaintBox1.Visible:=true;

   Button48.Caption:='Показатьтаблицу';

   paintbox1.refresh;

   OSI;

   Button49.Click;

end else

begin

   StringGrid3.Visible:=true;

   PaintBox1.Visible:=false;

   Button48.Caption:='Показатьграфик';

end; 

end; 

procedure TForm1.Button49Click(Sender: TObject);

varks,i:integer;

Xt,Yt:real;

begin 

RazX:=PaintBox1.Width;

RazY:=PaintBox1.Height; 

Xmin:=0-(PaintBox1.Width div 2);

Xmax:=PaintBox1.Width div 2; 

Ymin:=0-(PaintBox1.Height div 2);

Ymax:=PaintBox1.Height div 2; 

ks:=0;

ks:=StringGrid3.RowCount-1;

  Edit49.Text:=IntToStr(ks);

with form1.PaintBox1,canvas do begin 

for i:=1 to ks do begin

Xt:=StrToFloat(StringGrid3.Cells[1,i]);

Yt:=StrToFloat(StringGrid3.Cells[2,i]);

Canvas.Pixels[Xs(Xt), Ys(Yt)]:=clRed; 

end;

PaintBox1.Canvas.TextOut(10, 10, 'Функция "Спираль"'); 

PaintBox1.Canvas.TextOut(Xs(0),Ys(0),'0');      // подписываем начало координат

PaintBox1.Canvas.TextOut(PaintBox1.Width-10,Ys(-1),'x');      // подписываем y

PaintBox1.Canvas.TextOut((PaintBox1.Width div 2)-10, 5,'y');   // подписываем x 

// рисуем стрелку вправо

MoveTo(PaintBox1.Width, PaintBox1.Height div 2);

PaintBox1.Canvas.LineTo(PaintBox1.Width-10, (PaintBox1.Height div 2)-4);

MoveTo(PaintBox1.Width, PaintBox1.Height div 2);

PaintBox1.Canvas.LineTo(PaintBox1.Width-10, (PaintBox1.Height div 2)+4); 

// рисуем стрелку вверх

MoveTo(PaintBox1.Width div 2, 0);

PaintBox1.Canvas.LineTo((PaintBox1.Width div 2)-4, 10);

MoveTo(PaintBox1.Width div 2, 0);

PaintBox1.Canvas.LineTo((PaintBox1.Width div 2)+4, 10);

end; 

end; 

procedure TForm1.PageControl1Change(Sender: TObject);

begin 

if  PageControl1.ActivePage=TabSheet1 then

begin

     Form1.Height:=484;

     N8.Visible:=False;

     N9.Visible:=False;

end; 

if  PageControl1.ActivePage=TabSheet2 then

begin

     PageControl2.ActivePage:=TabSheet8;

     N8.Visible:=true;

     N9.Visible:=true;

end; 

if  PageControl1.ActivePage=TabSheet3 then

begin

     PageControl2.ActivePage:=TabSheet9;

     N8.Visible:=true;

     N9.Visible:=true;

end; 

if  PageControl1.ActivePage=TabSheet4 then

begin

     PageControl2.ActivePage:=TabSheet10;

     N8.Visible:=true;

     N9.Visible:=true;

end; 

if  PageControl1.ActivePage=TabSheet5 then

begin

     PageControl2.ActivePage:=TabSheet11;

     N8.Visible:=true;

     N9.Visible:=true;

end; 

if  PageControl1.ActivePage=TabSheet6 then

begin

     PageControl2.ActivePage:=TabSheet12;

     N8.Visible:=true;

     N9.Visible:=true;

end; 

if  PageControl1.ActivePage=TabSheet7 then

begin

     PageControl2.ActivePage:=TabSheet13;

     N8.Visible:=true;

     N9.Visible:=true;

end;

end; 

procedure TForm1.PageControl2Change(Sender: TObject);

begin

if  PageControl2.ActivePage=TabSheet8 then

     PageControl1.ActivePage:=TabSheet2; 

if  PageControl2.ActivePage=TabSheet9 then

     PageControl1.ActivePage:=TabSheet3; 

if  PageControl2.ActivePage=TabSheet10 then

     PageControl1.ActivePage:=TabSheet4; 

if  PageControl2.ActivePage=TabSheet11 then

     PageControl1.ActivePage:=TabSheet5; 

if  PageControl2.ActivePage=TabSheet12 then

     PageControl1.ActivePage:=TabSheet6; 

if  PageControl2.ActivePage=TabSheet13 then

     PageControl1.ActivePage:=TabSheet7;

end; 

procedure TForm1.Button51Click(Sender: TObject);

begin

n8.Visible:=false;

n9.Visible:=false;

end; 

end.

 

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

 

    Задача 1.

    В программу вводится число Е. 

    После нажатия  на кнопку «вычислить»

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

    и количество итераций. 

    В разделе программы

    «техническая информация…»

    отслеживается сумма  на

    соответствующем шаге. 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    Задача 2.

   
Ввод данных можно осуществить как автоматически, так и вручную. 

Предусмотрена проверка на правильность введенных данных вручную. 

После заполнения программа  подсчитывает, чему равно значение выражения. 

В «технической информации»  можно отследить отдельно сумму  квадратов и квадрат суммы.

Также можно увидеть  последнее число в массиве, или  увидеть любой элемент массива  по запросу.

 
 

 

    Задача 3.

 

Параметры задаются вручную или

Автоматически случайным  образом. 

В первый 4-х строках  таблицы

подсчитываются значения

соответственного  столбца. 

При заполнении автоматически

следует учитывать, что возможный

диапазон включает все целые трехзначные

числа. И в связи  с этим возможна задержка

в работе программы. Это зависит от

быстродействия вашего компьютера. 

Также в «технической информации»

можно получить любой элемент массива

по запросу его координат. 
 
 
 
 
 
 
 
 
 

    Задача 4.

 
 
 
 

 
 
 
 
 

При вводе  текста и нажатии «удалить все гласные буквы из текста» происходит удаление гласных букв текста. Причем предусмотрена возможность переключения к исходному тексту и обратно для сравнения.

Программа выводит количество удаленных гласных. В ««технической информации» можно отследить количество строк в тексте,  длину последней строки и начало заполнения массива буквами текста, в котором происходит проверка букв.

 

    Задача 5.

 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Вводятся  начальные данные, на основании которых  вычисляются X, Y. Полученные результаты сводятся в таблицу, по которой по нажатии на кнопку «показать график» строится график функции.

В программе  предусмотрена возможность переключения между графиком и таблицей, а так  же сброс данных в состояние по умолчанию.  Как и во всей программе – в разделе «технической информации» можно увидеть дополнительные данные. 

    Задача 6.

     
     
     
     
     
     
     

 
 
 
 
 
 
 
 
 
 
 

Информация о работе Программирование