Рассылка закрыта
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Ноябрь 2000 → | ||||||
1
|
2
|
3
|
4
|
5
|
||
---|---|---|---|---|---|---|
6
|
7
|
8
|
9
|
11
|
12
|
|
13
|
14
|
15
|
16
|
18
|
19
|
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
Статистика
за неделю
Программирование для начинающих Выпуск 10
Программирование для начинающихВыпуск 10
Ведущий рассылки: Вячеслав Мацнев | e-mail: stac@stacmv.net |
|
В этом выпуске читайте: |
Тема сегодняшнего разговора - домашнее задание по Бейсику #1. Задание это было выдано в прошлом выпуске, и ряд подписчиков уже начали его выполнять. Наверное уже даже два ряда :-), но я пока получил только письма, которые вы мне писали на прошлой неделе. "Праздничные" письма получу сегодня. Итак... В целом все нормально. Особых проблем домашнее задание у вас не вызывает. И это правильно, т.к. оно не очень сложное. Давайте договоримся о том, в каком виде вы будете посылать мне свое ДЗ. Я говорил, что можно делать ДЗ постепенно, также, хоть, по одной задаче, можно мне его и посылать. Для этого поместите текст программы в письмо или прикрепите к письму файл с программой. Причем этот файл должен быть в текстовом формате (предпочитаю кодировки cp-1251 и cp-866). Поклонники QuickBasic'а обратите внимание, что вы можете сохранять текст программы как в текстовом, так и двоичном (QuickBasic) формате. В любом случае файл будет иметь расширение bas. Но во втором случае программу нельзя посмотреть ничем, кроме QuickBasic'а. Пожалуйста, присылайте мне свои программы в текстовом формате, это существенно ускорит проверку ДЗ. Некоторые подписчики по привычке :) пишут программы в Блокноте. Это допустимо. Но учтите, что используемые нами Бейсики - программы для ДОС. И если вы используете русский текст, то перед использованием программы, ее текст надо перевести из кодировки Windows в кодировку DOS. В каком бы редакторе вы не писали программы, рекомендую проверять их работоспособность каким-нибудь интерпретатором или компилятором. Напоминаю, что несколько таких программ имеются на сайте рассылки в разделе ФАЙЛЫ. И еще о письмах. Давайте договоримся, что зарегистрированные подписчики будут в своих письмах указывать свой ник2. Пусть это будет в таком виде: nick2=ваш_ник2 Эта строка может быть в любом месте письма (но лучше в начале). И кроме ника2 в этой строке ничего быть не должно. Письма, содержащие такую строку будут изыматься из потока приходящих мне писем и обрабатываться отдельно. Также указывайте, пожалуйста, какое именно ДЗ вы выполняли. Да, сейчас у нас одно ДЗ - не перепутаешь. Но в будут еще и еще. И в одно и то же время сотни людей будут делать разные домашние задания по различным курсам. Давайте, опять же, договоримся ... Кстати, очень многие вопросы в нашей отрасли решаются именно с помощью различного вида договоренностей. Давайте договоримся, обозначать домашнее задание следующим образом: dz=курс/номер_ДЗ/номера_задач_разделенные_запятой Пример: dz=basic/1/1,2,3 Эта строка говорит о том, что в письме находятся первые три задачи первого домашнего задания по Бейсику. Более подробно все эти "организационные" вопросы я освещу (со временем) на сайте в разделе УЧЕБНЫЙ ПРОЦЕСС. В этом же разделе будут публиковаться результаты выполнения вами домашних заданий и другая информация, непосредственно связанная с учебным процессом. Как-то, условия заданий, методические указания по их выполнению и т.п. Не спешите бежать на сайт, появится все это не сразу :-), т.е. :-(. И последнее. Планируется контрольная работа по Бейсику. Она охватит весь пройденный нами материал. Все это еще впереди, просто я хочу сказать, что подписчики, которые "знают Бейсик", выполнять эту контрольную не будут, она им засчитывается "автоматом". Я решил (надеюсь. правильно), что не стоит тратить время на проверку заведомо правильных ответов. Удачи.
Давайте немножко расширим свои знания о файловой системе ДОС. Устройства ДОС различает два типа устройств: посимвольные и поблочные (приставка "по" иногда опускается). Обмен между посимвольными устройства ми и оперативной памятью осуществляется побайтно (любой символ занимает один байт) и строго последовательно (байт за байтом). Обмен информацией между памятью и поблочными устройствами на физическом уровне осуществляется секторами (блоками) по 512 байт, которые можно считать физическим записями. Файловая система может создавать иллюзию обмена логическими записями меньшего или большего размера. К поблочным устройствам относятся ,в частности, внешние запоминающие устройства: дисководы, накопители на магнитной ленте и так далее. Нас же сейчас интересуют посимвольные устройства. Дело в том, что в ДОС они трактуются как файлы (обычно текстовые). То есть, практически всегда вместо имени файла можно указать посимвольное устройство (все устройства в системе имеют свое имя). В этом случае обмен информацией будет производиться с данным устройством, и это не потребует каких-либо дополнительных действий от пользователя. В ДОС зарезервированы следующие имена посимвольных устройств:
Фиктивное устройство может использоваться при отладке программ, а также для проверки читаемости какого-либо файла путем копирования его содержимого в это устройство, чтобы не создавать копию файла и тем самым ускорить процесс тестирования. Фиктивное устройство работает следующим образом: при записи в него данные реально никуда не записываются ("исчезают в черной дыре"), а при чтении из него всегда выдается признак конца файла (программа, приняв признак конца файла прекращает его чтение). Консоль это клавиатура с дисплеем. При записи в устройство, данные данные посылаются на дисплей, т.е. отображаются на экране. При чтении используется клавиатура. Вообще, чтение и запись это операции ввода и вывода (соответственно). Поэтому, в дальнейшем я буду иногда называть их операциями ввода-вывода. Это также может встретиться вам и в литературе. Итак, как все это работает на практике. Рассмотрим команду ДОС, которая называется COPY: Команда: COPY источник приемник Команда осуществляет копирование (создает копию) файла (файлов). (Команда COPY имеет массу опций, мы их сейчас рассматривать не будем.) Источник указывает на исходный файл (имя файла), приемник - на копию.
Т.е. команда COPY myfile.txt myfile2.txt создает копию файла
myfile.txt в файле myfile2.txt. Если нужно скопировать файл в другой
каталог, то в качестве приемника нужно задать его спецификацию,
например, Файл myfile.txt будет скопирован в подкаталог copies текущего диска. В качестве источника можно указывать шаблоны. Мы рассмотрим их чуть позже. Как говорилось выше, чтобы проверить читаемость файла, можно скопировать его в фиктивное устройство. Это делается командой copy myfile.txt nul. Аналогичным способом можно вывести содержимое файла на экран (copy myfile.txt con) или распечатать его на подключенном к LPT1 принтере (copy myfile.txt prn). Лучше не делать этого, если файл не текстовый. Другой пример - ввод файла с консоли. Допустим, у Вас имеется компьютер, на котором имеются только системные файлы ДОС и необходимые драйвера. Сможете ли Вы настроить этот компьютер и установить на него необходимое ПО с компакт-дисков? "Раз плюнуть!", скажете Вы, "Запускаем Нортон, вставляем "компакт" и запускаем setup Виндовса. Ну а дальше даже плевать не надо ...". Мне не раз приходилось устанавливать на компьютер систему "с нуля", точнее (в большинстве случаев) восстанавливать ее после сбоя или работы вируса. Все мы это знаем и умеем. Но представьте, что доступа к компакт-диску с ПО нет, т.е. не подключен драйвер привода CD-ROM. И Нортона на компьютере не имеется. Вы можете обплевать все клавиатуру, но без "прописки" CD-ROM'а в autoexec.bat и config.sys обойтись не удастся. А как записать что-то в файл без редактора? Элементарно! Скопируйте информацию в файл с консоли. copy con myfile.bat Попробуйте набрать эту команду. Сразу после нажатия Enter'а, на следующей строке будет мигать курсор, ожидая ввода данных с клавиатуры. Можете вводить данные. Все очень просто. Единственно, у начинающих часто возникают трудности при выходе из этого режима (режима ввода с клавиатуры). Дело в том, что Escape здесь не помогает :-). Я говорил, что программа прекращает чтение файла при получении признака конца файла. Его можно ввести с клавиатуры. Для этого нажмите комбинацию Ctrl-Z, затем Enter. Предупреждение! Прежнее содержимое файла, в который производится запись будет утеряно. Если это не желательно, то дополнительно используется конкатенация файлов или перенаправление ввода-вывода. Все это мы с вами изучим, в свое время. Шаблоны ДОС предоставляет средства для указания не одного, а целой группы существующих в том или ином каталоге файлов путем задания так называемых шаблонов. Наиболее полно эти средства реализованы в командном языке ДОС. Шаблон (образец) - составное (полное) имя файла, в полях имени и расширения которого используются символы-заменители. Шаблон обозначает не единственный файл, а группу существующих файлов, составные имена которых сопоставляются с данным шаблоном, т.е. подходят под образец. Область действия образца ограничивается содержимым определенного каталога. ДОС использует символы-заменители "?"(знак вопроса) и "*"(звездочка). Заменитель "?"(знак вопроса) указывает на любой (но единственный) символ в данной позиции. Однако, если "?" записан последним в поле имени файла (расширения) или если за ним записаны только такие же заменители до конца поля, то он обозначает любой символ или его отсутствие. Допускается использовать любое количество заменителей "?". Заменитель "*"(звездочка) обозначает произвольную последовательность символов (возможно нулевой длины) от данной позиции до конца поля имени файла или расширения (в соответствии с тем, в каком поле заменитель использован). В каждом поле допускается только один заменитель "*", а все символы после него игнорируются. Примеры:
Ок.
4. Ссылки на другие документы Гиперссылка (ссылка) - одно из важнейших понятий HTML. Даже само название HTML говорит об этом. Ссылки часто встречаются в различных книгах. Они указывают, где конкретно (в каком разделе) можно найти информацию по тому или иному вопросу, избавляя Вас от необходимости перелистывать всю книгу. В случае с Всемирной Паутиной, перелистать ее никак не удастся, поэтому ссылки - практически единственный способ найти ту или иную информацию. Идея гиперссылок очевидно взята из энциклопедических словарей, где почти каждая словарная статья имеет ссылки на другие статьи. За пониманием сути ссылок и их необходимости отсылаю вас к этим словарям. Впрочем, в этом нет необходимости. Вы видели уже сотни тысяч ссылок на страницах Сети, и единственное, что Вы хотите знать, это как сделать ссылки на своей собственной странице. Так? Ок. Обсудим это. Организация ссылок. Теория Ссылка состоит из двух частей: указателя ссылки и адреса ресурса, на который мы ссылаемся. Указатель ссылки, он же якорь (anchor), часть ссылки, которая будет показана браузером. Он представляет собой слово, группу слов и/или изображение. По указателю должен кликнуть пользователь, чтобы "перейти по ссылке". Поэтому указатель выделяется браузером, чтобы пользователь заметил, куда надо кликать. Обычно указатели ссылок выглядят подчеркнутыми (это можно исправить, воспользовавшись CSS). Они также имеют отличный от основного текста цвет. Точнее три цвета :). Дело в том, что (впрочем, вы это знаете) браузер различает посещенную, не посещенную и активную ссылки. И каждая из них может иметь свой цвет. Т.е. вы видите синюю ссылку, жмете на нее со всей силы, она становится активной и краснеет. Когда вы узнаете, что эта ссылка является "мертвой" (т.е. указывает в никуда или на несуществующий ресурс), она станет посещенной и окрасится в черный цвет. Цвета ссылок вы, конечно же, можете устанавливать сами. Для этого используются специально для этого предназначенные параметры тега BODY. LINK для не посещенной ссылки, ALINK - для активной и VLINK для посещенной ссылки. Пример, <BODY TEXT="black" BGCOLOR="white" LINK="blue" ALINK="red" VLINK="black"> Говорят, у браузера NN есть проблемы с активными ссылками - ему о них ничего не сказали. Впрочем, это относится к старым версиям. кажется. Адрес ресурса (ресурс это не обязательно html документ) - это его URI (Universal resource Identifier) - Универсальный Идентификатор Ресурса, примерно, как спецификация файла в ДОС. Чаще встречается термин URL(Universal Resource Locator) и разработчики WWW говорят, что URI и URL это не одно и то же. Приходится верить им на слово. Может кто-нибудь из знатоков пояснит мне, в чем разница? URI имеет такой формат: протокол://имя_машины/путь/к/файлу/на/машине/имя.файла
Надеюсь, понятно. Протокол определяет способ доступа к ресурсу. http - для ресурсов в Web (используется web-сервер), ftp - для файлов на ftp-сервере, mailto- для электронной почты. Есть еще ряд протоколов (telnet, wais, gopher, news), но рассмотренные три являются наиболее часто используемыми. О других многие из вас. должно быть, и не слыхали. Имя машины - это доменное имя вебсервера, на котором расположен данный ресурс, например, stacmv.nm.ru. Путь к файлу, задается также, как в ДОС, только подкаталоги и имя отделяются друг от друга прямым "слешем""/", а не обратным "\", как в ДОС. (Я должен был сказать, что путь задается также, как в Unix (именно оттуда взят способ адресации), но не сказал :) ) Итак, полный (абсолютный) URI для данного документа может выглядеть так: http://stacmv.nm.ru/issue10.htm Как и пути к файлам в ДОС, URI может быть относительным. Все, что я говорил, про относительные пути применимо и здесь. Текущим каталогом считается каталог, в котором находится загруженный документ. Удобство использования относительных URI должно быть вам очевидно: кроме того, что можно меньше печатать (issue10.htm вместо http://stacmv.nm.ru/issue10.htm), очень удобно переносить страницы с одной машины на другую, не переписывая все межстраничные ссылки. С другой стороны, для ссылки на ресурс, расположенный на другой машине, подойдет лишь абсолютный URI. Организация ссылок. Практика На пратике для создания ссылки используется тег A. Указатель ссылки размещается между открывающим и закрывающим тегами (А - это тег-контейнер), а URI задается с помощью параметра href (от hyperreference - гиперссылка). Например, вот так:
<A HREF="http://stacmv.nm.ru">Сайт рассылки</a>
Я думаю, много примеров приводить здесь не надо, итак все ясно. Приведу все же парочку:
<A HREF="http://stacmv.nm.ru/issues.zip">Выпуски рассылки
"Программирование для начинающих"</a>
Пишите <a href="mailto:stac@stacmv.net">мне</a> Ссылки внутри документа Вы, наверное, много раз видели ссылки, при клике на которые происходит переход к какому-то фрагменту текущего документа, а не загружается новый. Да что я говорю, вы это точно видели, ведь, в рассылке таким образом функционирует содержание выпуска. ну а подписчики текстовой версии видели, должно быть, часто применяемые ссылки Наверх. Чтобы сделать такую ссылку надо использовать тег A дважды. Надо сделать собственно ссылку и определить "якорь назначения" - позицию в документе. куда необходимо совершить переход. Тег A имеет параметр NAME, с помощью которого можно любому якорю задать имя, а затем, на него ссылаясь, осуществлять переход к этому якорю. Итак, в нужном месте пишем: <a name="dos"><h2>DOS</h2><a> В принципе, указатель ссылки может отсутствовать, он здесь не обязателен. А в другом месте можно сделать ссылку: <a href="#dos">DOS</a> Подобного рода ссылки можно (и нужно) использовать при публикации книг и т.п., дабы прямо из содержания читатель мог перейти в нужный раздел или параграф. В случае, если "якорь назначения" находится в другом документе, в качестве адреса ссылки надо использовать URI документа с добавленным именем "якоря назначения". Пример: <a href="issue6_2.htm#dos">Раздел DOS в выпуске 6.2</a> Ок. Теперь вы знаете о ссылках практически все :-)
Сообщение для подписчиков, которые написали мне, что они будут изучать HTML с рассылкой. Друзья, для выполнения домашних заданий хорошо бы иметь свою web-страницу в Сети. Озаботьтесь, пожалуйста, этим вопросом. Это, впрочем, для желающих. Я также прошу откликнуться уже знающих HTML, кто мог бы помочь мне в проверке заданий по HTML. Грубо говоря, все URI страниц подписчиков будут поделены между нами для проверки страниц и консультирования их авторов.
Друзья! В прошлом выпуске были допущены две (как минимум; орфографические и т.п. не считаются) ошибки: 1. В Power Basic'e для компиляции программы в exe файл надо, чтобы Destination (меню Compile) было установлено в EXE FILE, а не Disk, как я говорил раньше. 2. Функция взятия квадратного корня называется SQR(), а не SQRT(). Это я перепутал с Паскалем: там SQRT() - взятие корня, а SQR() - возведение в квадрат. Прошу прощения и благодарю заметивших и сообщивших. Ну, а новостей, сегодня больше нет :-) Информацию о рассылке "Школа жизни" новой мы не считаем, эту рассылку мы хорошо уже знаем.
|
http://subscribe.ru/
E-mail: ask@subscribe.ru |
В избранное | ||