|
Программирование >> Структурное программирование
f) -3 < n < 11 3.17. Для каждого из следующих наборов целых чисел напишите единственный оператор, который будет печатать случайно выбранное число из набора: a) 2, 4, б, 8, 10 b) 3, 5, 7, 9, 11 c) 6, 10, 14, 18, 22 3.18. Напишите функцию integerPower(base, exponent), которая возвращает значение Например, integerPower(3, 4) = 3*3*3*3. Считайте, что exponent - положительное, не равное нулю, целое число, а base - целое число. Функция integerPower должна использовать для управления вычислениями for или while. Не используйте никаких математических функций. 3.19. Определите функцию hypotenuse, которая вычисляет длину гипотенузы правильного треугольника, когда две другие стороны известны. Используйте эту функцию в программе для определения длины гипотенузы каждого из следующих треугольников. Функции должны иметь два аргумента типа double и возвращать значение гипотенузы как double.
3.20. Напишите функцию multiple, которая определяет для пары целых чисел, кратно ли второе число первому. Функция должна воспринимать два целых аргумента и возвращать 1 (истина), если второе число кратно первому, и О (ложь), если нет. Используйте эту функцию в программе, которая вводит последовательность пар целых чисел. 3.21. Напишите программу, которая вводит последовательность целых чисел и передает их по одному функции even, которая использует операцию вычисления остатка для определения четности числа. Фзшкция должна принимать целый аргумент и возвращать 1, если аргумент - четное число, и О в противном случае 3.22. Напишите программу, которая отображает у левого края экрана сплошной квадрат из звездочек, сторона которого указана целым параметром side. Например, если side равна 4, функция должна отображать следующую картинку: * * * * * * * * * * * * * * * * 3.23. Модифицируйте функцию, созданную в упражнении 3.22, так, чтобы формировать квадрат из каких угодно символов, указанных в символьном параметре fillCharacter. Таким образом, если side равна 5 и fillCharacter равен #, то эта функция должна напечатать: # # # # # # # # # # # # # # # # # # # # # # # # # 3.24. Используйте подход, развитый в упражнениях 3.22 и 3.23, для создания программы, которая вычерчивает широкий диапазон форм. 3.25. Напишите фрагменты программ, которые бы выполняли следуюш;ее: a) Вычислить целую часть частного от деления целого числа а на целое число Ь. b) Вычислить целый остаток от деления целого числа а на целое число Ъ. c) Использовать фрагменты программ, созданные в пунктах а) и Ь), для написания функции, которая вводит целое число из диапазона от 1 до 32767 и печатает его как последовательность цифр, каждая из которых отделена от соседней двумя пробелами. Например, целое число 4562 должно быть напечатано в виде 4 5 6 2 3.26. Напишите функцию, которая воспринимает время как три целых аргумента (часы, минуты и секунды) и возврашает количество секунд, прошедших со времени, когда часы в последний раз показали 12. Используйте эту функцию для вычисления интервала времени в секундах между двумя моментами, находящимися внутри двенадцатичасового цикла. 3.27. Разработайте следующие целые функции: a) Функцию Celsius, которая возвращает температуру по Цельсию, эквивалентную температуре по Фаренгейту. b) Функцию fahrenheit, которая возвращает температуру по Фаренгейту, эквивалентную температуре по Цельсию. c) Используйте эти функции для написания программы, которая печатает таблицу, показывающую эквивалент по Фаренгейту всех температур по Цельсию от О до 100 градусов и эквивалент по Цельсию всех температур по Фаренгейту от 32 до 212 градусов. Напечатайте вывод в аккуратном табулированном формате, с минимальным количеством строк при сохранении хорошей читаемости. 3.28. Напишите функцию, которая возвращает наименьшее из трех чисел с плавающей запятой. 3.29. Говорят, что целое число является совершенным числом, если его сомножители, включая 1 (но не само число) в сумме дают это число. Например, 6 - это совершенное число, так как 6 = 14-24-3. Напишите функцию perfect, которая определяет, является ли параметр number совершенным числом. Используйте эту функцию в про- грамме, которая определяет и печатает все совершенные числа в диапазоне от 1 до 1000. Напечатайте сомножители каждого совершенного числа, чтобы убедиться, что число действительно совершенное. Исследуйте мощность вашего компьютера проверкой чисел, много больших 1000. 3.30. Говорят, что целое число является простым числом, если оно делится только на 1 и на само себя. Например, 2, 3, 5 - простые числа, а 4, 6, 8 - нет. a) Напишите функцию, определяющую, является ли число простым или нет. b) Используйте эту функцию в программе, которая определяет и печатает все простые числа, лежащие в диапазоне от 1 до 10000. Сколько из этих 10000 чисел вы должны действительно проверить, чтобы быть уверенным в том, что найдены все простые числа? c) Вначале вы могли бы подумать, что верхней границей, до которой вы должны проводить проверку, чтобы увидеть, является ли число п простым, является п/2, но в действительности вам нужно проверить количество чисел, равное корню квадратному из п. Почему? Перепишите программу и запустите ее для обоих способов. Оцените улучшение производительности. 3.31. Напишите функцию, которая воспринимает целое значение и возвращает число с обратным порядком цифр. Например, воспринимается число 7631, а возвращается число 1367. 3.32. Наибольший общий делитель двух целых чисел - это наибольшее целое, на которое без остатка делится каждое из двух чисел. Напишите функцию nod, которая возвращает наибольший общий делитель двух целых чисел. 3.33. Напишите функцию quality Points, которая вводит среднюю оценку студентов и возвращает 4, если средняя оценка 90-100, 3, если средняя оценка 80-89, 2, если средняя оценка 70-79, 1, если средняя оценка 60-69, и О, если средняя оценка меньше 60. 3.34. Напишите программу, моделирующую бросание монеты. Для каждого броска монеты программа должна печатать Орел или Решка. Промоделируйте с помощью этой программы бросание 100 раз и подсчитайте, сколько раз появилась каждая сторона монеты. Напечатайте результаты. Программа должна вызывать отдельную функцию flip, которая не принимает никаких аргументов и возвращает О для Орла и 1 для Решки. Замечание: если программа действительно моделирует бросание монеты, каждая сторона монеты должна появляться примерно в половине случаев. 3.35. Компьютеры играют все возрастающую роль в образовании. Напишите программу, которая поможет слушателям начальной школы изучить умножение. Используйте rand для выработки двух положительных одноразрядных целых чисел. Программа должна печатать вопрос типа Сколько будет 6*7?
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |