Jump to content
Janilabo

T(I/E)ASet(Min/Max/Range)

Recommended Posts

Lovely title, ehh? ;D

 

Example for all 3 actions (Min/Max/Range) at the bottom of this post.

 

TIASetMin - Sets minimum value (x) to TIA

procedure TIASetMin(var TIA: TIntArray; x: Integer);
var
 h, i: Integer;
begin
 h := High(TIA);
 for i := 0 to h do
   if (TIA[i] < x) then
     TIA[i] := x; 
end;

 

TEASetMin - Sets minimum value (x) to TEA

procedure TEASetMin(var TEA: TExtArray; x: Extended);
var
 h, i: Integer;
begin
 h := High(TEA);
 for i := 0 to h do
   if (TEA[i] < x) then
     TEA[i] := x; 
end;

 

TIASetMax - Sets maximum value (x) to TIA

procedure TIASetMax(var TIA: TIntArray; x: Integer);
var
 h, i: Integer;
begin
 h := High(TIA);
 for i := 0 to h do
   if (TIA[i] > x) then
     TIA[i] := x; 
end;

 

TEASetMax - Sets maximum value (x) to TEA

procedure TEASetMax(var TEA: TExtArray; x: Extended);
var
 h, i: Integer;
begin
 h := High(TEA);
 for i := 0 to h do
   if (TEA[i] > x) then
     TEA[i] := x; 
end;

 

TIASetRange - Sets TIA values inside range (mn = minimum, mx = maximum)

procedure TIASetRange(var TIA: TIntArray; mn, mx: Integer);
var
 h, i: Integer;
begin
 if (mn > mx) then
   Swap(mn, mx);
 h := High(TIA);
 if (h > -1) then
 case (mn = mx) of
   True:
   for i := 0 to h do
     if ((TIA[i] < mn) or (TIA[i] > mx)) then
       TIA[i] := mn;
   False:
   for i := 0 to h do
   begin
     if (TIA[i] < mn) then
       TIA[i] := mn;
     if (TIA[i] > mx) then
       TIA[i] := mx; 
   end;    
 end;
end;

 

TEASetRange - Sets TEA values inside range (mn = minimum, mx = maximum)

procedure TEASetRange(var TEA: TExtArray; mn, mx: Extended);
var
 h, i: Integer;
begin
 if (mn > mx) then
   Swap(mn, mx);
 h := High(TEA);
 if (h > -1) then
 case (mn = mx) of
   True:
   for i := 0 to h do
     if ((TEA[i] < mn) or (TEA[i] > mx)) then
       TEA[i] := mn;
   False:
   for i := 0 to h do
   begin
     if (TEA[i] < mn) then
       TEA[i] := mn;
     if (TEA[i] > mx) then
       TEA[i] := mx; 
   end;    
 end;
end;

 

Example for Min, Max and Range with TIA:

 

procedure TIASetMin(var TIA: TIntArray; x: Integer);
var
 h, i: Integer;
begin
 h := High(TIA);
 for i := 0 to h do
   if (TIA[i] < x) then
     TIA[i] := x; 
end;

procedure TIASetMax(var TIA: TIntArray; x: Integer);
var
 h, i: Integer;
begin
 h := High(TIA);
 for i := 0 to h do
   if (TIA[i] > x) then
     TIA[i] := x; 
end;

procedure TIASetRange(var TIA: TIntArray; mn, mx: Integer);
var
 h, i: Integer;
begin
 if (mn > mx) then
   Swap(mn, mx);
 h := High(TIA);
 if (h > -1) then
 case (mn = mx) of
   True:
   for i := 0 to h do
     if ((TIA[i] < mn) or (TIA[i] > mx)) then
       TIA[i] := mn;
   False:
   for i := 0 to h do
   begin
     if (TIA[i] < mn) then
       TIA[i] := mn;
     if (TIA[i] > mx) then
       TIA[i] := mx; 
   end;    
 end;
end;

var
 TIA: TIntArray;

begin
 ClearDebug;

 TIA := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 WriteLn('Before TIASetMin(TIA, 1): ' + TIAToStr(TIA));
 TIASetMin(TIA, 1);
 WriteLn('After TIASetMin(TIA, 1): ' + TIAToStr(TIA) + #13#10);

 TIA := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 WriteLn('Before TIASetMax(TIA, 9): ' + TIAToStr(TIA));
 TIASetMax(TIA, 9);
 WriteLn('After TIASetMax(TIA, 9): ' + TIAToStr(TIA) + #13#10);

 TIA := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 WriteLn('Before TIASetRange(TIA, 1, 9): ' + TIAToStr(TIA));
 TIASetRange(TIA, 1, 9);
 WriteLn('After TIASetRange(TIA, 1, 9): ' + TIAToStr(TIA));

 SetLength(TIA, 0);
end.

 

-Jani

Edited by Janilabo
Link to comment
Share on other sites

Похудение это тема, которая всегда животрепещуща для большинства девушек. Многие среди нас стремятся к идеальной форме, но часто сталкиваются с трудностями и препятствиями на пути к этой цели. Однако, с правильным подходом, похудение может быть достижимо без стресса и изнурительных диет. В данной статье мы рассмотрим 10 действенных стратегий похудения, помогающие девушкам добиться желаемых результатов и сохранить здоровье.

1. Установите цель

Первым шагом к удачному похудению является установление конкретной цели. Обусловьте, сколько килограммов вы хотите сбросить и по какой-никакой причине. Цель обязана быть реалистичной, измеримой и достижимой.

2. Питание

Правильное питание играет главную роль в процессе похудения. Сосредотачивайтесь на употреблении натуральных товаров, богатых витаминами и минералами. Опасайтесь стремительных углеводов и жирной пищи. Устремляетесь к балансу макро- и микроэлементов в рационе.

3. Физическая активность

Регулярные физические упражнения включая помогут спаливать калории, но и укрепят мышцы, улучшат общее самочувствие и увеличат выносливость. Найдите вид активности, который вам нравится: от йоги до плавания, от бега до танцев.

4. Гидрация

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

5. Сон

Качественный сон играет главную роль в ходе похудения. Старайтесь спать не менее несколько часов в день, чтоб ваш организм мог восстановиться, а метаболизм был в норме.

6. Управление стрессом

Стресс может стать препятствием на пути к похудению похудении Найдите способы расслабления и отдыха: медитация, йога, чтение книг, прогулки на природе.

7. Каждодневный контроль

Ведение дневника пищевых привычек и физической активности поможет вам понять, что вы едите и какой-никакое количество калорий потребляете, также оценить свои успехи.

8. Постепенные изменения

Опасайтесь радикальных диет и раздражающих факторов и ситуаций. Внедряйте изменения в кормленьи и виде жизни чуть-чуть, чтобы они стали стабильными привычками.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
  • Create New...