Б) Сделайте то же самое, когда программа пытается открыть для записи файл с установленным атрибутом «только чтение». Для настройки атрибутов файла щелкните по файлу правой кнопкой мыши и выберите пункт «Свойства».
В) Дан файл, строки которого содержат круглые скобки (это может быть программа или математические выкладки – неважно). Ваша программа должна распечатать строки, где скобки расставлены неверно, вот примеры.
2+3 – правильно, хотя скобок нет;
(2+3 – ошибка – здесь нет закрывающей скобки;
()2+3() – это правильно (хоть и лишено смысла);
))2+3(( – ошибка – скобки закрываются до открытия.
Рекомендация: для исследования строки напишите булеву функцию Check, возвращающую TRUE, если скобки расставлены без ошибок.
Г) Дребезг контактов давно уже бесит специалистов по электронике. Дребезг возникает кратковременно при замыкании-размыкании кнопок, тумблеров, реле и других подобных устройств. Сигнал от контактов поступает в микропроцессор с периодичностью, скажем, 100 раз в секунду. Если контакт постоянно разомкнут, микропроцессор принимает «0», а если замкнут – «1». При замыкании-размыкании контакт неустойчив, и процессор получает пачки чередующихся нулей и единиц, – надо отфильтровать эти ложные срабатывания.
Ваша программа будет моделировать поведение микропроцессора. Входной файл содержит последовательность нулей и единиц (по одному символу в строке). Первый символ примите как исходное значение сигнала, а дальше сигнал на выходе программы формируется так: если три подряд идущие значения совпадают, то берется это новое значение, а иначе сохраняется текущее, например:
На входе | На выходе |
0 1 0 1 1 1 0 | 0 0 0 0 0 1 1 |
В выходной файл запишите в две колонки входной и выходной сигналы.
Глава 28
Редактор и справочная система
Ошибки, ошибки… Мы отбиваемся от них всеми средствами, и компилятор, как вы убедились, – важный рубеж в этой обороне. Важный, но не единственный. Согласитесь, лучше не допускать ошибок, чем устранять их. Хорошо, когда рядом есть мудрый советчик, – вовремя подскажет, объяснит, остережет. К счастью, в IDE есть такие «советчики» – это редактор текста и справочная система, – о них спою в этой главе.
Сегодня никого не удивишь возможностями нынешних IDE: тут и встроенный редактор и справочная система. Но так было не всегда. В начале 90-х годов прошлого века появление замечательных продуктов фирмы Borland было сродни чуду. Подумать только! Куча окон, «умная» раскраска текста, встроенная справочная система и отладчик, – это ли не чудеса?
Встроенный многооконный редактор – одно из новшеств Borland Pascal, он появился там едва ли не раньше самой MS Windows. Пока мы обходились одним окном редактора, но так будет не всегда, – в сложных проектах приходится одновременно открывать несколько файлов. Впрочем, это нужно уметь и сейчас, например, для копирования частей одной программы в другую.
Окна встроенного редактора схожи с окнами Windows: они открываются и закрываются, меняют размер и положение, допускают перенос кусков текста из одного окна в другое. Для управления окнами IDE служит раздел меню «Window». На рис. 62 рядом с названиями пунктов этого раздела показаны соответствующие им горячие комбинации клавиш.
Рассмотрим самые полезные возможности этого меню.