Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кто как начал познавать азы программирования?

13K
07 декабря 2005 года
Максим
4 / / 23.11.2005
Читаю книжки, переписываю в тетрадку, чтоб быстрее найти что нужно.

Усваиваю материал. Но до сих пор не могу представить как написать
программу. Даже то же квадратное уравнение :(

Почему так?
Страницы:
4.8K
08 декабря 2005 года
Вася Триллер
149 / / 30.10.2005
Цитата:
Originally posted by Максим
Читаю книжки, переписываю в тетрадку, чтоб быстрее найти что нужно.

Усваиваю материал. Но до сих пор не могу представить как написать
программу. Даже то же квадратное уравнение :(

Почему так?


Я просто увлекался программированием. Читал и читал...
В 10 лет уже что-то творил на VB6.
Сейчас мне 14, и я рублю в Delphi и PHP.
В промежутке же между этими событиями читал книжки по С++, HTML, JS, CSS, ASM, что-то творил на этих языках...
Линуксом пока не увлекался.

249
08 декабря 2005 года
DissDoc
639 / / 01.10.2004
Мой опыт такой.
Я только в инсте узнал, что такое программирование... Но как оно работает и с чем его едят - это было также не понятно... Что такое программирование (именно как писать программы) - я узнал случайно, и даже смешно...
Программа - это алгоритм, понятный компьютеру. А теперь вдумайся, что такое "алгоритм"!
На простом примере сложить два числа. Ты что делаешь? Узнаешь значение первого числа, затем вторго, потом складываешь. А сумму надо где-то держать? тогда записываешь это все в третье число. Все. На более сложных примерах - алгоритм сложнее... Надо просто уметь составлять алгоритмы +) а какой язык - это ерунда (кроме асма конечно)
259
08 декабря 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Максим
Читаю книжки, переписываю в тетрадку, чтоб быстрее найти что нужно.

Усваиваю материал. Но до сих пор не могу представить как написать
программу. Даже то же квадратное уравнение :(

Почему так?


Квадратное уравнение кстати не так и просто написать. Нужно знать хотя бы азы численных методов. А в остальном DissDoc прав на все 100%. Учись, в первую очередь, составлять алгоритмы. Почитай книги Дейкстра. Для начала "Программы=Алгоритмы+Структуры данных". Ну и библию Кнутта "Исскуство программирования" естественно. Т.е. читать нужно не столько описание языков, сколько книги по проектированию.

13K
08 декабря 2005 года
Максим
4 / / 23.11.2005
Есть у меня 2 тома Кнута. Вот только как мне кажется там сплошная математика и еще какой-то старый компьютер.

Мало что я там понимаю.
249
08 декабря 2005 года
DissDoc
639 / / 01.10.2004
Вообще Кнут для меня не очень понятен, там хорошие алгоритмы, но нужно техническое образование, чтоб понять многое из него (ну не техническое, но все же математику на хорошем уровне)...
Да и вообще - программирование штука сложная, иногда над одной строчкой можно неделю биться... Короче, придется тебе попотеть, чтоб чего-то начало получаться. А начни с легенды программирования
"Hello, World!"
Потом с этой строкой поиграйся: табуляцию поставь, посчитай число символов и вообще сделай все, что позволит твое воображение. Тут и практика появится сразу. (Хотя я так синтаксис языка изучаю, а не программирование, но не знаю, может это поможет)
2.1K
09 декабря 2005 года
ksicom
38 / / 11.09.2003
Ой, люблю я настольгировать, а уж название темы прямо-таки располагает к этому :)
Если в лом читать, см. только последние абзацы :)

По поводу азов:
Мой первый комп был - Искра с процессором 8086, 640 Kb памяти и без жёсткого диска, зато с двумя дисководами 5.25" на 360Kb каждый.
Было это кажется в 1996 году, когда в почтовый ящик Формоза уже кидала листовки о том какой комп лучше выбирать: Pentium 100 или Pentium 166. (до сих пор храню :) )
И вот только благодаря этому чуду я научился программировать. На нём ни шла ни одна из игр, кроме LHX и Strip Pocker! (о других я просто не знал, т. к. ни интернета ни денег на дискеты тогда не было, а я в 7ом классе учился)
Даже русификатор на этом чуде техники не работал как надо, ни rk.com, ни keyrus. Из софта был только MS-DOS 6.22, vc.com и Turbo Pascal 5.5. В общем меня просто припёрло к стенке. И понеслась... Сразу после программы "Hеllo World" на паскале я начал изучать вектора прерываний, программирование знакогенератора и т. д. В итоге - корявый резидентный русификатор, благодаря которому я смог на русском писать комментарии к программе Hеllo World и собственно к русификатору. А потом я узнал, что оказывается где-то когда-то был такой драйвер 800.com, благодаря которому можно записать на дискету в 360Kb аж целых 720! Найти не смог, написать до конца тоже не смог, но зато познакомился с ассемблером, контроллером НГМД, 13ым прерыванием и т. д. и т. п.
Ну а дальше пошло поехало....

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

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

По поводу Кнута. Даже с уже почти законченным высшим техническим образованием читать тяжко, хотя очень интересно. За что эти книжки обожаю, так это за то, что в них нет никаких Visual, Simple, "высокого уровня", и т.д и т. п. Всё разложено до самых основ, до микросхем и передаёт смысл проблемы, а не то как и куда надо жать мышой.

И ещё один совет, с которым многие не согласятся, но по опыту общения с "крутыми программерами" знаю, что пока это именно так.
Откажись вначале от ООП. Изучай ассемблер, C, паскаль в крайнем случае. Старайся понять принципы действия компьютера как электронного устройства, а не набора классов и объектов. Если этого не сделаешь, то когда ты первый раз столкнёшься с действительно серьёзной ошибкой или проблемой, то для тебя будет шоком, что в процессоре нет конструкторов и наследования (во всяком случае пока), а "сеть" - это не набор функций и библиотек.
3
09 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by ksicom
Ой, люблю я настольгировать, а уж название темы прямо-таки располагает к этому :)
Если в лом читать, см. только последние абзацы :)


Ок, читаю последние абзацы... :)

Цитата:
Originally posted by ksicom

Совет такой: программировать просто так научиться нельзя! Должна быть задача, [COLOR=red]которую в текущих условиях другими методами решить невозможно.[/COLOR]


Чепуха.
Компьютер лишь ускоряет процесс, а не дает совешенно другие методы.

Цитата:
Originally posted by ksicom

Читать книжки по программированию просто так бесполезно, [COLOR=red]нужно хотеть что-то сделать чего либо ещё нет, или без чего лично тебе просто-таки не обойтись.[/COLOR]


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

Цитата:
Originally posted by ksicom

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


Охинея!
Ты видимо попутал с админами...
Может ты считаешь, что прикладной программист должен ещё и компьютер уметь собрать? BIOS настроить... Куллер на проц правильно надеть...
А на кой тогда админы?

Цитата:
Originally posted by ksicom

По поводу Кнута. Даже с уже почти законченным высшим техническим образованием читать тяжко, хотя очень интересно. За что эти книжки обожаю, так это за то, что в них нет никаких Visual, Simple, "высокого уровня", и т.д и т. п. Всё разложено до самых основ, до микросхем и передаёт смысл проблемы, а не то как и куда надо жать мышой.



Цитата:
Originally posted by ksicom

И ещё один совет, с которым многие не согласятся, но по опыту общения с "крутыми программерами" знаю, что пока это именно так.
Откажись вначале от ООП. Изучай ассемблер, C, паскаль в крайнем случае.


Совет автомобилисту: откажись вначале от двигателя внутреннего сгорания. Изучай педальный привод, ослиные и собачьи упряжки, в крайнем случае паровые котлы.

Цитата:
Originally posted by ksicom

Старайся понять принципы действия компьютера как электронного устройства, а не набора классов и объектов.


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

Цитата:
Originally posted by ksicom

Если этого не сделаешь, то когда ты первый раз столкнёшься с действительно серьёзной ошибкой или проблемой, то для тебя будет шоком, что в процессоре нет конструкторов и наследования (во всяком случае пока), а "сеть" - это не набор функций и библиотек.


Да, действительно будет так... если человек полный идиот, а точнее с диагнозом "аутизм".

Итог: не всегда путь пройденный нами является рациональным, даже если мы достигли нирваны... :)

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

И ещё важный момент: корректно работающий неоптимальный код ВСЕГДА лучше "оптимального" неработающего кода. Нашы мысли мимолетны, а выводы часто ошибочны, поэтому стремись по-быстрее проверить свои предположения на практике, а не пытайся создать "идеальную реализацию" непроверенной идеи. Только не забывай потом "причесывать" уже работающую версию.
А для этого пользуйся языком программирования, как языком, а не как шифром: не скупись на полные имена и ясность структур. Не экономь место, программа от этого лучше не станет.

13K
09 декабря 2005 года
Максим
4 / / 23.11.2005
Всем спасибо. По тихоньку пробую. Часто с мыслями о том как решить задачу засыпаю :)

Вот дали задачку:

Пользователь вводит 3 числа (a, и и с);

Надо определить какое из них самое маленькое и выдать его в качестве результата.

Для этого мы создаем функцию Min(a, b) она получает на входе два числа, определяет какое меньше и возвращает. (такая функция где-то наверняка в стандартных библиотеках есть, но наша задача написать ее самим)

Я создал функцию
function Min(a, b:real) : real;
begin

if a < b then
Min := a
else
Min := b

end;

А теперь мне надо с помощью этой функции найти наименьшее из трех чисел.

Итак, задача:
а) написать функцию Min
б) применив ее сделать алгоритм на кнопку "Минимальное" и выдать результат.
4.8K
09 декабря 2005 года
Вася Триллер
149 / / 30.10.2005
Цитата:
Originally posted by ksicom
Читать книжки по программированию просто так бесполезно, нужно хотеть что-то сделать чего либо ещё нет, или без чего лично тебе просто-таки не обойтись.



Видимо мой случай - это редчайшее исключение... :)

Цитата:
Originally posted by ksicom
Откажись вначале от ООП. Изучай ассемблер, C, паскаль в крайнем случае. Старайся понять принципы действия компьютера как электронного устройства, а не набора классов и объектов.


Полностью согласен.

243
10 декабря 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by ksicom
И как можно быстрее соскакивать с винды. Дело не в том что линукс лучше/хуже, просто в нём ты поймёшь всю красоту и необходимость программирования, пускай даже с кракозябрами и квадратиками вместо русских букв. В нём без программирования никуда, либо обратно в винду, либо научишься хорошо программировать.


Так, у меня то же масса вопросов. Можно узнать - что винда такого не дает постичь и сделать, что дает линукс? ИМХО надо изучать то, в чем ты хочешь быть профи. Или и то, и другое, пока не определишься.

Цитата:
Originally posted by ksicom
а "сеть" - это не набор функций и библиотек.


Так, что-то я не понял связи между компьютером, как набором микросхем, и работой сети. Можно разъяснить? Работа стека сетевых протоколов не очень-то похожа на работу компьютера как МПС (микропроц. системы). И что такого нужного мы не можем сделать используя стандартный набор библиотек и функций для работы с сетью?

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

ЗЫ Обязательно пройди "Соло на клавиатуре" - это на полном серьезе, это действительно пригодится, чем бы ты не занялся в программировании. Сэкономишь массу времени и сил, потратив их только раз.

