Поделитесь своими знаниями, ответьте на вопрос:
Pascal. 1) требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. программист торопился и написал программу неправильно. вот она: var x, y: real; begin readln(x, y); if y < = x then if y < = 0 then if y > = x*x-2 then write('принадлежит') else write('не принадлежит'); end. последовательно выполните следующее: 1) пример таких чисел x, y, при которых программа неверно решает поставленную , построить таблицу. 2) укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (это можно сделать несколькими способами, поэтому можно указать любой
Допустимые входные данные: 42, 26, 50, 82
Недопустимые входные данные: 20, 28, 40, 101
Объяснение:
Идем от обратного. Перепишем алгоритм с последней цифры до первой: 21221 и командам присвоим обратные действия, то есть команда 1) станет "отними 1", а команда 2) "раздели на 2"
Проверим каждое число получившимся алгоритмом, если на выходе получается натуральное число, считаем, что алгоритм для этого числа допустим.
Например, число 42.
42/2 = 21
21-1 = 20
20/2 = 10
10/2 = 5
5-1 = 4
4 - натуральное число, следовательно для числа 42 алгоритм допустим.
Пример недопустимого алгоритма на примере числа 20:
20/2 = 10
10-1 = 9
9/2 = 4,5 - недопустимо, так как это число не может получиться при умножении целого натурального числа на 2