Требовалось написать программу, которая решает уравнение «a |x| = b» относительно х для любых чисел а и b, введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
Бейсик | Python | ||
---|---|---|---|
Паскаль | Алгоритмический язык | ||
Вложение | Размер |
---|---|
24o.docx | 128.74 КБ |
Видео:Алгебра 7 класс. Линейное уравнение с одной переменной ax=b.Скачать
Предварительный просмотр:
1. Требовалось написать программу, которая решает неравенство « ax+b>0 » относительно x для любых чисел a и b , введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var a,b,x: real;
begin
readln(a,b,x);
if a = 0 then
if b >0 then
write(‘любое число’)
else
write (‘нет решений’)
else
write(‘x>’,-b/a);
end.
INPUT a, b, x
IF a = 0 THEN
IF b > 0 THEN
PRINT «любое число»
ELSE
PRINT «нет решений»
ENDIF
ELSE
PRINT «x>», -b/a
ENDIF
END
Последовательно выполните три задания:
1) Приведите пример таких чисел a , b , x , при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой
1. Программа работает неправильно, если a 1), а надо х
2. Лишняя часть программы – ввод x , поскольку это не исходные данные, а результат. Поэтому вместо оператора
Переменная x далее не используется, поэтому ее не нужно объявлять:
write (‘нет решений’);
else if a > 0 then
2. Требовалось написать программу, которая решает уравнение « ax+b=0 » относительно x для любых чисел a и b , введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var a, b, x: real;
begin
readln(a,b,x);
if b = 0 then
write(‘x = 0’)
else
if a = 0 then
writ e ( ‘нет решений’)
else
write(‘x =’,-b/a);
end.
INPUT a, b, x
IF b = 0 THEN
PRINT «x = 0»
ELSE
IF a = 0 THEN
PRINT «нет решений»
ELSE
PRINT «x=»,-b/a
END
Последовательно выполните три задания:
1) Приведите пример таких чисел a , b , x, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
В первую очередь, рассмотрим поставленную задачу с позиций математики: возможны следующие варианты:
- a=0 и b=0 — x — любое число;
- a=0 и b≠0 — нет решений;
- a≠0 — x=-b/a.
1. Программа работает неправильно, если a и b равны нулю: в этом случае решением уравнения является любое число x , а программа выдаст только решение . Например,
2. Лишняя часть программы – ввод x , поскольку это не исходные данные, а результат. Поэтому вместо оператора
Переменная x далее не используется, поэтому ее не нужно объявлять:
3. Требовалось написать программу, которая решает уравнение
относительно x для любых чисел a и b , введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var a,b,x: real;
begin
readln(a,b,x);
if a = 0 then
if b = 0 then
write (‘любое число’)
else
write (‘нет решений’)
else
if b = 0 then
write(‘x = 0’)
else
write(‘x =’,b/a,’ или
x = ‘,-b/a);
end.
INPUT a, b, x
IF a = 0 THEN
IF b = 0 THEN
PRINT «любое число»
ELSE
PRINT «нет решений»
ENDIF
ELSE
IF b = 0 THEN
PRINT «x = 0»
ELSE
PRINT «x =»,b/a, » или
x =»,-b/a
END IF
END IF
END
Последовательно выполните три задания:
1) Приведите пример таких чисел a, b, x, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
Определим, какими могут быть a и b исходя из приведенных выше условий. Получаем, что a и b могут быть любыми ненулевыми числами с разными знаками. Например, a=5, b=-5 х=0;
2. Лишняя часть программы – ввод x , поскольку это не исходные данные, а результат. Поэтому вместо оператора
Переменная x далее не используется, поэтому ее не нужно объявлять:
3. Возможная доработка программы – добавить еще один условный оператор, обрабатывающий неучтенный случай ( a и b не равны нулю и имеют разные знаки), при котором нет решений
var a,b,x: real;
begin
readln(a,b);
if a = 0 then
if b = 0 then
write (‘любое число’)
else
write (‘нет решений’)
else
if b*a>0 then
write(‘x =’,b/a,’ или x =’,-b/a)
else
if b=0 then
write(‘x =0’)
else
write (‘нет решений’);
end.
4. Требовалось написать программу, которая решает неравенство
относительно x для любых ненулевых чисел a и b ( b≠0, a≠0 ), введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var a,b,x: real;
begin
readln(a,b,x);
if b>0 then
write (‘x>’,a,’ или
x 0 then
write(‘0
INPUT a, b, x
IF b > 0 THEN
PRINT «x>»,a,» или
x 0 THEN
PRINT «0
Последовательно выполните три задания:
1) Приведите пример таких чисел a ,b, x, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
1) a = −13, b = 4, x = 0.
Значение x может быть не указано. Значение а может быть любым отрицательным числом, значение b — любым положительным. Также допустим ответ, что программа работает неправильно при любых положительных b и отрицательных а.
не нужно вводить х с клавиатуры; верно: readln(a, b).
3) Возможная доработка:
5. Требовалось написать программу, которая решает неравенство
относительно x для любого ненулевого числа b и любого неотрицательного числа a и ( a≥0, b≠0 ), введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var a,b,x: real;
begin
readln(a,b,x);
if a = 0 then
if b > 0 then
write (‘нет решений’)
else
write(‘x > 0 или
x
INPUT a, b, x
IF a = 0 THEN
IF b > 0 THEN
PRINT «нет решений»
ELSE
PRINT «x>0 или
x
Последовательно выполните три задания:
1) Приведите пример таких чисел a ,b, x, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
1) Значение может быть не указано. Значение может быть любым отрицательным числом, значение — любым положительным. Также допустим ответ, что программа работает неправильно при любых положительных и отрицательных
2) Лишняя часть: не нужно вводить х с клавиатуры; верно: readln (а, b), описывать переменную х ненужно var a,b: real;
3) Возможная доработка:
var a,b,x: real;
begin
6. Требовалось написать программу, которая решает неравенство
относительно x для любого ненулевого числа a и любого неотрицательного числа b и ( a≠0, b≥0 ), введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var a,b,x: real;
begin
readln(a,b,x);
if b = 0 then
write(‘x > 0 или
x 0 then
write(‘x > 0 или
x
INPUT a, b, x
IF b = 0 THEN
PRINT «x > 0 или
x 0 THEN
PRINT «x >0 или
x
Последовательно выполните три задания:
1) Приведите пример таких чисел a, b, x, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
1) a = −13, b = 0, x = 2.
Значение x может быть не указано. Значение а может быть любым отрицательным числом, значение b =0.
не нужно вводить х с клавиатуры; верно: readln(a, b), описывать переменную х ненужно var a,b: real;
3) Возможная доработка:
write(‘решений нет’) else
write(‘x > 0 или x
write(‘x > 0 или x
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости ( x,y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var x,y: real;
begin
readln(x,y);
if y =0 then
write(‘принадлежит’)
else
write(‘не принадлежит’)
end.
INPUT x, y
IF y =0 THEN
PRINT «принадлежит»
ELSE
PRINT «не принадлежит»
ENDIF
ENDIF
ENDIF
END
Последовательно выполните следующее:
1) Приведите пример таких чисел x , y , при которых программа работает неправильно.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой с Решение:
1. примеры входных данных, на которых программа работает неверно:
(x=-3.9, y=0.5) (неправильно определяет принадлежность точки области)
(x=-3, y=0) (не выдает вообще никакого сообщения)
2. способ доработки исходной программы):
if (y =0) and (x>=0) then
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости ( x,y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var x,y: real;
begin
readln(x,y);
if x = – sin(x) then
write(‘принадлежит’)
else
write(‘не принадлежит’)
end.
INPUT x, y
IF x = – SIN(x) THEN
PRINT «принадлежит»
ELSE
PRINT «не принадлежит»
ENDIF
ENDIF
ENDIF
END
void main(void)
< float x,y;
scanf(«%f%f»,&x,&y);
if (x = – sin(x))
printf(«принадлежит»);
else
printf(«не принадлежит»);
>
Последовательно выполните следующее:
1) Приведите пример таких чисел x , y, при которых программа работает неправильно.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
1. примеры входных данных, на которых программа работает неверно:
(x=-3.9, y=-0.5) (неправильно определяет принадлежность точки области)
(x=0, y=2) (не выдает вообще никакого сообщения)
2. способ доработки исходной программы:
if (x = — sin(x)) and (x>=0) then
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости ( x,y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
ПРОГРАММА НА БЕЙСИКЕ
ПРОГРАММА НА СИ
var x,y: real;
begin
readln(x,y);
if y =0 then
if y>=sin(x) then
write(‘принадлежит’)
else
write(‘не принадлежит’)
end.
INPUT x, y
IF y =0 THEN
IF y>=SIN(x) THEN
PRINT «принадлежит»
ELSE
PRINT «не принадлежит»
ENDIF
ENDIF
ENDIF
END
Последовательно выполните следующее:
1) Приведите пример таких чисел x , y , при которых программа работает неправильно.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
1. примеры входных данных, на которых программа работает неверно:
(x=3.14, y=0.5) (неправильно определяет принадлежность точки области)
(x=0, y=1) или (x=-1, y=0) (не выдает вообще никакого сообщения)
2. Доработанная программа(не хватало одного условия )
if (x >= 0) and (x pi/2) and
(y 1) and (y >= sin(x)) then
else write(‘не принадлежит’);
10. Требовалось написать программу, которая решает уравнение « x 2 +c= 0» относительно x для любого числа c , введенного с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
ПРОГРАММА
НА ПАСКАЛЕ
ПРОГРАММА
НА БЕЙСИКЕ
ПРОГРАММА
НА СИ
PRINT «нет решений»
Последовательно выполните три задания:
1) Приведите пример таких чисел c, x, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее некорректной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
пример чисел c, x, при которых программа неверно решает поставленную задачу: с=0,
2) лишним является ввод переменной х, правильным является следующий оператор ввода
3) доработка программы, чтобы не было случаев ее неправильной работы.
if c > 0 then write (‘нет решений’)
if c=0 then write (‘x=0‘)
else write(‘x =’,sqrt(-c),’ или x =’,-sqrt(-c);
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости ( x,y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно.
ПРОГРАММА
НА ПАСКАЛЕ
ПРОГРАММА
НА БЕЙСИКЕ
ПРОГРАММА
НА СИ
PRINT «не принадлежит»
Последовательно выполните следующее:
1) Приведите пример таких чисел x , y , при которых программа неверно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
1. примеры входных данных, на которых программа работает неверно:
(x=-1, y=-3) (неправильно определяет принадлежность точки области)
(внутри круга или слева от прямой ) вообще не выдается никакого сообщения.
2. Доработанная программа6
if (x*x+y*y >= 4) and (x >= -2) and
12. Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10 9 , и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
INPUT N
min_digit = 9
WHILE N >= 10
digit = N MOD 10
IF digit
digit, min_digit: integer;
min_digit := 9;
while N >= 10 do
begin
digit := N mod 10;
if digit
int digit, min_digit;
min_digit = 9;
while (N >= 10)
<
digit = N % 10;
if (digit
цел N, digit, min_digit
digit := mod(N, 10)
если digit то
min_digit := digit
все
вывод digit
кон
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 547.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, – приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
1. Программа выведет число 4.
2. Первая ошибка. Неверное условие окончания цикла. Программа не будет рассматривать старшую цифру числа. Строка с ошибкой: «while N >= 10» do Возможные варианты исправления: «while (N >= 1)» или «while (N > 0)» При этом замены на «while (N > 1)» или «while (N >= 0)» корректными не являются.
3. Вторая ошибка. Программа выводит значение переменной «digit», а не «min digit». В результате программа всегда выводит вторую слева цифру числа. Строка с ошибкой: «writeln(digit);». Необходимо в строке с выводом результата заменить «digit» на «min digit»
13. Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10 9 , и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
INPUT N
min_digit = 0
WHILE N > 0
digit = N MOD 10
IF digit
min_digit = digit
END IF
N = N 10
WEND
PRINT digit
END
digit, min_digit: integer;
min_digit := 0;
while N > 0 do
begin
digit := N mod 10;
if digit
🎬 Видео
Уравнения с параметром. Алгебра, 8 классСкачать
Сколько решений имеет лог. уравнение (!(A *B) + C) IMP (!A * !B + D) = 1. Информатика, ЕГЭ, логикаСкачать
Как решают уравнения в России и США!?Скачать
УДИВИТЕЛЬНЫЙ способ решения уравнения ★ Вы такого не видели! ★ Уравнение четвертой степениСкачать
Решение уравнения с модулем |x+8|+|x-3|+|x+2|=1.Скачать
Алгебра 8 класс (Урок№19 - Уравнение х² = а.)Скачать
Решение системы уравнений Ax=b с помощью обратной матрицы.LU разложение. Нахождение обратной матрицыСкачать
Повторяем решение уравнений. Полезно всем! Вебинар | МатематикаСкачать
Алгебра 8 класс (Урок№28 - Решение квадратных уравнений вида ax2 + bx + c = 0.Формула корней кв.ур.)Скачать
Как решать уравнения с модулем или Математический торт с кремом (часть 1) | МатематикаСкачать
Как решать неравенства? Математика 10 класс | TutorOnlineСкачать
Cистемы уравнений. Разбор задания 6 и 21 из ОГЭ. | МатематикаСкачать
11 класс, 27 урок, Общие методы решения уравненийСкачать