![]() |
![]() |
Функции Общие замечания Приступая к решению задач этого раздела, следует вспомнить, что:
Задачи 185. Написать функцию, которая вычисляет объем цилиндра. Параметрами функции должны быть радиус и высота цилиндра. 186. Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента. 187. Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков: >, < или =. 188. Написать функцию, которая вычисляет сопротивление цепи, состоящей из двух резисторов. Параметрами функции являются величины сопротивлений и тип соединения (последовательное или параллельное). Функция должна проверять корректность параметров: если неверно указан тип соединения, то функция должна возвращать -1. 189. Написать функцию, которая вычисляет значение аь. Числа а и b могут быть любыми дробными положительными числами. 190. Написать функцию Procent, которая возвращает процент от полученного в качестве аргумента числа. 191. Написать функцию "Факториал" и программу, использующую эту функцию для вывода таблицы факториалов. 192. Написать функцию Dohod, которая вычисляет доход по вкладу. Исходными данными для функции являются: величина вклада, процентная ставка (годовых) и срок вклада (количество дней). 193. Написать функцию glasn, которая возвращает 1, если символ, полученный функцией в качестве аргумента, является гласной буквой русского алфавита, и ноль — в противном случае. 194. Написать функцию sogl, которая возвращает 1, если символ, полученный функцией в качестве аргумента, является согласной буквой русского алфавита, и 0 — в противном случае. 195. Написать функцию, которая возвращает преобразованную к верхнему регистру строку, полученную в качестве аргумента. 196. Написать функцию, обеспечивающую решение квадратного уравнения. Параметрами функции должны быть коэффициенты и корни уравнения. Значение, возвращаемое функцией, должно передавать в вызывающую программу информацию о наличии у уравнения корней: 2 — два разных корня, 1 — корни одинаковые, 0 — уравнение не имеет решения. Кроме того, функция должна проверять корректность исходных данных. Если исходные данные неверные, то функция должна возвращать -1. 197. Написать функцию, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром функции. 198. Написать функцию, которая выводит строку, состоящую из одинаковых символов. Длина строки и символ являются параметрами процедуры. 199. Написать функцию, которая вычисляет объем и площадь поверхности параллелепипеда. 200. Написать функцию frame, которая выводит на экран рамку. В качестве параметров функции должны передаваться коор'динаты левого верхнего угла и размер рамки. Факультатив 201. Написать функцию, обеспечивающую ввод с клавиатуры целого положительного числа. При нажатии клавиши соответствующий символ должен появляться на экране только в том случае, если этот символ является цифрой. Функция должна позволять редактировать введенное число при помощи клавиши <Backspace>. При нажатии клавиши <Enter> функция должна завершать работу и возвращать введенное число. 202. Написать функцию, обеспечивающую ввод с клавиатуры дробного числа. При нажатии клавиши соответствующий символ должен появляться на экране только в том случае, если этот символ является допустимым в данной позиции. Например, функция не должна допускать ввод более чем одной точки и знака минус не в первой позиции. Функция должна позволять редактировать введенное число при помощи клавиши <Backspace>. При нажатии клавиши <Enter> функция должна завершать работу и возвращать введенное число. 203. Написать программу, реализующую игру "21". Действия по выдаче очередной карты игроку и компьютеру реализуйте в виде функции. Общие замечания Приступая к решению задач этого раздела, следует вспомнить, что:
Шаблон графической программы выглядит следующим образом: // шаблон графической программы finclude <graphics.h> #include <conio.h> #define PATHTODRIVER "c: WborlandcWbgiW" void main(void) { int gdriver = DETECT; // драйвер int gmode; // режим int errorcode; // код ошибки initgraph(sgdriver, Sgmode, PATHTODRIVER); errorcode = graphresult(); if (errorcode != grOk) // ошибка инициализации // графического режима { printf("Ошибка: %d\n", errorcode); puts("Для завершения программы нажмите <Enter>' getch(); return; // далее инструкции программы closegraph(); // завершение графического режима Задачи 204. Написать программу, которая вычерчивает на экране домик.
I 205. Написать программу, которая выводит на экран флаг Олимпийских игр. Изображение флага приведено ниже (одной клетке соответствует пять пикселов). 206. Написать программу, которая вычерчивает на экране кораблик.
207. Написать программу, которая вычерчивает на экране ракету.
208. Написать программу, которая с использованием метода базовой точки выводит на экран изображение кораблика.
209. Написать программу, которая вычерчивает на экране узор из 100 окружностей случайного диаметра и цвета.
213. Написать программу, которая выводит на экран пятиконечную звезду красного цвета с белой окантовкой.
216. Написать программу, которая рисует на экране веселую рожицу желтого цвета.
217. Написать программу, которая рисует на экране грустную рожицу.
218. Написать программу, которая выводит на экран изображенный ниже узор.
219. Написать программу, которая выводит на экран изображенный ниже узор. Окружности должны быть разного цвета: от синего до белого (смотри таблицу "кодировки цветов, справочник, функция setcolor).
220. Написать программу, которая выводит на экран изображенный ниже узор.
221. Написать программу, которая выводит на экран изображенный ниже узор.
222. Написать программу, которая выводит на экран изображение шахматной доски.
224. Написать программу, которая рисует на экране паровоз. Используйте метод базовой точки.
225. Написать программу, которая рисует на экране автомобиль. Инструкции, обеспечивающие вычерчивание колеса автомобиля, оформите как функцию.
226. Написать программу, которая выводит на экран оцифрованную координатную сетку.
227. Написать программу, которая выводит на экран точечный график функции у=0,5х2+4х-3. Диапазон изменения аргумента — от -15 до 5; шаг аргумента — 0,1. График вывести на фоне координатных осей, точка пересечения которых должна находиться в центре экрана. Обработка результатов контрольной работы
231. Написать программу, которая выводит круговую диаграмму, отражающую товарооборот (в процентах) книжного магазина. Исходные данные (объем продаж в рублях по категориям: книги, журналы, открытки и канцтовары) вводятся во время работы программы. Пример диаграммы приведен ниже.
232. Написать программу, которая выводит на экран изображение работающего светофора. Рекомендуемый вид светофора и алгоритм его работы приведены ниже.
Факультатив 233. Написать программу, которая выводит на экран изображение идущих часов, у которых есть секундная и минутная стрелки. Общие замечания Приступая к решению задач этого раздела, следует вспомнить, что:
Задачи 235. Напишите программу, которая на сменном диске компьютера (диск А:) создает файл numbers.txt и записывает в него 5 введенных пользователем целых чисел. Просмотрите при помощи редактора текста, например, встроенного в Norton Commander, созданный файл. Убедитесь, что каждое число находится в отдельной строке. Добавление в телефонный справочник 241. Напишите программу, которая позволяет за один сеанс работы добавить информацию о нескольких людях в файл A:\phone.txt. Рекомендуемый вид экрана во время работы программы приведен ниже. Добавление в телефонный справочник. 242. Напишите программу, которая позволяет найти в телефонном справочнике (A:\phone.txt) нужные сведения. Программа должна запрашивать фамилию человека и выводить его телефон. Если в справочнике есть люди с одинаковыми фамилиями, то программа должна вывести список всех этих людей. Рекомендуемый вид экрана во время работы программы приведен ниже. Поиск в телефонном справочнике. 243. Напишите программу, которая объединяет возможности программ "Добавление в телефонный справочник" и "Поиск в телефонном справочнике". При запуске программы на экран должно выводиться меню, вид которого приведен ниже. *** Телефонный справочник *** Факультатив 244. Напишите универсальную программу тестирования. Тест, последовательность вопросов и варианты ответов должны находиться в текстовом файле. Имя файла теста программа должна получать из командной строки запуска программы. Количество вопросов теста неограничено. Вместе с тем, предлагается ввести следующее ограничение: текст вопроса и альтернативных ответов не должен занимать более одной строки экрана. Вопрос1 245. Напишите программу, которая выводит на экран список файлов и названия программ C++, находящихся в указанном при запуске программы каталоге. Предполагается, что первая строка программы является коментарием, содержащим информацию о назначении программы. *** Таблица пересчета из дюймов в миллиметры *** Результат выводить: Приступая к решению задач этого раздела, следует вспомнить, что:
Задачи 247. Написать рекурсивную функцию вычисления факториала и программу, проверяющую ее работоспособность.
249. Написать программу, которая вычисляет сопротивление электрической цепи, схема которой приведена на рисунке. Величины сопротивлений и порядок цепи (количество сопротивлений R2) должны вводиться во время работы программы.
250. Напишите программу, которая вычерчивает на экране приведенную в задаче 249 схему электрической цепи. Порядок цепи должен вводиться во время работы программы. Факультатив 251. Написать программу, которая вычерчивает на экране кривую Гильберта, показанную на рисунке. Обратите внимание, что кривая второго порядка получается путем соединения четырех кривых первого порядка, две из которых повернуты на 90 градусов: одна по, другая — против часовой стрелки. Аналогичным образом получается кривая третьего порядка, но при этом в качестве "кирпичиков" используются кривые второго порядка. Порядок вычерчиваемой кривой должен вводиться во время работы программы.
252. Написать программу, которая вычерчивает на экране кривую Серпинского. Порядок кривой должен вводиться во время работы программы. Вид кривых Серпинского первого, второго и третьего порядка приведен ниже.
|
![]() |
![]() |