Дополнительные задачи по программированию

Легенда

3 – простые задачи

4 – задачи средней сложности

5 – более сложные задачи

Задачи

3 Написать программу, которая выводит строку «HELLO WORLD!» на консоль.

3 Написать программу, на вход которой с консоли вводится ИМЯ, и которая выводит строку «HELLO, ИМЯ!» на консоль.

3 Заполнить значениями, введенными с клавиатуры, список целых чисел длиной 15 и вывести эти значения на консоль в обратном порядке.

3 Найти и вывести сумму из 15 целых чисел (числа обязательно вводятся с консоли).

3 Найти и вывести первое отрицательное четное число из 15 введенных целых чисел.

3 Найти и вывести последнее отрицательное нечетное число из 15 введенных целых чисел.

3 Найти и вывести среднее арифметическое 15 введенных целых чисел.

3 На вход программе подается строка чисел, разделенных ;. Найдите произведение этих чисел.

3 На вход программе подается строка символов латинского алфавита, разделенных ;. Найдите количество этих строк.

3 Посчитать и вывести количество пробелов и восклицательных знаков в 15 введенных символах.

3 Вывести индексы пробелов в 15 введенных символах, если пробелов в символах не было, вывести символ “-”.

3 На вход программе подается один из трех символов: -, +, * и два целых числа. Выведите результат операции для первого и второго числа. (Например, на вход поступило '-', 30, 10. Программа должна вывести 20.)

3 На вход программе подается сначала число n, а после - n целых чисел. Требуется определить, упорядоченны ли числа по неубыванию. Вывести «Yes» или «No». Числа для обработки сохранить в список.

3 На вход программе подается строка, представляющая собой одно слово из латинских букв. Требуется определить, является ли слово палиндромом (одинаково читающееся в обоих направлениях (anna)). Вывести «Yes» или «No».

3 Заполнить двумерный список нулями и вывести его на консоль.

размера 10×10

размера 5×10

размера 10×5

4 На вход программе подается число n, х, а после - n целых чисел, являющиеся коэффициентами многочлена степени n. Коэффициенты заданы по убыванию степеней. Треуется вычислить и вывести на экран значение многочлена в точке х.

Задачи на списки (в задачах следует полагать, что на вход программе сначала подается количество элементов N⇐100, а после - N чисел.)

3 Найти разницу между максимальным и минимальным числом в этом списке.

3 Найти сумму элементов списка, расположенных до минимального элемента

3 Найти сумму элементов списка, расположенных после последнего элемента, равного нулю

3 Найти сумму модулей элементов списка, расположенных после максимального о модулю элемента

3 Найти сумму модулей элементов списка, расположенных после первого элемента, равного нулю

3 Найти произведение элементов списка, расположенных между первым и вторых нулевыми элементами

3 Найти сумму элементов списка, расположенных между первым и последним отрицательными элементами

3 Найти произведение элементов списка, расположенных между максимальным по модулю и минимальным по модулю элементами

Задачи на строки:

3 На вход программе подается строка символов латинского алфавита, разделенных ;. Найдите самую длинную строку.

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

4 Дана строка состоящая из букв и цифр (считается, что больше одной цифры подряд идти не может). Требуется посчитать сумму этих цифр.

3 Дана строка состоящая из букв и цифр. Требуется сформировать и вывести новую строку, состоящую только из этих цифр, разделенных пробелами.

3 Поменять местами слова в строке, состоящей из двух слов.

4 Добавить в строку пробелы после знаков препинания, если они там отсутствуют.

3 Требуется в произвольной строке удалить последнее слово, т.е. все символы после последнего пробела в строке.

3 Найти слово, стоящее в тексте под определенным (введенным) номером, и вывести его первую и последнюю буквы. Повторите для списка слов.

3 Во введенной строке удалить все символы между первым и вторым вопросительным знаком. Сами знаки в строке оставить.

4 Дана строка. Определите процентное отношение строчных и прописных букв к общему числу символов в ней.

4 Написать функцию, на вход которой передается строка. Функция должна определять, являются ли символы в строке отсортированы в лексикографическом порядке и возвращать True или False.

5 Встреча с Римлянами

Попав в 500 год до нашей эры, вы столкнулись с необходимостью перевести число, записанное арабскими цифрами в число, записанное римскими цифрами

Напишите программу, которая переводит число (⇐3000) из арабской записи в римскую.

Примеры:

1994 → MCMXCIV

123 → CXXIII

5 Часы

Представьте обычные цифровые часы, время на которых отображается на 7-ми сегментных индикаторах с учетом ведущего нуля. Например, 9:30 на таких часах отображается так:

Числа отображатся следующим образом:

Требуется написать программу, на вход которой подается целое число n, обозначающее количество зажженных сегментов в отображении некого времени. Програма должна по этому числу востановить время, которое отображается на часах. Время должно быть корректным (подразумевается 24 формат представления времени). Если это невозможно, программа должна вывести «Impossible». Если может быть несколько вариантов корректного времени, вывести любой.

Примеры:

Вход: 23

Выход: 09:30

Вход: 28

Выход: Impossible

Вход: 2

Выход: Impossible

5 Могила

Территория некоторого кладбища имеет ровную прямоугольную форму. На нем (не выходя за его границы) расположена прямоугольная церковь. Требуется определить, хватит ли на кладбище места для прямоугольной могилы? могила может касаться границы кладбища и/или церкви, но не должна перекрывать их.

На вход программе подаются 10 чисел:

сначала x1, y1, x2, y2 - координаты левого нижнего и правого верхнего углов гладбища

после x1, y1, x2, y2 - координаты левого нижнего и правого верхнего углов церкви

а потом w и h - ширина и высота могилы. Сторона длины w должна располагаться вдоль оси OX, а сторона длины h - вдоль оси OY

Программа должна вывести «Yes», если место имеется и «No» в проиивном случае.

Пример:

Вход:

1 1 11 8

2 3 8 6

3 2

Выход:

Yes

Вход:

1 1 11 8

2 3 8 6

4 3

Выход:

No

5 Углы углы углы

Даны n попарно различных точек на плоскости с целыми координатами до 10^6 по абсолютной величине. Требуется найти среди этих точек две точки A и B такие, что угол AOB минимальный. O – центр координат.

5 Делим пространство

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