Практикум по программированию. Основы. Циклы
(Created page with "<div style='max-width:700px;text-align:justify;'> Назад | [[Практик...") |
|||
Line 1: | Line 1: | ||
<div style='max-width:700px;text-align:justify;'> | <div style='max-width:700px;text-align:justify;'> | ||
− | [[Практикум по программированию. Основы. Ветвление|Назад]] | + | [[Практикум по программированию. Основы. Ветвление|Назад]] · |
+ | [[Практикум по программированию. Основы|Оглавление]] · | ||
+ | [[Практикум по программированию. Основы. Массивы|Дальше]] | ||
Line 8: | Line 10: | ||
1<sup>2</sup> + 2<sup>2</sup> + 3<sup>2</sup> + ... + N<sup>2</sup> | 1<sup>2</sup> + 2<sup>2</sup> + 3<sup>2</sup> + ... + N<sup>2</sup> | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Сумма квадратов чисел|Java]] | + | [[Практикум по программированию. Основы. Циклы. Сумма квадратов чисел#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Сумма квадратов чисел|C++]] | + | [[Практикум по программированию. Основы. Циклы. Сумма квадратов чисел#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Сумма квадратов чисел|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Сумма квадратов чисел#Pascal|Pascal]] |
Line 16: | Line 18: | ||
Например: 6! = 1 * 2 * 3 * 4 * 5 * 6 = 720 | Например: 6! = 1 * 2 * 3 * 4 * 5 * 6 = 720 | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Факториал|Java]] | + | [[Практикум по программированию. Основы. Циклы. Факториал#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Факториал|C++]] | + | [[Практикум по программированию. Основы. Циклы. Факториал#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Факториал|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Факториал#Pascal|Pascal]] |
Line 25: | Line 27: | ||
далее, переходим к следующему Y = Y + 1 / i пока не выполнится условие Y > X | далее, переходим к следующему Y = Y + 1 / i пока не выполнится условие Y > X | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Поиск элементов ряда|Java]] | + | [[Практикум по программированию. Основы. Циклы. Поиск элементов ряда#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Поиск элементов ряда|C++]] | + | [[Практикум по программированию. Основы. Циклы. Поиск элементов ряда#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Поиск элементов ряда|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Поиск элементов ряда#Pascal|Pascal]] |
Line 35: | Line 37: | ||
Необходимо N - раз выполнить умножение A * A * A ... | Необходимо N - раз выполнить умножение A * A * A ... | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Возведение в степень|Java]] | + | [[Практикум по программированию. Основы. Циклы. Возведение в степень#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Возведение в степень|C++]] | + | [[Практикум по программированию. Основы. Циклы. Возведение в степень#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Возведение в степень|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Возведение в степень#Pascal|Pascal]] |
Line 45: | Line 47: | ||
в которой каждое число есть сумма двух предыдущих: 1, 1, 2, 3, 5, 8, ... | в которой каждое число есть сумма двух предыдущих: 1, 1, 2, 3, 5, 8, ... | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Число Фибоначчи|Java]] | + | [[Практикум по программированию. Основы. Циклы. Число Фибоначчи#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Число Фибоначчи|C++]] | + | [[Практикум по программированию. Основы. Циклы. Число Фибоначчи#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Число Фибоначчи|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Число Фибоначчи#Pascal|Pascal]] |
Line 56: | Line 58: | ||
- деление на нечетные числа 3, 5, 7, ... N / 2 | - деление на нечетные числа 3, 5, 7, ... N / 2 | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Простые числа|Java]] | + | [[Практикум по программированию. Основы. Циклы. Простые числа#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Простые числа|C++]] | + | [[Практикум по программированию. Основы. Циклы. Простые числа#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Простые числа|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Простые числа#Pascal|Pascal]] |
Line 69: | Line 71: | ||
НОК двух натуральных чисел равно произведению этих чисел, деленному на их НОД | НОК двух натуральных чисел равно произведению этих чисел, деленному на их НОД | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. НОД и НОК|Java]] | + | [[Практикум по программированию. Основы. Циклы. НОД и НОК#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. НОД и НОК|C++]] | + | [[Практикум по программированию. Основы. Циклы. НОД и НОК#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. НОД и НОК|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. НОД и НОК#Pascal|Pascal]] |
Line 77: | Line 79: | ||
Необходимо вывести на экран таблицу значений функции на заданном отрезке. | Необходимо вывести на экран таблицу значений функции на заданном отрезке. | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Табулирование функции|Java]] | + | [[Практикум по программированию. Основы. Циклы. Табулирование функции#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Табулирование функции|C++]] | + | [[Практикум по программированию. Основы. Циклы. Табулирование функции#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Табулирование функции|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Табулирование функции#Pascal|Pascal]] |
Line 90: | Line 92: | ||
Искомая площадь выражается суммой площадей всех прямоугольников. | Искомая площадь выражается суммой площадей всех прямоугольников. | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Метод левых прямоугольников|Java]] | + | [[Практикум по программированию. Основы. Циклы. Метод левых прямоугольников#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Метод левых прямоугольников|C++]] | + | [[Практикум по программированию. Основы. Циклы. Метод левых прямоугольников#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Метод левых прямоугольников|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Метод левых прямоугольников#Pascal|Pascal]] |
Line 102: | Line 104: | ||
Продолжаем до тех пор, пока длина отрезка не будет меньше 2 * E. | Продолжаем до тех пор, пока длина отрезка не будет меньше 2 * E. | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Корень уравнения|Java]] | + | [[Практикум по программированию. Основы. Циклы. Корень уравнения#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Корень уравнения|C++]] | + | [[Практикум по программированию. Основы. Циклы. Корень уравнения#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Корень уравнения|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Корень уравнения#Pascal|Pascal]] |
Line 114: | Line 116: | ||
- сколько единиц товара осталось. | - сколько единиц товара осталось. | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Автомат-продавец|Java]] | + | [[Практикум по программированию. Основы. Циклы. Автомат-продавец#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Автомат-продавец|C++]] | + | [[Практикум по программированию. Основы. Циклы. Автомат-продавец#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Автомат-продавец|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Автомат-продавец#Pascal|Pascal]] |
Line 126: | Line 128: | ||
0 - если не изучал никакой. | 0 - если не изучал никакой. | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Опрос группы|Java]] | + | [[Практикум по программированию. Основы. Циклы. Опрос группы#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Опрос группы|C++]] | + | [[Практикум по программированию. Основы. Циклы. Опрос группы#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Опрос группы|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Опрос группы#Pascal|Pascal]] |
Line 136: | Line 138: | ||
M = P * V | M = P * V | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Расчет масс деталей|Java]] | + | [[Практикум по программированию. Основы. Циклы. Расчет масс деталей#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Расчет масс деталей|C++]] | + | [[Практикум по программированию. Основы. Циклы. Расчет масс деталей#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Расчет масс деталей|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Расчет масс деталей#Pascal|Pascal]] |
Line 146: | Line 148: | ||
если сумма первых трех цифр равняется сумме последних трех цифр номера. | если сумма первых трех цифр равняется сумме последних трех цифр номера. | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Счастливые билеты|Java]] | + | [[Практикум по программированию. Основы. Циклы. Счастливые билеты#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Счастливые билеты|C++]] | + | [[Практикум по программированию. Основы. Циклы. Счастливые билеты#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Счастливые билеты|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Счастливые билеты#Pascal|Pascal]] |
Line 158: | Line 160: | ||
0 - прекратить обработку. | 0 - прекратить обработку. | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Площадь треугольника|Java]] | + | [[Практикум по программированию. Основы. Циклы. Площадь треугольника#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Площадь треугольника|C++]] | + | [[Практикум по программированию. Основы. Циклы. Площадь треугольника#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Площадь треугольника|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Площадь треугольника#Pascal|Pascal]] |
Line 168: | Line 170: | ||
Например: 6 = 1 + 2 + 3 - совершенное число | Например: 6 = 1 + 2 + 3 - совершенное число | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Совершенные числа|Java]] | + | [[Практикум по программированию. Основы. Циклы. Совершенные числа#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Совершенные числа|C++]] | + | [[Практикум по программированию. Основы. Циклы. Совершенные числа#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Совершенные числа|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Совершенные числа#Pascal|Pascal]] |
Line 180: | Line 182: | ||
- на следующих шагах называть числа Y = 11 - X | - на следующих шагах называть числа Y = 11 - X | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Игра в 100|Java]] | + | [[Практикум по программированию. Основы. Циклы. Игра в 100#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Игра в 100|C++]] | + | [[Практикум по программированию. Основы. Циклы. Игра в 100#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Игра в 100|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Игра в 100#Pascal|Pascal]] |
Line 190: | Line 192: | ||
Если S = I<sup>2</sup> + J<sup>2</sup> делится на 13 без остатка, значит это искомое число. | Если S = I<sup>2</sup> + J<sup>2</sup> делится на 13 без остатка, значит это искомое число. | ||
Решение: | Решение: | ||
− | [[Практикум по программированию. Основы. Циклы. Поиск двузначных чисел|Java]] | + | [[Практикум по программированию. Основы. Циклы. Поиск двузначных чисел#Java|Java]] · |
− | [[Практикум по программированию. Основы. Циклы. Поиск двузначных чисел|C++]] | + | [[Практикум по программированию. Основы. Циклы. Поиск двузначных чисел#C++|C++]] · |
− | [[Практикум по программированию. Основы. Циклы. Поиск двузначных чисел|Pascal]] | + | [[Практикум по программированию. Основы. Циклы. Поиск двузначных чисел#Pascal|Pascal]] |
---- | ---- | ||
− | [[Практикум по программированию. Основы. Ветвление|Назад]] | + | [[Практикум по программированию. Основы. Ветвление|Назад]] · |
+ | [[Практикум по программированию. Основы|Оглавление]] · | ||
+ | [[Практикум по программированию. Основы. Массивы|Дальше]] | ||
</div> | </div> |
Revision as of 20:29, 13 April 2015
Назад · Оглавление · Дальше
Циклы
1. Задан ряд чисел от 1 до N. Найти сумму квадратов этих чисел.
12 + 22 + 32 + ... + N2
2. Вычислить факториал натурального числа N.
Например: 6! = 1 * 2 * 3 * 4 * 5 * 6 = 720
3. Дано число X и последовательность: 1, 1 + 1/2, 1 + 1/2 + 1/3, ... Найти в этой последовательности первое число Y > X.
Первое число в последовательности Y = 1 далее, переходим к следующему Y = Y + 1 / i пока не выполнится условие Y > X
4. Написать программу возведения вещественного числа в степень с натуральным показателем.
AN, где A - вещественное; N - натуральное Например: 3.58 Необходимо N - раз выполнить умножение A * A * A ...
5. Найти число Фибоначчи с заданным номером.
В 1202 году, рассматривая задачу о размножении кроликов, Леонардо Фибоначчи получил последовательность чисел, в которой каждое число есть сумма двух предыдущих: 1, 1, 2, 3, 5, 8, ...
6. Определить, является ли заданное натуральное число N простым.
Простые числа делятся только на единицу и на себя. Сравните два алгоритма: - деление на все числа от 2 до N - 1; - деление на нечетные числа 3, 5, 7, ... N / 2
7. Найти наибольший общий делитель (НОД) и наименьшее общее кратное (НОК) двух натуральных чисел.
Поиск НОД: 1 - если числа равны, взять любое из них в качестве ответа; 2 - определить большее из чисел; 3 - заменить большее число разностью большего и меньшего; 4 – перейти к пункту 1. НОК двух натуральных чисел равно произведению этих чисел, деленному на их НОД
8. Табулирование функции Y = X2 + 1 на отрезке [A, B] с шагом H.
Необходимо вывести на экран таблицу значений функции на заданном отрезке.
9. Вычислить площадь фигуры под графиком функции Y = X2 на отрезке [A, B] методом левых прямоугольников.
Фигура разбивается на множество прямоугольников. Основания у всех прямоугольников равны: H = (B - A) / N, где N - количество разбиений (например 10000) Высота первого прямоугольника: f(A) = A2 Высоты следующих прямоугольников: f(A + H), f(A + H + H), ... Искомая площадь выражается суммой площадей всех прямоугольников.
10. Методом деления отрезка пополам, найти корень уравнения X2 - 2 = 0 на отрезке [A, B] с точностью E.
Сначала полагаем, что корень – это середина отрезка [A, B]. Затем выбираем тот из отрезков [A, X] или [X, B], на концах которого функция X2 - 2 имеет противоположные знаки. Выбранный отрезок снова делим пополам. Продолжаем до тех пор, пока длина отрезка не будет меньше 2 * E.
11. Автомат отпускает максимум N единиц товара по Z рублей за одну единицу и выдает сдачу. У каждого покупателя S рублей.
Написать программу обслуживания очереди из K покупателей.
После обслуживания каждого покупателя, автомат должен сообщать: - количество купленных единиц товара; - сдача; - сколько единиц товара осталось.
12. Необходимо собрать статистику о знаниях иностранных языков в группе из N человек.
Каждый человек вводит: 1 - если он изучал английский язык; 2 - немецкий; 3 - французский; 0 - если не изучал никакой.
13. Детали цилиндрической формы определяются параметрами: H - высота, R - радиус основания, P - плотность материала.
Пресс штампует детали, отличающиеся по высоте на 1 (H = 1 ... N, где N - высота самой длинной детали). Рассчитать массы деталей.
V = H * Pi * R2 M = P * V
14. Определить все счастливые билеты с номерами от N до M.
В каждом билете необходимо выделить 6 цифр номера. Билет счастливый, если сумма первых трех цифр равняется сумме последних трех цифр номера.
15. Имеется серия измерений параметров треугольника, в которой (в произвольном порядке) встречаются различные комбинации параметров.
Определить площадь треугольника по номеру комбинации.
Номера комбинаций параметров: 1 - основание и высота; 2 - две стороны и угол между ними; 3 - три стороны; 0 - прекратить обработку.
16. Найти все совершенные числа до заданной границы поиска.
Натуральное число называется совершенным, если оно равно сумме всех своих делителей, не считая его самого. Например: 6 = 1 + 2 + 3 - совершенное число
17. Человек и компьютер по очереди называют числа от 1 до 10, которые складываются одно за другим.
Выигрывает тот, кто первым достигнет 100. Составить алгоритм, выигрышный для машины.
Пусть первым играет человек и называет число X. Чтобы машина выиграла ей надо: - назвать число Y = 12 - X - на следующих шагах называть числа Y = 11 - X
18. Найти все двузначные числа, сумма квадратов цифр которых делится на 13.
Любое двузначное число A можно представить в виде A = I * 10 + J, где I - количество десятков, J - количество единиц. Если S = I2 + J2 делится на 13 без остатка, значит это искомое число.
Назад · Оглавление · Дальше