Нет, я что-то совсем понять не могу: а что плохого в логических скобках?
Nyarlathotep
27-03-2005, 8:36
Alaric , а добавление логической переменной и ветвления лишнего в данном случае отьедает больше ресурсов и кода, чем простое GOTO

Я ж и говорил о том, что ресурсы экономить надо, а логические ветвления снижают скорость... Оптимизировать, оптимизировать и ишо раз оптимизировать © В.И.Ленин
Спасибо за наглядное доказательство преимущества GOTO
Мальв Если мне нужна будет реальная оптимизация по скорости работы программы, я вообще на Дельфи писать не буду. Перейду на что-нибудь другое. Что же касается экономии на одном байте, то тут я уже не знаю, что сказать

Все ж таки не на программируемом микрокалькуляторе пишем

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

Логические скобки читаемость повышают. Метки - понижают.
Трангха
27-03-2005, 22:28
Логические скобки в Делфи нехороши тем, что они одинаковы для все структур, как-то циклы, развилки, ветвления. В VB все понятно: End If закрывает развилку, Next i - цикл счетчика i, End Select - ветвление. Когда идет несколько вложенных циклов, развилок, в Делфи легко запутаться, какой end что закрывает. Несколько облегчает ситуацию написание программного кода с отступами, но и это не панацея. Недавно я писал курсовик, там у меня было полдюжины эндов подрядов, причем код программы постоянно менялся, какие участки я удалял, какие-то добавлял и получилось, что структура отступов нарушилась. Мне потребовалось довольно много времени, что восстановить логическую структуру кода. В VB на это ушло бы всего несколько минут.
Der Kannibal
27-03-2005, 22:43
Не, профан я в этом полнейший...
Хотя изучал HTML, Java...
Помню, даж книжки по C++ и PHP покупал...
А толку...
Трангха Если у меня идет много end'ов подряд, то я после некоторых из них пишу комментарий, что же он заканчивает. А за отступами слежу всегда и их структура у меня нарушится не может

Причем отступы всегда двойные. Когда размер программы (чистого кода) начинает считаться на мегабайты, иначе нельзя

А если при любой правке четко следить за отступами, то никаких проблем со скобками обычно не возникает.
Трангха
28-03-2005, 21:28
Alaric, на все это уходит время. А когда вес исходника измеряется метрами, время, ушедшее на чистку, измеряется часами. Что не говори, в VB все равно быстрее.
Трангха Я по работе вынужден работать с исходниками весом в несколько метров. И ни разу мне не приходилось чистить что-то часами. Причем, по-моему, в приличной степени благодаря логическим скобкам (мы доходим иногда до того, что иногда ставим их даже там, где можно и не ставить, например, если в теле цикла один оператор) и отступам. Отступы вообще возведены в ранг культа

Написано на Дельфи. Вообще программа пишется с учетом того, что в нее неизбежно будут вноситься изменения.
Если мне приходится переделывать что-то в чужой программе на Паскале или Дельфи, я начинаю с того, что расставляю по всей программе отступы и пробелы. Вот с нуля это проделать долго. Но оно того стоит.
Возможно, все дело в привычке. Но Бэйсик со школьных лет не люблю
Трангха
28-03-2005, 22:36
Alaric, ты просто не замечаешь, как уходит время. Написал один коммент - десяток секунд, другой еще десяток, организация отступов - еще секунды. За недели (я полагаю, что такие крупные проги пишутся как минимум неделями) набегают часы.
а у тебя какой язык родной? Я защищаю Basic, потому что он - моя вотчина, я осваивал на нем азы программирования.

хотя недостатков в нем дофига и больше.
Nyarlathotep
28-03-2005, 22:58
Трангха,
Alaric, исходники по несколько метров - это внушает... Интригующе даже. Трудно мне представить себе такое. Потому что неясно, собственно, что ж это может быть - Quake IV или OpenOffice 2005 ? Но явно что-то для профи.
Насчет end - да, сам бывало путался, но это фигня. А вот то, что VB - интерпретатор псевдокода, в моих глазах перечеркивает все его удобства. Единственный стоящий язык, для которого реализованы классные интерпретаторы псевдокода - это FORTH. А псевдокод васика - гы...
: HELLO ." Hello Forth!" ;
Отступы в 2 пробела - это мой пунктик, а точнее помешательство. Вы бы это заметили, если б Утеха не относилась так злобно к лидирующим пробелам и не удалила их целиком из моего примера "гр.Обломов".

