| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > основы программирования |
| Автор: ingenerum 20.8.2015, 20:48 |
| Здравствуйте, уважаемые форумчане. Хочу освоить программирование. Целей пока конкретных нет , т.е. область с которой буду работать пока не выбрал , конкретный язык программирования тоже пока не выбран. Хочу начать непосредственно с азов, чтобы уловить самую суть так сказать. Слышал что начинать надо с Алгоритмов программирования. И первый вопрос какую книгу(ги) посоветуете для освоения. Погуглив наткнулся на советы о трех авторах Кормен, Кнут и и Н. Вирта Но первые два удивили математической направленностью в своих задачах . Вопрос считаете ли вы эти книги реально хорошими для освоения алгоритмов ( если да, то почему?) или может стоит начинать с более простых книжек чем книги первых двух авторов . Второй вопрос почему большая часть книг по алгоритмам завязывается на математике , ведь программированием занимаются не только с целью вычислительных задач (математических толка) , но и множества других , так почему тогда большинство советует этих авторов? Еще вопрос какие еще знания кроме алгоритмов потребуются начинающему или следующим шагом следует выбрать конкретный ЯП и уже делать на нем какие-то задачи? Слышал так же что хороший программист должен понимать как машина преобразует конкретный ЯП в машинный код то есть как она его интерпритирует и преобразует. Какую литеру на этот счет подскажите или не стоит этим на начальном этапе забивать голову? И последний вопрос , какой язык на данный момент является перспективным( и в плане широты спектра решаемых задач и в плане влияния на з/п) , что посоветуете? |
| Автор: disputant 20.8.2015, 21:12 |
| Ну видите ли, а как вы себе представляете алгоритм НЕ математической направленности? Компьютер-то оперирует с числами, даже если потом это оказывается музыка или игровой персонаж Да, Кнут переполнен математикой, и уж точно не годится для начинающего. Я бы посоветовал Кормена - но не "Алгоритмы, построение и анализ", а "Алгоритмы, вводный курс". Существенно проще. Еще есть Левитин, "Алгоритмы. Введение в разработку и анализ". Тоже не самый сложный уровень. Но на мой взгляд, сами по себе алгоритмы мало что дадут, если вы не будете сразу же программировать. Язык... ну, я очень пристрастен, для меня лучший язык - это С++, но тут выбор за вами. Кстати, обычно программист не ограничивается одним языком, так что начинайте с чего хотите. Но не с Бейсика Кстати, если выбираете C+, то есть еще вариант "Алгоритмы - просто как 2x2" Красиковых. Это не учебник, скорее, справочник для чайника, но его плюс - в нем сразу приводятся тексты на C+. Минус - C++там не совсем для чайников... Лично я в свое время начинал с "Алгоритмов и структур данных" Вирта, но это было слишком давно, когда Кормена еще и близко не было, а Кнут имелся только 1962 года издания... Кстати, есть такая хорошая книга - скорее всего то, что вам надо: Страуструп, "Программирование. Принципы и практика с использованием С++". Это в первую очередь как раз не язык, а основы программирования. Но заодно и язык выучите. Если решитесь с C++дело иметь. Только искренний совет - не берите перевод первого издания. Там переводчик ко всем ошибкам Страуструпа добавил на порядок больше своих. Если дружите с английским (кстати, программисту без этого - никак), возьмите второе издание в оригинале. Если не дружите - то по моим сведениям, осенью выйдет второе издание на русском, и в этот раз ее таки отдали в очень хорошие руки |
| Автор: Cheloveck 20.8.2015, 22:04 |
| Первое, что надо изучить -- любой язык программирования высокого уровня. Я бы рекомендовал компилируемый и компилируемый в нативный код. Лучше всего, чтобы это был C или C++. Тут не особо важно, какую книгу ты возьмешь -- основы почти везде описаны достаточно хорошо. Я учился по http://www.williamspublishing.com/Books/978-5-8459-0949-7.html, для старта -- самое то! На первой книге я просидел месяца два, придумывая себе какие-то задачи. Дальше можно взяться за какую-то более или менее серьёзную программу и просидеть с ней ещё пару месяцев в обнимку с гуглом и этим форумом. После эту программу следует заархивировать вместе с исходниками и положить туда, где ты её точно не потеряешь (очень ржачно на это потом смотреть =)). Теперь пришёл тот самый момент, когда надо понять, как работает компилятор. Для этого подойдёт любая книжёнка по ассемблеру. Я читал http://www.pkgid.ru/index.php?name=News&op=view&id=270. После всего этого уже станет понятно то, что пишут в книгах по алгоритмам и зачем тебе это надо. К сожалению, C++ не является сегодня самым популярным языком среди работодателей (по крайней мере в том городе, где я живу). Наиболее используемым у нас является C# и Java. После C++ переход на них занимает пару недель, так что не особо парься на первых парах. Удачи! PS C++ -- это такой язык, который будет открывать свои тайны ещё многие годы после того, как ты посчитаешь, что знаешь о нём всё... PPS Must read для любого C++ программера http://www.ozon.ru/context/detail/id/2610625/ PPPS Must read для любого ООП программера http://www.ozon.ru/context/detail/id/2457392/ |
| Автор: Pavia 21.8.2015, 01:01 | ||||||
| Вам надо начать с более простых книжек. Выучите хотя бы один язык. Остальные языки похожи. Так вот основы программирования, как правило рассматриваются в книгах по конкретному языку. Какой именно язык учить первым или второй я советовать не буду. Выбирайте сами какой вам по душе. 1. Основы программирования: арифметика и логика, простые типы, циклы, условный оператор, массив, матрицы, функции и рекурсия, составные типы: 2. Структуры данных и основные алгоритмы: списки, деревья, графы, таблицы, сортировка, поиск, вставка, обход графа; 3. Сложные алгоритмы; 4. ООП и шаблоны проектирования; 5. Качественный код; Затем второстепенные дисциплины.
Но зато математика хорошо тренирует ум. приучает перебирать варианты.
Добавлено через 1 минуту и 35 секунд Так уж сложилось что лет десять назад время в России был популярен Паскаль. Поэтому вкратце о нём. Вирт конечно хорошая книга. Но я бы взял Окулова. Пишет также если не более подробно. Или книгу Попова у него тоже хорошая книга, только подход обучения не столько на примере сколько на задаче. По Си++: Прата С.-Язык программирования С++. Лекции и упражнения-ИД Вильямс(2012) По Си: «Язык программирования Си» Брайана Кернигана и Денниса Ритчи По Паскалю: Попов В. Б. Turbo Pascal для школьников. (2-издание 1999 или 3-издание) Вирт Н. "Алгоритмы + структуры данных = программы"-Мир (1985 вариант книги паскаль) Окулов С. М.-Основы программирования - (2002) Окулов С. М.-Программирование в алгоритмах - (2002) |
| Автор: bag2013 2.11.2015, 02:02 |
| Здравствуйте! Я новичок в системе программирования. Не могли бы Вы мне помочь решить вот эту задачу: "Записать алгоритм, с помощью псевдокода, и программу на языке Pascal". Просто за 2 недели невозможно с нуля выучить язык программирования. |
| Автор: Cheloveck 2.11.2015, 11:52 |
| bag2013, домашнии работы и курсовые в http://forum.vingrad.ru/forum/Vingrad-help-center.html! |