2.1K
10 декабря 2005 года
ksicom
38 / / 11.09.2003
to Green:
Цитата:
Если чего-то принципиально нет в компьютерном мире, то скорее всего оно никому (даже тебе не надо). Это, кстати, один из законов шареваре.
Если тебе без чего-то не обойтись, то скорее всего кто-то уже был в подобной ситуации, поэтому лучше обратиться к существующему, а не изобретать велосипед по-новой. Необходимые вещи редко бывают уникальными.
Лучше не наступать на грабли эволюции, а попробовать уразуметь опыт других. Благодаря этому существует прогресс.


Не очень понятно, благодаря чему существует прогресс. Получается, программировать вообще не надо, ведь всё уже и так есть. :) Интересно только, откуда это всё взялось.

Цитата:
Охинея!
Ты видимо попутал с админами...
Может ты считаешь, что прикладной программист должен ещё и компьютер уметь собрать? BIOS настроить... Куллер на проц правильно надеть...
А на кой тогда админы?


Гм, а интересно, кто программы для тех же BIOS пишет, наверное админы?

Вообще "прикладное" программирование - палка о двух концах. Вроде просто и знать много не надо, но беда в том, что заказы для прикладников крупные бизнесы всё чаще в Индии размещают. А вот с "низкоуровневым" (в самом широком смысле) такой тенденции ПОКА нет, да и платят больше, особенно ТАМ :) А главное - куда уж интереснее, чем бесконечные шароварные бухгалтерские программулины штамповать. (ничего личного, просто походите по выставкам отечественных софтофирм)

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


to Вася Триллер

Цитата:
Я просто увлекался программированием. Читал и читал...
В 10 лет уже что-то творил на VB6.
Сейчас мне 14, и я рублю в Delphi и PHP.
В промежутке же между этими событиями читал книжки по С++, HTML, JS, CSS, ASM, что-то творил на этих языках...
Линуксом пока не увлекался.


"творил" - т.е. мыслил творчески, создавал что-то новое пусть даже только для тебя. Какое же ты исключение? Или просто примеры перебивал из книжек? Тогда действительно исключение :)

pacific_7
По поводу линукса. Для того, чтобы научиться программировать нету системы лучше. Причём даже, если хочешь быть профессиональным программистом под виндовсом, потому что более недоделанной, но при этом документированной со всех сторон системы, да ещё и с исходниками в мире виндовса не найти. Программировать приходится на каждом шагу => обучение происходит интенсивно, даже если не хочешь. Пример:
Вы пробовали когда-нибудь ставить ProFTPd (1.2.10)?
Казалось бы, что может быть проще? ./configure;make;make install; И всё работает. Но! Все буквы "я" в именах русских файлов пропадают! Ахинея, не правда ли? :) Решение - править исходники. :) Если не верите, спросите гугла. И так на каждом шагу. Даже если не хочешь, программировать научишься :)
А в винде? Берём Serv-U, ставим, работает. Ну не скучно ли? :) И как в таких условиях учиться программировать? :) Всё есть, более менее работает. А то что не работает, всё равно не поправишь, исходников-то нету.
А если серьёзно, то конечно всё равно, под какой ОС учиться. Просто под линуксом всегда есть дополнительные "стимулы" в виде маленьких недоработок, которые под силу поправить даже начинающему программисту. :)

По поводу "сети" - признаюсь, переборщил :)

3
10 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by ksicom
to Green:
Не очень понятно, благодаря чему существует прогресс. Получается, программировать вообще не надо, ведь всё уже и так есть. :) Интересно только, откуда это всё взялось.


Прогресс существует в основном за счет эволюционного пути.
Есть все, но не в достаточной степени. :)

Цитата:
Originally posted by ksicom

Гм, а интересно, кто программы для тех же BIOS пишет, наверное админы?


Ну уж точно, не прикладные программисты.

Цитата:
Originally posted by ksicom

Вообще "прикладное" программирование - палка о двух концах. Вроде просто и знать много не надо, но беда в том, что заказы для прикладников крупные бизнесы всё чаще в Индии размещают.


Какая глупость!
И про "знать много не надо", и про Индию...

Цитата:
Originally posted by ksicom

А вот с "низкоуровневым" (в самом широком смысле) такой тенденции ПОКА нет, да и платят больше, особенно ТАМ :)


Очередная глупость.

Цитата:
Originally posted by ksicom

А главное - куда уж интереснее, чем бесконечные шароварные бухгалтерские программулины штамповать. (ничего личного, просто походите по выставкам отечественных софтофирм)


А... т.е. прикладные программы - это исключительно бухгалтерия... :D :D :D

Цитата:
Originally posted by ksicom

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


Фигня... Всё зависит от решаемых задач.

Цитата:
Originally posted by ksicom

Другое дело "всякие" асмы, C, паскали. Они слишком непригодны для написания проектов целиком, но дают наиболее широкие представления о программировании.


Что не слово - чушь.
Какое представление?
Рубанок и дрель, в силу их кажущейся "мощи" не дают человеку придти к грани, за которой начинается восприятие их, как инструмента.
Другое дело "всякие" рашпили, коловороты, стамески. Они слишком не пригодны для создания изделий целиком, но дают наиболее широкие представления о столярном деле.

Кстати, Windows и Linux написаны на C, на языке "слишком непригодном для написания проектов целиком"...

Цитата:
Originally posted by ksicom

Поэтому в конце концов человек начинает выбирать инструменты под задачи не по рекламных буклетам, а примерно представляя Как Устроен пакет и чем он будет полезен в конкретной ситуации.


По рекламным буклетам... :D:D:D
М-да...
Т.е. что бы представить Как Устроен пакет, надо использовать средства "слишком непригодные для написания проектов целиком" ?
Мазахизм + маразм...

Цитата:
Originally posted by ksicom

<skip
>Вы пробовали когда-нибудь ставить ProFTPd (1.2.10)?
Казалось бы, что может быть проще?


А ты пробовал посчитать площать белого прямоугольника?
Казалось бы, что может быть проще? :)

