Программирование на Си-шарп: различия между версиями

Материал из Викиверситета
Содержимое удалено Содержимое добавлено
Строка 39: Строка 39:
#:::::: Готово - на моей странице обсуждения. [[Участник:Thomas|Thomas]] 16:12, 30 июня 2011 (UTC)
#:::::: Готово - на моей странице обсуждения. [[Участник:Thomas|Thomas]] 16:12, 30 июня 2011 (UTC)
#::::::: Весело :) Ну, а если массив из 10 элементов ? Тут мы начинаем учиться как делать более обобщенные программы, чтобы потом при изменении условий не переделывать координально. --[[Участник:SergeyJ|S.J.]] 20:07, 30 июня 2011 (UTC)
#::::::: Весело :) Ну, а если массив из 10 элементов ? Тут мы начинаем учиться как делать более обобщенные программы, чтобы потом при изменении условий не переделывать координально. --[[Участник:SergeyJ|S.J.]] 20:07, 30 июня 2011 (UTC)
#:::::::: =) Я понимаю, что массив должен быть большой. Но как сделать с элементами больше, чем 2, пока не знаю точно. Понятно, что через i.
#:::::::: =) Я понимаю, что массив должен быть большой. Но как сделать с элементами больше, чем 2, пока не знаю точно. Понятно, что через i. [[Участник:Thomas|Thomas]] 14:02, 4 июля 2011 (UTC)
#А С# и С++ сильно различаются? {{unsigned|62.33.151.232}}
#А С# и С++ сильно различаются? {{unsigned|62.33.151.232}}
#: Сам синтаксис не очень, но концепция и библиотеки классов - да. Скорее есть сходство с Явой. Можно как бы сказать, что С++ остается для низкоуровневых вещей, а С# для приложений с пользовательским интерфейсом. --[[Участник:SergeyJ|S.J.]] 21:06, 29 июня 2011 (UTC)
#: Сам синтаксис не очень, но концепция и библиотеки классов - да. Скорее есть сходство с Явой. Можно как бы сказать, что С++ остается для низкоуровневых вещей, а С# для приложений с пользовательским интерфейсом. --[[Участник:SergeyJ|S.J.]] 21:06, 29 июня 2011 (UTC)

Версия от 14:02, 4 июля 2011

Эта статья — часть материалов: кафедры Программирование

Создание консольного приложения

Прежде чем начать изучать язык нужно, проинсталлировать среду и убедится, что она работает на вашем компьютере. По традиции это начинается с написания программы «Hello, World!»:

  1. Прочитайте статью в Википедии об этом языке программирования: w:C Sharp.
  2. Скачайте и установите бесплатную среду программирования на Си-шарп Microsoft Visual C# 2008 Express Edition с официального сайта Майкрософт: [1]. Можно попробовать найти в своей локальной сети файл, содержащий в названии «VS2008Express».
    Подробная инструкция: В зелёном квадрате выберите Russian и нажмите Download; скачается файл vcssetup.exe (2,7 Мбайт); запустите его на своём компьютере; начнётся загрузка компонентов Microsoft Visual C# 2008 Express Edition (~80 Мбайт), а затем произойдет установка этих компонентов.
  3. Прочитайте Практическое руководство. Создание консольного приложения C# и создайте консольное приложение.

Выбор предметной задачи

Программирование само по себе не представляет особого интереса. С помощью программирования реализуются различные предметные задачи. От выбора той или иной задачи зависит на чем нужно будет сконцентрироваться в первую очередь. Условно задачи можно разделить на 4 вида:

  1. Программы обработки данных (как правило научные вычисления)
  2. Программы требующие пользовательский интерфейс (т.н. офисные приложения)
  3. Программы требующие графический интерфейс (как правило компьютерные игры или программы моделирования)
  4. Веб-программирование (в данном курсе оно не рассматривается )

Обдумайте и опишите ту задачу, которой вам было бы интересно заниматься. Попробуйте как можно точнее сформулировать что есть на входе, и что вы хотите получить на выходе. Любое программирование начинается с анализа задачи на бумаге - попробуйте изобразить, написать ваши цели, разбить на подзадачи.

Ваши ответы

