алгоритм ||способ написать прогу - PullRequest
0 голосов
/ 01 января 2011

Я один из студентов информатики.Каждый решает проблему с помощью другого или одного и того же метода (но на самом деле я не знаю, используют ли они метод, или я не знаю, существует ли такой общий метод для решения проблемы.)

  • , если естьОбщий метод, что это такое?
  • Если есть другой метод, какой метод вы используете?

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

Я нашел один метод, когда я провалил курс,

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

first, input/ output  step ; 
       my prog will take this / these there argument(s) and return namely X , 
       ex : in c, 
            input length is not known and at same type ,
                so I must use pointer 
            desired output is in form of package , 
                so use structure 
second, execution part    ;
   in that step , I am writing all step which are goes to final output 
       ex : in python ;
             1.) [ + , [- , 4 , [ * , 1 , 2 ]], 5]
             2.) [ + , [- , 4 , 2 ],5 ]
             3.) [ + , 2 , 5] 
             4.)  7      ==> return 7 
third, I will write test code 
       ex :    in c++
           input : append 3  4 5 6 vector_x remove 0 1 
           desired output  vector_x holds : 5 6       
  • сейчас, мой другой вопрос;Каковы другие методы, которые были / были ;

     used to construct class  :::: for  c++ , python, java  
    
    
     used to communicate classes / computers
    
    
     used for solving  embedded system problem  ::::: for c 
    

другим пользователем?

  • Некоторые программисты используют обобщенный метод без учета языка программирования (java, perl ..), что это за метод?

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

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

1 Ответ

4 голосов
/ 01 января 2011

Специалист по информатике часто сталкивается с большой проблемой, которая в основном носит абстрактный характер.Однако компьютеры принимают только небольшие инструкции: сложите эти числа, вычтите эти числа.Компьютеры еще не достигли точки, когда мы можем просто сказать: «Компьютер, решите эту проблему».- мы должны сформулировать проблему как серию небольших инструкций, понятных компьютеру.

Сравните это с поваром на кухне.Если он пишет кулинарную книгу, он не может просто сказать «John's Special Chili» - он должен записать, какие ингредиенты используются, какие процедуры используются для приготовления или приготовления различных ингредиентов, какие количества использовать и т. Д.

Аналогично, специалист по информатике должен взять абстрактную проблему и разбить ее на инструкции, которые машина может использовать для получения правильного результата, учитывая ввод проблемы.Этот акт разбивания более крупной проблемы, часто сводящейся к более мелким задачам, прежде чем, наконец, прийти к коду, является фундаментальным навыком для любого программиста и, возможно, самым трудным навыком для обучения, поскольку он опирается на способности человека решать задачи *.1005 *

Алгоритмы, по сути, являются результатом решения проблемы: алгоритм, как определено в Викисловарь, - это «Точный пошаговый план для вычислительной процедуры, которая начинается с входного значения и дает выходное значение вконечное число шагов. "Это метод, с помощью которого вы переходите от входа к выходу, и это обычно то, что программисты должны выяснить.Конечно, некоторые проблемы уже решены: сортировка, являющаяся примером, обычно предоставляемым начинающим ученикам, имеет известный алгоритм: обычно вы просто реализуете это на определенном языке.

Как только основы пройдены, частопроблема уникальна.Затем программист должен разработать алгоритм.Обычный совет - «разбить проблему на более мелкие, более простые для решения подзадач» - часто две (или более) меньшие проблемы эквивалентны вашей более крупной проблеме.Если мы хотим решить проблему «перевернуть файл изображения вверх ногами», я могу разбить его на:

  1. Загрузить изображение
  2. Перевернуть ряды пикселей на изображении
  3. Запишите получившееся изображение обратно в файл

Каждый из них все еще очень абстрактен, и его нужно будет еще конкретизировать, но идея та же: продолжайте разбивать его на частиДо тех пор, пока идея не станет достаточно простой для перевода в код.В зависимости от того, какой язык вы используете, человеческая форма проблемы будет переводиться по-разному.Я бы не писал тот же код на C или C ++, как на Python или Java, и т. Д.

(PS: вопрос сложный для понимания, поэтому, если он не отвечает на ваши вопросы)или, если что-то неясно, пожалуйста, прокомментируйте как таковой.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...