Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Delphi и Lazarus


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Gluck
Статус: 8-й класс
Рейтинг: 580
∙ повысить рейтинг »
puporev
Статус: Профессионал
Рейтинг: 508
∙ повысить рейтинг »
mklokov
Статус: 8-й класс
Рейтинг: 158
∙ повысить рейтинг »

∙ Pascal / Delphi / Lazarus

Номер выпуска:1806
Дата выхода:02.12.2019, 21:15
Администратор рассылки:Зенченко Константин Николаевич (Старший модератор)
Подписчиков / экспертов:35 / 38
Вопросов / ответов:3 / 3

Консультация # 197217: Здравствуйте, уважаемые эксперты! 14Прошу вас ответить на следующий вопрос: Напишите программу, с использованием пользовательской функции, которая вычисляет u = min(a, b), v = min(ab, a+b), min(u+v2, 3.14), где a и b действительные числа. pascal ...
Консультация # 197245: Здравствуйте! Прошу помощи в следующем вопросе: Написать модуль, который формирует матрицу типа 0001 0010 0100 1000 (побочная диагональ) Pascal ...
Консультация # 197246: Здравствуйте! Прошу помощи в следующем вопросе: Поменять местами последний элемент массива с первым минимальным элементом, а затем поделить на заданное число все элементы, начиная с номера, где был найденный минимальны й элемент, до последнего элемента массива. Pascal ...

Консультация # 197217:

Здравствуйте, уважаемые эксперты! 14Прошу вас ответить на следующий вопрос:

Напишите программу, с использованием пользовательской функции, которая вычисляет u = min(a, b),
v = min(ab, a+b), min(u+v2, 3.14), где a и b действительные числа.

pascal

Дата отправки: 26.11.2019, 22:43
Вопрос задал: rail (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Старший модератор):

Здравствуйте, rail!

Смотрите приложение:

Код (Pascal) :: выделить код
type
  f=function(a:real):real;
{$F+}
function f2(a:real):real;
  begin
    f2:=a*a
  end;
function fe(a:real):real;
  begin
    fe:=exp(a)
  end;
function fs(a:real):real;
  begin
    fs:=(exp(a)-exp(a))/2
  end;
{$F-}
function fmin(a,b:real):real;
  begin
    if a>b then fmin:=b
      else fmin:=a
  end;
var
  a:integer;
  b:f;
  x,y,z:real;
begin
  write('Enter X:=');readln(x);
  write('Enter Y:=');readln(y);
  write('Enter Z:=');readln(z);
  repeat
    write('select function:',#10,#13,'1-x^2',#10,#13,'2-sh(x)',#10,#13,'3-e^x');
    readln(a);
  until a in[1..3];
  case a of
    1:b:=f2;
    2:b:=fs;
    3:b:=fe;
    end;
  if fmin(b(x),y)<>0then writeln('Result:=',fmin(b(x)+y,y-z)/fmin(b(x),y))
    else writeln('Result - undefined')
end.

Удачи!

Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 28.11.2019, 15:11
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 197245:

Здравствуйте! Прошу помощи в следующем вопросе:

Написать модуль, который формирует матрицу типа
0001
0010
0100
1000 (побочная диагональ)
Pascal

Дата отправки: 27.11.2019, 14:35
Вопрос задал: rail (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует puporev (Профессионал):

Здравствуйте, rail!
Модуль.

Код (Pascal) :: выделить код
unit matrix;
interface
type mtr=array[1..20,1..20] of integer;
procedure form_mtr(var a:mtr;var n:integer);
implementation
procedure form_mtr(var a:mtr;var n:integer);
var i,j:integer;
begin
repeat
write('Введите размер матрицы от 2 до 20 n=');
readln(n);
until n in [2..20];
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    if j=n-i+1 then a[i,j]:=1
    else a[i,j]:=0;
    write(a[i,j]:2);
   end;
  writeln;
 end;
end;
end.

Программа.
Код (Pascal) :: выделить код
uses matrix;
var a:mtr;
    n:integer;
begin
form_mtr(a,n)
end.

Модуль сохранить с именем matrix в папке с программой.

Консультировал: puporev (Профессионал)
Дата отправки: 27.11.2019, 15:26
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 197246:

Здравствуйте! Прошу помощи в следующем вопросе:

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

Pascal

Дата отправки: 27.11.2019, 14:38
Вопрос задал: rail (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует puporev (Профессионал):

Здравствуйте, rail!

Код (Pascal) :: выделить код
var a:array[1..100] of real;
    n,i,imn:integer;
    x:real;
begin
repeat
write('Введите размер массива от 10 до 100 n=');
readln(n);
until n in [10..100];
randomize;
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=1+10*random;
  write(a[i]:5:1);
  if i=1 then imn:=1
  else if a[i]<a[imn] then imn:=i;
 end;
writeln;
writeln('Первый минимальный элемент=',a[imn]:0:1,' его индекс=',imn);
x:=a[imn];
a[imn]:=a[n];
a[n]:=x;
writeln('Обмен первого минимального и последнего элементов');
for i:=1 to n do
write(a[i]:5:1);
writeln;
write('Введите число для деления x=');
readln(x);
writeln('Измененный массив');
for i:=1 to n do
 begin
  if i>=imn then a[i]:=a[i]/x;
  write(a[i]:5:1);
 end;
end.

Консультировал: puporev (Профессионал)
Дата отправки: 27.11.2019, 15:39
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное