Все программы должны содержать текстовые подсказки объясняющие какие данные пользователь должен ввести. Например:
Выберите способ ввода параметров треугольника:
1. Длины сторон
2. Координаты вершинПрограмма должна осуществлять все необходимые проверки и предотвращать "падение" программы. Если обнаружены неверные входные данные или недопустимое действие (например: попытка поделить на нуль), на экран необходимо вывести соответствующее сообщение и, если ошибка во входных данных, дать пользователю возможность ввести их заново.
Задания должны быть выполнены на всех языках указанных в задании!
1. Простой вывод2. Переменные int и double3. Арифметика для разных типов4. Обмен значениями5. Падение объекта6. Корни уравнения7. Площадь треугольника8. Калькулятор9. Встреча10. Фиксированная сумма11. Возведение в степень12. Факториал13. Простое число14. Степень двойки15. Угадай число16. Хобби17. Казино18. Евротур19. Медвежья память20. Истина в вине21. Индекс массы тела22. Поиск всех выходов из лабиринта
С++ и Python
Напишите программу отображающую в консоль следующее сообщение:"Результат выражения 2+2*2 = "
В этой же строке, без пробела, выведите ответ. Ответ должен быть посчитан в программе.
Формат ввода Нет ввода
Формат вывода Сообщение в одной строке
Только C++
Объявите в коде программы 2 переменные типа int
. Первой переменной присвойте значение 3, а второй 3.14.
Объявите в коде программы 2 переменные типа double
. Первой переменной присвойте значение 3, а второй 3.14.
Отобразите содержимое переменных на экран, каждая переменная в новой строке. Объясните получившийся результат.
Только Python
Создайте две переменные и присвоите им числа 3 и 3.14 соответственно.
Отобразите содержимое переменных на экран, каждая переменная в новой строке. Объясните получившийся результат.
Формат ввода Нет ввода
Формат вывода Согласно заданию
Только C++
Объявите в коде программы 2 переменные типа int
. Запросите значения для этих переменных у пользователя. Для этой пары чисел рассчитайте и выведите на экран результат следующих действий: +
, -
, *
, /
;
Повторите задание для пары переменных типа double
, double
, пары int
, double
и пары double
, int
.
Обратите внимание на разницу в поведении операторов +
, -
, *
, /
в зависимости от типа операндов.
Только Python
Объявите в коде программы 2 переменные. Запросите значения для этих переменных у пользователя. Для этой пары чисел рассчитайте и выведите на экран результат следующих действий: +
, -
, *
, /
;
Обратите внимание на разницу в поведении операторов +
, -
, *
, /
в зависимости от типа операндов.
Какой оператор Python соответствует оператору /
языка С++
Формат ввода Согласно заданию
Формат вывода Согласно заданию
С++ и Python
Создайте 2 переменных a
и b
числового типа. Запросите значения у пользователя. Обменяйте a
и b
значениями двумя способами:
Выведите результат на экран.
Формат ввода Согласно заданию
Формат вывода Согласно заданию
С++ и Python
По формуле вычислите какое расстояние преодолеет объект если он падает (уже учтено в формуле) с ускорением свободного падения м.
Параметры , и запросить у пользователя.
Какие типы лучше всего выбрать для , , и почему? (Вопрос для С++)
Запишем последний член формулы () в виде: a*t*t / 2 или 1/2*a*t*t. Есть ли какая-то разница, с точки зрения математики и с точки зрения программирования?
Формат ввода Параметры , и заданные в одной строке через пробел.
Формат вывода Одно число. Расстояние, которое объект преодолеет с учётом введённых пользователем параметров.
С++ и Python
Дано уравнение вида: . Напишите программу вычисляющую все действительные корни этого уравнения.
Параметры - любое вещественное число.
Формат ввода
Три вещественных числа каждый в отдельной строке. Числа могут быть любыми, в том числе и нулями.
Формат вывода
Если уравнение имеет два корня, то вывести их, каждый в отдельной строке.
Если уравнение имеет один корень, вывести только один корень.
Во всех остальных случаях отобразить на экран соответствующее текстовое сообщение на русском языке.
Пример 1
Ввод | Вывод |
1 5 4 | x1 = -1 x2 = -4 |
Пример 2
Ввод | Вывод |
0 4 4 | x = -1 |
С++ и Python
Дан треугольник со сторонами и вершинами . Напишите программу рассчитывающую площадь треугольника.
Программа должна поддерживать два способа ввода параметров треугольника и давать пользователю возможность выбрать нужный ему способ:
Параметры и координаты вершин могут быть любым вещественным числом.
Формат ввода
В первой строке одно число: 1 - ввод параметров треугольника через длины сторон или 2 - ввод параметров через координаты вершин или другое целое число по модулю не более 1000 - ошибочный ввод.
Для случая ввода параметров треугольника через длины сторон: три вещественных числа каждый в отдельной строке.
Для случая ввода параметров через координаты вершин: три пары вещественных чисел, каждая пара в отдельной строке, числа в паре разделены пробелом. Первое число координата вершины, второе координата.
Формат вывода
Текст "S = "
затем вещественное число равное площади треугольника.
Если введены некорректные данные, то вывести сообщение об ошибке с поясняющим текстом на русском языке.
Пример 1
Ввод | Вывод |
1 3 4 5 | S = 6 |
Пример 2
Ввод | Вывод |
2 0 0 0 4 3 0 | S = 6 |
С++ и Python
Реализуйте калькулятор, выполняющий основные арифметические действия:
Формат ввода
В одной строке, через пробел вводятся: вещественное число, затем символ - знак операции и вещественное число.
Формат вывода
Результат вычисления или сообщение об ошибке с поясняющим текстом на русском языке.
Пример
Ввод | Вывод |
6 * 7 | 42 |
С++ и Python
Пользователь вводит два значения времени в виде часов и минут. Каждое из которых означает время прихода человек. Известно, каждый человек ждёт второго не более 15 минут, затем уходит. Требуется определить состоится ли встреча.
Формат ввода
В первой строке входных данных указаны два целых числа и , между которыми стоит символ ":"
. При этом и задают некоторое время.
Во второй строке входных данных указаны два целых числа и , между которыми стоит символ ":"
. При этом и задают некоторое время.
Формат вывода
В единственное строке выведите "Встреча состоится"
или "Встреча не состоится"
.
Пример 1
Ввод | Вывод |
9:20 9:25 | Встреча состоится |
Пример 2
Ввод | Вывод |
9:50 10:30 | Встреча не состоится |
С++ и Python
Задано целое число и два диапазона целых чисел , .
Вам необходимо найти два целых числа или определить, что таких чисел не существует, для которых выполняется: , , .
Примечание : Использовать циклы запрещено!.
Формат ввода
В первой строке входных данных записано пять целых чисел , , , ( , , ), разделённых одним пробелом.
Формат вывода
В единственной строке выходных данных Вам необходимо вывести два искомых целых числа , , разделённые одним пробелом, или -1, если таких чисел не существует.
Если существует несколько искомых пар целых чисел , , то выведите пару с минимальных значением .
Пример 1
Ввод | Вывод |
0 -2 -1 1 2 | -2 2 |
Пример 2
Ввод | Вывод |
0 -2 -1 5 6 | -1 |
С++ и Python
Напишите программу возводящую число в целую степень. Использовать стандартные функции возведения в степень нельзя.
Формат ввода
В первой строке число возводимое в степень, во второй строке целое число - степень.
Формат вывода
В единственной строке результат работы программы.
Пример
Ввод | Вывод |
3 3 | 27 |
С++ и Python
Напишите программу для расчёта факториала целого положительного числа .
Формат ввода
Целое положительное число.
Формат вывода
Значение факториала
Пример
Ввод | Вывод |
5 | 120 |
С++ и Python
Напишите программу определяющую является ли число простым.
Формат ввода
Одно целое положительное число для проверки
Формат вывода
Строка: "Простое" или "Составное" в зависимости от вида числа
Пример
Ввод | Вывод |
17 | Простое |
С++ и Python
Задано целое число . Вам необходимо найти количество таких чисел , что и — степень двойки.
Формат ввода
В единственной строке входных данных записано одно целое число .
Формат вывода
В единственной строке выходных данных Вам необходимо вывести одно целое число, являющееся ответом на задачу.
Пример 1
Ввод | Вывод |
0 | 0 |
Пример 2
Ввод | Вывод |
1 | 1 |
Пример 3
Ввод | Вывод |
5 | 3 |
С++ и Python
Компьютер загадывает случайное целое число в диапазоне . Пользователю даётся 5 попыток угадать это число. После каждой попытки угадать программа отображает соответствующее текстовое сообщение.
После завершения игры пользователю предлагается начать сначала.
Формат ввода
В процессе угадывания пользователь вводит одно целое число.
После завершения игры пользователь вводит 1 если хочет продолжить или не 1 чтобы завершить игру.
Формат вывода
После ввода пользователем числа:
"Загаданное число больше"
- если пользователь ввёл слишком маленькое число;"Загаданное число меньше"
- если пользователь ввёл слишком большое число;"Поздравляю! Вы угадали"
- если пользователь ввёл загаданное число;"Вы проиграли. Было загадано: {n}"
- если у пользователя закончились попытки. В выводе заменить {n}
на загаданное число.После завершения игры, не зависимо от исхода, выводится сообщение: "Хотите начать сначала? (1 - ДА )"
.
Пример 1
Консоль |
{Приветственное сообщение от игры} 3 Загаданное число больше 51 Поздравляю! Вы угадали Хотите начать сначала? (1 - ДА ) |
Пример 2
Консоль |
{Приветственное сообщение от игры} 3 Загаданное число больше 5 Загаданное число больше 99 Загаданное число меньше 87 Загаданное число больше 90 Вы проиграли. Было загадано: 98 Хотите начать сначала? (1 - ДА ) |
С++ и Python
Ваш друг, чиновник Сигизмунд, любитель коллекционировать билеты. Друзья Сигизмунда, зная о его хобби, часто пополняют коллекцию друга билетами банка России. Однажды Сигизмунд узнал, что ему принесли билеты принадлежащие начальнику управления экономической безопасности и противодействия коррупции, полковнику полиции Суслику.
Чтобы Суслик не отобрал всю коллекцию Сигизмунда, напишите программу, которая выберет из списка билетов Сигизмунда все принадлежащее Суслику, если известно, что:
a???55661
.Номера найденных билетов Суслика выведите на экран.
Формат ввода
В первой строке ввода записано целое число . Во второй строке, через пробел записано номеров билетов Сигизмунда.
Формат вывода
В одной строке через пробел выведите номера билетов соответствующих шаблону: a???55661
, если ?
означает 1 любой символ. Если таких не окажется выведите -1
. При проверке задания шаблон изменяться НЕ будет.
Пример 1
Ввод | Вывод |
2 bc3355661 ac2155661 | ac2155661 |
Пример 2
Ввод | Вывод |
2 bc3355661 ac2156661 | -1 |
С++ и Python
Ваш друг, гуманитарий Сигизмунд, большой любитель играть в рулетку в онлайн казино [TODO: добавить партнёрскую ссылку]. Как-то раз ему на глаза попалась книга по статистике и Сигизмунду пришла в голову гениальная идея - использовать теорию вероятности для предсказания выигрышного номера.
Т.к. вы ж программист, Сигизмунд просит вас написать программу, которая принимает на вход результаты игры в рулетку и показывает:
Сигизмунд вводит числа по одному и, после каждого введённого числа, хочет видеть результат работы программы. Количество игр заранее не известно. Как только на вход поступит отрицательное число программа должна завершиться.
Формат ввода
На вход поступают целые числа в диапазоне по одному за раз (после каждого введённого числа пользователь нажимает Enter). Чисел может быть любое количество. Ввод завершается отрицательным числом.
Формат вывода
В первой строке выведите список номеров выпадающих чаще всего через пробел в порядке возрастания. Во второй строке выведите список номеров НЕ выпавших за последние игр через пробел в порядке возрастания. В третьей строке выведите два числа через пробел, первое - количество выпавших красных, второе - количество выпавших чёрных за последние игр. Четвёртая строка пустая.
Пример
Консоль |
1 1 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 1 0 26 1 26 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 1 1 1 1 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 33 34 35 36 2 1 -1 |
С++ и Python
Ваш друг, библиофил Сигизмунд, совершает тур по Европе. Будучи в Германии он решил заглянуть в клуб любителей аудиокниг "Vanderbooxxx". В клубе существует правило, начав прослушивать аудиокнигу, посетителю продолжают её читать до тех пор, пока он не произнесёт стоп-слово, которое записывают на листе бумаги и отдают посетителю. Начав прослушивать книгу Сигизмунд вспомнил, что не умеет читать по немецки и из немецкого языка знает только несколько слов (могут быть изменены при проверке): hallo, klempner, das, ist, fantastisch, fluggegecheimen.
Сигизмунд пытается подобрать стоп-слово произнося случайные звуки (далее буквы) из знакомых ему слов. Известно, что:
Вычислите и выведите на экран вероятность того, что слово, которое произнесёт Сигизмунд окажется стоп-словом.
Формат ввода
В единственной строке вводится стоп-слово, которое состоит из строчных латинских символов без умляутов и лигатур.
Формат вывода
Одно вещественное число.
Пример
Ввод | Вывод |
help | 1.755829903978052e-05 |
С++ и Python
Ваш друг, медвежатник Сигизмунд, частенько забывает пароль от сейфа. Сигизмунду известна длина пароля и символы входящие в его состав, но не известен порядок. Он просит вас помочь с этой проблемой и написать программу, которая на вход принимает - количество символов в пароле и строку состоящую из символов.
Сигизмунду также известно, что:
По этим данным нужно сгенерировать и вывести на экран все возможные комбинации пароля по символов БЕЗ повторов.
Формат ввода
В первой строке входных данных передаётся целое положительное число . Во второй строке передаётся последовательность из строчных латинских букв .
Формат вывода
Строки длиной символов через пробел.
Пример 1
Ввод | Вывод |
3 ab | aba aab baa abb bab bba |
Пример 2
Ввод | Вывод |
3 abc | abc acb bac bca cab cba |
С++ и Python
Ваш друг, алкоголик Сигизмунд, просит вас помочь с проблемой. Как истинный ценитель спиртного Сигизмунд хочет выпить его как можно больше, но он не знает, как эффективнее распорядиться своим капиталом.
Напишите программу, которая позволяет максимизировать объём спиртного выпитого Сигизмундом, если известно, что:
В качестве результата выведите на экран названия спиртных напитков и количество бутылок которые нужно купить, а так же общий объём спиртного и остаток денежных средств.
Формат ввода
В первой строке входных данных указывается целое положительное число - деньги. Во второй строке указывается целое положительное число - кол-во разновидностей напитков. В последующих строках, для каждого напитка указывается: - строка состоящая из латинских символов , - целое положительное число из интервала и - целое положительное число из интервала . Данные разделены пробелом.
Формат вывода
В отдельной строке выведите: строку - название напитка, пробел, число - количество бутылок данного напитка. Повторить вывод для каждого напитка, который нужно купить.
Далее, в новой строке, выведите суммарный объём получившегося спиртного. В последней строке выведите сумму, которая останется у Сигизмунда после совершения покупки.
Если решение больше одного, выведите любое.
Если у Сигизмунда не достаточно средств на покупку выведите -1
.
Пример 1
Ввод | Вывод |
100 3 Vodka 40 1 Pivo 30 2 Spirt 80 1 | Pivo 3 6 10 |
Пример 2
Ввод | Вывод |
39 2 Vodka 40 1 Spirt 80 1 | -1 |
В 19 веке была предложена несложная мера "относительной упитанности" тела человека. Она вычисляется на основании только роста и веса, и называется Индекс Массы Тела (Body Mass Index = BMI). Определяется она как вес делённый на рост в квадрате:
BMI = вес / рост^2
Здесь вес берется в килограммах, а рост в метрах.
На основании этого показателя выделяют четыре категории:
xxxxxxxxxx
Underweight - BMI < 18.5 (недостаточная масса)
Normal weight - 18.5 <= BMI < 25.0 (норма)
Overweight - 25.0 <= BMI < 30.0 (избыточная масса)
Obesity - 30.0 <= BMI (ожирение)
Например, при весе 80 кг и росте 173 см можно вычислить:
xxxxxxxxxx
BMI = 80 / (1.73)^2 = 26.7
т.е. присутствует избыточный вес.
С++: Реализуйте две функции соответствующие прототипам:
xxxxxxxxxx
// Принимает вес в килограммах и рост в метрах. Возвращает индекс массы тела.
double BMI(double weight, double height);
// Принимает численное значение ИМТ и печатает на экран соответствующую категорию
void printBMI(double BMI);
Python: Реализуйте две функции реализующие слудующий интерфейс:
xxxxxxxxxx
# Принимает вес в килограммах и рост в метрах. Возвращает индекс массы тела.
def bmi(weight: float, height: float) -> float
# Принимает численное значение ИМТ и печатает на экран соответствующую категорию
def print_bmi(bmi: float) -> float
Формат ввода
В одной строке, через пробел указан вес в килограммах и рост в сантиметрах. Все значения гарантированно положительные и больше нуля.
Формат вывода
Ответ должен содержать одно из слов: Underweight, Normal, Overweight, Obesity.
Пример 1
Ввод | Вывод |
80 173 | Overweight |
Пример 2
Ввод | Вывод |
55 158 | Normal |
Дана карта лабиринта в виде набора строк. Реализуйте функцию определяющую все выходы из лабиринта доступные игроку из заданной позиции. Игрок может перемещаться только вверх, вниз, вправо, влево.
С++:
xxxxxxxxxx
std::string maze[25] = {
"####B######################",
"# # # # # #",
"# # # ###### #### ####### #",
"# # # # # # #",
"# # # ######### # ##### #",
"# # # # # # # #",
"### ### ### ############# #",
"# # # # # #",
"# # # ####### ###########",
"# # # # # # C",
"# # ##### ### # # ####### #",
"# # # ### # # # #",
"# ##### ### # ######### #",
"######### ### # #",
"# ####### ### #############",
"A # ### # #",
"# ############# ### # # # #",
"# ### # # ### # # # #",
"# ######### # # ### # # # F",
"# ### # # # # # #",
"# ######### # ##### # # # #",
"# ####### # # # #",
"# ####### ######### #######",
"# ######### #",
"#######E############D######"
};
Python:
xxxxxxxxxx
maze = [
"####B######################",
"# # # # # #",
"# # # ###### #### ####### #",
"# # # # # # #",
"# # # ######### # ##### #",
"# # # # # # # #",
"### ### ### ############# #",
"# # # # # #",
"# # # ####### ###########",
"# # # # # # C",
"# # ##### ### # # ####### #",
"# # # ### # # # #",
"# ##### ### # ######### #",
"######### ### # #",
"# ####### ### #############",
"A # ### # #",
"# ############# ### # # # #",
"# ### # # ### # # # #",
"# ######### # # ### # # # F",
"# ### # # # # # #",
"# ######### # ##### # # # #",
"# ####### # # # #",
"# ####### ######### #######",
"# ######### #",
"#######E############D######"
]
Символом #
отмечена стена лабиринта. Игрок не может перейти на клетку со стеной. Символами от A
до Z
обозначены выходы из лабиринта. Пробельный символ — пустое пространство, игрок может свободно перемещаться. Внешняя граница лабиринта может быть либо стеной, либо выходом.
Делайте как Ник [ видео ]
Формат ввода
В единственной строке входных данных указаны координаты игрока двумя целыми числами разделённые пробелом. Первое число — индекс столбца (индекс столбца начинается от нуля и увеличивается слева направо), второе число — индекс строки (индекс строки начинается от нуля и увеличивается сверху вниз).
Формат вывода
В одной строке вывести список доступных игроку выходов через пробел. Если нет ни одного выхода, вывести сообщение: «Выхода нет». Если координаты указаны за пределами лабиринта или совпадают со стеной, вывести сообщение: «Не верные координаты».
Пример 1
Ввод | Вывод |
0 0 | Не верные координаты |
Пример 2
Ввод | Вывод |
1 14 | A B E D F |