3
10 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by pacific_7
Автору - не обращай на нас особого внимания. Просто прими к сведенью. Все равно тема скорее всего превратится в очередной поток флуда. А в итоге - у каждого будет (или есть) свой метод познания и свой путь к цели.


Да не... пусть уж обращает внимание, раз подбросил навоза на вентилятор... :)

488
10 декабря 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Green
Да не... пусть уж обращает внимание, раз подбросил навоза на вентилятор... :)

Я прочитал посты. Навоза на вентилятор бросил кадр с ником Green. Максим задал вопрос, ksicom ответил, написал свое видение вещей. Конечно есть спорные моменты в его мнении, но ни один из них не доходит, до того бреда или маразма, чем мнение, что программа в первую очередь должна быть красивой. При этом, он твою маму не вспоминал и тебя никуда не посылал. Но ты в своем посте начал: "Чепуха...Охинея!...Да, действительно будет так... если человек полный идиот, а точнее с диагнозом "аутизм"...Что не слово - чушь...Какая глупость!...Очередная глупость."

А теперь читай это -
ksicom: - Откажись вначале от ООП. Изучай ассемблер, [color=red]C[/color], паскаль в крайнем случае.

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

Green: - Кстати, Windows и Linux написаны на [color=red]C[/color], на языке "слишком непригодном для написания проектов целиком"...

Ты сперва определись, C - это педальный привод в программировании, или же на нем писали самую распространенную ОС.

На счет подсчета белых прямоугольников...:)

Это простая, простая задача. Тебя конечно она замучила. Ты выставил программу из 20-30 операторов, которая из-за имеющегосся бага, задачу могла решить только случайно. Благодаря мне, я тебе указал контрпример, ты исправил прогу.
После этого я тебе указал, что для решения задачи достаточно выделить памяти порядка N, в то время как твоя программа выделяет N^2. (Очередной ляпус). Просил исправить. Но вместо этого ты включил вентилятор. + написал, что нужна не программа, а алгоритм. Попробую объяснить на уровне трехлетнего ребенка, чтоб даже ты понял.

Задача. Есть набор элементов. Определить какие элементы этого набора удовлетворяют определенным условиям.

Для этой задачи имеется как минимум один алгоритм решения: алгоритм тупого полного перебора.

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

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

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

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

243
10 декабря 2005 года
pacific_7
1.9K / / 06.09.2004
Ребята, ну хватит блин! Опять щас страшное гонево начнется, которое в очередной раз не покажет ничего кроме некультурности оппонентов.
Вы сами подумайте - оно вам надо? Выясните отношения через приват что ли.
Mоngооsе - "Тогда я возьмусь за свою программу." Где то я уже это слышал :) Ну да ладно, не буду лезть, но тоже начинает смотреться не более красиво чем "Охинея..." Если че-то недопонимаю и хочется что-то сказать, то туда же - в приват.
488
10 декабря 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by pacific_7
Mоngооsе - "Тогда я возьмусь за свою программу." Где то я уже это слышал :) Ну да ладно, не буду лезть, но тоже начинает смотреться не более красиво чем "Охинея..." Если че-то недопонимаю и хочется что-то сказать, то туда же - в приват.

Конкретно где и от кого это слышал. Если хорошо помню, между нами был спор на ветке Pascal об одной программе. Я тебе выложил две версии.

На счет некультурности оппонентов. Думаю что можно спорить. Обороты речи, "я с тобой не согласен...мне кажется, что ты ошибаешься...я думаю по-другому...итп.
Хоть минимальное уважение к оппоненту.

Но не ругаться. Обороты речи "Что не слово - чушь...Какая глупость!...Очередная глупость"

Но есть люди с которых культура, как с гуся вода.

255
10 декабря 2005 года
Dart Bobr
1.4K / / 09.04.2004
Ладно, не хочу ни с кем спорить, но расскажу как я начинал програмить. Сначала - просто изучения Pascal. По таким старым добрым учебникам как Абрамов. Потом я начал програмировать на листочке. Нет, не по тому что у меня не было компа, он у меня был. Просто мне это понравилось. Даже сейчас я лучше програмирую на листике, чем за компом, особенно что касается сложных задач.
4.8K
10 декабря 2005 года
Вася Триллер
149 / / 30.10.2005
Цитата:
Originally posted by ksicom
"творил" - т.е. мыслил творчески, создавал что-то новое пусть даже только для тебя. Какое же ты исключение? Или просто примеры перебивал из книжек? Тогда действительно исключение :)


Хм... На заре своего программистского развития :) я не особо творчески мыслил - так, апгрейдил примеры из книжек, порой придумывая что-то своё, оригинальное... Особенно криптография - там я буквально фонтанировал твсяческими идеями...
Так что считайте меня "полуисключением".

3
10 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Mоngооsе
Я прочитал посты. Навоза на вентилятор бросил кадр с ником Green.


О! Опять переходим к моей личности. Уже не забавно... както обыйденно...
Если я стал для тебя занозой, смирись. Здесь уж ничего не исправить... :D

Цитата:
Originally posted by Mоngооsе
При этом, он твою маму не вспоминал и тебя никуда не посылал. Но ты в своем посте начал: "Чепуха...Охинея!...Да, действительно будет так... если человек полный идиот, а точнее с диагнозом "аутизм"...Что не слово - чушь...Какая глупость!...Очередная глупость."


Да, я бываю резок, но я ни разу не обсуждал чью бы то ни было личность. Обсуждению подвергаются лишь изречения.

Цитата:
Originally posted by Mоngооsе

Ты сперва определись, C - это педальный привод в программировании, или же на нем писали самую распространенную ОС.


Это все-го лишь язык программирования, предназначенный для решения определенного круга задач. Только и всего.

Цитата:
Originally posted by Mоngооsе

На счет подсчета белых прямоугольников...:)


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

Цитата:
Originally posted by Mоngооsе

которая из-за имеющегосся бага, задачу могла решить только случайно.


Ага... случайность, 80 из 100. :)

