Известно что при вводе некоторых положительных значений s и x данная программа выводит число 15

Модуль 1.9 (Функции и рекурсия) в данном модуле будет изучена функция — это части программы, которые можно повторно вызывать с разными параметрами, чтобы не писать много раз одно и то же.
Ниже представлены примеры задач с решением на C++ на тему Функции и рекурсия.

Напишите функцию min(a, b), вычисляющую минимум двух чисел. Затем напишите функцию min4(a, b, c, d), вычисляющую минимум 4 чисел с помощью функции min. Считайте четыре целых числа и выведите их минимум.

#include using namespace std; int min(int a, int b) < int min; (a >b) ? min = b : min = a; return min; > int min4(int a, int b, int c, int d) < int minim; (min(a,b) >min(c,d)) ? minim = min(c, d) : minim = min(a, b); return minim; > int main() < int a, b, c, d; cin >> a >> b >> c >> d; cout

Даны четыре действительных числа: x1, y1, x2, y2. Напишите функцию distance(x1, y1, x2, y2), вычисляющую расстояние между точкой (x1. y1) и (x2, y2). Считайте четыре действительных числа и выведите результат работы этой функции.

Задание 6. Статград 26 апреля информатика

#include #include using namespace std; float distance(float a, float b, float c, float d) < float result; result = sqrt(pow((c-a), 2) + pow((d-b), 2)); return result; >int main() < float a, b, c, d; cin >> a >> b >> c >> d; cout

Даны два действительных числа x и y. Проверьте, принадлежит ли точка с координатами (x, y) заштрихованному квадрату (включая его границу). Если точка принадлежит квадрату, выведите слово YES, иначе выведите слово NO. На рисунке сетка проведена с шагом 1.

Решение модуля 1.9 Введение в программирование C++

Решение должно содержать функцию IsPointInSquare(x, y), возвращающую true, если точка принадлежит квадрату и false, если не принадлежит. Основная программа должна считать координаты точки, вызвать функцию IsPointInSquare и в зависимости от возвращенного значения вывести на экран необходимое сообщение.

Функция IsPointInSquare не должна содержать инструкцию if.

#include using namespace std; bool isPointInSquare(float x, float y) < bool flag; flag = true; if (x = -1 and y >= -1) < flag = true; >else < flag = false; >return flag; > int main() < float x, y; cin >> x >> y; (isPointInSquare(x, y)) ? cout

Даны два действительных числа x и y. Проверьте, принадлежит ли точка с координатами (x, y) заштрихованному квадрату (включая его границу). Если точка принадлежит квадрату, выведите слово YES, иначе выведите слово NO. На рисунке сетка проведена с шагом 1.

Решение модуля 1.9 Введение в программирование C++

Решение должно содержать функцию IsPointInSquare(x, y), возвращающую True, если точка принадлежит квадрату и False, если не принадлежит. Основная программа должна считать координаты точки, вызвать функцию IsPointInSquare и в зависимости от возвращенного значения вывести на экран необходимое сообщение.

Разбор 15 задания на Python | ЕГЭ по информатике 2021

Функция IsPointInSquare не должна содержать инструкцию if.

#include using namespace std; bool isPointInSquare(double x, double y) < if (y >= -x-1 return true; >else < return false; >> int main() < double x; double y; cin >> x >> y; (isPointInSquare(x, y)) ? (cout

Даны пять действительных чисел: x, y, xc, yc, r. Проверьте, принадлежит ли точка (x, y) кругу с центром (xc, yc) и радиусом r. Если точка принадлежит кругу, выведите слово YES, иначе выведите слово NO.
Решение должно содержать функцию IsPointInCircle(x, y, xc, yc, r), возвращающую True, если точка принадлежит кругу и False, если не принадлежит. Основная программа должна считать координаты точки, вызвать функцию IsPointInCircle и в зависимости от возвращенного значения вывести на экран необходимое сообщение.
Функция IsPointInCircle не должна содержать инструкцию if.

#include #include «math.h» using namespace std; string IsPointInCircle(double x, double y, double xc, double yc, double r)< return pow(r, 2) >= pow(x — xc, 2) + pow(y — yc, 2)? «YES»: «NO»; > int main() < double x, y, xc, yc, r; cin >> x >> y >> xc >> yc >> r; cout

Проверьте, принадлежит ли точка данной закрашенной области:

Решение модуля 1.9 Введение в программирование C++

Если точка принадлежит области (область включает границы), выведите слово YES, иначе выведите слово NO.
Решение должно содержать функцию IsPointInArea(x, y), возвращающую True, если точка принадлежит области и False, если не принадлежит. Основная программа должна считать координаты точки, вызвать функцию IsPointInArea и в зависимости от возвращенного значения вывести на экран необходимое сообщение.Функция IsPointInArea не должна содержать инструкцию if.

#include using namespace std; int IsPointInArea(int a, int b) < if(((a+1)*(a+1)+(b-1)*(b-1)=2*a+2 b>=-a b>=0) || ((a+1)*(a+1)+(b-1)*(b-1)>=4 b else < cout > int main() < int x, y; cin >> x >> y; IsPointInArea(x,y); >

Дано действительное положительное число a и целоe число n.

Вычислите a n . Решение оформите в виде рекурсивной функции power(a, n).

#include using namespace std; double power(double a, int n) < if (n == 0) < return 1; >if (n > 0) < return a * power(a, n-1); >else return 1/a * power(a, n+1); > int main() < double a, n; cin >> a >> n; cout

Дано натуральное число n > 1. Выведите его наименьший делитель, отличный от 1.
Решение оформите в виде функции MinDivisor(n). Количество операций в программе должно быть пропорционально корню из n.
Указание. Если у числа n нет делителя, меньшего n , то число n — простое и ответом будет само число n.

#include #include using namespace std; int MinDivisor(int n,int d=2) < if (d else MinDivisor(n, d + 1); > else return n; > int main()< int n; cin >> n; cout

Дано натуральное число n > 1. Проверьте, является ли оно простым. Программа должна вывести слово YES, если число простое и NO, если число составное.
Решение оформите в виде функции IsPrime(n), которая возвращает True для простых чисел и False для составных чисел. Количество операций в программе должно быть пропорционально корню из n.

#include #include using namespace std; int IsPrime(unsigned long a) < unsigned long i; if (a == 2) return 1; if (a == 0 || a == 1 || a % 2 == 0) return 0; for (i = 3; i*i a; > int main()< int n; cin >> n; if (IsPrime(n)) cout

Возводить в степень можно гораздо быстрее, чем за n умножений! Для этого нужно воспользоваться следующими рекуррентными соотношениями:

a n = (a 2 ) n/2 при четном n,

a n = a × a n−1 при нечетном n.

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

#include #include using namespace std; double power(double a, int n) < if (n == 0) return 1; if (n % 2 == 0) return power(a*a, n/2); return a * power(a, n — 1); >int main() < double a; int n; cin >> a >> n; cout

Дана последовательность чисел, завершающаяся числом 0. Найдите сумму всех этих чисел, не используя цикл.

#include using namespace std; int n; int rec(int n, int sum)< if (n==0) return sum; sum+=n; cin>>n; return rec(n,sum); > int main()< cin>>n; cout

Напишите функцию fib(n), которая по данному целому положительному n возвращает n-e число Фибоначчи. В этой задаче нельзя использовать циклы — используйте рекурсию.Первое и второе числа Фибоначчи равны 1, а каждое следующее равно сумме двух предыдущих.

#include int fib(int n) < return n == 0 || n == 1 ? n : fib(n — 1) + fib(n — 2); >int main() < int n; std::cin >> n; std::cout

В небоскребе n этажей. Известно, что если уронить стеклянный шарик с этажа номер p, и шарик разобьется, то если уронить шарик с этажа номер p+1, то он тоже разобьется. Также известно, что при броске с последнего этажа шарик всегда разбивается.Вы хотите определить минимальный номер этажа, при падении с которого шарик разбивается. Для проведения экспериментов у вас есть два шарика. Вы можете разбить их все, но в результате вы должны абсолютно точно определить этот номер.
Определите, какого числа бросков достаточно, чтобы заведомо решить эту задачу.

