| | | |
|
Задание 1
Задачи на процедуры и функции
Дополните функцию f(n) таким образом, чтобы программа выводила на экран число 20.
| |
|
|
Задание 2
Задачи на процедуры и функции
Дополните функцию f(n) таким образом, чтобы программа выводила на экран число 13.
| |
|
|
Задание 3
Задачи на процедуры и функции
Дополните функцию f(n) таким образом, чтобы программа выводила на экран две строки со значениями
100
100
Запрещено создавать новые переменные!
| |
|
|
Задание 4
Задачи на процедуры и функции
Дополните функцию f1(n) таким образом, чтобы программа выводила на экран число 119.
| |
|
|
Задание 5
Задачи на процедуры и функции
Дополните функции f1(n) и f2(n) таким образом, чтобы программа выводила на экран число 29.
| |
|
|
Задание 6
Задачи на процедуры и функции
Программа должна вывести на экран число 75.
Оформите вызов процедуры f1(a, b) в программе.
| |
|
|
Сумма дробей
Задачи на процедуры и функции
Программа вычисляет значение выражения
\(ans = {2 + \sqrt{2} \over {5 + \sqrt{5}}} + {5 + \sqrt{5} \over {13 + \sqrt{13}}}+{13 + \sqrt{13} \over {8 + \sqrt{8}}}\).
Для вычисления используется функция drop(a, b), которая вычисляет значение одного слагаемого.
Запишите пропущенную строку в этой функции.
| |
|
|
Количество счастливых шестизначных
Задачи на процедуры и функции
Определите количество шестизначных «счастливых» чисел. «Счастливым» будем называть такое шестизначное число, в котором сумма его первых трех цифр равна сумме его последних трех цифр.
Заполните пропуски в программе.
Функция sum3(n) вычисляет сумму цифр трехзначного числа.
Функция happy(n) определяет является ли число n счастливым. Функция happy(n) для своей работы использует функцию sum3(n).
| |
|
|
Замена букв, исключая первую и последнюю
Задачи на процедуры и функции
Программа заменяет в строке s все буквы 'h' на 'H', кроме первого и последнего вхождения. Вставьте пропущенные строки.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
In the hole in the ground there lived a hobbit |
In the Hole in tHe ground tHere lived a hobbit |
| |
|
|
Строки с гласными и согласными
Задачи на процедуры и функции
Строки
Символы
Напишите функцию vowels_count, которая принимает строку и подсчитывает количество английских гласных в ней.
Английские гласные буквы: a, e, i, o, u, y.
Используя данную функцию, определите две строки:
s1 - строку с самым большим числом гласных букв (если таких строк несколько, взять ту, которая встретится раньше).
s2 - строку с самым маленьким числом согласных букв (если таких строк несколько, взять ту, которая встретится раньше).
Входные данные
В первой строке подается натуральное число n (1 < n <= 10) - количество строк. Далее идут n строк. Каждая строка состоит из английских маленьких букв и пробелов.
Выходные данные
Выведите на экран две строки: сначала строку s1, затем, с новой строки - s2. Наименьшую из данных строк выровняйте по длине с наибольшей, добавив слева строки символы '*'.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
4
mama papa
doughter son
brother sister
grandmama grandpa |
grandmama grandpa
********mama papa |
| |
|
|
Вычислите значение многочлена - 1.
Задачи на процедуры и функции
Арифметические алгоритмы (Теория чисел)
Вычислите значение многочлена вида: anxn+an-1xn-1+...+a1x+a0 по значениям коэффициентов и значению аргумента.
Входные данные:
1 строка - число N (0<=N<=10000) - степень многочлена
2 строка - N+1 целое число разделенные пробелом - коэффициенты многочлена an,an-1,...,a1,a0
3 строка - натуральное число K - количество значений аргументов (K<=106), для которых надо вычислить значение многочлена
В следующих K строках даны значения аргумента - вещественные числа
Выходные данные:
Вычислите значения многочлена для заданных аргументов. В качестве ответа выведите:
- в 1 строке - аргумент, при котором многочлен принимает минимальное значение. Если таких значений несколько, то выведите минимальное из значений.
- в 2 строке - значение многочлена для аргумента из 1-й строки. Значение округлите до 0,0000001
| ВХОДНЫЕ ДАННЫЕ |
ВЫХОДНЫЕ ДАННЫЕ |
2
1 0 0
4
9.0
-11.0
-9.0
16.0 |
-9.0
81.0 |
10
7 -7 -4 3 -6 -9 -7 4 0 -9 8
2
0.01
0.0
|
0.01
7.9100039
|
| |
|
|
Пиксельный экран
Процедуры и функции
Задачи на процедуры и функции
Пиксельный экран выводит каждую цифру в виде картинки 3х5.
| 1 |
2 |
3 |
4 |
5 |
*
*
*
*
*
|
***
*
***
*
***
|
***
*
***
*
***
|
* *
* *
***
*
*
|
***
*
***
*
***
|
| 6 |
7 |
8 |
9 |
0 |
***
*
***
* *
***
|
***
*
*
*
*
|
***
* *
***
* *
***
|
***
* *
***
*
***
|
***
* *
* *
* *
***
|
На вход программе подается натуральное число n (n <= 109).
Выведите это число в виде картинки на пиксельном экране. Каждую цифру выводите с новой строки. Порядок цифр должен соответствовать порядку цифр в исходном числе (то есть сначала выводится первая цифры, затем - вторая и т. д.). Если после звездочки (*) в строке больше ничего нет, то пробелы выводить не нужно.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
12 |
*
*
*
*
*
***
*
***
*
***
|
| |
|
|
Минимальный простой делитель
Процедуры и функции
Задачи на процедуры и функции
Алиса знает, что если у числа n нет делителя, не превосходящего\(\sqrt n\), то число n - простое и его минимальным простым делителем будет само число n. Вас попросили написать программу, которая будет находить минимальный простой делитель у любого числа.
Решение оформите с использованием функций. Напишите следующие функции:
- функцию isPrime(n), которая будет принимать целое число и возвращать True, если число простое и False - если не простое.
- функцию minDivisor(n), которая будет возвращать минимальный простой делитель.
Основная программа должна содержать ввод числа, вызов функции minDivisor(n) и вывод ответа.
Входные данные
Программа получает на вход натуральное число n > 1.
Выходные данные
Выведите ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
4 |
2 |
| 2 |
5 |
5 |
| |
|
|
Код доступа
Процедуры и функции
Задачи на процедуры и функции
Алиса решила, что нужно поставить код доступа к управлению кораблем. Она считает, что код доступа должен иметь вид a:b:c, где a, b и c - натуральные числа. Причем, число a должно быть простым, число b - являться палиндромом, а число c - чётным. Капитан Зелёный придумал код.
Вам поручили задание написать программу, которая бы выводила True, если придуманный код доступа соответствует правилам и False - если не соответствует. Чтобы вашу программу можно было применять для других проверок, капитан просит вас оформить программу, с использованием трех функций:
- isPrime(n) - функция, которая определяет является число n простым или нет;
- isPalindrome(n) - функция, которая определяет является ли число n палиндромом;
- isEven(n) - функция, которая определяет является ли число n четным.
Все проверки числа на простоту, палиндром и четность необходимо осуществлять только с использованием данных функций!
Входные данные
Программа получает на вход одну строку - код доступа, который придумал капитан Зелёный.
Выходные данные
Выведите True, если код доступа соответствует правилам Алисы, в противном случае выведите False.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7:101:14 |
True |
| 2 |
101:101:101 |
False |
| 3 |
qwerty |
False |
| |
|
|
Степень
Задачи на процедуры и функции
Напишите функцию double power (double a, int n) (C/C++), function power (a:real; n:longint): real (Pascal), вычисляющую значение an.
Входные данные
Вводится 2 числа - a (вещественное) и n (целое неотрицательное).
Выходные данные
Необходимо вывести значение an.
| |
|
|
Исключающее ИЛИ
Логический тип
Задачи на процедуры и функции
Напишите функцию
bool Xor (bool x, bool y) (C/C++),
function _Xor (x, y:boolean): boolean (Pascal),
def xor(x, y):(Python)
реализующую функцию "Исключающее ИЛИ" двух логических переменных x и y. Функция Xor должна возвращать true, если ровно один из ее аргументов x или y, но не оба одновременно равны true.
Входные данные
Вводится 2 числа - x и y (x и y равны 0 или 1, 0 соответствует значению false, 1 соответствует значению true).
Выходные данные
Необходимо вывести 0 или 1 - значение функции от x и y.
| |
|
|
Голосование
Логический тип
Задачи на процедуры и функции
Напишите "функцию голосования" bool Election(bool x, bool y, bool z) (C/C++), function Election (x, y, z:boolean): boolean (Pascal), возвращающую то значение (true или false), которое среди значений ее аргументов x, y, z встречается чаще.
Входные данные
Вводится 3 числа - x, y и z (x, y и z равны 0 или 1, 0 соответствует значению false, 1 соответствует значению true).
Выходные данные
Необходимо вывести значение функции от x, y и z.
| |
|
|
Быстрое возведение в степень
Рекурсия
Задачи на процедуры и функции
Напишите функцию быстрого возведения в степень. Количество действий должно быть пропорционально двоичному логарифму n.
Входные данные
Вводится 2 числа - a (вещественное) и n (целое неотрицательное).
Выходные данные
Необходимо вывести значение an.
| |
|
|
Вычислите значение многочлена - 1. - Копия
Задачи на процедуры и функции
Арифметические алгоритмы (Теория чисел)
Вычислите значение многочлена вида: anxn+an-1xn-1+...+a1x+a0 по значениям коэффициентов и значению аргумента.
Входные данные:
1 строка - число N (0<=N<=10000) - степень многочлена
2 строка - N+1 целое число разделенные пробелом - коэффициенты многочлена an,an-1,...,a1,a0
3 строка - натуральное число K - количество значений аргументов (K<=106), для которых надо вычислить значение многочлена
В следующих K строках даны значения аргумента - вещественные числа
Выходные данные:
Вычислите значения многочлена для заданных аргументов. В качестве ответа выведите:
- в 1 строке - аргумент, при котором многочлен принимает минимальное значение. Если таких значений несколько, то выведите минимальное из значений.
- в 2 строке - значение многочлена для аргумента из 1-й строки. Значение округлите до 0,0000001
| ВХОДНЫЕ ДАННЫЕ |
ВЫХОДНЫЕ ДАННЫЕ |
2
1 0 0
4
9.0
-11.0
-9.0
16.0 |
-9.0
81.0 |
10
7 -7 -4 3 -6 -9 -7 4 0 -9 8
2
0.01
0.0
|
0.01
7.9100039
|
| |
|
|
Что такое функция в контексте программирования на C++?
Задачи на процедуры и функции
Что такое функция в контексте программирования на C++?
1. Набор операторов, выполняемых случайным образом.
2. Повторно используемая последовательность операторов, предназначенная для выполнения определенной работы.
3. Уникальный набор операторов, который можно использовать только один раз.
4. Способ хранения данных в памяти программы.
5. Команда для завершения работы программы.
6. Механизм для создания графического интерфейса.
| |
|
|
42899
Задачи на процедуры и функции
Как называется переменная, которая создается внутри функции?
1) глобальная переменная
2) локальная переменная
3) нельзя создавать переменные внутри функции
4) параметр
| |
|
|
38459
Задачи на процедуры и функции
Правильный способ определения конструктора данного класса при создании объектов классов:
maths s1 = new maths();
maths s2 = new maths(5, 5.4f);
A)
public maths(int pp, single tt)
{
p = pp;
t = tt;
}
B) sample s;
C)
public sample()
{
p = 0;
t = 0.0f;
}
public sample(int pp, single tt)
{
p = pp;
t = tt;
}
D) s = new sample();
| |
|
|
23433
Задачи на процедуры и функции
Что означает служебное слово var?
1. начало программы
2. тело программы
3. раздел описания констант
4. раздел описания переменных
| |
|
|
1859
Задачи на процедуры и функции
Программа, предназначенная для решения какой-то конкретной частной задачи и к которой обращаются из другой программы называется
1) модуль
2) функция
3) подпрограмма
4) нет правильного ответа
| |
|
|
1858
Задачи на процедуры и функции
Определите какие величины являются результатом работы подпрограммы в следующем заголовке
void kvadr(float a, float b, float c, float &x1, float &x2, string &y)
1) x1, x2
2) y
3) a, b, c
4) x1, x2, y
| |
|
|
1857
Задачи на процедуры и функции
Определите, какой заголовок подпрограммы-функции записан правильно
1) funсtion nod(x,y) int
2) int nod(x,y)
3) int nod(int x, int y)
4) nod(int x,y)
| |
|
|
1856
Задачи на процедуры и функции
Фактические параметры записываются
1) после описания типа переменной
2) в заголовке подпрограммы-функции
3) в заголовке подпрограммы-процедуры
4) в команде вызова подпрограммы
| |
|
|
1854
Задачи на процедуры и функции
Величины, описанные в подпрограмме называют
1) глобальные
2) формальные
3) фактические
4) локальные
| |
|
|
1853
Задачи на процедуры и функции
Подпрограмма-функция возвращает в основную программу
1) единственное значение
2) несколько значений
3)0 значений
4) все варианты правильные
| |
|
|
Улица с домами
Задачи на процедуры и функции

