Помогите научиться

  • Автор темы kristina
  • Дата начала
K

kristina

#1
Тут такое дело, учусь на первом курсе... Каникулы, а очень хочется подтянуть программирование... Пришлите парочку не очень сложных задач для тренировки, и если не трудно помогите, если возникнут проблемы с их решением...
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#2
хм.. Игру пятнашки знаете?
Поле 4 на 4 клетки. на поле 15 пронумерованных квадратиков, нужно расставить их по порядку переставляя их с помощью пустой клетки. При запуске программы квадраты разбросаны случайно.
 
G

goldenCode

#3
я не рекомендовал бы вам изучать BCB и тратить на него свое время, поскольку продукт морально устарел, не поддерживается, изначально содержал массу ошибок и недоработок, а наплодил столько ламеров, считающих себя программистами, что и подумать страшно... Работодателю впоследствии вы вряд ли скажете что у вас в жизни был период, когда вы писали на BCB, потому что в наше время на нем пишут сами догадываетесь кто.

Ну да ладно, если нужно - значит нужно.
Могу предложить реализовать GUI-программу, отправляющую SMS сообщения через мобильный телефон.
Здесь вам понадобится изучить:
- работу с коммуникационным портом (COM)
- разработку GUI интерфейсов на BCB
- отработка исключительных ситуаций
- реализация бизнес-логики поведения программы при получении валидных и невалидных данных от пользователя (защита от дурака)
и т.д.

чтобы отправлять SMSки через модем телефона, копайте в сторону стандарта команд NMEA
с мобильником соединяются через компорт на скорости 19200, FullDuplex, проверки паритета нет, 1 стоповый бит.
В общем если заинтересовала задача, могу описать подробнее
 
R

rashikt

#4
У меня такое ощущение, что вы как раз на нем и писали(наверное пишите и будете писать!). Не дурите голову девушке, к тому же после вашего совета у нее отпадет полное желание программировать/учиться программировать.

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

Ну да ладно, если нужно - значит нужно.
Могу предложить реализовать GUI-программу, отправляющую SMS сообщения через мобильный телефон.
Здесь вам понадобится изучить:
- работу с коммуникационным портом (COM)
- разработку GUI интерфейсов на BCB
- отработка исключительных ситуаций
- реализация бизнес-логики поведения программы при получении валидных и невалидных данных от пользователя (защита от дурака)
и т.д.

чтобы отправлять SMSки через модем телефона, копайте в сторону стандарта команд NMEA
с мобильником соединяются через компорт на скорости 19200, FullDuplex, проверки паритета нет, 1 стоповый бит.
В общем если заинтересовала задача, могу описать подробнее
 
K

kristina

#5
Я очень извиняюсь что меня так давно тут не было... Не было выхода в интернет... С пятнашками все сложно... Мы не проходили ничего похожего... Писали лишь курсовую работу, где надо было создать базу данных... Но это было не объектно ориентированное программирование пока... А предложения по поводу SMS отправки вообще за областью фантастики... Не забывайте пожалуйста что я девушка и за плечами только первый курс и то через пень колоду...
 

hosm

* so what *
18.05.2009
2 442
6
#6
Не забывайте пожалуйста что я девушка и за плечами только первый курс и то через пень колоду...
прикидываться блондинкой иногда удобно.
но тогда зачем вам подтягивать программирование? найдите мальчика, который будет Вам всё делать за Вас - благо, их тут немало :rolleyes: (шучу, если что, не обижайтесь...)
Имхо, пятнашки не так уж и сложно. Что еще можно? Ну, таких прог много, но можно написать что-то интересное вам, чего вам не хватало в стандартных приложениях или ИДЕ:
Калькулятор с какими-то интересными функциями (писали в свое время на чистом паскале на младшем курсе универа), простенький текстовый редактор (допилить стандартные примеры - к Дельфям были в своё время, должно быть и что-то в ВСВ, реализовать че-нить этакое, по желанию - подсветку синтаксиса для какого-нибудь языка программирования, редактор формул, удобный поиск-замену с использованием спецсимволов и шаблонов, например), файловый менеджер, работа с текстовыми файлами (перекодировщик, сравнение двух файлов, шифровалка файлов), имаджвьювер или графический редактор (туда можно впихнуть реализацию интересных преобразований и фильтров, чтение-запись разных форматов).
 
G

goldenCode

#7
У меня такое ощущение, что вы как раз на нем и писали(наверное пишите и будете писать!). Не дурите голову девушке, к тому же после вашего совета у нее отпадет полное желание программировать/учиться программировать.
я бы на вашем месте поменял тон разговора! все мы знаем, что 100% BCBшных "программистов" - говнокодеры. Так чего учиться на нем программировать, BCB - позор программирования, а программирующие на нем - опухоль в среде нормальных C++ программистов.
Кстати, знающие люди вам скажут что BCB - это даже не C++ а его борландовский диалект, который местами конфликтует со стандартом. И научившить "программировать" на BCB человек на самом деле учит не C++, а язык которого уже нет. Так зачем его учить если это отстой по определению?
 
R

rashikt

#8
Не забывайте пожалуйста что я девушка и за плечами только первый курс и то через пень колоду...
Тогда думаю начать изучение стоит с другого яхыка программирования. Начните изучать например PHP, пытаться посторить какой нить сайт(таким образом вы придете к мысли, что может вам стоит заняться дизайном)... это я про веб программирование... Или может начать изучать 1С(здесь маленький порог вхождения и очень простой ООП)... При этом вы научитесь кроме того как программировать, ещё и другим знаниям в области торговли/бухгалтерии/и прочего(таким образом вы придете к мысли, а может стоило выучится на бухгалтера и станете прекрассным товароведом).
пс
на мои слова не обижаться. а принять как пищу для размышления
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#9
Вот не надо девочкам первокурсницам учить пехепе. Вот не надо.

А про пятнашки - как раз наоборот. Кинуть на форму 16 кнопочек. Одну сделать визибл фолс. И по клику на кнопке проверять, если стоит рядом с той, у которой визибл фолс, то поменять их местами..
 
G

goldenCode

#10
а по каким критериям вы оценили? вы используете паттерны проектирования? идиому RAII? STL? (еще не видел программиста после BCB, который был бы хорошо знаком с STL. А причина очень проста: компилятор фирмы Borland не дружит в достаточной мере с темплейтами. так-то) соблюдаете ли вы конвенции по оформлению кода? ваш код настолько хорош, что его понимают даже при отсутствии комментариев?

я в этом очень сомневаюсь, поскольку билдер располагает к тому, что гуи накрепко привязываются к бизнес-логике даже на уровне среды разработки, и поэтому BCB программисты даже не задумываются о том что это плохо или неправильно. Поэтому очень вероятно что понятие "говнокода" у BCB программистов несколько искажено. Скажите аргументировано, разве я не прав?
 
G

goldenCode

#11
По продуктам, ими произведенными.
ну, давайте не будем про это. Мы про программирование в общем, а не про олдфагов, которые в одиночку проектировали, писали и поддерживали софт. Это другое, нас интересует сейчас то, что внутри.

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

А зачем? у борланда другой подход. vcl в гуи а то как вы там бизнес логику пишите, ваше дело, ну а раид просто облегчает существование. Собственно патерн это только слово, особо не имеющая смысла. До патернов писали программы, и ниче так себе, работают до сих пор.
понятие "программа работает" в современном программировании заменено на "программа поддерживается". С сопутствующими смысловыми поправками.
STL - это часть языка C++ по стандарту. И как можно после этого спрашивать "зачем"?
Борланд умер, BCB вместе с ним никак похоронить не могут. У вас накопились специфические знания VCL, но маловато знаний по стандартному C++, которому учат еще в университетах.
Что вы будете дальше делать? Опять учиться. А не проще ли изначально сделать выбор в правильную сторону?

А при чем тут борланд? типа пися в студии, либо другой иде, не возможно написать криво и ну прям коментарии сами собой пишутся? чет вы путаете, это от руки.ехе зависит а не от среды разработки. Можно ваще не пользовать VCL в билдере. Только смысл?
повторюсь, в бцб среда разработки изначально подталкивает к завязыванию интерфейсов на бизнес логику. В командной разработке большого поддерживаемого продукта это абсолютно недопустимо. Вероятно, поэтому про большие команды на билдере ничего слышно не было. Хотя, возможно, где то и были одна-две команды...

Говнокода достаточно и у студийных писунов. Или у вас есть факты опровергающие это? а где вы предлагаете изучать с++? я тоже не склонен считать вилдер новейшим изобритением...
изобретение билдер - компилятор "2 в 1": библиотека на паскалЕ, а код на С++! о каких сравнениях со студией вообще может идти речь.
Паскальное происхождение библиотеки настолько наложило руки на несчастный BCB, что писать на нем серьезному программисту вообще становится тошнотворно. Например, попробуйте выполнить такой код:
C++:
AnsiString yourString = "Hello ";
yourString += "world";
и посмотрите что будет в yourString... удивлены результатом? а объясняется очень просто: в паскалЕ нету операции +=. Обиднее что и ошибка при этом не вылетает - т.е. явный баг.
А вот так будет работать:
C++:
AnsiString yourString = "Hello ";
yourString = yourString + "world";
и НА ЭТОМ вы предлагаете изучать язык C++?

А кстати, какой компилятор реализует "чистый" с++? я както думаю что у каждого свои гайки и винты, в той или иной степени.
только у билдера есть моменты, откровенно противоречащие стандартам. У той же студии - максимум доработки
к примеру, такой код (согласно Кернигана и Ричи, да и Страуструпа) должен работать без проблем:

C++:
void YourClass::YourMethod()
{
for (int i=0; i<SomeConstant; i++);
for (int i=0; i<OtherConstant; i++);
}
а попробуйте выполнить это в BCB. Он заругается на повторную декларацию переменной i во втором цикле! Это значит область видимости переменных в цикле for не только внутри, но и снаружи! Это прямое нарушение стандартов C и C++. А ведь это лишь цветочки... Я считаю что такой простейший пример демонстрирует тот факт, что BCB не может называться C++ компилятором, а его программисты не могут с гордостью заявлять что они пишут на C++...
 
R

romanriddick

#12
goldenCode читая ваши блоги , я понял что вы с 2006-го новостей не читаете )))
борланда уже много лет нет ...а вот на фирму sun вы бочку котить не будете там роботают совсем не глупые люди

>>и НА ЭТОМ вы предлагаете изучать язык C++?

))) вот с етого я долго смеялса ... вы наверное предлагаете девчьонке изучать ЧИСТЫЙ с++ на ООП VC++ ???)))
может тогда зразу на шарп или джаву ???)))
как не крути , а VC++ для профи об етом все говорят (и цена 10000доларов за 2010, и вес "хелло ворд " в 25 мв), на нем чистую сишку не выучиш, сначала нужно на турбо с++ (к стате тоже бордандовском))) потринироватса...

а вот с ваши мнения по поводу борланда оставте при сибе ... в каждом языке есть свои нюансы (их учить не нужно просто знать что они есть) универсального языка еще никто не придумал и не придумает
 
04.09.2006
2 566
3
#13
STL - это часть языка C++ по стандарту
просто библиотека внесенная в рамки стандарта
Не вижу разницы в ваших словах: на данный момент STL - часть стандарта C++. В первом международном стандарте ANSI-ISO-14882-1998 STL уже была частью С++. В лохматые годы STL действительно была сторонней библиотекой, разработанной HP, если мне память не изменяет.