Теперь несколько эпитетов от Mоngооsе:

Цитата:
Originally posted by Mоngооsе

Благодаря мне...
я тебе указал контрпример...
После этого я тебе указал...
Попробую объяснить на уровне трехлетнего ребенка, чтоб даже ты понял...


Хм... без коментариев, наша прелесть... :D

Цитата:
Originally posted by Mоngооsе

Но вместо этого ты включил вентилятор. + написал, что нужна не программа, а алгоритм.


Если бы ты читал ветки с начала, и старался вникнуть в дальнейшие посты, а не пытался в очередной раз совершить под иеня подкоп, то ты сразу бы заметил, что речь шла об АЛГОРИТМЕ, а не его реализации. Я уже устал об этом говорить.

Цитата:
Originally posted by Mоngооsе

3. Оставайся возле своего последнего мнения: искался только алгоритм, реализация второстепенна. Ну тогда я смысла не вижу в написании программы.


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

Цитата:
Originally posted by Mоngооsе

Но в этом случае, будь добр, хотя бы не 3.14-и.


Спокойнее, нервные клетки восстанавливаются крайне медленно...
Кстати, на счет числа PI... Тебе не кажется, что ты в очередной раз ошибся темой? И после очередной саморекламы и рекламы своего алгоритма, сдулся как телемагазин. Где алгоритм? (в соотв. ветку, пожалуйста)

3
10 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Dart Bobr
Даже сейчас я лучше програмирую на листике, чем за компом, особенно что касается сложных задач.


Листок иногда дело хорошее, но только когда касается высоких абстракций, например, создание архитектуры и т.п. Для подобных целей существуют соотв. инструменты, типа Toogether, Rational Rose, но у меня они не прижились, вместо них я по-прежнему пользуюсь листком бумаги.
Но вот программировать на листке, это по-некоторым соображениям вредная привычка.
Опять же не осуждаю, а делюсь опытом... :)

Цитата:
Originally posted by Dart Bobr

Ребята, ну хватит блин! Опять щас страшное гонево начнется, которое в очередной раз не покажет ничего кроме некультурности оппонентов.


В целом согласен, хотя поспорить без перехода на личности не против... :D

255
10 декабря 2005 года
Dart Bobr
1.4K / / 09.04.2004
2Green
2Mongoose
Ну вы еще подеритесь тут. Как маленькие дети: "Это он первый начал.","Нет, это он.". Это бессмысленный спор, причем не по теме.
255
10 декабря 2005 года
Dart Bobr
1.4K / / 09.04.2004
Цитата:
Originally posted by Green
Листок иногда дело хорошее, но только когда касается высоких абстракций, например, создание архитектуры и т.п. Для подобных целей существуют соотв. инструменты, типа Toogether, Rational Rose, но у меня они не прижились, вместо них я по-прежнему пользуюсь листком бумаги.
Но вот программировать на листке, это по-некоторым соображениям вредная привычка.
Опять же не осуждаю, а делюсь опытом... :)


Проэктирую, само собой на листике. Я имел ввиду написание кода, с компилятором встроенным в листик :). Не буду спорить насчет вредности привычки, но насчет того что програмируя за листиком легче сосредоточиться думаю никто спорить не будет.

Цитата:
Originally posted by Green
В целом согласен, хотя поспорить без перехода на личности не против... :D


Вообще-то про это говорил pacific_7, но я с ним полностью согласен.

3
10 декабря 2005 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Dart Bobr
Проэктирую, само собой на листике. Я имел ввиду написание кода, с компилятором встроенным в листик :). Не буду спорить насчет вредности привычки, но насчет того что програмируя за листиком легче сосредоточиться думаю никто спорить не будет.


Какой марки листок? Palm? :)

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

Я стараюсь использовать методику TDD (Разработка через тестирование), т.е. когда сначала пишутся тесты, которые определяют будущую функциональность, а потом уже пишется сам код, который реализует эту функциональность. При этом код пишется шажками, в конце каждого из которых производится компиляция и тестирование. При этом немаловажно, что код пишется "в лоб", т.е. не строются далекие логические цепочки как сделать код универсальным, оптимальным и т.п. Т.о. это дает возможность сосредоточится на текущем шаге, а не растекаться мыслью по древу, что, согласись, очень важно, особенно, для сложных систем, где всю картину, просто не удержать в голове.
Очень часто шаги начинают перекрываться или конфликтовать друг с другом, в этот момент производится рефакторинг и некоторая оптимизация. А т.к. для каждого шага существует тест, я не боюсь, что что-то сломаю.
Когда получается работоспособная версия, отвечающая функциональности, определенной с помощью тестов, начинается процесс рефакторинга и оптимизации по заданным критериям (не всегда критериями служит размер или скорость).
Т.о. процесс разработки получается итерационным и интерактивным, что, как виишь, предполагает постоянное использование компьютера.
Оптимизация происходит в конце по нескольким причинам.
Во-первых, нет смысла сосредотачиваться на ней во время раработки первой рабочей версии, т.к. не известно в правильном ли направлении ли мы движемся вообще и какой код в процессе итераций останется, а какой уйдет за ненадобностью.
Во-вторых, до получения работоспособной версии и её профилирования, не известны тонкие места, которые надо оптимизировать в первую очередь, а оптимизация наугад - лишняя трата времени.
В-третьих, оптимизированный код зачастую сложнее для понимания, чем неоптимизированный, а в процессе интерактивной итерационной разработки при постоянном рефакторинге очень важно иметь явный интуитивно понятный код.

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

Вот такой агитлисток получился... :)

255
10 декабря 2005 года
Dart Bobr
1.4K / / 09.04.2004
Цитата:
Originally posted by Green
Какой марки листок? Palm? :)


Марка листка - деревянная :)

Цитата:
Originally posted by Green
Я стараюсь использовать методику TDD (Разработка через тестирование), т.е. когда сначала пишутся тесты, которые определяют будущую функциональность, а потом уже пишется сам код, который реализует эту функциональность. При этом код пишется шажками, в конце каждого из которых производится компиляция и тестирование. При этом немаловажно, что код пишется "в лоб", т.е. не строются далекие логические цепочки как сделать код универсальным, оптимальным и т.п. Т.о. это дает возможность сосредоточится на текущем шаге, а не растекаться мыслью по древу, что, согласись, очень важно, особенно, для сложных систем, где всю картину, просто не удержать в голове.
Очень часто шаги начинают перекрываться или конфликтовать друг с другом, в этот момент производится рефакторинг и некоторая оптимизация. А т.к. для каждого шага существует тест, я не боюсь, что что-то сломаю.
Когда получается работоспособная версия, отвечающая функциональности, определенной с помощью тестов, начинается процесс рефакторинга и оптимизации по заданным критериям (не всегда критериями служит размер или скорость).
Т.о. процесс разработки получается итерационным и интерактивным, что, как виишь, предполагает постоянное использование компьютера.
Оптимизация происходит в конце по нескольким причинам.
Во-первых, нет смысла сосредотачиваться на ней во время раработки первой рабочей версии, т.к. не известно в правильном ли направлении ли мы движемся вообще и какой код в процессе итераций останется, а какой уйдет за ненадобностью.
Во-вторых, до получения работоспособной версии и её профилирования, не известны тонкие места, которые надо оптимизировать в первую очередь, а оптимизация наугад - лишняя трата времени.
В-третьих, оптимизированный код зачастую сложнее для понимания, чем неоптимизированный, а в процессе интерактивной итерационной разработки при постоянном рефакторинге очень важно иметь явный интуитивно понятный код.

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

Вот такой агитлисток получился... :)


В целом я с тобой согласен. Но у меня были случаи, когда програмирование на листике очень сильно пригождалось. К примеру - поехал я с еще 3 чуваками на олимпиаду. Задание там дали на неделю и довольно много всякой бумажной работы - каждый день отчет, что сделано и т.д. А наша команда одна без ноутиков оказалась. Короче напряги были конкретные(в прошлом году ноутики никак бы не помогли и в этот раз никто не взял). Так что некоторый код приходилось писать вечером на листике ;(, когда все остальные писали на ноутиках. Блин, одни китайцы, и те аж с 4 приехали(по одному на рыло). Так что в програминге на листике имеются как и минусы так и плюсы(как минимум нужно знать хорошо компилятор, который используешь), пусть даже не такие большие как минусы, но все же...

443
10 декабря 2005 года
REmindER
292 / / 23.03.2003
А что с задачей Максима?
269
10 декабря 2005 года
Greenering
892 / / 04.02.2003
Внесу и свои пять копеек. Только я не программер.
Все начиналось с листков, у нас был предмет эээ... не помню названия, алгоритмы рисовали. Когда преподаватели решили что мы готовы для восприятия ЯП, началось... Те алгоритмы который рисовали давали жизнь. А потом прогаммирование связали с математикой и сообсно тут все и началось: ряды, уравнения методы. Потом геометрию завязали к программированию. Вот. Так все и было
13K
22 декабря 2005 года
kodjan
11 / / 13.09.2005
Эхх.... Помню, как я начинал :)
В 8м классе купили компьютер, быстро учился...
В 9м классе друг показал на примере С++ Билдера простенькую програмку, мне стало интересно... Я юзал Билдер: перетаскивал кнопки на форму, делал простые вещи, и думал, что ЭТО называется программированием... думал, что я такой "крутой мега-программер" :) Решил присмотреться к этой специальности, мне все говорили, что там много математики ( а у меня в 9м была твердая тройка), но я говорил зачем, нахрена она там нужна... Выбрал универ, посмотрел учебный план... Тут я немного расстроился: матан, линал, аналитическая геометрия, дискретка, физика, функциональный анализ (!), диффуры, уравнения мат физики... я слов-то таких не знал, а от названия "дифференциальные уравнения с запаздывающим аргументом" меня вообще в дрожь бросало... Так же мне все говорили: "Какой С++? Учи бейсик!", но я по-прежнему никого не слушал... Купил книжку по С++ "ООП на С++"... но форм и кнопочек я там не нашл, вместо этого: наследование, полиморфизм, инкапсуляция, STL, функции, рекурсия... Послал всех в задницу и купил-таки книжку по бэйсику... Это было что-то... Переменные, процедуры, функции, файлы... Читал много, узнал много нового, въехал в основную суть программирования...
10 класс: летом учил математику, в четверти уже твердая 5, математика мне начинает нравится... Перешел на Паскаль
11 класс: пора поступать, хожу по репетиторам... экзамен по информатике непростой: более менее синтаксис выучил, но даже перевернуть строчку для меня - уже проблемма... Препод по информатике меня всему научил и я понял, что такое алгоритмизация, развил алгоритмическое мышление (как сейчас понимаю, это - САМОЕ главное)... Матрицы, рекурсии и т.п.
Поступил в универ :) C++, деревья, динамическая память... Сейчас на втором курсе, специальность: математик-программист, математика дается без проблем, кодинг тем более) Вобщем, имхо, это должно нравится, и начинать надо с самого простого... А остальное, если нравиться это дело, само приложится...
P.S. Че-то много накотал... пиво дает о себе знать :)
292
22 декабря 2005 года
Matush
726 / / 14.01.2004
Мои начинания в программировании начались где-то в 6 классе, когда у меня появился Spectrum. Он вначале использовался исключительно для игр. Но потом сумел раздобыть в библиотеке кое-каую литературу и начал писать простенькие проги.

9-11 класс я поступил в лицей и там начал изучать Turbo Pascal. Лицей этот был при университете и нам можно было осле занятий ходить в компьютерные классы. В этих классах я и провел 10-11 класс, с понедельника по пятницу. За это время неплохо приуспел в программировании (имею ввиду придумывание алгоритмов и их реализация).

