Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2020-03-31 | 112 |
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.
|
|
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!