![](/user_photo/2706_HbeT2.jpg)
- •Ю.А Петров Программирование на языке высокого уровня
- •Часть 1
- •Введение
- •Задание
- •Комментарии
- •Идентификаторы
- •Ключевые слова
- •Константы
- •Управляющие последовательности
- •Строковые литералы
- •Константные выражения
- •Пунктуаторы
- •Операции
- •Задание на лабораторную работу 2 разработка программы линейной структуры Цель работы
- •Отчет по лабораторной работе должен содержать:
- •Задание
- •Замечания
- •Варианты заданий
- •Классификация ошибок
- •Ошибки, не обнаруженные компилятором
- •Ситуации, возникающие при неверных результатах
- •Отладка программы
- •Предупреждения
- •Первое сообщение об ошибке
- •Использование команд Find и Replace
- •Быстрое обнаружение ошибочных строк
- •Продолжение отладки
- •Использование встроенного отладчика
- •Разница между командами Step Into и Step Over
- •Дополнительные средства отладки
- •Работа с точками останова
- •Краткая характеристика объектов
- •Формат 1:
- •Стиль программирования
- •Задание на лабораторную работу 4 объекты и их характеристики Цель работы
- •В отчете по лабораторной работе следует представить:
- •5 Структурное программирование
- •Пример1
- •Пример 2
- •Задание на лабораторную работу 5 разработка программы со структурой «развилка» Цель работы
- •Задание:
- •Варианты задания
- •Задание на лабораторную работу 6 создание цикловых программ с фиксированным числом повторений Цель работы
- •Задание
- •Варианты задания
- •Задание на лабораторную работу 7 создание программ с итерационными циклами Цель работы
- •Задание
- •Варианты задания
- •Пояснения к выполнению лабораторной работы 7
- •6 Агрегаты данных
- •Структура
- •Объединения
- •Перечисления
- •Int array[3]; // Объявление определения;
- •Многомерные массивы
- •Вывод в файловый поток
- •Чтение из входного файлового потока
- •Чтение целой строки файлового ввода
- •Определение конца файла
- •Проверка ошибок при выполнении файловых операций
- •Закрытие файла
- •Управление открытием файла
- •Выполнение операций чтения и записи
- •Задание на ргз 1 использование структур данных при решении задач Цель работы
- •Задание
- •Варианты задания
- •7 Модульное программирование
- •Задание на ргз 2 использование модульного программирования при решении задач
- •Перемещаемые панели инструментов
- •Меню File
- •Меню Edit
- •Меню View
- •Меню Insert
- •Меню Project
- •Меню Build
- •Меню Tools
- •Меню Window
- •Список открытых окон
- •Меню Help
- •Приложение 2 Некоторые функции языка с
- •Используемая литература
- •Оглавление
- •5 Структурное программирование 53
Стиль программирования
Под стилем программирования понимается набор приемов или методов, направленных на создание правильных, эффективных, удобных для использования программ. Другими словами, это ключ к красиво написанным, хорошо отлаженным программам. Ведь если программист строго придерживается какого-либо стиля, значит и "видит" свою программу лучше и ошибок делает меньше, и сопровождение этой программы не превращается в кошмар. Если не заниматься выработкой стиля программирования с самого начала, то постепенно разгильдяйское отношение к своему исходному тексту войдет в привычку, избавиться от которой впоследствии будет очень сложно.
Программа – это документ для последующего использования, корректировки, модификации. Поэтому языки программирования должны обеспечивать возможность создания удобочитаемых предложений программы. Программисты независимо от времени всегда должны понимать не только свои, но и чужие программы, и в этом им должны помогать элементы стиля.
Элементами стиля являются: комментарии, пропуск строк, использование пробелов, выбор имен переменных и файлов, стандартные сокращения, перенос имен или литералов на другую строку, использование скобок, отступов от начала строки и др. Рассмотрим их более подробно.
Программы с пояснительными комментариями значительно легче отлаживать, так как они содержат дополнительную информацию для работы с программой. Не комментируемая программа – это, вероятно, наихудшая ошибка, которую может сделать программист, а также свидетельство его дилетантского подхода. Комментарии подобны ориентирам в незнакомом лесу.
Хорошее правило – включать комментарии в процессе написания программы. Однако хорошие комментарии написать не просто, так как они должны быть также хорошо продуманы и проработаны, как и кодировка программы. Комментарии нужны как на стадиях проектирования и отладки программы, так и позже. Существует три типа комментариев: вводные, оглавления и пояснительные.
В вводные комментарии обычно помещают информацию о назначении программы, указания по ее вызову и использованию, о ее структуре, о требуемом объеме памяти, о времени выполнения программы, дате написания программы, сведения об авторе и др.
Оглавление в виде комментариев делается в начале больших программ. Оглавление должно содержать название, размещение и функцию каждого программного модуля, снабженного именами и комментариями, указывающими его назначение.
Пояснительные комментарии должны сопровождать трудно понятные части программы. Перед циклами или условными операторами, важными для понимания логики программы, должны появляться комментарии с указанием действия, которое будет производиться. Средней нормой можно считать одну строку комментариев на десять строк программы, написанной на языке высокого уровня. Комментарии должны объяснять цель группы операторов, а не описывать действия, производимые этими операторами. Комментарии должны содержать некоторую дополнительную информацию, а не перефразировать программу.
Комментарии должны быть правильными с самого начала и изменяться в соответствии с изменениями программы. Очевидно, что неправильные комментарии – это хуже, чем их отсутствие, поскольку они вводят в заблуждение программиста.
Пропуск строк – это часто недостаточно оцениваемый метод улучшения наглядности программ. Этот метод можно использовать для вертикальной разрядки. Пропуском одной строки можно отделять каждую группу логически связанных операторов, пропуском двух строк – основные логические фрагменты программы.
Пробелы следует ставить везде, где это приводит к улучшению читаемости программы.
Выбор имен переменных выполняется так, чтобы наилучшим образом отобразить те величины, которые они представляют. Если ограничения на размер имени отсутствуют, то целесообразно использовать настолько длинные имена, насколько это нужно. Правильный выбор имен переменных – это залог удобочитаемости программ, так как он требует незначительных умственных усилий от программиста и столь же небольшого расхода машинного времени. Рекомендуется в качестве имен переменных использовать термины предметной области. В следующем фрагменте при определении площади прямоугольника используются несуразные идентификаторы, не имеющие ничего общего с предметной областью:
void main(void)
{
…
float stipendia, dengi, rabota;
…
stipendia = dengi * rabota;
}
Работать с такими переменными крайне затруднительно и нерационально.
При работе с файлами для идентификации каждого файла часто выбирают какой-либо префикс или суффикс, например, FILE, RECORD, INPUT, OUTPUT и т.д. Например, в имени файла iosream первые две буквы являются префиксами от слов input, output.
Введение стандартных или общепринятых сокращений может значительно облегчить чтение данной программы разными программистами, особенно когда коллектив программистов создает одну большую систему. Можно, например, посоветовать включать в аббревиатуру сокращений начальные буквы слов, лучше согласные, чем гласные и т.д., например: str -> string, src -> source, tbl -> table и т.д.
Если оператор записывается на нескольких строках, то целесообразно делать перенос после знака операции.
Правильное использование скобок существенно улучшает вид программы. Скобки обходятся дешевле, чем ошибки.
Обычно при записи операторов для указания связи между ними делают одинаковый отступ от начала строки. Отступы, не оказывая влияния на логику программы, существенно улучшают ее внешний вид. Это аналогично разделению текста на разделы (логически связанные группы предложений) на естественном языке. Правильно сделанные отступы выявляют структуру программы.