Часть 1: Функция «Здание»
Напиши функцию building(width, height, floors, color), которая рисует здание с окнами.
Параметры функции:
width — ширина здания
height — высота здания
floors — количество этажей (рядов окон)
color — цвет здания
Как выглядит здание
┌────────────┐
│ ■■ ■■ │ ← этаж 3
│ ■■ ■■ │ ← этаж 2
│ ■■ ■■ │ ← этаж 1
└────────────┘
↑
черепашка начинает тут (левый нижний угол)
Шаг 1: Запоминаем начальную позицию
Перед рисованием сохрани координаты черепашки:
base_x = xcor()
base_y = ycor()
Шаг 2: Рисуем здание
Закрашенный прямоугольник размером width × height цвета color.
Шаг 3: Вычисляем размер окон
window_width = width / 5
window_height = height / (floors * 2)
Шаг 4: Рисуем окна
На каждом этаже по 2 окна. Используйте данный фрагмент для рисования окон, добавив нужные строки
# floor — номер этажа (0, 1, 2...), window — номер окна на этаже (0 или 1).
# Рисуем окна по этажам
for floor in range(floors): # проходим по этажам
for window in range(2): # проходим по окошкам на этаже
# Определяем позицию окна
x = base_x + width / 6 + window * (width / 2)
y = base_y + window_height / 2 + floor * (height / floors)
# Переходим к окну (в точку (x, y))
# Этот код напишите сами!
# не забудьте поднять перо перед переходом в точку и после перехода опустить
# Рисуем жёлтое окно
fillcolor("yellow")
begin_fill()
# напишите код рисования квадрата со стороной window_width
end_fill()
В конце функции поднимите перо черепашки! Протестируйте функцию на одном здании! Затем приступайте к части 2.
### Схема расположения окон
┌─────────────────────────┐
│ │
│ ■■ ■■ │ floor = 1
│ │
│ ■■ ■■ │ floor = 0
│ │ │ │
└───│─────────────│───────┘
↑ │ │
base_x │ └── base_x + width/6 + width/2
│
└── base_x + width/6
Часть 2: Рисуем улицу
После функции напиши основную программу, которая рисует улицу с четырьмя зданиями в ряд.
Создай четыре списки по таблице ниже и используй их при рисовании улицы.
| i |
widths[i] |
heights[i] |
floors_list[i] |
colors[i] |
| 0 |
60 |
120 |
4 |
"gray" |
| 1 |
100 |
80 |
2 |
"beige" |
| 2 |
50 |
150 |
5 |
"lightblue" |
| 3 |
80 |
100 |
3 |
"pink" |
Первое здание начните рисовать с точки (-300, -200)
После рисования одного здания изменяйте положение Черепашки по оси x:
x = x + widths[i] + 10
| |
|
|
Гирлянда
Задачи на процедуры и функции
Задача на реализацию

