singlepost

Основы бейсик << На главную или назад  

Ребята, а с чего начать бейсик изучать?

52 ответов в теме “Основы бейсик”

  1. 52
    Игорь Загилов ответил:

    хммм…. очередной холивар=))) Алмаз Алмазей и Роман Дрындик правильно сказали – сначала надо научиться составлять алгоритмы, формализировать задачу, а уж потом конкретную реализацию делать… и по сабжу – по себе понял,что лучше учить несколько языков одновременно… тогда лучше замечаются отличия между языками и впоследствии можно легче сделать правильный выбор, на каком языке реализовать конкретную задачу…. а тема уже, как обычно, скатилась в холивар… все языки хороши… если уметь ими пользоваться….

  2. 51
    Подмогаев Свят ответил:

    васик и есть язык высокого уровня.

  3. 50
    Денис Герасименко ответил:

    Я начинал с Basic. Хочется сказать, если у человека есть логическое мышление, то осваивать программирование дальше не составит никаких проблем. Базовый язык есть базовый язык. А лишних разговоров не надо. Берёшь в руки мануал по Java, С++, РНР, а там все те же зарезервированные выражения. Типы данных – никто ещё не отменял. Согласен, что для написания сложных программ языки высокого уровня подходят больше, чем Basic. Хотя я видел исходники клиента IRC написанные на Basic.

  4. 49
    Кирилл Быков ответил:

    Spectrum Basic +1 xD

  5. 48
    Егор Сорокин ответил:

    >Тогдашний бейсик имел мало общего с нынешним, и в нем многого не было. Насколько я знаю не было ни функций, ни вменяемых циклов. И единственным выходом из этой катавасии было постоянное использование этого самого goto.

    Доводилось мне переписывать на VB прогу, деланную на Advanced Basic, выпущенный корпорацией Toshiba в далеком 1983 году. И… ну я в общем поддерживаю мнение тех людей, которые утверждают, что использование этого оператора затрудняет читабельность. Более того, возьму на себя смелость заверить, что начиная с VB первой версии можно ВСЕГДА прекрасно обойтись без goto.

    Топстартеру: Бэйсик прекрасный язык для обучения программированию и понятию базовых концепций, ведь само название говорит за себя :)
    Лично я начинал со спектрумовского бэйсика, а сейчас неплохо понимаю и некоторые другие языки высокого уровня :)
    А Дейкстра, вероятно он был прав для своего времени,ведь с момента его высказывания прошла целая эпоха в мире развития IT-технологий.
    Возможно, он и имел в виду Бэйсик, сходный с Бэйсиком фирмы Тошиба, там от 10 печатных листов я сам чуть не деградировал :D

  6. 47
    Кирилл Быков ответил:

    Ага, +1

  7. 46
    Владимир Зевахин ответил:

    Олег СтаRый++ Савинов, шаришь, чувак!

  8. 45
    Олег Савинов ответил:

    Читабельность ухудшилась с repeat until? А с goto она значит улучшилась. Интересные представления о читабельности. Значит легче рыскать по программе и искать эту проклятую метку, на которую goto ссылается, чем сделать обычный цикл с постусловием. Не в одно goto превратится? А во сколько? В 10? Когда ты используешь repeat until, ты можешь быть уверен, что все работает как надо, и не важно в какой клубок goto это превратится компилятором. Имеется ввиду явное использование goto, которого как раз таки следует всячески избегать.
    По сабжу. Дейкстра про ваську такое говорил, когда половина этой группы (в том числе и я) еще даже не родились. Тогдашний бейсик имел мало общего с нынешним, и в нем многого не было. Насколько я знаю не было ни функций, ни вменяемых циклов. И единственным выходом из этой катавасии было постоянное использование этого самого goto. И как следствие, формировалось порочное мышление. А сейчас бейсик – нормальный язык, с которого вполне можно начинать. Хотя, если честно, я бы лучше рекомендовал Pascal.

  9. 44
    Борис Усков ответил:

    Ребят, раскаожу вам я историю из жизни. Было это давно. Приходим мы защищать лабу на Паскале. А нас перед этим 3 курс напугал, что если мы goto будем использовать то в жизни ее не сдадим. Мы выкрутились конечно. Вместо
    PovtorVvoda:
    Readln(a);
    If a<>0 Then Else goto PovtorVvoda;

    ниписали

    Repeat
    Readln(a);
    Until a<>0;

    Как орала препод: "Вы юзверы, а не прогеры! Ты что не понимаешь что это в машинном коде превратиться в goto да не в одно! А прога еще не читаемее стала. Надо же меру знать!"
    Хотя все преподы говорили что goto если и посмели использовать то только чтобы вниз перейти. А эта училка (самая у нас главная и крутая) наверх заставила.
    Ну а вообще согласен, goto использовать очень не хорошо.
    А кто сказал что Бейсик плохой язык. Нормальный, на Фортран немного похож.А тем более к нему можно стандартных библиотек из нета накачать.

  10. 43
    Подмогаев Свят ответил:

    так экзамен уже давно прошел вроде ?оО
    да и разбор этой задачи есть в инете

  11. 42
    Marla Singer ответил:

    о, может тут ещё не забыли Бейсик
    кому не шибко лень, напишите пожааааалуйста на Бейсике, есть решение на Паскале, но он для меня вообще тёмный лес =\

    C4
    На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> – строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> – не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки:
    Иванов П.С. 57
    Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника.
    Следует учитывать, что N>=1000.

  12. 41
    Роман Дрындик ответил:

    По поводу читабельности: читать программу сложно и когда в ней много условий, но в этом случае читабельность можно контроллировать, а вот если в программе стоит куча непонятных переходов, тут не только программу читать сложно, но дажу логику исполнения понять с первого раза не легко. Для анализа такойпрограммы можно даже графы построить и анализировать их.
    А что касается иерархии это тоже один из принципов ХОРОШЕЙ читабельной программы.

  13. 40
    Николай Васильев ответил:

    Медвед, читабельность программы убивает отсутствие каментов. Неужто вы легко прочитаете прогу в которой вместо одного готу стоит несклько условий? А готу обычно убивает иерархичность программы (по словам Дейкстры, кстати).

  14. 39
    Кросавчег Медвед ответил:

    а) нельзя путать низкий и высокий уровень
    б) ГОТО напроч убивает читабельность программы, особенно на современном языке высокого уровня. Когда хрен поймёшь, откуда, по какой логике и зачем прыгают – это извините полная з.
    Так что Дейкстра всё правиль писал

  15. 38
    Николай Васильев ответил:

    2 Владимир Крылов, фига ты загнул)) нехеровые у тебя основы!! Я под основами подразумеваю понимание работы операторов ветвления, циклов (с предусловием, с постусловием, итерационные) простейшие математические операции, подфункции (subfunction). В бэйсике это все есть. Насколько я помню, топикстартер спросил "с чего бы начать изучение?" Видите-ли, я глубоко уверен, что изучение таких основ "с нуля" лучше начинать с бэйсика, так как в нем нет особенностей семантики языка (например, begin и end в каждом цикле и тд., а также нет оператора ";") Для понимания работы эти особенности не нужны. За месяц можно выучить основы, а затем уже переходить на с++ или паскаль, кому как.

  16. 37
    Николай Васильев ответил:

    Кстати, я слышал кто такой Дейкстра. В моем первом посте сильно сквозит иронией по поводу готу и его не любовью к этому оператору.

  17. 36
    Роман Дрындик ответил:

    Уважаемый, а мы сейчас говорим о языках высокого уровня. Заметь, есть разница!

  18. 35
    Роман Игоревич ответил:

    Кто там что сказал по поводу безусловных переходов – прыжка в пропасть? А попробуйте-ка напишите модульный пакет для локальной сети на АСМ-е без jump-ов, и чтоб все вместе это фунциклировало – тогда и глянем. Может и на О-О языке переход можно заменить чем-то другим, но на низком уровне хрена толченого – банку.

  19. 34
    Роман Дрындик ответил:

    Владимир fixxxer Крылов, алилуя )))
    Но вот только я сейчас немного стану на защиту бейсика, дело в том, что в недавних версия VB есть много вещи о которых гокорил Владимир fixxxer Крылов, это у указатели и сслыки, и функция, и функция в функции и т.д., если проследить он начинает становится походим на Си, там много сходствнаблюдается например появился оператор return и т.д. И кроме того бейсик болезе тем, что он включен в состав многих офисных приложений например Access

  20. 33
    Эрик Михаелян ответил:

    начни с изучения Паскаля. Используй для этого свободно-распростроняемый компилятор Free Pascal

  21. 32
    Владимир Крылов ответил:

    2 Николай Васильев
    > чего такого из основ умеет паскаль, чего нет в Бэйсике?
    в сабже есть set? ссылки и указатели? функциональное программирование? записи? функция в функции? виртуальные функции? создание своих модулей? я просто не знаю что из этого есть вбэйсике, но наверно не всё.
    > А дейкстра ламер…не умел пользоваться гото
    ну уж конешно ламер. скажи исчо, что ниасилил он Великий язык Бейсег и вместо этого придумал АЛГОЛ (который НАМНОГО более структурированный и продуманный).
    > когда прогер говорит, что никогда не используйте какой-либо оператор, это значит что он просто не умеет его использовать
    поверь, дейкстра ЗНАЛ как используется оператор, и именно из-за этого отговаривал им пользоватся. гото не нужен ибо, неправильное его использование вызывает кривость всей программы. без него обойтись можно ВСЕГДА. во фри бейсике гото убрали за ненадобностью.
    зы. если ты кодишь и не слышал кто такой Дейкстра то уровень твоей образованности виден налицо

  22. 31
    Роман Дрындик ответил:

    А это есть такой синтаксис, ты правильно написал .067 это 0.067

  23. 30
    Ыпрахим Аптулла ответил:

    Большое спасибо, Роман, очень помог.

  24. 29
    Роман Дрындик ответил:

    Всегда пожалуйста )))

  25. 28
    Ыпрахим Аптулла ответил:

    Спасибо, а что насчет .067?

  26. 27
    Ыпрахим Аптулла ответил:

    I = (j – a * tt * LOG(tt) – (b / 2) * tt ^ 2 – (c / 2 / tt) + o * tt)

  27. 26
    Роман Дрындик ответил:

    Да, в данном случае tt^2 – это значит tt возводится в квадрат

  28. 25
    Ыпрахим Аптулла ответил:

    Помогите пож:
    Перевожу программу с Бэйсика на Паскаль, первый язык знаю плохо.
    .067=0.067?Что значит ^?
    Заранее спс.

  29. 24
    Роман Дрындик ответил:

    На сколько я помню это оператор возведения в степень. Но лучше кинь кусок кода побольше, там где ^ фигурирует

  30. 23
    Николай Васильев ответил:

    А никто не говорит что GOTO незаменм. Практически во всех книгах, которые я читал, про этот оператор написано всего один абзац. Про него можно писать всего одну строку. Смысл в том, что этот "плохой" оператор никак невозможно убрать из языка, и что все остальные операторы перехода все равно приводятся компилятором к форме "готу". Даже в Ada он есть.

  31. 22
    Almaz Ilyasov ответил:

    GOTO классная функция, всегда жалел что в языках высокого уровня его нет.

  32. 21
    Владимир Зевахин ответил:

    Знаю много людей, начавших с Бейсика, и ставших нормальными программистами C++/Java.

  33. 20
    Роман Дрындик ответил:

    Поддерживаю

  34. 19
    Роман Дрындик ответил:

    >Владимир Крылов, чего такого из основ умеет паскаль, чего нет в Бэйсике?

    Если четсно даже зло берёт когда на Дейкстру плохо говорят. Он много сделал для комп. индустрии, науки, дискретной математике в частности попробуйте ВЫ превзойти его или во всяком случае хотя бы догнать его. Возникает вопрос кто ты такой, Николай Васильев, чтобы его осуждать?
    Он выдающаяся личность, а не ламер, если бы не его идеи мало лик как бы история закрутилась. И умел он готу использовать просто это нерационально, знал бы структуру машинных команд понял бы.

  35. 18
    Роман Дрындик ответил:

    Вот про goto не надо гнать. Операторы безусловного перехода – это реально прыжок в пропасть они остались со старых языков где они нужны были, это отголоски процедурно-ориентированного и машинно-ориентированного программирование и вообще я много сталкивался с тем что программистов, которые испльзует goto просто не уважают. И дело не в том что его никто не умеет использовать дело в том, что он реально затрудняет читабельность кода и переносимость программы. Я в свое время когда Си начинал учить я читал учебник "Язык программирования Си" Керниган и Ричи, так вот там про этот оператор было сказано всего 1 обзац – в языке Си есть оператор goto и все. Математиками доказано, что любой оператор безусловного перхода можно эквивалентно заменить более рациональными операторами или действиями. ИМХО люди, которые говорят что готу лучше не использовать вовсе не ламеры, а как раз наоборот.
    И не надо гнать на дейкстру, этот человек слишком много сделал и слишком много умел, чтобы на него гнали люди, которые не достигли и не факт что достигнут его уровня и высот.
    В защиту goto скажу что бывают случае, когда этот оператор даже дает выиграш в нескольких машинных тактах, но происходит привязывание к исполняемой платформе и возникают проблемы переносимости. К тому же чтобы его применять нужно досконально знать используемую платформу а их не одна и не две. Так что случаи когда этот оператор полезен скорее редкость, чем правило.
    И еще ИМХО хоть и говорят что иногда он нужен, ВСЕГДА можно обойтись без него, конечно конструкция может быть громоздкой, но она существует. А вот читабильность снижается правда.

  36. 17
    Николай Васильев ответил:

    Владимир Крылов, чего такого из основ умеет паскаль, чего нет в Бэйсике?
    А дейкстра ламер. Не умел пользоваться goto. И вообще, когда прогер говорит, что никогда не используйте какой-либо оператор, это значит что он просто не умеет его использовать. ( ине надо мне говорить этих басен, что безусловный переход это шаг к пропасти и нечитаемости программ!! Иногда он нужен)

  37. 16
    Владимир Крылов ответил:

    Николай Васильев не стали бы позориться. Дейкстра знаменит в первую очередь алгоритмом имени себя. алгоритм Дейкстры должен знать и уметь реализовывать любой грамотный кодер. Этот человек оказал огромное влияние на программирование и развитие комп. индустрии. Писал на разных языках, в основном на псевдо, также занимался разработкой АЛГОЛа.
    Конечно, язык – дело не первой важности, но в том то и дело, что из-за примитивизма бэйсика как языка возникает примитивизм мышления. для основ в принципе можно учить паскаль, так как это довольно удобный и строгий язык. НО он имхо уже мертвый. а си и си++ развиваются. большинство прг написано на С/С++. к тому же, С++ легок в изучении, как бы там не говорили. в последнее время популярен Питон. тоже хороший язык для начала.
    имхо, лучше сразу отговорить человека писать на унылом языке.

  38. 15
    Георгий Дунаев ответил:

    "Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации."
    xD))))) Это всё про меня…)) Не могу перейти на С… … :( … Сижу на FreeBASIC-е..

  39. 14
    Кирилл Быков ответил:

    Вообще-то топикстартер говорит про языки, а конкретно — про бейсик.

  40. 13
    Денис Гублин ответил:

    а никто и не спорит про языки
    спрашивают про методику изучения

  41. 12
    Роман Дрындик ответил:

    Вопросо о языках – это ИМХО самое последнее. Самая главная задача для программиста, я имею в виду настоящего программиста – это научится четко формализовать поставленную задачу и найти оптимальный способ ее решения. А написания и отладка программы – это уже дело техники, оно тоже требует знания некоторых тонкостей, но куда проще писать программу, когда уже есть готовый алгоритм. Ну а вообще лично я считаю что если вообще раньше с языками дела не имел, то лучше прощупать старыеязыки типа бейсика, паскаля, потом чистого Си ну а дальше когда есть навыки можно переходить уже на более мощные языки и компиллеры – С++, C#, java.
    Я например в школе учил паскаль и все время им занимался, а в универе нам с первого курса дали Си и все пугали типа Си для вас сейчас напряжен слишком будет, он только для опытных, но со временем мы поняли что все-таки Си – это тру – очень гибкий язык, со своими конечно прибабахами, но тем не менее очень мощный. Но для начинающих я бы советовал попробывать чистый Си, а не С++

  42. 11
    Денис Гублин ответил:

    Напиши "Hello, world" ! А потом калькулятор! А потом инженерный калькулятор! А потом еще чего-нибудь! Так одно за одним, будешь решатьвозникающие проблемы по книжкам – и научишься! Только не лезь сразу за помощью на форумы и прочие аналогичные ресурсы, пробуй разобраться самостоятельно, иначе привыкнешь и разучишься думать самостоятельно. Да, еще не советую тупо переписывать готовые программы, лучше попробовать разобрать их, закрыть книжку и написать самой.

  43. 10
    Almaz Ilyasov ответил:

    TP куда лучше подходит для начала программирования.

  44. 9
    Николай Васильев ответил:

    Кто такой Дейкстра? Он, наверное, на Бейсике программировал? Для изучения основ, имхо, QBasic лучший язык. Но только(!) для основ. Серьезную программу на нем написать не получится.

  45. 8
    Владимир Зевахин ответил:

    Дейкстра ошибался.

  46. 7
    Владимир Крылов ответил:

    так сказал Дейкстра:
    "Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации."
    Поэтому не надо учить бейсик, учи какой-нибудь питон, а лучше вообще ничо не учи

  47. 6
    Роман Дрындик ответил:

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

  48. 5
    Almaz Ilyasov ответил:

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

  49. 4
    Владимир Сургай ответил:

    Начни с написания простейшей программы (калькулятор на 4 действия в самый раз).

  50. 3
    Николай Васильев ответил:

    А тебе зачем бэйсик-то?)) Или ты имеешь ввиду Visual Basic? А начинать изучение проще с основ, операторы присваивания, несложные математические действия, операторы ввода/вывода)) А потом уже операторы ветвления, циклы, функции, подфункции, классы ;) ) Ну и т.д.

  51. 2
    Владимир Зевахин ответил:

    С любого оператора, например PRINT.

  52. 1
    Владимир Ильяшов ответил:

    Теоретически, достаточно компьютера и доступа к интернету. Дальше все просто: яндекс (не рекалама :) ) -> бэйсик.
    А фактически, нужно сначала определиться, что именно и для чего требуется. Бэйсик – это семейство языков, может окажется достаточно лишь основ, а может потребуется конкретная реализация. Ну а в идеале – это помощь преподавателя хотя бы на ранних этапах: объяснения основ, определения курса изучения и подбор программного обеспечения и литературы.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.