Задача

Задача Программирование 3

Работа добавлена на сайт bukvasha.net: 2015-10-29

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.11.2024




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

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

Вариант 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;                                         // переменные для размеров PaintBoxa
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





1. Курсовая Учет вложений во внеоборотные активы 3
2. Курсовая на тему Управління вартістю ПАО Райффайзен Банк Аваль
3. Реферат Развитие региональной составляющей антикризисного управления
4. Реферат Антивитамины
5. Реферат на тему The 2 Essay Research Paper Melissa MinnichNovember
6. Реферат на тему Bunker Hill Essay Research Paper Boom Bang
7. Реферат Склад функції та значення крові
8. Сочинение на тему Что в имени тебе моем
9. Курсовая на тему Разработка технологического процесса механической обработки опоры для рычага
10. Статья на тему Блаженны в русских церковно-певческих книгах