Категория B8 • задача №4

 
 
 

Условие задачи

Дано:
ниже на 2-х языках программирования записан некий алгоритм. Получив на вход три натуральных числа, данный алгоритм печатает два целых числа 1 и 3:

 

Вопрос:
какими входными числами должны быть входные значения?

 

Решение

I этап: выбор языка программирования

В принципе, выбор не так уж и велик, всего два различных языка программирования: чистый С и Pascal. Чем меньше предложений, тем проще сделать выбор. Безусловно, следует отдать собственные предпочтения языку программирования Pascal, так как:

  1. в отличие от чистого С, Pascal имеет хорошо спроектированную лексику, практически в коде отсутствуют сложные и запутанные конструкции;

  2. Pascal - строго типизированный язык, то есть, любая переменная перед ее использованием должна быть явно задекларирована в разделе описания переменных, то есть в разделе var;

  3. превалирующее большинство школьников, по официальной статистике, в качестве базового языка программирования выбирают именно язык Pascal.

Промежуточный вывод: селекционировали язык программирования Pascal

 

II этап: построчный анализ представленного фрагмента программы

Код программыКомментарии
varраздел объявления переменных
    k1, k2, k3, k4 : integer;декларация четырех целочисленных переменных
    k5, k6 : real;декларация двух вещественных переменных
beginначало главного блока программы
    write('Введите три целых числа: ');диалог пользователю о предстоящем вводе трех чисел
    readln(k1, k2, k3);пользователь вводит три целых числа с клавиатуры
    k4 := k2 * k2 - 4 * k1 * k3;вычисление по формуле и занесение результата в переменную k4. Подобная формула очень сильно напоминает формулу, для вычисления дискриминанта при решении квадратных корней.
    if(k4 > 0) thenесли значение переменной k4 величина положительная, то есть, если значение дискриминанта больше нуля, то уравнение имеет
два различных действительных корня
    beginначало тела условной конструкции
        k5 := (-k2 - sqrt(k4)) / (2 * k1);производим расчет первого действительного корня квадратного уравнения
        k6 := (-k2 + sqrt(k4)) / (2 * k1);производим расчет второго действительного корня квадратного уравнения
        writeln(K5:2:0, k6:2:0);выпечатываем рассчитанне действительные корни на экран пользователя, причем формат вывода чисел - целочисленное значение
    end;конец тела условной конструкции
end.финализирующий оператор программы

Промежуточный вывод: в данной программе производится нахождение действительных корней квадратного уравнения заданного тремя целочисленными коэффициентами.

 

III этап: подбор входных данных

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

  • x1 = 1;

  • x2 = 3.

Классический приведенный квадратный трехчлен имеет вид: ax2 + bx + c (a = 1). Если известны действительные корни данного трехчлена, то его можно представить в следующей форме:

x2 + bx + c = (x - x1)(x - x2).

 

Подставим в полученное выражение известные нам значения x1 и x2, тогда получим:

x2 + bx + c = (x - x1)(x - x2) = (x - 1) · (x - 3) = x2 - 3x - x + 3 = x2 - 4x + 3, то есть
a = 1, b = -4, c = 3.

То есть, чтобы программа распечатала в результате свой работы на экране числа 1 и 3, необходимо ввести три целых числа: 1, -4 и 3.

Промежуточный вывод: входными числами являются числа 1, -4, 3.

 

IV этап: точечное тестирование программы

Проведем решение квадратного уравнения, когда коэффициенты имеют следующие значения:

  • a =  1;

  • b = -4;

  • c =  3.

Рассчитаем значение дискриминанта:
D = b2 - 4 · a · c = (-4)2 - 4 · 1 · 3 = 16 - 12 = 4
Так как значением дискриминанта является положительное число, то решаемое квадратное уравнение имеет два различных действительных корня:

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

 

Вывод:

чтобы программа в результате свой работы распечатала на экране два целых числа 1 и 3, необходимо на вход подать числа, равные 1, -4 и 3.

Резюме

  1. выбрали один из предложенных языков программирования за базовый язык программирования;

  2. провели детализированный анализ каждой строки представленного фрагмента программы;

  3. подобрали входные данные, чтобы получить нужные результаты;

  4. провели точечное тестирование программы.

 

Ответ:

1, -4, 3

 
Рейтинг:
 
Проголосовало: 1
Количество просмотров: 1525
 
 
 

Категория B8 • задача №4

 

Комментарии

Для комментирования или зарегистрируйтесь
 

Остальные решения из билета №4 для подготовки к ЕГЭ по информатике 2013

 
Условие задачи
(наведите курсор мыши на ссылку)
Аудиовизуальное
решение
Мультимедийная
видеопрезентация
Решение в формате
слайд-шоу
Текстовое
решение
 
© 2011-2024 ООО "СтадиМен". Все права сохранены.
Перепечатка и использование материалов с данного сайта, разрешена только по согласию с владельцем.
Владелец оставляет за собой право воспользоваться 146 статьей УК РФ при нарушении авторских и смежных прав.
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?