Задача

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

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

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

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

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

от 25%

Подписываем

договор

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

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




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

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

Вариант 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. Реферат на тему Shibboleth Essay Research Paper The Story of
2. Доклад О концепциях профессионального спорта
3. Задача Гештальт-тренинг как метод повышения использования эффективных копинг-стратегий
4. Реферат Основные тенденции формирования средневекового общества и Древняя Русь
5. Книга на тему Товарные знаки и бренды
6. Реферат История формирования Синьцзян - Уйгурского автономного района
7. Реферат Laozi Essay Research Paper Laozi created Daoism
8. Реферат Криза освіти та шляхи її подолання
9. Реферат на тему Racial Unity Through Ceremony Essay Research Paper
10. Статья на тему Зачем Петру I нужен был шелк