С чего начинается программирование...

читать лучше с начала!

На сайті розглядаються основи роботи з мультимедійною інформацією на персональному комп'ютері. Описано ряд програм для закису, обробки й відтворення звуку й зображення.

Представлено деякі Wіndows-програми комунікацій реального часу ( ІP-Телефонії).

Також сайт присвячен розробці власних програм для роботи з аудио й відео, передачі звукової й візуальної інформації в локальних мережах і Інтернеті.

Серед наших користувачів, як правило, користувачі комп'ютера в дома й в офіса, так і на починаючих розроблювачів програмного забезпечення - ми даємо основи програмування в середовищі Borland C++ Buіlder. Наша аудиторія - це, перш за все, школярі старших класів, студенти і широке коло людей, що просто використовують комп'ютер вдома й на роботі.

ПОЯСНЕННЯ



      Вся програма - це один великий цикл for у рядках 4-19. Цей
      цикл привласнює змінної FILE кожне ім'я, наявне в командної
      рядку. Даний командний файл не має опцій і обробки помилок.
      Команда sed системи UNIX викликається для кожного ім'я файлу. Прог
      рамма sed читає весь вхід і виводить змінений текст у стандартний ви
      вод.
      Опція -n використовується в sed для придушення всього висновку, у проти
      воположность дії за замовчуванням, коли все друкується. Ми використовуємо
      цей прапор з тієї причини, що ми хочемо вказати програмі sed, коли пе
      чатать вихід. Опція -e застосовується, щоб повідомити програму sed, що
      наступна послідовність тексту між одинарними лапками є
      вираженням, яке потрібно обчислити.
      Нагадаємо, що sed - потоковий редактор, що читає одну стро
      ку, звіряє її з вираженнями, потім читає наступний рядок і робить
      всі спочатку. Перше, що ми шукаємо - символ control-L, що коштує в рядку
      самостійно. Якщо ми не знаходимо його, перевіряється наступний рядок і
      так далі, поки не буде виявлений control-L. (Ще раз нагадаємо, що
      замість позначення ^L у коді повинен бути уведений справжній control-L.)
      Коли виявлений control-L, він активізує все вираження, заклю
      ченное у фігурні дужки. Першою дією є підстановка команди
      початку сторінки програми nroff, як описано раніше. Ця підстановка пе
      чатается, що є найпершим висновком. У рядку 9 оголошена влучна
      "loop". Це не приводить ні до яких дій, але встановлює крапку
      переходу, що згодом використовується. (Керуючої структури
      програми sed досить примітивні, але вони дозволяють описати виконувану
      роботу.)
      Рядок 8 використовує команду n програми sed, щоб викликати читання
      наступного рядка. Ми розібралися з першим рядком - рядком, що
      містить control-L - так що ми можемо неї відкинути. У випадку виконання
      циклу ми бачимо, що sed просувається на нашу вимогу, але не прод
      вигается сам.
      Згадаємо модель документації, розглянуту раніше. Ця модель
      включає заголовок, що документує, для файлу в цілому, виконаний в
      звичайному стилі мови Си. Модель завершується символом control-L. Цей
      перший блок обробляється за допомогою stripc, як описано раніше. Ми не
      хочемо використовувати його тут при роботі з stripf. Тому ми зараз
      повинні спозиционироваться після файлового заголовка, що документує.
      Слідом за символом control-L є ще один набір з однієї або
      більше рядків коментарю мови Си, які описують функцію, що випливає
      за ними. Далі йде саме ім'я функції, оголошення параметрів і відкриваю
      щий символ самої функції, яким є ліва фігурна дужка (}).
      Рядок 11 шукає цю фігурну дужку. Якщо вона знайдена, виконання
      переходить на мітку exit (рядок 14). Ми можемо думати, що ми всі сде
      лали, якщо знайдено ліву фігурну дужку, тому що цей символ повинен
      з'являтися тільки на початку функциимодуля. Коли ми знаходимо фігурну
      дужку, ми вже надрукували до цього моменту всю інформацію, що коментує
      і заголовок функції за допомогою рядка 12, що ми зараз опишемо. А
      що якщо фігурна дужка з'являється в поле коментарю? Немає проблем,
      оскільки пошук фігурної дужки прив'язаний до початку рядка за допомогою цим
      вола ^. Він робить вираження, що означає "від першого символу в стро
      ке". Ми тільки тоді зіставляємо фігурну дужку цьому вираженню, ког
      так вона зустрічається як самий перший символ у рядку.
      Потім рядок 12 припускає, що ми ще не виявили фігурну
      дужку й тому ми повинні надрукувати рядок. Оператор p друкує течу
      щую рядок, що обробляє sed. Цей висновок направляється на екран.
      Рядок 13 - безумовний перехід на мітку loop. Відзначимо, що цей
      перехід тільки змінив процес виконання й не привів до читання ще од
      ний вступного запису. Із цим ми повинні бути обережні при керуванні про
      цессом виконання в програмі sed. Ми тільки що надрукували поточну за
      пись, тому тепер ми повинні відкинути її й одержати наступну за
      пись, що означає повернення в рядок 9. Цей цикл печатки й читання сліду
      ющей запису триває до виявлення фігурної дужки, що пері
      водить виконання на мітку exit.
      Рядок 14 - це мітка exit. Коли ми попадаємо на неї, ми знаємо,
      що був виявлений control-L, надрукований заголовок, що коментує, напе
      чатаны ім'я функції й оголошення її параметрів і знайдена фігурна скоб
      ка. Помітимо, що фігурна дужка ще не надрукована. Коли ми знаходимо
      її, ми тільки робимо розгалуження.
      Рядок 15 завершує висновок, вставляючи деякий текст у вивідний по
      струм. Ми не можемо сказати "друкувати це в буквеному виді", тому про
      виходить рух вправо по тексту, як по команді echo. Ми повинні сыг
      рать на правилах, установлених програмою sed. Будь-який висновок повинен бути
      породжений звичайними командами в стилі редактора ed. Вставка тексту з по
      міццю команди "i" робить нам це. Відзначимо, що ми також вставляємо цим
      віл повернення каретки (або перекладу рядка, залежно від вашої осве
      домленности). Він може бути визначений символом зворотної косої риси
      (\). Зворотна коса риса забирає спеціальне значення символів і при
      використанні наприкінці рядка, як тут, означає, що спеціальний цим
      віл, вставлений у вираження, є поверненням каретки. Вдобавок до
      поверненню каретки, ми вставляємо пари фігурних дужок. Це позначає
      оголошення початку-кінця функції, що ми обробляємо. Оскільки ми
      вставляємо текст, ми не повинні говорити програмі sed, що його потрібно пе
      чатать.
      Рядок 17 - безумовний перехід на себе, що вказує програмі sed
      перехід на вершину всього оброблюваного вираження. Коли це происхо
      дит, ми завершуємо пошук ще одного control-L і починаємо весь процес
      знову. Таким чином, ми можемо обробити всі функції з одного файлу
      незалежно від того, скільки їх там.
      Рядок 18 є кінцем sed-вираження й містить також ім'я фай
      ла, що повинне бути передане програмі sed. Це є частиною
      звичайного синтаксису, прийнятого в sed, але виглядає трохи недоречним,
      тому що не виділено спеціальним відступом. Коли всі файли оброблені,
      завершується зовнішній цикл і закінчується робота командного файлу.

      4.2.3. strips - з командного файлу Shell


      ІМ'Я: strips


      strips Витягає заголовок, що документує
      командного процесора.
[...]
Початок
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440]