Midjdjidjdjxjd
26.04.2023 10:50

1. К формальным исполнителям относятся: а) Компьютер б) Экскурсовод в) Стиральная машина г) Водитель 2. Алгоритм, в котором действия выполняются последовательно друг за другом, называют а) Разветвляющимся б) Последовательным в) Линейным г) Циклическим д) Прямым 3. Полную и сокращенную форму может иметь: а) Линейный алгоритм б) Разветвляющийся алгоритм в) Простой алгоритм г) Сложный алгоритм 4. При создании презентации организовать ветвление : а) Изображения б) Гиперссылки в) Заголовки г) Закладки

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
gulsaakamaeva
25.09.2022 15:00

При определении значений подобных функций переменная y вычисляется по-разному (по разным формулам) в зависимости от значения x.

Такие задачи решаются с конструкции условного оператора if - else. Поскольку в данном случае мы имеем три условия (x > 0, x = 0 и x < 0), то потребуется использование еще вложенной конструкции if - else, т. к. в языке Pascal нет оператора множественного ветвления (оператор case в данном случае не подходит).

В языке программирования Паскаль (да и в других тоже) желательно вложенные конструкции if - else помещать во внешнюю ветку else, а не if. Так проще не запутаться.

Таким образом, алгоритм вычисления значения функции может быть таким:

Если x > 0, то у = x - 2

Иначе (ниже идет вложенная конструкция)

Если x = 0, то y = 0

Иначе y = |x|.

В последнем пункте можно опустить оператор if с проверкой, что x < 0, так как если ход выполнения программы дошел до этого пункта, то x уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).

Для определения модуля (абсолютного значения) переменной можно использовать встроенную функцию abs() языка Pascal. В данном случае можно обойтись и без нее: поскольку уже известно, что x отрицателен, то, чтобы получить положительное число (модуль), нужно его умножить на -1.

var

   x, y: integer;

 

begin

   write ('x = ');

   readln (x);

 

   if x > 0 then

       y := x - 2

   else

       if x = 0 then

           y := 0

       else

           y := abs(x);

 

   writeln ('y = ', y);

 

end.

Объяснение:

0,0(0 оценок)
Ответ:
numucirad
28.11.2022 00:20
 --- gfortran 6.3 ---
program prog1
integer N, k, i, j
real a(10,10)
read *, N
print *, 'Матрица:'
do i = 1,N
 do j = 1,N
   a(i,j) = sin(1.0*i+1.0*j/2)
 end do
end do
do i = 1, N
 print *, (a(i,j), j=1,N)
end do
k = 0
do i = 1, N
 do j = 1, N
  if(a(i, j) > 0) k = k+1
 end do
end do 
print *, k
end

Результат:
4
Матрица:
   0.997494996 0.909297407 0.598472118 0.141120002
   0.598472118 0.141120002 -0.350783229 -0.756802499
  -0.350783229 -0.756802499 -0.977530122 -0.958924294
  -0.977530122 -0.958924294 -0.705540299 -0.279415488
      6
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота