Перейти к содержанию

Дано натуральное число n.


Росляев

Рекомендуемые сообщения

Помогите, пожалуйста, написать программу на Free Pascal.

1. Дано натуральное число n и действительное число х. Вычислить:

x( x - n )( x - 2 n )( x - 3 n )…( x – n^2);

2. По формуле задания №1 для действительного x>0 определить значение n

для произведений, дающих в итоге значение больше 1000.

Ссылка на комментарий
Поделиться на другие сайты

Росляев, написал на Delphi 7

 

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
 private
{ Private declarations }
 public
{ Public declarations }
 end;

var
 Form1: TForm1;
 a,N,xxl,x:integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin // Задание #1
x:=StrToInt(Edit2.text);
N:=StrToInt(Edit1.Text);
a:=1;
xxl:=x; // По сих момент должно быть понятно.
while (N>=a) do // начинаем цикл что бы опеределить количество множителей.
begin
xxl:=xxl*(x-a*N); // Умножаме и вычисляем множители
a:=a+1; // Считаем количесво повторений цикла и множитель для N
end;
Label1.Caption:= IntToStr(xxl);
// Задание №2. Убираем последюю строчку кода(Label1.Caption:= IntToStr(xxl);)
if (X>0) and (xxl>1000) then // В операторе ветвления то же непонятного мало =)
ShowMessage(IntToStr(xxl))
else ShowMessage('Выввели значение X<0  или результат не превышает 1000. Ответ не может быть получен!')
end;
end.

 

основная рабочая часть кода:

 

begin // Задание #1
x:=StrToInt(Edit2.text);
N:=StrToInt(Edit1.Text);
a:=1;
xxl:=x; // По сих момент должно быть понятно.
while (N>=a) do // начинаем цикл что бы опеределить количество множителей.
begin
xxl:=xxl*(x-a*N); // Умножаме и вычисляем множители
a:=a+1; // Считаем количесво повторений цикла и множитель для N
end;
Label1.Caption:= IntToStr(xxl);
// Задание №2. Убираем последюю строчку кода(Label1.Caption:= IntToStr(xxl);)
if (X>0) and (xxl>1000) then // В операторе ветвления то же непонятного мало =)
ShowMessage(IntToStr(xxl))
else ShowMessage('Выввели значение X<0  или результат не превышает 1000. Ответ не может быть получен!')
end;

 

 

В Паскаль сам переделаешь :)

заданияexe.rar

Изменено пользователем 4543
  • Согласен 1
Ссылка на комментарий
Поделиться на другие сайты

Вот переделал по Паскаль первую программу.

Program Lab4;
Uses CRT;
Var a,N,xxl,x:integer;
Begin
Write('x='); readln(x);
Write('n='); readln(N);
a:=1;
xxl:=x;
while(N>=a) do
begin
xxl:=xxl*(x-a*N);
a:=a+1;
end;
Writeln('Ответ=',xxl);
ReadLn();
End.

Может что-то неправильно.

Ссылка на комментарий
Поделиться на другие сайты

Вот мой вариант.Первая программа:

Program Lab1;
var n,i:integer;
x,s:real;
begin
WriteLn('Введите x');
readln(x);
writeln('Введите n');
readln(n);
s:=x;
for i:=1 to n do
s:=s*(x-i*n);
WriteLn('Ответ: ', s:8:3);
ReadLn();
end.

Вторая программа:

Program Lab2;
var n,i:integer;
x,s:real;
begin
WriteLn('Введите x');
readln(x);
repeat
 inc(n);
 s:=x;
 for i:=1 to n do
s:=s*(x-i*n);
until s>=1000;
Write('n=', n);
ReadLn();
end.

  • Согласен 1
Ссылка на комментарий
Поделиться на другие сайты

Росляев, а тебе это зачем нужно?

давай еще задания, мы тебе все сделаем)

 

P.S. Условие второй програмы чесно говоря не понял, ну ладно, тут еще умные люди вроде бы сделали :)

Изменено пользователем 4543
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста:

Дана квадратная вещественная матрица размерности n. Найти количество

отрицательных элементов, стоящих: выше главной диагонали; ниже главной диагонали.

Ссылка на комментарий
Поделиться на другие сайты

Росляев, это задача для 4543?Код:

Program R;
Const n=3;
Var a:array[1..n,1..n] of real;
i,j:byte;
pod,nad:integer;

begin
randomize;
pod:=0;
nad:=0;
for i:=1 to n do
 begin
for j:=1 to n do
  begin
	a[i,j]:=random(10000)-5000+random;
	Write(' ', a[i,j]:9:3);
	if a[i,j]<0 then
	  if not(i=j) then
		if i<j then inc(nad)
		else inc(pod);
  end;
WriteLn;
 end;
WriteLn('Количество отрицательных элементов над главной диагональю: ', nad);
WriteLn('Количество отрицательных элементов под главной диагональю: ', pod);
end.

Ссылка на комментарий
Поделиться на другие сайты

Росляев, это задача для 4543?Код:

Program R;
Const n=3;
Var a:array[1..n,1..n] of real;
i,j:byte;
pod,nad:integer;

begin
randomize;
pod:=0;
nad:=0;
for i:=1 to n do
 begin
