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

Дано натуральное число 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.
    • Инфлюенсер
      От Инфлюенсер
      Добрый день, произошел взлом системы. Пострадали пк и сервера, злоумышленник зашифровал данные. Так же попросил выкуп. для теста дал пароль от одного из дисков с помощью которого удалось расшифровать диск с которого собраны логи по запросу, в данный момент диски заблокированы. Требуется ли с помощью программы R.Saver   попытаться вытащить какиет-о файлы, так как в настоящий момент  диски являются роу
      Addition.txtFRST.txt
    • dexter
      От dexter
      Всем привет.
       
      Открыл меню Плюса и увидел сообщение (скрин). Ладно, залез в BIOS и включил виртуализацию и попутно (по совету в одной из профильных статей ЛК) параметр VT-d.
      Опять посетил Настройку защиты ввода данных и опять сообщение "... Обнаружено несовместимое устройство или программное обеспечение."
       
      Хорошо. По поводу устройства - ясен пень, имеется в виду модуль TPM . Но он у меня не установлен. Это я знаю точно, поскольку я его не покупал и не устанавливал ( как мне разъяснили в одном из магазинов,
      сие устройство запрещено к оф. продаже). Разъём на плате есть, а самого модуля - нету.
       
      Смотрим и читаем дальше много букв в одной из профильных статей от ЛК. И оказывается, что причин о несовместимости программного обеспечения может быть несколько - https://support.kaspersky.ru/common/safemoney/13713#block1
      то что вверху написано - не суть важно. Листаем список ниже. И что мы там видим ? А то, что под программным обеспечением имеется в виду в том числе Изоляция ядра и Smart App Control.
      У меня, на начальной стадии использования винды-11 Smart App Control отключен, т.к. находится в  режиме "Оценка".
       
      А теперь такой вопрос к разработчикам : нельзя как-то решить эту коллизию с Smart App Control , Изоляцией ядра и защитой ввода данных с использованием аппаратной виртуализации ?
      Или вы реально решили, что для функционирования Плюса в том виде, как Вы задумали , надо отключить несколько функций по обеспечению безопасности в самой системе ?


    • Bercolitt
      От Bercolitt
      У меня Windows 10 домашний, следовательно нет удаленного рабочего стола. Многие документы и картинки с моего ПК перенеслись автоматически в облачное хранилище OneDrive. Это видно в проднике. Особого доверия к этому хранилищу нет. Если возникают какие-то предупреждения от Kaspersky Plus, то в качестве пользователя указывается модифицированное имя моего ПК с добавлением знака доллара $ на конце. Это удаленный доступ хакера или программы бота к моим данным?
    • Дмитрий С1990
      От Дмитрий С1990
      Был зашифрован ПК по средствам подключения по rdp  к учетной записи администратора и подобранному паролю.
      Addition.txt virus.7z FRST.txt
×
×
  • Создать...