Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Как создать свой сайт и заработать?" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Программирование с нуля - это совсем просто! 46) Спокойно и плавно изучаем идеи
Информационный Канал Subscribe.Ru |
Программирование с нуля - это совсем просто!46) Спокойно и плавно изучаем идеиСейчас я отвечаю на письма от 16-17 января, поэтому ждите своей очереди и не дублируйте мне письма по нескольку раз в день :) Это только ухудшает состояние всей системы :) Спокойне и плавно, расслабленно ожидайте ответа и продолжайте делать упражнения, :) Часто многие, только начинающие заниматься, спрашивают, что лучше поставить для изучения с нуля. По различным субъективным причинам я полагаю, что ставить лучше Дельфи. Изучив Дельфи и Паскаль, гораздо проще перейти на C++Builder, не заморачиваясь изучением новой среды, а потом уже и Си++ подучить например. Кроме того, акцент в нашей рассылке именно на Дельфи. Лучше версия 7 подойдет, но и 6, и 5 тоже годится. То есть, лучше как следует освойте одну систему, один язык, Дельфи! Иначе лишь путаться будете в разных языках. Ответы. 24. Подсчитать буквы в тексте.
procedure TForm1.Button1Click(Sender: TObject);
for i:=1 to length(s) do // анализируемая буква
if s[i]= ' ё ' then s[i]:= ' е ' ; // буква "ё" не имеет кода.
if n>=1 then // должен быть больше 1 (1 - буква ' а ' )
if kb[n]=1 then // делать, если количество букв равно
for j:=i+1 to length(s) do // выбранная буква сравнивается
if s[i]=s[j] then // если найдена такая же
case kb[n] of // выбор падежного окончания
end;
Лена С этим упражнением совсем хило, по-моему, Лена и еще 1-2 человека только справились. За что им честь и хвала! Вот еще одно решение от Павла: задание 24. честно признаюсь, попытки его решения мне очень помогли в решении задания 25. но не помогли в решении самого 24 задания. Решил я её на 80%. Собственно я создал 33 строки-сравнения, которые заключались в одном счётчике, который подставлял бы по порядку каждый символ вводимой строки, и выводил бы результат в 33 поля. Моя проблема заключается в том, чтобы правильно создать счётчик похожих символов, который заносился бы в нужную стоку.
procedure TForm1.Button1Click(Sender: TObject);
a1: array[1..33]of integer;
for aa:=1 to 33 do
for bb:=1 to zz do
if c1[x]=a1[2] then begin label2.Caption:= chr(a1[2])+ ' _встречается 1 раз ' ;
if c1[x]=a1[3] then begin label3.Caption:= chr(a1[3])+ ' _встречается 1 раз ' ;
* * *
if c1[x]=a1[32] then begin label32.Caption:= chr(a1[32])+ ' _встречается 1
if c1[x]=a1[33] then begin label33.Caption:= chr(a1[33])+ ' _встречается 1
end; Как такой код можно оптимизировать? Смотрите далее решение Лены. Еще одно решение Павла. Задание про шифровку. За два дня я её решил. Один день на обдумывание ушёл, а второй на работу. Сначала в первоначальное решение входил алфавит, который я переводил в код, затем, сравнивал с переведённым в код текстом, и на основе сравнения заменял буквы по принципу" alf[a+3]" короче ерунда получается конкретная, программа вела себя не стабильно, и показывала либо только последнюю букву, либо букву третью по счёту, либо воспроизводила текст но начиная с третьей буквы. Либо в место текста писала "абвгдеёжз+. " Аж стыдно объяснять, что я делал. Но в итоге я, я плюнул на всё и+.
var b1,f1:integer; Пусть стыдно будет только тем, кто не делает :) Это все определенные навыки, которые, один раз увидев, запоминаешь надолго. Сделать можно например так:
edit1.text := '' ; И Ленино: Задание 25. Самое интересное оказалось!!!!!! Т.к С сыном вместе делали(оформляли) . Уже по традиции сначала сделала в консольной программе . Удивительно, но получилось сразу без единой ошибки. Ошибки возникли при проверке на тестовых примерах. 1. Сначала запуталась в пересчёте нового кода при переходе из одной части таблицы символов (от 32 до 127) в другую (от 192 до 255). Исправляла на листочке с ручкой в руках. Получилась чистая математика. 2. Была проблема с формированием строки. Пока не присвоила строке начальное значение "., и не поместила её во внешний цикл. 3. Потеряла, момент изменения кода шифра, одинаковые буквы в исходном слове по разному шифровались. Присвоение значения коду шифра поставила перед началом внутреннего цикла. 4. т.к сначала сделала программу (функция пугала), с присвоением значения коду шифра проблем не было. Зато, когда разобралась с функциями , пришлось объявлять новую переменную "код1",ведь основному коду нигде не присваивается значение. когда написала "код:=код", у меня и оставался новый изменённый, а потом получилось так:
код:=код;
function shifr(text:string;kod:integer):string;
for j:=1 to kod do // код символа увеличивается на размер
procedure TForm1.Button2Click(Sender: TObject); Всё стало правильно. В принципе меня этим и испугали функции, присваивания переменным значений ведь нет нигде, а если она нужна (переменная) не в самом начале?????..... вроде разобралась...... Когда всё это исправила стала окно программы оформлять. получилось вот что: Написала две функции , зашифровать и расшифровать. Для каждой свою кнопку. В виде эксперимента вместо "Edit" (только одну строку ввести можно) и "Label"( отсюда копировать нельзя) поместила на форму два окна для ввода и вывода " Memo", свойство "Text", чтобы можно было текст копировать и вставлять. Дальше дети помогали оформлять, цвет, шрифт, картинки........ Для чего я это сделала. У Павлика есть ящик почтовый и у его друга тоже, пусть побалуются, письма друг другу в "абракодабре" пишут и расшифровывают. У них тоже секреты от нас взрослых есть. В связи с этим вопрос. Что надо сделать, чтобы exe-программу перенести на другой компьютер. Флажок у меня и не стоял. То есть всё должно получиться, а вот если у меня там ещё и картинка есть, её надо как-нибудь к exe-файлу при копировании добавлять? Она же(картинка) у меня в компьютере находится....... А вообще здорово получилось
Привет!!! Хцоилш''' код - 6Бик Расшифровывает тоже замечательно, зашифрованный текст надо скопировать в первое окно. Если exe-файл делается, как в каком-то предыдущем занятии говорилось, с включенными в него библиотеками Дельфи, то больше ничего для него не надо дополнительного! То есть и все картинки, которые размещены на форме, уже в него копируются автоматом. Только размер файла при этом растет, конечно. Ну запаковать его можно. Не меньший подвиг совершил и Алексей, разработавший алгоритм шифрования в Новый Год :) Имейте в виду, теперь все, кто сделал это задание с шифрованием, под колпаком агентства национальной безопасности США :) Итак, Алексей: Я сегодня остальные задачи на работе решил.(специально ждал,когда на работу,чтобы там спокойно алгоритмы написать.Мне там пиво оставили,тортик,в общем это и был для меня новый год, который я с 31 на 1 не отмечаю :) Задание N 25. Шифрование. Старый метод шифрования текстов заключался в том, что код буквы смещался на некоторое число, и на выходе получалась абракадабра. А чтобы расшировать, надо просто было знать величину смещения.
type
var
end;
Скроллбар. Scrollbar. Полоса прокрутки удобна тем например, что ее можно использовать как визуальный бегунок, движок - перетащил мышкой и получил некоторое значение. Основные ее свойства - это Min (минимально допустимое значение бегунка в условных единицах, крайне левое), Max (максимально допустимое значение бегунка, крайне правое) и Position (текущее положение бегунка). Если Min = 1, а Max = 100, то если бегунок выставить ровно посередине, то свойство Position будет равно 50. Ориентация скроллбара задается свойством Kind (горизонтально или вертикально). Важное событие - OnChange, возникает, когда положение бегунка было изменено. В следующем примере будем выводить в поле-надписи label1 текущее значение свойства Position скроллбара Scrollbar1, для чего создадим его обработчик (двойной щелчок мышкой в инспекторе на строке OnChange закладки Events).
procedure TForm1.ScrollBar1Change(Sender: TObject);
Флажок. Chechbox. Хорошо известный флажок, квадратик, помеченный (или непомеченный) крестиком. При щелчке мышкой меняет состояние. Свойство Checked принимает значение true, если флажок включен, и false, если выключен. В свойстве Caption ему можно приписать название. Событие OnClick вызывается, когда на флажке щелкают мышкой (и он, соответственно, меняет свое состояние). Вообще, событие OnClick можно обрабатывать почти для всех элементов управления, например для поля-надписи, типа если щелкнул человек на надписи, поменять можно ее содержимое или цвет. Вот пример программы, которую сделал Алексей с помощью таких движков и переключателей - динамический подбор значений цветов, сочетание цветов фона и переднего плана, очень удобно для дизайнеров, картинка: http://russianenterprisesolutions.com/sbo/im/17.jpg Архив (исходные тексты) здесь: http://russianenterprisesolutions.com/sbo/download/rgb.rar
История 18-летнего парня из Екатеринбурга.
Вот еще история, как я дошел до жизни такой =) Хм...почему именно кодинг, ну я даже и не знаю. Вроде все было так, когда мне купили деньди(она у меня появилась раньше ZXSpectrum'а) я был тогда еще совсем сопляком, я очень много рубился (впрочем, как и все) во всякие там игрушки и интересовался вопросом, как там все это делается и можно ли самому такое заделать, но это было лишь любопытство, по крайней мере тогда. Уж не знаю почему, но меня всегда в играх больше интересовала техническая часть, а не сама игра.
Потом ко мне в руки попала Sega, вот именно тогда я узнал, что значит хорошие спрайтовые игры. Потом ко мне попал Спектрум, вот тогда и понеслось....я сразу раздобыл книжку по бэйсику и начал писать свои первые программы, мне было лет так 12-13, предвкушая что моя мечта написать первую собственную игру скоро сбудется. Не прошло и года, как мне купили нормальный комп. Я забросил программирование т.к. был с головой погруженн во всякие игрушки, которые потрясли меня до глубины души :) Но через полгода к играм
я порядком охладел и вспомнил о своем увлечение. По привычке с большим трудом раздобыл VisualBasic4 и преобрел к нему книжку, но из этого ничего не вышло тк я не понимал, что такое объектно ориентированное программирование (честно говоря я был тогда просто чайником) да и книжка была отстойная =). Спустя месяца два я набрел на сайт НФК(~2 года назад) и увидев, что НФК пишется на дельфи решил посмотреть, что это такое. Купил диск дельфи5 и книжечку, книжка оказалась ориентирована на чайников, наверное поэтому
я быстро всосал что к чему =). Прочтя перве 30-40 страниц я написал свою первую игру. Там стоял такой домик скрин cs_estate и оттуда лезли морды теров, а игрок должен был убивать их щелкая по ним курсором. Когда я дочитал книжку доконца я написал плеер аля винамп(можно скачать с моего сайта) и еще одну игру, жалкое подобие НФК. Потом я уже узнал, как писать под DirectX, написал ВластьОгня, это была по сути моя первая нормальная игра, которая завевала некоторую популярность. Вот теперь пишу Out oft his world,
это будет действительно полноценная игра с профессиональной графикой и написанная со знанием дела, хотя время покажет. Кстати, игры у Андрея весьма симпатичные! http://dronprogs.narod.ru/ Еще одна история, найдена в рассылке Эдуарда Акимова "Право быть богатым" http://subscribe.ru/catalog/economics.school.rich Рождение любого мероприятия начинается с идеи или мечты одного обычного человека. Рождение нашей школы осуществилось благодаря мечте обычной учительницы информатики школы № 20 г.Ульяновска, которую не устраивали старые компьютеры в школах (до 2002 года работали на УКНЦ), да и программы по которым обучали ребят на уроках информатики (в основном язык Basic). Этой учительницей была Хомутских Рамзия Эльмансуровна, которая сейчас является руководителем нашей Интернет школы Wizard. Для реализации любой мечты нужны деньги и упорство в преодолении препятствий, которые выстраивают также обычные люди, завидующие успехам других людей. 1999-2000 гг. были трудными для системы образования. Учителям по несколько месяцев не платили зарплату. Тогда Ульяновск захлестнула волна забастовок и голодовок в школах города. После голодовки погиб учитель школы №20, где работала Хомутских Р.Э. Так далее продолжаться не могло… Помог случай. Деньги для начала реализации этой мечты предложила слушательница курсов, далее друг и соратник школы Мащенко Лариса Ивановна, которая пришла на курсы Хомутских Рамзии Эльмансуровны, чтобы освоить работу на персональном компьютере. Лариса Ивановна не смогла остаться равнодушной к мечте тогда полуголодной школьной учительницы. 5 тысяч рублей и один старенький ПК - вот с чего началась кропотливая работа по созданию школы. Не было ни помещения, ни домашнего телефона, ни хоть маломальского предпринимательского опыта. Этих денег хватило на регистрацию и рекламу. Были только богатый опыт работы Рамзии Эльмансуровны преподавателем информатики, высшая профессиональная категория, успешный опыт работы заместителем директора школы по информационным технологиями и поддержка необыкновенного человека Мащенко Ларисы Ивановны, которая, как ни странно, является пенсионером по инвалидности. Дело осложняло и тем, что Рамзия Эльмансуровна с семьей переехали в Ульяновск недавно, и в городе у них не было ни друзей, ни связей. Первый набор на 2000-2001 учебный год был сделан успешно. Многие поверили нашей учительнице и пожелали осваивать современные интернет-технологии в нашей школе, но… Следующим препятствием на пути школы были безуспешные попытки найти аренду компьютерного класса. Нет, такие компьютерные классы в Новом городе на тот момент были, но нас с нашей учительницей даже за хорошую арендную плату туда не пустили, ответы были разные - что-то вроде "ваши дети сломают наши ПК" или "мы сами организуем компьютерные курсы и вы наши конкуренты…" Нет, не открыли такие курсы и компьютеры у них теперь морально устарели, но нет "пусть и нам будет плохо, лишь бы вам не было хорошо". Тогда на несколько месяцев школа арендовала самый дорогой Интернет-салон в Доме связи и учила детей осваивать клавиатуру и создавать папки там, арендуя при этом очень дорогостоящее время работы в интернете. Условия работы в интернет-кафе не подходили для постоянных занятий со школьниками и создалась угроза существованию нашей школы, тогда еще 3-х месячному младенцу. В тот момент еще один человек не смог остаться равнодушным к мытарствам школы - это Хомутских Алексей Николаевич (муж Рамзии Эльмансуровны). Настолько сильным было желание нашей учительницы учить детей новым технологиям, что ее близкие просто не смогли оставаться безучастными. Алексей Николаевич оборудовал в комнате собственной 2-х комнатной квартиры на 9 этаже компьютерный класс из 4-х персональных компьютеров, заняв при этом под большие проценты деньги у своих сотрудников. Надо отдать должное и родителям наших учеников - они с пониманием отнеслись к проблемам становления школы и поддержали ее. Со временем появился телефон, создали локальную сеть в классе, обеспечили выход каждого рабочего места в интернет через модем. Современный компьютерный класс теперь уже из 6-ти персональных компьютеров, большой педагогический опыт, индивидуальный подход к каждому учащемуся, современное программное и методическое обеспечение позволяют проводить уроки на самом высоком уровне. Такой современный компьютерный класс в 2000 году имела еще только одна школа - новостройка в Новом городе. Это сейчас в 2003 году государство обеспечило школы техникой. А тогда, 3 года назад, силами одного учителя, без всякой поддержки со стороны, был создан класс, имеющий выход в интернет и в котором дети успешно осваивают современные интернет технологии. Да и сегодня в редкой школе работают такие высокопрофессиональные преподаватели как в нашей школе. В этом нашей школе просто повезло… Родители и дети оценили работу школы и наш второй учебный год начался с еще большего числа детей. Этот год был более стабильным в работе. Школа смогла рассчитаться с долгами, осуществить многие задуманные проекты, но попытки найти и арендовать помещение продолжались и продолжаются в уже третьем для нас учебном году. Число обучающихся детей в школе и в этом году увеличилось. Увеличилось и число педагогов, работающих в школе и нам уже трудно умещаться в рамках квартиры семьи Хомутских, где мы до сих пор и находимся. Трудности закаляют и не дают расслабиться, но нашей школе по-прежнему нужна помощь. Мы не просим денег (хотя мы очень мечтаем о своем сканере и о своем принтере, которых у нас нет). Мы просим помощи в нахождении помещения, которое мы смогли бы взять в аренду. Нас вдохновляет успехи, которые мы достигли в участии работы Летней Уральской Школы информационных технологий в 2002 году и те дипломы, которые привезли ученики нашей школы с Урала. У нас сейчас много проектов, один из которых - участие в областном конкурсе сайтов "Мой сайт Симбирску - Ульяновску". Мы надеемся на объективную оценку наших работ. Ведь оценка работы наших учеников - это оценка работы школы. Мы также надеемся, что и сейчас найдутся неравнодушные люди, которые помогут нашей школе с помещением. P.S. Эти строки написаны осенью 2003 года. Сейчас на дворе осень 2004 года. Мы еще целый год проработали в свой двухкомнатной квартире. Сейчас мы второй учебный год начали в арендуемом помещении (33 кв. метра). У нас на сегодня -12 ПК, лазерный ч/б принтер, цифровой фотоаппарат, сканер, скоростной выход в интернет через ISDN. С нашими ребятами мы участвуем во всевозможных конкурсах, занимаем призовые места, дважды ездили на Уральскую компьютерную школу. Как всегда очень много мечтаем - например, нам очень нужен хороший цветной принтер, хотим открыть филиал в другом районе города, открыть свою фотостудию и свою Web-студию, чтобы нашим выпускникам помочь находить заказы. Хотим иметь друзей в других городах. Скоро мы проведем в выставочном зале "Радуга" выставку графических работ наших ребят. Этот год у нас юбилейный - 5-ый! Хотим теперь появиться и в прессе, чего мы раньше всячески избегали. Теперь есть результаты, может и скромные, но результаты... О нас можно узнать подробней на сайте http://www.ISW.ru Одним программированием мир не ограничивается :) Хотя многие читают такие примеры - и все равно ничего не понимают. Выводов не могут сделать правильных :)
(c) 2004-2005 Сергей Бобровский bobrovsky@russianenterprisesolutions.com
Школа программирования с нуля
|
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.prognull |
Отписаться |
В избранное | ||