05 - цикл for

Задачи. Цикл for, введение — 05 #

Задачи на закрепление основ программирования. Требуется знание простых типов данных, String, switch, if-else, for

Закрепление изученного #

1. Счастливый пельмень #

Существует такая традиция: при приготовлении пельменей в один из них кладут монетку на счастье. Считается, что тому, кому попадется пельмень с монеткой, улыбнется удача.

  • Представим, что у нас есть кастрюля, в которой лежит 10 пельменей.
  • Один из них счастливый — а именно пятый пельмень.
  • Давайте напишем программу, которая ищет счастливый пельмень.
  • Программа перебирает пельмени в кастрюле по одному,
  • и когда доходит до пятого пельменя — напишет “Вот счастливый пельмень!” и выходит из цикла.

2. На 3 без остатка #

Вывести на экран все числа от 1 до 100, которые делятся на 3 без остатка.

3. Последовательность (100) #

Необходимо, чтоб программа выводила на экран вот такую последовательность:

myLine(100) ->
7 14 21 28 35 42 49 56 63 70 77 84 91 98

4. Последовательность (1000) #

Необходимо вывести на консоль такую последовательность чисел:

mySecondLine(1000) ->
1 2 4 8 16 32 64 128 256 512

5. 4 Буквы в строке #

Вывести каждую букву американского алфавита от A-Z по 4 буквы в строке.

6. Ряд Фибоначчи #

Выведите на экран первые 11 членов последовательности Фибоначчи.

  • первый и второй члены последовательности равны единицам
  • а каждый следующий — сумме двух предыдущих
  • То есть числа Фибоначчи - это 1 1 2 3 5 8 13 21 34 55 89 и т.д.

7. Числовой палиндром #

Дано целое трехзначное число. Написать метод, который возвращает число, записанное в обратном порядке, например:

123 -> 321
768 -> 867

8. Сумма разрядов #

Дано целое трехзначное число. Написать метод, который возвращает сумму разрядов этого числа, например:

123 -> 6  (1+2+3)
768 -> 21 (7+6+8)

9. Делится на 11 #

Найдите в заданном диапазоне хотя бы одно натуральное число, которое делится на 11, а при делении на 2, 3, 4, …, 10 дает в остатке 1.

findDigits(99999, 11) -> 25201, 52921, 80641

10. Степень числа #

Возведите число n во вторую степень. Не используя арифмитический оператор умножения.

digitPowTwo(5) -> 25
digitPowTwo(10) -> 100
digitPowTwo(4) -> 16

11. Чёт/нечет разрядов #

Дано целое трехзначное число. Написать метод, который определит чётность/ нечётность разрядов этого числа, например: 123 -> 1 – нечет. 2- чёт. 3-нечет. 768 -> 1 – нечет. 2- чёт. 3-чет.

12. Повторяка номер n #

реализовать метод, который выводит на экран заданную строку N раз. printLineNtimes(“hello”,3) -> hello hello hello

13. Обратный отсчёт #

Реализовать метод “ Обратный отсчёт ” который выводит на экран цифры от n до 1, затем выводит строку „start“. countdown(5) -> 5 4 3 2 1 start

14. Обратный отсчёт - start #

реализовать метод “Обратный отсчёт” который выводит на экран цифры от 5 до 1 текстом, затем выводит строку “start”. countdownStart() -> five four tree two one start

15. Буква ‘я’ #

Буква “Я” воистину великая буква. И все слова в которых есть это буква являются великими. Напишите метод, который находит великие слова.

16. Палиндром #

Написать свой метод проверки строки на палиндром.
Учесть, что палиндром может быть предложением с пробелами.
При решении задачи используйте цикл.

Нельзя использовать методы replace(), reverse() и конструкции, которые вы не учили.

checkPalindrom( "А роза упала на лапу Азора") -> true 
checkPalindrom( "поп") -> true  
checkPalindrom( "школа") -> false

17. Шифрование Цезаря #

Разработайте шифровальную машину для нового клиента фирмы - Гая Юлия Цезаря.

Клиент придумал шифровальный алгоритм и хочет, что бы мы реализовали его в методе.
Пример выполнения метода:

enigmaCaesar("Съешь же ещё этих мягких французских булок, да выпей чаю.")
-> "Фэзыя йз зьи ахлш пвёнлш чугрщцкфнлш дцосн, жг еютзм ъгб."

О самом методе шифрования(шифр подстановки) написана подробная документация, которая доступна по ссылке.

18. Дешифратор Цезаря #

Написать программу, которая производит дешифровку сообщений, зашифрованных предыдущим методом enigmaCaesar

19. Генератор паролей #

Давайте напишем генератор паролей. Методу передаётся длина пароля. И метод генерирует пароль используя латиницу, цифры и некоторые спецсимволы(на ваш выбор). Подсказка - использовать только те знания, которые были уже изучены. Существует как минимум два(на самом деле 222) разных подхода к решению этой проблемы. Не бойтесь пробовать.