Решение задач как метод самооценки

Рейтинг: 1Ответов: 3Опубликовано: 28.02.2011

Решал задачу по циклам, нужно нарисовать ромб, заполненный символом "Х". В итоге решить самостоятельно не смог. Хочу спросить, насколько это страшно, если я не смог решить задачу такого плана и что мне посоветуете для исправления таких моментов?

Ответы

▲ 3

Алгоритмическое мышление развивать и воображение =)

Для конкретно этой задачи - нарисовать то же самое на листочке посимвольно и придумать, как это же самое выводить можно программно.

    X    
   XXX   
  XXXXX  
 XXXXXXX 
  XXXXX
   XXX
    X

Если же идеи есть, как подобные задачи решаются, то, значит, надо потренировать синтаксис и возможности языка. То есть почитать литературу по нему и порешать задачки. Чтобы понимать, как на программе записать свой придуманный алгоритм.

▲ 2

Я бы посоветовал бы структурировать сначала свои мысли и идеи по поводу задачи.

Вот, например, ромб.

Я вижу, что тут нужно 2 функции (лично мне):

  1. Функция, которая принимает на вход строку, состоящую из X и дополняет ее до общей длины пробелами справа и слева, т.е. центрует.
  2. Функция, которая принимает на вход ширину ромба и высоту. Она просто поделит высоту пополам, и пройдет циклом до середины высоты, прибавляя X, а после этого отбавляя X от строки, каждый раз передавая значение в первую функцию и полученный результат прибавляя к выходной переменной.

Вот так выглядит логика решения этой задачи у меня в голове на момент ее представления.

▲ 2

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

  1. разработку алгоритмов
  2. написание текстов

Разработка алгоритмов требует математических способностей, написание текстов требует языковых способностей. В случае наличия оных (а по завершении средней школы уже очевидно, есть таковые способности или нет) рано или поздно навык решения задач по программированию придет, в случае отсутствия - не придет.