Программирование. 5
КУРСОВАЯ РАБОТА
По программированию
Вариант 4
Выполнил:
Студент заочного отделения
Группы ИТ-21z
Медведев
Николай Александрович
Руководитель:
Емельянов
Д.А
Оглавление
Условие задач 2
Текст программы 3
Результаты работы программы 30
Список
используемой литературы: 33
Условие задач
Задача 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,
PBx0,PBy0,PBH:integer;
xmin, xmax, ymin, ymax : real; // математические (декартовы) координаты
RazX,RazY:integer;
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(
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(
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:=
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]:='
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]:=
for i:=1 to 11 do begin
StringGrid1.Cells[0,i+4]:='
// StringGrid1.Canvas.TextOut(
end;
{=============================
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
PageControl1.ActivePage:=
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:=
PageControl2.ActivePage:=
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:=
PageControl2.ActivePage:=
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:=
PageControl2.ActivePage:=
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:=
PageControl2.ActivePage:=
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:=
PageControl2.ActivePage:=
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:=
PageControl2.ActivePage:=
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:=
PageControl2.ActivePage:=
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:=
PageControl2.ActivePage:=
N8.Visible:=true;
N9.Visible:=true;
end;
procedure TForm1.N23Click(Sender: TObject);
begin
PageControl1.Visible:=False;