Задачник и решебник (1087980), страница 8
Текст из файла (страница 8)
Количество очков вычисляетсяпо следующему правилу: за золотую медаль команда получаетсемь очков, за серебряную — шесть, за бронзовую — пять очков.Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные пользователем, выделены полужирным шрифтом.Итоги Олимпийских игрВведите в одной строке количество золотых,серебряных и бронзовых медалей.Австрия -> 3 5 9Германия -> 12 9 8Канада -> б 5 4Китай -> О б 2Корея -> 3 1 2Норвегия -> 10 10 5Россия -> 9 б 3США -> б 3 4Финляндия -> 2 4 бЯпония -> 5 1 4Итоги зимней Олимпиады в Нагано, 1998 г.СтранаЗолото Серебро Бронза Всего Очков1 Германия1292982 Норвегия25101053Россия918б3174Австрия35945Канадаб155бСШАб41337 Финляндия124б28Япония141059Китай028б10Кореяб32117815511496928068614637183.
Написать программу, реализующую игру "угадай число".Правила игры следующие. Играют двое. Один задумывает число,второй — угадывает. На каждом шаге угадывающий делает предположение, а задумавший число — говорит, сколько цифр числаугаданы и сколько из угаданных цифр занимают правильныепозиции в числе. Например, если задумано число 725 и выдвинуто предположение, что задумано число 523, то угаданы двецифры (5 и 2) и одна из них (2) занимает верную позицию.51Часть I.
ЗадачиНиже приведен рекомендуемый вид экрана во время работыпрофаммы. Данные, введенные пользователем, выделены полужирным шрифтом.Компьютер задумал трехзначное число. Вы должны его отгадать.После очередного числа вам будет сообщено, сколько цифругадано и сколько из них находятся на своих местах.После ввода числа нажР1майте <Enter>.Для завершения игры нажмите <Esc>.Ваш вариант -> 123 Угадано: О. На своих местах: ОВаш вариант -> 456 Угадано: 1. На своих местах: ОВаш вариант -> 654 Угадано: 2. На своих местах: 2Ваш вариант -> 657 Угадано: 2.
На своих местах: 2Ваш вариант -> 658 Угадано: 3. На своих местах: 3*** ВЫ УГДЦАЛИ ! ***Нажмите <Enter> для завершения.184. Напишите программу-телеграф, которая принимает отпользователя сообщение и выводит его на экран в виде последовательности точек и тире. Вывод точек и тире можно сопроводить звуковым сигналом соответствующей длительности. АзбукаМорзе для букв русского алфавита приведена ниже.АдиМРФшь.-..—.-...-.-..-БЕИНСXЩэ-....—-.—...-.вжк0тцъю.—..."-.—-.-.-....—у—.—...-...—...-чыя-.-.-.-г3лпфункцииОбщие замечанияПриступая к решению задач этого раздела, следует вспомнить, что:П1 для передачи данных в функцию надо использовать толькопараметры.
Глобальные переменные, т. е. переменные, объявленные вне функции, использовать не рекомендуется;52C/C++ в задачах и примерах• тип каждого фактического параметра (константы или переменной) в инструкции вызова функции должен совпадать стипом соответствующего формального параметра, указанногов объявлении функции;• если параметр функции используется для возврата результата,то в объявлении функции этот параметр должен быть ссылкой, а в инструкции вызова функции в качестве фактическогопараметра должен быть указан адрес переменной.Задачи185.
Написать функцию, которая вычисляет объем цилиндра.Параметрами функции должны быть радиус и высота цилиндра.186. Написать функцию, которая возвращает максимальное издвух целых чисел, полученных в качестве аргумента.187. Написать функцию, которая сравнивает два целых числа ивозвращает результат сравнения в виде одного из знаков: >, <или =,188. Написать функцию, которая вычисляет сопротивление цепи, состоящей из двух резисторов. Параметрами функции являются величины сопротивлений и тип соединения (последовательное или параллельное).
Функция должна проверять корректность параметров: если неверно указан тип соединения, тофункция должна возвращать - 1 .189. Написать функцию, которая вычисляет значение а^. Числаа и b могут быть любыми дробными положительными числами.190. Написать функцию Procent, которая возвращает процентот полученного в качестве аргумента числа.191. Написать функцию "Факториал" и программу, использующую эту функцию для вывода таблицы факториалов.192. Написать функцию Dohod, которая вычисляет доход по вкладу. Исходными данными для функции являются: величина вклада,процентная ставка (годовых) и срок вклада (количество дней).193.
Написать функцию g l a s n , которая возвращает 1, если символ, полученный функцией в качестве аргумента, является гласной буквой русского алфавита, и ноль — в противном случае.Часть I. Задачи53194. Написать функцию sogl, которая возвращает 1, если символ, полученный функцией в качестве аргумента, является согласной буквой русского алфавита, и О — в противном случае.195. Написать функцию, которая возвращает преобразованную кверхнему регистру строку, полученную в качестве аргумента.196.
Написать функцию, обеспечивающую решение квадратногоуравнения. Параметрами функции должны быть коэффициентыи корни уравнения. Значение, возвращаемое функцией, должнопередавать в вызывающую программу информацию о наличии ууравнения корней: 2 — два разных корня, 1 — корни одинаковые, О — уравнение не имеет решения. Кроме того, функциядолжна проверять корректность исходных данных. Если исходные данные неверные, то функция должна возвращать - 1 .197. Написать функцию, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром функции.198. Написать функцию, которая выводит строку, состоящую изодинаковых символов.
Длина строки и символ являются параметрами процедуры.199. Написать функцию, которая вычисляет объем и площадьповерхности параллелепипеда.200. Написать функцию frame, которая выводит на экран рамку. В качестве параметров функции должны передаваться координаты левого верхнего угла и размер рамки.Факультатив201.
Написать функцию, обеспечивающую ввод с клавиатурыцелого положительного числа. При нажатии клавиши соответствующий символ должен появляться на экране только в том случае, если этот символ является цифрой. Функция должна позволять редактировать введенное число при помощи клавиши<Backspace>.
При нажатии клавиши <Enter> функция должназавершать работу и возвращать введенное число.202. Написать функцию, обеспечивающую ввод с клавиатурыдробного числа. При нажатии клавиши соответствующий символ должен появляться на экране только в том случае, если этот54C/C-I-+ в задачах и примерахсимвол является допустимым в данной позиции. Например,функция не должна допускать ввод более чем одной точки и знака минус не в первой позиции. Функция должна позволять редактировать введенное число при помощи клавиши <Backspace>.При нажатии клавиши <Enter> функция должна завершать работу и возвращать введенное число.203.
Написать программу, реализующую игру "21". Действия повыдаче очередной карты игроку и компьютеру реализуйте в видефункции.ГрафикаОбщие замечанияПриступая к решению задач этого раздела, следует вспомнить, что:• в графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в одиниз 16-ти цветов;• координаты точек возрастают слева направо и сверху вниз. Левая верхняя точка имеет координаты (0,0), правая нижняя •—(639,479);• для того чтобы программа могла выводить на экран графические примитивы (линии, окружности, прямоугольники), необходимо инициализировать графический режим.Шаблон графической программы выглядит следующим образом:// шаблон графической программы#include <graphics.h>#include <conio.h>#define PATHTODRIVER "c: W b o r l a n d c W b g i W "void main (void){int gdriver = DETECT; // драйверint gmode;// режимint errorcode;// код ошибкиinitgraph(&gdriver, &gmode, PATHTODRIVER);errorcode = graphresult{);55Часть I.
Задачиif (errorcode != grOk)// ошибка инициализации// графического режима{printf("Ошибка: %d\n", errorcode);puts("Для завершения программы нажмите <Enter>")getch();return;// далее инструкции программыclosegraph(); // завершение графического режима}Задачи204. Написать программу, которая вычерчивает на экране домик.205. Написать профамму, которая выводит на экран флагОлимпийских игр. Изображение флага приведено ниже (однойклетке соответствует пять пикселов).зеленыйC/C++ в задачах и примерах56206. Написать профамму, которая вычерчивает на экране кораблик.207. Написать профамму, которая вычерчивает на экране ракету.С)С)ii/208. Написать профамму, которая с использованием метода базовой точки выводит на экран изображение кораблика.Часть I.
Задачи57209. Написать программу, которая вычерчивает на экране узориз 100 окружностей случайного диаметра и цвета.210. Написать программу, которая вычерчивает на экране узориз 50 прямоугольников случайного размера и цвета.211. Написать профамму, которая вычерчивает на экране узор -—ломаную линию из 100 звеньев со случайными координатами,случайного цвета.212. Написать профамму, которая выводит на экран контур пятиконечной звезды.213. Написать профамму, которая выводит на экран пятиконечную звезду красного цвета с белой окантовкой.214. Написать профамму, которая вычерчивает на экране шестиугольник.215.