1-5 курс универа. Начал изучать VC++ 6.0. К середине 2 курса сумел собрать себе по частям комп. До сих пор помню неописуемую радость создания пустого окошка (без волшебника).

В этом году универ я закончил. Получил диплом технолога машиностроения. Положил этот диплом на полочку. Работаю не по специальности.
15K
09 января 2006 года
uno
3 / / 02.01.2006
А я помню начал с ТурбоБасика(нас ему в школе(9 класс)пытались научить, но училка сама не руБила в этом). Меня это дело как-то зацепило и я решил заниматься этим самостоятельно. Правда компа у мя не Было и я писал на компе знакомого(486SX). Причем после освоения всяких форов и вайлов сразу захотелось написать какую-нить игру. для начала примитвные 2Д гонки. Писал я ее меньше недели(на Бумаге) и когда перенес на комп очень в ней разочаровался. Поскольку она Была написана на Бэйсике да еще и запускалась на 486(66Мгц) то жутко тормозила. После этого я охладел к Бэйсику да и программированию вооБще. Затем в 10классе у мя появился свои комп(наконец-то!!!!!!!) - Пентиум ММХ. Купив Брошюрку(КОМПаС) по С++ стал изучать его. Было жутко интерено, сидел ночи напролет причем писал я почему то сразу Большие(по тем меркам) программы вроде графического редактора под ДОС(идея написания игры не покидала меня, только теперь под она должна Была Быть 256цветов) или архиватора. При написании редактора я столкнулся с проБлемой отсутсвия функций оБслуживающих мышь ТС++ и поэтому стал изучать АСМ. Потом через Год у мя появился нормальный комп(и ИНЕТ!!!) и я стал изучать сначала Билдер(Паскаль и Дельфи я почему то сразу возненавидел), но проги получались здоровые(если рантайм суппорт отключить) и медленные, что мне очень не понравилось поэтому я Быстро пересел на ВизуалС++ в чем и по сей день пишу. Сейчас я учусь на 1ом курсе ВМК(ННГУ). После изучения Линейной АлгеБры снова появилось желание написать игру только теперь уже 3Д шутер типа кваки причем сначала софтверный(ДиректДроу) а потом перенести на Д3Д
Вот так....
Начинающим Бы я посоветовал(хотя сам еще зеленющий =)))) :
1) Прочитать Фихтенгольца, Куроша и Кнута =)))
2) Стараться не писать много мелких прог, а писать че-нить крупное(относительно) скажем Базу Данных какую-нить на Билдере или Дельфях - там и с разнооБразными компонентами раБотать научишься и поиску и сортировкам(тока не списывать чужой код!!! Как сказал наш препод по прог-ю "Если вы можете сами по описанию алгоритма написать КвикСорт значит из вас пол-ся программист, если не можете - ....") или 3Д куБик какой-нить софтверный
3)Если с математикой все отлично то думаю стоит отнестись к програмированию Более глуБоко - изучить АСМ(и то как РаБотает процессор), стараться писать серъезные программы(не одноразовые, а которые можно писать вечно постоянно дораБатывая) вроде "антитетрис"(прога играющая в тетрис(те укладывающая фигурки сама) - своеБразный ИИ)(или како-нить другой вариант ИИ(Бота для лЮБимой Кваки =))), 3Д движок или хороший физический движок(но для начала примитивный 3Д =)), анализатор какой-нить или наоБорот синтезатор(скажем человеческой речи)).
4 Не гнаться за количеством однотипной информации - типа я знаю 5 языков и я крутой программист =)) - Главное уметь составлять алгоритмы, уметь мыслить, а новый язык можно выучить за неделю ИМХО
4.5K
01 февраля 2006 года
StranikS
44 / / 03.02.2005
Цитата:
Originally posted by Dart Bobr
Марка листка - деревянная :)


В целом я с тобой согласен. Но у меня были случаи, когда програмирование на листике очень сильно пригождалось. К примеру - поехал я с еще 3 чуваками на олимпиаду. Задание там дали на неделю и довольно много всякой бумажной работы - каждый день отчет, что сделано и т.д. А наша команда одна без ноутиков оказалась. Короче напряги были конкретные(в прошлом году ноутики никак бы не помогли и в этот раз никто не взял). Так что некоторый код приходилось писать вечером на листике ;(, когда все остальные писали на ноутиках. Блин, одни китайцы, и те аж с 4 приехали(по одному на рыло). Так что в програминге на листике имеются как и минусы так и плюсы(как минимум нужно знать хорошо компилятор, который используешь), пусть даже не такие большие как минусы, но все же...




Наоборот, очень хорошо, что вашим головам не мешали блудливые руки. Как показывает практика, больших результатов достигают не там где много инструментов для производства, а там где собран наибольший умственный потенциал. Поэтому: берем одну машину (или ноут) на всех, садим шустрого кодера-машиниста, затем каждому по листочку с ручкой и вперед - это и есть залог успеха.
Человек не может мыслить машинным (или псевдо-) кодом, он всегда мыслить образами, идеями, а листок бумаги с беглыми мимолетными пометками, набросками необходим для построения логической цепочки наших умозаключений. Так, что на этом этапе компьютер, как таковой, и не нужен!

3
01 февраля 2006 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by StranikS
Наоборот, очень хорошо, что вашим головам не мешали блудливые руки. Как показывает практика, больших результатов достигают не там где много инструментов для производства, а там где собран наибольший умственный потенциал. Поэтому: берем одну машину (или ноут) на всех, садим шустрого кодера-машиниста, затем каждому по листочку с ручкой и вперед - это и есть залог успеха.
Человек не может мыслить машинным (или псевдо-) кодом, он всегда мыслить образами, идеями, а листок бумаги с беглыми мимолетными пометками, набросками необходим для построения логической цепочки наших умозаключений. Так, что на этом этапе компьютер, как таковой, и не нужен!


И здесь вы путаете этап проектирования с этапом реализации. Пытаться реализовывать что-то не имея компьютера - пустая трата времени.

243
01 февраля 2006 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Green
Пытаться реализовывать что-то не имея компьютера - пустая трата времени.


Угу :(

324
02 февраля 2006 года
AndreySar
532 / / 01.08.2004
Первый опыт программирования появился еще в школе в классе, наверное в 5. Просто изучал QBasic, в основном графику. Дальше больше (Pascal, Delphi). В старших классах участвововал и побеждал в районных олимпиадах. Чуствовал себя лучшим программистом.
Затем институт. Там на 1 курсе С++. Сначала было сложно, но потом очень полюбил этот язык. особенно он понравился после изучения Assembler - становится многое очень понятным. С тех пор моя жизнь программиста связана с языком С++. В ниституте и сам изучал разные библиотеки.
Недавно по работе пришлось изучить еще и 1c.
А так если знаешь один язык программирования другой изучить очень просто!!! Главное это уметь составлять алгоритм
241
07 февраля 2006 года
Sanila_san
1.6K / / 07.06.2005
Цитата:
Originally posted by Максим

Итак, задача:
а) написать функцию Min
б) применив ее сделать алгоритм на кнопку "Минимальное" и выдать результат.



 
Код:
function Min(a, b, c:real) : real;
begin

