Практикум по программированию. Основы. Циклы

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
(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

Решение: Java · C++ · Pascal


2. Вычислить факториал натурального числа N.

Например: 6! = 1 * 2 * 3 * 4 * 5 * 6 = 720

Решение: Java · C++ · Pascal


3. Дано число X и последовательность: 1, 1 + 1/2, 1 + 1/2 + 1/3, ... Найти в этой последовательности первое число Y > X.

Первое число в последовательности Y = 1
далее, переходим к следующему Y = Y + 1 / i пока не выполнится условие Y > X

Решение: Java · C++ · Pascal


4. Написать программу возведения вещественного числа в степень с натуральным показателем.

AN, где A - вещественное; N - натуральное
Например: 3.58
Необходимо N - раз выполнить умножение A * A * A ...

Решение: Java · C++ · Pascal


5. Найти число Фибоначчи с заданным номером.

В 1202 году, рассматривая задачу о размножении кроликов,
Леонардо Фибоначчи получил последовательность чисел,
в которой каждое число есть сумма двух предыдущих: 1, 1, 2, 3, 5, 8, ... 

Решение: Java · C++ · Pascal


6. Определить, является ли заданное натуральное число N простым.

Простые числа делятся только на единицу и на себя.
Сравните два алгоритма:
- деление на все числа от 2 до N - 1;
- деление на нечетные числа 3, 5, 7, ... N / 2

Решение: Java · C++ · Pascal


7. Найти наибольший общий делитель (НОД) и наименьшее общее кратное (НОК) двух натуральных чисел.

Поиск НОД:
 1 - если числа равны, взять любое из них в качестве ответа;
 2 - определить большее из чисел;
 3 - заменить большее число разностью большего и меньшего;
 4 – перейти к пункту 1.
НОК двух натуральных чисел равно произведению этих чисел, деленному на их НОД

Решение: Java · C++ · Pascal


8. Табулирование функции Y = X2 + 1 на отрезке [A, B] с шагом H.

Необходимо вывести на экран таблицу значений функции на заданном отрезке.

Решение: Java · C++ · Pascal


9. Вычислить площадь фигуры под графиком функции Y = X2 на отрезке [A, B] методом левых прямоугольников.

Фигура разбивается на множество прямоугольников.
Основания у всех прямоугольников равны: H = (B - A) / N,
где N - количество разбиений (например 10000)
Высота первого прямоугольника: f(A) = A2
Высоты следующих прямоугольников: f(A + H), f(A + H + H), ...
Искомая площадь выражается суммой площадей всех прямоугольников.

Решение: Java · C++ · Pascal


10. Методом деления отрезка пополам, найти корень уравнения X2 - 2 = 0 на отрезке [A, B] с точностью E.

Сначала полагаем, что корень – это середина отрезка [A, B].
Затем выбираем тот из отрезков [A, X] или [X, B],
на концах которого функция X2 - 2 имеет противоположные знаки.
Выбранный отрезок снова делим пополам. 
Продолжаем до тех пор, пока длина отрезка не будет меньше 2 * E.

Решение: Java · C++ · Pascal


11. Автомат отпускает максимум N единиц товара по Z рублей за одну единицу и выдает сдачу. У каждого покупателя S рублей.
Написать программу обслуживания очереди из K покупателей.

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

Решение: Java · C++ · Pascal


12. Необходимо собрать статистику о знаниях иностранных языков в группе из N человек.

Каждый человек вводит:
1 - если он изучал английский язык;
2 - немецкий;
3 - французский;
0 - если не изучал никакой.

Решение: Java · C++ · Pascal


13. Детали цилиндрической формы определяются параметрами: H - высота, R - радиус основания, P - плотность материала.
Пресс штампует детали, отличающиеся по высоте на 1 (H = 1 ... N, где N - высота самой длинной детали). Рассчитать массы деталей.

V = H * Pi * R2
M = P * V

Решение: Java · C++ · Pascal


14. Определить все счастливые билеты с номерами от N до M.

В каждом билете необходимо выделить 6 цифр номера.
Билет счастливый, 
если сумма первых трех цифр равняется сумме последних трех цифр номера.

Решение: Java · C++ · Pascal


15. Имеется серия измерений параметров треугольника, в которой (в произвольном порядке) встречаются различные комбинации параметров.
Определить площадь треугольника по номеру комбинации.

Номера комбинаций параметров:
1 - основание и высота;
2 - две стороны и угол между ними;
3 - три стороны;
0 - прекратить обработку.

Решение: Java · C++ · Pascal


16. Найти все совершенные числа до заданной границы поиска.

Натуральное число называется совершенным, 
если оно равно сумме всех своих делителей, не считая его самого.
Например: 6 = 1 + 2 + 3 - совершенное число

Решение: Java · C++ · Pascal


17. Человек и компьютер по очереди называют числа от 1 до 10, которые складываются одно за другим.
Выигрывает тот, кто первым достигнет 100. Составить алгоритм, выигрышный для машины.

Пусть первым играет человек и называет число X.
Чтобы машина выиграла ей надо:
- назвать число Y = 12 - X
- на следующих шагах называть числа Y = 11 - X

Решение: Java · C++ · Pascal


18. Найти все двузначные числа, сумма квадратов цифр которых делится на 13.

Любое двузначное число A можно представить в виде A = I * 10 + J,
где I - количество десятков, J - количество единиц.
Если S = I2 + J2 делится на 13 без остатка, значит это искомое число.

Решение: Java · C++ · Pascal



Назад · Оглавление · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools