МЕТОДИЧЕСКАЯ РАЗРАБОТКА ЗАДАНИЕ КИМ 17 КЕГЭ. Методическая разработка
Скачать 110.54 Kb.
|
4. Задачи, в которых полезно применять пользовательские функции4.1. Количество цифр в числе
В теле основной программы функция может вызываться: Для присваивания значения целочисленной (в данном случае) переменной: m := K_6(t);или m := K_6(458626);. Здесь t (целочисленная (в данном случае) глобальная переменная, значение которой известно на момент вызова функции) и числовая константа 458626 – являются фактическими параметрами, без которых вызов функции невозможен. Для использования в операторе ветвления для проверки условия: ifK_6(i)>3 then … В качестве аргумента при использовании стандартных функций вывода: writeln(K_6(i)); Замечание. Когда вы пишете программу, в которой предполагаете использовать функцию, напишите сначала тестовую программку, в теле которой будет единственный оператор: вывод на экран значения функции для некоторой константы. Меняя константу, протестируйте правильность работы функции. Например, так: programtest; functionK_6(n: integer): integer; vark: integer; begin k := 0; whilen>0 do begin ifn mod 10 = 6 then k:=k+1; n:= n div 10 end; K_6:=k; end; begin writeln(K_6(1245663)); end. № 4176. (Е. Джобс) Рассматривается множество целых чисел, принадлежащих числовому отрезку [3399; 225599], которые одновременно удовлетворяют следующим условиям: – в пятеричной записи числа младший разряд равен 3, – в семеричной записи числа нет нулей. Найдите наибольшее из таких чисел и их количество. В ответе укажите два числа – сначала количество найденных чисел, затем наибольшее найденное число. Решение. programN_17_3727; Заголовок программы vari, max, count: integer; functionK_0(n: integer): integer; vark: integer; begin k:=0; whilen>0 do begin ifn mod 7 = 0 then k:= k+1; n := n div 7 end; K_0 := k; end; Раздел описаний begin count:= 0; max:= 0; fori:=3399 to 225599 do if(i mod 5 = 3) and (K_0(i) = 0) then begin count:=count+1; ifi>max then max:=i; end; writeln(count, ' ', max) end. Тело программы Примечание. И в подпрограмме, и в основной программе мы подсчитываем количество элементов. Рекомендуется (особенно начинающим программистам) локальной и глобальной переменным давать разные имена. Ответ:19086 225593 № 3845. (П. Волгин) Рассматривается множество целых чисел, принадлежащих числовому отрезку [255; 4095], которые удовлетворяют следующим условиям: а) Число в троичной записи содержит одну цифру «1» или две цифры «0»; б) Число делится на 2 и 5, но не делится на 20. Найдите количество таких чисел и их сумму. В ответе запишите сначала количество, а затем сумму. Ответ:60 133320 № 2742. (Е. Джобс) Рассматривается множество целых чисел, принадлежащих числовому отрезку [333666; 666999], которые удовлетворяют следующим условиям: а) в числе есть не менее двух цифр 7; б) число кратно 17. Найдите наибольшее из таких чисел и их количество. Ответ:666774 1538 Упражнение 2. Напишите и протестируйте функции, которые а) подсчитывает общее количество цифр в десятичной записи числа; б) подсчитывает общее количество цифр в двоичной записи числа. № 2341. (В.Н. Шубинкин) Рассматривается множество целых чисел, принадлежащих числовому отрезку [1000, 70000], которые имеют 5 знаков в восьмеричной и 6 знаков в пятеричной записи, а их запись в шестнадцатеричной системе счисления заканчивается на 'FA'. Найдите количество таких чисел и максимальное из них. В ответе запишите два целых числа: сначала количество, затем максимальное число. Ответ:45 15610 № 2321. (А. Куканова) Рассматривается множество целых чисел, принадлежащих числовому отрезку [1000; 9999], запись которых в шестеричной системе имеет не более 5 цифр и закачивается на 13 или 14. Найдите количество таких чисел и максимальное из них. Ответ:376 7750 |