Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Не понимаю. Как логически мыслить при программировании?

Есть задача. Вроде на алгоритм ее разложить я могу, но как представить это в виде программы? Какие переменные следует вводить? Я зачастую не понимаю этого в сложных задачах. Есть ли какая-нибудь книга, которая поможет в этом разобраться новичку?

ПрограммированиеМышление+1
Антон Шестаков
  ·   · 993
Диванный философ, по совместительству инженер  · 4 авг 2021

Возможно алгоритмы которые Вы пытаетесь писать "одним куском" действительно слишком сложны. Их нужно разбить на части и оформить каждую как отдельную функцию или метод. Это называется "разбиение задачи на подзадачи".

С переменными - а единого решения в чем-либо сложнее решения квадратного уравнения и нет. Каждый программист один и тот же код напишет по разному. Один вынесет какую то часть выражения в переменную, а другой выражение сплошным напишет. Там где вообще есть выбор нужна ли переменная или нет: обычно если значение повторяется несколько раз значит нужна. И если все выражение кажется Вам самому слишком сложным - значит его часть надо вынести в переменную.

И еще не всегда и нужно сразу до написания кода продумывать какие будут переменные.Собственно достаточно продумать заранее код с точностью до отдельных функций/методов. А переменные добавляются чаще всего по ходу кодирования. Ну т.е. Что-то нам нужно перебрать и мы написали цикл. Соответственно сразу же определили переменную счетчик или итератор этого цикла. Далее пишем логику цикла и понимаем, что нам нужно подсчитывать что-то по всем или части элементов, ну например количество отрицательных, или минимальное значение. Вот как это поняли так переменную и определили. Обычно на таком низком уровне абстракции код так и пишется по ходу. Концептуально продумывается на несколько более абстрактном уровне нежели локальные переменные.

1 эксперт согласен
Писатель. Автор мистической книги "Не упасть бы в...  · 19 апр 2021
a:= X*(Y+Z); Написал. Понятно, что нужны 4 переменные. Сразу прикидываешь, какие var кто-то будет вводить в начале проката программы. А какие-то var посчитаются в процессе. Потом думаешь: а ведь какие-то переменные, которые... Читать далее
С уважением, Олег. Читайте мой роман "БЕСПИЛОТНИК". Мир, как он есть.Перейти на ridero.ru/books/bespilotnik_1
Senior fullstack developer (c#, Java, php, js).  · 28 нояб 2020  ·
gamedevpub
Я уже несколько раз тут советовал игру, кажется её разработчикам пора доплачивать мне за рекламу... Ну да ладно. На самом деле, очень полезная мобильная игрушка, которая развивает алгоритмическое мышление на практических... Читать далее
Разрабатываем игры и хотим, чтобы таких как мы было больше.Перейти на vk.com/gamedevpub