Требовалось написать программу при выполнении которой с клавиатуры вводится

1. Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ют­ся ко­ор­ди­на­ты точки на плос­ко­сти (x, y – дей­стви­тель­ные числа) и опре­де­ля­ет­ся при­над­леж­ность этой точки за­дан­ной за­кра­шен­ной об­ла­сти (вклю­чая гра­ни­цы). Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но.

var x,y: real;begin
readln(x,y);
if y>=x then
if y>=0 then
if y write(‘при­над­ле­жит’)
else
write(‘не при­над­ле­жит’)
end.

INPUT x, yIF y>=x THEN
IF y>=0 THEN
IF y PRINT «при­над­ле­жит»
ELSE
PRINT «не при­над­ле­жит»
ENDIF
ENDIF
ENDIF
END

алгнач
вещ x,y
ввод x,y
если y>=x то
если y>=0 то
если y вывод ‘при­над­ле­жит’
иначе
вывод ‘не при­над­ле­жит’
все
все
все
кон

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1. Пе­ре­ри­суй­те и за­пол­ни­те таб­ли­цу, ко­то­рая по­ка­зы­ва­ет, как ра­бо­та­ет про­грам­ма при ар­гу­мен­тах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G и H).

Точки, ле­жа­щие на гра­ни­цах об­ла­стей, от­дель­но не рас­смат­ри­вать. В столб­цах усло­вий ука­жи­те «да», если усло­вие вы­пол­нит­ся, «нет», если усло­вие не вы­пол­нит­ся, «—» (про­черк), если усло­вие не будет про­ве­рять­ся, «не изв.», если про­грам­ма ведет себя по-раз­но­му для раз­ных зна­че­ний, при­над­ле­жа­щих дан­ной об­ла­сти.

В столб­це «Про­грам­ма вы­ве­дет» ука­жи­те, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не вы­во­дит, на­пи­ши­те «—» (про­черк). Если для раз­ных зна­че­ний, при­над­ле­жа­щих об­ла­сти, будут вы­ве­де­ны раз­ные тек­сты, на­пи­ши­те «не изв». В по­след­нем столб­це ука­жи­те «да» или «нет».

2. Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев ее не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, до­ста­точ­но ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы.)

Об­ласть Усло­вие 1 (y>=x) Усло­вие 2 (y>=0) Усло­вие 3 (y<=2–x*x) Про­грам­ма вы­ве­дет Об­ласть об­ра­ба­ты­ва­ет­сяверно
A
В
С
D
Е
F
G
Н

2. Тре­бо­ва­лось на­пи­сать про­грам­му, ко­то­рая ре­ша­ет не­ра­вен­ство «(x — а) / (bx) > 0» от­но­си­тель­но x для любых не­ну­ле­вых чисел а и b , вве­ден­ных с кла­ви­а­ту­ры. Все числа счи­та­ют­ся дей­стви­тель­ны­ми. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но.

IF b > 0 THEN
PRINT «x > «,a,» или x<0″
IF a > 0 THEN
PRINT «0 < x < «,a
PRINT a,» < x < 0″

По­сле­до­ва­тель­но вы­пол­ни­те три за­да­ния:

1) При­ве­ди­те при­мер таких чисел а, b, х, при ко­то­рых про­грам­ма не­вер­но ре­ша­ет по­став­лен­ную за­да­чу.

2) Ука­жи­те, какая часть про­грам­мы яв­ля­ет­ся лиш­ней.

3) Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев ее не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, по­это­му можно ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы).

3. Дано целое не­от­ри­ца­тель­ное число N. Не­об­хо­ди­мо вы­ве­сти два не­от­ри­ца­тель­ных целых числа, ко­то­рые при воз­ве­де­нии к квад­рат дадут ре­зуль­та­ты, наи­бо­лее близ­кие к N. На­при­мер, для N = 2016 нужно вы­ве­сти числа 44 и 45 (442 = 1936, 452 = 2025), а для N = 9 нужно вы­ве­сти числа 2 и 3. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма — не­пра­виль­ная.

Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.
DIM N, K AS INTEGER
INPUT N
K = 1
WHILE K*K K = K + 1
WEND
PRINT (K-1)*(K-1), K*K
END
n = int(input())
k = 1
while k*k k = k + 1
print((k-1)*(k-1),k*k)
алг
нач
цел n, k
ввод n
k := 1
нц пока k*k k := k + 1
кц
вывод (k-1)*(k-1), » «, k*k
кон
var n, k: integer;
begin
read(n);
k := 1;
while k*k k := k + 1;
writeln((k-1)*(k-1),» «,k*k)
end.
По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.
1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе N = 2016.

2. На­зо­ви­те зна­че­ние N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

Читайте также:
Программа совершенствования смк пример

3. Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде. До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния.

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.

4. Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ют­ся ко­ор­ди­на­ты точки на плос­ко­сти (x, y – дей­стви­тель­ные числа) и опре­де­ля­ет­ся при­над­леж­ность этой точки за­дан­ной за­кра­шен­ной об­ла­сти (вклю­чая гра­ни­цы). Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но.

var x,y: real;begin
if y if y>=0 then
if y>=x*x then
write(‘при­над­ле­жит’)
else
write(‘не при­над­ле­жит’)
end.

INPUT x, yIF y IF y>=0 THEN
IF y>=x*x THEN
PRINT «при­над­ле­жит»
ELSE
PRINT «не при­над­ле­жит»
ENDIF
ENDIF
ENDIF
END

нач
вещ x,y
ввод x,y
если y если y>=0 то
если y>=x*x то
вывод ‘при­над­ле­жит’
иначе
вывод ‘не при­над­ле­жит’
все
все
все
кон

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1. Пе­ре­ри­суй­те и за­пол­ни­те таб­ли­цу, ко­то­рая по­ка­зы­ва­ет, как ра­бо­та­ет про­грам­ма при ар­гу­мен­тах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G и H).

Точки, ле­жа­щие на гра­ни­цах об­ла­стей, от­дель­но не рас­смат­ри­вать. В столб­цах усло­вий ука­жи­те «да», если усло­вие вы­пол­нит­ся, «нет», если усло­вие не вы­пол­нит­ся, «—» (про­черк), если усло­вие не будет про­ве­рять­ся, «не изв.», если про­грам­ма ведет себя по-раз­но­му для раз­ных зна­че­ний, при­над­ле­жа­щих дан­ной об­ла­сти.

В столб­це «Про­грам­ма вы­ве­дет» ука­жи­те, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не вы­во­дит, на­пи­ши­те «—» (про­черк). Если для раз­ных зна­че­ний, при­над­ле­жа­щих об­ла­сти, будут вы­ве­де­ны раз­ные тек­сты, на­пи­ши­те «не изв». В по­след­нем столб­це ука­жи­те «да» или «нет».

2. Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев ее не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, до­ста­точ­но ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы.)

Об­ласть Усло­вие 1 (y<=2+x) Усло­вие 2 (y>=0) Усло­вие 3 (y>=x*x) Про­грам­ма вы­ве­дет Об­ласть об­ра­ба­ты­ва­ет­сяверно
A
В
С
D
Е
F
G
Н

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

var х, у: real;
begin
readln(x, у);
if у if у >= 1 − x then
if у >= 0 then
write(‘при­над­ле­жит’)
else
write(‘не при­над­ле­жит’)
end.

INPUT x, уIF у <= SIN(x) THEN
IF у >= 1 − x THEN
IF у >= 0 THEN
PRINT «при­над­ле­жит»
ELSE
PRINT «не при­над­ле­жит»
ENDIF
ENDIF
ENDIF
END

void main(void) <
float x, у;
scanf(«%f%f», y);
if (y if (у >= 1 − x)
if (y >= 0)
printf(«при­над­ле­жит»);
else
printf(«не при­над­ле­жит»);
>

алгнач
вещ х, у
ввод X, у
если у если у >= 1 − х то
если у >= 0 то
вывод ‘ при­над­ле­жит ‘
иначе
вывод ‘не при­над­ле­жит’
все
все
все
кон

1. Пе­ре­ри­суй­те и за­пол­ни­те таб­ли­цу, ко­то­рая по­ка­зы­ва­ет, как ра­бо­та­ет про­грам­ма при ар­гу­мен­тах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G и H).

Точки, ле­жа­щие на гра­ни­цах об­ла­стей, от­дель­но не рас­смат­ри­вать. В столб­цах усло­вий ука­жи­те «да», если усло­вие вы­пол­нит­ся, «нет», если усло­вие не вы­пол­нит­ся, «—» (про­черк), если усло­вие не будет про­ве­рять­ся, «не изв.», если про­грам­ма ведет себя по-раз­но­му для раз­ных зна­че­ний, при­над­ле­жа­щих дан­ной об­ла­сти.

Читайте также:
Как отменить подписку на Айфоне на платную программу и вернуть деньги

В столб­це «Про­грам­ма вы­ве­дет» ука­жи­те, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не вы­во­дит, на­пи­ши­те «—» (про­черк). Если для раз­ных зна­че­ний, при­над­ле­жа­щих об­ла­сти, будут вы­ве­де­ны раз­ные тек­сты, на­пи­ши­те «не изв». В по­след­нем столб­це ука­жи­те «да» или «нет».

2. Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев ее не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, до­ста­точ­но ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы.)

Источник: mif69.blogspot.com

