Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Нейбауэр А. Моя первая программа на С.doc
Скачиваний:
182
Добавлен:
02.05.2014
Размер:
3.75 Mб
Скачать

Проектирование программы

Изучение Си способствует развитию навыков решения всевозможных проблем. Эти навыки совершенно необходимы для того, чтобы грамотно использовать особенности и структуру языка программирования для выполнения специфических задач. Одним из существенных моментов является умение разделить проблему на составные части.

Документация, поставляемая с компилятором, должна содержать информацию о том, как и где используются файлы заголовков.

Разделение проблемы на части — обычный прием при ее решении. Действительно, разве маленькая задача решается не легче, чем большая? Когда вы сталкиваетесь с большой и трудноразрешимой проблемой, разделите ее на маленькие, удобные для осмысления подпроблемы. Если это необходимо, разбивайте ее на все более мелкие единицы до тех пор, пока решение каждой из них не станет для вас очевидным. Когда вы решите все маленькие подпроблемы, большая разрешится сама собой.

При проектировании программы поступайте аналогичным образом: начните с разделения всего объема работы, который вам необходимо выполнить, на меньшие задачи. Если решение небольшой задачи все еще выглядит слишком запутанным, разделите ее снова. Продолжайте это дробление до тех пор, пока не сможете написать ясные четкие инструкции. Как только вы напишете инструкции для каждой небольшой задачи и объедините их вместе функцией main(), программа будет готова (в главе 7 вы познакомитесь с еще более эффективным способом структурирования программы).

Подобное деление программы на логические единицы поможет вам с большей легкостью находить ошибки. Вам только придется спросить себя, какая именно часть задачи выполняется неправильно, а затем посмотреть исходный текст соответствующей части программы. Процесс, описанный здесь, называется диагностированием и применяется при решении проблем профессионалами всех мастей. Вот, например, когда вы отдаете свой автомобиль в починку, механик задает вам целый ряд вопросов о замеченных неполадках, когда вы приходите к врачу, он спрашивает вас: «Где болит?» — и ваши ответы помогают и тому и другому определить, какая из систем вашего организма или вашего автомобиля является источником проблемы.

__________________________

* Под термином «встроенные функции языка» автор понимает функции, содержащиеся в стандартных библиотеках. (Прим.перев.)

** В оригинале — get a character. (Прим.перев.)

<>

Вопросы

  1. Какова общая структура программы, написанной на языке Си?

  2. Для чего в языке Си служит точка с запятой?

  3. Все ли компиляторы Си требуют использования в программе инструкции return?

  4. С какой целью в текст программы вводятся комментарии?

  5. Для чего при вызове функции используются параметры?

  6. Все ли функции требуют передачи параметров при вызове?

<>

Упражнения

  1. Напишите программу, которая выводит на экран монитора следующее сообщение:

Добро пожаловать в мой мир.

Командовать парадом буду я.

  1. Напишите программу, которая выводит в центре экрана ваше имя, адрес и номер телефона.

  2. Объясните, почему данная программа написана неверно:

main()

(

puts("Меня зовут Алвин");

}