Узнать стоимость написания работы
Оставьте заявку, и в течение 5 минут на почту вам станут поступать предложения!
Реферат

Реферат по предмету "Информатика"


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

КУРСОВАЯ РАБОТА


По программированию


Вариант 4


Выполнил:


Студент заочного отделения


Группы ИТ-21z


Медведев Николай Александрович


Руководитель:


Емельянов Д.А



Оглавление


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


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


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


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


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


Задача 1.


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



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


Задача 2.


Задан одномерный массив из N целых чисел. Заполнить массив случайными числами из интервала [A, B]. Предусмотреть ввод в массив как положительных, так и отрицательных чисел. Значения N, A, B задаются в диалоге с компьютером по желанию пользователя. Составить программу, которая находит разность между суммой квадратов всех четных элементов массива и квадратом суммы всех нечетных элементов. Исходный массив и результаты работы вывести на экран.


Задача 3.


Задан двумерный массив M2[n, m] целых чисел. Заполнить массив случайными числами из интервала [A, B]. Предусмотреть ввод в массив как положительных, так и отрицательных чисел. Значения n, m, A, B задаются в диалоге с компьютером по желанию пользователя. Составить программу, которая вычисляет сумму и количество отрицательных и сумму и количество положительных элементов для каждого столбца этого массива. Исходный массив и все необходимые для проверки результаты работы вывести на экран.


Задача 4.


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


Задача 5.


Составить программу табулирования функции «спираль», заданной параметрически:




Где: , a>0,


На интервале изменения параметра с заданным шагом h.


Все необходимые значения (t0, tk, h, A) задаются в диалоге с компьютером по желанию пользователя. На экран выводится таблица значений t, x, y на заданном интервале изменения параметра t с заданным шагом. Привести графическую иллюстрацию задачи: построить график заданной функции на заданном интервале с необходимыми комментариями (подписи осей координат, формула графика). Параметры функции подобрать так, чтобы ее график был «фотогеничен».


Задача 6.


Написать программу создания/чтения файла, содержащего сведения по теме «служба знакомств». Каждая запись файла должна содержать 4-5 полей (названия придумать самостоятельно). Файл должен содержать не менее 8-10 записей.



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


unit Unit1;


interface


uses


Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,


Dialogs, Menus, ComCtrls, XPMan, StdCtrls, ExtCtrls, Buttons, Grids;


type


TForm1 = class(TForm)


MainMenu1: TMainMenu;


PageControl1: TPageControl;


PageControl2: TPageControl;


TabSheet1: TTabSheet; TabSheet8: TTabSheet; TabSheet7: TTabSheet; TabSheet12: TTabSheet;


TabSheet2: TTabSheet; TabSheet9: TTabSheet; TabSheet6: TTabSheet; TabSheet5: TTabSheet;


TabSheet3: TTabSheet; TabSheet10: TTabSheet; TabSheet13: TTabSheet; TabSheet11: TTabSheet;


TabSheet4: TTabSheet;


Button1: TButton; Button7: TButton; Button13: TButton; Button49: TButton;


Button2: TButton; Button8: TButton; Button14: TButton; Button47: TButton;


Button3: TButton; Button9: TButton; Button15: TButton; Button50: TButton;


Button4: TButton; Button10: TButton; Button16: TButton; Button48: TButton;


Button5: TButton; Button11: TButton; Button17: TButton; Button46: TButton;


Button6: TButton; Button12: TButton; Button18: TButton; Button45: TButton;


Button19: TButton; Button22: TButton; Button25: TButton; Button42: TButton;


Button20: TButton; Button23: TButton; Button26: TButton; Button39: TButton;


Button21: TButton; Button24: TButton; Button27: TButton; Button44: TButton;


Button28: TButton; Button29: TButton; Button37: TButton; Button41: TButton;


Button30: TButton; Button33: TButton; Button32: TButton; Button38: TButton;


Button31: TButton; Button34: TButton; Button35: TButton; Button43: TButton;


Button36: TButton; Button40: TButton;


N2: TMenuItem; N11: TMenuItem; N51: TMenuItem; N22: TMenuItem; N7: TMenuItem;


N3: TMenuItem; N21: TMenuItem; N61: TMenuItem; N23: TMenuItem; N8: TMenuItem;


N4: TMenuItem; N31: TMenuItem; N6: TMenuItem; N24: TMenuItem; N9: TMenuItem;


N5: TMenuItem; N41: TMenuItem; N12: TMenuItem; N52: TMenuItem; N1: TMenuItem;


N62: TMenuItem;


Panel1: TPanel; Panel4: TPanel; Panel7: TPanel; Panel6: TPanel;


Panel2: TPanel; Panel5: TPanel; Panel8: TPanel; Panel3: TPanel;


Label8: TLabel; Label12: TLabel; Label16: TLabel; Label20: TLabel; Label121: TLabel;


Label9: TLabel; Label13: TLabel; Label17: TLabel; Label21: TLabel; Label2: TLabel;


Label10: TLabel; Label14: TLabel; Label18: TLabel; Label22: TLabel; Label120: TLabel;


Label11: TLabel; Label15: TLabel; Label19: TLabel; Label23: TLabel; Label116: TLabel;


Label24: TLabel; Label28: TLabel; Label32: TLabel; Label36: TLabel; Label112: TLabel;


Label25: TLabel; Label29: TLabel; Label33: TLabel; Label37: TLabel; Label108: TLabel;


Label26: TLabel; Label30: TLabel; Label34: TLabel; Label38: TLabel; Label119: TLabel;


Label27: TLabel; Label31: TLabel; Label35: TLabel; Label39: TLabel; Label115: TLabel;


Label1: TLabel; Label4: TLabel; Label7: TLabel; Label42: TLabel; Label111: TLabel;


Label5: TLabel; Label40: TLabel; Label43: TLabel; Label107: TLabel; Label118: TLabel;


Label3: TLabel; Label6: TLabel; Label41: TLabel; Label44: TLabel; Label114: TLabel;


Label45: TLabel; Label48: TLabel; Label51: TLabel; Label54: TLabel; Label110: TLabel;


Label46: TLabel; Label49: TLabel; Label52: TLabel; Label55: TLabel; Label106: TLabel;


Label47: TLabel; Label50: TLabel; Label53: TLabel; Label56: TLabel; Label117: TLabel;


Label57: TLabel; Label59: TLabel; Label61: TLabel; Label63: TLabel; Label113: TLabel;


Label58: TLabel; Label60: TLabel; Label62: TLabel; Label64: TLabel; Label109: TLabel;


Label65: TLabel; Label70: TLabel; Label71: TLabel; Label72: TLabel; Label105: TLabel;


Label73: TLabel; Label66: TLabel; Label67: TLabel; Label75: TLabel; Label104: TLabel;


