История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Топ:
Оснащения врачебно-сестринской бригады.
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|

procedure TForm1.formirovanie(var P, R: massiv;max_kol, max_num, max_dx, progression_type: integer);x,j:integer;:boolean;:=P[max_num];(R,1);[0]:=x;book1.NumberRC[6,2]:=R[0];:=false;progression_type of
: beginbook1.TextRC[7,11]:=’Разность’+inttostr(max_dx);1book1.TextRC[5,11]:=’Арифметическая прогрессия’;
repeat
j:=0;
repeatP[j]=x+max_dx then begin:=x+max_dx;(R,length(R)+1);[high(R)]:=x;book1.NumberRC[6,length(R)+1]:=R[high(R)];:=true endbegin:=false;(j) end(b=true) or (j=high(P));j=high(P) end;
: beginbook1.TextRC[7,11]:=’Знаменатель’+inttostr(max_dx);1book1.TextRC[5,11]:=’Геометрическая прогрессия.’;
repeat:=0;(P[j]=x*max_dx) and (j<>max_num) then begin:=x*max_dx;(R,length(R)+1);[high(R)]:=x;book1.NumberRC[6,length(R)+1]:=R[high(R)];:=true endbegin:=false;(j) end(b=true) or (j=high(P));j=high(P) end;
P - последовательность;
R - прогрессия;
Progression_type - переменная, определяющая тип прогрессии, которую нужно сформировать. Значение определяется в основной процедуре, в результате сравнения длин самой длинной арифметической и самой длинной геометрической прогрессий. Значению 1 соответствует арифметическая прогрессия, значению 2 соответствует геометрическая прогрессия.
Max_kol - длина самой длинной прогрессии;
Max_num - номер элемента последовательности, являющегося первым элементом самой длинной прогрессии;
Max_dx - разность самой длинной прогрессии;
J - номер элемента последовательности, с которым сравнивается последний найденный член прогрессии;
X - последний найденный член прогрессии;
B - логическая переменная, которая сообщает о том, что найден следующий член прогрессии.
Полный текст программы
unit Unit1;
interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, AxCtrls, OleCtrls, VCF1, StdCtrls, Math, OleCtnrs,, jpeg;=array of integer;= class(TForm): TMainMenu;: TEdit;: TLabel;Book1: TF1Book;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TOleContainer;: TLabel;: TImage;arithmetic_progression(var P: massiv;max_kol, max_num, max_dx: integer);geometric_progression(var P: massiv;max_kol, max_num, max_dx: integer);formirovanie(var P, R:massiv;max_kol, max_num, max_dx, progression_type: integer);posledovatelnost(var P:massiv);N1Click(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;
{$R *.dfm}
////////////////////////////////////////////////////////////////////////////////
{ Определение арифметической прогрессии.}
procedure TForm1.arithmetic_progression(var P: massiv;max_kol, max_num, max_dx: integer);i,j,x,dx,kol:integer;:boolean;dx:=1 to high(P) doi:=0 to high(P) do begin:=P[i];:=0;:=0;P[j]=x+dx then begin(kol);:=x+dx;:=true endbegin:=false;(j) end;(b=true) or (j=high(P));j=high(P);kol>max_kol then begin_kol:=kol;_num:=i;_dx:=dx end end;;
////////////////////////////////////////////////////////////////////////////////
{Формирование самой длинной прогрессии.}
procedure TForm1.formirovanie(var P, R: massiv;max_kol, max_num, max_dx, progression_type: integer);x,j:integer;:boolean;:=P[max_num];(R,1);[0]:=x;book1.NumberRC[6,2]:=R[0];:=false;progression_type of
: beginbook1.TextRC[7,11]:=’Разность’+inttostr(max_dx);1book1.TextRC[5,11]:=’Арифметическая прогрессия’;
repeat
j:=0;
repeatP[j]=x+max_dx then begin:=x+max_dx;(R,length(R)+1);[high(R)]:=x;book1.NumberRC[6,length(R)+1]:=R[high(R)];:=true endbegin:=false;(j) end(b=true) or (j=high(P));j=high(P) end;
: beginbook1.TextRC[7,11]:=’Знаменатель’+inttostr(max_dx);1book1.TextRC[5,11]:=’Геометрическая прогрессия.’;
repeat:=0;(P[j]=x*max_dx) and (j<>max_num) then begin:=x*max_dx;(R,length(R)+1);[high(R)]:=x;book1.NumberRC[6,length(R)+1]:=R[high(R)];:=true endbegin:=false;(j) end(b=true) or (j=high(P));j=high(P) end;
////////////////////////////////////////////////////////////////////////////////
{Определение самой длинной геометрической прогрессии.}
procedure TForm1.geometric_progression(var P:massiv;max_kol, max_num, max_dx: integer);i,j,x,dx,kol:integer;:boolean;dx:=-high(P) to high(P) doi:=0 to high(P) doP[i]<>0 then begin:=P[i];:=1;(dx>1) or (dx<-1) then begin:=0;(P[j]=x*dx) and (j<>i) then begin(kol);:=x*dx;:=true endbegin:=false;(j) end;(b=true) or (j=high(P));j=high(P);kol>max_kol then begin_kol:=kol;_num:=i;_dx:=dx end end end;;
////////////////////////////////////////////////////////////////////////////////
{Формирование самой длинной арифметической прогрессии.}
procedure TForm1.N1Click(Sender: TObject);P,R:massiv;_kol,max_num,max_dx,i,y,progression_type:integer;i:=1 to 2 dobook1.ClearRange(3*i,2,3*i,256,3);_kol:=0;_num:=0;_dx:=0;(P);_progression(P,max_kol,max_num,max_dx);_type:=1;(P,R,max_kol,max_num,max_dx,progression_type);
////////////////////////////////////////////////////////////////////////////////
{Формирование самой длинной геометрической прогрессии.}
procedure TForm1.N2Click(Sender: TObject);P,R:massiv;_kol,max_num,max_dx,i,y,progression_type:integer;i:=1 to 2 dobook1.ClearRange(3*i,2,3*i,256,3);_kol:=0;_num:=0;_dx:=0;(P);_progression(P,max_kol,max_num,max_dx);_type:=2;(P,R,max_kol,max_num,max_dx,progression_type);
////////////////////////////////////////////////////////////////////////////////
{Формирование самой длинной арифметической или геометрической, в зависимости от случая, прогрессии}
procedure TForm1.N3Click(Sender: TObject);P,R:massiv;_kol,max_num,max_dx,i,y,progression_type:integer;i:=1 to 2 dobook1.ClearRange(3*i,2,3*i,256,3);_kol:=0;_num:=0;_dx:=0;(P);_progression(P,max_kol,max_num,max_dx);:=max_kol;_progression(P,max_kol,max_num,max_dx);y<max_kol then_type:=2_type:=1;(P,R,max_kol,max_num,max_dx,progression_type);
////////////////////////////////////////////////////////////////////////////////
{Очистка результатов.}TForm1.N4Click(Sender: TObject);book1.ClearRange(3,2,3,256,3);book1.ClearRange(6,2,6,256,3);book1.ClearRange(8,2,10,4,3);.Clear;
////////////////////////////////////////////////////////////////////////////////
{Закрытие программы.}TForm1.N5Click(Sender: TObject);
form1.Close
end;
////////////////////////////////////////////////////////////////////////////////
{Формирование последовательности.}
procedure TForm1.posledovatelnost(var P: massiv);n,i:integer;:boolean;;strtoint(edit1.Text)<250 then:=strtoint(edit1.Text):=250;(P,n);i:=0 to n-1 do begin[i]:=random(n+1)-random(n+1);book1.NumberRC[3,i+2]:=P[i] end
end;
////////////////////////////////////////////////////////////////////////////////.
Скриншоты
Основной вид программы.

Меню

Найдена арифметическая прогрессия

Найдена геометрическая прогрессия

Заключение
Проделав весь этот долгий путь, мы пришли к тому, что можем выделить из любой последовательности самую длинную арифметическую прогрессию, самую длинную геометрическую прогрессию и самую длинную прогрессию из всех арифметических и геометрических прогрессий.
Можно было бы предложить несколько иной способ выполнения поставленной задачи: сформировать самые длинные арифметическую и геометрическую прогрессию, сравнить их между собой и вывести самую длинную из них. Но, в целях того, чтобы не находить лишнее а программе, был использован предложенный выше подход.
Таким образом, можно считать что с поставленной задачей мы справились полностью.
Список литературы
v Фаронов В.В. DELPHI. Программирование на языке высокого уровня. Учебник для вузов. СПб, Питер, 2003.
v Сухарев М. Delphi. Полное руководство. Включая версию 2010. СПб.: Наука и техника, 2010.
v Иванова Г.С. Технология программирования: Учебник для вузов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2002.
v Киммел П. Создание приложений в Delphi. М.: Издат. Дом «Вильямс», 2003.
v Далахвелидзе П.Г., Марков Е.П. Разработка Web-служб средствами Delphi. СПб, БХВ-Петербург, 2003.
|
|
|
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!