Отступы кстати и в Бейсике помогают. Да и вообще везде.
Бейсик я не ненавижу. Как можно ненавидеть ребенка-дауна?
Alaric Цитата |
Если мне нужна будет реальная оптимизация по скорости работы программы, я вообще на Дельфи писать не буду. Перейду на что-нибудь другое. Что же касается экономии на одном байте, то тут я уже не знаю, что сказать Все ж таки не на программируемом микрокалькуляторе пишем А исходный код экономить имхо вообще бредовое занятие. Исходный код в первую очередь должен легко читаться, ибо его с большой степенью вероятности придется править Логические скобки читаемость повышают. Метки - понижают. |
ИМХО читабельность кода при разумном использовании меток не падает. А лишнее ветвление, повторяющееся тысячу-другую раз, способно здорово посадить производительность. Впрочем, чего это я - все программисты давно уже на Pentium-IV, один я на AMD K6-2

Но читал я журнал "Программист" не помню номера и года, статьи про оптимизацию, так вот, можно круто протупить и посадить процессор наматывать лишние километры одним лишним ветвлением или переходом. В описанном выше случае конструкции вида
if vvv then begin oblom:=true; break end;
я предпочту
if vvv then goto zzz;
вот.

Желаю всем легкоусвояемости многометровых исходников без побочных эффектов aka скрюченные ручки, глазки в кучку и сьехавшая крыша
Хм, нам Goto вообще запрещали использовать. Низя, и все тут.
Народ, а в SQL кто-нибудь разбирается? Применительно к Microsoft Access.
Если честно, я в программировании полный ноль. Еще в школе на уроках информатики постоянно списывала. В одиннадцатом классе вообще всю информатику пропустила из-за подготовительных курсов(мне давали задание, которое за меня великодушно выполнял друг, неплохо разбирающийся во всем этом). Я так и не умею пользоваться аськой, да и вообще инет у меня появился около года назад.
Nicke
Было дело, но это было давно.
Если честно, то когда учила C++, то понимала, проги писАла, все нормально.... А сейчас... ну, помню самый примитив, а чтобы нормально... Если, конечно, конспекты почитать, вспомню, но тот уровень, которым владела, уже не восстановлю, думаю.
Nyarlathotep
15-07-2005, 18:31
Алила, Аська - это просто, если ты сама захочешь. Вообще мной давно подмечено: сложно и неусвояемо только то, чего мы не хотим. У тебя с информатикой те же отношения, видимо, что у меня с математикой (или физикой). "Не-же-ла-ем жить по другому!" - вот он, волшебный замок, к которому никто никогда не найдет ключа. Гарантию даю, никто, кроме самого запертого.
Shelma, а мне кажется, что восстановить можно. Это легче, чем выучить. Я чувствую то же самое; у меня бывают перерывы в программировании, и каждый раз приходится что-то вспоминать, когда возвращаюсь. Я, правда, не Сишник, а Паскалист, Си++ я не люблю

Хоть и знаю в общем (структуры и принципы языка, а не конкретные библиотеки), но не думаю, чтобы в восстановлении разных знаний было большое различие.
Stalkersha
25-07-2005, 11:27
О! нас 25 человек (вместе со мной) кто в программировании ни буб-бум...Правда я знаю одно словосочетание, которым постоянно ругается моя знакомая, будущая программистка- "квадратная матрица!!!!" наверно это ооооочень страшная штука!...
DarkUnit
25-07-2005, 14:24
знаю немного паскаль и все..
Мои знания в програмировании ограничиваются школьной программой... Если точнее: Basic, Pascal.
"Я не волшебник, я только учусь"
Белый оборотень
16-01-2006, 21:18
Решил поднять тему, если честно, то только из-за эгоистичных замыслов=Р. В общем у меня дипломная работа по программированию, буду программировать в С++, поэтому прошу тех, кто смыыслит в этом больше меня помочь знанием или хорошим ресурсом, так как что-нибудь толковое по работе с графическими изображениями я в интеренете найти что-то не могу=(. Всё что связано с изменением размеров, обрезкой и конвертацией интерисует меня, заранее благодарен.
Графика? OpenGl мона юзать.
Spectre28
17-01-2006, 0:57
Cagat, что конкретно интересует? Работа с картинками из файлов взятыми, или ты хочешь, чтобы прога рисовала всё, что нужно?
Энивей, могу дать совет - если не заставляют брать, скажем, именно Вижуал Студио, работай в борландовском С-Билдере, в нём, ИМХО, всё делается легко и приятно - работа с графикой тут не исключение. Сам в нём недавно проект небольшой делал и сдавал - аналог покера)
И по теме... что ж, могу работать в Паскале, Дельфи, С++, на Вижуал Бэйсике... в процессе изучения пхп, планируется java)
А можно я похвастаюсь? Сегодня вот экзамен по информатике на 5 сдала. Я, конечно , понимаю, что ничего особо сложного мы не проходим (в частности мы изучаем Pascal), но все равно приятно, испытываю даже некоторое чувство гордости. Кстати, мне очень нравится работать в Pascal, на мой взгляд, это своеобразная зарядка для мозгов - учит мыслить логически.
Белый оборотень
17-01-2006, 22:00
Да уж, мы этот Паскаль уже 4-ый год учим...
Так, у меня задание такое: написать программу, работающую с изображениями - файлами, могущую изменять размер изображения, конвертировать и выполнять обрезку (cм. ACDSee, толко компактнее=)).
Spectre28
17-01-2006, 22:09
Cagat, точно бери С-Билдер) Вся ручная работа отпадёт - по типу создания формы, расположения управляющих элементов и прочая, и прочая. Загрузить картинку на форму там - одна строка. Изменить параметры под заданные - ещё две строки... вот с конвертированием не работал, честно, не знаю даже)но, по идее, тоже несложно... где-то я в тамошнем хелпе читал про это...) надо будет попробовать - когда доберусь до ноута (на стационарный не ставил Билдер...)
Белый оборотень
17-01-2006, 22:33
Копирование с масштабированием - StretchDraw
Копирование прямоугольного участка канвы - CopyRect
Я так понимаю, что это для работы с канвой. Но так как с ней я совсем мало знаком, хочется узнать могу ли я в эту самую канву зугрузить файл-изображение?
А про конвертацию мне дикая идея в голову пришла! Просто написать код автоматического сохранения в выбранном формате. Например выбрал человек формат jpg, жмёт кнопку конвертация, и программа просто выполняет операцию Save as... и в имени формата после точки просто приписывае этот самый jpg. Надеюсь ясно объяснил свою мысль=)
Spectre28
17-01-2006, 22:38
Cagat, в билдере строка загрузки картинки из файла в канву будет выглядеть попросту:
Image1->Picture->LoadFromFile("имя файла как АНСИ-стринг");
))) Дельфи, короче)
Изгнанник
26-01-2006, 21:08
Знаю азы VB Delphi HTML+Java. А так неплохо в компах разбераюсь во всем помаленьку по мере надобности
Белый оборотень
10-06-2006, 16:38
СРОЧНО нужны любые данные о реализации методов фрактального сжатия графики (желательно в С++ Builder)
Танцующий с Тенями
10-06-2006, 17:33
На уровне пользователя - хорошо, а так - немного знаю Паскаль... Ну, не больше чем программы на основе множеств, двумерных массивов и записей, да еще графики...
Пожалуйста, помогите! Очень важно и срочно! Что делать, если мне нужно открыть сжатое изображение и увеличить его. В частности, картинку 2х4 см мне нужно увеличить до А4 так, чтобы можно было разобрать текст. (это фотография с обыкновенного печатного листа).
Гуталинка
10-06-2006, 19:03
я умею делать программки, шобы циферки в числе поменялись местами...
Кендер-оборотень
10-06-2006, 19:12
Цитата(Алила @ 10-06-2006, 18:26)
Пожалуйста, помогите! Очень важно и срочно! Что делать, если мне нужно открыть сжатое изображение и увеличить его. В частности, картинку 2х4 см мне нужно увеличить до А4 так, чтобы можно было разобрать текст. (это фотография с обыкновенного печатного листа).
Придётся тебе самой фотопопой подрисовывать. Иначе - никак.
Кендер-оборотень
Что значит подрисовывать?! Я ни одной буквы не могу разобрать, а мне позарез надо прочитать написанное
Танцующий с Тенями
10-06-2006, 19:44
Цитата
Пожалуйста, помогите! Очень важно и срочно! Что делать, если мне нужно открыть сжатое изображение и увеличить его. В частности, картинку 2х4 см мне нужно увеличить до А4 так, чтобы можно было разобрать текст. (это фотография с обыкновенного печатного листа).
Ну вообще-то с помощью фотошопа можно... В опции "Размер изображения"... увеличиваешь, качество должно вполне сохраниться, если взять "максимальное"...
DarkDruid
10-06-2006, 20:20
аз тут тако знающий народ, КТО-НИБУДЬ скажите как обрабатывать sig-файлы, курсовик не идет :-(
Capgaykap
10-06-2006, 20:24
Аська.. графика.. SQL..
Господа, операционные системы на ассмеблере никто тут не писал для встраиваемых микроконтроллеров? А драйвера устройств для ОС реального времени в блокноте? И не пишите, это жесть еще та..
Алексей Серый
10-06-2006, 20:27
Цитата
как обрабатывать sig-файлы
А это что?
Лично я имею некоторые познания в програмировании. Конкретно - пытался писать скрипты к Морру и Нвнке (иногда они даже делали то, что было задумано!). В школе же большая часть работ по информатике была одинаковая у всего класа, т.к. была бессовестно слита у меня:-)
Но до Кулцхацкера мне далеко
DarkDruid
10-06-2006, 20:42
sig - файл, говоря просто - файл с информацией о передаваемом объекте, конкретней не скажу, т.к. сам еще не до конца разобрался... sig - файлы легко перехватываются сниферами
Немного знаю HTML и JavaScript. Я с помощью этой радости реферат писала на тему "Виртуальный фотоальбом" и этот самый альбом делала. По причине школьной необходимости немного работала в Basike. Ну и как пользователь не плохо разбираюсь. В общем, уже не совсем чайник

.
Танцующий с Тенями
10-06-2006, 21:10
Цитата
Немного знаю HTML и JavaScript. Я с помощью этой радости реферат писала на тему "Виртуальный фотоальбом" и этот самый альбом делала. По причине школьной необходимости немного работала в Basike. Ну и как пользователь не плохо разбираюсь. В общем, уже не совсем чайник .
Мням... а я тока собираюсь учить Аштиэмэль или JavaScript... Что лучше-то? Я в этом сдлабо разбираюсь...
Цитата
Мням... а я тока собираюсь учить Аштиэмэль или JavaScript... Что лучше-то? Я в этом сдлабо разбираюсь...
Легче сказать что проще - HTML проще. Но Java работает красивше. Динамическая часть любой интернет-странички - это Java, статическая (неподвижная) часть - HTML.
DarkDruid
10-06-2006, 23:45
Цитата(Dinara @ 10-06-2006, 9:15)
Динамическая часть любой интернет-странички - это Java, статическая (неподвижная) часть - HTML.
хм... я бы сказал, чта коль руки умелые, дык ы хатемля двигаться могёт ;-)
а коль руки кривые, так их выпрямлять нуно, на ночь под подушку или ешо что-нить
Spectre28
10-06-2006, 23:47
а ещё флеш-скрипты есть... если мы о динамике говорим...) насчёт любой странички - это слишком силно сказано)
atlantis
11-06-2006, 18:00
Програмирую вроде бы нормально. Знаю на нормально PHP, Pascal, Delphi, JavaScript, HTML, Prolog, SQL.
Вот с таким багажом и живу, а точнее пытаюсь по больше в них разобраться.
По долгу института приходится все это знать. Очень прикольно когда их знаешь и понимаешь как работает тот или иной продукт.
Bakeneko
3-07-2006, 14:48
Цитата
Господа, операционные системы на ассмеблере никто тут не писал для встраиваемых микроконтроллеров? А драйвера устройств для ОС реального времени в блокноте? И не пишите, это жесть еще та..
Это действительно жуть, сам видел. У мня в глазах аж зарябило...
Сам знаю Pascal (спасибо колледжу), немного Delphi... Сейчас пытаюсь освоить С#, по самоучебнику Г. Шилдта... (если кому-то надо, могу кинуть фтпшную ссылку на скан в pdf'ке, только учтите - размер около 25 мб)
Это облегченная версия форума. Для просмотра полной версии с графическим дизайном и картинками, с возможностью создавать темы и писать ответы, пожалуйста, нажмите
сюда.