Задачи, сводящиеся к вычислению логического или алгебраического выражения
- Вводятся координаты трех точек на плоскости. Выяснить, какая из двух первых точек ближе к третьей.
- Написать программу, которая, идя по числовой оси на промежутке от a до b включительно с шагом 2, будет искать точку, в которой значение функции y = sin2 x будет максимальным. Значения a и b вводит пользователь.
- Задана окружность. Проверить, лежит ли введенная пользователем точка внутри нее и вывести true, если точка расположена внутри окружности (в том числе на ее границе) и false в противном случае. Оператор ветвления при написании программы не использовать.
- Написать программу для поиска действительных корней квадратного уравнения.
- Пользователь вводит предложение. Вывести введенное предложение в закодированном с помощью шифра Цезаря виде.
- Задан треугольник координатами своих вершин. Определить, лежит ли указанная пользователем точка внутри этого треугольника.
Задачи на организацию и оптимизацию перебора
- Пользователь вводит число, записанное в десятичной системе счисления. Определить, сколько единиц будет использовано для представления этого числа в двоичной системе счисления. В качестве ответа вывести на экран двоичное представление числа и число единиц.
- Вводится целое число, большее 7. Написать программу, которая будет раскладывать введенное число на сумму чисел 5 и 3 таким образом, чтобы количество пятерок в этом разложении было максимальным.
- Найти все положительные четырехзначные числа, для которых одновременно выполняются следующие условия:
- в его состав входят разные цифры;
- разность двух чисел, составленных из первых двух цифр и двух последних, равна сумме его цифр.
Задачу решить, используя в алгоритме наименьшее количество повторов в циклах.
- В файле имеется список студентов всех курсов и групп, для которых указана дата рождения. Пользователь вводит месяц рождения. Вывести на экран всех студентов, родившихся в этом месяце.
- Найти число "счастливых" билетов в катушке, состоящей из 1000000 билетов с шестизначными номерами. "Счастливым" считается билет, у которого суммы трех первых и трех последних цифр совпадают.
- Выписать на экран все простые числа до 100.
Задачи на сортировку
- Задан одномерный массив чисел. Отсортировать его элементы по убыванию наиболее эффективным способом.
- Задан отсортированный одномерный массив чисел. Добавить введенное пользователем число в данный массив таким образом, чтобы он остался отсортированным. Использовать минимальное количество сравнений.
- Задана строка символов. Отсортировать все находящиеся в ней символы по алфавиту наиболее эффективным способом.
- На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:
Иванов Петр 4 5 4
Требуется написать программу, которая будет выводить на экран фамилии и имена десяти лучших по среднему баллу учеников. Требуемые имена и фамилии необходимо вывести в порядке уменьшения среднего балла. Если средний балл у нескольких учащихся совпадает, вывести их в алфавитном порядке. - Задан массив записей число/строка. Отсортировать массив по возрастанию числового поля или строки в зависимости от выбора пользователя.
- В текстовом файле задан текст. Вывести на экран все слова этого в алфавитном порядке. Слова, встречающиеся в тексте несколько раз, следует выводить только один раз.
Задачи на поиск
- Задан одномерный массив целых чисел. Пользователь вводит число. Выяснить, есть ли это число в массиве. В случае, если заданного пользователем числа в массиве нет, вывести число, ближайшее к введеному в сторону увеличения.
- Напишите программу для поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них).
- Задана строка символов произвольной длины. Найти номер первого вхождения введенного пользователем символа в строке или, если такого символа нет, вывести на экран сообщение об этом.
- Задан двумерный массив целых чисел. Для каждой четной строки массива найти максимальный элемент, а для каждой нечетной - минимальный и вычислить их сумму.
- В заданной строке символов найти все вхождения заданной подстроки. Программа должна для каждого вхождения подстроки вывести на экран номер позиции символа, с которого начинается данное вхождение, или, если таких вхождений нет, сообщение о том, что такого вхождения не существует.
- Задан отсортированный по ключу массив записей число/строка. Вывести строку по заданному ключу с минимальным количеством сравнений.
Элементы вычислительных методов
- Вычислить сумму ряда
с заданной точностью. - Вычислить интеграл
с заданной точностью. - Найти все корни уравнения cos x = x с заданной точностью.
- Решить численно дифференциальное уравнение:
Содержание курса