Присоединиться

Информатика·Задания Д24 C1. Исправление ошибок в программе·11 класс

Укажите, как нужно доработать программу, чтобы не было случаев ее

Условие

Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (х, у — действительные числа) и определяет принадлежность точки заштрихованной области. Программист торопился и написал программу неправильно.

Рисунок к задаче

Паскаль | Бейсик | var х, у: real;beginreadln(х, у);if у <= -х * х thenif у <= 0 thenif у >= -х - 2 thenwrite('принадлежит')elsewrite('не принадлежит')end. | INPUT x, у IF у <= -x * x THEN IF у <= 0 THEN IF у >= -x - 2 THEN PRINT "принадлежит" ELSE PRINT "не принадлежит" ENDIF ENDIF ENDIF END | Си++ | Алгоритмический язык | int main (void){ float x, y;cin >> x >> y;if (y <= -x * x)if (y <= 0)if (y >= -x - 2)cout << "принадлежит";elsecout << "не принадлежит";} | алгначвещ х, уввод х, уесли у <= -х * х тоесли у <= 0 тоесли у >= -х - 2 товывод 'принадлежит'иначевывод 'не принадлежит'всевсевсекон | Python | x = float(input())y = float(input())if у <= -x * x: if у <= 0: if у >= -x - 2: print("принадлежит") else: print("не принадлежит") |

Рисунок к задаче

Последовательно выполните следующее.1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G и H).Точки, лежащие на границах областей, отдельно не рассматривать. В столбцах условий укажите "да", если условие выполнится, "нет", если условие не выполнится, "—" (прочерк), если условие не будет проверяться, "не изв.", если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце "Программа выведет" укажите, что программа выведет на экран. Если программа ничего не выводит, напишите "—" (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите "не изв". В последнем столбце укажите "да" или "нет".2. Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.) Область | Условие 1 (y <= -x * x) | Условие 2 (у <= 0) | Условие 3 (у >= -х - 2) | Программа выведет | Область обрабатывается верно | A | | | | | | В | | | | | | С | | | | | | D | | | | | | Е | | | | | | F | | | | | | G | | | | | | Н | | | | | | Критерии оценивания выполнения задания | Баллы | Обратите внимание! В задаче требуется выполнить три следующих действия.1. Указать для каждой области, как будет работать программа - заполнить таблицу.2. Исправить ошибку, связанную с неверной расстановкой операторных скобок (отсутствуют случаи ELSE). Исправлением этой ошибки может быть либо добавление случая ELSE к каждомуусловию IF, либо объединение всех условий IF в одно при помощи конъюнкции.В сложных случаях это действие считается выполненным, если программа выдает одно из двух сообщений «принадлежит» или «не принадлежит» для любых чисел x и y, при этом программа не стала работать хуже, чем раньше, то есть для всех точек, для которых программа ранее выдавала верный ответ, доработанная программа также должна выдавать верный ответ.3. Исправить ошибку в проверяемых условиях.В сложных случаях это действие считается выполненным, если верно определена закрашенная область, то есть программа выводит сообщение «принадлежит» для всех точек закрашенной области и только для них, для точек вне закрашенной области программа выводит «не принадлежит» или не выводит ничего.В целом, критерий оценки работ такой: количество баллов равно количеству выполненных действий. Детально критерии для каждого случая рассмотрены ниже. Задание выполнено полностью:1) Правильно заполнена вся таблица.2) Написана правильно работающая программа(исправлены обе ошибки), т.е. программа для всех пар чисел x, y верно определяет принадлежность точки закрашенной области.В работе (во фрагментах программ) допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора решения. | 3 | Правильно выполнены два действия из трех.При этом:а) Действие по заполнению таблицы засчитывается, даже если ошибки есть, но не более, чем в одной строке.б) При написании операций сравнения допускается одно неправильное использование строгих/нестрогих неравенств (считается несущественной ошибкой, погрешностью записи).Например, вместо «y>=-x» один раз используется «y>-x».в) Если ученик написал программу, которая отличается от правильной программы (с учетом п.б) только расстановкой скобок в логических выражениях (например, неправильно учтеныприоритеты операций), то считается, что выполнено одно действие по исправлению ошибок из двух.В работе (во фрагментах программ) допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора решения. | 2 | Правильно выполнено только одно действие из трех.При этом:а) Действие по заполнению таблицы засчитывается, если ошибки есть не более, чем в двух строках (в отличие от предыдущего пункта).б) При написании операций сравнения допускается любое количество неправильных использований строгих/нестрогих неравенств (т.е. не учитывается корректность работы программы на границах областей)в) Если ученик написал программу, которая отличается от правильной программы только расстановкой скобок в логических выражениях (например, неправильно учтены приоритетыопераций), то считается, что выполнено одно действие по исправлению ошибок из двух.В работе (во фрагментах программ) допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора решения. | 1 | Ни один из пунктов задания не выполнен, т.е. не выполнены критерии, позволяющие поставить ученику 1 балл. | 0 | Максимальный балл | 3 | Q

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Ниже разбор по шагам.

Решение по шагам

  1. Как рассуждать

    Решение. Элементы ответа:1. Область | Условие 1 (y <= -x * x) | Условие 2 (у <=

Осталось ещё 6 шагов — откроются после входа:

  • Шаг 2
  • Шаг 3
  • Шаг 4
  • Шаг 5
  • Шаг 6
  • Шаг 7
Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Задания Д24 C1. Исправление ошибок в программе»