М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
zyxra4
zyxra4
12.12.2020 08:08 •  Информатика

Написать программу на pascal,для вычисления значения функции f(x)= а) =0.5 при x-1 б)=0 при x=0 в)=x+3 при x< -1 x=[-3; 4] с шагом 0,5

👇
Ответ:
mamylizkka81
mamylizkka81
12.12.2020
На самом деле условие F(х)=0 при х=0 лишнее, поскольку значение F(x)=0.5x² при x≥-1 и так дает F(0)=0.

var
  x,F:real;
begin
  x:=-3;
  while x<4.01 do begin
    if x<-1 then F:=x+3
    else F:=0.5*x*x;
    Writeln('x=',x:4:1,', F=',F:5:3);
    x:=x+0.5
    end
end.

Результат
x=-3.0, F=0.000
x=-2.5, F=0.500
x=-2.0, F=1.000
x=-1.5, F=1.500
x=-1.0, F=0.500
x=-0.5, F=0.125
x= 0.0, F=0.000
x= 0.5, F=0.125
x= 1.0, F=0.500
x= 1.5, F=1.125
x= 2.0, F=2.000
x= 2.5, F=3.125
x= 3.0, F=4.500
x= 3.5, F=6.125
x= 4.0, F=8.000
4,4(32 оценок)
Ответ:
dimaburkovskiy3
dimaburkovskiy3
12.12.2020
Var x:real;
begin
x:=-3;
while x<=4 do begin
 if x>=1 then writeln('F(x) = ',sqr(x)/2); 
 if x=0 then writeln('F(x) = 0');
 if x<-1 then writeln('F(x) = ',x+3);
x:=(x+0.5);
end
end.
4,5(65 оценок)
Открыть все ответы
Ответ:
ароаурв
ароаурв
12.12.2020
{неэффективный алгоритм}

const
 k = 100;

type
 maze = array [1..k, 1..k] of integer;
 var
 l : maze;
 n, m: integer;
 i, j: integer;
 c: char;
 t: text;
 w: integer;
 x0, y0: integer;
 x1, y1: integer;

procedure ways(a,b,r:integer);
begin
 if (w = 0) or (r < w) then {нет смысла идти дальше, если текущий путь уже превосходит найденный}
 if (l[a,b] <> -2) then
 if (r < l[a,b]) or (l[a,b] = -1) then {нет смысла идти, если текущая клетка уже была достигнута за меньшее число шагов}
   begin
   l[a,b] := r;
   if (a = x1) and (b = y1) then
     w := r
   else
     begin
     if a <> 1 then ways(a - 1, b, r + 1);
     if b <> 1 then ways(a, b - 1, r + 1);
     if a <> n then ways(a + 1, b, r + 1);
     if b <> m then ways(a, b + 1, r + 1);
     end
   end;
end; 
begin
 assign(t, 'input.txt');
 reset(t);
 w := 0;
 readln(t, n, m);
 readln(t, x0, y0);
 readln(t, x1, y1);
 for i := 1 to n do
   begin
   for j := 1 to m do
     begin
     read(t, c);
     case c of
       '.' : l[i,j] := -1; {будем считать, что если клетка отмечена как -1, то путь к ней еще не найден}
       'X' : l[i,j] := -2; {-2, если клетка непроходима}
       end;
     end;
   readln(t)
   end;
 close(t);
 if (l[x0,y0] <> -2) and (l[x1,y1] <> -2) then
   begin
   l[x0,y0] := 1; {просто трюк, чтобы пройти проверку на (r < l[x0,y0])}
     ways(x0, y0, 0);
   end
 else
  l[x1,y1] := -1;
 writeln(l[x1,y1])
end.
4,4(70 оценок)
Ответ:
2017minikot
2017minikot
12.12.2020
1. "Школьное" решение

// PascalABC.Net 3.0, сборка 1066
var
  s,s1:string;
  i:integer;
  a:char;
begin
  Write('Введите натуральное число любой длины :'); Readln(s);
  Write('Введите цифру, которую надо удалить: '); Readln(a);
  s1:='';
  for i:=1 to Length(s) do
    if s[i]<>a then s1:=s1+s[i];
  Writeln('Результат: ',s1)
end.

Тестовый прогон:
Введите натуральное число любой длины :3141592653589793
Введите цифру, которую надо удалить: 5
Результат: 3141926389793

2. Современное решение (так в школе почему-то не учат)

// PascalABC.Net 3.0, сборка 1066
begin
  var s:=ReadString('Введите натуральное число любой длины :');
  var a:=ReadChar('Введите цифру, которую надо удалить: ');
  Write('Результат: ',s.Replace(a,''));
end.
4,6(99 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