if a<b AND a<c then min := a
else
if b<c then min := b else min := c
end;


Неоптимально, но должно работать.
3
07 февраля 2006 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Sanila_san
Неоптимально, но должно работать.


Да, вполне можно обойтись двумя сравнениями.

1.8K
07 февраля 2006 года
k3Eahn
365 / / 19.12.2005
Цитата:
Originally posted by Максим

Пользователь вводит 3 числа (a, и и с);

Надо определить какое из них самое маленькое и выдать его в качестве результата.


Итак, задача:
а) написать функцию Min
б) применив ее сделать алгоритм на кнопку "Минимальное" и выдать результат.


Код:
DWORD mymin(DWORD a,DWORD b,DWORD c)
{
    DWORD retval;
    __asm
    {
        push ebx
        mov eax,a
        mov ebx,b
        mov ecx,c
        sub ebx,eax
        sbb edx,edx
        and edx,ebx
        add eax,edx

        sub ecx,eax
        sbb edx,edx
        and edx,ecx
        add eax,edx
        pop ebx
        mov retval,eax
    };
    return retval;
};
324
09 февраля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by Максим
Всем спасибо. По тихоньку пробую. Часто с мыслями о том как решить задачу засыпаю :)

Вот дали задачку:

Пользователь вводит 3 числа (a, и и с);

Надо определить какое из них самое маленькое и выдать его в качестве результата.

Для этого мы создаем функцию Min(a, b) она получает на входе два числа, определяет какое меньше и возвращает. (такая функция где-то наверняка в стандартных библиотеках есть, но наша задача написать ее самим)

Я создал функцию
function Min(a, b:real) : real;
begin

if a < b then
Min := a
else
Min := b

end;

А теперь мне надо с помощью этой функции найти наименьшее из трех чисел.

Итак, задача:
а) написать функцию Min
б) применив ее сделать алгоритм на кнопку "Минимальное" и выдать результат.



Функция должна делать минимальную завершенную операцию, поэтому функцию оставляем прежную:

 
Код:
function Min(a, b:real) : real;
begin

if a < b  then
   Min := a
else
   Min := b

end;

Минимальное трех числе тогда можно найти следующим образом:
 
Код:
min = Min(Min(a, b), c)


Таким методом можно найти минимальное число из любого числа переменных, не изменяя функции
7.6K
11 февраля 2006 года
Darien
125 / / 15.01.2006
Сначала был Turbo Pascal, изучал его полгода, потом Делфя - года 1.5 так , потом поставил эту крень (это я с любовью :) ) по названием Visual с++ 6 , затянуло так, что сижу исключительно на ней, вот уже 3 года почти, правда теперь уже на 2003 NET - но не суть ) На Билдере иногда - тоже вещь хорошая, но дебаггер слабоват, да и редактор тоже. По своему скромному опыту начинающим программерам могу сказать вот что:
1) Начинайте с простого: Pascal, Delphi, не расстраивайтесь если что-то не получается,всё придёт со временем.
2) Если вы считаете, что "я крутой программер, ибо создал окно и поместил на него кнопочку" - вы ошибаетесь, программирование - это процесс многоэтапный, но изначально оно подразумевает написание алгоритма, поэтому подружитесь с математикой и алгоритмами.
зы: 2) и 1) вовсе не противоречивы
16K
19 сентября 2006 года
task00
9 / / 17.07.2006
http://task00.narod.ru/task_p_0.htm

проще не бывает

и то же самое на Java

http://task00.narod.ru/task_j_0.htm

и далее по порядку
21K
19 сентября 2006 года
Marya
3 / / 12.09.2006
нащет ООП и низкого уровня (с чего надо начинать):
в большинстве университетов дают сначала что-то типа паскаля или С,потом ООП (кому Java,кому C++,кому и то и то) а потом уж лезут в ASM.И все плюються,типа ацки тупо составленный учебный план.Тут я согласна,начинать надо все таки сначала,а не с конца....но опять же перейти с азма на ооп так же сложно,как и обратно. И вообще,не стоит человека с пути истинного сбивать,потому что если уж начнет с ASM,то может оттуда и не вылезти:)))))
обычно если к программированию что-то там есть вроде способностей,то вкуривается всё очень быстро:схватываешь идею,а синтаксис там и прочее потом само накручивается.Главное-ДЕЛАТЬ,а не просто читать.
Ну и еще совет:не мешай в кучу разные уровни (asm,c,c++),начни с чего то одного,дойди до "эксперта",а там уже исследуй то,что вокруг:))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог