Решение уравнений и неравенств
Пройти тестирование по этим заданиям
Вернуться к каталогу заданий
Версия для печати и копирования в MS Word
Требовалось написать программу, которая решает неравенство относительно x для любых ненулевых чисел a и b
введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
| Бейсик | Python |
|---|---|
INPUT a, b, x IF b > 0 THEN PRINT "x > ",a," или x<0" ELSE IF a > 0 THEN PRINT "0 < x < ",a ELSE PRINT a," < x < 0" ENDIF ENDIF END
| a = float(input()) b = float(input()) x = float(input()) if b > 0: print('x > ', a, ' или x < 0') else: if a > 0: print('0 < x <', a) else: print(a, '< x < 0 ')
|
| Паскаль | Алгоритмический язык |
var a,b,x: real; begin readln(a,b,x); if b>0 then write ('x > ', a, ' или x < 0') else if a > 0 then write ('0 < x <', a) else write (a, '< x < 0 '); end.
| алг нач вещ a,b,x ввод a,b,x если b > 0 то вывод "x > ", a, " или x < 0" иначе если a > 0 то вывод "0 < x <", a иначе вывод a, "< x < 0 " все все кон |
| Си++ | |
#include <iostream> using namespace std; int main(void) { float a,b,x; cin >> a >> b >> x; if (b > 0) cout << "x > " << a << "или x < 0" << endl; else if (a>0) cout << "0 < x <" << a << endl; else cout << a << "< x < 0" << endl; }
| |
Последовательно выполните три задания:
1) Приведите пример таких чисел а, b, х, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
Для заданного положительного вещественного числа A необходимо найти минимальное целое число K, при котором выполняется неравенство Для решения этой задачи ученик написал такую программу.
| Бейсик | Python |
|---|---|
DIM A, S AS DOUBLE DIM K AS INTEGER INPUT A K = 0 S = 1 WHILE S >= A K = K + 1 S = S + 1.0/K WEND PRINT K END
| a = float(input()) k = 0 s = 1 while s>=a: k = k + 1 s = s + 1.0/k print(k)
|
| Паскаль | Алгоритмический язык |
var a, s: real; k: integer; begin read(a); k := 0; s := 1; while s>=a do begin k := k + 1; s := s + 1.0/k; end; write(k); end.
| алг нач вещ a, s цел k ввод a k := 0 s := 1 нц пока s>=a k := k + 1 s := s + 1.0/k кц вывод k кон |
| Си++ | |
#include <iostream> using namespace std; int main(){ double a, s; int k; cin >> a; k = 0; s = 1; while (s>=a) { k = k + 1; s = s + 1.0/k; } cout « k « endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1.4.
2. Сколько существует натуральных чисел А, при вводе которых программа выведет ответ 1?
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Для заданного положительного вещественного числа A необходимо найти минимальное целое число K, при котором выполняется неравенство Для решения этой задачи ученик написал такую программу.
| Бейсик | Python |
|---|---|
DIM A, S AS DOUBLE DIM K AS INTEGER INPUT A K = 1 S = 1 WHILE S <= A K = K + 1 S = 1.0/K WEND PRINT K END
| a = float(input()) k = 1 s = 1 while s<=a: k = k + 1 s = 1.0/k print(k)
|
| Паскаль | Алгоритмический язык |
var a, s: real; k: integer; begin read(a); k := 1; s := 1; while s<=a do begin k := k + 1; s := 1.0/k; end; write(k); end.
| алг нач вещ a, s цел k ввод a k := 1 s := 1 нц пока s<=a k := k + 1 s := 1.0/k кц вывод k кон |
| Си++ | |
#include <iostream> using namespace std; int main(){ double a, s; int k; cin >> a; k = 1; s = 1; while (s<=a) { k = k + 1; s = 1.0/k; } cout « k « endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 0.4.
2. Сколько существует натуральных чисел А, при вводе которых программа выведет ответ 2?
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Для заданного положительного вещественного числа A необходимо найти максимальное целое число K, при котором выполняется неравенство
(при K = 0 сумма считается равной 0).
Для решения этой задачи ученик написал такую программу.
| Бейсик | Python |
|---|---|
DIM A, S AS DOUBLE DIM K AS INTEGER INPUT A K = 1 S = 1 WHILE S < A S = S + 1.0/K K = K + 1 WEND PRINT K END
| a = float(input()) k = 1 s = 1 while s < a: s = s + 1.0/k k = k + 1 print(k)
|
| Алгоритмический язык | Паскаль |
алг нач вещ a, s цел k ввод a k := 1 s := 1 нц пока s<a s := s + 1.0/k k := k + 1 кц вывод k кон | var a, s: real; k: integer; begin read(a); k := 1; s := 1; while s<a do begin s := s + 1.0/k; k := k + 1; end; write(k); end. |
| Си++ | |
#include <iostream> using namespace std; int main(){ double a, s; int k; cin >> a; k = 1; s = 1; while (s<a) { s = s + 1.0/k; k = k + 1; } cout « k « endl; return 0; } | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1.2.
2. Приведите пример числа, при вводе которого программа даст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только исправлять ошибочные строки; удалять строки или добавлять новые строки нельзя. Постарайтесь также не внести новые ошибки – за это оценка снижается.
Для заданного положительного вещественного числа A необходимо найти максимальное целое число K, при котором выполняется неравенство
(при K = 0 сумма считается равной 0).
Для решения этой задачи ученик написал такую программу.
| Бейсик | Python |
|---|---|
DIM A, S AS DOUBLE DIM K AS INTEGER INPUT A K = 0 S = 1 WHILE S < A K = K + 1 S = S + 1.0/K WEND PRINT K END
| a = float(input()) k = 0 s = 1 while s < a: k = k + 1 s = s + 1.0/k print(k)
|
| Алгоритмический язык | Паскаль |
алг нач вещ a, s цел k ввод a k := 0 s := 1 нц пока s<a k := k + 1 s := s + 1.0/k кц вывод k кон | var a, s: real; k: integer; begin read(a); k := 0; s := 1; while s<a do begin k := k + 1; s := s + 1.0/k; end; write(k); end. |
| Си++ | |
#include <iostream> using namespace std; int main(){ double a, s; int k; cin >> a; k = 0; s = 1; while (s<a) { k = k + 1; s = s + 1.0/k; } cout « k « endl; return 0; } | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1.8.
2. Приведите пример числа, при вводе которого программа даст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только исправлять ошибочные строки; удалять строки или добавлять новые строки нельзя. Постарайтесь также не внести новые ошибки – за это оценка снижается.
Пройти тестирование по этим заданиям

