книги хакеры / журнал хакер / специальные выпуски / Специальный выпуск 4_compressed
.pdfÆ Ó Ð Í À Ë |
Ê Î Ì Ï Ü Þ Ò Å Ð Í Û Õ |
Õ Ó Ë È Ã À Í Î Â |
|
|
|
|
|
|
|
|
|
w w w . x a k e p . r u
!CA0A21b
design by modernart.ru
Дарова, перец! Ты находишься на пороге новой жизненной эпохи - будешь с нами сегодня кодить. Программировать, то есть. Боишься? Думаешь, это заморо- ченное занятие, долгое и нудное, от которого сдвиг по фазе начи- нается, и, к тому же, только избранным яйцеголовым доступное? Хорош, не бойся! Не боги горшки обжигают. Современные языки программирования позволяют тебе практически без строчки кода САМОМУ написать прикольные проги - и не какие-нибудь “2 + 2 = 3,5”, а настоящие - плееры всякие, инет - броузеры. Так можно даже простенького троянского коня написать! И при этом не нужно заморачиваться понятиями, типа “билинейная структура данного алгоритма не позволяет интерполировать данный полином”, и про- чей фигней. Просто берешь в руки мышь, в зубы - Х, и - вперед! Главное - не стрематься, и через пару часов у тебя будет уже целый арсенал реальных, работающих программ! Так что - от винта, поехали и вс¸ такое. Я пристегнут, а ты? Пора. Пристегнись.
editorial
/братская могила/
Редакция |
Координатор проекта: |
|
|
Сергей Покровский |
|
|
(pokrovsky@xakep.ru) |
|
|
Главный редактор: Александр |
|
|
Черных (holod@xakep.ru) |
|
|
Второе дыхание: |
|
|
Александр Сидоровский |
|
|
(2poisonS@xakep.ru) |
|
|
добрая фея |
|
|
Игорь Пискунов |
|
|
(igor@gameland.ru) |
|
|
замполит-политрук |
|
|
Алена Скворцова |
|
|
(alyona@gameland.ru) |
|
Art |
Aрт-директор |
|
|
R.SKY |
|
|
(matrix@xakep.ru), |
|
|
дизайн и обложка |
|
|
Griff |
|
|
modernart.ru |
|
|
дизайн верстка |
|
|
Таня Отакуева |
|
|
(osyako@gameland.ru) |
|
Реклама |
руководитель отдела |
|
|
Игорь Пискунов |
|
|
(igor@gameland.ru) |
|
|
менеджеры отдела |
|
|
Алексей Анисимов |
|
|
(anisimov@gameland.ru) |
|
|
Басова Ольга |
|
|
(olga@gameland.ru) |
|
|
Крымова Виктория |
|
|
(vika@gameland.ru) |
|
|
òåë.: |
(095) 229.43.67 |
|
|
(095) 229.28.32 |
|
ôàêñ: |
(095) 924.96.94 |
Оптовая |
руководитель отдела |
|
продажа |
Владимир Смирнов |
|
|
(vladimir@gameland.ru) |
|
|
менеджеры отдела |
|
|
Андрей Степанов |
|
|
(andrey@gameland.ru) |
|
|
Самвел Анташян |
|
|
(samvel@gameland.ru) |
|
|
òåë.: |
(095) 292.39.08 |
|
|
(095) 292.54.63 |
|
ôàêñ: |
(095) 924.96.94 |
PUBLISHING |
учредитель и издатель |
|
|
ÇÀÎ “Ãåéì Ëýíä” |
|
|
директор |
|
|
Дмитрий Агарунов |
|
|
(dmitri@gameland.ru) |
|
|
финансовый директор |
|
|
Борис Скворцов |
|
|
(boris@gameland.ru) |
|
Для писем |
101000, Москва, |
|
|
Главпочтамп, |
|
|
а/я 652, Хакер |
|
Web-Site |
http://www.xakep.ru |
|
magazine@xakep.ru |
Мнение редакции не обязательно совпадает с мнением авторов. Редакция не несет ответственности за те моральные и физические увечья, которые вы или ваш комп можете получить, руководствуясь информацией, почерпнутой из статей номера. Редакция не несет ответственности за содержание рекламных объявлений в номере.
Отпечатано в типографии «ScanWeb», Финляндия
Зарегистрировано в Министерстве Российской Федерации по делам печати, телерадиовещанию и средствам массовых коммуникаций
ÏÈ ¹ 77-1905 от 15 марта 2000 г.
Тираж 57 000 экземпляров. Цена договорная.
Журнал презентуется всем пассажирам, летающим рейсами авиакомпании “ИГИДА АЭРО”
2 |
0002 |
СОДЕРЖАНИЕ |
|
|
>СПЕЦВЫПУСК #4 |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
|
Твой собственный веб-броузер |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
71 |
|
Инсталлим языки программирования |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
74 |
|
Высший пилотаж - пишем клавиатурный |
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
сниффер |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
|
Смотрелка в домашних условиях |
|
|
|
||||||||||||||
|
|
|
|
|
|
80 |
|
Getright своими руками |
|
|
|
||||||||||||||
|
1 |
Вступительная |
|
|
|
|
|||||||||||||||||||
|
|
84 |
|
Сканер портов? ЛЕГКО! |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
2 |
Содержание |
|
86 |
|
Справочник конспиративных квартир на ВБ |
|
|
|
||||||||||||||||
|
4 |
Глоссарий |
|
90 |
|
Азм - проще некуда |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
12 |
Как создается программа |
|
92 |
|
Текстовый редактор на дельфи или снова |
|
|
|
||||||||||||||||
|
16 |
“Hacked By” на дельфи, VC++ и VB |
|
|
|
|
|
|
текстовый редактор |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
20 |
Проги для программера |
|
94 |
|
Кранты соседям, или свой собственный |
|
|
|
||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||
|
24 |
Дебаг или как защитить себя от |
|
|
|
|
|
|
мега-плеер |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
насекомых |
|
98 |
|
Суровая правда жизни о директ3Д |
|
|
|
||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||
|
28 |
Перекодировщик |
|
104 |
Кликер - самопал |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|||||||||||||||||||||
|
32 |
Программистские ресурсы в сети |
|
106 |
Совершенное оружие кодера |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
36 |
Языки программирования, и откуда они |
|
|
110 J++ c самого начала: пишем текстовый |
|
|
|
|||||||||||||||||
|
|
взялись - ликбез |
|
|
|
|
|
|
редактор. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
42 |
ÂÓÇÛ |
|
|
|
114 |
Нас ребут, а мы крепчаем! |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
44 |
Фишки |
|
|
116 |
Нет, не хакер, просто гадил плохо |
|
|
|
|
|
|
|
|
|||||||||||
|
53 |
Боевой конь за 10 минут |
|
120 |
Пишем свой мессаджер для локалы на |
|
|
|
|||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||
|
56 |
Команда, или о вреде программистов |
|
|
|
|
|
|
С++ Билдер |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
66 |
Cоздай язык сам или Конструктор для |
|
122 |
Бешеная Блинница |
|
|
|
|||||||||||||||||
|
|
программиста |
|
|
|
126 |
|
Анекдоты о програмерах |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
0004 |
ТЕОРИЯ |
>СПЕЦВЫПУСК #4 |
|
|
ГЛОССАРИЙ |
|||
|
С САМОГО Н |
|||
|
|
|
|
лове. Так вот, чтобы тебе не заморочиваться и |
|
|
|
|
не чесать репу, я тебе все растолкую “по поня- |
|
|
|
|
тиям”. Прикинь, как ты сможешь выделаться пе- |
|
|
|
|
ред подругой! Она тебе: “...а у меня то да се не |
|
|
|
|
работает, а завтра зачет по компутерам, а пре- |
|
|
|
|
под - тормоз...”, а ты ей: “Да не вопрос! Тут у те- |
|
|
|
|
бя элемент массива в строковую переменную |
|
|
|
|
криво конвертируется, сейчас мы его порепаем |
|
|
|
|
в пару циклов, да еще и без меток обойдемся!”. |
|
|
|
|
Все, дама будет твоей навеки. Проверено элек- |
|
|
|
|
троникой :)))) !!! Поехали. |
|
|
|
|
ПЕРЕМЕННАЯ |
|
|
|
|
В этом мире все меняется, верно? Все что-то |
|
|
|
|
на что-то меняют... Одни Риву 128 на Риву |
|
|
|
|
256, другие паровоз на другой паровоз. Так и |
|
|
|
|
в кодинге, то есть в его, понимаешь, резуль- |
|
|
|
|
тате, супер-пупер-рулезной проге, которая |
|
|
|
|
осчастливит человечество, наконец сломает |
|
|
|
|
Инет и поснимает лифчики на всех фотках |
|
|
|
|
подружек. Во, кстати, и пример - приходит к |
|
|
|
|
тебе красавица, вся в бантах и кружевах (ну, |
|
|
|
|
или в джинсах и футболке, кому как нравится). |
|
|
|
|
А ты уже весь подготовился, все помыл, вынес |
|
|
|
|
кубометр пивных бутылок и прочих заваляв- |
|
|
|
|
шихся от прошлых зависаний предметов, лю- |
|
|
|
|
бимую крысу к компу подвесил и подстелил ей |
|
|
|
|
(крысе!) парадный коврик с зайчиком (рабо- |
|
|
|
|
чий, с голой теткой в шкаф спрятал - дабы не |
|
|
|
|
травмировать...). Ну и через n часов ты с этой |
|
|
|
|
лапочкой уже вовсю практикуешь чудеса и ди- |
|
|
|
|
ковины вольной акробатики. Все лишние |
|
|
|
|
предметы одежды (а они тут все лишние! ) по- |
|
|
|
|
летели в стороны, и все такое... Смотри: была |
|
|
|
|
подруга в прикиде, стала... ну... тоже в прики- |
|
|
|
|
де, но - более естественном :)))). То есть - ее |
|
|
|
|
одетость есть величина, по жизни, ПЕРЕМЕН- |
|
арова. Признайся, перец, было табуржуинским разумом уверен, что, типа, все |
НАЯ. Может дама быть совсем одетой, может |
||
|
кое, что ты читал (пытался читать) |
знают и понимают, что значит фраза вроде “... |
- немного раздетой, а может - и обнаженной: |
|
|
умную книжку, написанную суровым |
после анализа содержимого стека и/или дампа |
получается, что дама - переменная, прини- |
|
|
Äдядей из МелкойМягкости? Ну, ти- |
памяти по адресам хххххх-ххххх вы поймете, что |
мающая эти три значения. Переменная - пер- |
|
|
па, “Аспекты и тонкости программи- |
трассировка вызывает обращение по вектору |
вое и основное понятие любого языка кодин- |
|
|
рования на Visual C++ в среде Windows 9x, бла- |
прерывания 02h и....”. Я, например, уже после |
га, в которое ты, перец, просто должен вник- |
|
|
бла-бла. И грузил тебя тот дядя после первой |
второй страницы таких душераздирающих исто- |
íóòü. |
|
|
же страницы страшными терминами. Он своим |
рий рвал и без того редкие волосы у себя на го- |
|
|
|
ТЕОРИЯ |
|
|
|
>СПЕЦВЫПУСК #4 |
0005 |
5 |
|
|
КОДЕРА ИЛИ АЧАЛА
|
|
ПОСТОЯННАЯ, или КОНСТАНТА |
КАК ЗАГИБАТЬ ПАЛЬЦЫ, ИЛИ СИСТЕ- |
МЛАДШИЙ РАЗРЯД (îò 0 äî 9) - ýòî òû èëè |
|||||||||
|
|
|
|
|
А теперь, на том же примере, - то, что ты по- |
МЫ СЧИСЛЕНИЯ |
пальцы на твоих руках в нашем случае. |
||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
пытаешься снова развести на романтический |
Никогда не задумывался, как комп думает? |
СТАРШИЙ РАЗРЯД (десятки) - это друг или |
||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
вечер эту пельмешку так же обязательно, как |
Прикинь, вот ты считаешь яблоки (подружек, |
пальцы на его руках. А если еще пяток перцев |
||||||
|
|
|
|
|
восход солнца утром. Это, выражаясь по-ла- |
зеленых президентов). И загибаешь пальцы. |
привлечь, можно считать до морковкино-роз- |
||||||
|
|
|
|
|
тински, constanta est. То |
|
|
|
говенья. Так и комп. У не- |
||||
|
|
|
|
|
есть непременно и обяза- |
А теперь прикинь, перец, |
го тоже разряды есть, |
||||||
|
|
|
|
|
тельно, и так будет всег- |
только считает он не от 0 |
|||||||
|
|
да. Так вот, в кодинге, |
что такую байду надо про- |
äî 9 à, îò 0 äî 1. Íó, ïà- |
|||||||||
|
|
|
|
|
коим ты собираешься за- |
делать, чтобы посчитать |
лец у него один... Теперь |
||||||
|
|
|
|
|
няться, это |
называется |
вспомни снова - цифирей |
||||||
|
|
КОНСТАНТА, |
èëè ÏÎÑ- |
äî 7657651265? Ýòî æ êðû- |
он сколько знает? Пра- |
||||||||
|
|
||||||||||||
|
|
ТОЯННАЯ ВЕЛИЧИНА. Вот |
ша отъедет, сто пудов! Ó |
вильно, две. |
|||||||||
|
|
|
|
|
так мы продвинулись аж |
компа-то не отъедет, ему |
|
||||||
|
|
|
|
|
íà |
äâà |
|
термина. Дальше |
BINARY, БИНАРНЫЙ, |
||||
|
|
|
|
|
|
||||||||
|
|
|
|
|
пойдет |
|
посложнее, но |
что, он железный. А вот у |
ДВОИЧНЫЙ - òàê ýòî |
||||
|
|
|
|
|
помни - |
программер-ко- |
нас с тобой от одной за- |
называется по латыни (да |
|||||
|
|
|
|
|
дер - это, прежде всего, |
писи глаза съедутся в |
и по-английски тоже). |
||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
чугунная задница. |
Понял? Ну, там, бисек- |
|||||||
|
|
|
|
|
ГЛОБАЛЬНЫЕ И ЛО- |
кучку. Хочешь, покажу? |
суалов вспомни. Их тоже |
||||||
|
|
|
|
|
7657651265=1100100001101110011 |
к ДВУМ полам тянет. Те- |
|||||||
|
|
|
|
|
КАЛЬНЫЕ ПЕРЕМЕН- |
перь надо врубиться, как |
|||||||
|
|
|
|
|
1110001000001b! Êàê òåáå? |
||||||||
|
|
|
|
|
НЫЕ (КОНСТАНТЫ) |
до пяти, например, таким |
|||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
Так вот, чтобы избежать |
методом посчитать. До- |
||
|
|
|
|
|
То, что мы с тобой нарыли |
говоримся так: у компа |
|||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
- переменная и константа, |
такого гимора, умные люди |
до фига рук, на каждой - |
||||||
|
|
|
|
|
- áàçà, íî è òóò âñå íå òàê |
подумали и решили: а чего |
один палец. Загнутый па- |
||||||
|
|
|
|
|
просто. Чтобы было по- |
мы, собственно говоря, па- |
лец - 1, разогнутый - 0. |
||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
нятно, |
снова пример: то, |
римся? Давай придумаем |
Лады? Поехали... Заги- |
|||||
|
|
|
|
|
что ты пиво пьешь с клас- |
баем один комповый па- |
|||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
сными перцами по выход- |
еще какую-нибудь СИСТЕМУ |
лец, получаем 1b (буква |
||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
ным в клубе, оно, конеч- |
СЧИСЛЕНИЯ, чтобы и компу |
b в конце нам говорит, |
||||||
|
|
|
|
|
ное, константа... Но, кро- |
удобно было, и нам. |
|
что это binary-система |
|||||
|
|
|
|
|
ме тебя и твоей компании, |
|
счета). А теперь вспомни, |
||||||
|
|
|
|
|
это знают максимум чело- |
|
|
|
пельмень, у компа еще |
||||
|
|
|
|
|
век десять, так? А вот то, |
|
|
|
руки есть. И на второй |
||||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
что Билл Гей(тс-с-с!) и его Форточки - мас- |
Один, два... И так, пока пальцы не кончатся. |
руке тот палец не загнут (01b). А нам нужно |
||||||
|
|
|
|
|
|||||||||
|
|
|
|
|
тдай, - все говорят, и с завидным постоян- |
Пальцев десять - двенадцать. Подружек или |
посчитать двойку, правильно? Так вот, на той |
||||||
|
|
|
|
|
ством. Тоже константа получается. Так как од- |
бутылок пива вечером может быть и больше. |
руке, где палец не загнут, загибаем, а на той, |
||||||
|
|
|
|
|
но от другого отличать? Почесали репу умные |
Конечно, еще ноги есть. И йенг... Но, согла- |
на которой был загнут - разгибаем. Во, выра- |
||||||
|
|
|
|
|
дяди и ввели термин - |
ГЛОБАЛЬНАЯ КОН- |
сись, тяжеловато. А компу как считать, когда |
зился... Что получилось? Точно, 10b. В двоич- |
|||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
СТАНТА (ПЕРЕМЕННАЯ) и ЛОКАЛЬНАЯ. Попро- |
он всего до одного считать умеет? Сам |
ной системе счета 10 - это то же самое, что 2 |
||||||
|
|
|
|
|
буй догадаться, где тут какая константа. Ну, |
знаешь, у него все - либо 1, либо 0. Засада, |
в ДЕСЯТИЧНОЙ (DECIMAL, не путать с децибе- |
||||||
|
|
|
|
|
ты рубишь, однозначно :))!!! Значит, догово- |
вроде. Но не тут-то было! Ты можешь, напри- |
лами :)). Считаем дальше. Три. У нас есть две |
||||||
|
|
|
|
|
рились: локальное - это |
то, что знаешь ты, |
мер, насчитав десяток (на пальцах), взять и |
руки, на руке “старшей” загнут палец, на |
|||||
|
|
|
|
|
|||||||||
|
|
|
|
|
здесь и сейчас, а глобальное - помасштабнее |
попросить дружбана на своей ладони палец |
младшей - нет. Так и загнем его, чего он тор- |
||||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
будет, все знают, никто не спорит. |
загнуть. Теперь чего получилось? Так бы вы |
чит. А на “старшей” руке палец разгибать не |
||||||
|
|
|
|
|
|
|
|
|
|
|
вдвоем всего до 22 посчитали (десять на ру- |
будем, а то опять 1 получится. В результате |
|
|
|
|
|
|
С переменными и константами мы вроде ра- |
ках, десять на ногах, плюс два йенга :) ), а то - |
этой хитрой операции у нас получилось 11b. |
||||||
|
|
|
|
|
зобрались, так? |
|
до 110, только на одних руках. Во какая штука. |
Это и есть 3 в бинарной системе. Только вот |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
0006 |
ТЕОРИЯ |
|
|
>СПЕЦВЫПУСК #4 |
|
|||
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
руки у нас снова кончились. Фигня, сейчас |
ной системе - это 2 разряда, 1-десятки и 5- |
бя 344.07, да? Так уж деньги устроены - руб- |
|
|||||||||||||||||||||
|
||||||||||||||||||||||||
еще одну привлечем к делу. Итак, четыре. Рук |
единицы). Тут в ход пошли буквы: 10=A, |
ли, в которых по 100 копеек. Поэтому очень |
|
|||||||||||||||||||||
у нас три, пальцев тоже. Два загнуты. Разог- |
11=B, 12=C,13=D.... 15=F. На самом деле, |
удобно записывать их количество в виде деся- |
|
|||||||||||||||||||||
|
||||||||||||||||||||||||
нем их на фиг. А на новой руке загнем. Полу- |
все эти системы счисления - это так, для |
тичной дроби (в школе изучали, помнишь?). |
|
|||||||||||||||||||||
чилось 100b. Теперь пять. Загибаем самый |
удобства. |
|
Такое число в терминологии (слово-то какое |
|
|
|
|
|
|
|||||||||||||||
правый палец (понятно, почему правый? Ну, |
РАЗМЕР - ЭТО ВСЕ-ТАКИ ГЛАВНОЕ |
умное!!!) программеров называется ДРОБ- |
|
|||||||||||||||||||||
ты же когда после 16-и 17 пишешь, ты же |
НЫМ или РЕАЛЬНЫМ (REAL). |
|
||||||||||||||||||||||
цифру справа меняешь, так?). Получилось |
|
|
À âîò åñëè áû òû |
планировал количество |
|
|
|
|
|
|
||||||||||||||
101b. Вот и посчитали до пяти. По-модному, |
В отличие от того дела, которое ты так лю- |
|
|
|
|
|
|
|||||||||||||||||
как настоящие компы. Чувствуешь себя ки- |
бишь, где важен не размер, а умение, в прог- |
дрынка для вечерины |
с друзьями, ты бы при- |
|
||||||||||||||||||||
боргом? :))))))) А теперь прикинь, перец, что |
раммировании размер очень даже важен. Раз- |
кинул, сколько нужно бутылок (ящиков, ваго- |
|
|||||||||||||||||||||
|
||||||||||||||||||||||||
такую байду надо проделать, чтобы посчитать |
мер чего угодно. Переменных, констант, са- |
нов) пЫва. И тут уж 5.3 бутылки быть не мо- |
|
|||||||||||||||||||||
до 7657651265? Это ж крыша отъедет, сто пу- |
мой программы, отдельных ее частей. “То ес- |
жет, ты ж отпитую не потащишь на стол? А бу- |
|
|||||||||||||||||||||
дов! У компа-то не отъедет, ему что, он желез- |
ть как - размер? Они чего, неодинаковые?” - |
дет этих бутылок хоть и нереальное, но ЦЕЛОЕ |
|
|||||||||||||||||||||
ный. А вот у нас с тобой от одной записи гла- |
спросишь ты. Да, неодинаковые. Ты пробовал |
количество. И число, обозначающее это коли- |
|
|||||||||||||||||||||
за съедутся |
в кучку. |
Хочешь, покажу? |
в одну штанину засунуть две ноги? Ну и как? |
чество, тоже называется ЦЕЛЫМ ЧИСЛОМ |
|
|||||||||||||||||||
7 6 5 7 6 5 1 2 6 5 = 1 1 0 0 1 0 0 0 0 - 1 1 0 1 1 1 0 0 - |
Так и в программировании. Помнишь, разго- |
(INTEGER). |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
111110001000001b! Как тебе? Так вот, чтобы |
вор шел про байты и биты? Так вот, допустим, |
СТРОКОЙ, ты описал место назначения. То |
|
|||||||||||||||||||||
|
||||||||||||||||||||||||
избежать такого гимора, умные люди подума- |
ты определил, что в твоей программе будет 3 |
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
ëè è |
решили: а чего |
мы, собственно говоря, |
переменных. Одна - сколько у тебя денег, вто- |
есть СТРОКА (STRING) - это некоторое коли- |
|
|
||||||||||||||||||
паримся? Давай придумаем еще какую-нибудь |
рая - куда ты ломанешься с подружкой вече- |
чество информации, которую можно записать |
|
|||||||||||||||||||||
СИСТЕМУ СЧИСЛЕНИЯ, чтобы и компу удобно |
ром, и третья - адреса подружек, которых |
буквами и цифрами. А вот буквы и цифры, в |
|
|
|
|
|
|
||||||||||||||||
было, и нам. А то от этих единиц и ноликов |
можно пригласить именно сегодня. Правда, |
свою очередь, |
называются СИМВОЛАМИ |
|
|
|||||||||||||||||||
|
|
|||||||||||||||||||||||
точно опыреть |
можно. Наша |
|
|
|
|
(CHAR). Но символами они |
|
|||||||||||||||||
родная десятичная система не |
Массив, сам понимаешь, |
являются только в преде- |
|
|
||||||||||||||||||||
покатила. Так уж вышло, что ин- |
может состоять из чего |
лах строки. Гружено? Не |
|
|
|
|
|
|
||||||||||||||||
формация |
в компе меряется |
дрейфь, сейчас растолкую. |
|
|||||||||||||||||||||
БИТАМИ (BInary digiT, двоичное |
угодно (цифирок, буковок, |
Например, “ВАСЯ ПУПКИН |
|
|
||||||||||||||||||||
|
|
|||||||||||||||||||||||
число, англ.), ты уже знаешь, |
битиков). А может и из |
- 1-й парень на деревне!” - |
|
|
||||||||||||||||||||
почему. Биты удобно группиро- |
строка, состоящая из сим- |
|
||||||||||||||||||||||
файлов. Это не принци- |
|
|||||||||||||||||||||||
вать в БАЙТЫ, по 8 штук. То ес- |
волов. Причем символы - |
|
|
|
|
|
|
|||||||||||||||||
ть байт - это 8 бит. Почему не |
пиально. Важно только, |
ýòî âñå, è “Â”, è “À”, è “Ñ”, |
|
|||||||||||||||||||||
по 10? Это вопрос философ- |
чтобы все ячейки масси- |
в том числе и цифра 1. |
|
|
|
|
|
|
||||||||||||||||
ский. Микросхемки там всякие |
Только настоящий прог- |
|
||||||||||||||||||||||
так сделали. Процессор первый |
ва содержали данные |
раммер напишет - символ |
|
|
|
|
|
|
||||||||||||||||
(более-менее) писюковый был |
одного типа. |
|
|
“1”. Так уж принято, чтобы |
|
|||||||||||||||||||
ИМЕННО |
ВОСЬМИРАЗРЯД- |
|
|
|
|
отличать цифру 1 от сим- |
|
|||||||||||||||||
НЫЙ. А раз битов 8, то и систе- |
|
|
|
|
вола “1”. То есть строка - |
|
||||||||||||||||||
му придумали соответствующую... |
|
эти переменные не совсем одного ТИПА? Не, |
это набор символов. Такие наборы называют- |
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
ну если ты совсем чердаку войну объявил, |
ся МАССИВАМИ (ARRAY). То есть первый сим- |
|
|||||||||||
...ВОСЬМЕРИЧНУЮ |
|
|
(по-буржуйски, |
можно, конечно, все к одному типу привести: |
вол нашей строки “В”, второй “А” и так далее. |
|
||||||||||||||||||
OCTAL, OCT). Ну, на каждой руке по 7 паль- |
денег у меня ТРИСТА СОРОК ЧЕТЫРЕ РУБЛЯ |
Очень удобно, если надо узнать, какой там у |
|
|||||||||||||||||||||
цев (почему не 8? Ну, подумай, когда ничего |
СЕМЬ КОПЕЕК, пойдешь ты в ОРДЕНА ЛЕНИ- |
нам символ находится на позиции 145 в 10 |
|
|
||||||||||||||||||||
не загнуто, это ж тоже цифра. Ноль). Но сис- |
НА, ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕ- |
строке восьмой страницы первого тома “Вой- |
|
|||||||||||||||||||||
тема сия гиморна и человеческому уму нерас- |
НИ и т.д. и т.п. БОЛЬШОЙ ТЕАТР... Адреса |
ны и Мира”. Кстати, тут “Война и мир” - |
|
òîæå |
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||
тяжима. И потом прогресс не стоит на месте, |
подружек я могу угадать: это где-то в районе |
массив. Но уже МНОГОМЕРНЫЙ (N-DIMEN- |
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
процессоров понаделали 16-битных (а также |
Кащенко. Зато все типы у тебя одинаковые - |
TIONAL), в нескольких измерениях. Почему и |
|
|
|
|||||||||||||||||||
32-битных и более). Поэтому приDOOMали |
СТРОКА, все у тебя с помощью текстовых |
что это значит, ты как это сформулировал? |
- |
|
|
|
||||||||||||||||||
|
|
|
|
|||||||||||||||||||||
еще одну систему... |
|
|
|
|
|
|
|
строчек записано. А ведь можно и так все опи- |
спросишь ты. Объясняю: первый том (измере- |
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
сать: денег - 344.07, пойдем в ОРДЕНА ЛЕНИ- |
ние номер раз), восьмая страница (измерение |
|
|
|
|||||||||
...ШЕСТНАДЦАТИРИЧНУЮ (по-буржуйски |
номер два), десятая строка (третье), символ |
|
|
|
|
|||||||||||||||||||
НА,...(тут никуда не денешься, строка), адреса |
|
|
||||||||||||||||||||||
|
|
|||||||||||||||||||||||
- HEXDECIMAL, HEX). Понял, откуда взялись |
подружек - записная книжка ¹1, страницы с 5 |
номер 145 (четвертое). И нашел там, напри- |
|
|
|
|
|
|
||||||||||||||||
всякие названия типа HEXEDIT и прочее? Там |
по 25. Чувствуешь преимущество? Все стало |
мер, букву (символ) “А”. Этот |
символ |
íàçû- |
|
|
|
|||||||||||||||||
|
|
|
|
|||||||||||||||||||||
на каждой руке по 15 пальцев, ты прикинь! А |
просто и понятно. Логично. А теперь разберем |
вается ЭЛЕМЕНТОМ МАССИВА. Массив, сам |
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
записывать как? Ну, со всякими там бинарны- |
это дело по пунктам: |
понимаешь, может состоять из чего угодно |
|
|||||||||||||||||||||
ми и восьмеричными понятно, а тут? Нет же |
|
|
(цифирок, буковок, битиков). А может и из |
|
|
|
|
|
|
|||||||||||||||
такой цифры, чтоб в одном РАЗРЯДЕ 15, нап- |
ДРОБНЫМ ЧИСЛОМ ты описал количество |
файлов. Это не принципиально. Важно только, |
|
|||||||||||||||||||||
ример, означала (заметь, число 15 в десятич- |
денег. Что это значит? Смотри: вот денег у те- |
чтобы все ячейки массива содержали данные |
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ТЕОРИЯ |
|
|
|
>СПЕЦВЫПУСК #4 |
0007 |
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
одного типа. |
|
|
|
конечно, теряем 1 бит в |
СТАРШЕМ |
|
|
||||||||
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
РАЗРЯДЕ (HIGH), но получаем знак, |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
ТИПЫ ДАННЫХ (TYPE) - ýòî |
|
|
|
то есть наше число становится ЗНА- |
|
|
|||||
|
СТРОКА, ЦЕЛОЕ ЧИСЛО, ДРОБНОЕ |
|
|
|
КОВЫМ. Метод номер два: берем и |
|
|
|||||||||
|
ЧИСЛО, БИТ, БАЙТ, СИМВОЛ, МАС- |
|
|
|
договариваемся, |
÷òî, |
например, |
|
|
|||||||
|
|
|
|
|
СИВ, ФА-ЙЛ и еще целая туева хуча |
|
|
|
первый байт слова содержит поло- |
|
|
|||||
|
|
|
|
|
разных типов, которые применяют- |
|
|
|
жительные числа при том условии, |
|
|
|||||
|
|
|
|
|
ся реже. Ты можешь и сам свои ти- |
|
|
|
если другой байт равен 0, а второй |
|
|
|||||
|
|
|
|
|
пы данных придумывать - напри- |
|
|
|
байт - отрицательное. Сложно? Пра- |
|
|
|||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
мер, тип данных “ТЕТКА”. |
|
|
|
вильно, сложно. Поэтому второй |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
метод почти нигде не применяется. |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
СТРУКТУРА ДАННЫХ - ýòî âñå |
|
|
|
Чем дальше в лес, тем толще парти- |
|||||||
|
вместе. Вот твои планы на вечер |
|
|
|
заны. А если число не целое? |
Ñàì |
|
|
||||||||
|
|
|
|
|
(ночь, утро...) - это и есть структу- |
|
|
|
подумай, как компу, который только |
|
|
|||||
|
|
|
|
|
ра данных, просек? И эта структура |
|
|
|
и знает, что 0 и 1, втолковать, что |
|
|
|||||
|
состоит из данных разных типов. |
|
|
|
вот это - не целое число, а офиги- |
|
|
|||||||||
|
Этих самых типов, как ты уже по- |
|
|
|
тельная дробь? И тут пытливые умы |
|
|
|||||||||
|
|
|
|
|
нял, вагон и маленькая тележка. |
|
|
|
нашли метод. Они поделили это са- |
|
|
|||||
|
|
|
|
|
|
|
|
|
||||||||
|
Комп в одном массиве переменные |
|
|
|
мое число на две части. Одна - до |
|
|
|||||||||
|
|
|
|
|
разных типов хранить не дает. Да и выяснить, |
|
|
|
запятой, вторая - после. Первое число обоз- |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
что больше, строка “ВАСЯ ПУПКИН” или число |
|
|
|
вали ЦЕЛОЙ ЧАСТЬЮ, а второе - МАНТИССОЙ |
|
|
|||||
|
|
|
|
|
132, не может тоже (я тоже не могу :) ). Резон- |
|
|
|
(имечко будь здоров...). И стали его хранить в |
|
|
|||||
|
|
|
|
|
íûé |
вопрос - почему? Все просто. Помнишь |
|
|
|
таком виде в памяти. А чтобы мало не каза- |
|
|
||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
ïðî |
две ноги в одной штанине? Так вот, каж- |
|
|
|
лось (мало ли, может ты полет на Марс счи- |
|
|
||||
|
|
|
|
|
äûé |
тип данных занимает разное количество |
|
|
|
тать собрался), дробные числа разделили на 2 |
|
|
||||
|
|
|
|
|
места в ПАМЯТИ. Ну, ты когда из дома выхо- |
|
|
|
òèïà: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
дил, ты ж знал, куда идешь и зачем? Во-во, ты |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
помнил это дело, то есть держал в ОПЕРАТИВ- |
|
|
|
ОДИНАРНОЙ (SINGLE) |
è |
ДВОЙНОЙ |
|
|
|||
|
|
|
|
|
НОЙ ПАМЯТИ (RAM). Оперативная она потому, |
|
|
|
(DOUBLE) ТОЧНОСТИ. Они занимают 4 бай- |
|
|
|||||
|
|
|
|
|
что ты с ней сейчас работаешь. А завтра все |
|
|
|
та и 8 байт соответственно. Двойная точность |
|
|
|||||
|
|
|
|
|
забудешь на фиг. А вот записняк твой с теле- |
|
|
|
- это когда на Марс собираешься. Там на ноль |
|
|
|||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
фонами - это уже ПОСТОЯНННАЯ ПАМЯТЬ |
|
|
|
целых ни фига десятых ошибся и вместо Мар- |
|
|
|||||
|
|
|
|
|
(ROM). Пока ты его не посеял, он всегда с то- |
|
|
|
са прилетел на Юпитер, и хорошо, если вооб- |
|
|
|||||
|
|
|
|
|
áîé. |
|
|
|
ще прилетел. |
|
|
|
|
|
|
|
|
|
|
|
|
РАЗМЕРЫ |
|
|
|
РАЗМЕР СТРОКИ. Но мы же, в конце кон- |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
цов, не только числа в компе храним. А вот хо- |
|
|
||||
|
|
|
|
|
Так вот о размерах. Например, бит - он и за- |
|
|
|
чу я в качестве переменной в своей проге ис- |
|
|
|||||
|
|
|
|
|
нимает бит памяти. А вот число 200 в бит уже |
|
|
|
пользовать цитату Гоги Хакеридзе! С числами |
|
|
|||||
|
|
|
|
|
не запихнешь. Приходится выделять памяти |
|
|
|
как-то не вяжется. Ну, есть варианты, конеч- |
|
|
|||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
побольше. Помнишь, мы договорились делить |
|
|
|
но. Например, 3.14здец. А цитата может быть |
|
|
|||||
|
|
|
|
|
информацию на байты (8 бит)? Прикинем... |
|
|
|
ого-го! Вот такую цитату нам приходится за- |
|
|
|||||
|
|
|
|
|
11111111b - это в десятичной системе счис- |
|
|
|
писывать строкой. То есть строка должна быть |
|
|
|||||
|
|
|
|
|
ления 255. Больше, чем число 200, которое |
|
|
|
не меньше того самого “ого-го”. Раньше дума- |
|
|
|||||
|
|
|
|
|
нам надо запомнить. Значит, влезет! Смело |
|
|
|
ли, что ничего умнее 255 символов сказать |
|
|
|||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
выделяем под это число 1 байт и радуемся |
|
|
|
нельзя. Поэтому и строка была ограничена |
|
|
|||||
|
|
|
|
|
жизни. А если нам надо записать 300? В байт |
|
|
|
255 символами. А потом выяснилось, что кое- |
|
|
|||||
|
|
|
|
|
уже не лезет... Надо выделять побольше. Два |
|
|
|
кто мыслит помасштабнее... Так что сейчас в |
|
|
|||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
байта. В два байта у нас поместится аж |
|
|
|
языках программирования размер строк не |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1111111111111111b - 65535!!! Круто, да? |
+- |
|
|
ограничивается. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
Такое число, состоящее из 2 байт, принято на- |
|
|
А РАЗМЕР МАССИВА по определению |
||||||||
|
|
|
|
|
зывать СЛОВОМ (WORD). А ведь бывают чис- |
|
|
|
||||||||
|
|
|
|
|
ла и побольше... Тут все снова просто - увели- |
Теперь такая подлянка - а если число |
отрица- |
произвольный. Если в нем 100 байт, то и раз- |
||||||||
|
|
|
|
|
||||||||||||
|
|
|
|
|
чиваем размер числа в байтах в 2 раза, полу- |
тельное? Чего делать? Метод номер раз: бе- |
мер его 100 байт, а если 100 строк - то, сам |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
чаем 4 байта, или ДВОЙНОЕ СЛОВО (DOUBLE |
рем один бит числа (первый слева) и догова- |
понимаешь... |
|
|
|
|
|
|
|||
|
|
|
|
|
WORD). И уж сюда можно затолкать!!! Не, не |
риваемся, что если он равен 1, то это число - |
|
|
|
|
|
|
|
|||
|
|
|
|
|
то, что ты подумал. Просто число - правда, аж |
положительное, больше 0, а если этот бит ра- |
Теперь понятно, почему строку к байту при- |
|||||||||
|
|
|
|
|
äî 4294967295. |
вен 0, то число отрицательное. На этом мы, |
равнивать не получится? :)))) |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
0008 |
ТЕОРИЯ |
|
|
|
>СПЕЦВЫПУСК #4 |
|
|
|
|
|
Var A,B,C,D: Integer; (ОБЪЯВЛЕНИЕ перемен- |
|||
|
|
|
|
ных типа ЦЕЛОЕ и их ИМЕН) |
|||
|
|
|
|
Begin (тут начинается то, что будет делать |
|||
|
|
|
|
программа) |
|
|
|
|
|
|
|
................................................................. |
|||
|
|
|
|
Ну, здесь находится, естественно, крутой код |
|||
|
|
|
|
крутейшей проги, которая ломает Инет, но это |
|||
|
|
|
|
неважно. |
|
|
|
|
|
|
|
................................................................ |
|||
|
|
|
|
End (а тут, взломав Инет, прога закругляется). |
|||
|
|
|
|
Все просто и логично как лозунг на заводе! |
|||
|
|
|
|
ПОВТОРИ, ЧТО ТЫ СКАЗАЛ!!! |
|||
|
|
|
|
Решаем нашу задачу дальше. Для решения |
|||
|
|
|
|
уравнения нам надо определиться, что мы |
|||
|
|
|
|
знаем и что хотим узнать. А знаем мы, по ус- |
|||
|
|
|
|
ловию, A,B и C. Найти нужно D. Так что ПРИС- |
|||
|
|
|
|
ÂÎÈÌ |
ЗНАЧЕНИЯ |
ПЕРЕМЕННЫМ. Пишем |
|
|
|
|
|
приблизительно следующее: A=4, B=3, C=5. |
|||
|
|
|
|
Теперь составим уравнение, как в третьем |
|||
|
|
|
|
классе: D=(A+B)*C. Как машина прочитает это |
|||
|
|
|
|
уравнение: “Присвоить переменной D значе- |
|||
|
|
|
|
ние, получающееся при решении уравнения |
|||
|
|
|
|
(A+B)*C”. Все. Кульнохацкерская прога гото- |
|||
|
|
|
|
ва! Вот так она запишется на языке PASCAL: |
|||
|
|
|
|
Program MyCoolProgram;(это строка, с кото- |
|||
|
|
|
|
рой прога начинается) |
|||
|
|
|
|
Var A,B,C,D: Integer; (объявляем перемен- |
|||
|
|
|
|
íûå...) |
|
|
|
|
|
|
|
Begin |
|
(начинаем исполнение кода) |
|
|
|
|
|
A=4; |
|
(присваиваем значение пере- |
|
|
|
|
|
менной А) |
|
|
|
|
|
|
|
B=3; |
|
(присваиваем значение пере- |
|
|
|
|
|
менной В) |
|
|
|
|
|
|
|
C=5; |
|
(присваиваем значение пере- |
|
|
|
|
|
менной С) |
|
|
|
|
|
|
|
D:=(A+B)*C; |
|
(А значение переменной D |
|
ЧТО ТЕБЕ В ИМЕНИ МОЕМ... |
|
будет равняться сумме А+В, умноженной на |
|||||
римся, что все числа у нас - целые, так проще. |
Ñ) |
|
|
|
|||
|
|
|
Значит, в программе напишем что-то типа: “А |
Writeln (‘Получилось аж ‘, D) (эта строка выве- |
|||
Мы тут с тобой развели здоровенный ля-ля |
ОБЪЯВИ-ка ты нам 4 переменные типа ЦЕ- |
дет значение переменной D на экран) |
|||||
насчет типов, переменных, массивов, кон- |
ЛЫЕ ЧИСЛА”. А программа нам: “Да не воп- |
End. |
|
(программа кончается) |
|||
стант и все такое. Но! Это все только начало, |
рос, только как их друг от друга отличать при- |
ЦИКЛЫ |
|
|
|||
самое интересное впереди. Как ты думаешь, |
кажете?”. А мы ей: “Тундра ты бескрайняя, мы |
|
|
||||
если тебе надо в твоей проге решить уравне- |
им сейчас ИМЕНА дадим. Первую мы назовем |
|
|
|
|
||
ние (A+B)*C=D, чего делать будем? Хорошо, |
A, вторую - B...”. И чего же у нас вышло? По- |
Вот ты и сочинил свою первую прогу. Все ко- |
|||||
если ты знаешь, что A=1, B=5, C=7. D посчи- |
лучились у нас 4 переменные одного типа ЦЕ- |
деры начинали именно так, поверь мне. С ко- |
|||||
тать - нет проблем. А если эти числа полу- |
ЛОЕ с разными именами (A,B,C и D). Теперь с |
мовским разъемом пониже спины никто не |
|||||
чаются после решения других восьмиэтажных |
этими переменными программа сможет тво- |
родился. Так, патетику в сторону, полетели |
|||||
уравнений? И получаются они 10 раз, и тебе |
рить все что угодно! Вот как это будет выгля- |
дальше. Допустим, надо посчитать всю это |
|||||
надо эту самую D посчитать те самые десять |
деть на ЯЗЫКЕ ПРОГРАММИРОВАНИЯ PAS- |
бодягу 10 раз. Да с разными значениями |
|||||
раз? Подойдем к решению задачи творчески: |
CAL: |
A,B,C. Как? Десять раз переписать? С ума |
|||||
есть числа A и B, надо их сложить, потом ум- |
|
сойдешь. И тут тебе поможет классная вещь - |
|||||
ножить на C и записать ответ в переменную D. |
Program MyCoolProgram; (программа начи- |
ЦИКЛ. Цикл - это задание исполнителю повто- |
|||||
Äëÿ |
начала определимся с |
типами. Догово- |
нается тут!) |
рить многократно одну или несколько указан- |