даниил921
16.06.2022 16:26

а) Що таке логічні вирази? Які знаки вони можуть містити? б) Яких значень може набувати логічний вираз? в) Який загальний вигляд, кількість аргументів, результат використання логічної функції IF? г) Як визначається значення логічної функції IF? д) Який загальний вигляд, кількість аргументів, результат виконання логічних функцій AND, OR, NOT?

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
VikiMikiSmile
08.07.2022 22:59
Чтобы не загромождать программу, предполагаем без поверки, что x2>x1 и dx>0. Либо, x2<x1 и dx<0. В любых иных вариантах программа зациклится.

В приведенной программе описана функция для подвопроса а); прочие варианты закомментированы. Для получения других вариантов достаточно закомментировать строку y:=2*x; и снять комментарий с нужной строки.

function f(x:real):real;
begin
  f:=2*x;
  {
  f:=x/3+9;
  f:=x-4;
  f:=x/8-6;
  }
end;

var
  x,x1,x2,dx,y:real;
begin
  Writeln('Введите начальное значение, шаг табуляции, конечное значение');
  Read(x1,dx,x2);
  x:=x1;
  repeat
    y:=f(x);
    Writeln('x=',x,', y=',y);
    x:=x+dx
  until x>x2+dx/2 { +dx/2 - это защита от накопления погрешности }
end.

Тестовое решение:
Введите начальное значение, шаг табуляции, конечное значение
0 0.33 3.3
x=0, y=0
x=0.33, y=0.66
x=0.66, y=1.32
x=0.99, y=1.98
x=1.32, y=2.64
x=1.65, y=3.3
x=1.98, y=3.96
x=2.31, y=4.62
x=2.64, y=5.28
x=2.97, y=5.94
x=3.3, y=6.6

Сомневающиеся в пользе "довеска" dx/2 в последней формуле, могут попробовать выполнить этот же контрольный пример, изменив предпоследнюю строку на более привычное until x>x2. И убедиться, что решение для х=3.3 пропадет.
0,0(0 оценок)
Ответ:
vanyanazarenko1
08.07.2022 22:59
Давайте сделаем так:
Опишем 4 функции в программе. Когда надо - вытащим нужную...  ОК?

uses Crt;
var x1, x2 , dx, y: real;
    i: integer;
function f1 (x:real):real;
 begin
   f1:=2*x;
end;

function f2 (x: real):real;
 begin
   f2:=x/3+9;
 end;

function f3 (x:real):real;
begin
  f3:=x-4;
end;

function f4 (x: real):real;
begin
  f4:=x/8-6;
end;

begin
ClrScr;
Write(' x1 = '); ReadLn(x1);
Write(' x2 = '); ReadLn(x2);
Write (' dx = '); ReadLn(dx);
i:=1;
repeat
   WriteLn(f1(i):6:3);
   i:=i+1;
until i>x2;
ReadLn;
end.

Например, задавая х1= -10
                               х2= 10
                               dx = 1  получаем значения для первой функции

Записав WriteLn (f3(i):6:3); - получаем значения для третьей функции и так далее
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота