среда, 3 ноября 2010 г.


Вниманию всех кто посещает наш факультатив! Занятие 4 ноября, в четверг будет проведено в 13:30 в здании КонсультантПлюс (как и в прошлый четверг). Ждем.

вторник, 2 ноября 2010 г.

Розыгрыш ништяков!

Теперь когда круг заинтересованных лиц стал более четким ;) , можно объявить о том, что у меня на руках есть сертификаты от компании CareerLab на посещение любого открытого тренинга по программной инженерии. Задание всем Вам известно, ждем ваших работ! Сертификаты будут выдаваться после того как все заявленные работы будут рассмотрены (все по честному).
Раздаточный материал по инструкции try catch можно скачать и посмотреть тут. Кроме того ждем ваших работ по классовой модели которую мы с Вами набросали. На следующем занятии мы рассмотрим: индексаторы, потоки ввода-вывода, работу с файловой системой, работу с файлами. Ждем ваших предложений.

вторник, 26 октября 2010 г.

Achtung!

Вниманию всех кто посещает наш факультатив! По проведенному предварительному голосованию, было решено что второе занятие (да-да именно второе т.к. одного нам мало, и нас выгоняют настоящие программисты в самый разгар лекции) будет проведено в четверг 18:00 в здании КонсультантПлюс по адресу ул.Палехская 10. Со всеми  инстанциями мы всё согласовали и ждем Вас с нетерпением у нас в К+ на третьем этаже. Для тех кто не знает где это - обращайтесь сами знаете куда и к кому (Данные всем вроде рассылал ;) ) Ещё раз повторюсь - ждем Вас всех и если любые вопросы задавайте скорее! Времени мало!

понедельник, 25 октября 2010 г.

Задание на работу с памятью


Дано:
имеется строка символов (вводится с клавиатуры).

Получить (вывести в консоль):
Строку обратную введенной.

Пример:
входная строка = 'qwertyu'
результат = 'uytrewq'
Писать на C, использовать только библиотеку stdio или iostream.
Написать максимально оптимизированную программку в плане выделения памяти.

Выборка из MSDN

Готовясь к первой лекции по ООП я сделал себе наброски по темам которые хотелось бы осветить на ней, результатом моих блужданий по сети и книгам стала выжимка-конспект который я по большей части утащил у команды PnP Microsoft на MSDN. Тут находится выборка описаний базовых конструкций из MSDN. Я её буду периодически пополнять и расширять, так что советую всем перепроверять этот документ на наличие изменений, enjoy ;)

Книги

Книги которые стоит прочитать.
Майкл Ховард, Дэвид Леблан - Защищенный код

Пример реализации зданий

На прошлой лекции мы обещали выложить тот самый жутко наглядный (избыточный) пример который вы могли бы использовать как основу для нашего задания. Вот тот самый пример. Получившиеся примеры кода можно размещать либо в комментариях либо высылать на e-mail весь проект. Ждем ваших решений.

воскресенье, 10 октября 2010 г.

Полезные ссылки по теме стека и передачи параметров

Ну, например:

Статья Википедии "Соглашение вызова" (на русском) - о том, как еще можно передавать параметры из функции в функцию

Модификатор CONST при передаче параметров в Delphi

Сегодня на лекции меня спросили про реализацию передачи параметров "по CONST" в Delphi. Я как-то оказался неготов к ответу, сказалось многолетнее отсутствие программистской практики, и я понес какую-то чушь. Сейчас, играя на бильярде, я внезапно вспомнил правильные слова и, бросив кий, пишу этот пост.

Технически параметры, около которых стоит CONST, передаются точно так же, как и те, у которых стоит VAR. Т.е. в обоих этих случаях используется совершенно одинаковый способ передачи параметров "по ссылке" - на верхушку стека выкладывается указатель на переменную, которая передается в качестве параметра.

Зачем же тогда нужно специальное ключевое слово, если CONST = VAR? Просто если написать VAR, то есть риск случайно поменять значение переменной внутри функции. А если не написать VAR, то передача производится по значению (переменная копируется), что может быть накладно для больших переменных типа паскалевских строк или массивов. Поэтому в Delphi реализован промежуточный вариант: VAR + дополнительный контроль компилятором того, что данный параметр нигде не встречается в левой части оператора присвоения.

Таким образом, с точки зрения реализации есть два способа передачи параметров посредством стека - по значению и по ссылке. Остальное - вариации.

среда, 6 октября 2010 г.

Для тех кто учится на кафедре ИС

Хотелось бы в преддверии моего долгоиграющего бенефиса (темы - ООП), сообщить всем кто учится на информационных системах: Вы можете бесплатно получить лицензионную Visual Studio и MSDN по программе сотрудничества нашей кафедры с Microsoft. Это крайне актуально для курса ООП и конкретно моего курса C#. Товарищи не поленитесь сходите и возьмите лицензию, оно того стоит !!! :) За лицензионными программами нужно подойти к Ястребцеву Олегу Николаевичу или Михаилу Смирнову (он находится в той же комнате).

Задание на освоение работы с рекурсией

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

Когда я искал аналогии для объяснения смысла рекурсии, мне в голову пришел пример расшифровки названия PHP (кто не знает - погуглите). Соответственно, напишите мне консольную программку на C#, которая печатает следующий текст:


10 раз. Сделайте это не циклом, а рекурсивным вызовом функции (а отдельные красавцы и красавицы могут сделать и циклом, и рекурсией). Листинги публикуйте тут в камментах или приносите распечатанными на следующее занятие, обсудим.

Раздаточный материал

Раздаточный материал с лекцией по синтаксису C содержит множество примеров базовых конструкций языка, а также - пример реализации стека. Для "особых" - есть задание: переписать стек таким образом чтобы он принимал на вход любой тип данных.

Первая и вторая лекция по структурному программированию

Прошла вторая лекция по структурному программированию. В лекции принял участие руководитель департамента информационных систем Денис Умнов. Судя по Вашим отзывам, вам понравилось присутствие гостей на нашем факультативе. Мы пригласили Дениса посетить наш факультатив ещё раз, однако уже в другом качестве, и с лекцией по работе с памятью. Кроме того будет завершение блока структурного подхода, и начало ООП, программа насыщенна и главное всё успеть. Всё зависит от Вас!!! Ждем ваших комментариев и вопросов.