Label68: TLabel; Label76: TLabel; Label79: TLabel; Label82: TLabel; Label99: TLabel;


Label69: TLabel; Label77: TLabel; Label80: TLabel; Label83: TLabel; Label94: TLabel;


Label74: TLabel; Label78: TLabel; Label81: TLabel; Label89: TLabel; Label88: TLabel;


Label84: TLabel; Label90: TLabel; Label95: TLabel; Label100: TLabel; Label103: TLabel;


Label85: TLabel; Label91: TLabel; Label96: TLabel; Label101: TLabel; Label98: TLabel;


Label86: TLabel; Label92: TLabel; Label97: TLabel; Label102: TLabel; Label93: TLabel;


Label87: TLabel;


Image1: TImage; Image6: TImage; Image5: TImage; Image10: TImage;


Image2: TImage; Image7: TImage; Image9: TImage; Image12: TImage;


Image3: TImage; Image8: TImage; Image4: TImage; Image11: TImage;


Memo1: TMemo; Memo3: TMemo;


Memo2: TMemo; Memo5: TMemo;


Edit1: TEdit; Edit16: TEdit; Edit23: TEdit; Edit34: TEdit; Edit49: TEdit;


Edit2: TEdit; Edit17: TEdit; Edit24: TEdit; Edit35: TEdit; Edit48: TEdit;


Edit5: TEdit; Edit18: TEdit; Edit25: TEdit; Edit36: TEdit; Edit47: TEdit;


Edit6: TEdit; Edit4: TEdit; Edit26: TEdit; Edit37: TEdit; Edit46: TEdit;


Edit7: TEdit; Edit3: TEdit; Edit27: TEdit; Edit38: TEdit; Edit45: TEdit;


Edit8: TEdit; Edit14: TEdit; Edit28: TEdit; Edit39: TEdit; Edit44: TEdit;


Edit9: TEdit; Edit15: TEdit; Edit29: TEdit; Edit40: TEdit; Edit54: TEdit;


Edit10: TEdit; Edit19: TEdit; Edit30: TEdit; Edit41: TEdit; Edit56: TEdit;


Edit11: TEdit; Edit20: TEdit; Edit31: TEdit; Edit42: TEdit; Edit55: TEdit;


Edit12: TEdit; Edit21: TEdit; Edit32: TEdit; Edit43: TEdit; Edit33: TEdit;


Edit13: TEdit; Edit22: TEdit;


Timer1: TTimer; Bevel1: TBevel;


Timer2: TTimer; Bevel2: TBevel;


ScrollBar1: TScrollBar; PaintBox1: TPaintBox;


StringGrid1: TStringGrid;


StringGrid2: TStringGrid;


StringGrid3: TStringGrid;


SaveDialog1: TSaveDialog;


OpenDialog1: TOpenDialog;


procedureFormCreate(Sender: TObject); procedure Button51Click(Sender: TObject);


procedure N5Click(Sender: TObject); procedure PageControl2Change(Sender: TObject);


procedure N6Click(Sender: TObject); procedure PageControl1Change(Sender: TObject);


procedure N11Click(Sender: TObject); procedure Button49Click(Sender: TObject);


procedure N31Click(Sender: TObject); procedure Button48Click(Sender: TObject);


procedure N41Click(Sender: TObject); procedure FormActivate(Sender: TObject);


procedure N51Click(Sender: TObject); procedure Button47Click(Sender: TObject);


procedure N61Click(Sender: TObject); procedure Button46Click(Sender: TObject);


procedure N21Click(Sender: TObject); procedure Button45Click(Sender: TObject);


procedure Button1Click(Sender: TObject); procedure Button44Click(Sender: TObject);


procedure N12Click(Sender: TObject); procedure Button41Click(Sender: TObject);


procedure Button2Click(Sender: TObject); procedure StringGrid2Click(Sender: TObject);


procedure N22Click(Sender: TObject); procedure Button43Click(Sender: TObject);


procedure Button3Click(Sender: TObject); procedure Button42Click(Sender: TObject);


procedure Button6Click(Sender: TObject); procedure Button40Click(Sender: TObject);


procedure Button4Click(Sender: TObject); procedure Button39Click(Sender: TObject);


procedure N23Click(Sender: TObject); procedure Button38Click(Sender: TObject);


procedure Button7Click(Sender: TObject); procedure Button36Click(Sender: TObject);


procedure Button5Click(Sender: TObject); procedure Button35Click(Sender: TObject);


procedure Button9Click(Sender: TObject); procedure Button34Click(Sender: TObject);


procedure N24Click(Sender: TObject); procedure Button37Click(Sender: TObject);


procedure N52Click(Sender: TObject); procedure Button31Click(Sender: TObject);


procedure N62Click(Sender: TObject); procedure Button33Click(Sender: TObject);


procedure Button8Click(Sender: TObject); procedure Button32Click(Sender: TObject);


procedure Button16Click(Sender: TObject); procedure BitBtn8Click(Sender: TObject);


procedure Button14Click(Sender: TObject); procedure BitBtn7Click(Sender: TObject);


procedure Button17Click(Sender: TObject); procedure BitBtn6Click(Sender: TObject);


procedure Button13Click(Sender: TObject); procedure BitBtn5Click(Sender: TObject);


procedure Button11Click(Sender: TObject); procedure Button30Click(Sender: TObject);


procedure Button15Click(Sender: TObject); procedure Button29Click(Sender: TObject);


procedure Button12Click(Sender: TObject); procedure Button28Click(Sender: TObject);


procedure Button10Click(Sender: TObject); procedure ScrollBar1Change(Sender: TObject);


procedure Button18Click(Sender: TObject); procedure Button27Click(Sender: TObject);


procedure Button21Click(Sender: TObject); procedure Timer2Timer(Sender: TObject);


procedure Button19Click(Sender: TObject); procedure Timer1Timer(Sender: TObject);


procedure N8Click(Sender: TObject); procedure Button26Click(Sender: TObject);


procedure N9Click(Sender: TObject); procedure Button25Click(Sender: TObject);


procedure Button22Click(Sender: TObject); procedure Button24Click(Sender: TObject);


procedure Button20Click(Sender: TObject); procedure Button23Click(Sender: TObject);


private


{ Private declarations }


public


{ Public declarations }


end;


var


Form1: TForm1;


{ описаниеглобальныхпеременных }


VarKs,KSim:integer; // Ks-кол-вослов KSim-кол-восимволов


Mas:array [1..1000000,1..91] of string; // Массив 5-гозадания


MasEx2:array [1..9999] of integer; // Massive Exercise 2 - Массивупражнения 2


M2:array [1..999, 1..999] of integer; // Массив 3-гозадания


PBA,PBB,PBDx,PBmx,PBmy,PBx,PBy:real;


PBx0,PBy0,PBH:integer;


xmin, xmax, ymin, ymax : real; // математические (декартовы) координаты


RazX,RazY:integer; // переменные для размеров PaintBox’a


Implementation


{$R *.dfm}


{=== Функции перевода координат из декартовой системы в экранную =====}


{==================================================================}


FUNCTION Xs( x : real ) : integer;


BEGIN


Xs := round( RazX * (x-xmin)/(xmax-xmin) );


END;


FUNCTION Ys( y : real ) : integer;


BEGIN


Ys := round( RazY * (1-(y-ymin)/(ymax-ymin)) );


END;


{=================================================================}


{=== Процедура перевода фокуса на выбранную ячейку ==================}


procedureSetGridFocus(SGrid: TStringGrid; r, c: integer);


var


SRect: TGridRect;


begin


withSGrid do


begin


SetFocus;


Row := r;


Col := c;


SRect.Top := r;


SRect.Left := c;


SRect.Bottom := r;


SRect.Right := c;


Selection :=SRect;


end;


end;


{=== Процедура сохранения данных в текстовый фаил ===================}


{==================================================================}


procedureSaveStringGrid(StringGrid: TStringGrid; constFileName: TFileName);


var f:TextFile;


i, k:Integer;


begin


AssignFile(f, FileName);


Rewrite(f);


withStringGriddo


begin


// Читаем номер колонки и столбца


Writeln(f, ColCount);


Writeln(f, RowCount);


// цикл по ячейкам


for i := 0 to ColCount - 1 do


for k := 0 to RowCount - 1 do


Writeln(F, Cells[i, k]);


end;


CloseFile(F);


end;


{=== Процедура загрузки данных из текстового фаила =====================}


{===================================================================}


procedureLoadStringGrid(StringGrid: TStringGrid; constFileName: TFileName);


var f:TextFile;


iTmp, i, k:Integer;


strTemp:String;


begin


AssignFile(f, FileName);


Reset(f);


withStringGrid do


begin


// Получаемколичествоколонок


Readln(f, iTmp);


ColCount:= iTmp;


// Получаем количество колонок строк


Readln(f, iTmp);


RowCount:=iTmp;


// Цикл по ячейкам и заполнению значений


for i := 0 to ColCount - 1 do


for k := 0 to RowCount - 1 do


begin


Readln(f, strTemp);


Cells[i, k] := strTemp;


end;


end;


CloseFile(f);


end;


{=== Процедура отрисовки осей и фона =================================}


{===================================================================}


procedure OSI;


begin


with form1.PaintBox1,canvas do


begin


PBx0:=width div 2;


PBy0:=height div 2;


brush.Color:=clwhite;


rectangle(0,0,width,height);


pen.Color:=clblack;


pen.style:=pssolid;


moveto(PBx0,0); lineto(PBx0,height);


moveto(0,PBy0); lineto(width,PBy0);


end;


end;


{===================================================================}


procedure TForm1.FormCreate(Sender: TObject);


vari,j:integer;


begin


PageControl1.ActivePage:=TabSheet1;


StringGrid2.Cells[0,0]:='Фамилия';


StringGrid2.Cells[1,0]:='Имя';


StringGrid2.Cells[2,0]:='Отчество';


StringGrid2.Cells[3,0]:='Пол';


StringGrid2.Cells[4,0]:='Возраст';


StringGrid2.Cells[5,0]:='Ищет (пол)';


StringGrid2.Cells[6,0]:='Сколькилет';


StringGrid2.Cells[7,0]:='Сцелью';


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


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


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


KSim:=0;


Form1.Width:=598; Form1.Height:=484;


PageControl1.Top:=0; PageControl1.Height:=409;


PageControl1.Left:=0; PageControl1.Width:=595;


Panel1.Visible:=False; Panel4.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel6.Visible:=False;


Panel1.Top:=0; Panel2.Top:=0; Panel3.Top:=0;


Panel1.Left:=0; Panel2.Left:=0; Panel3.Left:=0;


Panel1.Height:=409; Panel2.Height:=409; Panel3.Height:=409;


Panel1.Width:=595; Panel2.Width:=595; Panel3.Width:=595;


Panel4.Top:=0; Panel5.Top:=0; Panel6.Top:=0;


Panel4.Left:=0; Panel5.Left:=0; Panel6.Left:=0;


Panel4.Height:=409; Panel5.Height:=409; Panel6.Height:=409;


Panel4.Width:=595; Panel5.Width:=595; Panel6.Width:=595;


{=== Созданиетаблицы ===============================================}


StringGrid1.Font.Size:=8;


StringGrid1.Cells[0,0]:='Сумма "-"';


StringGrid1.Cells[0,1]:='Кол-во. "-"';


StringGrid1.Cells[0,2]:='Сумма "+"';


StringGrid1.Cells[0,3]:='Кол-во. "+"';


StringGrid1.Cells[0,4]:=' №';


StringGrid1.ColWidths[0]:=65;


StringGrid1.RowCount:=11;


StringGrid1.ColCount:=11;


for i:=1 to 11 do StringGrid1.Cells[i,4]:=IntToStr(i);


for i:=1 to 11 do begin


StringGrid1.Cells[0,i+4]:=' '+IntToStr(i);


// StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[5,5);


end;


{====================================================================}


end;


procedure TForm1.N5Click(Sender: TObject);


begin


Close;


end;


procedure TForm1.N6Click(Sender: TObject);


begin


PageControl1.ActivePage:=TabSheet1;


PageControl1.Visible:=True;


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


Form1.Height:=484;


N8.Visible:=False;


N9.Visible:=False;


end;


procedure TForm1.N11Click(Sender: TObject);


begin


PageControl1.Visible:=true;


PageControl1.ActivePage:=TabSheet2;


PageControl2.ActivePage:=TabSheet8;


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


N8.Visible:=True;


N9.Visible:=True;


end;


procedure TForm1.N31Click(Sender: TObject);


begin


PageControl1.Visible:=true;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.ActivePage:=TabSheet4;


PageControl2.ActivePage:=TabSheet10;


N8.Visible:=True;


N9.Visible:=True;


end;


procedure TForm1.N41Click(Sender: TObject);


begin


PageControl1.Visible:=true;


Panel1.Visible:=false;


Panel2.Visible:=False;


Panel3.Visible:=False;


PageControl1.ActivePage:=TabSheet5;


PageControl2.ActivePage:=TabSheet11;


N8.Visible:=True;


N9.Visible:=True;


end;


procedure TForm1.N51Click(Sender: TObject);


begin


PageControl1.Visible:=true;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.ActivePage:=TabSheet6;


PageControl2.ActivePage:=TabSheet12;


N8.Visible:=True;


N9.Visible:=True;


end;


procedure TForm1.N61Click(Sender: TObject);


begin


PageControl1.Visible:=true;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.ActivePage:=TabSheet7;


