Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Непейвода Н.Н. -> "Основания программирования " -> 16

Основания программирования - Непейвода Н.Н.

Непейвода Н.Н., Скопин И.Н. Основания программирования — Институт компьютерных исследований , 2002. — 919 c.
Скачать (прямая ссылка): osnovanprogramm2002.pdf
Предыдущая << 1 .. 10 11 12 13 14 15 < 16 > 17 18 19 20 21 22 .. 316 >> Следующая

Рассмотрим несколько простых примеров программ в языке C. оследо-вательность действий всех рассматриваемых программ линейная: оператор за оператором, так, как это записано в тексте. Такие программы называются линейными программами. Программа 1.3.1
/* Печатается N-ая степень (7-ая) вводимого числа для данного N.
рямолинейный алгоритм*/ #include <stdio.h> int X, Y; int main(void) {
scanf("%d", &X);
Y = X*X*X*X*X*X*X;
printf("\n7 power of %d is %d\n", X, Y);
return 0;
}
Программа 1.3.2
/* Печатается N-ая степень (7-ая) вводимого числа для данного N. лученный алгоритм 1
*/
#include <stdio.h>
int X, Y, X23;
int main (void)
{ /* начало блока */
scanf ( "d", &X );
X23 = X * X;
X23 = X23 * X;
Y = X23 * X23 * X;
printf ("\n7 power of %d is %d\n", X, Y); return 0;
} /* конец блока */
38
ГЛАВА 1. ПОНЯТИЯ
Программа 1.3.3
/*Печатается N-ая степень (7-ая) вводимого числа для данного N Улучшенный алгоритм 2/*
/*_*/
#include <stdio.h>
int main (void)
{ /* начало блока */
/* Такой стиль лучше для комментариев к переменным: */ int X; /* для задания входного значения */ int Y; /* для промежуточного и окончательного результата */
scanf( "%d", &X);
Y = X * X * X;
Y = Y * Y * X;
printf ("\n7 power of %d is %d\n", X, Y); return 0;
} /* конец блока */
Что мы видим, анализируя эти программы? Программа содержит компоненты, обсу дени которых мы посвятим следуие абзац (порядок разбора следует порядку, в котором компоненты содератся в обсу даемых программах 1.3.1, 1.3.2 и 1.3.3).
1.3.2. Не выполняемые вычислителем фрагменты программы
Эти фрагменты с точки зрения вычислителя языка не несут никакой информации, но они очень полезны для человека, читающего программу, изменяющего ее, использующего программу при составлении другой программы.
1. Комментарий. Комментарии служат:
— Для облегчения чтения и восприятия программы путем дополнительного выделения и графического оформления ее структур.
— ля понимания того, зачем ну на программа, какие у нее особенности, а так е что делает программа или какой-либо ее фрагмент (документирование);
1.3.
39
ри чтении программ вчислителем комментарии удаля тся препроцессором.
2. Пробельные символы: концы строк, пробелы, табуляции.
В данном случае рассматриваются лишь явно обозначенные комментарии. В С они начинаются с последовательности "/*" и завершаются "*/", В С++ используются также комментарии, начинающиеся с последовательности "//" и завераиеся вместе с текуей строкой.
В некоторых языках могут быть не обозначенные явно комментарии15: куски текста, пропускаемые транслятором. Сейчас все большую популярность приобретает идея программ, вло еннх в поясняий их и описва-
ий обу задачу текст. В таком случае комментарии занима т основну часть текста.
Текст программы на языке С сам по себе не нуждается ни в разбиении на строки, ни в специальном располо ении своих составляих в строках. о без пробельных символов реальне программ неудобно читать человеку!16
Существуют и форматные языки, где пробельные символы являются значащими (это обычно происходит при табличном задании программ и привязке смысла выра ений к структуре текста).
1.3.3. Подключение внешней информации (библиотек)
Строка
#include <stdio.h>
дает возможность пользоваться операторами scanf и printf (которые позволяют вводить данные и распечатывать результаты выполнения программы), а так е другими средствами стандартной библиотеки stdio. а данном примере мо но показать, как препроцессор подкл чает библиотеки к исходному
15 Практически в каждом языке программирования в качестве такого комментария может использоваться текст, идущий после синтаксического конца программы.
16 В современных технологиях индустриального программирования значительное место отводится требованиям к комментариям и к оформлению программ. Одна из лучших похвал тексту программы — что он самодокументирован, не требует никакого внешнего описания.
В ряде случаев принимается регламент оформления комментариев, который позволяет выделять их автоматически; существуют программы, позволяющие строить из таких комментариев вполне осмысленную документацию (примером может служить библиотечное для Java средство JavaDoc).
40
ГЛАВА 1. ПОНЯТИЯ
тексту программы (см. рис. 1.2, на котором просте стрелки изобраа т указатели мест хранения нужных текстовых фрагментов, а жирные стрелки показывают процесс включения файла в текст). Из схемы видно, что в С/С++/С# подкл чение внених библиотек — двухступенчатый процесс: в исходном тексте программы указвается только заголовочнй файл. страивание его в тест позволяет транслятору корректно работать с именами, т. е. считать их описанными и доступными в исходном тексте. Для выполнения транслируемой программы нужно иметь следующую ступень: тексты или отдельно оттранслированные фрагменты программ, представленнх внутри заголовочных файлов. В С/С++ задачу обеих ступеней реает препроцессор.
В других язках подкл чение библиотек организовано по-разному. Так, в Algol 60 понятие внешней библиотеки вообще никак не определялось. Считалось, что достаточно говорить об отдельных процедурах. То же можно сказать и про больинство других ранних языков.
Предыдущая << 1 .. 10 11 12 13 14 15 < 16 > 17 18 19 20 21 22 .. 316 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100