#include #include #include #include using namespace std; int fib(int n) < static int k = 0, m=0; if(n<=0)< return k; >else < k++; return fib(n-k); >> int main() < int n; cin >> n; cout

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

#include using namespace std; int main() < int arr[10] = ; int n; cin >> n; cout

Читайте также:
Какую программу лучше использовать для обновления драйверов

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

Информатика 11 класс ИН2010501-ИН2010504 ответы и задания статград 26 апреля ЕГЭ 2021

задания ответы варианты 2020 2021

Новая тренировочная работа №5 статград по информатике 11 класс ответы и задания для тренировочных вариантов ИН2010501, ИН2010502, ИН2010503, ИН2010504 для подготовки к экзамену ЕГЭ 2021. Официальная дата проведения работы 26.04.2021 (26 апреля 2021 года).

Ссылка для скачивания вариантов (ИН2010501-ИН2010502): скачать задания

Ссылка для скачивания всех ответов, файлов и критериев: скачать ответы

Тренировочная работа по информатике и ИКТ состоит из 27 заданий с кратким ответом, выполняемых с помощью компьютера.

Решу ЕГЭ 2021 по информатике 11 класс варианты ИН2010501 ИН2010502 задания статград онлайн:

ИН2010501 сложные задания и ответы с варианта:

1)На рисунке схема дорог изображена в виде графа, в таблице содержатся сведения о длине этих дорог в километрах. Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Известно, что длина дороги ГЕ больше, чем длина дороги ГЖ. Определите длину дороги БВ. В ответе запишите целое число – длину дороги в километрах.

Правильный ответ: 29

3)Даны фрагменты двух таблиц из базы данных. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. На основании имеющихся данных определите самого молодого человека среди тех, у кого есть племянники или племянницы. В ответе запишите количество полных лет, исполнившихся этому человеку в момент рождения первого племянника или племянницы

Правильный ответ: 28

4)Все заглавные буквы русского алфавита закодированы неравномерным двоичным кодом, в котором никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Известно, что все кодовые слова содержат не меньше двух двоичных знаков, а слову БАРАН соответствует код 10011111011010. Какое наименьшее количество двоичных знаков может содержать сообщение, кодирующее слово РОБОТ?

Правильный ответ: 13

5)Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом: 1. Если исходное число кратно 2, оно делится на 2, в противном случае из него вычитается 1. 2. Если полученное на предыдущем шаге число кратно 3, оно делится на 3, в противном случае из него вычитается 1. 3. Если полученное на предыдущем шаге число кратно 5, оно делится на 5, в противном случае из него вычитается 1. 4. Число, полученное на шаге 3, считается результатом работы алгоритма. Пример. Дано число N = 22. Алгоритм работает следующим образом: 1. Число 22 кратно 2, оно делится на 2, получается 11. 2. Число 11 не кратно 3, из него вычитается 1, получается 10. 3. Число 10 кратно 5, оно делится на 5, получается 2. 4. Результат работы алгоритма R = 2. Сколько существует различных натуральных чисел N, при обработке которых получится R = 1?

Правильный ответ: 3

6)Известно, что при вводе некоторых положительных значений переменных s и x данная программа выводит число 15. Определите, при каком наименьшем введённом значении переменной x это возможно. Для Вашего удобства программа представлена на четырёх языках программирования.

Правильный ответ: 96

7)В информационной системе хранятся изображения размером 2048 × 1536 пк. При кодировании используется алгоритм сжатия изображений, позволяющий уменьшить размер памяти для хранения одного изображения в среднем в 8 раз по сравнению с независимым кодированием каждого пикселя. Каждое изображение дополняется служебной информацией, которая занимает 128 Кбайт. Для хранения 32 изображений потребовалось 16 Мбайт. Сколько цветов использовано в палитре каждого изображения?

Правильный ответ: 256

8)Настя составляет 6-буквенные коды из букв Н, А, С, Т, Я. Каждая допустимая гласная буква может входить в код не более одного раза. Сколько кодов может составить Настя?

Правильный ответ: 6075

9)Электронная таблица содержит результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев. Определите, сколько раз за время измерений максимальная суточная температура оказывалась выше среднесуточной на 7 и более градусов.

Правильный ответ: 66

10)Определите, сколько раз в тексте произведения А.С. Пушкина «Дубровский» встречается существительное «застава» в любом числе и падеже.

Правильный ответ: 1

11)Каждый объект, зарегистрированный в информационной системе, получает уникальный код из 11 символов, каждый из которых может быть одной из 26 заглавных или строчных латинских букв. Для представления кода используют посимвольное кодирование, все символы кодируют одинаковым минимально возможным количеством битов, а для кода в целом выделяется минимально возможное целое количество байтов.

Кроме того, для каждого объекта в системе выделен одинаковый объём памяти для хранения содержательной информации. Для хранения данных (код и содержательная информация) о 40 объектах потребовалось 2400 байт. Сколько байтов выделено для хранения содержательной информации об одном объекте? В ответе запишите только целое число – количество байтов.

Правильный ответ: 51

13)На рисунке представлена схема дорог, связывающих пункты А, Б, В, Г, Д, Е, Ж, И, К, Л, М, Н, П, Р, С. По каждой дороге можно передвигаться только в направлении, указанном стрелкой. Сколько существует различных путей из пункта А в пункт С, проходящих через пункт Ж?

14)Значение выражения 7296 – 320 + 90 записали в системе счисления с основанием 9. Сколько раз в этой записи встречается цифра 0?

15)Обозначим через m 5 = 11102 73 = 0 → (x А ≠ 0) тождественно истинна (т. е. принимает значение 1 при любом неотрицательном целом значении переменной х)?

16)Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями: F(0) = 0; F(n) = F(n/2), если n > 0 и при этом n чётно; F(n) = 1 + F(n – 1), если n нечётно. Сколько существует таких чисел n, что 1 ≤ n ≤ 500 и F(n) = 3?

17)Определите количество принадлежащих отрезку [345 678; 456 789] натуральных чисел, которые делятся без остатка на сумму своих цифр, и наименьшее из таких чисел. В ответе запишите два целых числа: сначала количество, затем наименьшее число.

18)Дан квадрат 15×15 клеток, в каждой клетке которого записано целое число. В левом верхнем углу квадрата стоит робот. За один ход робот может переместиться на одну клетку вправо или на одну клетку вниз. Выходить за пределы квадрата робот не может.

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

19)Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч один камень или увеличить количество камней в куче в три раза. Например, пусть в одной куче 5 камней, а в другой 9 камней; такую позицию мы будем обозначать (5, 9).

За один ход из позиции (5, 9) можно получить любую из четырёх позиций: (6, 9), (15, 9), (5, 10), (5, 27). Чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 79.

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

Победителем считается игрок, сделавший последний ход, то есть первым получивший позицию, в которой в кучах будет 79 или больше камней. В начальный момент в первой куче было 6 камней, во второй куче – S камней, 1 ≤ S ≤ 72. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Назовите минимальное значение S, при котором это возможно.

20)Для игры, описанной в задании 19, найдите все такие значения S, при которых у Пети есть выигрышная стратегия, причём Петя не может выиграть первым ходом, но может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Найденные значения запишите в ответе в порядке возрастания.

21)Для игры, описанной в задании 19, укажите максимальное значение S, при котором у Вани есть выигрышная стратегия, позволяющая ему выиграть при любой игре Пети.

22)Ниже на четырёх языках программирования записана программа, которая вводит натуральное число x, выполняет преобразования, а затем выводит результат. Укажите наименьшее значение x, при вводе которого программа выведет число 20.

24)Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). В строках, содержащих менее 25 букв A, нужно определить и вывести максимальное расстояние между одинаковыми буквами в одной строке. Пример.

Исходный файл: GIGA GABLAB NOTEBOOK AGAAA В этом примере во всех строках меньше 25 букв A. Самое большое расстояние между одинаковыми буквами – в третьей строке между буквами O, расположенными в строке на 2-й и 7-й позициях. В ответе для данного примера нужно вывести число 5.

