Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Цикл с условием: группа While






While1. Даны положительные числа A и B (A > B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти длину незанятой части отрезка A.

While2. Даны положительные числа A и B (A > B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без наложений). Не используя операции умножения и деления, найти количество отрезков B, размещенных на отрезке A.

While3. Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления.

While4. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false.

While5. Дано целое число N (> 0), являющееся некоторой степенью числа 2: N = 2 K. Найти целое число K — показатель этой степени.

While6. Дано целое число N (> 0). Найти двойной факториал N:

N!! = N ·(N − 2)·(N − 4)·…

(последний сомножитель равен 2, если N — четное, и 1, если N — нечетное). Чтобы избежать целочисленного переполнения, вычислять это произведение с помощью вещественной переменной и вывести его как вещественное число.

While7. Дано целое число N (> 0). Найти наименьшее целое положительное число K, квадрат которого превосходит N: K 2 > N. Функцию извлечения квадратного корня не использовать.

While8. Дано целое число N (> 0). Найти наибольшее целое число K, квадрат которого не превосходит N: K 2N. Функцию извлечения квадратного корня не использовать.

While9. Дано целое число N (> 1). Найти наименьшее целое число K, при котором выполняется неравенство 3 K > N.

While10. Дано целое число N (> 1). Найти наибольшее целое число K, при котором выполняется неравенство 3 K < N.

While11. Дано целое число N (> 1). Вывести наименьшее из целых чисел K, для которых сумма 1 + 2 + … + K будет больше или равна N, и саму эту сумму.

While12. Дано целое число N (> 1). Вывести наибольшее из целых чисел K, для которых сумма 1 + 2 + … + K будет меньше или равна N, и саму эту сумму.

While13. Дано число A (> 1). Вывести наименьшее из целых чисел K, для которых сумма 1 + 1/2 + … + 1/ K будет больше A, и саму эту сумму.

While14. Дано число A (> 1). Вывести наибольшее из целых чисел K, для которых сумма 1 + 1/2 + … + 1/ K будет меньше A, и саму эту сумму.

While15. Начальный вклад в банке равен 1000 руб. В конце каждого месяца размер вклада увеличивается на P процентов от имеющейся суммы (P — вещественное число, 0 < P < 25). По данному P определить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итоговый размер вклада S (вещественное число).

While16. Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км. Каждый следующий день он увеличивал длину пробега на P процентов от пробега предыдущего дня (P — вещественное, 0 < P < 50). По данному P определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км, и вывести найденное количество дней K (целое) и суммарный пробег S (вещественное число).

While17. Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, вывести все его цифры, начиная с самой правой (разряда единиц).

While18. Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, найти количество и сумму его цифр.

While19. Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, найти число, полученное при прочтении числа N справа налево.

While20. Дано целое число N (> 0). С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N цифра «2». Если имеется, то вывести true, если нет — вывести false.

While21. Дано целое число N (> 0). С помощью операций деления нацело и взятия остатка от деления определить, имеются ли в записи числа N нечетные цифры. Если имеются, то вывести true, если нет — вывести false.

While22. Дано целое число N (> 1). Если оно является простым, то есть не имеет положительных делителей, кроме 1 и самого себя, то вывести true, иначе вывести false.

While23. Даны целые положительные числа A и B. Найти их наибольший общий делитель (НОД), используя алгоритм Евклида:

НОД(A, B) = НОД(B, A mod B), если B ≠ 0; НОД(A, 0) = A,

где «mod» обозначает операцию взятия остатка от деления.

While24. Дано целое число N (> 1). Последовательность чисел Фибоначчи FK определяется следующим образом:

F 1 = 1, F 2 = 1, FK = FK − 2 + FK − 1, K = 3, 4, ….

Проверить, является ли число N числом Фибоначчи. Если является, то вывести true, если нет — вывести false.

While25. Дано целое число N (> 1). Найти первое число Фибоначчи, большее N (определение чисел Фибоначчи дано в задании While24).

While26. Дано целое число N (> 1), являющееся числом Фибоначчи: N = FK (определение чисел Фибоначчи дано в задании While24). Найти целые числа FK − 1 и FK +1 — предыдущее и последующее числа Фибоначчи.

While27. Дано целое число N (> 1), являющееся числом Фибоначчи: N = FK (определение чисел Фибоначчи дано в задании While24). Найти целое число K — порядковый номер числа Фибоначчи N.

While28. Дано вещественное число ε (> 0). Последовательность вещественных чисел AK определяется следующим образом:

A 1 = 2, AK = 2 + 1/ AK − 1, K = 2, 3, ….

Найти первый из номеров K, для которых выполняется условие | AKAK − 1| < ε, и вывести этот номер, а также числа AK − 1 и AK.

While29. Дано вещественное число ε (> 0). Последовательность вещественных чисел AK определяется следующим образом:

A 1 = 1, A 2 = 2, AK = (AK − 2 + 2· AK − 1)/3, K = 3, 4, ….

Найти первый из номеров K, для которых выполняется условие | AKAK − 1| < ε, и вывести этот номер, а также числа AK − 1 и AK.

While30. Даны положительные числа A, B, C. На прямоугольнике размера A × B размещено максимально возможное количество квадратов со стороной C (без наложений). Найти количество квадратов, размещенных на прямоугольнике. Операции умножения и деления не использовать.

 

 

Занятие 3, 4, 5 (Объектно-ориентированное программирование)

Вариант 1

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

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 2

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

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 3

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

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 4

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

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 5

Составить описание класса для представления комплексных чисел. Обеспечить выполнение операций сложения, вычитания и умножения комплексных чисел.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 6

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

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 7

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

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 8

Составить описание класса для представления даты. Предусмотреть возможности установки даты и изменения ее отдельных полей (год, месяц, день) с проверкой допустимости вводимых значений. В случае недопустимых значений полей выбрасываются исключения. Создать метод ы изменения даты на заданное количество дней, месяцев и лет.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 9

Составить описание класса для представления времени. Предусмотреть возможности установки времени и изменения его отдельных полей (час, минута, секунда) с проверкой допустимости вводимых значений. В случае недопустимых значений полей выбрасываются исключения. Создать метод ы изменения времени на заданное количество часов, минут и секунд.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 10

Составить описание класса многочлена вида ах2+вх + с. Предусмотреть методы, реализующие:

• вычисление значения многочлена для заданного аргумента;

• операцию сложения, вычитания и умножения многочленов с получением нового объекта-многочлена;

• вывод на экран описания многочлена.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 11

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

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

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 12

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

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 13

Описать класс для работы со строкой, позволяющей хранить только двоичное число и выполнять с ни м арифметические операции. Предусмотреть инициализацию с проверкой допустимости значений. В случае недопустимых значений выбрасываются исключения.

Написать программу, демонстрирующую все разработанные элемент ы класса.

 

Вариант 14

Описать класс дробей — рациональных чисел, являющихся отношением двух целых чисел. Предусмотреть методы сложения, вычитания, умножения и деления дробей.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 15

Описать класс «файл», содержащий сведения об имени, дате создания и длине файла. Предусмотреть инициализацию с проверкой допустимости значений полей. В случае недопустимых значений полей выбрасываются исключения. Описать метод добавления информации в конец файла и свойства для получения состояния файла.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 16

Описать класс «комната», содержащий сведения о метраже, высоте потолков количестве окон. Предусмотреть инициализацию с проверкой допустимости значений полей. В случае недопустимых значений полей выбрасываются исключения. Описать методы вычисления площади и объема комнаты и свойства для получения состояния объекта.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 17

Описать класс, представляющий нелинейное уравнение вида ах - cos(x) = 0. Описать метод, вычисляющий решение этого уравнения на заданном интервале методом деления пополам (см. раздел «Цикл с параметром for») и выбрасывающий исключение в случае отсутствия корня. Описать свойства для получения состояния объекта.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 18

Описать класс, представляющий квадратное уравнение вида ах2+ вх + с = 0. Описать метод, вычисляющий решение этого уравнения и выбрасывающий исключение в случае отсутствия корней. Описать свойства для получения состояния объекта.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 19

Описать класс «процессор», содержащий сведения о марке, тактовой частоте, объеме кэша и стоимости. Предусмотреть инициализацию с проверкой допустимости значений полей. В случае недопустимых значений полей выбрасываются исключения. Описать свойства для получения состояния объекта.

Описать класс «материнская плата», включающий класс «процессор» и объем установленной оперативной памяти. Предусмотреть инициализацию с проверкой допустимости значений поля объема памяти. В случае недопустимых значений поля выбрасывается исключение. Описать свойства для получения состояния объекта.

Написать программу, демонстрирующую все разработанные элементы классов.

 

Вариант 20

Описать класс «цветная точка». Для точки задаются координаты и цвет. Цвет описывается с помощью трех составляющих (красный, зеленый, синий). Предусмотреть различные методы инициализации объекта с проверкой допустимости значений. Допустимым диапазоном для каждой составляющей является [0, 255]. В случае недопустимых значений полей выбрасываются исключения. Описать свойства для получения состояния объекта и метод изменения цвета.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 21

Описать класс «домашняя библиотека». Предусмотреть возможность работы с произвольным числом книг, поиска книги по какому-либо признаку (по авто, по году издания или категории), добавления книг в библиотеку, удаления книг из нее, доступа к книге по номеру.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 22

Описать класс «записная книжка». Предусмотреть возможность работы с произвольным числом записей, поиска записи по какому-либо признаку (например, по фамилии, дате рождения или номеру телефона), добавления и удаления записей, сортировки по фамилии и доступа к записи по номеру.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 23

Описать класс «студенческая группа». Предусмотреть возможность работы с переменным числом студентов, поиска студента по какому-либо признаку (например, по фамилии, имени, дате рождения), добавления и удаления записей, сортировки по разным полям, доступа к записи по номеру.

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 24

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

Написать программу, демонстрирующую все разработанные элементы класса.

 

Вариант 25

Описать класс «колода карт», включающий закрытый массив элементов класса «карта». В карте хранятся масть и номер. Обеспечить возможность вывода карты по номеру, вывода всех карт, перемешивания колоды и выдачи всех карт из колоды поодиночке и по 6 штук в случайном порядке.

Написать программу, демонстрирующую все разработанные элементы классов.

 

Вариант 26

Описать класс «поезд», содержащий следующие закрытые поля:

• название пункта назначения;

• номер поезда (может содержать буквы и цифры);

• время отправления.

Предусмотреть свойства для получения состояния объекта.

 

Описать класс «вокзал», содержащий закрытый массив поездов. Обеспечить следующие возможности:

• вывод информации о поезде по номеру с помощью индекса;

• вывод информации о поездах, отправляющихся после введенного с клавиатуры времени;

• перегруженную операцию сравнения, выполняющую сравнение времени отправления двух поездов;

• вывод информации о поездах, отправляющихся в заданный пункт назначения.

Информация должна быть отсортирована по времени отправления. Написать программу, демонстрирующую все разработанные элементы классов.

 

Вариант 27

Описать класс «товар», содержащий следующие закрытые поля:

• название товара;

• название магазина, в котором продается товар;

• стоимость товара в рублях.

Предусмотреть свойства для получения состояния объекта.

 

Описать класс «склад», содержащий закрытый массив товаров. Обеспечить следующие возможности:

• вывод информации о товаре по номеру с помощью индекса;

• вывод на экран информации о товаре, название которого введено с клавиатуры; если таких товаров нет, выдать соответствующее сообщение;

• сортировку товаров по названию магазина, по наименованию и по цене;

• перегруженную операцию сложения товаров, выполняющую сложение их цен.

Написать программу, демонстрирующую все разработанные элементы классов.

 

Вариант 28

Описать класс «самолет», содержащий следующие закрытые поля:

• название пункта назначения;

• шестизначный номер рейса;

• время отправления.

Предусмотреть свойства для получения состояния объекта.

Описать класс «аэропорт», содержащий закрытый массив самолетов. Обеспечить

следующие возможности:

• вывод информации о самолете по номеру рейса с помощью индекса;

• вывод информации о самолетах, отправляющихся в течение часа после введенного с клавиатуры времени;

• вывод информации о самолетах, отправляющихся в заданный пункт назначения;

• перегруженную операцию сравнения, выполняющую сравнение времени отправления двух самолетов.

Информация должна быть отсортирована по времени отправления.

Написать программу, демонстрирующую все разработанные элементы классов.

 

Вариант 29

Описать класс «запись», содержащий следующие закрытые поля:

• фамилия, имя;

• номер телефона;

• дата рождения (массив из трех чисел).

Предусмотреть свойства для получения состояния объекта.

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

• вывод на экран информации о человеке, номер телефона которого введен

с клавиатуры; если такого нет, выдать на дисплей соответствующее сообщение;

• поиск людей, день рождения которых сегодня или в заданный день;

• поиск людей, день рождения которых будет на следующей неделе;

• поиск людей, номер телефона которых начинается на три заданных цифры.

Написать программу, демонстрирующую все разработанные элементы классов.

 

 

Занятие 6 (Обработка исключительных ситуаций)

 

Обеспечить устойчивость кода к введенным данным для заданий из Занятий 1, 2

 

 

Занятие 7, 8 (Ввод-вывод данных/Работа с файлами)

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.