PageControl2.ActivePage:=TabSheet13;


N8.Visible:=True;


N9.Visible:=True;


end;


procedure TForm1.N21Click(Sender: TObject);


begin


PageControl1.Visible:=true;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.ActivePage:=TabSheet3;


PageControl2.ActivePage:=TabSheet9;


N8.Visible:=True;


N9.Visible:=True;


end;


procedure TForm1.Button1Click(Sender: TObject);


begin


Panel1.Visible:=true;


PageControl1.Visible:=false;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.N12Click(Sender: TObject);


begin


PageControl1.Visible:=False;


Panel1.Visible:=True; Panel6.Visible:=False;


Panel2.Visible:=false; Panel5.Visible:=False;


Panel3.Visible:=false; Panel4.Visible:=False;


Form1.Height:=484;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button2Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.Visible:=True;


PageControl1.ActivePage:=TabSheet2;


PageControl2.ActivePage:=TabSheet8;


N8.Visible:=true;


N9.Visible:=true;


end;


procedure TForm1.N22Click(Sender: TObject);


begin


PageControl1.Visible:=False;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=true; Panel5.Visible:=False;


Panel3.Visible:=false; Panel4.Visible:=False;


Form1.Height:=484;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button3Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=false; Panel6.Visible:=false;


Panel2.Visible:=true; Panel5.Visible:=false;


Panel3.Visible:=false; Panel4.Visible:=false;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button6Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=true; Panel4.Visible:=False;


Panel2.Visible:=false; Panel6.Visible:=False;


Panel3.Visible:=false; Panel5.Visible:=False;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button4Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.Visible:=True;


PageControl1.ActivePage:=TabSheet3;


PageControl2.ActivePage:=TabSheet9;


N8.Visible:=true;


N9.Visible:=true;


end;


procedure TForm1.N23Click(Sender: TObject);


begin


PageControl1.Visible:=False;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=false; Panel5.Visible:=False;


Panel3.Visible:=true; Panel4.Visible:=False;


Form1.Height:=484;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button7Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.Visible:=True;


PageControl1.ActivePage:=TabSheet4;


PageControl2.ActivePage:=TabSheet10;


N8.Visible:=true;


N9.Visible:=true;


end;


procedure TForm1.Button5Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=false; Panel6.Visible:=false;


Panel2.Visible:=false; Panel5.Visible:=false;


Panel3.Visible:=true; Panel4.Visible:=false;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button9Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=true; Panel5.Visible:=False;


Panel3.Visible:=false; Panel4.Visible:=False;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.N24Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=true;


PageControl1.Visible:=False;


Form1.Height:=484;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.N52Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=true;


Panel3.Visible:=False; Panel4.Visible:=false;


PageControl1.Visible:=False;


Form1.Height:=484;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.N62Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=true;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=false;


PageControl1.Visible:=False;


Form1.Height:=484;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button8Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=false; Panel6.Visible:=false;


Panel2.Visible:=false; Panel5.Visible:=false;


Panel3.Visible:=false; Panel4.Visible:=true;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button16Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=false; Panel6.Visible:=false;


Panel2.Visible:=false; Panel5.Visible:=true;


Panel3.Visible:=false; Panel4.Visible:=false;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button14Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=false; Panel6.Visible:=true;


Panel2.Visible:=false; Panel5.Visible:=false;


Panel3.Visible:=false; Panel4.Visible:=false;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button17Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=false; Panel5.Visible:=False;


Panel3.Visible:=true; Panel4.Visible:=False;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button13Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=false; Panel5.Visible:=False;


Panel3.Visible:=false; Panel4.Visible:=true;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button11Click(Sender: TObject);


begin


PageControl1.Visible:=false;


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=false; Panel5.Visible:=true;


Panel3.Visible:=false; Panel4.Visible:=False;


N8.Visible:=false;


N9.Visible:=false;


end;


procedure TForm1.Button15Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.Visible:=True;


PageControl1.ActivePage:=TabSheet5;


PageControl2.ActivePage:=TabSheet11;


Memo1.SetFocus;


N8.Visible:=true;


N9.Visible:=true;


end;


procedure TForm1.Button12Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.Visible:=True;


PageControl1.ActivePage:=TabSheet6;


PageControl2.ActivePage:=TabSheet12;


N8.Visible:=true;


N9.Visible:=true;


end;


procedure TForm1.Button10Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.Visible:=True;


PageControl1.ActivePage:=TabSheet7;


PageControl2.ActivePage:=TabSheet13;


N8.Visible:=true;


N9.Visible:=true;


end;


procedure TForm1.Button18Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=true;


PageControl1.Visible:=False;


end;


procedure TForm1.Button21Click(Sender: TObject);


vari,j:integer;


begin


Button20.Caption:='Показатьтекстсгласными';


Button19.Enabled:=true;


Button21.Enabled:=false;


Memo2.Visible:=False;


Memo1.Visible:=True;


Memo1.Text:='';


Memo1.SetFocus;


Edit1.Text:=''; Edit6.Text:=''; Edit11.Text:=''; Edit18.Text:='';


Edit2.Text:=''; Edit7.Text:=''; Edit12.Text:=''; Edit17.Text:='';


Edit3.Text:=''; Edit8.Text:=''; Edit13.Text:=''; Edit10.Text:='';


Edit4.Text:=''; Edit9.Text:=''; Edit16.Text:=''; Edit5.Text:='';


Button20.Enabled:=False;


Edit1.Enabled:=False;


Label63.Enabled:=False;


for i:=1 to Ks do


for j:=1 to 91 do


Mas[i,j]:='';


KSim:=0;


Memo2.Text:='';


end;


procedure TForm1.Button19Click(Sender: TObject);


vari,j,iGlas:integer; // Переменные для циклов


Y:integer; // Переменная для кол-ва строк


LinesX:ShortString; // Переменная для собирания элементов строки массива


DLinX:integer; // Длина строки в переменной LinesX


S:ShortString; // Переменная для копирования в нее символа из текста


Glas:array [1..32] of ShortString; // Массивгласных


begin


Button20.Caption:='Показать текст с гласными';


Button20.Enabled:=true;


Button19.Enabled:=False;


Button21.Enabled:=True;


Button20.SetFocus;


Edit1.Enabled:=True;


Label63.Enabled:=True;


Button19.Enabled:=False;


Memo2.Visible:=True;


Memo1.Visible:=False;


{=== Заполнения массива гласными буквами ============================}


Glas[1]:='A'; Glas[2]:='a'; Glas[3]:='E'; Glas[4]:='e'; Glas[5]:='I'; Glas[6]:='i'; Glas[7]:='Y'; Glas[8]:='y'; Glas[9]:='U'; Glas[10]:='u';


