cucheryavy
16.11.2021 17:05

Для программ russian_method и al_horezmi из п. 1.5.4 "обработка информации" опишите алгоритмы на языке блок-схем и на учебном алгоритмическом языке ,ВООБЩЕ НЕ ПОНИМАЮ КАК ДЕЛАТЬ

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
влада220602
04.04.2020 05:32

При определении значений подобных функций переменная 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 оценок)
Ответ:
Asuna2001
15.12.2020 04:29

program z1;

var a:integer;

begin

write('Введите шестизначное число: ');

readln(a);

if a div 1000 div 100 + a div 1000 mod 100 div 10 + a div 1000 mod 10 = a mod 1000 div 100 + a mod 1000 div 10 mod 10 + a mod 1000 mod 10

then write ('счастливый билет')

else write ('обычный билет')

end.

Объяснение:

Вводим число

Если сумма первых 3 цифр равна сумме последних 3 цифр, то билет счастливый, иначе обычный

a div 1000 - первые 3 цифры

a div 1000 div 100 - первая цифра первых 3 цифр

a div 1000 mod 100 div 10 - вторая цифра первых 3 цифр

a div 1000 mod 10  - третья цифра первых 3 цифр

a mod 1000 - последние 3 цифры

a mod 1000 div 100 - первая цифра последних 3 цифр

a mod 1000 div 10 mod 10 - вторая цифра последних 3 цифр

a mod 1000 mod 10  - третья цифра последних 3 цифр

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