Часть 1
Напиши функцию lantern(size, c), которая рисует фонарик.
Параметры функции:
size — диаметр круга (число)
c — цвет фонарика (строка)
Порядок рисования
- Подвес — коричневый (
"brown") закрашенный прямоугольник:
- Круг — закрашенный круг под подвесом:
- цвет: параметр
c
- диаметр: параметр
size
- круг рисуется так, чтобы он был по центру подвеса
Часть 2
После функции напиши основную программу, которая рисует гирлянду из 6 фонариков в ряд.
Должна получиться гирлянда из 6 разноцветных фонариков разного размера. Порядок следования фонариков следуюший:
красн жёлт зелён красн жёлт зелён
40 35 45 35 40 35
Первый фонарик рисуется из точки (0, 0), каждый следующий сдвигается по оси х на 50 вправо.
Пример вызова
lantern(50, "red") # красный фонарик диаметром 50
lantern(30, "yellow") # жёлтый фонарик диаметром 30
Подсказки
- Используй
begin_fill() и end_fill() для заливки
- Для круга используй
circle(-size/2) — минус нужен, чтобы круг рисовался справа от черепашки
- Не забудь поднимать и опускать перо (
pu(), pd()) в нужных местах
| |
|
|
Класс Самолет
Задачи на процедуры и функции
На проверку сдается код, содержащий только описание классов!
Объявите базовый класс Aircraft (самолет), объекты которого создаются командой:
air = Aircraft(model, mass, speed, top)
где __model - модель самолета (строка, private); _mass - подъемная масса самолета (любое положительное число, protected ); _speed - максимальная скорость (любое положительное число, protected); _top - максимальная высота полета (любое положительное число, protected).
В каждом объекте класса Aircraft должны создаваться локальные атрибуты с именами: __model, _mass, _speed, _top и соответствующими значениями. Если передаваемые аргументы не соответствуют указанным критериям (строка, любое положительное число), то генерируется исключение командой:
raise TypeError('неверный тип аргумента')
Изменение и считывание значений атрибута __model должна осуществляться по имени (obj.model = ..., print(obj.model)
Далее, в программе объявите следующие дочерние классы:
PassengerAircraft - пассажирский самолет;
WarPlane - военный самолет.
Объекты этих классов создаются командами:
pa = PassengerAircraft(model, mass, speed, top, chairs)
# chairs - число пассажирских мест (целое положительное число)
wp = WarPlane(model, mass, speed, top, weapons)
# weapons - вооружение (словарь); ключи - название оружия, значение - количество
В каждом объекте классов PassengerAircraft и WarPlane должны формироваться локальные атрибуты с именами _chairs (protected) и _weapons (protected) соответственно. Инициализация остальных атрибутов должна выполняться через инициализатор базового класса.
В инициализаторах классов PassengerAircraft и WarPlane проверять корректность передаваемых аргументов chairs и weapons. Если тип данных не совпадает, то генерировать исключение командой:
raise TypeError('неверный тип аргумента')
Пример создания объектов
pa1 = PassengerAircraft('МС-21', 1250, 8000, 12000.5, 140)
pa2 = PassengerAircraft('SuperJet', 1145, 8640, 11034, 80)
wp1 = WarPlane('Миг-35', 7034, 25000, 2000, {"ракета": 4, "бомба": 10})
wp2 = WarPlane('Су-35', 7034, 34000, 2400, {"ракета": 4, "бомба": 7})
| |
|
|
Список чисел
Задача на реализацию
Задачи на процедуры и функции
На проверку сдается код, содержащий только описание класса.
Объявите класс с именем ListMath, объекты которого можно создавать командами:
lst1 = ListMath() # должен создаваться пустой список
lst2 = ListMath([1, 2, -5, 7.68]) # список с начальными значениями
В качестве значений элементов списка объекты класса ListMath должны отбирать только целые и вещественные числа, остальные игнорировать (если указываются в списке). Например:
lst = ListMath([1, "abc", -5, 7.68, True]) # ListMath: [1, -5, 7.68]
В каждом объекте класса ListMath должен быть публичный атрибут:
lst_math - ссылка на текущий список объекта (для каждого объекта создается свой список).
Также с объектами класса ListMath должны работать следующие операторы:
lst = lst + 76 # сложение каждого числа списка с определенным числом
lst = 6.5 + lst # сложение каждого числа списка с определенным числом
Команда print(lst1) - в скобка указывается объект класса - должна выводить элементы массива в одной строку, разделяя элементы одним пробелом. В случае если список не содержит элементов, должна выводиться надпись Cписок пуст.
lst1 = ListMath()
print(lst1) # Список пуст
lst2 = ListMath([1, "abc", -5, 7.68, True])
print(lst2) # 1 -5 7.68
| |
|
|
Класс Мебель
Задачи на процедуры и функции
Объявите класс Furniture (мебель), объекты которого создаются командой:
f = Furniture(name, weight)
где name - название предмета (строка); weight - вес предмета (целое число).
В каждом объекте класса Furniture должны создаваться защищенные локальные атрибуты с именами __name и __weight. В самом классе Furniture нужно объявить приватные методы:
__verify_name() - для проверки корректности имени;
__verify_weight() - для проверки корректности веса.
Метод __verify_name() проверяет, что имя должно быть строкой, если это не так, то генерируется исключение командой:
raise TypeError('название должно быть строкой')
Метод __verify_weight() проверяет, что вес должен быть положительным числом (строго больше нуля), если это не так, то генерируется исключение командой:
raise TypeError('вес должен быть положительным числом')
Данные методы следует вызывать всякий раз при записи новых значений в атрибуты __name и __weight (а также при их создании).
Установка и считывание значений атрибутов должны происходить по их имени следующим образом (через соответствующие сеттеры и геттеры):
obj.name = value
obj.weight = value
На основе базового класса Furniture объявить следующие дочерние классы:
Closet - для представления шкафов;
Chair - для представления стульев;
Table - для представления столов.
Объекты этих классов должны создаваться командами:
obj = Closet(name, weight, tp, doors)
# tp: True - шкаф-купе; False - обычный шкаф; doors - число дверей (целое число)
obj = Chair(name, weight, height)
# height - высота стула (любое положительное число)
obj = Table(name, weight, height, square)
# height - высота стола; square - площадь поверхности (любые положительные числа)
В каждом объекте этих классов должны создаваться соответствующие защищенные атрибуты:
- в объектах класса Closet: __name, __weight, __tp, __doors
- в объектах класса Chair: __name, __weight, __height
- в объектах класса Table: __name, __weight, __height, __square
Атрибуты __name и __weight должны инициализироваться через базовый класс. Все атрибуты должны быть приватными, считываться и устанавливаться через геттеры и сеттеры. Доступ ко всем атрибутам должен производиться по их имени (см описание в базовом классе)
В каждом классе (Closet, Chair, Table) объявить метод: get_attrs(), который возвращает кортеж из значений локальных защищенных атрибутов объектов этих классов.
При печати объекта каждого класса должна выводиться строка:
Объект: <перечисление значений всех атрибутов через запятую и один пробел>
Например:
Table: стол, 34, 75, 10
В программе нужно объявить только классы. На экран выводить ничего не нужно.
| |
|
|
Локальные и глобальные переменные
Задачи на процедуры и функции
Цикл for
Задача на реализацию
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n
Основная программа должна содержать ввод значения переменной n и вызов процедуры
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 |
o
ooo
ooooo
ooooooo
ooooooooo
|
| |
|
|
Локальные и глобальные переменные
Задачи на процедуры и функции
Цикл for
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n. Основная программа должна содержать ввод значения переменной n и вызов процедуры.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 |
o
ooo
ooooo
ooooooo
ooooooooo
|
| |
|
|
Локальные и глобальные переменные
Задачи на процедуры и функции
Цикл for
Задача на реализацию
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n
Основная программа должна содержать ввод значения переменной n и вызов процедуры
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 |
o
ooo
ooooo
ooooooo
ooooooooo
|
| |
|
|
Локальные и глобальные переменные
Задачи на процедуры и функции
Цикл for
Задача на реализацию
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n.
Основная программа должна содержать ввод значения переменной n и вызов процедуры.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 |
o
ooo
ooooo
ooooooo
ooooooooo
|
| |
|
|
Дружественные числа
Задачи на процедуры и функции
Остатки
Дружественные числа -– это два натуральных числа, таких, что сумма всех делителей одного числа (меньших самого этого числа) равна другому числу, и наоборот. Напишите программу, которая проверяет пару чисел на "дружественность". Используйте функцию, которая вычисляет сумму делителей числа.
Входные данные: Входная строка содержит два натуральных числа.
Выходные данные: Программа должна вывести слово 'YES', если полученные числа – дружественные, и слово 'NO' в противном случае.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
220 284 |
YES |
| 2 |
1210 1092 |
NO |
| |
|
|
Локальные и глобальные переменные
Цикл for
Задачи на процедуры и функции
Строки
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n. Основная программа должна содержать ввод значения переменной n и вызов процедуры.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 |
o
ooo
ooooo
ooooooo
ooooooooo
|
| |
|
|
Число сочетаний
Рекурсия
Задачи на процедуры и функции
Комбинаторика
По данным числам n и k (0<=k<=n) вычислите \(С_n^k\) . Для решения используйте рекуррентное соотношение \(C_n^k=C_{n-1}^{k-1}+C_{n-1}^k\).
Решение оформите в виде функции C(n, k).
Входные данные: Вводятся целые числа n и k.
Выходные данные: Выведите ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
4
2 |
6 |
| |
|
|
Число с максимальной суммой делителей
Задачи на процедуры и функции
Алгоритмы обработки
Линейные алгоритмы
Напишите функцию, вычисляющую сумму делителей числа
Используя данную функцию, напишите программу, которая среди n натуральных чисел, вводимых с клавиатуры, выводит на экран число с максимальным суммой делителей
Входные данные:
в первой строке вводится число n - количестве чисел (n<=100),
далее идут n строк по одному натуральному числу в строке
Выходные данные:
программа должна вывести одно число, в котором сумма делителей числа максимальна среди всех чисел, если таких чисел несколько, то необходимо вывести число, которое встретилось в последовательности раньше
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию!).
Пример
|
Ввод
|
Вывод
|
|
5
2
5
59
72
34
|
72 |
2
78
81 |
78
|
| |
|
|
Число с максимальным количеством делителей
Задачи на процедуры и функции
Алгоритмы обработки
Простые числа и разложение на множители
Напишите функцию, вычисляющую количество делителей числа
Используя данную функцию, напишите программу, которая среди n натуральных чисел, вводимых с клавиатуры, выводит на экран число с максимальным количеством делителей
Входные данные:
в первой строке вводится число n - количестве чисел (n<=100),
далее идут n строк по одному натуральному числу в строке
Выходные данные:
программа должна вывести одно число, в котором количество делителей максимально среди всех чисел, если таких чисел несколько, то необходимо вывести число, которое встретилось в последовательности раньше
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию!).
Пример
|
Ввод
|
Вывод
|
|
5
22790
94
66
18
18
|
22790 |
|
2
21
46
|
21
|
| |
|
|
Число с максимальной первой цифрой
Задачи на процедуры и функции
Алгоритмы обработки
Напишите функцию, вычисляющую первую цифру числа
Используя данную функцию, напишите программу, которая среди n натуральных чисел, вводимых с клавиатуры, выводит на экран число с максимальной первой цифрой
Входные данные:
в первой строке вводится число n - количестве чисел (n<=100)
далее идут n строк по одному натуральному числу в строке
Выходные данные:
программа должна вывести одно число, у которого первая цифра максимальна среди всех чисел, если таких чисел несколько, то необходимо вывести число, которое встретилось в последовательности раньше
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию!).
Пример
|
Ввод
|
Вывод
|
5
43
22
11
56
10 |
56 |
2
14
22 |
22
|
| |
|
|
Число с максимальной суммой цифр
Задачи на процедуры и функции
Алгоритмы обработки
Напишите функцию, вычисляющую сумму цифр числа
Используя данную функцию, напишите программу, которая среди n натуральных чисел, вводимых с клавиатуры, выводит на экран число с максимальной суммой цифр
Входные данные:
в первой строке вводится число n - количестве чисел (n<=100),
далее идут n строк по одному натуральному числу в строке
Выходные данные:
программа должна вывести одно число, в котором сумма цифр максимальна среди всех чисел
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию!).
Пример
|
Ввод
|
Вывод
|
5
43
22
11
56
10 |
56 |
2
34
12 |
34 |
| |
|
|
Кратность 11
Задачи на процедуры и функции
Задача на реализацию
Для делимости числа на 11, необходимо, чтобы разность между суммой цифр, стоящих на четных местах, и суммой цифр, стоящих на нечетных местах, делилась на 11.
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 11.
Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of 11, если число кратно 11 и фразу not multiple of 11, если число не кратно 11
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).
Пример
|
Ввод
|
Вывод
|
|
1 |
not multiple of 11 |
|
11 |
multiple of 11 |
| |
|
|
Кратность 9
Задачи на процедуры и функции
Условный оператор
Для делимости числа на 9, требуется, чтобы сумма цифр числа делилась на 9.
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 9.
Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of 9, если число кратно 9 и фразу not multiple of 9, если число не кратно 9
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).
Пример
|
Ввод
|
Вывод
|
|
3 |
not multiple of 9 |
|
9 |
multiple of 9 |
| |
|
|
Кратность 8
Задачи на процедуры и функции
Вычисление по заданной формуле
Для делимости числа на 8, необходимо, чтобы число из трех последних цифр делилось на 8.
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 8.
Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of 8, если число кратно 8 и фразу not multiple of 8, если число не кратно 8
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).
Пример
|
Ввод
|
Вывод
|
| 3 |
not multiple of 8 |
| 8 |
multiple of 8 |
| |
|
|
Кратность 5
Задачи на процедуры и функции
Условный оператор
Для делимости числа на 5, необходимо, чтобы последняя цифра числа было 0 или 5.
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 5.
Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of 5, если число кратно 5 и фразу not multiple of 5, если число не кратно 5
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).
Пример
|
Ввод
|
Вывод
|
|
3 |
not multiple of 5 |
|
5 |
multiple of 5
|
| |
|
|
Кратность 4
Задачи на процедуры и функции
Условный оператор
Для делимости числа на 4, необходимо, чтобы число из последних двух цифр делилось на 4.
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 4.
Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of 4, если число кратно 4 и фразу not multiple of 4, если число не кратно четырем
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).
Пример
|
Ввод
|
Вывод
|
|
3 |
not multiple of 4 |
|
4 |
multiple of 4 |
| |
|
|
Кратность 3
Задачи на процедуры и функции
Условный оператор
Для делимости числа на 3, требуется, чтобы сумма цифр числа делилась на 3.
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 3.
Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of 3, если число кратно 3 и фразу not multiple of 3, если число не кратно трем
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).
Пример
|
Ввод
|
Вывод
|
|
3 |
multiple of 3 |
|
4 |
not multiple of 3 |
| |
|
|
Площадь равнобедренной трапеции
Задачи на процедуры и функции
Вычисление по заданной формуле
Оформите подпрограмму для расчета площади равнобедренной трапеции по ее основаниям и высоте. Составьте программу определяющую сумму площадей двух трапеций, используя созданную подпрограмму.
Входные данные
Во входной строке содержится шесть целых числа: два основания и высота первой трапеции, затем два основания и высота второй трапеции.
Выходные данные
Программа должна вывести на экран одно число - сумму площадей данных трапеций.
Пример
| № |
Входные данные |
Выходные данные |
| 1 |
7 8 4 1 5 3 |
39.000000 |
| |
|
|
15817
Задачи на процедуры и функции
Линейные алгоритмы
Составьте процедуру, осуществляющую обмен значей двух переменных величин. Используя данную процедуру, напишите программу, в результате которой величина a меняется с величиной b, а величина c - с величиной d.
Входные данные
Во входной строке содержится четыре целых числа: a, b, c, d.
Выходные данные
Программа должна вывести на экран четыре целых числа после перестановки: a, b, c, d.
Примеры
| |
|
|
Минимум из четырех
Задачи на процедуры и функции
Алгоритмы обработки
Напишите функцию, которая находит минимум из 4х чисел.
Используя данную функцию, напишите программу, которая запрашивает у пользователя 4 натуральных числа (n<=100000) и выводит на экран минимальное из них
Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).
Пример
|
Ввод
|
Вывод
|
|
1 2 3 4 |
1 |
|
5 3 7 9 |
3 |
| |
|
|
12479
Задачи на процедуры и функции
Вывод формулы
Вычисление по заданной формуле
Оформить подпрограмму для расчета периметра и площади треугольника по его сторонам.
Используя данную подпрограмму, напишите программу, которая по известным сторонам двух треугольников находит сумму их периметров и сумму их площадей.
Входные данные
На вход программе подается 6 целых чисел, не превышающих 100: стороны первого и второго треугольника.
Выходные данные
Вывести через пробел значения суммы их периметров и суммы их площадей (сумму площадей ввыводить с точностью до 4-х знаков после запятой).
Пример
входные данные
4 5 6 4 5 6
выходные данные
30 19.8431
| |
|
|
12475
Задачи на процедуры и функции
Условный оператор
Цикл for
Ваша задача, в приведенной ниже программе, заполнить пропущенные участки. Вы можете использовать только те переменные, которые описаны.
Цель - создать программу, которая скомпилируется, запустится и выведет приведенный ниже текст.
Результат:
 |
#include<iostream>
using namespace std;
void ______(){
cout<<"Haalloooo"<<endl;
}
int main()
{
int e1=0, e2=0, x=0;
while(_______){
hello();
____________
if(_____){
e2++;
}
if(_____){
e2+=e1;
}
x++;
}
cout<<e2;
return 0;
}
|
Редактировать можно только пропущенные участки.
Количество баллов за задачу уточняется после ручной проверки!
| |
|