Glas[11]:='А'; Glas[12]:='Е'; Glas[13]:='е'; Glas[14]:='Ё'; Glas[15]:='ё'; Glas[16]:='И'; Glas[17]:='и'; Glas[18]:='О'; Glas[19]:='о'; Glas[20]:='У';


Glas[21]:='Ы'; Glas[22]:='ы'; Glas[23]:='Э'; Glas[24]:='э'; Glas[25]:='Ю'; Glas[26]:='ю'; Glas[27]:='Я'; Glas[28]:='я'; Glas[29]:='O'; Glas[30]:='o';


Glas[31]:='а'; Glas[32]:='у';


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


Edit2.Text:=inttostr(Memo1.Lines.Count); // Выводкол-вастроквтексте


Y:=StrToInt(Edit2.Text); // Кол-во строк в тексте - для алгоритма


Ks:=StrToInt(Edit2.Text); // Кол-во строк в тексте - глобальная для сброса


{=== Заполнение массива буквами текста ============================}


for i:=1 to Y dobegin // Цикл по строкам


S:=Memo1.Lines[i-1]; // Копируем в переменную i-1 строку из текста


for j:=1 to 91 do // Цикл по символам строки


Mas[i,j]:=Copy(S,j,1); // Копируем в [i,j] из S j-ый элемент строки


end;


{=== Удаление глассных из массива =================================}


for i:=1 to Y do // Циклпострокам


for j:=1 to 91 do // Цикл по символам строки


foriGlas:=1 to 32 do // Цикл по проверке гласных


if (Mas[i,j]=Glas[iGlas]) then begin


Mas[i,j]:=' '; // Если символ гласный, то заменяем его пробелом


KSim:=KSim+1; // Если символ гласный, то накручиваем счетчик


end;


{=== Выводтестовойинформации =====================================}


Edit5.Text:=Mas[1,1]; Edit9.Text:=Mas[2,1]; Edit13.Text:=Mas[3,1];


Edit6.Text:=Mas[1,2]; Edit10.Text:=Mas[2,2]; Edit16.Text:=Mas[3,2];


Edit7.Text:=Mas[1,3]; Edit11.Text:=Mas[2,3]; Edit17.Text:=Mas[3,3];


Edit8.Text:=Mas[1,4]; Edit12.Text:=Mas[2,4]; Edit18.Text:=Mas[3,4];


{=== Заполнение текста из массива ==================================}


DLinX:=0; // Обнуление длины строки из переменной LinesX


LinesX:=''; // Обнуление строковой переменной


for i:=1 to Y dobegin // Цикл по строкам


LinesX:=''; // Обнуление строковой переменной


for j:=1 to 91 dobegin // Цикл по символам строки


insert(Mas[i,j],LinesX,j); // Собираем Mas[1,j] встроку


end;


if i<>Y then// Если i<>Y то вводит в RichEdit строку и переводит переход на следующую строку


Memo2.Lines[i-1]:=LinesX+#13+#10// Вводит в RichEdit готовую строку и переводит курсор ниже


Else // иначе вводит в RichEdit строку без перехода на следующую строку


Memo2.Lines[i-1]:=LinesX; // Вводит в RichEdit готовую строку


Edit4.Text:=LinesX; // Вывод собранной строки в тестовое окно


DLinX:=Length(S); // Подсчет длины готовой строки


Edit3.Text:=inttostr(DLinX); // Вывод длины собранной строки


end;


{=====================================================================}


Edit1.Text:=inttostr(KSim); // Вывод кол-ва гласных


end;


procedure TForm1.N8Click(Sender: TObject);


begin


Form1.Height:=690;


end;


procedure TForm1.N9Click(Sender: TObject);


begin


Form1.Height:=484;


end;


procedure TForm1.Button22Click(Sender: TObject);


begin


Edit2.Text:=inttostr(Memo1.Lines.Count); // Считаетколичествостроквполе Memo1


end;


procedure TForm1.Button20Click(Sender: TObject);


begin


if Button20.Caption='Показатьтекстсгласными' then begin


Memo1.Visible:=True;


Memo2.Visible:=False;


Button20.Caption:='Показать текст без гласных';


end


else begin


Memo1.Visible:=False;


Memo2.Visible:=True;


Button20.Caption:='Показатьтекстсгласными';


end;


end;


procedure TForm1.Button23Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=true; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=false;


PageControl1.Visible:=False;


end;


procedure TForm1.Button24Click(Sender: TObject);


VarN,A,B:integer;


Code,Si:integer;


Ss:string;


begin


if (Edit14.Text='') or (Edit15.Text='') or (Edit19.Text='') then begin


Label75.Font.Color:=clRed;


Timer1.Enabled:=true;


end;


{== Проверка ввода значений ==========================================}


Val(Edit14.Text,N,code);


if (code<>0) then begin


Edit14.Text:='';


Timer2.Enabled:=true;


Label77.Visible:=true;


end


else begin


N:=strtoint(Edit14.Text);


Edit20.Text:=inttostr(N);


end;


Val(Edit15.Text,A,code);


if (code<>0) then begin


Edit15.Text:='';


Timer2.Enabled:=true;


Label77.Visible:=true;


end


else begin


A:=strtoint(Edit15.Text);


Edit21.Text:=inttostr(A);


end;


Val(Edit19.Text,B,code);


if (code<>0) then begin


Edit19.Text:='';


Timer2.Enabled:=true;


Label77.Visible:=true;


end


else begin


B:=strtoint(Edit19.Text);


Edit22.Text:=inttostr(B);


end;


{=====================================================================}


if (Edit20.Text<>'') and (Edit21.Text<>'') and (Edit22.Text<>'') and (B>A) and (StrToInt(Edit14.Text)>0) then


Button27.Click;


end;


procedure TForm1.Button25Click(Sender: TObject);


VarN,A,B:integer;


begin


Randomize;


N:=Random(9998)+1;


A:=Random(9999)-9999;


B:=Random(9999);


Edit14.Text:=IntToStr(N); Edit20.Text:=inttostr(N);


Edit15.Text:=IntToStr(A); Edit21.Text:=inttostr(A);


Edit19.Text:=IntToStr(B); Edit22.Text:=inttostr(B);


Button27.Click;


Button24.Enabled:=False;


Button25.Enabled:=False;


end;


procedure TForm1.Button26Click(Sender: TObject);


var i:integer;


begin


Edit14.Text:=''; Edit20.Text:=''; Edit23.Text:=''; Edit26.Text:='';


Edit15.Text:=''; Edit21.Text:=''; Edit24.Text:=''; Edit27.Text:='';


Edit19.Text:=''; Edit22.Text:=''; Edit25.Text:=''; Edit28.Text:='';


Edit29.Text:='';


Label86.Caption:='';


Button24.Enabled:=True; ScrollBar1.Position:=0;


Button25.Enabled:=True; ScrollBar1.Max:=100;


for i:=1 to 9999 do