ставьте # и отвечайте в свободном формате. Дискуссии так же поощряются, но оффтоп будет удаляться.

  1. Я тяготею скорее к номеру 3 (игры), однако с графикой и рисунками вообще не дружу. Пока можно попробовать написать текстовый квест. Насколько я понимаю, передо мной стоят три основные задачи:
    • Прописать класс игрока
    • Прописать локации
    • Прописать их взаимодействие
    Я примерно себе представляю, как должен выглядеть класс, однако на C# (как и на Delphi) я классов ещё не писал. Смутно представляю, что такое private, public, protected и зачем они нужны (в питоне этого нет). Когда я пробовал прописывать локации на Delphi, я использовал переменную, отвечающую за то, на какую локацию надо переходить, а сами локации прописывал в функции button_click, используя if. Наверняка есть более простой способ. Ну вот, как-то так... Freelancer Alex 14:50, 10 февраля 2010 (UTC)
    Предлагаю начать с Программирование игр на Си-шарп (Microsoft Terrarium). Как получится отпиши. private, public, protected - это т.н. модификаторы доступа, нужны для программиста, пока можно считать что все public. Как станет ясно что такое наследование и агрегация - тогда поговорим об них. Но чтобы был бы код с наследованием или агрегацией нужно уже написать кучу классов. При этом на теории многие обычно понимают, но вот с практикой почему то даже у спецов проблемы. В принципе нужно почитать Гради Буч, Объектно-ориентированный анализ и проектирование, первые 7 глав делают человеком :) S.J. 20:13, 10 февраля 2010 (UTC)
  2. Язык в принципе знаю. Есть опыт работы на C#, а так же на Silverlight и ASP.NET. Есть база по всей .NET Framework. Думаю хорошие основы ООП и как миниму элементарные основы функционального программирования. Сам заканчиваю биологический факультет, так что знания в этой области тоже есть). Интересен первый пункт - обработка данных, а именно обработка биологических данных. Интересно по этому поводу все, так ничего не знаю) как участие в проекте написания вспомогательной библиотеки для последующего использования, подобной BioPython или BioPerl, или же конечных приложений. Wish 17:33, 4 января 2011 (UTC)
    Думаю, раз вы знаете язык C#, этот курс не для вас :). Тут скорее имелось введу получение начальных знаний, и раз вы выбрали обработку данных, то это скорее знания о реляционных базах данных, и управление ими из С#. SQL + ADO.NET - мне, кажется, вы тоже знаете ? Поэтому давайте скорее организуем некий открытый проект в Лаборатория биоинформатики. Учитывая, то что наши знания взаимодополняемы (я программист со стажем :), но сравнительно недавно занялся био тематикой) - думаю что нибудь да получится :) --S.J. 22:33, 5 января 2011 (UTC)
  3. Интересует п.3 (игры). С графикой дружу. Программирование - почти с нуля. Начальные знания почти забыты. Вопрос: возможно ли при этом использовать SharpDevelop 2.2.1, а не Microsoft Visual C# 2008 Express Edition? Thomas 16:07, 24 июня 2011 (UTC)
    Да, можете использовать SharpDevelop. Хоть какие то программы уже писали ? Опишите самую сложную программу которую Вы когда либо писали. --S.J. 12:09, 27 июня 2011 (UTC)
    Очень давно. Почти в школе. Помню только циклы, переходы. Thomas 12:32, 27 июня 2011 (UTC)
    Хорошо. Давайте тогда начнем с программы Hello, World. Можете написать такую программу самостоятельно ? И еще что значит "С графикой дружу" ? --S.J. 12:54, 27 июня 2011 (UTC)
    Это просто, т.к. это распространённый пример. Код - на моей странице обсуждения. Там всё понятно, т.к. читаю разные учебники сейчас. Но при самостоятельном изучении очень много вопросов, которые некому задать, поэтому пробую данный ресурс Вики. Графика - это Фотошоп свободно, + html, css. Thomas 13:09, 28 июня 2011 (UTC)
    Ок, вопросы можете свободно задавать, лучше на странице обсуждения этой странице, постараюсь ответить. Следующий тренировочный пример, создайте массив целых чисел, найдите среди них минимальное. --S.J. 16:06, 28 июня 2011 (UTC)
    Готово - на моей странице обсуждения. Thomas 16:12, 30 июня 2011 (UTC)
    Весело :) Ну, а если массив из 10 элементов ? Тут мы начинаем учиться как делать более обобщенные программы, чтобы потом при изменении условий не переделывать координально. --S.J. 20:07, 30 июня 2011 (UTC)
    =) Я понимаю, что массив должен быть большой. Но как сделать с элементами больше, чем 2, пока не знаю точно. Понятно, что через i. Thomas 14:02, 4 июля 2011 (UTC)
  4. А С# и С++ сильно различаются? — Эта реплика добавлена участником 62.33.151.232 (о · в)
    Сам синтаксис не очень, но концепция и библиотеки классов - да. Скорее есть сходство с Явой. Можно как бы сказать, что С++ остается для низкоуровневых вещей, а С# для приложений с пользовательским интерфейсом. --S.J. 21:06, 29 июня 2011 (UTC)

Программирование игр

Программирование офисных приложений

Литература