Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 01.06.2017, 13:04   #1
SuweR
Пользователь
 
Регистрация: 11.05.2017
Сообщений: 17
По умолчанию Помогите составить блок-схему

Код:
procedure TForm1.Button1Click(Sender: TObject);
var i, mini, maxi, mini1, maxi1, k: Integer;
    a: array [1..1000] of Integer;
begin
randomize;//генератор случайных чисел
mmo1.Clear;//очистка поля Memo1
for i:=1 to StrToInt(edt1.Text) do //цикл от значения первого до значение введенного в Edit
begin //начало подпрограммы
a[i]:=-100+random(201); //элементу массива присвоить значение наугад от -100 до +100
if a[i]=0 then a[i]:=1 ; //если значение элемента массива равно "нулю" тогда присвоить ему "1"
if i=1 then //если номер элемента массива равен одному тогда
begin //начало подпрограммы
mini:=a[i]; //минимуму присвоить значение первого элемента массива
maxi:=a[i]; //максимум присвоить значение первого элемента массива
end; //конец подпрограммы
if a[i] > maxi then maxi:=a[i]; //если элемент массива больше максимума тогда максимуму присвоить элемент массива
if a[i] < mini then mini:=a[i]; //если элемент массива меньше минимума тогда минимуму присвоить элемент массива
mmo1.Text:=mmo1.Text+' '+inttostr (a[i]); //вывести в memo1 текст предыдущий + чис-ло_в_строку (значение элемента массива)
end; //конец подпрограммы
maxi1:=0; //счетчик количества максимальных элементов массива, присвоим начальное значение "нуль"
mini1:=0; //счетчик количества минимальных элементов массива, присвоим начальное значение "нуль"
for i:=1 to StrToInt(edt1.Text) do //цикл от 1 до значения введенного в Edit (текст_в_число из Edit1) выполнять
begin //начало подпрограммы
if a[i] = maxi then Inc(maxi1); //если значение элемента массива равно максимальному зна-чению, тогда счетчик максимальных элементов массива увеличить на 1;
if a[i] = mini then Inc(mini1); //если значение элемента массива равно минимальному зна-чению, тогда счетчик количества минимальных элементов массива увеличить на 1;
end; //конец подпрограммы
mmo1.Lines.Add(' '); //добавить пустую строку в поле Memo
mmo1.Lines.Add('Минимальный элемент: '+ IntToStr(mini)+' встречается '+ IntToStr(mini1)+' раз(а)'); //добавление строки в Memo
mmo1.Lines.Add('Максимальный элемент: '+ IntToStr(maxi)+' встречается '+ IntToStr(maxi1)+' раз(а)'); //добавление строки в Memo
k:=0; // счетчик количества смен знака, присваиваем начальное значение "нуль"
for i:=1 to StrToInt(edt1.Text)-1 do //цикл от 1 до значения введенного в Edit (текст_в_число из Edit1)-1 (т.к. сравниваем текущий и следующий элемент массива) выполнять
if ((a[i] > 0) and (a[i+1] < 0)) or ((a[i] < 0) and (a[i+1] > 0)) then Inc(k); //если (элемент боль-ше"нуля"и следующий элемент массива меньше"нуля")или(элемент меньше"нуля"и сле-дующий элемент массива больше"нуля")тогда счетчик количества смен знака увеличива-ем на "единицу"
mmo1.Lines.Add('Знак меняется: '+ IntToStr(k)+' раз(а)'); //добавление строки в поле Memo1
k:=0;// счетчик количества элементов уменьшающихся с каждым шагом, присваиваем на-чальное значение "нуль"
for i:=1 to StrToInt(edt1.Text)-1 do //цикл от 1 до значения введенного в Edit (текст_в_число из Edit1)-1 (т.к. сравниваем текущий и следующий элемент массива) выполнять
if (a[i] > a[i+1]) then Inc(k); //если текущий элемент массива больше следующего, тогда счетчик количества элементов "+1"
if k=(StrToInt(edt1.Text)-1) then mmo1.Lines.Add('Строго убывающая монотонность');//вывод в Memo1 текста если  счетчик количества элементов равен значе-нию (текст_в_число из Edit1)-1
k:=0;// счетчик количества элементов возрастающих с каждым шагом, присваиваем на-чальное значение "нуль"
for i:=1 to StrToInt(edt1.Text)-1 do //цикл от 1 до значения введенного в Edit (текст_в_число из Edit1)-1 (т.к. сравниваем текущий и следующий элемент массива) выполнять
if (a[i] < a[i+1]) then Inc(k); //если текущий элемент массива меньше следующего, тогда счетчик количества элементов "+1"
if k=(StrToInt(edt1.Text)-1) then mmo1.Lines.Add('Строго возрастающая монотонность');//вывод в Memo1 текста "'Строго возрастающая монотонность", если  счетчик количества элементов равен значению (текст_в_число из Edit1)-1
k:=0;// счетчик количества элементов возрастающих с каждым шагом, присваиваем на-чальное значение "нуль"
for i:=1 to StrToInt(edt1.Text)-1 do //цикл от 1 до значения введенного в Edit (текст_в_число из Edit1)-1 (т.к. сравниваем текущий и следующий элемент массива) выполнять
if (a[i] <> a[i+1]) then Inc(k);
if k=(StrToInt(edt1.Text)-1) then mmo1.Lines.Add('Последовательность не монотонна');//вывод в Memo1 текста "'Последовательность не монотоона", если  счетчик количества элементов равен значению (текст_в_число из Edit1)-1
end; //Конец подпрограммы
procedure TForm1.Button2Click(Sender: TObject);
const
M=10;
var
i:integer;
Fr,t1,t2:Int64;
Dt:Extended;
begin
//Определяем тактовую частоту процессора(количество тактов в секунду).
QueryPerformanceFrequency(Fr);
if Fr=0 then begin
ShowMessage('Не удалось получить сведения о тактовой частоте.');
Exit;
end;
//ShowMessage('Тактоваяя частота процессора(количество тактов в секунду):'+Inttostr(Fr);
//Показание счётчика тактов.
QueryPerformanceCounter(t1);
//Выполнение исследуемого процесса.
for i:=1 to M do Sleep(10);
//Показаниесчётчикатактов.
QueryPerformanceCounter(t2);
//Расчёт времени.
Dt:=(t2-t1)/Fr;
ShowMessage('Длительность выполнения в секундах:'+FloatToStr(Dt));
end;
end. //Конец программы

Последний раз редактировалось Вадим Мошев; 03.06.2017 в 21:52.
SuweR вне форума
Старый 01.06.2017, 13:22   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Помогите составить блок-схему
Помогите прочитать то, что тут написано!
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума
Старый 01.06.2017, 13:47   #3
SuweR
Пользователь
 
Регистрация: 11.05.2017
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Помогите прочитать то, что тут написано!
Что?
SuweR вне форума
Старый 01.06.2017, 13:48   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Эта тема закрыта, т.к. автор темы создал аналогичную тему в разделе Фриланс.
Модератор
Serge_Bliznykov вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите составить блок-схему SuweR Фриланс 1 01.06.2017 13:41
Помогите пожалуйста решить две задачи по паскалю и составить и составить блок схему! ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 2 20.01.2009 09:37
Помогите составить блок-схему pymba Помощь студентам 6 20.12.2008 22:34
помогите составить блок схему ДЖО Помощь студентам 1 29.10.2008 02:20