for j:=1 to n do
  begin
	a[i,j]:=random(10000)-5000+random;
	Write(' ', a[i,j]:9:3);
	if a[i,j]<0 then
	  if not(i=j) then
		if i<j then inc(nad)
		else inc(pod);
  end;
WriteLn;
 end;
WriteLn('Количество отрицательных элементов над главной диагональю: ', nad);
WriteLn('Количество отрицательных элементов под главной диагональю: ', pod);
end.

А можешь дать подробные коментарии и объяснить принцип действия....

Ссылка на комментарий
Поделиться на другие сайты

4543, что именно непонятно? Вроде программа очень простая.

Можешь объяснить сначала основной принцип действия, а потом коментарии в коде?

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • SOL.
      Автор SOL.
      пицот

    • sergei5
      Автор sergei5
      Добрый день Вирус зашифровал все данные файл с расширением  62IKGXJL  помогите восстановить. Буду вам признателен.
    • Olga Grinchuk
      Автор Olga Grinchuk
      Взомали сервер через RDP и зашифровали файлы, оставили почту platishilidrocish@fear.pw для расшифровки и требуют оплату.
      Во вложении требование и зашифрованные файлы.
      требование.rar зашифрованные файлы.rar
    • Zubarev211
      Автор Zubarev211
      Добрый день, поймали шифровальщик Xorist, зашифровали все файлы расширением *.er. Нужно было восстановить базу данных 1С. Из теневой папки получилось восстановить 1CD8.1CD
      Указанный файл не был зашифрован расширением .er, но при запуске выдавало ошибку о повреждении данных.

      Так же пытались вашим декриптором использовали пару 2х файлов, но так же получали ошибку(пробовали на документах ворд)

      Подскажите пожалуйста какие дальнейшие шаги нам нужно сделать, чтобы восстановить базу. Спасибо! 
    • Taker1993
      Автор Taker1993
      Добрый день. Борюсь с этим майнером уже приличное время, пробовал разные антивирусы и думал что он пропал, так как используя несколько разных антивирусов от основной части майнера я вроде избавился, но заметил ещё тогда что много ошибок в системе 0xc0000017 при исполнении команд dism в командной строке (которую я вчера исправил), при обновлении всех компонентов windows и т.п. (пробовал откатывать удаляя по гайдам папку с апдейтами используя утилиты для активации обнов - но безрезультатно), также есть ошибка с безопасностью, в начале была проблема с целостностью ядра и я удалил два мешающих файла исправив проблему, но ошибка с этим так до конца и  не решилась и он пишет про отсутствие TPM - а конкретно NET HELPMSG 2182 Problem with BITS; также есть проблема с невозможностью запуска диспетчера устройств и других подобных окон и некоторых команд в комбинации Win+R. Почему я думал, что избавился от майнера полностью: грузить систему перестало на постоянке и сильных нагрузок не было, а с остальным думал уже ничего не сделаешь и нужно переустанавливать Windows, оставил на потом, так как есть немало сторонних лицензионных программ,, которые шли вместе с ноутбуком и я боялся к ним потерять доступ, ну и так как не было точек восстановления и если даже они были я не могу к ним получить доступ, а оказывается всё-таки нет майнер на месте.
      Несколько месяцев спустя заметил, а конкретно вчера: что изменилась возможность администрирования и я не могу получить доступ к системным файлам, не мог удалить, изменять, переименовывать файлы которые вызывали нарушение целостности ядра (xusb21.sys и STTub30.sys), но по итогу через стороннюю утилиту я их удалил (один из них STTub30.sys я потом воcстановил найдя на github). Вернул также сегодня в ночь через реестр доступ к DISM и сделал успешный запуск и восстановление по команде Dism /Online /Cleanup-Image /RestoreHealth, а SFC и прежде работала, но это ничего не поменяло; вообще все последние именно операции делал по одному гайду и там после восстановления DISM советовали воспользоваться Farbar Recovery Scan Tool 64-бит, но наткнулся поздновато и это не помогло, так как нужен составленный fixlist.txt, да и Fabar раз 6 выдал ошибку при сканировании bcdedit.exe (в процессе написания текста сделал повторное сканирование c Fabar и ошибок было уже штуки 3-4 bcdedit.exe, а результаты этого сканирования прикрепил в качестве файлов Addition.txt и FRST.txt вдруг пригодятся).
      Сегодня заметил, что даже с включённым лицензионным Касперычем майнер снова поменял и ограничил что-то там в брандмауэре Windows - было уведомление (понимаю, что он уже давно в исключениях, но всё же). Ни Kaspersky Virus Removal Tool, ни Dr.Web Cruelt! ни нашли ничего, вероятно майнер добавил их уже в исключения, так как при удалении основных компонентов майнера я уже пользовался ими раньше, но до этого я пользовался AV block Remover и он удалял майнер, но спустя время он появляется снова. 
      Был бы очень рад если бы получилось решить данную проблему, Windows лицензионный шедший вместе с ноутом переустанавливать всё же не хочется и я не уверен что и там не будет ошибок в процессе.
      Заранее всем откликвнушимся большое спасибо и с пасхой!
      CollectionLog-2025.04.20-14.19.zip Addition.txt FRST.txt
×
×
  • Создать...