Ирина Козлова - Программирование

Здесь есть возможность читать онлайн «Ирина Козлова - Программирование» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2008, ISBN: 2008, Издательство: Array Конспекты, шпаргалки, учебники «ЭКСМО», Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Информативные ответы на все вопросы курса «Программирование» в соответствии с Государственным образовательным стандартом.

Программирование — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программирование», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Программа разбора для обнаружения ввода применяет функцию ge ttoken() . Значение вызова ge ttoken() определяется в переменной curr tok; cur rtok принимает одно из значений перечисления token value.

В любой функции разбора предполагается, что было обращение к ge ttoken() и в curr tok располагается очередной символ, подлежащий анализу. Это дает возможность программе разбора заглядывать на один лексический символ вперед и вынуждает функцию разбора читать на одну лексему больше, чем применяется правилом, для обработки которого она была вызвана. Каждая функция разбора определяет «свое» выражение и возвращает значение. Функция expr() обрабатывает сложение и вычитание; она включает в себя простой цикл, который обнаруживает термы для сложения или вычитания.

Сама функция делает мало. В манере, которая типична для функций более высокого уровня в громоздких программах, она вызывает для осуществления работы другие функции.

Обработка ошибок в программах С++ не составляет большого труда. Функция обработки ошибок просто определяет ошибки, пишет сообщение об ошибке и возвращает управление обратно:

Возвращение производится потому, что ошибки чаще всего встречаются в середине вычисления выражения, и поэтому следует или полностью прекращать вычисление, или возвращать значение, которое не должно привести к последующим ошибкам. Для обычного калькулятора больше подходит последнее. Если бы ge ttoken() обнаруживала номера строк , то error() сообщала бы, где приблизительно обнаружена ошибка. Это было бы полезно, если бы калькулятор применялся неинтерактивно.

Когда все части программы разделены, необходим только драйвер для инициализации и того, что связано с запуском. Например:

Принято обычно, что main() возвращает ноль при обычном завершении программы и не ноль в противном случае, поэтому это прекрасно осуществляет возвращение числа ошибок.

34. Функции и файлы

Все неэлементарные программы включают в себя несколько раздельно компилируемых единиц (их называют просто файлами). Покажем, как раздельно откомпилированные функции могут обращаться друг к другу.

Присутствие всей программы в одном файле обычно невозможно, так как коды стандартных библиотек и операционной системы располагаются где-то в другом месте. При этом хранить весь текст программы в одном файле обычно непрактично и неудобно. Так как единицей компиляции служит файл, то во всех случаях, когда в файле производятся изменения, весь файл необходимо компилировать заново. Даже для небольшой программы время, затрачиваемое на перекомпиляцию, можно заметно сократить с помощью разбиения программы на файлы подходящих размеров.

Покажем пример с калькулятором. Он был представлен одним исходным файлом. Если он набит, то наверняка были трудности с размещением описаний в правильном порядке и необходимо было бы применить по меньшей мере одно «фальшивое» описание, чтобы компилятор обрабатывал взаимно рекурсивные функции expr(), term() и prim(). Программа заключает в себе четыре части (лексический анализатор, программа синтаксического разбора, таблица имен и драйвер), но это никак не было отражено внутри программы. В общем, калькулятор был написан по-другому. Так это не делается; даже если в этой программе «на выброс» пренебречь всеми соображениями методологии программирования, эксплуатации и эффективности компиляции, следует разбить эту программу в 200 строк на несколько файлов, чтобы программировать было приятнее.

Программа, которая состоит из нескольких раздельно компилируемых файлов, должна быть согласованной в смысле применения имен и типов, так же, как и программа, которая состоит из одного исходного файла. Вообще это может обеспечить и компоновщик. Компоновщик представляет собой программу, которая стыкует отдельно скомпилированные части вместе. Компоновщик часто именуют загрузчиком. В иМХ'е компоновщик именуется Id. Но компоновщики, которые имеются в большинстве систем, обеспечивают очень слабую поддержку проверки согласованности.

Программист способен скомпенсировать недостаток поддержки со стороны компоновщика, предоставив дополнительную информацию о типах (описания). После этого согласованность программы осуществляется проверкой согласованности описаний, которые располагаются в отдельно компилируемых частях. Средства, которые это осуществляют, обеспечивают, в C++ разработаны так, чтобы способствовать такой явной компоновке.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование»

Представляем Вашему вниманию похожие книги на «Программирование» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Программирование»

Обсуждение, отзывы о книге «Программирование» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x