MasEx2[i]:=0;


end;


procedure TForm1.Timer1Timer(Sender: TObject);


begin


Timer1.Enabled:=false;


Label75.Font.Color:=clBlack;


Label83.Font.Color:=clBlack;


end;


procedure TForm1.Timer2Timer(Sender: TObject);


begin


Label77.Visible:=false;


Label102.Visible:=false;


Timer2.Enabled:=false;


end;


procedure TForm1.Button27Click(Sender: TObject);


var i:integer;


A,B,N:integer;


EvenNumber:longint; // Четноечисло


OddNumber: longint; // Нечетноечисло


begin


Randomize;


N:=StrToInt(Edit20.Text);


A:=StrToInt(Edit21.Text);


B:=StrToInt(Edit22.Text);


Button24.Enabled:=False;


Button25.Enabled:=False;


{== Заполнение массива случайными числами из заданного диапазона ====}


for i:=1 to N do begin


MasEx2[i]:=A+Random((B+1)-A);


Edit23.Text:=IntToStr(MasEx2[i]);


end;


{=== Собирание массива в строку и вывод этой строки =================}


for i:=1 to N do


Edit25.Text:=Edit25.Text+IntToStr(MasEx2[i])+' ';


{=== Определение длины прокрутки для полосы прокрутки ===============}


Edit24.Text:=IntToStr(Length(Edit25.Text));


ScrollBar1.Max:=StrToInt(Edit24.Text);


{====================================================================}


EvenNumber:=0;


for i:=1 to N do


if (MasEx2[i] mod 2 = 0) then


EvenNumber:=EvenNumber+sqr(MasEx2[i]);


Edit28.Text:=IntToStr(EvenNumber);


OddNumber:=0;


for i:=1 to N do


if (MasEx2[i] mod 2 <> 0) then


OddNumber:=OddNumber+MasEx2[i];


OddNumber:=sqr(OddNumber);


Edit29.Text:=IntToStr(OddNumber);


Label86.Caption:=IntToStr(EvenNumber-OddNumber);


end;


procedure TForm1.ScrollBar1Change(Sender: TObject);


begin


{=== Связывание полосы прокрутки и окна с массивом ==================}


Edit25.SelStart:=ScrollBar1.Position;


end;


procedure TForm1.Button28Click(Sender: TObject);


varNi,i:integer;


Code:integer;


begin


{== Проверка ввода значений окна выбора элемента массива =============}


if (Edit26.Text='') then begin


Label83.Font.Color:=clRed;


Timer1.Enabled:=true;


end;


{== Проверка ввода истинности значений ==========================================}


Val(Edit26.Text,Ni,code);


if (code<>0) or (StrToInt(Edit26.Text)<1) or (Edit20.Text='') or


(StrToInt(Edit26.Text)>9999) or (StrToInt(Edit26.Text)<-9999) then begin


Edit26.Text:='';


Edit27.Text:='';


Label83.Font.Color:=clRed;


Timer1.Enabled:=true;


end


else begin


Ni:=strtoint(Edit26.Text);


Edit27.Text:=inttostr(MasEx2[Ni]);


end;


end;


procedure TForm1.Button29Click(Sender: TObject);


begin


Panel1.Visible:=False; Panel6.Visible:=False;


Panel2.Visible:=False; Panel5.Visible:=False;


Panel3.Visible:=True; Panel4.Visible:=false;


PageControl1.Visible:=False;


end;


procedure TForm1.Button30Click(Sender: TObject);


vari,j:integer;


begin


Edit30.Text:=''; Edit56.Text:=''; Edit37.Text:='';


Edit31.Text:=''; Edit54.Text:=''; Edit36.Text:='';


Edit32.Text:=''; Edit55.Text:=''; Edit35.Text:='';


Edit33.Text:=''; Edit34.Text:='';


Button31.Enabled:=True;


Button32.Enabled:=True;


for i:=1 to 999 do // Обнуление двумерного массива


for j:=1 to 999 do


M2[i,j]:=0;


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


with StringGRid1 do


for i:=1 to 4 do


for j:=1 to ColCount do


Cells[j, i-1]:='';


with StringGRid1 do


for i:=5 to RowCount do


for j:=1 to ColCount do


Cells[j, i]:='';


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


StringGrid1.Font.Size:=8;


StringGrid1.Cells[0,0]:='Сумма "-"';


StringGrid1.Cells[0,1]:='Кол-во. "-"';


StringGrid1.Cells[0,2]:='Сумма "+"';


StringGrid1.Cells[0,3]:='Кол-во. "+"';


StringGrid1.Cells[0,4]:=' №';


StringGrid1.ColWidths[0]:=65;


StringGrid1.RowCount:=11;


StringGrid1.ColCount:=11;


for i:=1 to 11 do StringGrid1.Cells[i,4]:=IntToStr(i);


for i:=1 to 11 do StringGrid1.Cells[0,i+4]:=' '+IntToStr(i);


{====================================================================}


end;


procedure TForm1.BitBtn5Click(Sender: TObject);


vari,j,n,m:integer;


sum:longint;


begin


if (button32.Enabled=False) then begin


n:=StrToInt(Edit34.Text);


m:=StrToInt(Edit35.Text);


{=== Нахождение суммы отрицательных элементов столбцов ===========}


for j:=1 to m do begin


sum:=0;


for i:=1 to n do begin


if (M2[i,j]<0) then sum:=sum+M2[i,j];


end;


end;


{================================================================}


end;


end;


procedure TForm1.BitBtn6Click(Sender: TObject);


vari,j,n,m:integer;


sum:longint;


begin


if (button32.Enabled=False) then begin


n:=StrToInt(Edit34.Text);


m:=StrToInt(Edit35.Text);


{=== Нахождение количества отрицательных элементов столбцов =======}


for j:=1 to m do begin


sum:=0;


for i:=1 to n do begin


if (M2[i,j]<0) then sum:=sum+1;


end;


end;


{===================================================================}


end;


end;


procedure TForm1.BitBtn7Click(Sender: TObject);


vari,j,n,m:integer;


sum:longint;


begin


if (button32.Enabled=False) then begin


n:=StrToInt(Edit34.Text);


m:=StrToInt(Edit35.Text);


{=== Нахождение суммы положительных элементов столбцов ============}


for j:=1 to m do begin


sum:=0;


for i:=1 to n do begin


if (M2[i,j]>0) then sum:=sum+M2[i,j];


end;


end;


{===================================================================}


end;


end;


procedure TForm1.BitBtn8Click(Sender: TObject);


vari,j,n,m:integer;


sum:longint;


begin


if (button32.Enabled=False) then begin


n:=StrToInt(Edit34.Text);


m:=StrToInt(Edit35.Text);


{=== Нахождение количества положительных элементов столбцов =======}


for j:=1 to m do begin