25)Найдите все натуральные числа, N, принадлежащие отрезку [200 000 000; 400 000 000], которые можно представить в виде N = 2m · 3n , где m – чётное число, n – нечётное число. В ответе запишите все найденные числа в порядке возрастания.

27)В текстовом файле записан набор пар натуральных чисел, не превышающих 10 000. Необходимо выбрать из набора некоторые пары так, чтобы первое число в каждой выбранной паре было нечётным, сумма больших чисел во всех выбранных парах была нечётной, а сумма меньших – чётной. Какую наибольшую сумму чисел во всех выбранных парах можно при этом получить?

ИН2010502 сложные задания и ответы с варианта:

1)На рисунке схема дорог изображена в виде графа, в таблице содержатся сведения о длине этих дорог в километрах. Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Известно, что длина дороги ГЕ меньше, чем длина дороги ГЖ. Определите длину дороги БВ. В ответе запишите целое число – длину дороги в километрах.

Правильный ответ: 20

3)Даны фрагменты двух таблиц из базы данных. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. На основании имеющихся данных определите самого молодого человека среди тех, у кого есть племянники или племянницы. В ответе запишите количество полных лет, исполнившихся этому человеку в момент рождения первого племянника или племянницы

Правильный ответ: 20

4)Все заглавные буквы русского алфавита закодированы неравномерным двоичным кодом, в котором никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Известно, что все кодовые слова содержат не меньше двух двоичных знаков, а слову БАЗАР соответствует код 10001111011010. Какое наименьшее количество двоичных знаков может содержать сообщение, кодирующее слово РОБОТ?

Правильный ответ: 14

5)Алгоритм получает на вход натуральное число N > 1 и строит по нему новое число R следующим образом: 1. Если исходное число кратно 2, оно делится на 2, в противном случае из него вычитается 1. 2. Если полученное на предыдущем шаге число кратно 3, оно делится на 3, в противном случае из него вычитается 1. 3. Если полученное на предыдущем шаге число кратно 7, оно делится на 7, в противном случае из него вычитается 1. 4. Число, полученное на шаге 3, считается результатом работы алгоритма. Пример. Дано число N = 44. Алгоритм работает следующим образом: 1. Число 44 кратно 2, оно делится на 2, получается 22. 2. Число 22 не кратно 3, из него вычитается 1, получается 21. 3. Число 21 кратно 7, оно делится на 7, получается 3. 4. Результат работы алгоритма R = 3. Сколько существует различных натуральных чисел N, при обработке которых получится R = 1?

Правильный ответ: 5

6)Известно, что при вводе некоторых положительных значений переменных s и x данная программа выводит число 17. Определите, при каком наименьшем введённом значении переменной x это возможно. Для Вашего удобства программа представлена на четырёх языках программирования.

Правильный ответ: 41

7)В информационной системе хранятся изображения размером 2048 × 1536 пк. При кодировании используется алгоритм сжатия изображений, позволяющий уменьшить размер памяти для хранения одного изображения в среднем в 4 раза по сравнению с независимым кодированием каждого пикселя. Каждое изображение дополняется служебной информацией, которая занимает 128 Кбайт. Для хранения 32 изображений потребовалось 16 Мбайт. Сколько цветов использовано в палитре каждого изображения?

Правильный ответ: 16

8)Руслан составляет 5-буквенные коды из букв Р, У, С, Л, А, Н. Каждая допустимая гласная буква может входить в код не более одного раза. Сколько кодов может составить Руслан?

Правильный ответ: 4864

9)Электронная таблица содержит результаты ежечасного измерения температуры воздуха на протяжении трёх месяцев. Определите, сколько раз за время измерений минимальная суточная температура оказывалась ниже среднесуточной на 8 и более градусов.

Правильный ответ: 51

10)Определите, сколько раз в тексте произведения А.С. Пушкина «Дубровский» встречается существительное «борода» в любом числе и падеже.

Правильный ответ: 2

11)Каждый объект, зарегистрированный в информационной системе, получает уникальный код из 9 символов, каждый из которых может быть одной из 26 заглавных или строчных латинских букв. Для представления кода используют посимвольное кодирование, все символы кодируют одинаковым минимально возможным количеством битов, а для кода в целом выделяется минимально возможное целое количество байтов.

