Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Алгоритмы и теория программирования


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Гаряка Асмик
Статус: Бакалавр
Рейтинг: 1778
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 1751
∙ повысить рейтинг »
_Ayl_
Статус: Студент
Рейтинг: 1574
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Алгоритмы и теория программирования

Номер выпуска:107
Дата выхода:09.02.2010, 12:30
Администратор рассылки:Гаряка Асмик, Бакалавр
Подписчиков / экспертов:742 / 203
Вопросов / ответов:3 / 9

Вопрос № 168969: Здравствуйте уважаемые эксперты. Я не имею никакого представления о программировании но очень хочу стать программистом , я еще учусь в школе Подскажите пожалуйста, какой для меня самый подходящий язык и что мне нужно читать, над чем работать? Заран...


Вопрос № 164750: Уважаемы эксперты,составьте пожалуйста алгоритм для этих задач Чудо инженерной мысли На плоскости собрали некий механизм, состоящий из шестеренок с одинаковым шагом (т.е. расстоянием между соседними зубьями). Все шестеренки пронумерован...
Вопрос № 36333: Хочу научиться программировать. С чего начать?...

Вопрос № 168969:

Здравствуйте уважаемые эксперты. Я не имею никакого представления о программировании но очень хочу стать программистом , я еще учусь в школе Подскажите пожалуйста, какой для меня самый подходящий язык и что мне нужно читать, над чем работать? Заранее спасибо!

Отправлен: 05.06.2009, 01:38
Вопрос задал: Бахlарчи, Посетитель
Всего ответов: 3
Страница вопроса »


Отвечает Калеев Владимир Викторович, 6-й класс :
Здравствуйте, Бахlарчи!
Я начал заниматься этим в школе с 10-го класса на уроках информатики. Язык изучали QBasic.
На тему "с какого языка начать обучение" можно спорить бесконечно. Лично я бы посоветовал начать с Pascal. Книг для начинающих программистов сейчас навалом как в обычных так и в интернет магазинах. Я предпочитаю заказывать через интернет по почте. Но сразу закупать книги стопками я не советую. Проще поискать подобные книги и статьи в интернете, попробовать решить какие-нибудь задачи из них, а потом сделать вывод, та ли это профессия которой вы хотите посвятить всю жизнь.
Как альтернатива учебнику есть игра Colobot. В ней в игровой форме вы можете научиться программировать на С++ подобном языке.

Ответ отправил: Калеев Владимир Викторович, 6-й класс
Ответ отправлен: 05.06.2009, 05:58

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250462 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Ivol84, 5-й класс :
    Здравствуйте, Бахlарчи! У нас в технаре, когда начинал учиться использовали для таких целей Pascal. Но я рекомендую начинать с C/С++.

    Ответ отправил: Ivol84, 5-й класс
    Ответ отправлен: 05.06.2009, 11:55

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250474 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Зенченко Константин Николаевич, Модератор :
    Здравствуйте, Бахlарчи.

    Я не буду Вам советовать конкретный язык программирования, это Вам выбирать самому. Для облегчения Вашего выбора постараюсь их классифицировать:
    - Процедурный язык программирования;
    - Язык функционального программирования;
    - Объектно-ориентированный язык программирования;
    - Декларативный язык программирования.
    Любой язык программирования, при написании программ требует определеннго образа мышления, характерного для каждой группы языков.
    Если попросить несколько программистов оценить любую из групп и раставить названия языков в порядке увеличения(уменьшения) сложности понимания(читаемости кода) языка программирования. Вы получите совершенно разные результаты, т.к. мнения программистов будут субъективны, зависящие от времени потраченного на его изучение(для кого-то это было трудно, другому легко).

    Ещё на один вопрос Вы должны сами ответить: Программстом в какой области(системным, прикладным, web и т.д.) Вы хотите стать? Т.к. каждая из этих областей накладываетс на программиста определенные требования к знаниям, в том числе и языков программирования.

    Все ссылки в ответе, на материал из Википедии, по ним Вы можете найти ещё и краткое опис ание конкретного языка программирования принаждлежащего каждой группе и составить своё представление о программировании.
    Удачи! Украина, Киев
    Тел.: +38-097-953-66-19
    Адрес: Украина, Киев

    -----
    Итерация от человека. Рекурсия — от Бога. — Л. Питер Дойч

    Ответ отправил: Зенченко Константин Николаевич, Модератор
    Ответ отправлен: 09.06.2009, 18:40

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250704 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 164750:

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

    Чудо инженерной мысли

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

    Нить Ариадны

    Попав в лабиринт, состоящий из одинаковых квадратных комнат, каждая из которых может иметь от 1 до 4 дверей в соседние комнаты, путник долго блуждал по нему, пока не нашел клад. Во время поиска он составил описание своего маршрута, обозначая каждый переход из комнаты в комнату буквами: С (север), В (восток), Ю (юг), З (запад). Опишите алгоритм, определяющий по заданной записи самый короткий путь назад.

    Отправлен: 12.04.2009, 18:15
    Вопрос задал: Мякишев Сергей Сергеевич, Х Заблокирован
    Всего ответов: 1
    Страница вопроса »


    Отвечает Evgenijm, 10-й класс :
    Здравствуйте, Мякишев Сергей Сергеевич!
    Лучше оформляйте разные вопросы отдельно: так проще сконцентрироваться на одной задаче.

    По первой задаче:
    Шестеренки могут крутиться по часовой или против часой стрелки. Если мы соединим 2 шестеренки, то одна будет крутиться по часовой, а другая - против. Соответственно, если мы соединим с шестеренкой несколько других, все они должны крутиться в обратную сторону. Тут уже должен прозвенеть звоночек - биграф, раскрашивание узлов и т.д.
    Шестеренки у нас узлы графа. Если соединены 2 шестеренки - между узлами графа проложено ребро.
    Нам надо проверить, можно ли раскрасить узлы графа в 2 цвета так, чтобы узлы одного цвета не были связаны. Для этого берем первый попавшийся узел и красим его в черный цвет. Запускаем из него алгоритм поиска в глубину, меняя цвет с каждым шагом. Черный-белый-черный-белый.
    В следующих ситуациях мы выдаем отрицательный ответ:
    1) Покрасив узел в некий цвет, мы замечаем, что его сосед уже п окрашен в тот же цвет. Соответственно, эти шестеренки будут блокировать друг друга.
    2) После прохода поиска в глубину остались незакрашеные узлы. Соответственно, граф не связный, а значит и шестеренки не все соединены между собой.



    По второй задаче:
    Она более явно намекает на графы, но проще решить ее на координатной плоскости. Путь можно сократить, если он содержит циклы - пройдя несколько шагов, мы вернулись в прежнюю точку. "Полезную работу" пути можно заменить вектором в виде комплексного числа. Переходы кодируем единичными векторами:
    З=+1, В=-1, С=+i, Ю=-i

    Центральный алгоритм: У нас есть некий путь. В начальной точке вектор равен 0. С каждым переходом мы прибавляем к вектору соответствующее число. Если вектор вдруг опять стал нулевым - мы прошлись по кругу и все пройденные переходы можно просто "схлопнуть".

    Такой алгоритм уничтожает циклы, начинающиеся в нулевой точке. Нам же нужно найти циклы начинающиеся во в сех возможных узлах пути. Это не сложно: сначала мы запускаем алгоритм из начала пути. Затем из второго узла, из третьего, и тд - до предпоследнего. Всего в худшем случае нам надо сделать примерно n*(n-1)/2 = O(n^2) переходов.
    Мы получили путь без циклов. Теперь нам надо его:
    1) Развернуть - т.е., читать с конца.
    2) Обратить - т.е., переход на юг заменяется переходом на север и тд.

    Ответ отправил: Evgenijm, 10-й класс
    Ответ отправлен: 13.04.2009, 01:19

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 247345 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 36333:

    Хочу научиться программировать. С чего начать?

    Отправлен: 27.02.2006, 17:41
    Вопрос задал: Жмакин Иван Михайлович
    Всего ответов: 5
    Страница вопроса »


    Отвечает BOIL :
    Здравствуйте, Жмакин Иван Михайлович!

    Вопрос, конечно, интересный!

    Лично мне довелось начать с Pascal
    Как сейчас мне кажется, это было хорошее начало, жаль что версия Pascal была еще не объектоориентированной.

    Потому советую Вам изучать как минимум, объектно ориентированный язык

    Из массовых на данный момент, как мне кажется, это
    C++, C#
    При чем, речь идет о языках программирования в традиционном смысле - на выходе уже исполняемый код, ничего дополнительно не требуется. (для C# с оговорками)

    Сейчас есть масса объектно ориентированных языков, которые требуют среду исполнения. Наиболее массовые, как мне кажется, это
    Java, Python

    Мое личное мнение - приступайте к изучению C++
    Данный язык будет стандартом еще много лет

    Ответ отправил: BOIL
    Ответ отправлен: 27.02.2006, 17:55

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 85760 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Mamont0001 :
    Здравствуйте, Жмакин Иван Михайлович!

    Однозначно С++.

    Я сам начинал, не зная ни Pascal, ни Basic, даже HTML я в процессе за два дня выучил.

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

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

    С++ обучает Объектно-Ориентировочному Програмированию, позволяющему воссоздавать реальные предметы с помощью их свойств и параметров.

    С++ - язык, на основе которого, или по крайней мере на основе синтаксиса которого, были созданы такие языки как C# , JavaScript , JAVA , PHP , Perl и т.д.

    Конкретно - лучше начинать с Turbo C++ или Borland C++.

    P.S. Сейчас, зная С++, я не могу себя заставить учить Pascal. Уж больно примитивен...

    Ответ отправил: Mamont0001
    Ответ отправлен: 27.02.2006, 18:37

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 85766 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Lector :
    Здравствуйте, Жмакин Иван Михайлович!
    Очень трудно просто сидеть дома и учиться программировать...
    Для начала я бы посоветовал подумать над задачей, к которой вы планируете приложить своё умение. А потом, шаг за шагом занятся её реализацией. Если появляются какие-либо вопросы - обращаться к документации. На самом деле в ней всё есть. Тогда мастерство придёт к вам в крадчайшие сроки.

    Ответ отправил: Lector
    Ответ отправлен: 27.02.2006, 18:53

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 85770 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Dr.Link :
    Здравствуйте, Жмакин Иван Михайлович!
    если ты ваще чайник то начни с хтмл
    потом яваскрипт
    потом пхп
    потом паскал
    потом тебе уже легко дастся си+

    Ответ отправил: Dr.Link
    Ответ отправлен: 28.02.2006, 06:17

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 85826 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает QDSota, Модератор :
    Здравствуйте, Жмакин Иван Михайлович!

    Первым можно попробовать Бейсик. Хотя-бы потому, что его найти легче всего (в том-же ворде или экселе). Тел.: 8-916-53-43-916
    ICQ # 84611301

    -----
    Открыть глаза навстречу солнцу

    Ответ отправил: QDSota, Модератор
    Ответ отправлен: 28.02.2006, 09:12

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 85842 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    подать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.14 от 03.02.2010

    В избранное