Требовалось написать программу при выполнении которой с клавиатуры вводится

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

Алгоритмический язык

INPUT x IF x>=-3 THEN IF x9 THEN IF x>1 THEN PRINT «не принадлежит» ELSE PRINT «принадлежит» ENDIF ENDIF ENDIF END
Последовательно выполните следующее.

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

Область Условие Условие Условие Программа выведет Область обрабатывается верно

В столбцах условий укажите «Да», если условие выполнится; «Нет», если условие не выполнится; «—» (прочерк), если условие не будет проверяться; «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».

2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

Показать разбор
(допускаются иные формулировки ответа, не искажающие его смысла)
Элементы ответа:

Область Условие Условие Условие Программа выведет Область обрабатывается верно
Нет Нет
Да Да Нет Принадлежит Да
Да Да Да Не принадлежит Да
Да Да Да Не принадлежит Нет
Да Нет Нет

2. Возможная доработка (Паскаль):

if (x>=-3) and (x1) or (x>=5) and (x9) then write(‘принадлежит’) else write(‘не принадлежит’)
Возможны и другие способы доработки.
if x>=-3 then if x1 then write(‘принадлежит’) else if x>=5 then if x9 then write(‘принадлежит’) else write(‘не принадлежит’) else write(‘не принадлежит’) else write(‘не принадлежит’)
Другой пример:
if abs(abs(x-3)-4)2 then write(‘принадлежит’) else write(‘не принадлежит’)

Указания по оцениванию

Обратите внимание! В задаче требуется выполнить три действия.

  1. Заполнить таблицу.
  2. Исправить ошибку в условном операторе.
  3. Исправить ошибку, связанную с неправильным набором условий.

Баллы за данное задание начисляются как сумма баллов за верное выполнение каждого действия. Рассмотрим отдельно каждое действие.

1. Действие по заполнению таблицы считается выполненным, если в таблице нет ошибок или ошибки присутствуют только в одной строке.

2. Неправильное использование условного оператора, в результате чего при невыполнении первого или второго условия программа не выдавала ничего (отсутствуют случаи ELSE). Исправлением этой ошибки может быть либо добавление случая ELSE к каждому условию IF, либо объединение всех условий IF в одно при помощи конъюнкции.

Читайте также:
Модули программы постоянно находящиеся в памяти являются

В сложных случаях это действие считается выполненным, если программа выдает одно из двух сообщений: «принадлежит» или «не принадлежит» – для любых чисел при этом программа не стала работать хуже, чем раньше, т.е. для всех точек, для которых программа ранее выдавала верный ответ, доработанная программа также должна выдавать верный ответ.

3. Приведённых трёх ограничений недостаточно для описания двух областей (потеряно условие ). Кроме того, необходимо учесть, что области не соединены. Исправлением этой ошибки может быть разбиение области на две части и использование дизъюнкции, либо использование сложной (для выведения) математической конструкции ( ), либо использование сложной комбинации каскадных условий.

В сложных случаях это действие считается выполненным, если верно определены заштрихованные области, т.е. программа выводит сообщение «принадлежит» для всех точек закрашенных областей, и только для них, для точек вне заштрихованных областей программа выводит «не принадлежит» или не выводит ничего.

В работе (во фрагментах программ) допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора решения.

Критерии оценки
3 балла Выполнены все три действия.

2 балла Правильно выполнены два действия из трёх (исправлены обе ошибки, но в пункте задания не приведена таблица (либо таблица содержит ошибки в двух и более строках), либо приведена таблица (которая содержит ошибки не более чем в одной строке), но исправлена только одна ошибка программы).
При написании операций сравнения допускается одно неправильное использование строгих/нестрогих неравенств (считается несущественной ошибкой, погрешностью записи). Например, вместо « » используется « ».

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

0 баллов Все пункты задания выполнены неверно (таблица анализа правильности алгоритма не приведена либо содержит ошибки в двух и более строках, программа не приведена либо ни одна из двух ошибок не исправлена).

Источник: yandex.ru

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное числ…

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10^9, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно:

while N > 1 do begin

count := count + 1;

Последовательно выполните следующее:
Определите, что выведет программа при вводе числа 123.
Укажите одно число, для которого программа выводит неверный результат.
Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

а) выпишите строку, в которой сделана ошибка;

б) укажите, как надо исправить ошибку — приведите правильный вариант строки.

Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, имеющую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Василиса Зайниева Вопрос задан 27 июня 2019 в 10 — 11 классы, true»> Поделиться

  • Комментариев (0)
  • Секреты телефона #39. ♣♦ Скрытые символы на клавиатуре ♥♠

    Печатаются цифры вместо букв на ноутбуке — что делать и как исправить ввод с клавиатуры

    Источник: matfaq.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru