Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Дата: Пт, 21 Августа 2009, 13:24 | Сообщение # 151
Генератор идей
Модераторы
Сообщений: 3172
Offline
Quote (sp3d)
не приучай себя к копи-пасте
Quote (Bodi)
Мы все таки пришли к взаимному мнению
100%, копи-пасте, это не для меня... Это, как минимум, не интересно ! А вот освоить - это да, это очень даже любопытно. И примеры понимать интересно, только не всегда возможно, пока еще. Прав Алекс, утверждая, что тут в первую очередь работать головой нужно. Да и увлекательно это, черт возьми!!! Добавлено...
Quote (sp3d)
это просто для разделения цифр
Ясно, а я уже было решил, что какой-то секретный раздел в справке по NB есть... Куда пускают не сразу
Quote (sp3d)
Просто я помню, как сам изучал флеш и php, так те кто пытался объяснять, я долго вникал, а на примерах(с коментами) понимал быстрее, но ты прав, к каждому нужен свой метод
В моем случае, похоже, совершенно необходимо и первое, и второе, и третье с четвертым ...
Добавлено... Хочу уточнить, правильно ли я понял, что все-таки эта строчка кода читается не как "если в строке есть то-то", а именно как "если строка является такой-то"...
Code
If "[StrDelete]" "=" "{\*\bkmkstart Del}"
Кстати, в одной из первых своих тем, про то как "кодить", я как раз имел ввиду такие вещи, - как читать код, как мыслить на языке NB. К этому же относится: почему/когда выход с цикла нужно ставить именно перед EndIf и т.д. ... Этого нет в справке... А это именно примеры мышления на языке... И еще, в этой строке:
Дата: Пт, 21 Августа 2009, 18:13 | Сообщение # 152
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (VadimLevkin)
есть единица для сравнения, с пробелом, но не обрамленная кавычками. Есть исключения?
не совсем понятен вопрос
Что то у меня не получилось создать rtf с этими bkmkstart-ми, если не трудно загони такой вариант, хочу проверить вариант один
Quote (VadimLevkin)
почему, когда выход с цикла нужно ставить именно перед EndIf
здесь, работает логика и синтаксис, а "чтение" или "мышление" тут ни причем. Пример: Задача стоит в следующем; У тебя есть мяч (пусть брошенный сверху ). Он при ударе об землю отскакивает. Мы зададим ему 10 отскоков от земли. Необходимо при пятом отскоке от земли сделать мячу death. Следуя условию задачи нам необходимо создать цикл
Вот наш мячик будет прыгать 10 раз. Но нам надо остановить мяч на 5 прыжке, значит надо создать условие (с помощью условного оператора IF-Else-EndIf) в цикле
Но если мы посмотрим в дебаге, то наш мяч все равно отпрыгал свои 10 раз. И правильно мы условие поствили, и он честно отработался. Т.е. при 5 вхождении в условие у нас отработалось TRUE (SetVar "[info]" "мячу death") , при последующих вхождениях будет отрабатыватся FALSE, а причина в том, что цикл в условии не остановлен! А остановим цикл спец командой ExitLoop (Назначение: Выйти из текущего Loop/EndLoop-цикла.) и ставим эту команду в том месте, где необходимо остановить цикл. Если мы ExitLoop поставим перед EndLoop, то цикл отработается 1 раз.
Дата: Пт, 21 Августа 2009, 18:43 | Сообщение # 153
Друг клуба ММВ
Проверенные
Сообщений: 2713
Offline
Quote (sp3d)
здесь, работает логика и синтаксис, а "чтение" или "мышление" тут ни причем.
Совершенно верно, вложенность может быть сколь угодно сложной, но проследить правильность работы алгоритма может только програмер. Програмная оболочка будет ругаться только при абсурдном построении участка кода, с точки зрения синтаксиса, что касаемо самой логики работы алгоритма, то тут она не обладает никакими экстрасенсорными способностями, для того что бы предугадать что програмеру надобно. Вот и получается, что небольшая ошибка в написании, может кардинально изменить логику работы алгоритма, в то же врема не являясь ошибкой для интерпритатора. Такие ошибки весьма злостные, и иногда живут годами.
Дата: Пт, 21 Августа 2009, 19:23 | Сообщение # 154
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (Alex3A)
Вот и получается, что небольшая ошибка в написании, может кардинально изменить логику работы алгоритма, в то же врема не являясь ошибкой для интерпритатора. Такие ошибки весьма злостные, и иногда живут годами.
и такое бывает
VadimLevkin, я только затронул простые условия, а есть и сложные, как написал Алекс с кучей вложностью или условие с несколькоми логическими выражениями, тут уже нужна внимательность, да и почитать в сети основы типа этого там для php, но для понимания работы это не влияет
Добавлено (21 Август 2009, 19:23) ---------------------------------------------
Quote (sp3d)
Что то у меня не получилось создать rtf с этими bkmkstart-ми, если не трудно загони такой вариант, хочу проверить вариант один
вопрос снят, разобрался
Сообщение отредактировано sp3d - Пт, 21 Августа 2009, 19:22
Дата: Пт, 21 Августа 2009, 19:48 | Сообщение # 155
Друг клуба ММВ
Проверенные
Сообщений: 2713
Offline
Quote (sp3d)
с несколькоми логическими выражениями
Кабы так, мне иногда приходится лепить подобные условия, на несколько страниц текста, с дикой вложеностью, только коментарии и спасают. В таких случаях, оптимизация алгоритма, играет немаловажную роль.
Дата: Сб, 22 Августа 2009, 01:06 | Сообщение # 156
Генератор идей
Модераторы
Сообщений: 3172
Offline
Quote (sp3d)
Quote (VadimLevkin) есть единица для сравнения, с пробелом, но не обрамленная кавычками. Есть исключения? не совсем понятен вопрос
Да в справке, вспомнил, благодаря Дмитрию, есть требование:
Quote (Bodi)
Quote Если один из элементов, участвующий в сравнении, содержит пробелы, то он (элемент) должен быть заключен в кавычки. Символ "кавычки" в NeoBook можно организовать при помощи спец. кода: [#34]
А закладка у меня как раз содержит пробел:{\*\bkmkstart Del}, между тем, в том коде, что заработал никаких кавычек (вроде [#34]{\*\bkmkstart Del}[#34]) нет... Вот я и спросил. Выходит, что не всегда элемент сравнения содержащий пробел должен обрамляться кавычками. Только не понятно почему, из-за скобок? Они выполняют роль "обрамления" единицы сравнения?
Quote (sp3d)
ну вот объяснил как смог, может кто нибудь дополнит или поправит меня
Чертовски толково объяснил! Я в принципе уже допер, но так много лучше, объемнее понимание образуется. Спасибо!!!
Quote (sp3d)
здесь, работает логика и синтаксис, а "чтение" или "мышление" тут ни причем
Что касается логики, синтаксиса и мышления, то все же не совсем соглашусь. Хотя, скорее всего, мы просто несколько по-разному понимаем эти понятия, а не саму суть. Ведь что такое логика и синтаксис если не форма для мышления? Даже если под логикой понимать некое "видение действительного механизма работы вещей" (а не только лишь правила получения достоверного вывода), то это опять таки способ мышления, осмысления того, что доступно восприятию. А синтаксис напрямую определяет понятия и способы их использования, своего рода "строго формализованное вербальное мышление". Это та же "вложенность", как в программировании, где "мышление" может быть "логическим", а "логика" может иметь форму, описываемую (и читаемую) с помощью определенного "синтаксиса". Если я правильно понимаю, то задача освоения программирования сводится фактически именно к обретению нового способа мышления, к тому, чтобы научиться воплощать логику идеи (задумки, задачи) в форму, которая может быть машинно реализована, т.е. в форму предложений того или иного языка в рамках его синтаксиса и их (языков) сочетаемых комбинаций, включая аппаратные, низкоуровневые языки, и даже саму "железную деятельность", которую можно интерпретировать, как "высказывания" железки (например, использование шумов звуковой карты при генерации случайных чисел, как было сказано выше). Поэтому и то как читать код прямо относится к тому, как мыслить (работа внутреннего интерпретатора и дебагера, в голове программера... Кстати, Алекс и Петр об этом регулярно напоминают, за что большое спасибо!). Вот, тоже пример описания мышления, лично для меня очень полезный:
Quote (Alex3A)
вложенность может быть сколь угодно сложной, но проследить правильность работы алгоритма может только програмер. Програмная оболочка будет ругаться только при абсурдном построении участка кода, с точки зрения синтаксиса, что касаемо самой логики работы алгоритма, то тут она не обладает никакими экстрасенсорными способностями, для того что бы предугадать что програмеру надобно.
Разница лишь в том, что когда вы описываете синтаксис применения различных конкретных команд - это операциональный уровень мышления (на уровне конкретных действий), а когда описываете общую логику (как в последней цитате) - это уже уровень Отношения, уровень очень общих установок, которые влияют на всю деятельность, определяя ее принципиальные характеристики и возможности.
Quote (Alex3A)
Вот и получается, что небольшая ошибка в написании, может кардинально изменить логику работы алгоритма, в то же врема не являясь ошибкой для интерпритатора.
Да, лучше бы не сталкиваться с таким... А есть какие-то принципиальные, проверенные опытом, меры (может, правила) чтобы таких ошибок не допускать? На основе сказанного могу предположить, что основным методом будет оптимизация алгоритмов. Можно, наверное, выделить и какие-то общие правила их построения, удобные для разных классов задач. Краем глаза видел, что есть специальные книги по алгоритмам, может присоветует кто чего почитать, буду признателен за рекомендации... Например, я вчера понял, что в правую часть кода лучше выносить условия True и наиболее вероятные правильные действия пользователя, а в левую - False и ошибки (это сокращает объем кода, я это понял переписывая в сотый раз очередной кусок кода). Прокомментируйте, если можно, вдруг я ошибаюсь тут, "в прочтении синтаксиса логики своего мышления" .
Добавлено (22 Август 2009, 01:06) ---------------------------------------------
Дата: Сб, 22 Августа 2009, 04:39 | Сообщение # 157
Друг клуба ММВ
Проверенные
Сообщений: 2713
Offline
Quote (VadimLevkin)
Ведь что такое логика и синтаксис если не форма для мышления?
логика есть логика, в общепринятом ее понятии, си речь, правила "правильного рассуждения", естественно иследуемое разумом, мышлением. синтаксис, то же в таком же понятии, правилописания, как и в каждом разговорном язке, так и в языках програмирования, имеющийсвои различия для каждого. Языки програмирования, в отличие от разговорных, имеют большое сходство, как и в разговорном близко родственные языки. Так что логика, по большому счету, не зависима от языка програмирования и его синтаксиса, а язык и синтаксис, являются средством выражения и описания логики. Одну и ту же задачу, даже не имеющую, казалось бы, отношения к програмированию, можно описать не одним десятком способов. Аналогично так же и в програмировании. Таким образом, логика задачи является первичной, и от качества ее построения и оптимальности зависит и оптимальность произведенного кода. Последовательное описание логического решения задачи называется алгоритмом. Использование алгоритмов в програмировании является только частным случаем его применения. Планируя как ты проведеш свой день, ты создаеш алгоритм. Так что ==логика и синтаксис, а "чтение" или "мышление"== по сути взаимосвязаны, и в контексте вышенаписанных постов, вы оба правы, однако вкладывая каждый свое понимания. Я бы выразился так, sp3d имеет более логический подход к толкованию, а подход VadimLevkinа, я бы назвал, что ли, более религиозным, ну это явный отпечаток его профессии. И то и другое равнозначно, все дело просто в удобстве восприятия каждого из вас, с разночтением толкования вы разберетесь без проблем, я ведь понял обоих.
Quote (VadimLevkin)
Краем глаза видел, что есть специальные книги по алгоритмам
Да, такого добра в асортименте, однако ничего посоветовать не могу, ибо не занимаюсь коллекционированием подобных вещей в прок, на данном этапе. Пользуюсь приобретенными навыками, в затруднительных случаях пользуюсь поиском, для прояснения методов решения задач. В этом деле, как и в ином другом, надо впитать азы и уметь найти нужное. Да и имеющийся в мире объем , превышает возможности запоминания разума индивидуума. Я конечно мог бы тебе накидать кучу всякого, но для его усвоения тебе прийдется остаться без штанов, закинув свою основную работу Одно скажу, что найти в сетке толковую иформацию, для меня, очень сложно. Все забито описанием азов, которые мне не нужны, сплошная белетристика, не имеющая полного описания всего что есть. Вот нашел толковую вещь по хтмл
Code
http://pyramidin.narod.ru/html401/
Спецификация HTML 4.01 W3C, на русском и без белетристики.
Дата: Сб, 22 Августа 2009, 05:03 | Сообщение # 158
Генератор идей
Модераторы
Сообщений: 3172
Offline
Quote (Alex3A)
Так что ==логика и синтаксис, а "чтение" или "мышление"== по сути взаимосвязаны
Безусловно!
Quote (Alex3A)
вы оба правы, однако вкладывая каждый свое понимания
Уверен, что так и есть :). Как раз по роду своей профессии часто с этим феноменом сталкиваюсь. Скажем, помогаешь людям решить производственный конфликт, и в процессе они обнаруживают, что в общем-то думают одинаково, только друг друга не потрудились понять, и зря столько голов полетело и столько времени силы тратили на гнев и раздражение.
Quote (Alex3A)
Спецификация HTML 4.01 W3C, на русском и без белетристики.
О, спасибо! Занес в избранное! Давно хотел хорошую спецификацию по HTML. А то... незнание - ограничивает...
Quote (Alex3A)
в затруднительных случаях пользуюсь поиском
Ну, на Вашем уровне то, конечно, проще наверное на специализированном форуме что-то прояснить, где есть мастера соответствующего профиля...
Добавлено... Увидел на сайте Пирамидина еще ссылку на скачивание хелпа по FTP-клиенту FileZilla, однако ссылка не рабочая. Alex, Вы, случаем, не скачивали этот хелп? Имя файла, судя по ссылке, filezilla-help.rar.
Добавлено... Кстати, как раз в тему "Удаление строки", через гостевую книгу сайта Пирамидина вышел на другой сайт, а там лежит исходник (на Delphi 5) небольшой программы автора (Павел Малахов): BatchReplace - заменяет одну подстроку другой во всех файлах указанной папки и её подпапках. Может кто возьмется сделать "перевод" на язык NB. Было бы интересно многим, я думаю. Как минимум в учебных целях.
Но вообще, замена пробела нужна не только в IfEx, бывает и в выводе сообщений, обычно сразу видно этот косяк, во многих местах, на память не помню, но они не скрытые, как в ифех
Сообщение отредактировано sp3d - Сб, 22 Августа 2009, 09:25
Дата: Сб, 22 Августа 2009, 09:13 | Сообщение # 161
Ветеран форума
Проверенные
Сообщений: 487
Offline
Quote (sp3d)
не уверен, что Вадим знает делфи
Quote (VadimLevkin)
Может кто возьмется сделать "перевод" на язык NB.
Quote (sp3d)
к томуже оно применимо к пробелу находящемуся с краю так (_{/*/}) или так ({/*/}_), но необязательно тут ({/*/_}).
Из справки:
Quote
Если один из элементов, участвующий в сравнении, содержит пробелы, то он (элемент) должен быть заключен в кавычки. Символ "кавычки" в NeoBook можно организовать при помощи спец. кода: [#34]. Например:
Дата: Сб, 22 Августа 2009, 09:39 | Сообщение # 164
Необукер
Проверенные
Сообщений: 4238
Offline
Добавлено (22 Август 2009, 09:39) ---------------------------------------------
Quote (VadimLevkin)
Ну, у меня в Дельфи совсем опыта нет
у меня тоже, единственное что я сделал, это калькулятор по подсчету НДС 15%,18%,20%(с учетом и без) и вывод этих сумм на экран(знакомая просила), на этом знакомство с делфи прикратилось, тогда(1,5г.назад)для меня это было сложно
Сообщение отредактировано sp3d - Сб, 22 Августа 2009, 09:34
Дата: Сб, 22 Августа 2009, 12:10 | Сообщение # 165
Друг клуба ММВ
Проверенные
Сообщений: 2713
Offline
Quote (VadimLevkin)
хелпа по FTP-клиенту FileZilla
Нет, это как то мне не интересно, на все бросаться мне и в голову не приходило. Ссылку дал по причине того что там размещен русский перевод официального документа консорциума W3C.
Quote (VadimLevkin)
BatchReplace - заменяет одну подстроку другой во всех файлах указанной папки и её подпапках.
А что это так актуально? Я имею ввиду саму задачу, как по мне, достаточно бредовая идея. Что то там не здраво, с логикой и методами хранения информации, если бы мне нужно было бы что то постоянно менять, я бы однозначно не держал бы это в файлах, да еще и заныканых в дереве на разных уровнях.
Quote (sp3d)
на этом знакомство с делфи прикратилось
Делфи, паскаль отличается строгой типизацией, основан на класах, ничего страшного в нем нет, просто очень много чего надо изучать, наследование, родители, потомки.. класс это описание объекта, который в свою очередь может быть наследником множества других классов. Другими словами, набрал строй материалов и строиш чего те надо. Конечно, всем этим с наскока овладеть невозможно. Так что, если, со временем, туда вернешся, после овладения другими языками, будет гораздо легче и понятние.
Дата: Сб, 22 Августа 2009, 12:18 | Сообщение # 166
Генератор идей
Модераторы
Сообщений: 3172
Offline
Quote (Alex3A)
А что это так актуально? Я имею ввиду саму задачу, как по мне, достаточно бредовая идея. Что то там не здраво, с логикой и методами хранения информации, если бы мне нужно было бы что то постоянно менять, я бы однозначно не держал бы это в файлах, да еще и заныканых в дереве на разных уровнях.
Пожалуй, что так. И для целей обучения все-таки лучше задачи искать максимально полезные.
Дата: Сб, 22 Августа 2009, 13:16 | Сообщение # 167
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (Alex3A)
Делфи, паскаль отличается строгой типизацией
ну вот это и сказалось, после AS2, где не надо ничего этого (интепрет. сам все раскидывает по полочкам), на делфи было очень тяжело с этими самыми обявлениями и типизациий ну и много еще чего сказалось. Но уже начинаю посматривоть в сторону делфи, т.к. многое в НБ не посилам, может и начну потихоньку изучать
Дата: Сб, 22 Августа 2009, 14:45 | Сообщение # 169
Генератор идей
Модераторы
Сообщений: 3172
Offline
Quote (VadimLevkin)
Увидел на сайте Пирамидина еще ссылку на скачивание хелпа по FTP-клиенту FileZilla, однако ссылка не рабочая. Alex, Вы, случаем, не скачивали этот хелп? Имя файла, судя по ссылке, filezilla-help.rar.
Вопрос снят! Автор, Алекс Пирамидин, отозвался и ссылочку восстановил! Если будете качать, то в файле index надо ссылки поменять на локальные, иначе фреймы не открываются... FileZilla очень хороший бесплатный FTP-клиент, давно и с удовольствием им пользуюсь.
Добавлено... Переделка index больше не нужна. Автор уже исправил.
Дата: Сб, 22 Августа 2009, 15:21 | Сообщение # 170
Ветеран форума
Проверенные
Сообщений: 487
Offline
Quote (VadimLevkin)
Ну, у меня в Дельфи совсем опыта нет.
Quote (sp3d)
у меня тоже
Я чего то недогоняю Неужели это для необукера ТАКАЯ сложная задача:
Quote (VadimLevkin)
заменяет одну подстроку другой во всех файлах указанной папки и её подпапках.
Зачем вам трогать исходники делфи???? Напишите все сами, своим умом! По мне - так это задача по сложности ниже среднего уровня, с которой может справится даже начинающий программист (неважно в какой среде он программирует).
Но если честно, то я полностью согласин с Алексом:
Quote (Alex3A)
А что это так актуально? Я имею ввиду саму задачу, как по мне, достаточно бредовая идея.
Дата: Сб, 22 Августа 2009, 15:52 | Сообщение # 171
Генератор идей
Модераторы
Сообщений: 3172
Offline
Quote (Bodi)
Зачем вам трогать исходники делфи
Дык, согласные уже :). Просто веры в свои программерские силы, видимо, у меня еще маловато, и все интересно :). А так то поразмыслив, понимаю, что задачка простая. Не на много сложнее, чем то, что только что обсуждали (я про удаление куска файла). Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)