Йо, меня зовут Наби. Заранее благодарю за чтение и желаю продуктивно провести время! Если после прочтения возникнут вопросы, пожелания или предложения, то буду рад ознакомиться со всем в комментариях!
Предисловие:
В предыдущей части мы научились на практике применять алгоритм "Sliding Window", работать с отсортированными массивами, менять обработку данных в процессе итерации а также вычислять дистанцию между объектами с учётом их габаритов. В этой части вас ждут еще более интересные алгоритмические задачи!
Перед началом чтения решения задачи, хочу призвать каждого к самостоятельному решению задачи, чтобы после вы могли сравнить своё решение с моим и обсудить это в комментариях. Буду рад послушать ваше мнение! Давайте, приступим!
Новое в конфигурации Algo1C (Последние 5 версий):
Актуальную версию конфигурации вы можете загрузить здесь (Нажмите на строку)
- 0.4 : Исправлена ошибка при выводе содержимого исключения
- 0.3 : Добавлена возможность сохранять и загружать задачи; Внесены небольшие изменения в интерфейс
- 0.2 : Исправлена ошибка при выводе результата (Отдельная благодарность SAShikutkin)
Решение задач:
Задача 1
Платформа: CodeWars
Название задачи: Draw stairs
Ссылка на задачу: https://www.codewars.com/kata/5b4e779c578c6a898e0005c5 (Нажмите на строку)
Оригинальное описание задачи:
Given a number n
, draw stairs using the letter "I"
, n
tall and n
wide, with the tallest in the top left.
For example n = 3
result in:
"I\n I\n I"
or printed:
I
I
I
Another example, a 7-step stairs should be drawn like this:
I
I
I
I
I
I
I
Пояснение:
Задача из разряда ASCII Art, когда тебе нужно с помощью элементарных символов рисовать интересные картинки. Конкретно в этой задаче что-то грандиозное рисовать не нужно, нужно просто нарисовать лестницу с помощью букв "I". В качестве входных данных мы будем получать количество ступеней!
Решение:
Ну что ж. Всё что нам нужно так это написать цикл, количество итераций которого будет равно количеству ступенек. Далее в каждой итерации нам надо переносить строку, добавлять пробелы, количество которых будет каждый раз увеличиваться на 1, ну и само собой выводить букву I
Давайте попробуем описать этот алгоритм 1Совским кодом!
КоличествоСтупеней = 10;
//
Вывод = "";
КоличествоПробелов = 1;
Для НомерСтроки = 1 По КоличествоСтупеней+1 Цикл
Вывод = Вывод + "I";
Вывод = Вывод + Символы.ПС;
//
Для НомерСтроки = 1 По КоличествоПробелов Цикл
Вывод = Вывод + " ";
КонецЦикла;
//
КоличествоПробелов = КоличествоПробелов + 1;
КонецЦикла;
Заключение:
Как видим, лестница успешно нарисована. На данный момент это первая задача по ASCII Art, в будущем их будет больше, на CodeWars таких задач сотни!
Задача 2
Задача 3
Задача 4
Задача 5
Заключение:
Платформа: CodeWars
Название задачи: Draw stairs
Ссылка на задачу: https://www.codewars.com/kata/5b4e779c578c6a898e0005c5 (Нажмите на строку)
Оригинальное описание задачи:
Given a number
n
, draw stairs using the letter"I"
,n
tall andn
wide, with the tallest in the top left.For example
n = 3
result in:"I\n I\n I"
or printed:
I I I
Another example, a 7-step stairs should be drawn like this:
I I I I I I I
Пояснение:
Задача из разряда ASCII Art, когда тебе нужно с помощью элементарных символов рисовать интересные картинки. Конкретно в этой задаче что-то грандиозное рисовать не нужно, нужно просто нарисовать лестницу с помощью букв "I". В качестве входных данных мы будем получать количество ступеней!
Решение:
Ну что ж. Всё что нам нужно так это написать цикл, количество итераций которого будет равно количеству ступенек. Далее в каждой итерации нам надо переносить строку, добавлять пробелы, количество которых будет каждый раз увеличиваться на 1, ну и само собой выводить букву I
Давайте попробуем описать этот алгоритм 1Совским кодом!
КоличествоСтупеней = 10;
//
Вывод = "";
КоличествоПробелов = 1;
Для НомерСтроки = 1 По КоличествоСтупеней+1 Цикл
Вывод = Вывод + "I";
Вывод = Вывод + Символы.ПС;
//
Для НомерСтроки = 1 По КоличествоПробелов Цикл
Вывод = Вывод + " ";
КонецЦикла;
//
КоличествоПробелов = КоличествоПробелов + 1;
КонецЦикла;
Заключение:
Как видим, лестница успешно нарисована. На данный момент это первая задача по ASCII Art, в будущем их будет больше, на CodeWars таких задач сотни!
Ну что ж, пока на этом всё, надеюсь статья была увлекательной для вас, благодарю за внимание. Подключайтесь к решению алгоритмических задач вместе со мной, делитесь вашим мнением и решениями в комментариях! Увидимся в новой статье!