sum:=0;


for i:=1 to n do begin


if (M2[i,j]>0) then sum:=sum+1;


end;


end;


{==================================================================}


end;


end;


procedure TForm1.Button32Click(Sender: TObject);


Vari,j,A,B,n,m:integer;


begin


Randomize;


A:=Random(999)-999; n:=Random(998)+1;


B:=Random(999); m:=Random(998)+1;


Edit32.Text:=IntToStr(A); Edit30.Text:=IntToStr(n);


Edit33.Text:=IntToStr(B); Edit31.Text:=IntToStr(m);


Edit36.Text:=IntToStr(A); Edit34.Text:=IntToStr(n);


Edit37.Text:=IntToStr(B); Edit35.Text:=IntToStr(m);


for i:=1 to n do


for j:=1 to m do


M2[i,j]:=A+Random((B+1)-A);


Button37.Click;


Button31.Enabled:=False;


Button32.Enabled:=False;


end;


procedure TForm1.Button33Click(Sender: TObject);


varn,m,i,j:integer;


begin


n:=0;


m:=0;


{=== Если массив заполнен и задан элемент, который нужно показать ===}


if (edit32.Text<>'') and (edit54.Text<>'') and (edit55.Text<>'') then begin


n:=StrToInt(Edit54.Text);


m:=StrToInt(Edit55.Text);


end;


{=== Если запрашивается элемент > 0 и < границ массива ==============}


if (n>0) and (n<StrToInt(Edit34.Text)+1) and (m>0) and (m<StrToInt(Edit35.Text)+1) then begin


Edit56.Text:=IntToStr(M2[n,m]);


j:=StrToInt(Edit55.Text);


i:=StrToInt(Edit54.Text)+4;


SetGridFocus(StringGrid1, i, j );


end else


Edit56.Text:='';


{====================================================================}


end;


procedure TForm1.Button31Click(Sender: TObject);


vari,j,A,B,n,m:integer;


Code:integer;


begin


Randomize;


{== Проверка ввода значений ==========================================}


Val(Edit30.Text,n,code);


if (code<>0) then begin


Edit30.Text:='';


end


else begin


n:=strtoint(Edit30.Text);


Edit34.Text:=inttostr(N);


end;


Val(Edit31.Text,m,code);


if (code<>0) then begin


Edit31.Text:='';


end


else begin


m:=strtoint(Edit31.Text);


Edit35.Text:=inttostr(m);


end;


Val(Edit32.Text,A,code);


if (code<>0) then begin


Edit32.Text:='';


end


else begin


A:=strtoint(Edit32.Text);


Edit36.Text:=inttostr(A);


end;


Val(Edit33.Text,B,code);


if (code<>0) then begin


Edit33.Text:='';


end


else begin


B:=strtoint(Edit33.Text);


Edit37.Text:=inttostr(B);


end;


{=== Проверка ввода значений и заполнение массива ====================}


if (Edit34.Text<>'') and (Edit35.Text<>'') and (Edit36.Text<>'') and (Edit37.Text<>'')and


(StrToInt(Edit37.Text)>=StrToInt(Edit36.Text)) and (StrToInt(Edit34.Text)>0) and (StrToInt(Edit35.Text)>0)then begin


for i:=1 to n do


for j:=1 to m do M2[i,j]:=A+Random((B+1)-A);


Button37.Click;


end


else begin


Edit30.Text:=''; Edit31.Text:=''; Edit34.Text:=''; Edit36.Text:='';


Edit32.Text:=''; Edit33.Text:=''; Edit35.Text:=''; Edit37.Text:='';


for i:=1 to 4 do


for j:=1 to 4 do


Edit54.Text:=''; Edit55.Text:=''; Edit56.Text:='';


Label102.Visible:=true;


Timer2.Enabled:=True;


end;


if (Edit34.Text<>'') then begin


Button37.Click;


Button31.Enabled:=False;


Button32.Enabled:=False;


end;


end;


procedure TForm1.Button37Click(Sender: TObject);


Var i,j,A,B,n,m,M2i,M2j:integer;


sum:longint;


begin


n:=StrToInt(Edit34.Text);


m:=StrToInt(Edit35.Text);


{=== Нахождение суммы отрицательных элементов столбцов ==============}


for j:=1 to m do begin


sum:=0;


for i:=1 to n do begin


if (M2[i,j]<0) then sum:=sum+M2[i,j];


end;


StringGrid1.Cells[j,0]:=IntToStr(sum);


end;


{=== Нахождение кол-ва отрицательных элементов столбцов ==============}


for j:=1 to m do begin


sum:=0;


for i:=1 to n do begin


if (M2[i,j]<0) then sum:=sum+1;


end;


StringGrid1.Cells[j,1]:=IntToStr(sum);


end;


{=== Нахождение суммы положительных элементов столбцов ==============}


for j:=1 to m do begin


sum:=0;


for i:=1 to n do begin


if (M2[i,j]>0) then sum:=sum+M2[i,j];


end;


StringGrid1.Cells[j,2]:=IntToStr(sum);


end;


{=== Нахождение кол-ва положительных элементов столбцов ==============}


for j:=1 to m do begin


sum:=0;


for i:=1 to n do begin


if (M2[i,j]>0) then sum:=sum+1;


end;


StringGrid1.Cells[j,3]:=IntToStr(sum);


end;


{=== Заполнение заглавных ячеек таблицы =============================}


StringGrid1.Font.Size:=8;


StringGrid1.Cells[0,0]:='Сумма "-"';


StringGrid1.Cells[0,1]:='Кол-во. "-"';


StringGrid1.Cells[0,2]:='Сумма "+"';


StringGrid1.Cells[0,3]:='Кол-во. "+"';


StringGrid1.Cells[0,4]:=' №';


StringGrid1.ColWidths[0]:=65;


{=== Подгонка таблицы под введенные размеры двумерного массива ======}


StringGrid1.RowCount:=n+5;


StringGrid1.ColCount:=m+1;


{=== Нумерация колонок и строк ======================================}


for i:=1 to m+1 do StringGrid1.Cells[i,4]:=IntToStr(i);


for i:=1 to n+5 do StringGrid1.Cells[0,i+4]:=' '+IntToStr(i);


{=== Заполнение таблицы массивом ====================================}


M2i:=0;


M2j:=0;


For i:=5 to n+5 do begin


M2i:=M2i+1;


m2j:=1;


for j:=1 to m+1 do begin


StringGrid1.Cells[j,i]:=IntToStr(M2[M2i,M2j]);


M2j:=M2j+1;


end;


end;


{====================================================================}


end;


procedure TForm1.Button34Click(Sender: TObject);


begin


Panel1.Visible:=true; Panel6.Visible:=False;


Panel2.Visible:=false; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=false;


PageControl1.Visible:=False;


end;


procedure TForm1.Button35Click(Sender: TObject);


vark,n,code:integer;


A,E,S:Extended;


begin


if (copy(Edit38.Text,1,1)='0') and (StrToInt(copy(Edit38.Text,3,1))<6) then begin


E:=StrToFloat(Edit38.Text);


k:=1;


A:=1/2;


s:=0;


{-->}while (abs(A)>=E) do begin


A:=1/((2*k-1)*(2*k+1));


k:=k+1;


s:=s+A;


memo3.Lines[k-2]:=IntToStr(k-1)+' '+FloatToStr(A)+#13+#10;


memo5.Lines[k-2]:=IntToStr(k-1)+' '+FloatToStr(s)+#13+#10;


{-->}end;


Edit39.Text:=IntToStr(k-1);


end else


Edit38.Text:='';


end;


procedure TForm1.Button36Click(Sender: TObject);


begin


memo3.Text:='';


memo5.Text:='';


memo3.Lines[0]:='Шаг / Значение А на шаге i';


memo5.Lines[0]:='Шаг / Значение S на шаге i';


Edit39.Text:='';


Edit38.Text:='0,0001';


end;


procedure TForm1.Button38Click(Sender: TObject);


var s:string;


n:double;


begin


{--- Проверка ввода в окно "Введите E" -------------------------------}


s:=Edit38.Text;


ifTryStrToFloat(s, n) then


begin


if (StrToFloat(s)>0) and (StrToFloat(s)<0.6) then button35.Click


else Edit38.Text:='';


end


else Edit38.Text:='';


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


end;


procedure TForm1.Button39Click(Sender: TObject);


begin


Panel1.Visible:=false; Panel6.Visible:=true;


Panel2.Visible:=false; Panel5.Visible:=False;


Panel3.Visible:=False; Panel4.Visible:=False;


PageControl1.Visible:=False;


end;


procedure TForm1.Button40Click(Sender: TObject);


Vari,j,n,k:integer;


s:string;


begin


k:=0;


for i:=0 to 7 do begin


for j:=1 to 8 do begin


k:=0;


k:=length(StringGrid2.Cells[i,j]);


if (k>15) then begin


Label107.Visible:=true;


Edit41.Text:=IntToStr(i+1);


Edit42.Text:=IntToStr(j);


end;


end;


end;


if (Label107.Visible=False) then


button43.Click;


end;


procedure TForm1.Button42Click(Sender: TObject);


begin


Label107.Visible:=False;


Edit40.Text:='';


Edit41.Text:='';


Edit42.Text:='';


end;


procedure TForm1.Button43Click(Sender: TObject);


vark,i,j,d:integer;


s:string;


begin


Edit40.Text:='Всевведеноверно';


// Сохраняем по выбранному пути


ifsavedialog1.Executethen


SaveStringGrid(StringGrid2, savedialog1.FileName);


end;


procedure TForm1.StringGrid2Click(Sender: TObject);


begin


Label107.Visible:=False;


Edit40.Text:='';


Edit41.Text:='';


Edit42.Text:='';


end;


procedure TForm1.Button41Click(Sender: TObject);


begin


// Открываем по выбранному пути


if opendialog1.Execute then


LoadStringGrid(StringGrid2, opendialog1.FileName);


end;


procedure TForm1.Button44Click(Sender: TObject);


begin


Panel1.Visible:=false; Panel6.Visible:=False;


Panel2.Visible:=false; Panel5.Visible:=true;


Panel3.Visible:=False; Panel4.Visible:=false;


PageControl1.Visible:=False;


end;


procedure TForm1.Button45Click(Sender: TObject);


var t0,t0code,tn,tncode,a,acode,M:integer;


s:string;


h:double;


begin


M:=0; // Накапливаемая метка - правильно ли введены данные


Val(Edit43.Text,t0,t0code);


if (t0code<>0) then Edit43.Text:='' else


if (t0<0) then Edit43.Text:='' else M:=M+1;


Val(Edit44.Text,tn,tncode);


if (tncode<>0) then Edit44.Text:='' else


if (tn<0) then Edit44.Text:='' else M:=M+1;


if (t0 >= tn) then Edit43.Text:='' else M:=M+1;


Val(Edit46.Text,a,acode);


if (a<=0) then Edit46.Text:='' else M:=M+1;


{--- Проверка ввода в окно "Шаг (h)" -------------------------------}


s:=Edit45.Text;


ifTryStrToFloat(s, h) then


begin


Edit48.Text:='Введеноверно';


if (StrToFloat(s)>0) then M:=M+1;


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.




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


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


Прим.: Литература не использовалась. Используемые сайты и форумы при подготовке и выполнении:






































1. Строковые функции Delphi


http://na-start.narod.ru/material/delphi03.htm
2. Знакомство с компонентами Delphi

http://www.rtfm.4hack.com/books.php?id1=2&id2=4&id3=5


3. Портал программистов

http://shelek.su/index.php?site=forum.shelek.ru&page=board&id=7


4. Ветка форума по работе с функцией


TryStrToFloat


http://www.sql.ru/forum/actualthread.aspx?tid=716083


5. Определитель 16-и ричного цвета

http://calc-all.narod.ru/color/index.html


6. Отображение графической информации


http://www.oplk.narod.ru/Delphi/Books/Delphi_2.0/11/Graf.html


7. Двумерные массивы

http://borlpasc.narod.ru/docym/prac/dvymerni.htm


8. Примеры задач с двумерным массивом

http://www.pascal7.ru/index.php?option=com_content&view=category&layout=blog&id=29&Itemid=30


9. Массив из элементов и как с ним работать


http://www.delphimaster.ru/articles/comparray.html


10. Построение графиков функций

http://www.yotx.ru/Default.aspx


11. Работа с графической системой координат

http://physics.herzen.spb.ru/library/03/01/pp/Advices/graph.htm


12. Типы данных Delphi

http://www.interface.ru/home.asp?artId=2561




Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Cистемы оборотного водоснабжения поста мойки СТО
Реферат Организация работы психолого-педагогической службы в профессиональном училище №39 г. Зеленогорска
Реферат Сарыкамышское сражение
Реферат Наследие Теслы
Реферат Строй современного английского языка
Реферат Творчество Андрея Рублева его значение для развития русской национальной культуры
Реферат Структура Федерального агентства специального строительства
Реферат Cлужанка было бы чем следовать
Реферат История болезни - острый двусторонний средний отит мастоидит слева
Реферат Общество с ограниченной ответственностью (ООО) как юридическое лицо
Реферат Порядок получения лицензии. Требования к пакету документов, необходимых для получения лицензии
Реферат The True Story Of Creation. Religion Or
Реферат «aerosvit»
Реферат Классификация средств массовой информации и история их развития
Реферат История струнно-смычковых инструментов и их развитие