Кроме того, для каждого объекта в системе выделен одинаковый объём памяти для хранения содержательной информации. Для хранения данных (код и содержательная информация) о 50 объектах потребовалось 2500 байт. Сколько байтов выделено для хранения содержательной информации об одном объекте? В ответе запишите только целое число – количество байтов.

13)На рисунке представлена схема дорог, связывающих пункты А, Б, В, Г, Д, Е, Ж, И, К, Л, М, Н, П, Р, С. По каждой дороге можно передвигаться только в направлении, указанном стрелкой. Сколько существует различных путей из пункта А в пункт С, проходящих через пункт И?

14)Значение выражения 7298 – 318 + 85 записали в системе счисления с основанием 9. Сколько раз в этой записи встречается цифра 0?

17)Определите количество принадлежащих отрезку [123 456; 234 567] натуральных чисел, которые делятся без остатка на сумму своих цифр, и наименьшее из таких чисел. В ответе запишите два целых числа: сначала количество, затем наименьшее число.

20)Для игры, описанной в задании 19, найдите все такие значения S, при которых у Пети есть выигрышная стратегия, причём Петя не может выиграть первым ходом, но может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Найденные значения запишите в ответе в порядке возрастания.

21)Для игры, описанной в задании 19, укажите максимальное значение S, при котором у Вани есть выигрышная стратегия, позволяющая ему выиграть при любой игре Пети.

22)Ниже на четырёх языках программирования записана программа, которая вводит натуральное число x, выполняет преобразования, а затем выводит результат. Укажите наименьшее значение x, при вводе которого программа выведет число 10.

Читайте также:
М1 партнерская программа отзывы

25)Найдите все натуральные числа, N, принадлежащие отрезку [400 000 000; 600 000 000], которые можно представить в виде N = 2m·3n , где m – чётное число, n – нечётное число. В ответе запишите все найденные числа в порядке возрастания.

Источник: 100ballnik.com

24. Поиск и исправление ошибок в программе – продолжение

Дано натуральное число N, не превосходящее 10 8 . Необходимо найти и вывести число, которое получится при записи N справа налево и удалении всех единиц. Ведущие нули выводить не надо. Если в числе N нет цифр кроме единиц и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 489, а при вводе 2001 нужно вывести 2. Для решения этой задачи ученик написал такую программу:

Delphi/Pascal

1234567891011121314 var n , m : longint ; d : integer ; begin read ( n ) ; m : = 0 ; while n >= 1 do begin d : = n mod 10 ; if d > 1 then begin m : = 10 * d + m ; end ; n : = ( n – d ) div 10 ; end ; write ( m ) ; end .

C

1234567891011121314 #include int main ( void ) < int d , n , m ; scanf ( ″ % d ″ , m = 0 ; while ( n >= 1 ) < d = n % 10 ; if ( d >1 ) < m = 10 * d + m ; >n = ( n – d ) / 10 ; > printf ( “ % d ″ , m ) ; >

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

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

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

n=42 -> m=20+40=60; программа находит сумму цифр, не равных 1, умноженную на 10.

1. 1984 = 40+80+90 = 210

2. 102 => 20; 103 => 30

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число x, не превосходящее 1000, и выводится количество значащих цифр в двоичной записи этого числа. Программист торопился и написал программу неправильно.

Delphi/Pascal

12345678910 var x , cnt : integer ; begin readln ( x ) ; cnt : = 0 ; while x > 0 do begin cnt := cnt + x mod 2 ; x : = x div 10 end ; writeln ( cnt ) end .

C

1234567891011 #include int main ( void ) < int x , cnt ; scanf ( ″ % d ″ , cnt = 0 ; while ( x >0 ) < cnt = cnt + x % 2 ; x = x / 10 ; >printf ( ″ % d n ″ , cnt ) ; >

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

  1. Напишите, что выведет эта программа при вводе числа 15.
  2. Приведите пример такого числа x, что, несмотря на ошибки, программа печатает правильный ответ.
  3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
    1) выпишите строку, в которой сделана ошибка;
    2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Ошибка исправление
cnt:=cnt + x mod 2; cnt:=cnt + 1;
x:=x div 10; x:=x div 2;

На обработку поступает натуральное число, не превышающее 10 9 . Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 3. Если в числе нет цифр, кратных 3, требуется на экран вывести «NO». Программист написал программу неправильно. Напоминание: 0 делится на любое натуральное число.

Delphi/Pascal

12345678910111213141516 var N , digit , maxDigit : longint ; begin readln ( N ) ; maxDigit : = N mod 10 ; while N > 0 do begin digit : = N mod 10 ; if digit mod 3 = 0 then if digit > maxDigit then maxDigit : = digit ; N : = N div 10 ; end ; if maxDigit = 0 then writeln ( ‘NO’ ) else writeln ( maxDigit ) end .

C

1234567891011121314151617 #include int main ( void ) < int N , digit , maxDigit ; scanf ( ″ % i ″ , maxDigit = N % 10 ; while ( N >0 ) < digit = N % 10 ; if ( digit % 3 == 0 ) if ( digit >maxDigit ) maxDigit = digit ; N = N / 10 ; > if ( maxDigit == 0 ) printf ( ″ NO » ) ; else printf ( ″ % i ″ , maxDigit ) ; >

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

  1. Напишите, что выведет эта программа при вводе числа 134.
  2. Приведите пример такого трёхзначного числа, что, несмотря на ошибки, программа печатает правильный ответ.
  3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Ошибка исправление
maxDigit := N mod 10; maxDigit := -1;
if maxDigit=0 then if maxDigit=-1 then

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

Delphi/Pascal

123456789101112 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 .

C

12345678910111213 #include int main ( void ) < float a , s ; int k ; scanf ( ″ % f ″ , k = 0 ; s = 1 ; while ( s < a ) < k = k + 1 ; s = s + 1.0 / k ; >printf ( ″ % f ″ , k ) ; >

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

  1. Напишите, что выведет эта программа при вводе числа 1.8.
  2. Приведите пример числа, при вводе которого программа выведет правильный ответ.
  3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
ошибка исправление
k:=0; или s:=1; k:=1; или s:=0;
write(k); write(k-1);

Дано целое положительное число N, не превосходящее 1000. Необходимо определить, является ли это число степенью числа 3. То есть требуется определить, существует ли такое целое число K, что 3 K = N, и вывести это число либо сообщение, что такого числа не существует. Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной.

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

  1. Напишите, что выведет эта программа при вводе числа 9.
  2. Приведите пример числа, при вводе которого приведённая программа напечатает то, что требуется.
  3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
ошибка исправление
while k mod 3 = 0 while n mod 3 = 0
if n > 0 if n = 1

Дано целое положительное число A. Требуется вывести такое минимально возможное натуральное число K, при котором

1 + (1+2) + (1+2+3) + … + (1+2+…+K)

окажется больше A. Для решения этой задачи ученик написал программу, но, к сожалению, его программа – неправильная.

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

  1. Напишите, что выведет эта программа при вводе числа 12.
  2. Укажите любое значение A, при котором программа выведет верный ответ. Запишите этот ответ.
  3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
ошибка исправление
while s < A do begin while s
writeln(k); writeln(k-1);

Даны натуральные числа A и B. Требуется найти такое минимально возможное натуральное число K ≥ A, что сумма всех чисел от A до K больше, чем B. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.

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

  1. Напишите, что выведет эта программа при вводе чисел 13 и 18.
  2. Укажите любую пару значений A и B, при вводе которых программа выведет правильный ответ.
  3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

2. A = 3, B = 3: ответ=4

ошибка исправление
s := 0; s := A;
:while s < B do begin while s

Дано натуральное число A, большее 9, в записи которого нет нулей. Требуется найти максимальное двузначное число, которое можно увидеть в записи числа A. Например, для числа 18943 ответом будет число 94. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.

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

  1. Напишите, что выведет эта программа при вводе числа 9532.
  2. Укажите одно значение A, при вводе которого программа выведет правильный ответ. Укажите это ответ.
  3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
ошибка исправление
while A > 100 do begin while A > 0 do begin
A := A div 100; A := A div 10;

Источник: vuz-24.ru

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